Files
Iris/mopidy_iris/static/app.min.js
James Barnsley 15619f3016 Buildout
2018-01-05 21:34:21 +13:00

67 lines
1.3 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=164)}([function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(44)},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},storage=(exports.isTouchDevice=function(){return"ontouchstart"in document.documentElement},function(){var storage,result,uid=new Date;try{return(storage=window.localStorage).setItem(uid,uid),result=storage.getItem(uid)==uid,storage.removeItem(uid),result&&storage}catch(exception){}}()),sizedImages=(exports.getStorage=function(key){var default_value=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(storage){var value=storage.getItem(key);return value?JSON.parse(value):default_value}return console.warn("localStorage not available. Using default value for '"+key+"'."),default_value},exports.setStorage=function(key,value){var replace=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(storage){var stored_value=storage.getItem(key);if(!stored_value||replace)var new_value=value;else var new_value=Object.assign({},JSON.parse(stored_value),value);return void storage.setItem(key,JSON.stringify(new_value))}return void console.warn("localStorage not available. '"+key+"'' will not perist when you close your browser.")},exports.sizedImages=function(images){var sizes={small:!1,medium:!1,large:!1,huge:!1};if(images.length<=0)return sizes;for(var i=0;i<images.length;i++){var image=images[i];if(image.__model__&&"Image"==image.__model__)image.width<400?sizes.small=image.url:image.width<800?sizes.medium=image.url:image.width<1e3?sizes.large=image.url:sizes.huge=image.url;else if("string"==typeof image)sizes.small=image;else if(void 0!==image.width)image.width<400?sizes.small=image.url:image.width<800?sizes.medium=image.url:image.width<1e3?sizes.large=image.url:sizes.huge=image.url;else if(void 0!==image.size)switch(image.size){case"mega":case"extralarge":sizes.huge=image["#text"];break;case"large":sizes.large=image["#text"];break;case"medium":sizes.medium=image["#text"];break;case"small":sizes.small=image["#text"]}}return sizes.small||(sizes.medium?sizes.small=sizes.medium:sizes.large?sizes.small=sizes.large:sizes.huge?sizes.small=sizes.huge:sizes.small=null),sizes.medium||(sizes.large?sizes.medium=sizes.large:sizes.huge?sizes.medium=sizes.huge:sizes.medium=sizes.small),sizes.large||(sizes.large=sizes.medium),sizes.huge||(sizes.huge=sizes.large),sizes}),uriSource=(exports.digestMopidyImages=function(mopidy,images){for(var digested=[],i=0;i<images.length;i++){if("object"===_typeof(images[i])){var url=images[i].url;!url&&images[i].uri&&(url=images[i].uri),images[i].url=url,url&&url.startsWith("/images/")&&(url="//"+mopidy.host+":"+mopidy.port+url)}else"string"==typeof images[i]&&images[i].startsWith("/images/")&&(images[i]="//"+mopidy.host+":"+mopidy.port+images[i]);digested.push(images[i])}return digested},exports.generateGuid=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"xxxxxxxxxxxx").replace(/[xy]/g,function(c){var r=16*Math.random()|0;return("x"==c?r:3&r|8).toString(16)})},exports.getCurrentPusherConnection=function(connections,connectionid){function isCurrentConnection(connection){return connection.connectionid==newProps.pusher.connectionid}var currentConnection=newProps.pusher.connections.find(isCurrentConnection);return currentConnection||!1},exports.getTrackIcon=function(){var current_track=arguments.length>0&&void 0!==arguments[0]&&arguments[0],core=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!core)return!1;if(!current_track)return!1;if(void 0===current_track.uri)return!1;if(void 0===core.tracks[current_track.uri])return!1;var track=core.tracks[current_track.uri];return!!track.images&&sizedImages(track.images).small},exports.formatAlbum=function(album){return void 0!==album.release_date&&(album.date=album.release_date),album},exports.formatTracks=function(tracks){if(!tracks||void 0===tracks)return null;var singular=!1;tracks.constructor!==Array&&(tracks=[tracks],singular=!0);for(var formatted=[],i=0;i<tracks.length;i++){if(tracks[i].track){var track=Object.assign({},tracks[i].track);tracks[i].added_by&&(track.added_by=tracks[i].added_by),tracks[i].added_at&&(track.added_at=tracks[i].added_at),tracks[i].tlid&&(track.tlid=tracks[i].tlid)}else var track=Object.assign({},tracks[i]);track.duration_ms?track.duration=track.duration_ms:track.length&&(track.duration=track.length),track.track_no&&(track.track_number=track.track_no),track.disc_no&&(track.disc_number=track.disc_no),track.release_date&&(track.date=track.release_date),track.album&&track.album.images&&(!track.images||track.images.length>0)&&(track.images=track.album.images),formatted.push(track)}return singular?formatted[0]:formatted},exports.uriSource=function(uri){return uri.split(":")[0]});exports.sourceIcon=function(uri){var source=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(uri&&(source=uriSource(uri)),source){case"local":case"m3u":return"folder";case"gmusic":return"google";case"podcast":case"podcast+file":case"podcast+http":case"podcast+https":case"podcast+itunes":return"podcast";case"tunein":case"somafm":case"dirble":return"microphone";default:return source}},exports.getFromUri=function(element){var uri=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",exploded=uri.split(":");exploded[0];switch(element){case"mbid":var index=exploded.indexOf("mbid");if(index>-1)return exploded[index+1];break;case"artistid":if("artist"==exploded[1])return exploded[2];break;case"albumid":if("album"==exploded[1])return exploded[2];break;case"playlistid":if("playlist"==exploded[1])return exploded[2];if("user"==exploded[1]&&"playlist"==exploded[3])return exploded[4];break;case"playlistowner":if("user"==exploded[1]&&"playlist"==exploded[3])return exploded[2];break;case"trackid":if("track"==exploded[1])return exploded[2];break;case"userid":if("user"==exploded[1])return exploded[2];break;case"genreid":if("genre"==exploded[1])return exploded[2];break;case"seeds":if("discover"==exploded[1])return exploded[2];break;case"searchcontext":if("search"==exploded[0]){if(["all","artist","album","playlist","track"].indexOf(exploded[1])>-1)return exploded[1]}break;case"searchterm":if("search"==exploded[0])return exploded[2]}return null},exports.uriType=function(uri){var exploded=uri.split(":");if("m3u"==exploded[0])return"playlist";switch(exploded[1]){case"track":case"artist":case"album":case"playlist":case"search":case"genre":case"discover":return exploded[1];case"user":return exploded.length>3&&"playlist"==exploded[3]?"playlist":exploded[1]}return null},exports.indexFriendlyUri=function(uri){var output=encodeURI(uri);return output=output.replace("'","%27")},exports.arrayOf=function(property,items){for(var array=[],i=0;i<items.length;i++)array.push(items[i][property]);return array},exports.mergeDuplicates=function(list,key){var clean_list=[],keyed_list={};for(var i in list){var item=list[i];item[key]in keyed_list&&(item=Object.assign({},keyed_list[item[key]],item)),keyed_list[item[key]]=item}for(i in keyed_list)clean_list.push(keyed_list[i]);return clean_list},exports.removeDuplicates=function(array){var unique=[];for(var i in array)unique.indexOf(array[i])<=-1&&unique.push(array[i]);return unique},exports.applyFilter=function(field,value,array){for(var results=[],i=0;i<array.length;i++)array[i][field]&&array[i][field].toLowerCase().includes(value.toLowerCase())&&results.push(array[i]);return results},exports.createRange=function(indexes){function sortAsc(a,b){return a-b}indexes.sort(sortAsc);for(var first_bunch=[],previous_index=!1,i=0;i<indexes.length;i++)previous_index&&previous_index!=indexes[i]-1||(first_bunch.push(indexes[i]),previous_index=indexes[i]);return{start:first_bunch[0],length:first_bunch.length}},exports.sortItems=function(array,property){function compare(a,b){for(var a_value=a,a_property_split=property.split("."),i=0;i<a_property_split.length;i++){if(void 0===a_value[a_property_split[i]]){a_value=!1;break}a_value=a_value[a_property_split[i]]}for(var b_value=b,b_property_split=property.split("."),i=0;i<b_property_split.length;i++){if(void 0===b_value[b_property_split[i]]){b_value=!1;break}b_value=b_value[b_property_split[i]]}if("uri"==property&&(a_value=uriSource(a_value),b_value=uriSource(b_value)),!sort_map)return"boolean"==typeof a_value?a_value&&!b_value?-1:!a_value&&b_value?1:0:"string"==typeof a_value?a_value&&b_value?a_value.toLowerCase()>b_value.toLowerCase()?1:a_value.toLowerCase()<b_value.toLowerCase()?-1:0:0:parseInt(a_value)>parseInt(b_value)?1:parseInt(a_value)<parseInt(b_value)?-1:0;var a_index=sort_map.indexOf(a_value+":"),b_index=sort_map.indexOf(b_value+":");return a_index<b_index?1:a_index>b_index?-1:void 0}var reverse=arguments.length>2&&void 0!==arguments[2]&&arguments[2],sort_map=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,sorted=Object.assign([],array.sort(compare));return reverse&&sorted.reverse(),sorted},exports.isNumeric=function(data){return!isNaN(parseFloat(data))&&isFinite(data)},exports.setWindowTitle=function(){var track=arguments.length>0&&void 0!==arguments[0]&&arguments[0],play_state=arguments.length>1&&void 0!==arguments[1]&&arguments[1],title="No track playing";if(track){var icon="■ ",artist_string="";if(track.artists)for(var i=0;i<track.artists.length;i++)""!=artist_string&&(artist_string+=", "),artist_string+=track.artists[i].name;play_state&&"playing"==play_state&&(icon="▶ "),title=icon+" "+track.name+" - "+artist_string}document.title=title},exports.isLoading=function(){var load_queue=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],keys=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];for(var load_queue_key in load_queue)if(load_queue.hasOwnProperty(load_queue_key))for(var i=0;i<keys.length;i++)if(load_queue[load_queue_key].includes(keys[i]))return!0;return!1},exports.getIndexedRecords=function(index,uris){var records=[];!uris instanceof Array&&(uris=[uris]);for(var i=0;i<uris.length;i++)index.hasOwnProperty(uris[i])&&records.push(index[uris[i]]);return records}},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__createStore__=__webpack_require__(139),__WEBPACK_IMPORTED_MODULE_1__combineReducers__=__webpack_require__(273),__WEBPACK_IMPORTED_MODULE_2__bindActionCreators__=__webpack_require__(274),__WEBPACK_IMPORTED_MODULE_3__applyMiddleware__=__webpack_require__(275),__WEBPACK_IMPORTED_MODULE_4__compose__=__webpack_require__(142);__webpack_require__(141);__webpack_require__.d(__webpack_exports__,"createStore",function(){return __WEBPACK_IMPORTED_MODULE_0__createStore__.b}),__webpack_require__.d(__webpack_exports__,"combineReducers",function(){return __WEBPACK_IMPORTED_MODULE_1__combineReducers__.a}),__webpack_require__.d(__webpack_exports__,"bindActionCreators",function(){return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__.a}),__webpack_require__.d(__webpack_exports__,"applyMiddleware",function(){return __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__.a}),__webpack_require__.d(__webpack_exports__,"compose",function(){return __WEBPACK_IMPORTED_MODULE_4__compose__.a})},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__components_Provider__=__webpack_require__(254),__WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__=__webpack_require__(138),__WEBPACK_IMPORTED_MODULE_2__connect_connect__=__webpack_require__(258);__webpack_require__.d(__webpack_exports__,"Provider",function(){return __WEBPACK_IMPORTED_MODULE_0__components_Provider__.b}),__webpack_require__.d(__webpack_exports__,"createProvider",function(){return __WEBPACK_IMPORTED_MODULE_0__components_Provider__.a}),__webpack_require__.d(__webpack_exports__,"connectAdvanced",function(){return __WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__.a}),__webpack_require__.d(__webpack_exports__,"connect",function(){return __WEBPACK_IMPORTED_MODULE_2__connect_connect__.a})},function(module,exports,__webpack_require__){"use strict";function setSelectedTracks(){var keys=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return"string"==typeof keys&&(keys=[keys]),{type:"SET_SELECTED_TRACKS",keys:keys}}function showContextMenu(data){return data.e.changedTouches?(data.position_x=data.e.changedTouches[0].clientX,data.position_y=data.e.changedTouches[0].clientY):data.e.touches?(data.position_x=data.e.touches[0].clientX,data.position_y=data.e.touches[0].clientY):(data.position_x=data.e.clientX,data.position_y=data.e.clientY),{type:"SHOW_CONTEXT_MENU",data:data}}function setSlimMode(slim_mode){return{type:"SET_SLIM_MODE",slim_mode:slim_mode}}function hideContextMenu(){return{type:"HIDE_CONTEXT_MENU"}}function showTouchContextMenu(data){return{type:"SHOW_TOUCH_CONTEXT_MENU",data:data}}function hideTouchContextMenu(){return{type:"HIDE_TOUCH_CONTEXT_MENU"}}function lazyLoading(start){return{type:"LAZY_LOADING",start:start}}function toggleSidebar(){var new_state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"toggle",action={type:"TOGGLE_SIDEBAR"};return"toggle"!=new_state&&(action.new_state=new_state),action}function dragStart(e,context){return{type:"DRAG_START",context:context,from_uri:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,victims:arguments[3],victims_indexes:arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,start_x:e.clientX,start_y:e.clientY}}function dragActive(){return{type:"DRAG_ACTIVE"}}function dragEnd(){return{type:"DRAG_END"}}function set(data){return{type:"UI_SET",data:data}}function openModal(name,data){return{type:"OPEN_MODAL",modal:{name:name,data:data}}}function closeModal(){return{type:"CLOSE_MODAL"}}function createBrowserNotification(data){return{type:"BROWSER_NOTIFICATION",data:data}}function createNotification(content){var type=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default",key=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,title=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,description=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,sticky=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return key||(key=helpers.generateGuid()),{type:"CREATE_NOTIFICATION",notification:{key:key,type:type,title:title,description:description,content:content,sticky:sticky}}}function removeNotification(key){return{type:"REMOVE_NOTIFICATION",key:key}}function startLoading(key,source){return{type:"START_LOADING",source:source,key:key}}function stopLoading(key){return{type:"STOP_LOADING",key:key}}function startProcess(key,message){return{type:"START_PROCESS",key:key,message:message,data:arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}}}function resumeProcess(key,message){arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:"RESUME_PROCESS",key:key}}function updateProcess(key,message){return{type:"UPDATE_PROCESS",key:key,message:message,data:arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}}}function runProcess(key){return{type:key,data:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}}}function cancelProcess(key){return{type:"CANCEL_PROCESS",key:key}}function processCancelled(key){return{type:"PROCESS_CANCELLED",key:key}}function processFinished(key){return{type:"PROCESS_FINISHED",key:key}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setSelectedTracks=setSelectedTracks,exports.showContextMenu=showContextMenu,exports.setSlimMode=setSlimMode,exports.hideContextMenu=hideContextMenu,exports.showTouchContextMenu=showTouchContextMenu,exports.hideTouchContextMenu=hideTouchContextMenu,exports.lazyLoading=lazyLoading,exports.toggleSidebar=toggleSidebar,exports.dragStart=dragStart,exports.dragActive=dragActive,exports.dragEnd=dragEnd,exports.set=set,exports.openModal=openModal,exports.closeModal=closeModal,exports.createBrowserNotification=createBrowserNotification,exports.createNotification=createNotification,exports.removeNotification=removeNotification,exports.startLoading=startLoading,exports.stopLoading=stopLoading,exports.startProcess=startProcess,exports.resumeProcess=resumeProcess,exports.updateProcess=updateProcess,exports.runProcess=runProcess,exports.cancelProcess=cancelProcess,exports.processCancelled=processCancelled,exports.processFinished=processFinished;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(20),_propTypes2=_interopRequireDefault(_propTypes),_screenReaderStyles=__webpack_require__(373),_screenReaderStyles2=_interopRequireDefault(_screenReaderStyles),FontAwesome=function(_React$Component){function FontAwesome(){_classCallCheck(this,FontAwesome);var _this=_possibleConstructorReturn(this,(FontAwesome.__proto__||Object.getPrototypeOf(FontAwesome)).call(this));return _this.displayName="FontAwesome",_this}return _inherits(FontAwesome,_React$Component),_createClass(FontAwesome,[{key:"render",value:function(){var _props=this.props,border=_props.border,cssModule=_props.cssModule,className=_props.className,fixedWidth=_props.fixedWidth,flip=_props.flip,inverse=_props.inverse,name=_props.name,pulse=_props.pulse,rotate=_props.rotate,size=_props.size,spin=_props.spin,stack=_props.stack,_props$tag=_props.tag,tag=void 0===_props$tag?"span":_props$tag,ariaLabel=_props.ariaLabel,props=_objectWithoutProperties(_props,["border","cssModule","className","fixedWidth","flip","inverse","name","pulse","rotate","size","spin","stack","tag","ariaLabel"]),classNames=[];return cssModule?(classNames.push(cssModule.fa),classNames.push(cssModule["fa-"+name]),size&&classNames.push(cssModule["fa-"+size]),spin&&classNames.push(cssModule["fa-spin"]),pulse&&classNames.push(cssModule["fa-pulse"]),border&&classNames.push(cssModule["fa-border"]),fixedWidth&&classNames.push(cssModule["fa-fw"]),inverse&&classNames.push(cssModule["fa-inverse"]),flip&&classNames.push(cssModule["fa-flip-"+flip]),rotate&&classNames.push(cssModule["fa-rotate-"+rotate]),stack&&classNames.push(cssModule["fa-stack-"+stack])):(classNames.push("fa"),classNames.push("fa-"+name),size&&classNames.push("fa-"+size),spin&&classNames.push("fa-spin"),pulse&&classNames.push("fa-pulse"),border&&classNames.push("fa-border"),fixedWidth&&classNames.push("fa-fw"),inverse&&classNames.push("fa-inverse"),flip&&classNames.push("fa-flip-"+flip),rotate&&classNames.push("fa-rotate-"+rotate),stack&&classNames.push("fa-stack-"+stack)),className&&classNames.push(className),_react2.default.createElement(tag,_extends({},props,{"aria-hidden":!0,className:classNames.join(" ")}),ariaLabel?_react2.default.createElement("span",{style:_screenReaderStyles2.default},ariaLabel):null)}}]),FontAwesome}(_react2.default.Component);FontAwesome.propTypes={ariaLabel:_propTypes2.default.string,border:_propTypes2.default.bool,className:_propTypes2.default.string,cssModule:_propTypes2.default.object,fixedWidth:_propTypes2.default.bool,flip:_propTypes2.default.oneOf(["horizontal","vertical"]),inverse:_propTypes2.default.bool,name:_propTypes2.default.string.isRequired,pulse:_propTypes2.default.bool,rotate:_propTypes2.default.oneOf([90,180,270]),size:_propTypes2.default.oneOf(["lg","2x","3x","4x","5x"]),spin:_propTypes2.default.bool,stack:_propTypes2.default.oneOf(["1x","2x"]),tag:_propTypes2.default.string},exports.default=FontAwesome,module.exports=exports.default},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__Router__=__webpack_require__(280);__webpack_require__.d(__webpack_exports__,"Router",function(){return __WEBPACK_IMPORTED_MODULE_0__Router__.a});var __WEBPACK_IMPORTED_MODULE_1__Link__=__webpack_require__(148);__webpack_require__.d(__webpack_exports__,"Link",function(){return __WEBPACK_IMPORTED_MODULE_1__Link__.a});var __WEBPACK_IMPORTED_MODULE_2__IndexLink__=__webpack_require__(287);__webpack_require__.d(__webpack_exports__,"IndexLink",function(){return __WEBPACK_IMPORTED_MODULE_2__IndexLink__.a});var __WEBPACK_IMPORTED_MODULE_3__withRouter__=__webpack_require__(288);__webpack_require__.d(__webpack_exports__,"withRouter",function(){return __WEBPACK_IMPORTED_MODULE_3__withRouter__.a});var __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__=__webpack_require__(290);__webpack_require__.d(__webpack_exports__,"IndexRedirect",function(){return __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__.a});var __WEBPACK_IMPORTED_MODULE_5__IndexRoute__=__webpack_require__(291);__webpack_require__.d(__webpack_exports__,"IndexRoute",function(){return __WEBPACK_IMPORTED_MODULE_5__IndexRoute__.a});var __WEBPACK_IMPORTED_MODULE_6__Redirect__=__webpack_require__(149);__webpack_require__.d(__webpack_exports__,"Redirect",function(){return __WEBPACK_IMPORTED_MODULE_6__Redirect__.a});var __WEBPACK_IMPORTED_MODULE_7__Route__=__webpack_require__(292);__webpack_require__.d(__webpack_exports__,"Route",function(){return __WEBPACK_IMPORTED_MODULE_7__Route__.a});var __WEBPACK_IMPORTED_MODULE_8__RouteUtils__=__webpack_require__(39);__webpack_require__.d(__webpack_exports__,"createRoutes",function(){return __WEBPACK_IMPORTED_MODULE_8__RouteUtils__.b});var __WEBPACK_IMPORTED_MODULE_9__RouterContext__=__webpack_require__(95);__webpack_require__.d(__webpack_exports__,"RouterContext",function(){return __WEBPACK_IMPORTED_MODULE_9__RouterContext__.a});var __WEBPACK_IMPORTED_MODULE_10__PropTypes__=__webpack_require__(97);__webpack_require__.d(__webpack_exports__,"locationShape",function(){return __WEBPACK_IMPORTED_MODULE_10__PropTypes__.a}),__webpack_require__.d(__webpack_exports__,"routerShape",function(){return __WEBPACK_IMPORTED_MODULE_10__PropTypes__.b});var __WEBPACK_IMPORTED_MODULE_11__match__=__webpack_require__(293);__webpack_require__.d(__webpack_exports__,"match",function(){return __WEBPACK_IMPORTED_MODULE_11__match__.a});var __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__=__webpack_require__(153);__webpack_require__.d(__webpack_exports__,"useRouterHistory",function(){return __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__.a});var __WEBPACK_IMPORTED_MODULE_13__PatternUtils__=__webpack_require__(50);__webpack_require__.d(__webpack_exports__,"formatPattern",function(){return __WEBPACK_IMPORTED_MODULE_13__PatternUtils__.a});var __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__=__webpack_require__(298);__webpack_require__.d(__webpack_exports__,"applyRouterMiddleware",function(){return __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__.a});var __WEBPACK_IMPORTED_MODULE_15__browserHistory__=__webpack_require__(299);__webpack_require__.d(__webpack_exports__,"browserHistory",function(){return __WEBPACK_IMPORTED_MODULE_15__browserHistory__.a});var __WEBPACK_IMPORTED_MODULE_16__hashHistory__=__webpack_require__(302);__webpack_require__.d(__webpack_exports__,"hashHistory",function(){return __WEBPACK_IMPORTED_MODULE_16__hashHistory__.a});var __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__=__webpack_require__(150);__webpack_require__.d(__webpack_exports__,"createMemoryHistory",function(){return __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__.a})},function(module,exports,__webpack_require__){"use strict";function invariant(condition,format,a,b,c,d,e,f){if(validateFormat(format),!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}}var validateFormat=function(format){};module.exports=invariant},function(module,exports,__webpack_require__){"use strict";(function($,global){function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function getToken(dispatch,getState){return new Promise(function(resolve,reject){if(getState().spotify.token_expiry&&(new Date).getTime()<getState().spotify.token_expiry)return void resolve(getState().spotify.access_token);refreshToken(dispatch,getState).then(function(response){resolve(response.access_token)},function(error){reject(error)})})}function refreshToken(dispatch,getState){return new Promise(function(resolve,reject){if(getState().spotify.authorization){var config={method:"GET",url:getState().spotify.authorization_url+"?action=refresh&refresh_token="+getState().spotify.refresh_token,dataType:"json",timeout:1e4};$.ajax(config).then(function(response){response.token_expiry=(new Date).getTime()+1e3*response.expires_in,response.source="spotify",dispatch({type:"SPOTIFY_TOKEN_REFRESHED",data:response}),resolve(response)},function(xhr,status,error){dispatch({type:"SPOTIFY_DISCONNECTED"}),reject({config:config,xhr:xhr,status:status,error:error})})}else{var config={method:"GET",url:"//"+getState().mopidy.host+":"+getState().mopidy.port+"/iris/http/refresh_spotify_token",dataType:"json",timeout:1e4};$.ajax(config).then(function(response){var token=response.spotify_token;token.token_expiry=(new Date).getTime()+1e3*token.expires_in,token.source="mopidy",dispatch({type:"SPOTIFY_TOKEN_REFRESHED",access_token_provider:"backend",data:token}),resolve(token)},function(xhr,status,error){dispatch({type:"SPOTIFY_DISCONNECTED"}),reject({config:config,xhr:xhr,status:status,error:error})})}})}function set(data){return{type:"SPOTIFY_SET",data:data}}function connect(){return function(dispatch,getState){dispatch({type:"SPOTIFY_CONNECTING"}),dispatch(getMe())}}function authorizationGranted(data){return data.token_expiry=(new Date).getTime()+data.expires_in,{type:"SPOTIFY_AUTHORIZATION_GRANTED",data:data}}function revokeAuthorization(){return{type:"SPOTIFY_AUTHORIZATION_REVOKED"}}function refreshingToken(){return function(dispatch,getState){dispatch({type:"SPOTIFY_TOKEN_REFRESHING"}),refreshToken(dispatch,getState)}}function importAuthorization(data){return{type:"SPOTIFY_IMPORT_AUTHORIZATION",user:data.user,authorization:data.authorization}}function getMe(){return function(dispatch,getState){sendRequest(dispatch,getState,"me").then(function(response){dispatch({type:"SPOTIFY_ME_LOADED",data:response}),dispatch({type:"SPOTIFY_CONNECTED"})},function(error){dispatch(coreActions.handleException("Could not load your profile",error)),dispatch({type:"SPOTIFY_DISCONNECTED"})})}}function getTrack(uri){return function(dispatch,getState){sendRequest(dispatch,getState,"tracks/"+helpers.getFromUri("trackid",uri)).then(function(response){var track=Object.assign({},response,{images:response.album.images});dispatch({type:"TRACK_LOADED",key:uri,track:track})},function(error){dispatch(coreActions.handleException("Could not load track",error))})}}function getLibraryTracks(){return function(dispatch,getState){sendRequest(dispatch,getState,"me/tracks?limit=50").then(function(response){dispatch({type:"SPOTIFY_LIBRARY_TRACKS_LOADED",data:response})},function(error){dispatch(coreActions.handleException("Could not get library tracks",error))})}}function getFeaturedPlaylists(){return function(dispatch,getState){dispatch({type:"SPOTIFY_FEATURED_PLAYLISTS_LOADED",data:!1});var date=new Date;date.setHours(date.getHours());var year=date.getFullYear(),month=date.getMonth();month<10&&(month="0"+month);var day=date.getDay();day<10&&(day="0"+day);var hour=date.getHours();hour<10&&(hour="0"+hour);var min=date.getMinutes();min<10&&(min="0"+min);var sec=date.getSeconds();sec<10&&(sec="0"+sec);var timestamp=year+"-"+month+"-"+day+"T"+hour+":"+min+":"+sec;sendRequest(dispatch,getState,"browse/featured-playlists?limit=50&country="+getState().core.country+"&locale="+getState().core.locale+"timestamp="+timestamp).then(function(response){for(var playlists=[],i=0;i<response.playlists.items.length;i++)playlists.push(Object.assign({},response.playlists.items[i],{can_edit:getState().spotify.me&&response.playlists.items[i].owner.id==getState().spotify.me.id,tracks_total:response.playlists.items[i].tracks.total}));dispatch(getPlaylist(playlists[0].uri)),dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),dispatch({type:"SPOTIFY_FEATURED_PLAYLISTS_LOADED",data:{message:response.message,playlists:helpers.arrayOf("uri",response.playlists.items)}})},function(error){dispatch(coreActions.handleException("Could not load featured playlists",error))})}}function getCategories(){return function(dispatch,getState){sendRequest(dispatch,getState,"browse/categories?limit=50&country="+getState().core.country+"&locale="+getState().core.locale).then(function(response){dispatch({type:"CATEGORIES_LOADED",categories:response.categories.items})},function(error){dispatch(coreActions.handleException("Could not load categories",error))})}}function getCategory(id){return function(dispatch,getState){dispatch({type:"CATEGORY_LOADED",key:"category:"+id,category:{playlists_uris:null}}),sendRequest(dispatch,getState,"browse/categories/"+id+"?country="+getState().core.country+"&locale="+getState().core.locale).then(function(response){Object.assign({},response);dispatch({type:"CATEGORY_LOADED",key:"category:"+id,category:Object.assign({},response)})},function(error){dispatch(coreActions.handleException("Could not load category",error))}),sendRequest(dispatch,getState,"browse/categories/"+id+"/playlists?limit=50&country="+getState().core.country+"&locale="+getState().core.locale).then(function(response){for(var playlists=[],i=0;i<response.playlists.items.length;i++)playlists.push(Object.assign({},response.playlists.items[i],{tracks:null,tracks_more:null,tracks_total:response.playlists.items[i].tracks.total}));dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),dispatch({type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED",key:"category:"+id,data:response})},function(error){dispatch(coreActions.handleException("Could not load category playlists",error))})}}function getNewReleases(){return function(dispatch,getState){sendRequest(dispatch,getState,"browse/new-releases?country="+getState().core.country+"&limit=50").then(function(response){dispatch({type:"SPOTIFY_NEW_RELEASES_LOADED",data:response})},function(error){dispatch(coreActions.handleException("Could not load new releases",error))})}}function getURL(url,action_name){var key=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){sendRequest(dispatch,getState,url).then(function(response){dispatch({type:action_name,key:key,data:response})},function(error){dispatch(coreActions.handleException("Could not load URL",error))})}}function getMore(url){var core_action=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,custom_action=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(dispatch,getState){sendRequest(dispatch,getState,url).then(function(response){core_action?dispatch(coreActions.loadedMore(core_action.parent_type,core_action.parent_key,core_action.records_type,response)):custom_action?(custom_action.data=response,dispatch(custom_action)):dispatch(coreActions.handleException("No callback handler for loading more items"))},function(error){dispatch(coreActions.handleException("Could not load more "+callback_action.parent_type+" "+callback_action.records_type+"s",error))})}}function clearSearchResults(){return{type:"SPOTIFY_CLEAR_SEARCH_RESULTS"}}function getSearchResults(type,query){var limit=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,offset=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return function(dispatch,getState){dispatch(uiActions.startProcess("SPOTIFY_GET_SEARCH_RESULTS_PROCESSOR","Searching Spotify")),"all"==(type=type.replace(/s+$/,""))&&(type="album,artist,playlist,track");var url="search?q="+query;url+="&type="+type,url+="&country="+getState().core.country,url+="&limit="+limit,url+="&offset="+offset,sendRequest(dispatch,getState,url).then(function(response){if(void 0!==response.tracks&&dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"tracks",results:helpers.formatTracks(response.tracks.items),more:response.tracks.next}),void 0!==response.artists&&(dispatch({type:"ARTISTS_LOADED",artists:response.artists.items}),dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"artists",results:helpers.arrayOf("uri",response.artists.items),more:response.artists.next})),void 0!==response.albums&&(dispatch({type:"ALBUMS_LOADED",albums:response.albums.items}),dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"albums",results:helpers.arrayOf("uri",response.albums.items),more:response.albums.next})),void 0!==response.playlists){for(var playlists=[],i=0;i<response.playlists.items.length;i++)playlists.push(Object.assign({},response.playlists.items[i],{can_edit:getState().spotify.me&&response.playlists.items[i].owner.id==getState().spotify.me.id,tracks_total:response.playlists.items[i].tracks.total}));dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:helpers.arrayOf("uri",playlists),more:response.playlists.next})}dispatch(uiActions.processFinished("SPOTIFY_GET_SEARCH_RESULTS_PROCESSOR"))},function(error){dispatch(coreActions.handleException("Could not load search results",error))})}}function getAutocompleteResults(field_id,query){var types=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["album","artist","playlist","track"];return function(dispatch,getState){dispatch({type:"SPOTIFY_AUTOCOMPLETE_LOADING",field_id:field_id});var genre_included=types.includes("genre");if(genre_included){var index=types.indexOf("genre");types.splice(index,1)}var endpoint="search?q="+query;endpoint+="&type="+types.join(","),endpoint+="&country="+getState().core.country,sendRequest(dispatch,getState,endpoint).then(function(response){var genres=[];if(genre_included){var available_genres=getState().ui.genres;if(available_genres)for(var i=0;i<available_genres.length;i++)if(available_genres[i].includes(query)){var genre=available_genres[i];genres.push({name:(genre.charAt(0).toUpperCase()+genre.slice(1)).replace("-"," "),uri:"spotify:genre:"+genre})}}dispatch({type:"SPOTIFY_AUTOCOMPLETE_LOADED",field_id:field_id,results:{artists:response.artists?response.artists.items:[],albums:response.albums?response.albums.items:[],playlists:response.playlists?response.playlists.items:[],tracks:response.tracks?response.tracks.items:[],genres:genres}})},function(error){dispatch(coreActions.handleException("Could not load autocomplete results",error))})}}function clearAutocompleteResults(){return{type:"SPOTIFY_AUTOCOMPLETE_CLEAR",field_id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function following(uri){var method=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET";return function(dispatch,getState){if("PUT"==method)var is_following=!0;if("DELETE"==method)var is_following=!1;var endpoint,data,asset_name=helpers.uriType(uri);switch(asset_name){case"track":endpoint="GET"==method?"me/tracks/contains/?ids="+helpers.getFromUri("trackid",uri):"me/tracks/?ids="+helpers.getFromUri("trackid",uri);break;case"album":endpoint="GET"==method?"me/albums/contains/?ids="+helpers.getFromUri("albumid",uri):"me/albums/?ids="+helpers.getFromUri("albumid",uri);break;case"artist":"GET"==method?endpoint="me/following/contains?type=artist&ids="+helpers.getFromUri("artistid",uri):(endpoint="me/following?type=artist&ids="+helpers.getFromUri("artistid",uri),data={});break;case"user":"GET"==method?endpoint="me/following/contains?type=user&ids="+helpers.getFromUri("userid",uri):(endpoint="me/following?type=user&ids="+helpers.getFromUri("userid",uri),data={});break;case"playlist":endpoint="GET"==method?"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/followers/contains?ids="+getState().spotify.me.id:"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/followers"}sendRequest(dispatch,getState,endpoint,method,data).then(function(response){response&&(is_following=response),"object"===(void 0===is_following?"undefined":_typeof(is_following))&&(is_following=is_following[0]),dispatch({type:"SPOTIFY_LIBRARY_"+asset_name.toUpperCase()+"_CHECK",key:uri,in_library:is_following})},function(error){dispatch(coreActions.handleException("Could not follow/unfollow",error))})}}function resolveRadioSeeds(radio){return function(dispatch,getState){if(radio.seed_artists.length>0){for(var artist_ids="",i=0;i<radio.seed_artists.length;i++)i>0&&(artist_ids+=","),artist_ids+=helpers.getFromUri("artistid",radio.seed_artists[i]);sendRequest(dispatch,getState,"artists?ids="+artist_ids).then(function(response){response&&response.artists?dispatch({type:"ARTISTS_LOADED",artists:response.artists}):console.error("No Spotify artists returned",artist_ids)},function(error){dispatch(coreActions.handleException("Could not resolve radio artist seeds",error))})}if(radio.seed_tracks.length>0){for(var track_ids="",i=0;i<radio.seed_tracks.length;i++)i>0&&(track_ids+=","),track_ids+=helpers.getFromUri("trackid",radio.seed_tracks[i]);sendRequest(dispatch,getState,"tracks?ids="+track_ids).then(function(response){dispatch({type:"TRACKS_LOADED",tracks:response.tracks})},function(error){dispatch(coreActions.handleException("Could not load radio track seeds",error))})}}}function getFavorites(){var limit=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,term=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"long_term";return function(dispatch,getState){dispatch({type:"SPOTIFY_FAVORITES_LOADED",artists:[],tracks:[]}),$.when(sendRequest(dispatch,getState,"me/top/artists?limit="+limit+"&time_range="+term),sendRequest(dispatch,getState,"me/top/tracks?limit="+limit+"&time_range="+term)).then(function(artists_response,tracks_response){dispatch({type:"SPOTIFY_FAVORITES_LOADED",artists:artists_response.items,tracks:tracks_response.items})},function(artists_error,tracks_error){dispatch(coreActions.handleException("Could not load favorites",Object.assign({},artists_error,tracks_error)))})}}function getRecommendations(){var uris=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],limit=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20;return function(dispatch,getState){dispatch({type:"CLEAR_SPOTIFY_RECOMMENDATIONS"});for(var artists_ids=[],tracks_ids=[],genres=[],i=0;i<uris.length;i++){var uri=uris[i];switch(helpers.uriType(uri)){case"artist":artists_ids.push(helpers.getFromUri("artistid",uri));break;case"track":tracks_ids.push(helpers.getFromUri("trackid",uri));break;case"genre":genres.push(helpers.getFromUri("genreid",uri));break;case"default":genres.push(uri)}}var endpoint="recommendations";endpoint+="?seed_artists="+artists_ids.join(","),endpoint+="&seed_tracks="+tracks_ids.join(","),endpoint+="&seed_genres="+genres.join(","),endpoint+="&limit="+limit,sendRequest(dispatch,getState,endpoint).then(function(response){var tracks=Object.assign([],response.tracks),artists_uris=[];if(tracks.length>artists_ids.length&&tracks.length>10)for(;artists_uris.length<5;){var random_index=Math.round(Math.random()*(tracks.length-1)),artist=tracks[random_index].artists[0];artists_uris.includes(artist.uri)||artists_ids.includes(artist.id)||(artists_uris.push(artist.uri),dispatch(getArtist(artist.uri)))}var albums=[],albums_uris=[];if(tracks.length>10)for(;albums.length<5;){var random_index=Math.round(Math.random()*(tracks.length-1)),album=tracks[random_index].album;albums_uris.includes(album.uri)||(albums_uris.push(album.uri),albums.push(album))}albums.length>0&&dispatch({type:"ALBUMS_LOADED",albums:albums}),tracks.length>0&&dispatch({type:"TRACKS_LOADED",tracks:tracks}),dispatch({type:"SPOTIFY_RECOMMENDATIONS_LOADED",seeds_uris:uris,tracks_uris:helpers.arrayOf("uri",tracks),artists_uris:artists_uris,albums_uris:helpers.arrayOf("uri",albums)})},function(error){dispatch(coreActions.handleException("Could not load recommendations",error))})}}function getGenres(){return function(dispatch,getState){sendRequest(dispatch,getState,"recommendations/available-genre-seeds").then(function(response){dispatch({type:"SPOTIFY_GENRES_LOADED",genres:response.genres})},function(error){dispatch(coreActions.handleException("Could not load genres",error))})}}function getArtist(uri){var full=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(dispatch,getState){var artist={},requests=[sendRequest(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)).then(function(response){Object.assign(artist,response)},function(error){dispatch(coreActions.handleException("Could not load artist",error))})];full&&(requests.push(sendRequest(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/top-tracks?country="+getState().core.country).then(function(response){Object.assign(artist,response)},function(error){dispatch(coreActions.handleException("Could not load artist's top tracks",error))})),requests.push(sendRequest(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/related-artists").then(function(response){dispatch({type:"ARTISTS_LOADED",artists:response.artists}),Object.assign(artist,{related_artists_uris:helpers.arrayOf("uri",response.artists)})},function(error){dispatch(coreActions.handleException("Could not load artist's related artists",error))}))),$.when.apply($,requests).then(function(){dispatch(artist.musicbrainz_id?lastfmActions.getArtist(artist.uri,!1,artist.musicbrainz_id):lastfmActions.getArtist(artist.uri,artist.name.replace("&","and"))),dispatch({type:"ARTIST_LOADED",key:artist.uri,artist:artist}),full&&sendRequest(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/albums?market="+getState().core.country).then(function(response){dispatch({type:"SPOTIFY_ARTIST_ALBUMS_LOADED",data:response,key:uri})},function(error){dispatch(coreActions.handleException("Could not load artist's albums",error))})})}}function getArtists(uris){return function(dispatch,getState){for(var ids="",i=0;i<uris.length;i++)""!=ids&&(ids+=","),ids+=helpers.getFromUri("artistid",uris[i]);sendRequest(dispatch,getState,"artists/?ids="+ids).then(function(response){for(var i=i;i<response.length;i++){for(var artist=response,i=0;i<artist.albums.length;i++)dispatch({type:"ALBUM_LOADED",album:artist.albums[i]});artist.albums=helpers.arrayOf("uri",artist.albums),artist.albums_more=artist.albums.next,dispatch({type:"ARTIST_LOADED",artist:artist})}},function(error){dispatch(coreActions.handleException("Could not load artists",error))})}}function playArtistTopTracks(uri){return function(dispatch,getState){var artists=getState().core.artists;if(void 0!==artists[uri]&&void 0!==artists[uri].tracks){var uris=helpers.arrayOf("uri",artists[uri].tracks);dispatch(mopidyActions.playURIs(uris,uri))}else sendRequest(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/top-tracks?country="+getState().core.country).then(function(response){var uris=helpers.arrayOf("uri",response.tracks);dispatch(mopidyActions.playURIs(uris,uri))},function(error){dispatch(coreActions.handleException("Could not play artist's top tracks",error))})}}function getUser(uri){var and_playlists=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(dispatch,getState){sendRequest(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)).then(function(response){dispatch({type:"USERS_LOADED",users:[response]})},function(error){dispatch(coreActions.handleException("Could not load user",error))}),and_playlists&&dispatch(getUserPlaylists(uri))}}function getUserPlaylists(user_uri){return function(dispatch,getState){sendRequest(dispatch,getState,"users/"+helpers.getFromUri("userid",user_uri)+"/playlists?limit=40").then(function(response){for(var playlists=[],i=0;i<response.items.length;i++){var can_edit=!1;getState().spotify.me&&response.items[i].owner.id==getState().spotify.me.id&&(can_edit=!0),playlists.push(Object.assign({},response.items[i],{can_edit:can_edit,tracks_total:response.items[i].tracks.total}))}dispatch({type:"LOADED_MORE",parent_type:"user",parent_key:user_uri,records_type:"playlist",records_data:response})},function(error){dispatch(coreActions.handleException("Could not load user's playlists",error))})}}function getAlbum(uri){return function(dispatch,getState){sendRequest(dispatch,getState,"albums/"+helpers.getFromUri("albumid",uri)).then(function(response){dispatch({type:"ARTISTS_LOADED",artists:response.artists});for(var album=Object.assign({},response,{artists_uris:helpers.arrayOf("uri",response.artists),tracks:response.tracks.items,tracks_more:response.tracks.next,tracks_total:response.tracks.total}),i=0;i<album.tracks.length;i++)album.tracks[i].album={name:album.name,uri:album.uri};dispatch({type:"ALBUM_LOADED",key:album.uri,album:album});for(var artist_ids=[],i=0;i<response.artists.length;i++)artist_ids.push(helpers.getFromUri("artistid",response.artists[i].uri));sendRequest(dispatch,getState,"artists/?ids="+artist_ids).then(function(response){dispatch({type:"ARTISTS_LOADED",artists:response.artists})},function(error){dispatch(coreActions.handleException("Could not load album's artists",error))})},function(error){dispatch(coreActions.handleException("Could not load album",error))})}}function toggleAlbumInLibrary(uri,method){if("PUT"==method)var new_state=1;if("DELETE"==method)var new_state=0;return function(dispatch,getState){sendRequest(dispatch,getState,"me/albums?ids="+helpers.getFromUri("albumid",uri),method).then(function(response){dispatch({type:"SPOTIFY_ALBUM_FOLLOWING",key:uri,data:new_state})},function(error){dispatch(coreActions.handleException("Could not add/remove library album",error))})}}function createPlaylist(name,description,is_public,is_collaborative){return function(dispatch,getState){var data={name:name,description:description,public:is_public,collaborative:is_collaborative};sendRequest(dispatch,getState,"users/"+getState().spotify.me.id+"/playlists/","POST",data).then(function(response){dispatch({type:"PLAYLIST_LOADED",key:response.uri,playlist:Object.assign({},response,{can_edit:!0,tracks:[],tracks_more:null,tracks_total:0})}),dispatch({type:"LIBRARY_PLAYLISTS_LOADED",uris:[response.uri]}),dispatch(uiActions.createNotification("Created playlist"))},function(error){dispatch(coreActions.handleException("Could not create playlist",error))})}}function savePlaylist(uri,name,description,is_public,is_collaborative){return function(dispatch,getState){var data={name:name,description:description,public:is_public,collaborative:is_collaborative};sendRequest(dispatch,getState,"users/"+getState().spotify.me.id+"/playlists/"+helpers.getFromUri("playlistid",uri),"PUT",data).then(function(response){dispatch({type:"PLAYLIST_UPDATED",key:uri,playlist:{name:name,public:is_public,collaborative:is_collaborative,description:description}}),dispatch(uiActions.createNotification("Saved"))},function(error){dispatch(coreActions.handleException("Could not save playlist",error))})}}function getPlaylist(uri){return function(dispatch,getState){sendRequest(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"?market="+getState().core.country).then(function(response){var description=null;response.description&&(description=response.description,description=description.split('<a href="spotify:artist:').join('<a href="#'+global.baseURL+"artist/spotify:artist:"),description=description.split('<a href="spotify:album:').join('<a href="#'+global.baseURL+"album/spotify:album:"),description=description.split('<a href="spotify:user:').join('<a href="#'+global.baseURL+"user/spotify:user:"));var playlist=Object.assign({},response,{can_edit:getState().spotify.me&&response.owner.id==getState().spotify.me.id,tracks:helpers.formatTracks(response.tracks.items),tracks_more:response.tracks.next,tracks_total:response.tracks.total,description:description});dispatch({type:"PLAYLIST_LOADED",key:playlist.uri,playlist:playlist})},function(error){dispatch(coreActions.handleException("Could not load playlist",error))})}}function getPlaylistTracksForPlaying(uri){return function(dispatch,getState){dispatch(uiActions.startProcess("SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR","Loading playlist tracks",{uri:uri,next:"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks?market="+getState().core.country}))}}function getPlaylistTracksForPlayingProcessor(data){return function(dispatch,getState){sendRequest(dispatch,getState,data.next).then(function(response){if(void 0!==getState().ui.processes.SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR")),!1}for(var uris=[],new_uris=[],i=0;i<response.items.length;i++)new_uris.push(response.items[i].track.uri);uris=data.uris?[].concat(_toConsumableArray(data.uris),new_uris):new_uris,response.next?(dispatch(uiActions.updateProcess("SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR","Loading "+(response.total-uris.length)+" playlist tracks",{next:response.next,total:response.total,remaining:response.total-uris.length})),dispatch(uiActions.runProcess("SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR",{next:response.next,uris:uris}))):(dispatch(mopidyActions.playURIs(uris,data.uri)),dispatch(uiActions.processFinished("SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR")))},function(error){dispatch(coreActions.handleException("Could not load tracks to play playlist",error))})}}function toggleFollowingPlaylist(uri,method){if("PUT"==method)var new_state=1;if("DELETE"==method)var new_state=0;return function(dispatch,getState){sendRequest(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/followers",method).then(function(response){dispatch({type:"SPOTIFY_PLAYLIST_FOLLOWING_LOADED",key:uri,is_following:new_state})},function(error){dispatch(coreActions.handleException("Could not add/remove library playlist",error))})}}function addTracksToPlaylist(uri,tracks_uris){return function(dispatch,getState){sendRequest(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks","POST",{uris:tracks_uris}).then(function(response){dispatch({type:"PLAYLIST_TRACKS_ADDED",key:uri,tracks_uris:tracks_uris,snapshot_id:response.snapshot_id})},function(error){dispatch(coreActions.handleException("Could not add tracks to playlist",error))})}}function deleteTracksFromPlaylist(uri,snapshot_id,tracks_indexes){return function(dispatch,getState){sendRequest(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks","DELETE",{snapshot_id:snapshot_id,positions:tracks_indexes}).then(function(response){dispatch({type:"PLAYLIST_TRACKS_REMOVED",key:uri,tracks_indexes:tracks_indexes,snapshot_id:response.snapshot_id})},function(error){dispatch(coreActions.handleException("Could not remove tracks from playlist",error))})}}function reorderPlaylistTracks(uri,range_start,range_length,insert_before,snapshot_id){return function(dispatch,getState){sendRequest(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks","PUT",{uri:uri,range_start:range_start,range_length:range_length,insert_before:insert_before,snapshot_id:snapshot_id}).then(function(response){dispatch({type:"PLAYLIST_TRACKS_REORDERED",key:uri,range_start:range_start,range_length:range_length,insert_before:insert_before,snapshot_id:response.snapshot_id})},function(error){dispatch(coreActions.handleException("Could not reorder playlist tracks",error))})}}function flushLibrary(){return{type:"SPOTIFY_FLUSH_LIBRARY"}}function getLibraryPlaylists(){return function(dispatch,getState){var last_run=getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR;last_run?"cancelled"==last_run.status?dispatch(uiActions.resumeProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")):"finished"!=last_run.status||getState().spotify.library_playlists_loaded_all||dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading Spotify playlists",{next:"me/playlists?limit=50"})):dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading Spotify playlists",{next:"me/playlists?limit=50"}))}}function getLibraryPlaylistsProcessor(data){return function(dispatch,getState){sendRequest(dispatch,getState,data.next).then(function(response){if(dispatch({type:"SPOTIFY_LIBRARY_PLAYLISTS_LOADED",playlists:response.items}),void 0!==getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")),!1}if(response.next){var total=response.total,loaded=getState().spotify.library_playlists.length,remaining=total-loaded;dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading "+remaining+" Spotify playlists",{next:response.next,total:response.total,remaining:remaining})),dispatch(uiActions.runProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR",{next:response.next}))}else dispatch(uiActions.processFinished("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")),dispatch({type:"SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL"})},function(error){dispatch(coreActions.handleException("Could not load library playlists",error))})}}function getLibraryArtists(){return function(dispatch,getState){var last_run=getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR;last_run?"cancelled"==last_run.status?dispatch(uiActions.resumeProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR")):"finished"!=last_run.status||getState().spotify.library_artists_loaded_all||dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading Spotify artists",{next:"me/following?type=artist&limit=50"})):dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading Spotify artists",{next:"me/following?type=artist&limit=50"}))}}function getLibraryArtistsProcessor(data){return function(dispatch,getState){sendRequest(dispatch,getState,data.next).then(function(response){if(dispatch({type:"SPOTIFY_LIBRARY_ARTISTS_LOADED",artists:response.artists.items}),void 0!==getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR")),!1}if(response.artists.next){var total=response.artists.total,loaded=getState().spotify.library_artists.length,remaining=total-loaded;dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading "+remaining+" Spotify artists",{next:response.artists.next,total:response.artists.total,remaining:remaining})),dispatch(uiActions.runProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR",{next:response.artists.next}))}else dispatch(uiActions.processFinished("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR"))},function(error){dispatch(coreActions.handleException("Could not load library artists",error))})}}function getLibraryAlbums(){return function(dispatch,getState){var last_run=getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR;last_run?"cancelled"==last_run.status?dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"})):"finished"!=last_run.status||getState().spotify.library_albums_loaded_all||dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"})):dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"}))}}function getLibraryAlbumsProcessor(data){return function(dispatch,getState){sendRequest(dispatch,getState,data.next).then(function(response){if(dispatch({type:"SPOTIFY_LIBRARY_ALBUMS_LOADED",albums:response.items}),void 0!==getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR")),!1}if(response.next){var total=response.total,loaded=getState().spotify.library_albums.length,remaining=total-loaded;dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading "+remaining+" Spotify albums",{next:response.next,total:response.total,remaining:remaining})),dispatch(uiActions.runProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR",{next:response.next}))}else dispatch(uiActions.processFinished("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR"))},function(error){dispatch(coreActions.handleException("Could not load library albums",error))})}}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.set=set,exports.connect=connect,exports.authorizationGranted=authorizationGranted,exports.revokeAuthorization=revokeAuthorization,exports.refreshingToken=refreshingToken,exports.importAuthorization=importAuthorization,exports.getMe=getMe,exports.getTrack=getTrack,exports.getLibraryTracks=getLibraryTracks,exports.getFeaturedPlaylists=getFeaturedPlaylists,exports.getCategories=getCategories,exports.getCategory=getCategory,exports.getNewReleases=getNewReleases,exports.getURL=getURL,exports.getMore=getMore,exports.clearSearchResults=clearSearchResults,exports.getSearchResults=getSearchResults,exports.getAutocompleteResults=getAutocompleteResults,exports.clearAutocompleteResults=clearAutocompleteResults,exports.following=following,exports.resolveRadioSeeds=resolveRadioSeeds,exports.getFavorites=getFavorites,exports.getRecommendations=getRecommendations,exports.getGenres=getGenres,exports.getArtist=getArtist,exports.getArtists=getArtists,exports.playArtistTopTracks=playArtistTopTracks,exports.getUser=getUser,exports.getUserPlaylists=getUserPlaylists,exports.getAlbum=getAlbum,exports.toggleAlbumInLibrary=toggleAlbumInLibrary,exports.createPlaylist=createPlaylist,exports.savePlaylist=savePlaylist,exports.getPlaylist=getPlaylist,exports.getPlaylistTracksForPlaying=getPlaylistTracksForPlaying,exports.getPlaylistTracksForPlayingProcessor=getPlaylistTracksForPlayingProcessor,exports.toggleFollowingPlaylist=toggleFollowingPlaylist,exports.addTracksToPlaylist=addTracksToPlaylist,exports.deleteTracksFromPlaylist=deleteTracksFromPlaylist,exports.reorderPlaylistTracks=reorderPlaylistTracks,exports.flushLibrary=flushLibrary,exports.getLibraryPlaylists=getLibraryPlaylists,exports.getLibraryPlaylistsProcessor=getLibraryPlaylistsProcessor,exports.getLibraryArtists=getLibraryArtists,exports.getLibraryArtistsProcessor=getLibraryArtistsProcessor,exports.getLibraryAlbums=getLibraryAlbums,exports.getLibraryAlbumsProcessor=getLibraryAlbumsProcessor;var coreActions=__webpack_require__(22),uiActions=__webpack_require__(4),mopidyActions=__webpack_require__(9),lastfmActions=__webpack_require__(31),helpers=__webpack_require__(1),sendRequest=function(dispatch,getState,endpoint){var method=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"GET",data=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise(function(resolve,reject){getToken(dispatch,getState).then(function(response){var url="https://api.spotify.com/v1/"+endpoint;endpoint.startsWith("https://api.spotify.com/")&&(url=endpoint);var config={method:method,url:url,cached:!0,timeout:3e4,headers:{Authorization:"Bearer "+response,Accept:"application/json"}};data&&(config.data="string"==typeof data?data:JSON.stringify(data));var loader_key=helpers.generateGuid();dispatch(uiActions.startLoading(loader_key,"spotify_"+endpoint)),$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),resolve(response)},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),429==xhr.status&&alert("You hit the Spotify API rate limiter"),xhr.responseJSON&&xhr.responseJSON.error&&"The access token expired"==xhr.responseJSON.error.message&&dispatch(refreshToken(dispatch,getState)),reject({config:config,xhr:xhr,status:status,error:error})})},function(error){reject(error)})})}}).call(exports,__webpack_require__(19),__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function setConfig(config){return{type:"MOPIDY_SET_CONFIG",config:config}}function connect(){return{type:"MOPIDY_CONNECT"}}function disconnect(){return{type:"MOPIDY_DISCONNECT"}}function instruct(call,value){return{type:"MOPIDY_INSTRUCT",call:call,value:value}}function debug(call,value){return{type:"MOPIDY_DEBUG",call:call,value:value}}function changeTrack(tlid){return instruct("playback.play",{tlid:tlid})}function playURIs(uris){return{type:"MOPIDY_PLAY_URIS",uris:uris,from_uri:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function enqueueURIs(uris){var from_uri=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,next=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:"MOPIDY_ENQUEUE_URIS",uris:uris,at_position:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,next:next,from_uri:from_uri,offset:arguments.length>4&&void 0!==arguments[4]?arguments[4]:0}}function enqueueURIsBatchDone(){return{type:"MOPIDY_ENQUEUE_URIS_BATCH_DONE"}}function playPlaylist(uri){return{type:"MOPIDY_PLAY_PLAYLIST",uri:uri}}function playAlbum(uri){return{type:"MOPIDY_PLAY_ALBUM",uri:uri}}function removeTracks(tlids){return instruct("tracklist.remove",{tlid:tlids})}function reorderTracklist(indexes,insert_before){var range=helpers.createRange(indexes);return insert_before>range.start&&(insert_before-=range.length),{type:"MOPIDY_REORDER_TRACKLIST",range_start:range.start,range_length:range.length,insert_before:insert_before}}function clearTracklist(){return instruct("tracklist.clear")}function play(){return instruct("playback.play")}function pause(){return instruct("playback.pause")}function stop(){return instruct("playback.stop")}function next(){return instruct("playback.next")}function previous(){return instruct("playback.previous")}function setMute(mute){return instruct("mixer.setMute",{mute:mute})}function setVolume(volume){return instruct("playback.setVolume",{volume:volume})}function seek(time_position){return instruct("playback.seek",{time_position:parseInt(time_position)})}function getTimePosition(){return instruct("playback.getTimePosition")}function setTimePosition(time_position){return{type:"MOPIDY_TIMEPOSITION",data:time_position}}function getImages(context,uris){return{type:"MOPIDY_GET_IMAGES",context:context,uris:uris}}function createPlaylist(name,scheme){return{type:"MOPIDY_CREATE_PLAYLIST",name:name,scheme:scheme}}function deletePlaylist(uri){return{type:"MOPIDY_DELETE_PLAYLIST",uri:uri}}function getLibraryPlaylists(){return{type:"MOPIDY_GET_LIBRARY_PLAYLISTS"}}function getPlaylist(uri){return{type:"MOPIDY_GET_PLAYLIST",data:{uri:uri}}}function getPlaylists(uris){return{type:"MOPIDY_GET_PLAYLISTS",uris:uris,processor:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function getDirectory(uri){return{type:"MOPIDY_GET_DIRECTORY",data:{uri:uri}}}function getTrack(uri){return{type:"MOPIDY_GET_TRACK",data:{uri:uri}}}function getLibraryArtists(){return{type:"MOPIDY_GET_LIBRARY_ARTISTS"}}function getArtist(uri){return{type:"MOPIDY_GET_ARTIST",data:{uri:uri}}}function getArtists(uris){return{type:"MOPIDY_GET_ARTISTS",uris:uris,processor:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function getAlbum(uri){return{type:"MOPIDY_GET_ALBUM",data:{uri:uri}}}function getAlbums(uris){return{type:"MOPIDY_GET_ALBUMS",uris:uris,processor:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function getLibraryAlbums(){return{type:"MOPIDY_GET_LIBRARY_ALBUMS"}}function runProcessor(processor){return{type:processor}}function cancelProcessor(processor){return{type:processor+"_CANCEL"}}function clearSearchResults(){return{type:"MOPIDY_CLEAR_SEARCH_RESULTS"}}function getSearchResults(context,query){return{type:"MOPIDY_GET_SEARCH_RESULTS",context:context,query:query,limit:arguments.length>2&&void 0!==arguments[2]?arguments[2]:100}}function getQueueHistory(){return instruct("history.getHistory")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setConfig=setConfig,exports.connect=connect,exports.disconnect=disconnect,exports.instruct=instruct,exports.debug=debug,exports.changeTrack=changeTrack,exports.playURIs=playURIs,exports.enqueueURIs=enqueueURIs,exports.enqueueURIsBatchDone=enqueueURIsBatchDone,exports.playPlaylist=playPlaylist,exports.playAlbum=playAlbum,exports.removeTracks=removeTracks,exports.reorderTracklist=reorderTracklist,exports.clearTracklist=clearTracklist,exports.play=play,exports.pause=pause,exports.stop=stop,exports.next=next,exports.previous=previous,exports.setMute=setMute,exports.setVolume=setVolume,exports.seek=seek,exports.getTimePosition=getTimePosition,exports.setTimePosition=setTimePosition,exports.getImages=getImages,exports.createPlaylist=createPlaylist,exports.deletePlaylist=deletePlaylist,exports.getLibraryPlaylists=getLibraryPlaylists,exports.getPlaylist=getPlaylist,exports.getPlaylists=getPlaylists,exports.getDirectory=getDirectory,exports.getTrack=getTrack,exports.getLibraryArtists=getLibraryArtists,exports.getArtist=getArtist,exports.getArtists=getArtists,exports.getAlbum=getAlbum,exports.getAlbums=getAlbums,exports.getLibraryAlbums=getLibraryAlbums,exports.runProcessor=runProcessor,exports.cancelProcessor=cancelProcessor,exports.clearSearchResults=clearSearchResults,exports.getSearchResults=getSearchResults,exports.getQueueHistory=getQueueHistory;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(25),warning=emptyFunction;module.exports=warning},function(module,exports,__webpack_require__){"use strict";function reactProdInvariant(code){for(var argCount=arguments.length-1,message="Minified React error #"+code+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+code,argIdx=0;argIdx<argCount;argIdx++)message+="&args[]="+encodeURIComponent(arguments[argIdx+1]);message+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var error=new Error(message);throw error.name="Invariant Violation",error.framesToPop=1,error}module.exports=reactProdInvariant},function(module,exports){var g;g=function(){return this}();try{g=g||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(g=window)}module.exports=g},function(module,exports,__webpack_require__){"use strict";function toObject(val){if(null===val||void 0===val)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(val)}/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=function(){try{if(!Object.assign)return!1;var test1=new String("abc");if(test1[5]="de","5"===Object.getOwnPropertyNames(test1)[0])return!1;for(var test2={},i=0;i<10;i++)test2["_"+String.fromCharCode(i)]=i;if("0123456789"!==Object.getOwnPropertyNames(test2).map(function(n){return test2[n]}).join(""))return!1;var test3={};return"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},test3)).join("")}catch(err){return!1}}()?Object.assign:function(target,source){for(var from,symbols,to=toObject(target),s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from)hasOwnProperty.call(from,key)&&(to[key]=from[key]);if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++)propIsEnumerable.call(from,symbols[i])&&(to[symbols[i]]=from[symbols[i]])}}return to}},function(module,exports,__webpack_require__){"use strict";function shouldPrecacheNode(node,nodeID){return 1===node.nodeType&&node.getAttribute(ATTR_NAME)===String(nodeID)||8===node.nodeType&&node.nodeValue===" react-text: "+nodeID+" "||8===node.nodeType&&node.nodeValue===" react-empty: "+nodeID+" "}function getRenderedHostOrTextFromComponent(component){for(var rendered;rendered=component._renderedComponent;)component=rendered;return component}function precacheNode(inst,node){var hostInst=getRenderedHostOrTextFromComponent(inst);hostInst._hostNode=node,node[internalInstanceKey]=hostInst}function uncacheNode(inst){var node=inst._hostNode;node&&(delete node[internalInstanceKey],inst._hostNode=null)}function precacheChildNodes(inst,node){if(!(inst._flags&Flags.hasCachedChildNodes)){var children=inst._renderedChildren,childNode=node.firstChild;outer:for(var name in children)if(children.hasOwnProperty(name)){var childInst=children[name],childID=getRenderedHostOrTextFromComponent(childInst)._domID;if(0!==childID){for(;null!==childNode;childNode=childNode.nextSibling)if(shouldPrecacheNode(childNode,childID)){precacheNode(childInst,childNode);continue outer}_prodInvariant("32",childID)}}inst._flags|=Flags.hasCachedChildNodes}}function getClosestInstanceFromNode(node){if(node[internalInstanceKey])return node[internalInstanceKey];for(var parents=[];!node[internalInstanceKey];){if(parents.push(node),!node.parentNode)return null;node=node.parentNode}for(var closest,inst;node&&(inst=node[internalInstanceKey]);node=parents.pop())closest=inst,parents.length&&precacheChildNodes(inst,node);return closest}function getInstanceFromNode(node){var inst=getClosestInstanceFromNode(node);return null!=inst&&inst._hostNode===node?inst:null}function getNodeFromInstance(inst){if(void 0===inst._hostNode&&_prodInvariant("33"),inst._hostNode)return inst._hostNode;for(var parents=[];!inst._hostNode;)parents.push(inst),inst._hostParent||_prodInvariant("34"),inst=inst._hostParent;for(;parents.length;inst=parents.pop())precacheChildNodes(inst,inst._hostNode);return inst._hostNode}var _prodInvariant=__webpack_require__(11),DOMProperty=__webpack_require__(46),ReactDOMComponentFlags=__webpack_require__(112),ATTR_NAME=(__webpack_require__(7),DOMProperty.ID_ATTRIBUTE_NAME),Flags=ReactDOMComponentFlags,internalInstanceKey="__reactInternalInstance$"+Math.random().toString(36).slice(2),ReactDOMComponentTree={getClosestInstanceFromNode:getClosestInstanceFromNode,getInstanceFromNode:getInstanceFromNode,getNodeFromInstance:getNodeFromInstance,precacheChildNodes:precacheChildNodes,precacheNode:precacheNode,uncacheNode:uncacheNode};module.exports=ReactDOMComponentTree},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),Thumbnail=function(_React$Component){function Thumbnail(props){return _classCallCheck(this,Thumbnail),_possibleConstructorReturn(this,(Thumbnail.__proto__||Object.getPrototypeOf(Thumbnail)).call(this,props))}return _inherits(Thumbnail,_React$Component),_createClass(Thumbnail,[{key:"mapImageSizes",value:function(){arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;if(!this.props.image&&(!this.props.images||this.props.images.length<=0))return __webpack_require__(374);if(this.props.image)return this.props.image;if(this.props.images&&this.props.images.length>0){var images=helpers.sizedImages(this.props.images),size="medium";return this.props.size&&(size=this.props.size),images[size]}}},{key:"zoom",value:function(e,image){e.preventDefault(),this.props.uiActions.openModal("image_zoom",{url:image})}},{key:"render",value:function(){var _this2=this,image=this.mapImageSizes(),class_name="thumbnail ";this.props.size&&(class_name+=" "+this.props.size),this.props.circle&&(class_name+=" circle"),this.props.className&&(class_name+=" "+this.props.className);var zoom_icon=null;return this.props.canZoom&&(zoom_icon=_react2.default.createElement("span",{className:"zoom",onClick:function(e){return _this2.zoom(e,image)}},_react2.default.createElement(_reactFontawesome2.default,{name:"search"}))),_react2.default.createElement("div",{className:class_name},_react2.default.createElement("div",{className:"image loaded",style:{backgroundImage:'url("'+image+'")'}}),zoom_icon)}}]),Thumbnail}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Thumbnail)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_Icon=(_interopRequireDefault(_reactFontawesome),__webpack_require__(18)),_Icon2=_interopRequireDefault(_Icon),_ContextMenuTrigger=__webpack_require__(37),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),Header=function(_React$Component){function Header(props){_classCallCheck(this,Header);var _this=_possibleConstructorReturn(this,(Header.__proto__||Object.getPrototypeOf(Header)).call(this,props));return _this.state={expanded:!1},_this}return _inherits(Header,_React$Component),_createClass(Header,[{key:"handleContextMenuTrigger",value:function(e,options){if(this.props.handleContextMenuTrigger)return this.props.handleContextMenuTrigger(e);e.preventDefault();var data={e:e,context:"custom",title:this.props.title,options:options};this.props.uiActions.showContextMenu(data)}},{key:"renderContextMenuTrigger",value:function(){var _this2=this;return this.props.handleContextMenuTrigger||this.props.options?_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenuTrigger(e,_this2.props.options)}}):null}},{key:"renderOptions",value:function(){return this.props.options||this.props.handleContextMenuTrigger?_react2.default.createElement("div",{className:"options"},this.renderContextMenuTrigger(),_react2.default.createElement("span",{className:"items"},_react2.default.createElement("span",{className:"liner"},this.props.options?this.props.options:null))):null}},{key:"render",value:function(){return _react2.default.createElement("header",{className:this.props.className?this.props.className:null},this.props.icon?_react2.default.createElement(_Icon2.default,{name:this.props.icon}):null,this.props.title?_react2.default.createElement("h1",null,this.props.title):null,this.renderOptions())}}]),Header}(_react2.default.Component);exports.default=Header},function(module,exports){module.exports=function(){throw new Error("define cannot be used indirect")}},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),Icon=(__webpack_require__(6),function(_React$Component){function Icon(props){return _classCallCheck(this,Icon),_possibleConstructorReturn(this,(Icon.__proto__||Object.getPrototypeOf(Icon)).call(this,props))}return _inherits(Icon,_React$Component),_createClass(Icon,[{key:"render",value:function(){var className="icon";this.props.className&&(className+=" "+this.props.className);var src=__webpack_require__(342)("./"+this.props.name+".svg");return _react2.default.createElement("img",{className:className,src:src})}}]),Icon}(_react2.default.Component));exports.default=Icon},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;/*!
* jQuery JavaScript Library v3.2.1
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2017-03-20T18:59Z
*/
!function(global,factory){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}:factory(global)}("undefined"!=typeof window?window:this,function(window,noGlobal){"use strict";function DOMEval(code,doc){doc=doc||document;var script=doc.createElement("script");script.text=code,doc.head.appendChild(script).parentNode.removeChild(script)}function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);return"function"!==type&&!jQuery.isWindow(obj)&&("array"===type||0===length||"number"==typeof length&&length>0&&length-1 in obj)}function nodeName(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()}function winnow(elements,qualifier,not){return jQuery.isFunction(qualifier)?jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not}):qualifier.nodeType?jQuery.grep(elements,function(elem){return elem===qualifier!==not}):"string"!=typeof qualifier?jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not}):risSimple.test(qualifier)?jQuery.filter(qualifier,elements,not):(qualifier=jQuery.filter(qualifier,elements),jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not&&1===elem.nodeType}))}function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}function createOptions(options){var object={};return jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){object[flag]=!0}),object}function Identity(v){return v}function Thrower(ex){throw ex}function adoptValue(value,resolve,reject,noValue){var method;try{value&&jQuery.isFunction(method=value.promise)?method.call(value).done(resolve).fail(reject):value&&jQuery.isFunction(method=value.then)?method.call(value,resolve,reject):resolve.apply(void 0,[value].slice(noValue))}catch(value){reject.apply(void 0,[value])}}function completed(){document.removeEventListener("DOMContentLoaded",completed),window.removeEventListener("load",completed),jQuery.ready()}function Data(){this.expando=jQuery.expando+Data.uid++}function getData(data){return"true"===data||"false"!==data&&("null"===data?null:data===+data+""?+data:rbrace.test(data)?JSON.parse(data):data)}function dataAttr(elem,key,data){var name;if(void 0===data&&1===elem.nodeType)if(name="data-"+key.replace(rmultiDash,"-$&").toLowerCase(),"string"==typeof(data=elem.getAttribute(name))){try{data=getData(data)}catch(e){}dataUser.set(elem,key,data)}else data=void 0;return data}function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,"")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||"px"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3],valueParts=valueParts||[],initialInUnit=+initial||1;do{scale=scale||".5",initialInUnit/=scale,jQuery.style(elem,prop,initialInUnit+unit)}while(scale!==(scale=currentValue()/initial)&&1!==scale&&--maxIterations)}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}function getDefaultDisplay(elem){var temp,doc=elem.ownerDocument,nodeName=elem.nodeName,display=defaultDisplayMap[nodeName];return display||(temp=doc.body.appendChild(doc.createElement(nodeName)),display=jQuery.css(temp,"display"),temp.parentNode.removeChild(temp),"none"===display&&(display="block"),defaultDisplayMap[nodeName]=display,display)}function showHide(elements,show){for(var display,elem,values=[],index=0,length=elements.length;index<length;index++)elem=elements[index],elem.style&&(display=elem.style.display,show?("none"===display&&(values[index]=dataPriv.get(elem,"display")||null,values[index]||(elem.style.display="")),""===elem.style.display&&isHiddenWithinTree(elem)&&(values[index]=getDefaultDisplay(elem))):"none"!==display&&(values[index]="none",dataPriv.set(elem,"display",display)));for(index=0;index<length;index++)null!=values[index]&&(elements[index].style.display=values[index]);return elements}function getAll(context,tag){var ret;return ret=void 0!==context.getElementsByTagName?context.getElementsByTagName(tag||"*"):void 0!==context.querySelectorAll?context.querySelectorAll(tag||"*"):[],void 0===tag||tag&&nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;i<l;i++)dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))}function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;i<l;i++)if((elem=elems[i])||0===elem)if("object"===jQuery.type(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(tmp=tmp||fragment.appendChild(context.createElement("div")),tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2],j=wrap[0];j--;)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes),tmp=fragment.firstChild,tmp.textContent=""}else nodes.push(context.createTextNode(elem));for(fragment.textContent="",i=0;elem=nodes[i++];)if(selection&&jQuery.inArray(elem,selection)>-1)ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(fragment.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return fragment}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if("object"==typeof types){"string"!=typeof selector&&(data=data||selector,selector=void 0);for(type in types)on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&("string"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),!1===fn)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)},fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)),elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}function manipulationTarget(elem,content){return nodeName(elem,"table")&&nodeName(11!==content.nodeType?content:content.firstChild,"tr")?jQuery(">tbody",elem)[0]||elem:elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);return match?elem.type=match[1]:elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events)){delete pdataCur.handle,pdataCur.events={};for(type in events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i])}dataUser.hasData(src)&&(udataOld=dataUser.access(src),udataCur=jQuery.extend({},udataOld),dataUser.set(dest,udataCur))}}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();"input"===nodeName&&rcheckableType.test(src.type)?dest.checked=src.checked:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue)}function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&"string"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);isFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored),first=fragment.firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(scripts=jQuery.map(getAll(fragment,"script"),disableScript),hasScripts=scripts.length;i<l;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;i<hasScripts;i++)node=scripts[i],rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src?jQuery._evalUrl&&jQuery._evalUrl(node.src):DOMEval(node.textContent.replace(rcleanScript,""),doc))}return collection}function remove(elem,selector,keepData){for(var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=nodes[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(keepData&&jQuery.contains(node.ownerDocument,node)&&setGlobalEval(getAll(node,"script")),node.parentNode.removeChild(node));return elem}function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return computed=computed||getStyles(elem),computed&&(ret=computed.getPropertyValue(name)||computed[name],""!==ret||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)&&(width=style.width,minWidth=style.minWidth,maxWidth=style.maxWidth,style.minWidth=style.maxWidth=style.width=ret,ret=computed.width,style.width=width,style.minWidth=minWidth,style.maxWidth=maxWidth)),void 0!==ret?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){return conditionFn()?void delete this.get:(this.get=hookFn).apply(this,arguments)}}}function vendorPropName(name){if(name in emptyStyle)return name;for(var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if((name=cssPrefixes[i]+capName)in emptyStyle)return name}function finalPropName(name){var ret=jQuery.cssProps[name];return ret||(ret=jQuery.cssProps[name]=vendorPropName(name)||name),ret}function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i,val=0;for(i=extra===(isBorderBox?"border":"content")?4:"width"===name?1:0;i<4;i+=2)"margin"===extra&&(val+=jQuery.css(elem,extra+cssExpand[i],!0,styles)),isBorderBox?("content"===extra&&(val-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==extra&&(val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(val+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==extra&&(val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles)));return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox,styles=getStyles(elem),val=curCSS(elem,name,styles),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles);return rnumnonpx.test(val)?val:(valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]),"auto"===val&&(val=elem["offset"+name[0].toUpperCase()+name.slice(1)]),(val=parseFloat(val)||0)+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px")}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}function schedule(){inProgress&&(!1===document.hidden&&window.requestAnimationFrame?window.requestAnimationFrame(schedule):window.setTimeout(schedule,jQuery.fx.interval),jQuery.fx.tick())}function createFxNow(){return window.setTimeout(function(){fxNow=void 0}),fxNow=jQuery.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};for(includeWidth=includeWidth?1:0;i<4;i+=2-includeWidth)which=cssExpand[i],attrs["margin"+which]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;index<length;index++)if(tween=collection[index].call(animation,prop,value))return tween}function defaultPrefilter(elem,props,opts){var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,isBox="width"in props||"height"in props,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHiddenWithinTree(elem),dataShow=dataPriv.get(elem,"fxshow");opts.queue||(hooks=jQuery._queueHooks(elem,"fx"),null==hooks.unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})}));for(prop in props)if(value=props[prop],rfxtypes.test(value)){if(delete props[prop],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show")){if("show"!==value||!dataShow||void 0===dataShow[prop])continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}if((propTween=!jQuery.isEmptyObject(props))||!jQuery.isEmptyObject(orig)){isBox&&1===elem.nodeType&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],restoreDisplay=dataShow&&dataShow.display,null==restoreDisplay&&(restoreDisplay=dataPriv.get(elem,"display")),display=jQuery.css(elem,"display"),"none"===display&&(restoreDisplay?display=restoreDisplay:(showHide([elem],!0),restoreDisplay=elem.style.display||restoreDisplay,display=jQuery.css(elem,"display"),showHide([elem]))),("inline"===display||"inline-block"===display&&null!=restoreDisplay)&&"none"===jQuery.css(elem,"float")&&(propTween||(anim.done(function(){style.display=restoreDisplay}),null==restoreDisplay&&(display=style.display,restoreDisplay="none"===display?"":display)),style.display="inline-block")),opts.overflow&&(style.overflow="hidden",anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]})),propTween=!1;for(prop in orig)propTween||(dataShow?"hidden"in dataShow&&(hidden=dataShow.hidden):dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay}),toggle&&(dataShow.hidden=!hidden),hidden&&showHide([elem],!0),anim.done(function(){hidden||showHide([elem]),dataPriv.remove(elem,"fxshow");for(prop in orig)jQuery.style(elem,prop,orig[prop])})),propTween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(dataShow[prop]=propTween.start,hidden&&(propTween.end=propTween.start,propTween.start=0))}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props)if(name=jQuery.camelCase(index),easing=specialEasing[name],value=props[index],Array.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),(hooks=jQuery.cssHooks[name])&&"expand"in hooks){value=hooks.expand(value),delete props[name];for(index in value)index in props||(props[index]=value[index],specialEasing[index]=easing)}else specialEasing[name]=easing}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;index<length;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),percent<1&&length?remaining:(length||deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;index<length;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(propFilter(props,animation.opts.specialEasing);index<length;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return jQuery.isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result)),result;return jQuery.map(props,createTween,animation),jQuery.isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation}function stripAndCollapse(value){return(value.match(rnothtmlwhite)||[]).join(" ")}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||""}function buildParams(prefix,obj,traditional,add){var name;if(Array.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v&&null!=v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==jQuery.type(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];if(jQuery.isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType[0]?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}var inspected={},seekingTransport=structure===transports;return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)void 0!==src[key]&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}function ajaxHandleResponses(s,jqXHR,responses){for(var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;"*"===dataTypes[0];)dataTypes.shift(),void 0===ct&&(ct=s.mimeType||jqXHR.getResponseHeader("Content-Type"));if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}if(dataTypes[0]in responses)finalDataType=dataTypes[0];else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}if(finalDataType)return finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if("*"===current)current=prev;else if("*"!==prev&&prev!==current){if(!(conv=converters[prev+" "+current]||converters["* "+current]))for(conv2 in converters)if(tmp=conv2.split(" "),tmp[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){!0===conv?conv=converters[conv2]:!0!==converters[conv2]&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(!0!==conv)if(conv&&s.throws)response=conv(response);else try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}return{state:"success",data:response}}var arr=[],document=window.document,getProto=Object.getPrototypeOf,slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,fnToString=hasOwn.toString,ObjectFunctionString=fnToString.call(Object),support={},jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([a-z])/g,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:"3.2.1",constructor:jQuery,length:0,toArray:function(){return slice.call(this)},get:function(num){return null==num?slice.call(this):num<0?this[num+this.length]:this[num]},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:arr.sort,splice:arr.splice},jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[i]||{},i++),"object"==typeof target||jQuery.isFunction(target)||(target={}),i===length&&(target=this,i--);i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],copy=options[name],target!==copy&&(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=Array.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&Array.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):void 0!==copy&&(target[name]=copy));return target},jQuery.extend({expando:"jQuery"+("3.2.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return"function"===jQuery.type(obj)},isWindow:function(obj){return null!=obj&&obj===obj.window},isNumeric:function(obj){var type=jQuery.type(obj);return("number"===type||"string"===type)&&!isNaN(obj-parseFloat(obj))},isPlainObject:function(obj){var proto,Ctor;return!(!obj||"[object Object]"!==toString.call(obj))&&(!(proto=getProto(obj))||"function"==typeof(Ctor=hasOwn.call(proto,"constructor")&&proto.constructor)&&fnToString.call(Ctor)===ObjectFunctionString)},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},type:function(obj){return null==obj?obj+"":"object"==typeof obj||"function"==typeof obj?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(code){DOMEval(code)},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},each:function(obj,callback){var length,i=0;if(isArrayLike(obj))for(length=obj.length;i<length&&!1!==callback.call(obj[i],i,obj[i]);i++);else for(i in obj)if(!1===callback.call(obj[i],i,obj[i]))break;return obj},trim:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){return null==arr?-1:indexOf.call(arr,elem,i)},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;j<len;j++)first[i++]=second[j];return first.length=i,first},grep:function(elems,callback,invert){for(var matches=[],i=0,length=elems.length,callbackExpect=!invert;i<length;i++)!callback(elems[i],i)!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;i<length;i++)null!=(value=callback(elems[i],i,arg))&&ret.push(value);else for(i in elems)null!=(value=callback(elems[i],i,arg))&&ret.push(value);return concat.apply([],ret)},guid:1,proxy:function(fn,context){var tmp,args,proxy;if("string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),jQuery.isFunction(fn))return args=slice.call(arguments,2),proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))},proxy.guid=fn.guid=fn.guid||jQuery.guid++,proxy},now:Date.now,support:support}),"function"==typeof Symbol&&(jQuery.fn[Symbol.iterator]=arr[Symbol.iterator]),jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});var Sizzle=/*!
* Sizzle CSS Selector Engine v2.3.3
* https://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-08-08
*/
function(window){function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if("object"!==context.nodeName.toLowerCase()){for((nid=context.getAttribute("id"))?nid=nid.replace(rcssescape,fcssescape):context.setAttribute("id",nid=expando),groups=tokenize(selector),i=groups.length;i--;)groups[i]="#"+nid+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}var keys=[];return cache}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el)}catch(e){return!1}finally{el.parentNode&&el.parentNode.removeChild(el),el=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createDisabledPseudo(disabled){return function(elem){return"form"in elem?elem.parentNode&&!1===elem.disabled?"label"in elem?"label"in elem.parentNode?elem.parentNode.disabled===disabled:elem.disabled===disabled:elem.isDisabled===disabled||elem.isDisabled!==!disabled&&disabledAncestor(elem)===disabled:elem.disabled===disabled:"label"in elem&&elem.disabled===disabled}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&void 0!==context.getElementsByTagName&&context}function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";i<len;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,skip=combinator.next,key=skip||dir,checkNonElements=base&&"parentNode"===key,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml);return!1}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)if(outerCache=elem[expando]||(elem[expando]={}),uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={}),skip&&skip===elem.nodeName.toLowerCase())elem=elem[dir]||elem;else{if((oldCache=uniqueCache[key])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if(uniqueCache[key]=newCache,newCache[2]=matcher(elem,context,xml))return!0}return!1}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function multipleContexts(selector,contexts,results){for(var i=0,len=contexts.length;i<len;i++)Sizzle(selector,contexts[i],results);return results}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;i<len;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,!0),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];i<len;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if(matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches),matcher[expando]){for(j=++i;j<len&&!Expr.relative[tokens[j].type];j++);return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:" "===tokens[i-2].type?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))}matchers.push(matcher)}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG("*",outermost),dirrunsUnique=dirruns+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){return a===b&&(hasDuplicate=!0),0},hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){for(var i=0,len=list.length;i<len;i++)if(list[i]===elem)return i;return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|.*)\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function(ch,asCodePoint){return asCodePoint?"\0"===ch?"<22>":ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ":"\\"+ch},unloadHandler=function(){setDocument()},disabledAncestor=addCombinator(function(elem){return!0===elem.disabled&&("form"in elem||"label"in elem)},{dir:"parentNode",next:"legend"});try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"HTML"!==documentElement.nodeName},setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(document=doc,docElem=document.documentElement,documentIsHTML=!isXML(document),preferredDoc!==document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow&&(subWindow.addEventListener?subWindow.addEventListener("unload",unloadHandler,!1):subWindow.attachEvent&&subWindow.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(el){return el.className="i",!el.getAttribute("className")}),support.getElementsByTagName=assert(function(el){return el.appendChild(document.createComment("")),!el.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(el){return docElem.appendChild(el).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[]}}):(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=void 0!==elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem];for(elems=context.getElementsByName(id),i=0;elem=elems[i++];)if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem]}return[]}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return void 0!==context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if(void 0!==context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(el){docElem.appendChild(el).innerHTML="<a id='"+expando+"'></a><select id='"+expando+"-\r\\' msallowcapture=''><option selected=''></option></select>",el.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),el.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),el.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),el.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),el.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]")}),assert(function(el){el.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var input=document.createElement("input");input.setAttribute("type","hidden"),el.appendChild(input).setAttribute("name","D"),el.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),2!==el.querySelectorAll(":enabled").length&&rbuggyQSA.push(":enabled",":disabled"),docElem.appendChild(el).disabled=!0,2!==el.querySelectorAll(":disabled").length&&rbuggyQSA.push(":enabled",":disabled"),el.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(el){support.disconnectedMatch=matches.call(el,"*"),matches.call(el,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare||(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&compare||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},document):document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),expr=expr.replace(rattributeQuotes,"='$1']"),support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):void 0;return void 0!==val?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null},Sizzle.escape=function(sel){return(sel+"").replace(rcssescape,fcssescape)},Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test("string"==typeof elem.className&&elem.className||void 0!==elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&result.indexOf(check)>-1:"$="===operator?check&&result.slice(-check.length)===check:"~="===operator?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:"|="===operator&&(result===check||result.slice(0,check.length+1)===check+"-"))}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(node=parent,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(node=elem,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex),!1===diff)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&(outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),uniqueCache[type]=[dirruns,diff]),node!==elem)););return(diff-=last)===first||diff%first==0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)idx=indexOf(seed,matched[i]),seed[idx]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))return(elemLang=elemLang.toLowerCase())===lang||0===elemLang.indexOf(lang+"-")}while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:createDisabledPseudo(!1),disabled:createDisabledPseudo(!0),checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,!0===elem.selected},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},parent:function(elem){return!Expr.pseudos.empty(elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||"text"===attr.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){for(var i=0;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}},Expr.pseudos.nth=Expr.pseudos.eq;for(i in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=function(type){return function(elem){return"input"===elem.nodeName.toLowerCase()&&elem.type===type}}(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=function(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}(i);return setFilters.prototype=Expr.filters=Expr.pseudos,Expr.setFilters=new setFilters,tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached)return parseOnly?0:cached.slice(0);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length));for(type in Expr.filter)!(match=matchExpr[type].exec(soFar))||preFilters[type]&&!(match=preFilters[type](match))||(matched=match.shift(),tokens.push({value:matched,type:type,matches:match}),soFar=soFar.slice(matched.length));if(!matched)break}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)cached=matcherFromTokens(match[i]),cached[expando]?setMatchers.push(cached):elementMatchers.push(cached);cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers)),cached.selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled="function"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if(tokens=match[0]=match[0].slice(0),tokens.length>2&&"ID"===(token=tokens[0]).type&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(!(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0]))return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),!(selector=seed.length&&toSelector(tokens)))return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split("").sort(sortOrder).join("")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(el){return 1&el.compareDocumentPosition(document.createElement("fieldset"))}),assert(function(el){return el.innerHTML="<a href='#'></a>","#"===el.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML)return elem.getAttribute(name,"type"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(el){return el.innerHTML="<input/>",el.firstChild.setAttribute("value",""),""===el.firstChild.getAttribute("value")})||addHandle("value",function(elem,name,isXML){if(!isXML&&"input"===elem.nodeName.toLowerCase())return elem.defaultValue}),assert(function(el){return null==el.getAttribute("disabled")})||addHandle(booleans,function(elem,name,isXML){var val;if(!isXML)return!0===elem[name]?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),Sizzle}(window);jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[":"]=jQuery.expr.pseudos,jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains,jQuery.escapeSelector=Sizzle.escape;var dir=function(elem,dir,until){for(var matched=[],truncate=void 0!==until;(elem=elem[dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,risSimple=/^.[^:#\[\.,]*$/;jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=":not("+expr+")"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,ret,len=this.length,self=this;if("string"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return!0}));for(ret=this.pushStack([]),i=0;i<len;i++)jQuery.find(selector,self[i],ret);return len>1?jQuery.uniqueSort(ret):ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,"string"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"==typeof selector){if(!(match="<"===selector[0]&&">"===selector[selector.length-1]&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector))||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)jQuery.isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return elem=document.getElementById(match[2]),elem&&(this[0]=elem,this.length=1),this}return selector.nodeType?(this[0]=selector,this.length=1,this):jQuery.isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):jQuery.makeArray(selector,this)}).prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;i<l;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],targets="string"!=typeof selectors&&jQuery(selectors);if(!rneedsContext.test(selectors))for(;i<l;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(targets?targets.index(cur)>-1:1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?"string"==typeof elem?indexOf.call(jQuery(elem),this[0]):indexOf.call(this,elem.jquery?elem[0]:elem):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?parent:null},parents:function(elem){return dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return dir(elem,"nextSibling")},prevAll:function(elem){return dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until)},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return siblings(elem.firstChild)},contents:function(elem){return nodeName(elem,"iframe")?elem.contentDocument:(nodeName(elem,"template")&&(elem=elem.content||elem),jQuery.merge([],elem.childNodes))}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);return"Until"!==name.slice(-5)&&(selector=until),selector&&"string"==typeof selector&&(matched=jQuery.filter(selector,matched)),this.length>1&&(guaranteedUnique[name]||jQuery.uniqueSort(matched),rparentsprev.test(name)&&matched.reverse()),this.pushStack(matched)}});var rnothtmlwhite=/[^\x20\t\r\n\f]+/g;jQuery.Callbacks=function(options){options="string"==typeof options?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){for(locked=locked||options.once,fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)!1===list[firingIndex].apply(memory[0],memory[1])&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,locked&&(list=memory?[]:"")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){jQuery.isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==jQuery.type(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),index<=firingIndex&&firingIndex--}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){return list&&(list=[]),this},disable:function(){return locked=queue=[],list=memory="",this},disabled:function(){return!list},lock:function(){return locked=queue=[],memory||firing||(list=memory=""),this},locked:function(){return!!locked},fireWith:function(context,args){return locked||(args=args||[],args=[context,args.slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[["notify","progress",jQuery.Callbacks("memory"),jQuery.Callbacks("memory"),2],["resolve","done",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),0,"resolved"],["reject","fail",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),1,"rejected"]],state="pending",promise={state:function(){return state},always:function(){return deferred.done(arguments).fail(arguments),this},catch:function(fn){return promise.then(null,fn)},pipe:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[tuple[4]])&&fns[tuple[4]];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&jQuery.isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+"With"](this,fn?[returned]:arguments)})}),fns=null}).promise()},then:function(onFulfilled,onRejected,onProgress){function resolve(depth,deferred,handler,special){return function(){var that=this,args=arguments,mightThrow=function(){var returned,then;if(!(depth<maxDepth)){if((returned=handler.apply(that,args))===deferred.promise())throw new TypeError("Thenable self-resolution");then=returned&&("object"==typeof returned||"function"==typeof returned)&&returned.then,jQuery.isFunction(then)?special?then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special)):(maxDepth++,then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special),resolve(maxDepth,deferred,Identity,deferred.notifyWith))):(handler!==Identity&&(that=void 0,args=[returned]),(special||deferred.resolveWith)(that,args))}},process=special?mightThrow:function(){try{mightThrow()}catch(e){jQuery.Deferred.exceptionHook&&jQuery.Deferred.exceptionHook(e,process.stackTrace),depth+1>=maxDepth&&(handler!==Thrower&&(that=void 0,args=[e]),deferred.rejectWith(that,args))}};depth?process():(jQuery.Deferred.getStackHook&&(process.stackTrace=jQuery.Deferred.getStackHook()),window.setTimeout(process))}}var maxDepth=0;return jQuery.Deferred(function(newDefer){tuples[0][3].add(resolve(0,newDefer,jQuery.isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith)),tuples[1][3].add(resolve(0,newDefer,jQuery.isFunction(onFulfilled)?onFulfilled:Identity)),tuples[2][3].add(resolve(0,newDefer,jQuery.isFunction(onRejected)?onRejected:Thrower))}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[5];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[3-i][2].disable,tuples[0][2].lock),list.add(tuple[3].fire),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?void 0:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(singleValue){var remaining=arguments.length,i=remaining,resolveContexts=Array(i),resolveValues=slice.call(arguments),master=jQuery.Deferred(),updateFunc=function(i){return function(value){resolveContexts[i]=this,resolveValues[i]=arguments.length>1?slice.call(arguments):value,--remaining||master.resolveWith(resolveContexts,resolveValues)}};if(remaining<=1&&(adoptValue(singleValue,master.done(updateFunc(i)).resolve,master.reject,!remaining),"pending"===master.state()||jQuery.isFunction(resolveValues[i]&&resolveValues[i].then)))return master.then();for(;i--;)adoptValue(resolveValues[i],updateFunc(i),master.reject);return master.promise()}});var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;jQuery.Deferred.exceptionHook=function(error,stack){window.console&&window.console.warn&&error&&rerrorNames.test(error.name)&&window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,stack)},jQuery.readyException=function(error){window.setTimeout(function(){throw error})};var readyList=jQuery.Deferred();jQuery.fn.ready=function(fn){return readyList.then(fn).catch(function(error){jQuery.readyException(error)}),this},jQuery.extend({isReady:!1,readyWait:1,ready:function(wait){(!0===wait?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0,!0!==wait&&--jQuery.readyWait>0||readyList.resolveWith(document,[jQuery]))}}),jQuery.ready.then=readyList.then,"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(jQuery.ready):(document.addEventListener("DOMContentLoaded",completed),window.addEventListener("load",completed));var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=null==key;if("object"===jQuery.type(key)){chainable=!0;for(i in key)access(elems,fn,i,key[i],!0,emptyGet,raw)}else if(void 0!==value&&(chainable=!0,jQuery.isFunction(value)||(raw=!0),bulk&&(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),fn))for(;i<len;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet},acceptData=function(owner){return 1===owner.nodeType||9===owner.nodeType||!+owner.nodeType};Data.uid=1,Data.prototype={cache:function(owner){var value=owner[this.expando];return value||(value={},acceptData(owner)&&(owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,configurable:!0}))),value},set:function(owner,data,value){var prop,cache=this.cache(owner);if("string"==typeof data)cache[jQuery.camelCase(data)]=value;else for(prop in data)cache[jQuery.camelCase(prop)]=data[prop];return cache},get:function(owner,key){return void 0===key?this.cache(owner):owner[this.expando]&&owner[this.expando][jQuery.camelCase(key)]},access:function(owner,key,value){return void 0===key||key&&"string"==typeof key&&void 0===value?this.get(owner,key):(this.set(owner,key,value),void 0!==value?value:key)},remove:function(owner,key){var i,cache=owner[this.expando];if(void 0!==cache){if(void 0!==key){Array.isArray(key)?key=key.map(jQuery.camelCase):(key=jQuery.camelCase(key),key=key in cache?[key]:key.match(rnothtmlwhite)||[]),i=key.length;for(;i--;)delete cache[key[i]]}(void 0===key||jQuery.isEmptyObject(cache))&&(owner.nodeType?owner[this.expando]=void 0:delete owner[this.expando])}},hasData:function(owner){var cache=owner[this.expando];return void 0!==cache&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data,dataUser=new Data,rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem)},data:function(elem,name,data){return dataUser.access(elem,name,data)},removeData:function(elem,name){dataUser.remove(elem,name)},_data:function(elem,name,data){return dataPriv.access(elem,name,data)},_removeData:function(elem,name){dataPriv.remove(elem,name)}}),jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(void 0===key){if(this.length&&(data=dataUser.get(elem),1===elem.nodeType&&!dataPriv.get(elem,"hasDataAttrs"))){for(i=attrs.length;i--;)attrs[i]&&(name=attrs[i].name,0===name.indexOf("data-")&&(name=jQuery.camelCase(name.slice(5)),dataAttr(elem,name,data[name])));dataPriv.set(elem,"hasDataAttrs",!0)}return data}return"object"==typeof key?this.each(function(){dataUser.set(this,key)}):access(this,function(value){var data;if(elem&&void 0===value){if(void 0!==(data=dataUser.get(elem,key)))return data;if(void 0!==(data=dataAttr(elem,key)))return data}else this.each(function(){dataUser.set(this,key,value)})},null,value,arguments.length>1,null,!0)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;if(elem)return type=(type||"fx")+"queue",queue=dataPriv.get(elem,type),data&&(!queue||Array.isArray(data)?queue=dataPriv.access(elem,type,jQuery.makeArray(data)):queue.push(data)),queue||[]},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};"inprogress"===fn&&(fn=queue.shift(),startLength--),fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,next,hooks)),!startLength&&hooks&&hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key])})})}}),jQuery.fn.extend({queue:function(type,data){var setter=2;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):void 0===data?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=void 0),type=type||"fx";i--;)(tmp=dataPriv.get(elements[i],type+"queueHooks"))&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHiddenWithinTree=function(elem,el){return elem=el||elem,"none"===elem.style.display||""===elem.style.display&&jQuery.contains(elem.ownerDocument,elem)&&"none"===jQuery.css(elem,"display")},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];ret=callback.apply(elem,args||[]);for(name in options)elem.style[name]=old[name];return ret},defaultDisplayMap={};jQuery.fn.extend({show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return"boolean"==typeof state?state?this.show():this.hide():this.each(function(){isHiddenWithinTree(this)?jQuery(this).show():jQuery(this).hide()})}});var rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,rscriptType=/^$|\/(?:java|ecma)script/i,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var rhtml=/<|&#?\w+;/;!function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML="<textarea>x</textarea>",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue}();var documentElement=document.documentElement,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(elemData)for(handler.handler&&(handleObjIn=handler,handler=handleObjIn.handler,selector=handleObjIn.selector),selector&&jQuery.find.matchesSelector(documentElement,selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return void 0!==jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),types=(types||"").match(rnothtmlwhite)||[""],t=types.length;t--;)tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn),(handlers=events[type])||(handlers=events[type]=[],handlers.delegateCount=0,special.setup&&!1!==special.setup.call(elem,data,namespaces,eventHandle)||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(elemData&&(events=elemData.events)){for(types=(types||"").match(rnothtmlwhite)||[""],t=types.length;t--;)if(tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,handlers=events[type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&("**"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&!1!==special.teardown.call(elem,namespaces,elemData.handle)||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&dataPriv.remove(elem,"handle events")}},dispatch:function(nativeEvent){var i,j,ret,matched,handleObj,handlerQueue,event=jQuery.event.fix(nativeEvent),args=new Array(arguments.length),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};for(args[0]=event,i=1;i<arguments.length;i++)args[i]=arguments[i];if(event.delegateTarget=this,!special.preDispatch||!1!==special.preDispatch.call(this,event)){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)event.rnamespace&&!event.rnamespace.test(handleObj.namespace)||(event.handleObj=handleObj,event.data=handleObj.data,void 0!==(ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args))&&!1===(event.result=ret)&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var i,handleObj,sel,matchedHandlers,matchedSelectors,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&!("click"===event.type&&event.button>=1))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&("click"!==event.type||!0!==cur.disabled)){for(matchedHandlers=[],matchedSelectors={},i=0;i<delegateCount;i++)handleObj=handlers[i],sel=handleObj.selector+" ",void 0===matchedSelectors[sel]&&(matchedSelectors[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length),matchedSelectors[sel]&&matchedHandlers.push(handleObj);matchedHandlers.length&&handlerQueue.push({elem:cur,handlers:matchedHandlers})}return cur=this,delegateCount<handlers.length&&handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)}),handlerQueue},addProp:function(name,hook){Object.defineProperty(jQuery.Event.prototype,name,{enumerable:!0,configurable:!0,get:jQuery.isFunction(hook)?function(){if(this.originalEvent)return hook(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[name]},set:function(value){Object.defineProperty(this,name,{enumerable:!0,configurable:!0,writable:!0,value:value})}})},fix:function(originalEvent){return originalEvent[jQuery.expando]?originalEvent:new jQuery.Event(originalEvent)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&nodeName(this,"input"))return this.click(),!1},_default:function(event){return nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){void 0!==event.result&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}}},jQuery.removeEvent=function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)},jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event))return new jQuery.Event(src,props);src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||void 0===src.defaultPrevented&&!1===src.returnValue?returnTrue:returnFalse,this.target=src.target&&3===src.target.nodeType?src.target.parentNode:src.target,this.currentTarget=src.currentTarget,this.relatedTarget=src.relatedTarget):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||jQuery.now(),this[jQuery.expando]=!0},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},jQuery.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(event){var button=event.button;return null==event.which&&rkeyEvent.test(event.type)?null!=event.charCode?event.charCode:event.keyCode:!event.which&&void 0!==button&&rmouseEvent.test(event.type)?1&button?1:2&button?3:4&button?2:0:event.which}},jQuery.event.addProp),jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===target||jQuery.contains(target,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),ret}}}),jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"==typeof types){for(type in types)this.off(type,selector,types[type]);return this}return!1!==selector&&"function"!=typeof selector||(fn=selector,selector=void 0),!1===fn&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)})}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>")},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(!0),inPage=jQuery.contains(elem.ownerDocument,elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),srcElements=getAll(elem),i=0,l=srcElements.length;i<l;i++)fixInput(srcElements[i],destElements[i]);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0,l=srcElements.length;i<l;i++)cloneCopyEvent(srcElements[i],destElements[i]);else cloneCopyEvent(elem,clone);return destElements=getAll(clone,"script"),destElements.length>0&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),clone},cleanData:function(elems){for(var data,elem,type,special=jQuery.event.special,i=0;void 0!==(elem=elems[i]);i++)if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=void 0}elem[dataUser.expando]&&(elem[dataUser.expando]=void 0)}}}),jQuery.fn.extend({detach:function(selector){return remove(this,selector,!0)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return void 0===value?jQuery.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=value)})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){manipulationTarget(this,elem).appendChild(elem)}})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++)1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.textContent="");return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null!=dataAndEvents&&dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(void 0===value&&1===elem.nodeType)return elem.innerHTML;if("string"==typeof value&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++)elem=this[i]||{},1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),parent&&parent.replaceChild(elem,this))},ignored)}}),jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){for(var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;i<=last;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),push.apply(ret,elems.get());return this.pushStack(ret)}});var rmargin=/^margin/,rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view&&view.opener||(view=window),view.getComputedStyle(elem)};!function(){function computeStyleTests(){if(div){div.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",div.innerHTML="",documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal="1%"!==divStyle.top,reliableMarginLeftVal="2px"===divStyle.marginLeft,boxSizingReliableVal="4px"===divStyle.width,div.style.marginRight="50%",pixelMarginRightVal="4px"===divStyle.marginRight,documentElement.removeChild(container),div=null}}var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");div.style&&(div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",container.appendChild(div),jQuery.extend(support,{pixelPosition:function(){return computeStyleTests(),pixelPositionVal},boxSizingReliable:function(){return computeStyleTests(),boxSizingReliableVal},pixelMarginRight:function(){return computeStyleTests(),pixelMarginRightVal},reliableMarginLeft:function(){return computeStyleTests(),reliableMarginLeftVal}}))}();var rdisplayswap=/^(none|table(?!-c[ea]).+)/,rcustomProp=/^--/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","Moz","ms"],emptyStyle=document.createElement("div").style;jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=jQuery.camelCase(name),isCustomProp=rcustomProp.test(name),style=elem.style;if(isCustomProp||(name=finalPropName(origName)),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],void 0===value)return hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,!1,extra))?ret:style[name];type=typeof value,"string"===type&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type="number"),null!=value&&value===value&&("number"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")),support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),hooks&&"set"in hooks&&void 0===(value=hooks.set(elem,value,extra))||(isCustomProp?style.setProperty(name,value):style[name]=value))}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);return rcustomProp.test(name)||(name=finalPropName(origName)),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],hooks&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),void 0===val&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),!0===extra||isFinite(num)?num||0:val):val}}),jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed)return!rdisplayswap.test(jQuery.css(elem,"display"))||elem.getClientRects().length&&elem.getBoundingClientRect().width?getWidthOrHeight(elem,name,extra):swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)})},set:function(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,"border-box"===jQuery.css(elem,"boxSizing",!1,styles),styles);return subtract&&(matches=rcssNum.exec(value))&&"px"!==(matches[3]||"px")&&(elem.style[name]=value,value=jQuery.css(elem,name)),setPositiveNumber(elem,value,subtract)}}}),jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed)return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}))+"px"}),jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},rmargin.test(prefix)||(jQuery.cssHooks[prefix+suffix].set=setPositiveNumber)}),jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(Array.isArray(name)){for(styles=getStyles(elem),len=name.length;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return void 0!==value?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem,this.prop=prop,this.easing=easing||jQuery.easing._default,this.options=options,this.start=this.now=this.cur(),this.end=end,this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,""),result&&"auto"!==result?result:0)},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:"swing"},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,inProgress,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){jQuery.isFunction(props)?(callback=props,props=["*"]):props=props.match(rnothtmlwhite);for(var prop,index=0,length=props.length;index<length;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};return jQuery.fx.off?opt.duration=0:"number"!=typeof opt.duration&&(opt.duration in jQuery.fx.speeds?opt.duration=jQuery.fx.speeds[opt.duration]:opt.duration=jQuery.fx.speeds._default),null!=opt.queue&&!0!==opt.queue||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){jQuery.isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHiddenWithinTree).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);(empty||dataPriv.get(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||!1===optall.queue?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop,stop(gotoEnd)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=void 0),clearQueue&&!1!==type&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return!1!==type&&(type=type||"fx"),this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;index<length;index++)queue[index]&&queue[index].finish&&queue[index].finish.call(this);delete data.finish})}}),jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),speed,easing,callback)}}),jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}}),jQuery.timers=[],jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;for(fxNow=jQuery.now();i<timers.length;i++)(timer=timers[i])()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=void 0},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),jQuery.fx.start()},jQuery.fx.interval=13,jQuery.fx.start=function(){inProgress||(inProgress=!0,schedule())},jQuery.fx.stop=function(){inProgress=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(time,type){return time=jQuery.fx?jQuery.fx.speeds[time]||time:time,type=type||"fx",this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})},function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox",support.checkOn=""!==input.value,support.optSelected=opt.selected,input=document.createElement("input"),input.value="t",input.type="radio",support.radioValue="t"===input.value}();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}}),jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return void 0===elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(hooks=jQuery.attrHooks[name.toLowerCase()]||(jQuery.expr.match.bool.test(name)?boolHook:void 0)),void 0!==value?null===value?void jQuery.removeAttr(elem,name):hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:(elem.setAttribute(name,value+""),value):hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:(ret=jQuery.find.attr(elem,name),null==ret?void 0:ret))},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&"radio"===value&&nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,i=0,attrNames=value&&value.match(rnothtmlwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)elem.removeAttribute(name)}}),boolHook={set:function(elem,value,name){return!1===value?jQuery.removeAttr(elem,name):elem.setAttribute(name,name),name}},jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle,lowercaseName=name.toLowerCase();return isXML||(handle=attrHandle[lowercaseName],attrHandle[lowercaseName]=ret,ret=null!=getter(elem,name,isXML)?lowercaseName:null,attrHandle[lowercaseName]=handle),ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}}),jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),void 0!==value?hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&parent.parentNode&&parent.parentNode.selectedIndex,null},set:function(elem){var parent=elem.parentNode;parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex)}}),jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this}),jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if("string"==typeof value&&value)for(classes=value.match(rnothtmlwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");finalValue=stripAndCollapse(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof value&&value)for(classes=value.match(rnothtmlwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)for(;cur.indexOf(" "+clazz+" ")>-1;)cur=cur.replace(" "+clazz+" "," ");finalValue=stripAndCollapse(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},toggleClass:function(value,stateVal){var type=typeof value;return"boolean"==typeof stateVal&&"string"===type?stateVal?this.addClass(value):this.removeClass(value):jQuery.isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}):this.each(function(){var className,i,self,classNames;if("string"===type)for(i=0,self=jQuery(this),classNames=value.match(rnothtmlwhite)||[];className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else void 0!==value&&"boolean"!==type||(className=getClass(this),className&&dataPriv.set(this,"__className__",className),this.setAttribute&&this.setAttribute("class",className||!1===value?"":dataPriv.get(this,"__className__")||""))})},hasClass:function(selector){var className,elem,i=0;for(className=" "+selector+" ";elem=this[i++];)if(1===elem.nodeType&&(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1)return!0;return!1}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];{if(arguments.length)return isFunction=jQuery.isFunction(value),this.each(function(i){var val;1===this.nodeType&&(val=isFunction?value.call(this,i,jQuery(this).val()):value,null==val?val="":"number"==typeof val?val+="":Array.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""})),(hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()])&&"set"in hooks&&void 0!==hooks.set(this,val,"value")||(this.value=val))});if(elem)return(hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()])&&"get"in hooks&&void 0!==(ret=hooks.get(elem,"value"))?ret:(ret=elem.value,"string"==typeof ret?ret.replace(rreturn,""):null==ret?"":ret)}}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return null!=val?val:stripAndCollapse(jQuery.text(elem))}},select:{get:function(elem){var value,option,i,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type,values=one?null:[],max=one?index+1:options.length;for(i=index<0?max:one?index:0;i<max;i++)if(option=options[i],(option.selected||i===index)&&!option.disabled&&(!option.parentNode.disabled||!nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)option=options[i],(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)&&(optionSet=!0);return optionSet||(elem.selectedIndex=-1),values}}}}),jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(Array.isArray(value))return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute("value")?"on":elem.value})});var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(".")>-1&&(namespaces=type.split("."),type=namespaces.shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event),event.isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join("."),event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=void 0,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||!1!==special.trigger.apply(elem,data))){if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)event.type=i>1?bubbleType:special.bindType||type,handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle"),handle&&handle.apply(cur,data),(handle=ontype&&cur[ontype])&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),!1===event.result&&event.preventDefault());return event.type=type,onlyHandlers||event.isDefaultPrevented()||special._default&&!1!==special._default.apply(eventPath.pop(),data)||!acceptData(elem)||ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)&&(tmp=elem[ontype],tmp&&(elem[ontype]=null),jQuery.event.triggered=type,elem[type](),jQuery.event.triggered=void 0,tmp&&(elem[ontype]=tmp)),event.result}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});jQuery.event.trigger(e,null,elem)}}),jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem)return jQuery.event.trigger(type,data,elem,!0)}}),jQuery.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}}),support.focusin="onfocusin"in window,support.focusin||jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);attaches||doc.addEventListener(orig,handler,!0),dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;attaches?dataPriv.access(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),dataPriv.remove(doc,fix))}}});var location=window.location,nonce=jQuery.now(),rquery=/\?/;jQuery.parseXML=function(data){var xml;if(!data||"string"!=typeof data)return null;try{xml=(new window.DOMParser).parseFromString(data,"text/xml")}catch(e){xml=void 0}return xml&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml};var rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,valueOrFunction){var value=jQuery.isFunction(valueOrFunction)?valueOrFunction():valueOrFunction;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(null==value?"":value)};if(Array.isArray(a)||a.jquery&&!jQuery.isPlainObject(a))jQuery.each(a,function(){add(this.name,this.value)});else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join("&")},jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return null==val?null:Array.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});var r20=/%20/g,rhash=/#.*$/,rantiCache=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href,jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":jQuery.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;completed||(completed=!0,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=void 0,responseHeadersString=headers||"",jqXHR.readyState=status>0?4:0,isSuccess=status>=200&&status<300||304===status,responses&&(response=ajaxHandleResponses(s,jqXHR,responses)),response=ajaxConvert(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&(modified=jqXHR.getResponseHeader("Last-Modified"),modified&&(jQuery.lastModified[cacheURL]=modified),(modified=jqXHR.getResponseHeader("etag"))&&(jQuery.etag[cacheURL]=modified)),204===status||"HEAD"===s.type?statusText="nocontent":304===status?statusText="notmodified":(statusText=response.state,success=response.data,error=response.error,isSuccess=!error)):(error=statusText,!status&&statusText||(statusText="error",status<0&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=void 0,fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--jQuery.active||jQuery.event.trigger("ajaxStop")))}"object"==typeof url&&(options=url,url=void 0),options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,completed,fireGlobals,i,uncached,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(completed){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return completed?responseHeadersString:null},setRequestHeader:function(name,value){return null==completed&&(name=requestHeadersNames[name.toLowerCase()]=requestHeadersNames[name.toLowerCase()]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return null==completed&&(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(completed)jqXHR.always(map[jqXHR.status]);else for(code in map)statusCode[code]=[statusCode[code],map[code]];return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR),s.url=((url||s.url||location.href)+"").replace(rprotocol,location.protocol+"//"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""],null==s.crossDomain){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url,urlAnchor.href=urlAnchor.href,s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!=urlAnchor.protocol+"//"+urlAnchor.host}catch(e){s.crossDomain=!0}}if(s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),completed)return jqXHR;fireGlobals=jQuery.event&&s.global,fireGlobals&&0==jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url.replace(rhash,""),s.hasContent?s.data&&s.processData&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&(s.data=s.data.replace(r20,"+")):(uncached=s.url.slice(cacheURL.length),s.data&&(cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),!1===s.cache&&(cacheURL=cacheURL.replace(rantiCache,"$1"),uncached=(rquery.test(cacheURL)?"&":"?")+"_="+nonce+++uncached),s.url=cacheURL+uncached),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&!1!==s.contentType||options.contentType)&&jqXHR.setRequestHeader("Content-Type",s.contentType),jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+("*"!==s.dataTypes[0]?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(!1===s.beforeSend.call(callbackContext,jqXHR,s)||completed))return jqXHR.abort();if(strAbort="abort",completeDeferred.add(s.complete),jqXHR.done(s.success),jqXHR.fail(s.error),transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),completed)return jqXHR;s.async&&s.timeout>0&&(timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout));try{completed=!1,transport.send(requestHeaders,done)}catch(e){if(completed)throw e;done(-1,e)}}else done(-1,"No Transport");return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,void 0,callback,"script")}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return jQuery.isFunction(data)&&(type=type||callback,callback=data,data=void 0),jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}}),jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},jQuery.fn.extend({wrapAll:function(html){var wrap;return this[0]&&(jQuery.isFunction(html)&&(html=html.call(this[0])),wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstElementChild;)elem=elem.firstElementChild;return elem}).append(this)),this},wrapInner:function(html){return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(selector){return this.parent(selector).not("body").each(function(){jQuery(this).replaceWith(this.childNodes)}),this}}),jQuery.expr.pseudos.hidden=function(elem){return!jQuery.expr.pseudos.visible(elem)},jQuery.expr.pseudos.visible=function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length)},jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&"withCredentials"in xhrSupported,support.ajax=xhrSupported=!!xhrSupported,jQuery.ajaxTransport(function(options){var callback,errorCallback;if(support.cors||xhrSupported&&!options.crossDomain)return{send:function(headers,complete){var i,xhr=options.xhr();if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),options.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest");for(i in headers)xhr.setRequestHeader(i,headers[i]);callback=function(type){return function(){callback&&(callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null,"abort"===type?xhr.abort():"error"===type?"number"!=typeof xhr.status?complete(0,"error"):complete(xhr.status,xhr.statusText):complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,"text"!==(xhr.responseType||"text")||"string"!=typeof xhr.responseText?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders()))}},xhr.onload=callback(),errorCallback=xhr.onerror=callback("error"),void 0!==xhr.onabort?xhr.onabort=errorCallback:xhr.onreadystatechange=function(){4===xhr.readyState&&window.setTimeout(function(){callback&&errorCallback()})},callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback)throw e}},abort:function(){callback&&callback()}}}),jQuery.ajaxPrefilter(function(s){s.crossDomain&&(s.contents.script=!1)}),jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){void 0===s.cache&&(s.cache=!1),s.crossDomain&&(s.type="GET")}),jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove(),callback=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){callback&&callback()}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=!1!==s.jsonp&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):!1!==s.jsonp&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&jQuery.isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"}),support.createHTMLDocument=function(){var body=document.implementation.createHTMLDocument("").body;return body.innerHTML="<form></form><form></form>",2===body.childNodes.length}(),jQuery.parseHTML=function(data,context,keepScripts){if("string"!=typeof data)return[];"boolean"==typeof context&&(keepScripts=context,context=!1);var base,parsed,scripts;return context||(support.createHTMLDocument?(context=document.implementation.createHTMLDocument(""),base=context.createElement("base"),base.href=document.location.href,context.head.appendChild(base)):context=document),parsed=rsingleTag.exec(data),scripts=!keepScripts&&[],parsed?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))},jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");return off>-1&&(selector=stripAndCollapse(url.slice(off)),url=url.slice(0,off)),jQuery.isFunction(params)?(callback=params,params=void 0):params&&"object"==typeof params&&(type="POST"),self.length>0&&jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments,self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=("absolute"===position||"fixed"===position)&&(curCSSTop+curCSSLeft).indexOf("auto")>-1,calculatePosition?(curPosition=curElem.position(),curTop=curPosition.top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),jQuery.isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var doc,docElem,rect,win,elem=this[0];if(elem)return elem.getClientRects().length?(rect=elem.getBoundingClientRect(),doc=elem.ownerDocument,docElem=doc.documentElement,win=doc.defaultView,{top:rect.top+win.pageYOffset-docElem.clientTop,left:rect.left+win.pageXOffset-docElem.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};return"fixed"===jQuery.css(elem,"position")?offset=elem.getBoundingClientRect():(offsetParent=this.offsetParent(),offset=this.offset(),nodeName(offsetParent[0],"html")||(parentOffset=offsetParent.offset()),parentOffset={top:parentOffset.top+jQuery.css(offsetParent[0],"borderTopWidth",!0),left:parentOffset.left+jQuery.css(offsetParent[0],"borderLeftWidth",!0)}),{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win;if(jQuery.isWindow(elem)?win=elem:9===elem.nodeType&&(win=elem.defaultView),void 0===val)return win?win[prop]:elem[method];win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):elem[method]=val},method,val,arguments.length)}}),jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed)return computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed})}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(!0===margin||!0===value?"margin":"border");return access(this,function(elem,type,value){var doc;return jQuery.isWindow(elem)?0===funcName.indexOf("outer")?elem["inner"+name]:elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable)}})}),jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)}}),jQuery.holdReady=function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},jQuery.isArray=Array.isArray,jQuery.parseJSON=JSON.parse,jQuery.nodeName=nodeName,__WEBPACK_AMD_DEFINE_ARRAY__=[],void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return jQuery}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__);var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery})},function(module,exports,__webpack_require__){module.exports=__webpack_require__(255)()},function(module,exports,__webpack_require__){"use strict";var invariant=function(condition,format,a,b,c,d,e,f){if(!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}};module.exports=invariant},function(module,exports,__webpack_require__){"use strict";(function($){function getBroadcasts(){return function(dispatch,getState){var config={method:"GET",timeout:15e3,url:"https://gist.githubusercontent.com/jaedb/b677dccf80daf3ccb2ef12e96e495677/raw"};$.ajax(config).then(function(response){dispatch({type:"BROADCASTS_LOADED",broadcasts:JSON.parse(response)})},function(xhr,status,error){dispatch(handleException("Could not fetch broadcasts from GitHub",{config:config,xhr:xhr,status:status,error:error}))})}}function startSearch(search_type,query){return{type:"SEARCH_STARTED",search_type:search_type,query:query,only_mopidy:arguments.length>2&&void 0!==arguments[2]&&arguments[2]}}function handleException(message){var data=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{type:"HANDLE_EXCEPTION",message:message,description:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,data:data}}function debugResponse(response){return{type:"DEBUG",response:response}}function startServices(){return{type:"CORE_START_SERVICES"}}function set(data){return{type:"CORE_SET",data:data}}function reorderPlaylistTracks(uri,indexes,insert_before){var snapshot_id=arguments.length>3&&void 0!==arguments[3]&&arguments[3],range=helpers.createRange(indexes);switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_REORDER_PLAYLIST_TRACKS",key:uri,range_start:range.start,range_length:range.length,insert_before:insert_before,snapshot_id:snapshot_id};case"m3u":return{type:"MOPIDY_REORDER_PLAYLIST_TRACKS",key:uri,range_start:range.start,range_length:range.length,insert_before:insert_before}}}function savePlaylist(uri,name){var description=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",is_public=arguments.length>3&&void 0!==arguments[3]&&arguments[3],is_collaborative=arguments.length>4&&void 0!==arguments[4]&&arguments[4];switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_SAVE_PLAYLIST",key:uri,name:name,description:""==description?null:description,is_public:is_public,is_collaborative:is_collaborative};case"m3u":return{type:"MOPIDY_SAVE_PLAYLIST",key:uri,name:name}}return!1}function createPlaylist(scheme,name){var description=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",is_public=arguments.length>3&&void 0!==arguments[3]&&arguments[3],is_collaborative=arguments.length>4&&void 0!==arguments[4]&&arguments[4];switch(scheme){case"spotify":return""==description&&(description=null),spotifyActions.createPlaylist(name,description,is_public,is_collaborative);default:return mopidyActions.createPlaylist(name,scheme)}return!1}function deletePlaylist(uri){switch(helpers.uriSource(uri)){case"spotify":return spotifyActions.following(uri,"DELETE");default:return mopidyActions.deletePlaylist(uri)}return!1}function removeTracksFromPlaylist(uri,tracks_indexes){switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_REMOVE_PLAYLIST_TRACKS",key:uri,tracks_indexes:tracks_indexes};case"m3u":return{type:"MOPIDY_REMOVE_PLAYLIST_TRACKS",key:uri,tracks_indexes:tracks_indexes}}}function addTracksToPlaylist(uri,tracks_uris){switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_ADD_PLAYLIST_TRACKS",key:uri,tracks_uris:tracks_uris};case"m3u":return{type:"MOPIDY_ADD_PLAYLIST_TRACKS",key:uri,tracks_uris:tracks_uris}}}function getLibraryPlaylists(){return{type:"GET_LIBRARY_PLAYLISTS"}}function getLibraryAlbums(){return{type:"GET_LIBRARY_ALBUMS"}}function getLibraryArtists(){return{type:"GET_LIBRARY_ARTISTS"}}function loadedMore(parent_type,parent_key,records_type,records_data){return{type:"LOADED_MORE",parent_type:parent_type,parent_key:parent_key,records_type:records_type,records_data:records_data}}function tracksLoaded(tracks){return{type:"TRACKS_LOADED",tracks:tracks}}function albumsLoaded(albums){return{type:"ALBUMS_LOADED",albums:albums}}function artistsLoaded(artists){return{type:"ARTISTS_LOADED",artists:artists}}function playlistsLoaded(playlists){return{type:"PLAYLISTS_LOADED",playlists:playlists}}function usersLoaded(users){return{type:"USERS_LOADED",users:users}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBroadcasts=getBroadcasts,exports.startSearch=startSearch,exports.handleException=handleException,exports.debugResponse=debugResponse,exports.startServices=startServices,exports.set=set,exports.reorderPlaylistTracks=reorderPlaylistTracks,exports.savePlaylist=savePlaylist,exports.createPlaylist=createPlaylist,exports.deletePlaylist=deletePlaylist,exports.removeTracksFromPlaylist=removeTracksFromPlaylist,exports.addTracksToPlaylist=addTracksToPlaylist,exports.getLibraryPlaylists=getLibraryPlaylists,exports.getLibraryAlbums=getLibraryAlbums,exports.getLibraryArtists=getLibraryArtists,exports.loadedMore=loadedMore,exports.tracksLoaded=tracksLoaded,exports.albumsLoaded=albumsLoaded,exports.artistsLoaded=artistsLoaded,exports.playlistsLoaded=playlistsLoaded,exports.usersLoaded=usersLoaded;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),spotifyActions=__webpack_require__(8),mopidyActions=__webpack_require__(9)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function setPort(port){return{type:"PUSHER_SET_PORT",port:port}}function setUsername(username){return{type:"PUSHER_SET_USERNAME",username:username.replace(/[\W_]+/g,"")}}function connect(){return{type:"PUSHER_CONNECT"}}function disconnect(){return{type:"PUSHER_DISCONNECT"}}function startUpgrade(){return{type:"START_UPGRADE"}}function getConnections(){return{type:"PUSHER_GET_CONNECTIONS"}}function instruct(){return{type:"PUSHER_INSTRUCT",data:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function deliverBroadcast(){return{type:"PUSHER_DELIVER_BROADCAST",data:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function sendAuthorization(recipient_connectionid,authorization,me){return{type:"PUSHER_DELIVER_MESSAGE",data:{connection_id:recipient_connectionid,message:{type:"spotify_authorization",authorization:authorization,me:me}}}}function startRadio(uris){return{type:"PUSHER_START_RADIO",uris:uris}}function updateRadio(uris){return{type:"PUSHER_UPDATE_RADIO",uris:uris}}function stopRadio(){return{type:"PUSHER_STOP_RADIO"}}function debug(){return{type:"PUSHER_DEBUG",message:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function getQueueMetadata(){return{type:"PUSHER_GET_QUEUE_METADATA"}}function addQueueMetadata(){return{type:"PUSHER_ADD_QUEUE_METADATA",tlids:arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],from_uri:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setPort=setPort,exports.setUsername=setUsername,exports.connect=connect,exports.disconnect=disconnect,exports.startUpgrade=startUpgrade,exports.getConnections=getConnections,exports.instruct=instruct,exports.deliverBroadcast=deliverBroadcast,exports.sendAuthorization=sendAuthorization,exports.startRadio=startRadio,exports.updateRadio=updateRadio,exports.stopRadio=stopRadio,exports.debug=debug,exports.getQueueMetadata=getQueueMetadata,exports.addQueueMetadata=addQueueMetadata},function(module,exports,__webpack_require__){"use strict";var canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement),ExecutionEnvironment={canUseDOM:canUseDOM,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:canUseDOM&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:canUseDOM&&!!window.screen,isInWorker:!canUseDOM};module.exports=ExecutionEnvironment},function(module,exports,__webpack_require__){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_URILink=(_interopRequireDefault(_reactFontawesome),__webpack_require__(32)),_URILink2=_interopRequireDefault(_URILink),ArtistSentence=function(_React$Component){function ArtistSentence(props){return _classCallCheck(this,ArtistSentence),_possibleConstructorReturn(this,(ArtistSentence.__proto__||Object.getPrototypeOf(ArtistSentence)).call(this,props))}return _inherits(ArtistSentence,_React$Component),_createClass(ArtistSentence,[{key:"render",value:function(){var _this2=this;return this.props.artists?_react2.default.createElement("span",{className:this.props.className?this.props.className+" artist-sentence":"artist-sentence"},this.props.artists.map(function(artist,index){if(!artist)return _react2.default.createElement("span",null,"-");var separator=null;if(index==_this2.props.artists.length-2?separator=" and ":index<_this2.props.artists.length-2&&(separator=", "),artist.name)if(!artist.uri||_this2.props.nolinks)var content=_react2.default.createElement("span",null,artist.name);else var content=_react2.default.createElement(_URILink2.default,{className:"artist",type:"artist",uri:artist.uri},artist.name);else var content=_react2.default.createElement("span",null,"-");return _react2.default.createElement("span",{key:"index_"+artist.uri},content,separator)})):_react2.default.createElement("span",null,"-")}}]),ArtistSentence}(_react2.default.Component);exports.default=ArtistSentence},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_Track=(_interopRequireDefault(_reactFontawesome),__webpack_require__(159)),_Track2=_interopRequireDefault(_Track),_ContextMenuTrigger=__webpack_require__(37),_helpers=(_interopRequireDefault(_ContextMenuTrigger),__webpack_require__(1)),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),TrackList=function(_React$Component){function TrackList(props){_classCallCheck(this,TrackList);var _this=_possibleConstructorReturn(this,(TrackList.__proto__||Object.getPrototypeOf(TrackList)).call(this,props));return _this.touch_dragging_tracks_keys=!1,_this.handleKeyDown=_this.handleKeyDown.bind(_this),_this.handleTouchMove=_this.handleTouchMove.bind(_this),_this.handleTouchEnd=_this.handleTouchEnd.bind(_this),_this}return _inherits(TrackList,_React$Component),_createClass(TrackList,[{key:"componentWillMount",value:function(){window.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("touchmove",this.handleTouchMove,!1),window.addEventListener("touchend",this.handleTouchEnd,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("touchmove",this.handleTouchMove,!1),window.removeEventListener("touchend",this.handleTouchEnd,!1)}},{key:"handleKeyDown",value:function(e){if(["INPUT","TEXTAREA"].indexOf(e.target.nodeName)>-1)return!1;var tracks_keys=this.digestTracksKeys();switch(e.keyCode){case 13:tracks_keys&&tracks_keys.length>0&&this.playTracks();break;case 46:tracks_keys&&tracks_keys.length>0&&this.removeTracks();break;case 65:if(e.ctrlKey||e.metaKey){e.preventDefault();for(var all_tracks=[],i=0;i<this.props.tracks.length;i++)all_tracks.push(this.buildTrackKey(this.props.tracks[i],i));return this.props.uiActions.setSelectedTracks(all_tracks),!1}}}},{key:"handleDrag",value:function(e,track_key){var selected_tracks=[];this.props.selected_tracks.includes(track_key)?selected_tracks=this.digestTracksKeys():(this.props.uiActions.setSelectedTracks([track_key]),selected_tracks=this.digestTracksKeys([track_key]));var selected_tracks_indexes=helpers.arrayOf("index",selected_tracks);this.props.uiActions.dragStart(e,this.props.context,this.props.uri,selected_tracks,selected_tracks_indexes)}},{key:"handleDrop",value:function(e,track_key){if(this.props.dragger&&this.props.dragger.active&&void 0!==this.props.reorderTracks){var indexes=this.props.dragger.victims_indexes,tracks=this.digestTracksKeys([track_key]);return this.props.reorderTracks(indexes,tracks[0].index)}this.touch_dragging_tracks_keys=!1}},{key:"handleTouchDrag",value:function(e,track_key){this.props.selected_tracks.includes(track_key)?this.touch_dragging_tracks_keys=this.props.selected_tracks:(this.touch_dragging_tracks_keys=[track_key],this.props.uiActions.setSelectedTracks([track_key]))}},{key:"handleTouchMove",value:function(e){if(this.touch_dragging_tracks_keys){var touch=e.touches[0],over=$(document.elementFromPoint(touch.clientX,touch.clientY));return over.is(".track")||(over=over.closest(".track")),$(document).find(".touch-drag-hover").removeClass("touch-drag-hover"),over.length>0&&over.addClass("touch-drag-hover"),e.returnValue=!1,e.cancelBubble=!0,e.preventDefault(),e.stopPropagation(),!1}}},{key:"handleTouchEnd",value:function(e){if(this.touch_dragging_tracks_keys){var touch=e.changedTouches[0],over=$(document.elementFromPoint(touch.clientX,touch.clientY));if(over.is(".track")||(over=over.closest(".track")),over.length>0){var siblings=over.parent().children(".track"),dropped_at=siblings.index(over)-1;void 0!==this.props.reorderTracks&&(this.props.reorderTracks(helpers.arrayOf("index",this.digestTracksKeys()),dropped_at),this.props.uiActions.setSelectedTracks([]))}$(document).find(".touch-drag-hover").removeClass("touch-drag-hover"),$("body").removeClass("touch-dragging")}this.touch_dragging_tracks_keys=!1}},{key:"handleTap",value:function(e,track_key){this.updateSelection(e,track_key,!0)}},{key:"handleDoubleTap",value:function(e,track_key){this.playTracks([track_key]),this.updateSelection(e,track_key)}},{key:"handleClick",value:function(e,track_key){this.updateSelection(e,track_key)}},{key:"handleDoubleClick",value:function(e,track_key){this.props.context_menu&&this.props.uiActions.hideContextMenu(),this.playTracks([track_key]),this.updateSelection(e,track_key)}},{key:"handleContextMenu",value:function(e){var track_key=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e.preventDefault(),e.stopPropagation(),e.cancelBubble=!0;var selected_tracks=this.props.selected_tracks;track_key&&!selected_tracks.includes(track_key)&&(selected_tracks=[track_key],this.props.uiActions.setSelectedTracks(selected_tracks));var selected_tracks_digested=this.digestTracksKeys(selected_tracks),selected_tracks_uris=helpers.arrayOf("uri",selected_tracks_digested),selected_tracks_indexes=helpers.arrayOf("index",selected_tracks_digested),data={e:e,context:this.props.context?this.props.context+"-track":"track",tracklist_uri:this.props.uri?this.props.uri:null,items:selected_tracks_digested,uris:selected_tracks_uris,indexes:selected_tracks_indexes};this.props.uiActions.showContextMenu(data)}},{key:"updateSelection",value:function(e,track_key){var touched=arguments.length>2&&void 0!==arguments[2]&&arguments[2],selected_tracks=this.props.selected_tracks;if(e.ctrlKey||e.metaKey||touched)if(selected_tracks.includes(track_key)){var index=selected_tracks.indexOf(track_key);selected_tracks.splice(index,1)}else selected_tracks.push(track_key);else if(e.shiftKey){var last_selected_track=this.digestTracksKeys(selected_tracks[selected_tracks.length-1]),last_selected_track_index=last_selected_track.index,newly_selected_track=this.digestTracksKeys(track_key),newly_selected_track_index=newly_selected_track.index;if(last_selected_track_index<newly_selected_track_index)var start=last_selected_track_index+1,end=newly_selected_track_index;else var start=newly_selected_track_index,end=last_selected_track_index-1;if(!1!==start&&start>=0&&!1!==end&&end>=0)for(var i=start;i<=end;i++)selected_tracks.push(this.buildTrackKey(this.props.tracks[i],i))}else selected_tracks=[track_key];this.props.uiActions.setSelectedTracks(selected_tracks)}},{key:"isRightClick",value:function(e){return"which"in e?3==e.which:"button"in e&&2==e.button}},{key:"playTracks",value:function(){var tracks_keys=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(null!==tracks_keys)var selected_tracks=this.digestTracksKeys(tracks_keys);else var selected_tracks=this.digestTracksKeys();helpers.arrayOf("index",selected_tracks);if(selected_tracks.length<=0)return this.props.uiActions.createNotification("No tracks selected","bad");if(void 0!==this.props.playTracks)return this.props.playTracks(selected_tracks);var selected_tracks_uris=helpers.arrayOf("uri",selected_tracks);return this.props.mopidyActions.playURIs(selected_tracks_uris,this.props.uri)}},{key:"removeTracks",value:function(){if(void 0!==this.props.removeTracks){var selected_tracks=this.digestTracksKeys(),selected_tracks_indexes=helpers.arrayOf("index",selected_tracks);return this.props.removeTracks(selected_tracks_indexes)}}},{key:"buildTrackKey",value:function(track,index){var key=index;return key+="@@"+(track.tlid?track.tlid:"none"),key+="@@"+track.uri,key+="@@"+(this.props.uri?this.props.uri:"none"),key+="@@"+(this.props.context?this.props.context:"none")}},{key:"digestTracksKeys",value:function(){var keys=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.selected_tracks,indexes_only=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!keys)return!1;var singleton=!1;keys instanceof Array||(singleton=!0,keys=[keys]);for(var array=[],i=0;i<keys.length;i++){var key=keys[i].split("@@");indexes_only?array.push(key[0]):array.push({index:parseInt(key[0]),tlid:parseInt(key[1]),uri:key[2],context:key[3],context_uri:key[4]})}return singleton&&array.length>0?array[0]:array}},{key:"renderHeader",value:function(){if(this.props.noheader)return null;switch(this.props.context){case"history":return _react2.default.createElement("div",{className:"list-item header track"},_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("span",{className:"col name"},"Name"),_react2.default.createElement("span",{className:"col source"},"Source"),_react2.default.createElement("span",{className:"col played_at"},"Started playing")));case"queue":return _react2.default.createElement("div",{className:"list-item header track"},_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("span",{className:"col name"},"Name"),_react2.default.createElement("span",{className:"col artists"},"Artists"),_react2.default.createElement("span",{className:"col album"},"Album"),_react2.default.createElement("span",{className:"col added"},"Added by"),_react2.default.createElement("span",{className:"col duration"},"Duration")));default:return _react2.default.createElement("div",{className:"list-item header track"},_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("span",{className:"col name"},"Name"),_react2.default.createElement("span",{className:"col artists"},"Artists"),_react2.default.createElement("span",{className:"col album"},"Album"),_react2.default.createElement("span",{className:"col duration"},"Duration")))}}},{key:"render",value:function(){var _this2=this;if(!this.props.tracks||"[object Array]"!==Object.prototype.toString.call(this.props.tracks))return null;var className="list track-list "+this.props.context;return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("div",{className:className},this.renderHeader(),this.props.tracks.map(function(track,index){var track_key=_this2.buildTrackKey(track,index);return track.key=track_key,_react2.default.createElement(_Track2.default,{show_source_icon:_this2.props.show_source_icon,key:track_key,mini_zones:_this2.props.slim_mode||helpers.isTouchDevice(),track:track,context:_this2.props.context,can_sort:"queue"==_this2.props.context||"editable-playlist"==_this2.props.context,selected:_this2.props.selected_tracks.includes(track_key),dragger:_this2.props.dragger,handleClick:function(e){return _this2.handleClick(e,track_key)},handleDoubleClick:function(e){return _this2.handleDoubleClick(e,track_key)},handleContextMenu:function(e){return _this2.handleContextMenu(e,track_key)},handleDrag:function(e){return _this2.handleDrag(e,track_key)},handleDrop:function(e){return _this2.handleDrop(e,track_key)},handleTap:function(e){return _this2.handleTap(e,track_key)},handleDoubleTap:function(e){return _this2.handleDoubleTap(e,track_key)},handleTouchDrag:function(e){return _this2.handleTouchDrag(e,track_key)}})}))}}]),TrackList}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{slim_mode:state.ui.slim_mode,selected_tracks:state.ui.selected_tracks,dragger:state.ui.dragger,current_track:state.core.current_track,context_menu:state.ui.context_menu}},mapDispatchToProps=function(dispatch){return{mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(TrackList)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),LazyLoadListener=(_interopRequireDefault(_reactFontawesome),function(_React$Component){function LazyLoadListener(props){_classCallCheck(this,LazyLoadListener);var _this=_possibleConstructorReturn(this,(LazyLoadListener.__proto__||Object.getPrototypeOf(LazyLoadListener)).call(this,props));return _this.state={loading:!1},_this.handleScroll=_this.handleScroll.bind(_this),_this}return _inherits(LazyLoadListener,_React$Component),_createClass(LazyLoadListener,[{key:"componentWillMount",value:function(){window.addEventListener("scroll",this.handleScroll,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("scroll",this.handleScroll,!1)}},{key:"handleScroll",value:function(e){window.innerHeight+window.scrollY>=document.body.offsetHeight-80?!this.state.loading&&this.props.loading&&(this.setState({loading:!0}),this.props.loadMore()):this.state.loading&&this.setState({loading:!1})}},{key:"render",value:function(){return _react2.default.createElement("div",{className:"lazy-loader body-loader"+(this.state.loading?" loading":"")},this.state.loading?_react2.default.createElement("div",{className:"loader"}):null)}}]),LazyLoadListener}(_react2.default.Component));exports.default=LazyLoadListener},function(module,exports,__webpack_require__){"use strict";var debugTool=null;module.exports={debugTool:debugTool}},function(module,exports,__webpack_require__){module.exports=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=2)}([function(module,exports,__webpack_require__){"use strict";function warn(s){console.warn("[react-ga]",s)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=warn},function(module,exports,__webpack_require__){"use strict";function trim(s){return s.replace(/^\s+|\s+$/g,"")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=trim},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _format(s){return(0,_format3.default)(s,_titleCase)}function _gaCommand(trackerNames){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var command=args[0];if("function"==typeof internalGa){if("string"!=typeof command)return void(0,_warn2.default)("ga command must be a string");internalGa.apply(void 0,args),Array.isArray(trackerNames)&&trackerNames.forEach(function(name){internalGa.apply(void 0,_toConsumableArray([name+"."+command].concat(args.slice(1))))})}}function _initialize(gaTrackingID,options){if(!gaTrackingID)return void(0,_warn2.default)("gaTrackingID is required in initialize()");options&&(options.debug&&!0===options.debug&&(_debug=!0),!1===options.titleCase&&(_titleCase=!1)),options&&options.gaOptions?internalGa("create",gaTrackingID,options.gaOptions):internalGa("create",gaTrackingID,"auto")}function initialize(configs,options){return"undefined"!=typeof window&&(internalGa=(0,_loadGA2.default)(),Array.isArray(configs)?configs.forEach(function(config){if("object"!==(void 0===config?"undefined":_typeof(config)))return void(0,_warn2.default)("All configs must be an object");_initialize(config.trackingId,config)}):_initialize(configs,options),!0)}function ga(){for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];return args.length>0&&(internalGa.apply(void 0,args),_debug&&((0,_log2.default)("called ga('arguments');"),(0,_log2.default)("with arguments: "+JSON.stringify(args)))),internalGa}function set(fieldsObject,trackerNames){return fieldsObject?"object"!==(void 0===fieldsObject?"undefined":_typeof(fieldsObject))?void(0,_warn2.default)("Expected `fieldsObject` arg to be an Object"):(0===Object.keys(fieldsObject).length&&(0,_warn2.default)("empty `fieldsObject` given to .set()"),_gaCommand(trackerNames,"set",fieldsObject),void(_debug&&((0,_log2.default)("called ga('set', fieldsObject);"),(0,_log2.default)("with fieldsObject: "+JSON.stringify(fieldsObject))))):void(0,_warn2.default)("`fieldsObject` is required in .set()")}function send(fieldObject,trackerNames){_gaCommand(trackerNames,"send",fieldObject),_debug&&((0,_log2.default)("called ga('send', fieldObject);"),(0,_log2.default)("with fieldObject: "+JSON.stringify(fieldObject)),(0,_log2.default)("with trackers: "+JSON.stringify(trackerNames)))}function pageview(rawPath,trackerNames){if(!rawPath)return void(0,_warn2.default)("path is required in .pageview()");var path=(0,_trim2.default)(rawPath);if(""===path)return void(0,_warn2.default)("path cannot be an empty string in .pageview()");"function"==typeof ga&&(_gaCommand(trackerNames,"send","pageview",path),_debug&&((0,_log2.default)("called ga('send', 'pageview', path);"),(0,_log2.default)("with path: "+path)))}function modalview(rawModalName,trackerNames){if(!rawModalName)return void(0,_warn2.default)("modalName is required in .modalview(modalName)");var modalName=(0,_removeLeadingSlash2.default)((0,_trim2.default)(rawModalName));if(""===modalName)return void(0,_warn2.default)("modalName cannot be an empty string or a single / in .modalview()");if("function"==typeof ga){var path="/modal/"+modalName;_gaCommand(trackerNames,"send","pageview",path),_debug&&((0,_log2.default)("called ga('send', 'pageview', path);"),(0,_log2.default)("with path: "+path))}}function timing(){var _ref=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},category=_ref.category,variable=_ref.variable,value=_ref.value,label=_ref.label,trackerNames=arguments[1];if("function"==typeof ga){if(!category||!variable||!value||"number"!=typeof value)return void(0,_warn2.default)("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");var fieldObject={hitType:"timing",timingCategory:_format(category),timingVar:_format(variable),timingValue:value};label&&(fieldObject.timingLabel=_format(label)),send(fieldObject,trackerNames)}}function event(){var _ref2=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},trackerNames=arguments[1],category=_ref2.category,action=_ref2.action,label=_ref2.label,value=_ref2.value,nonInteraction=_ref2.nonInteraction,transport=_ref2.transport,args=_objectWithoutProperties(_ref2,["category","action","label","value","nonInteraction","transport"]);if("function"==typeof ga){if(!category||!action)return void(0,_warn2.default)("args.category AND args.action are required in event()");var fieldObject={hitType:"event",eventCategory:_format(category),eventAction:_format(action)};label&&(fieldObject.eventLabel=_format(label)),void 0!==value&&("number"!=typeof value?(0,_warn2.default)("Expected `args.value` arg to be a Number."):fieldObject.eventValue=value),void 0!==nonInteraction&&("boolean"!=typeof nonInteraction?(0,_warn2.default)("`args.nonInteraction` must be a boolean."):fieldObject.nonInteraction=nonInteraction),void 0!==transport&&("string"!=typeof transport?(0,_warn2.default)("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(transport)&&(0,_warn2.default)("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),fieldObject.transport=transport)),Object.keys(args).filter(function(key){return"dimension"===key.substr(0,"dimension".length)}).forEach(function(key){fieldObject[key]=args[key]}),Object.keys(args).filter(function(key){return"metric"===key.substr(0,"metric".length)}).forEach(function(key){fieldObject[key]=args[key]}),send(fieldObject,trackerNames)}}function exception(_ref3,trackerNames){var description=_ref3.description,fatal=_ref3.fatal;if("function"==typeof ga){var fieldObject={hitType:"exception"};description&&(fieldObject.exDescription=_format(description)),void 0!==fatal&&("boolean"!=typeof fatal?(0,_warn2.default)("`args.fatal` must be a boolean."):fieldObject.exFatal=fatal),send(fieldObject,trackerNames)}}function outboundLink(args,hitCallback,trackerNames){if("function"!=typeof hitCallback)return void(0,_warn2.default)("hitCallback function is required");if("function"==typeof ga){if(!args||!args.label)return void(0,_warn2.default)("args.label is required in outboundLink()");var fieldObject={hitType:"event",eventCategory:"Outbound",eventAction:"Click",eventLabel:_format(args.label)},safetyCallbackCalled=!1,safetyCallback=function(){safetyCallbackCalled=!0,hitCallback()},t=setTimeout(safetyCallback,250),clearableCallbackForGA=function(){clearTimeout(t),safetyCallbackCalled||hitCallback()};fieldObject.hitCallback=clearableCallbackForGA,send(fieldObject,trackerNames)}else setTimeout(hitCallback,0)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.OutboundLink=exports.plugin=void 0;var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.initialize=initialize,exports.ga=ga,exports.set=set,exports.send=send,exports.pageview=pageview,exports.modalview=modalview,exports.timing=timing,exports.event=event,exports.exception=exception,exports.outboundLink=outboundLink;var _format2=__webpack_require__(3),_format3=_interopRequireDefault(_format2),_removeLeadingSlash=__webpack_require__(6),_removeLeadingSlash2=_interopRequireDefault(_removeLeadingSlash),_trim=__webpack_require__(1),_trim2=_interopRequireDefault(_trim),_loadGA=__webpack_require__(7),_loadGA2=_interopRequireDefault(_loadGA),_warn=__webpack_require__(0),_warn2=_interopRequireDefault(_warn),_log=__webpack_require__(8),_log2=_interopRequireDefault(_log),_OutboundLink=__webpack_require__(9),_OutboundLink2=_interopRequireDefault(_OutboundLink),_debug=!1,_titleCase=!0,internalGa=function(){(0,_warn2.default)("ReactGA.initialize must be called first")},plugin=exports.plugin={require:function(rawName,options){if("function"==typeof ga){if(!rawName)return void(0,_warn2.default)("`name` is required in .require()");var name=(0,_trim2.default)(rawName);if(""===name)return void(0,_warn2.default)("`name` cannot be an empty string in .require()");if(options){if("object"!==(void 0===options?"undefined":_typeof(options)))return void(0,_warn2.default)("Expected `options` arg to be an Object");0===Object.keys(options).length&&(0,_warn2.default)("Empty `options` given to .require()"),ga("require",name,options),_debug&&(0,_log2.default)("called ga('require', '"+name+"', "+JSON.stringify(options))}else ga("require",name),_debug&&(0,_log2.default)("called ga('require', '"+name+"');")}},execute:function(pluginName,action){var payload=void 0,actionType=void 0;if(1==(arguments.length<=2?0:arguments.length-2)?payload=arguments.length<=2?void 0:arguments[2]:(actionType=arguments.length<=2?void 0:arguments[2],payload=arguments.length<=3?void 0:arguments[3]),"function"==typeof ga)if("string"!=typeof pluginName)(0,_warn2.default)("Expected `pluginName` arg to be a String.");else if("string"!=typeof action)(0,_warn2.default)("Expected `action` arg to be a String.");else{var command=pluginName+":"+action;payload=payload||null,actionType&&payload?(ga(command,actionType,payload),_debug&&((0,_log2.default)("called ga('"+command+"');"),(0,_log2.default)('actionType: "'+actionType+'" with payload: '+JSON.stringify(payload)))):payload?(ga(command,payload),_debug&&((0,_log2.default)("called ga('"+command+"');"),(0,_log2.default)("with payload: "+JSON.stringify(payload)))):(ga(command),_debug&&(0,_log2.default)("called ga('"+command+"');"))}}};_OutboundLink2.default.origTrackLink=_OutboundLink2.default.trackLink,_OutboundLink2.default.trackLink=outboundLink;var OutboundLink=exports.OutboundLink=_OutboundLink2.default;exports.default={initialize:initialize,ga:ga,set:set,send:send,pageview:pageview,modalview:modalview,timing:timing,event:event,exception:exception,plugin:plugin,outboundLink:outboundLink,OutboundLink:OutboundLink}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function format(s,titleCase){return(0,_mightBeEmail2.default)(s)?((0,_warn2.default)("This arg looks like an email address, redacting."),redacted):titleCase?(0,_toTitleCase2.default)(s):s}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=format;var _mightBeEmail=__webpack_require__(4),_mightBeEmail2=_interopRequireDefault(_mightBeEmail),_toTitleCase=__webpack_require__(5),_toTitleCase2=_interopRequireDefault(_toTitleCase),_warn=__webpack_require__(0),_warn2=_interopRequireDefault(_warn),redacted="REDACTED (Potential Email Address)"},function(module,exports,__webpack_require__){"use strict";function mightBeEmail(s){return/[^@]+@[^@]+/.test(s)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=mightBeEmail},function(module,exports,__webpack_require__){"use strict";function toTitleCase(string){return(0,_trim2.default)(string).replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,function(match,index,title){return index>0&&index+match.length!==title.length&&match.search(smallWords)>-1&&":"!==title.charAt(index-2)&&("-"!==title.charAt(index+match.length)||"-"===title.charAt(index-1))&&title.charAt(index-1).search(/[^\s-]/)<0?match.toLowerCase():match.substr(1).search(/[A-Z]|\../)>-1?match:match.charAt(0).toUpperCase()+match.substr(1)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=toTitleCase;var _trim=__webpack_require__(1),_trim2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_trim),smallWords=/^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\.?|via)$/i},function(module,exports,__webpack_require__){"use strict";function removeLeadingSlash(string){return"/"===string.substring(0,1)?string.substring(1):string}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=removeLeadingSlash},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(){return function(i,s,o,g,r,a,m){i.GoogleAnalyticsObject=r,i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date,a=s.createElement(o),m=s.getElementsByTagName(o)[0],a.async=1,a.src="https://www.google-analytics.com/analytics.js",m.parentNode.insertBefore(a,m)}(window,document,"script",0,"ga"),window.ga}},function(module,exports,__webpack_require__){"use strict";function log(s){}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=log},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(10),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(11),_propTypes2=_interopRequireDefault(_propTypes),_objectAssign=__webpack_require__(12),_objectAssign2=_interopRequireDefault(_objectAssign),_warn=__webpack_require__(0),_warn2=_interopRequireDefault(_warn),NEWTAB="_blank",MIDDLECLICK=1,OutboundLink=function(_Component){function OutboundLink(){var _ref,_temp,_this,_ret;_classCallCheck(this,OutboundLink);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_ref=OutboundLink.__proto__||Object.getPrototypeOf(OutboundLink)).call.apply(_ref,[this].concat(args))),_this.handleClick=function(event){var _this$props=_this.props,target=_this$props.target,eventLabel=_this$props.eventLabel,to=_this$props.to,onClick=_this$props.onClick,eventMeta={label:eventLabel},sameTarget=target!==NEWTAB,normalClick=!(event.ctrlKey||event.shiftKey||event.metaKey||event.button===MIDDLECLICK);sameTarget&&normalClick?(event.preventDefault(),OutboundLink.trackLink(eventMeta,function(){window.location.href=to})):OutboundLink.trackLink(eventMeta,function(){}),onClick&&onClick(event)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(OutboundLink,_Component),_createClass(OutboundLink,[{key:"render",value:function(){var props=(0,_objectAssign2.default)({},this.props,{href:this.props.to,onClick:this.handleClick});return delete props.eventLabel,_react2.default.createElement("a",props)}}]),OutboundLink}(_react.Component);OutboundLink.propTypes={eventLabel:_propTypes2.default.string.isRequired,target:_propTypes2.default.string,to:_propTypes2.default.string,onClick:_propTypes2.default.func},OutboundLink.defaultProps={target:null,to:null,onClick:null},OutboundLink.trackLink=function(){(0,_warn2.default)("ga tracking not enabled")},exports.default=OutboundLink},function(module,exports){module.exports=__webpack_require__(0)},function(module,exports){module.exports=__webpack_require__(20)},function(module,exports){module.exports=__webpack_require__(13)}])},function(module,exports,__webpack_require__){"use strict";(function($){function set(data){return{type:"LASTFM_SET",data:data}}function authorizationGranted(data){return data.session.expiry=(new Date).getTime()+3600,{type:"LASTFM_AUTHORIZATION_GRANTED",data:data}}function revokeAuthorization(){return{type:"LASTFM_AUTHORIZATION_REVOKED"}}function getMe(){return function(dispatch,getState){var params="method=user.getInfo&user="+getState().lastfm.session.name;sendRequest(dispatch,getState,params).then(function(response){response.user&&(dispatch({type:"LASTFM_USER_LOADED",user:response.user}),dispatch({type:"LASTFM_CONNECTED"}))})}}function getTrack(uri){return function(dispatch,getState){if(void 0===getState().core.tracks[uri])return void dispatch(coreActions.handleException("Could not get track",{},"Could not find track in index"));var track=getState().core.tracks[uri];if(!track.artists)return void dispatch(coreActions.handleException("Could not get track",{},"Track has no artists"));var track_name=track.name,artist_name=encodeURIComponent(track.artists[0].name),params="method=track.getInfo&track="+track_name+"&artist="+artist_name;getState().lastfm.session&&(params+="&username="+getState().lastfm.session.name),sendRequest(dispatch,getState,params).then(function(response){if(response.track){var merged_track=Object.assign({},{uri:track.uri},response.track,track);dispatch({type:"TRACK_LOADED",track:merged_track})}})}}function getArtist(uri,artist){var mbid=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){if(mbid)var params="method=artist.getInfo&mbid="+mbid;else{artist=encodeURIComponent(artist);var params="method=artist.getInfo&artist="+artist}sendRequest(dispatch,getState,params).then(function(response){response.artist&&dispatch({type:"ARTIST_LOADED",artist:{uri:uri,images:response.artist.image,bio:response.artist.bio,listeners:parseInt(response.artist.stats.listeners),play_count:parseInt(response.artist.stats.playcount),on_tour:response.artist.stats.ontour}})})}}function getAlbum(artist,album){var mbid=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){if(dispatch({type:"LASTFM_ALBUM_LOADED",data:!1}),mbid)var params="method=album.getInfo&mbid="+mbid;else{artist=encodeURIComponent(artist),album=encodeURIComponent(album);var params="method=album.getInfo&album="+album+"&artist="+artist}sendRequest(dispatch,getState,params).then(function(response){response.album&&dispatch({type:"LASTFM_ALBUM_LOADED",data:response.album})})}}function loveTrack(uri){return function(dispatch,getState){if(void 0===getState().core.tracks[uri])return void dispatch(coreActions.handleException("Could not love track",track,"Could not find track in index"));var track=getState().core.tracks[uri];if(!track.artists)return void dispatch(coreActions.handleException("Could not love track",track,"Track has no artists"));var artist=encodeURIComponent(track.artists[0].name),params="method=track.love&track="+track.name+"&artist="+artist;sendSignedRequest(dispatch,getState,params).then(function(response){track=Object.assign({},track,{userloved:!0}),dispatch({type:"TRACKS_LOADED",tracks:[track]})})}}function unloveTrack(uri){return function(dispatch,getState){if(void 0===getState().core.tracks[uri])return void dispatch(coreActions.handleException("Could not unlove track",track,"Could not find track in index"));var track=getState().core.tracks[uri];if(!track.artists)return void dispatch(coreActions.handleException("Could not unlove track",track,"Track has no artists"));var artist=encodeURIComponent(track.artists[0].name),params="method=track.unlove&track="+track.name+"&artist="+artist;sendSignedRequest(dispatch,getState,params).then(function(response){track=Object.assign({},track,{userloved:!1}),dispatch({type:"TRACKS_LOADED",tracks:[track]})})}}function scrobble(track){return function(dispatch,getState){var track_name=track.name,artist_name="Unknown";track.artists&&(artist_name=track.artists[0].name);var artist_name=encodeURIComponent(artist_name),params="method=track.scrobble";params+="&track="+track_name+"&artist="+artist_name,params+="&timestamp="+Math.floor(Date.now()/1e3),sendSignedRequest(dispatch,getState,params).then(function(response){},function(error){dispatch(coreActions.handleException("Could not scrobble track",error,error.description?error.description:null))})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=set,exports.authorizationGranted=authorizationGranted,exports.revokeAuthorization=revokeAuthorization,exports.getMe=getMe,exports.getTrack=getTrack,exports.getArtist=getArtist,exports.getAlbum=getAlbum,exports.loveTrack=loveTrack,exports.unloveTrack=unloveTrack,exports.scrobble=scrobble;var coreActions=__webpack_require__(22),uiActions=__webpack_require__(4),helpers=__webpack_require__(1),sendRequest=function(dispatch,getState,params){var signed=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return new Promise(function(resolve,reject){var loader_key=helpers.generateGuid(),method=params.substring(params.indexOf("method=")+7,params.length);method=method.substring(0,method.indexOf("&")),dispatch(uiActions.startLoading(loader_key,"lastfm_"+method));var config={method:"GET",cache:!0,timeout:3e4,url:"//ws.audioscrobbler.com/2.0/?format=json&"+params};signed?config.method="POST":config.url+="&api_key=4320a3ef51c9b3d69de552ac083c55e3",$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),response.error?reject({config:config,error:response}):resolve(response)},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key));var description=null;xhr.responseJSON.message&&(description=xhr.responseJSON.message),reject({config:config,error:error,description:description,status:status,xhr:xhr})})})},sendSignedRequest=function(dispatch,getState,params){return new Promise(function(resolve,reject){getState().lastfm.session||reject({params:params,error:"No active LastFM session"});var loader_key=helpers.generateGuid(),method=params.substring(params.indexOf("method=")+7,params.length);method=method.substring(0,method.indexOf("&")),dispatch(uiActions.startLoading(loader_key,"lastfm_"+method)),params+="&sk="+getState().lastfm.session.key;var config={method:"GET",cache:!1,timeout:3e4,url:getState().lastfm.authorization_url+"?action=sign_request&"+params};$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),sendRequest(dispatch,getState,response.params,!0).then(function(response){resolve(response)},function(error){reject(error)})},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),reject(error)})})}}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRouter=__webpack_require__(6),URILink=function(_React$Component){function URILink(props){return _classCallCheck(this,URILink),_possibleConstructorReturn(this,(URILink.__proto__||Object.getPrototypeOf(URILink)).call(this,props))}return _inherits(URILink,_React$Component),_createClass(URILink,[{key:"handleContextMenu",value:function(e){this.props.onContextMenu&&this.props.onContextMenu(e)}},{key:"render",value:function(){var _this2=this,to=null,uri=this.props.uri;switch(this.props.unencoded||(uri=encodeURIComponent(uri)),this.props.type){case"playlist":to=global.baseURL+"playlist/"+uri;break;case"artist":to=global.baseURL+"artist/"+uri;break;case"album":to=global.baseURL+"album/"+uri;break;case"track":to=global.baseURL+"track/"+uri;break;case"user":to=global.baseURL+"user/"+uri;break;case"recommendations":to=global.baseURL+"discover/recommendations/"+uri;break;case"search":to=global.baseURL+"search/"+uri;break;default:to=null}return _react2.default.createElement(_reactRouter.Link,{className:this.props.className?this.props.className:null,to:to,onContextMenu:function(e){return _this2.handleContextMenu(e)}},this.props.children)}}]),URILink}(_react2.default.Component);exports.default=URILink}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function ensureInjected(){ReactUpdates.ReactReconcileTransaction&&batchingStrategy||_prodInvariant("123")}function ReactUpdatesFlushTransaction(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=CallbackQueue.getPooled(),this.reconcileTransaction=ReactUpdates.ReactReconcileTransaction.getPooled(!0)}function batchedUpdates(callback,a,b,c,d,e){return ensureInjected(),batchingStrategy.batchedUpdates(callback,a,b,c,d,e)}function mountOrderComparator(c1,c2){return c1._mountOrder-c2._mountOrder}function runBatchedUpdates(transaction){var len=transaction.dirtyComponentsLength;len!==dirtyComponents.length&&_prodInvariant("124",len,dirtyComponents.length),dirtyComponents.sort(mountOrderComparator),updateBatchNumber++;for(var i=0;i<len;i++){var component=dirtyComponents[i],callbacks=component._pendingCallbacks;component._pendingCallbacks=null;var markerName;if(ReactFeatureFlags.logTopLevelRenders){var namedComponent=component;component._currentElement.type.isReactTopLevelWrapper&&(namedComponent=component._renderedComponent),markerName="React update: "+namedComponent.getName(),console.time(markerName)}if(ReactReconciler.performUpdateIfNecessary(component,transaction.reconcileTransaction,updateBatchNumber),markerName&&console.timeEnd(markerName),callbacks)for(var j=0;j<callbacks.length;j++)transaction.callbackQueue.enqueue(callbacks[j],component.getPublicInstance())}}function enqueueUpdate(component){if(ensureInjected(),!batchingStrategy.isBatchingUpdates)return void batchingStrategy.batchedUpdates(enqueueUpdate,component);dirtyComponents.push(component),null==component._updateBatchNumber&&(component._updateBatchNumber=updateBatchNumber+1)}function asap(callback,context){invariant(batchingStrategy.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),asapCallbackQueue.enqueue(callback,context),asapEnqueued=!0}var _prodInvariant=__webpack_require__(11),_assign=__webpack_require__(13),CallbackQueue=__webpack_require__(116),PooledClass=__webpack_require__(42),ReactFeatureFlags=__webpack_require__(117),ReactReconciler=__webpack_require__(47),Transaction=__webpack_require__(65),invariant=__webpack_require__(7),dirtyComponents=[],updateBatchNumber=0,asapCallbackQueue=CallbackQueue.getPooled(),asapEnqueued=!1,batchingStrategy=null,NESTED_UPDATES={initialize:function(){this.dirtyComponentsLength=dirtyComponents.length},close:function(){this.dirtyComponentsLength!==dirtyComponents.length?(dirtyComponents.splice(0,this.dirtyComponentsLength),flushBatchedUpdates()):dirtyComponents.length=0}},UPDATE_QUEUEING={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},TRANSACTION_WRAPPERS=[NESTED_UPDATES,UPDATE_QUEUEING];_assign(ReactUpdatesFlushTransaction.prototype,Transaction,{getTransactionWrappers:function(){return TRANSACTION_WRAPPERS},destructor:function(){this.dirtyComponentsLength=null,CallbackQueue.release(this.callbackQueue),this.callbackQueue=null,ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(method,scope,a){return Transaction.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,method,scope,a)}}),PooledClass.addPoolingTo(ReactUpdatesFlushTransaction);var flushBatchedUpdates=function(){for(;dirtyComponents.length||asapEnqueued;){if(dirtyComponents.length){var transaction=ReactUpdatesFlushTransaction.getPooled();transaction.perform(runBatchedUpdates,null,transaction),ReactUpdatesFlushTransaction.release(transaction)}if(asapEnqueued){asapEnqueued=!1;var queue=asapCallbackQueue;asapCallbackQueue=CallbackQueue.getPooled(),queue.notifyAll(),CallbackQueue.release(queue)}}},ReactUpdatesInjection={injectReconcileTransaction:function(ReconcileTransaction){ReconcileTransaction||_prodInvariant("126"),ReactUpdates.ReactReconcileTransaction=ReconcileTransaction},injectBatchingStrategy:function(_batchingStrategy){_batchingStrategy||_prodInvariant("127"),"function"!=typeof _batchingStrategy.batchedUpdates&&_prodInvariant("128"),"boolean"!=typeof _batchingStrategy.isBatchingUpdates&&_prodInvariant("129"),batchingStrategy=_batchingStrategy}},ReactUpdates={ReactReconcileTransaction:null,batchedUpdates:batchedUpdates,enqueueUpdate:enqueueUpdate,flushBatchedUpdates:flushBatchedUpdates,injection:ReactUpdatesInjection,asap:asap};module.exports=ReactUpdates},function(module,exports,__webpack_require__){"use strict";var ReactCurrentOwner={current:null};module.exports=ReactCurrentOwner},function(module,exports,__webpack_require__){"use strict";function SyntheticEvent(dispatchConfig,targetInst,nativeEvent,nativeEventTarget){this.dispatchConfig=dispatchConfig,this._targetInst=targetInst,this.nativeEvent=nativeEvent;var Interface=this.constructor.Interface;for(var propName in Interface)if(Interface.hasOwnProperty(propName)){var normalize=Interface[propName];normalize?this[propName]=normalize(nativeEvent):"target"===propName?this.target=nativeEventTarget:this[propName]=nativeEvent[propName]}var defaultPrevented=null!=nativeEvent.defaultPrevented?nativeEvent.defaultPrevented:!1===nativeEvent.returnValue;return this.isDefaultPrevented=defaultPrevented?emptyFunction.thatReturnsTrue:emptyFunction.thatReturnsFalse,this.isPropagationStopped=emptyFunction.thatReturnsFalse,this}var _assign=__webpack_require__(13),PooledClass=__webpack_require__(42),emptyFunction=__webpack_require__(25),shouldBeReleasedProperties=(__webpack_require__(10),["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),EventInterface={type:null,target:null,currentTarget:emptyFunction.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(event){return event.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};_assign(SyntheticEvent.prototype,{preventDefault:function(){this.defaultPrevented=!0;var event=this.nativeEvent;event&&(event.preventDefault?event.preventDefault():"unknown"!=typeof event.returnValue&&(event.returnValue=!1),this.isDefaultPrevented=emptyFunction.thatReturnsTrue)},stopPropagation:function(){var event=this.nativeEvent;event&&(event.stopPropagation?event.stopPropagation():"unknown"!=typeof event.cancelBubble&&(event.cancelBubble=!0),this.isPropagationStopped=emptyFunction.thatReturnsTrue)},persist:function(){this.isPersistent=emptyFunction.thatReturnsTrue},isPersistent:emptyFunction.thatReturnsFalse,destructor:function(){var Interface=this.constructor.Interface;for(var propName in Interface)this[propName]=null;for(var i=0;i<shouldBeReleasedProperties.length;i++)this[shouldBeReleasedProperties[i]]=null}}),SyntheticEvent.Interface=EventInterface,SyntheticEvent.augmentClass=function(Class,Interface){var Super=this,E=function(){};E.prototype=Super.prototype;var prototype=new E;_assign(prototype,Class.prototype),Class.prototype=prototype,Class.prototype.constructor=Class,Class.Interface=_assign({},Super.Interface,Interface),Class.augmentClass=Super.augmentClass,PooledClass.addPoolingTo(Class,PooledClass.fourArgumentPooler)},PooledClass.addPoolingTo(SyntheticEvent,PooledClass.fourArgumentPooler),module.exports=SyntheticEvent},function(module,exports,__webpack_require__){"use strict";var React=__webpack_require__(0),factory=__webpack_require__(111);if(void 0===React)throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var ReactNoopUpdateQueue=(new React.Component).updater;module.exports=factory(React.Component,React.isValidElement,ReactNoopUpdateQueue)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),ContextMenuTrigger=(_interopRequireDefault(_reactFontawesome),function(_React$Component){function ContextMenuTrigger(props){return _classCallCheck(this,ContextMenuTrigger),_possibleConstructorReturn(this,(ContextMenuTrigger.__proto__||Object.getPrototypeOf(ContextMenuTrigger)).call(this,props))}return _inherits(ContextMenuTrigger,_React$Component),_createClass(ContextMenuTrigger,[{key:"handleClick",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onTrigger(e)}},{key:"render",value:function(){var _this2=this,className="context-menu-trigger mouse-contextable touch-contextable";return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("span",{className:className,onClick:function(e){return _this2.handleClick(e)}},_react2.default.createElement("span",{className:"dot"}),_react2.default.createElement("span",{className:"dot"}),_react2.default.createElement("span",{className:"dot"}))}}]),ContextMenuTrigger}(_react2.default.Component));exports.default=ContextMenuTrigger},function(module,exports,__webpack_require__){"use strict";var warning=function(){};module.exports=warning},function(module,__webpack_exports__,__webpack_require__){"use strict";function isValidChild(object){return null==object||__WEBPACK_IMPORTED_MODULE_0_react___default.a.isValidElement(object)}function isReactChildren(object){return isValidChild(object)||Array.isArray(object)&&object.every(isValidChild)}function createRoute(defaultProps,props){return _extends({},defaultProps,props)}function createRouteFromReactElement(element){var type=element.type,route=createRoute(type.defaultProps,element.props);if(route.children){var childRoutes=createRoutesFromReactChildren(route.children,route);childRoutes.length&&(route.childRoutes=childRoutes),delete route.children}return route}function createRoutesFromReactChildren(children,parentRoute){var routes=[];return __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children,function(element){if(__WEBPACK_IMPORTED_MODULE_0_react___default.a.isValidElement(element))if(element.type.createRouteFromReactElement){var route=element.type.createRouteFromReactElement(element,parentRoute);route&&routes.push(route)}else routes.push(createRouteFromReactElement(element))}),routes}function createRoutes(routes){return isReactChildren(routes)?routes=createRoutesFromReactChildren(routes):routes&&!Array.isArray(routes)&&(routes=[routes]),routes}__webpack_exports__.c=isReactChildren,__webpack_exports__.a=createRouteFromReactElement,__webpack_exports__.b=createRoutes;var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.createPath=exports.parsePath=exports.getQueryStringValueFromPath=exports.stripQueryStringValueFromPath=exports.addQueryStringValueToPath=void 0;var _warning=__webpack_require__(38),extractPath=(function(obj){obj&&obj.__esModule}(_warning),exports.addQueryStringValueToPath=function(path,key,value){var _parsePath=parsePath(path),pathname=_parsePath.pathname,search=_parsePath.search,hash=_parsePath.hash;return createPath({pathname:pathname,search:search+(-1===search.indexOf("?")?"?":"&")+key+"="+value,hash:hash})},exports.stripQueryStringValueFromPath=function(path,key){var _parsePath2=parsePath(path),pathname=_parsePath2.pathname,search=_parsePath2.search,hash=_parsePath2.hash;return createPath({pathname:pathname,search:search.replace(new RegExp("([?&])"+key+"=[a-zA-Z0-9]+(&?)"),function(match,prefix,suffix){return"?"===prefix?prefix:suffix}),hash:hash})},exports.getQueryStringValueFromPath=function(path,key){var _parsePath3=parsePath(path),search=_parsePath3.search,match=search.match(new RegExp("[?&]"+key+"=([a-zA-Z0-9]+)"));return match&&match[1]},function(string){var match=string.match(/^(https?:)?\/\/[^\/]*/);return null==match?string:string.substring(match[0].length)}),parsePath=exports.parsePath=function(path){var pathname=extractPath(path),search="",hash="",hashIndex=pathname.indexOf("#");-1!==hashIndex&&(hash=pathname.substring(hashIndex),pathname=pathname.substring(0,hashIndex));var searchIndex=pathname.indexOf("?");return-1!==searchIndex&&(search=pathname.substring(searchIndex),pathname=pathname.substring(0,searchIndex)),""===pathname&&(pathname="/"),{pathname:pathname,search:search,hash:hash}},createPath=exports.createPath=function(location){if(null==location||"string"==typeof location)return location;var basename=location.basename,pathname=location.pathname,search=location.search,hash=location.hash,path=(basename||"")+pathname;return search&&"?"!==search&&(path+=search),hash&&(path+=hash),path}},function(module,exports,__webpack_require__){"use strict";(function($){function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),Parallax=function(_React$Component){function Parallax(props){_classCallCheck(this,Parallax);var _this=_possibleConstructorReturn(this,(Parallax.__proto__||Object.getPrototypeOf(Parallax)).call(this,props));return _this._loading=!1,_this._loaded=!1,_this.state={scrollTop:0,windowWidth:0,windowHeight:0,canvas:{width:0,height:0},image:{},loading:!1,url:!1},_this.handleResize=_this.handleResize.bind(_this),_this.handleScroll=_this.handleScroll.bind(_this),_this}return _inherits(Parallax,_React$Component),_createClass(Parallax,[{key:"componentDidMount",value:function(){var _this2=this;this._mounted=!0,window.addEventListener("resize",this.handleResize),window.addEventListener("scroll",this.handleScroll),this.props.image?(this._loading=!0,this.setState({url:this.props.image,image:!1,loading:!0}),this.loadImage(this.props.image).then(function(response){_this2._mounted&&(_this2._loading=!1,_this2._loaded=!0,_this2.setState({url:_this2.props.image,image:response,loading:!1}),_this2.updateCanvas(response))})):(this._loaded=!0,this.state.image=!1,this.updateCanvas())}},{key:"componentWillUnmount",value:function(){this._mounted=!1,window.removeEventListener("resize",this.handleResize),window.removeEventListener("scroll",this.handleScroll)}},{key:"componentWillReceiveProps",value:function(nextProps){var _this3=this;this.state.url&&nextProps.image==this.state.url||this._loading||!nextProps.image||(this._loading=!0,this.setState({url:nextProps.image,image:!1,loading:!0}),this.loadImage(nextProps.image).then(function(response){_this3._mounted&&(_this3._loading=!1,_this3._loaded=!0,_this3.setState({url:nextProps.image,image:response,loading:!1}),_this3.updateCanvas(response))}))}},{key:"handleResize",value:function(e){this._loaded&&this.updateCanvas(this.state.image)}},{key:"handleScroll",value:function(e){this._loaded&&this.setState({scrollTop:window.scrollY},this.updateCanvas(this.state.image))}},{key:"loadImage",value:function(url){return new Promise(function(resolve,reject){var imageObject=new Image;imageObject.src=url,imageObject.onload=function(){var image={width:imageObject.naturalWidth,height:imageObject.naturalHeight,original_width:imageObject.naturalWidth,original_height:imageObject.naturalHeight,object:imageObject};resolve(image)}})}},{key:"updateCanvas",value:function(){var image=arguments.length>0&&void 0!==arguments[0]&&arguments[0],canvasWidth=$(".parallax").outerWidth(),canvasHeight=$(".parallax").outerHeight();this.state.canvas.width==canvasWidth&&this.state.canvas.height==canvasHeight||this.setState({canvas:{width:canvasWidth,height:canvasHeight}}),this.renderCanvas(image)}},{key:"renderCanvas",value:function(){var image=arguments.length>0&&void 0!==arguments[0]&&arguments[0],self=this,canvasDOM=document.getElementById("parallax-canvas"),context=canvasDOM.getContext("2d");if(context.beginPath(),context.rect(0,0,this.state.canvas.width,this.state.canvas.height),context.fillStyle="#121212",context.fill(),image){if(image.width<this.state.canvas.width||image.width>this.state.canvas.width){var scale=this.state.canvas.width/image.width;image.width=image.width*scale,image.height=image.height*scale}if(image.height<this.state.canvas.height){var scale=this.state.canvas.height/image.height;image.width=image.width*scale,image.height=image.height*scale}var percent=Math.round(self.state.scrollTop/this.state.canvas.height*100);Math.round(this.state.canvas.height/2*(percent/100));image.x=this.state.canvas.width/2-image.width/2,image.y=this.state.canvas.height/2-image.height/2+percent/100*100,context.drawImage(image.object,image.x,image.y,image.width,image.height),self.setState({image:image})}context.rect(0,0,this.state.canvas.width,this.state.canvas.height);var gradient=context.createLinearGradient(0,0,0,this.state.canvas.height);gradient.addColorStop(0,"rgba(24,24,24,0)"),gradient.addColorStop(.9,"rgba(24,24,24,1)"),context.fillStyle=gradient,context.fill()}},{key:"render",value:function(){return _react2.default.createElement("div",{className:this.props.blur?"parallax blur":"parallax"},_react2.default.createElement("canvas",{id:"parallax-canvas",className:this.state.loading?null:"loaded",width:this.state.canvas.width,height:this.state.canvas.height}))}}]),Parallax}(_react2.default.Component);exports.default=Parallax}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";var _prodInvariant=__webpack_require__(11),oneArgumentPooler=(__webpack_require__(7),function(copyFieldsFrom){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,copyFieldsFrom),instance}return new Klass(copyFieldsFrom)}),twoArgumentPooler=function(a1,a2){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,a1,a2),instance}return new Klass(a1,a2)},threeArgumentPooler=function(a1,a2,a3){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,a1,a2,a3),instance}return new Klass(a1,a2,a3)},fourArgumentPooler=function(a1,a2,a3,a4){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,a1,a2,a3,a4),instance}return new Klass(a1,a2,a3,a4)},standardReleaser=function(instance){var Klass=this;instance instanceof Klass||_prodInvariant("25"),instance.destructor(),Klass.instancePool.length<Klass.poolSize&&Klass.instancePool.push(instance)},DEFAULT_POOLER=oneArgumentPooler,addPoolingTo=function(CopyConstructor,pooler){var NewKlass=CopyConstructor;return NewKlass.instancePool=[],NewKlass.getPooled=pooler||DEFAULT_POOLER,NewKlass.poolSize||(NewKlass.poolSize=10),NewKlass.release=standardReleaser,NewKlass},PooledClass={addPoolingTo:addPoolingTo,oneArgumentPooler:oneArgumentPooler,twoArgumentPooler:twoArgumentPooler,threeArgumentPooler:threeArgumentPooler,fourArgumentPooler:fourArgumentPooler};module.exports=PooledClass},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),Dater=function(_React$Component){function Dater(props){return _classCallCheck(this,Dater),_possibleConstructorReturn(this,(Dater.__proto__||Object.getPrototypeOf(Dater)).call(this,props))}return _inherits(Dater,_React$Component),_createClass(Dater,[{key:"durationTime",value:function(){var milliseconds=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!milliseconds)return null;var total_hours,total_minutes,total_seconds,minutes,seconds,string="";return total_seconds=Math.floor(milliseconds/1e3),total_minutes=Math.floor(milliseconds/6e4),total_hours=Math.floor(milliseconds/36e5),seconds=total_seconds-60*total_minutes,seconds<=9&&(seconds="0"+seconds),0==seconds&&(seconds="0"),minutes=total_minutes-60*total_hours,minutes<=9&&total_hours&&(minutes="0"+minutes),0==minutes&&(minutes="0"),total_hours&&(string+=total_hours+":"),minutes&&(string+=minutes+":"),seconds&&(string+=seconds),string}},{key:"durationSentence",value:function(){var milliseconds=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!milliseconds)return null;var total_hours,total_minutes,total_seconds;return total_seconds=Math.floor(milliseconds/1e3),total_minutes=Math.floor(milliseconds/6e4),total_hours=Math.floor(milliseconds/36e5),total_hours>1?total_hours+"+ hrs":total_minutes>1?total_minutes+" mins":total_seconds?total_seconds+" sec":void 0}},{key:"calculate",value:function(){switch(this.props.type){case"total-time":for(var duration=0,tracks=this.props.data,i=0;i<tracks.length;i++)tracks[i].duration&&(duration+=parseInt(tracks[i].duration));return this.durationSentence(duration);case"length":return this.durationTime(this.props.data);case"date":var date=new Date(this.props.data);return date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear();case"ago":var date=new Date(this.props.data),diff=new Date-date,seconds=Math.floor(diff/1e3),minutes=Math.floor(diff/6e4),hours=Math.floor(diff/36e5),days=Math.floor(diff/864e5);return seconds<60?seconds+" seconds":minutes<60?minutes+" minutes":hours<24?hours+" hours":days+" days";default:return null}}},{key:"render",value:function(){return this.props.data?_react2.default.createElement("span",{className:"dater"},this.calculate()):null}}]),Dater}(_react2.default.Component);exports.default=Dater},function(module,exports,__webpack_require__){"use strict";var _assign=__webpack_require__(13),ReactBaseClasses=__webpack_require__(105),ReactChildren=__webpack_require__(166),ReactDOMFactories=__webpack_require__(171),ReactElement=__webpack_require__(45),ReactPropTypes=__webpack_require__(172),ReactVersion=__webpack_require__(175),createReactClass=__webpack_require__(176),onlyChild=__webpack_require__(177),createElement=ReactElement.createElement,createFactory=ReactElement.createFactory,cloneElement=ReactElement.cloneElement,__spread=_assign,createMixin=function(mixin){return mixin},React={Children:{map:ReactChildren.map,forEach:ReactChildren.forEach,count:ReactChildren.count,toArray:ReactChildren.toArray,only:onlyChild},Component:ReactBaseClasses.Component,PureComponent:ReactBaseClasses.PureComponent,createElement:createElement,cloneElement:cloneElement,isValidElement:ReactElement.isValidElement,PropTypes:ReactPropTypes,createClass:createReactClass,createFactory:createFactory,createMixin:createMixin,DOM:ReactDOMFactories,version:ReactVersion,__spread:__spread};module.exports=React},function(module,exports,__webpack_require__){"use strict";function hasValidRef(config){return void 0!==config.ref}function hasValidKey(config){return void 0!==config.key}var _assign=__webpack_require__(13),ReactCurrentOwner=__webpack_require__(34),hasOwnProperty=(__webpack_require__(10),__webpack_require__(107),Object.prototype.hasOwnProperty),REACT_ELEMENT_TYPE=__webpack_require__(108),RESERVED_PROPS={key:!0,ref:!0,__self:!0,__source:!0},ReactElement=function(type,key,ref,self,source,owner,props){var element={$$typeof:REACT_ELEMENT_TYPE,type:type,key:key,ref:ref,props:props,_owner:owner};return element};ReactElement.createElement=function(type,config,children){var propName,props={},key=null,ref=null;if(null!=config){hasValidRef(config)&&(ref=config.ref),hasValidKey(config)&&(key=""+config.key),void 0===config.__self?null:config.__self,void 0===config.__source?null:config.__source;for(propName in config)hasOwnProperty.call(config,propName)&&!RESERVED_PROPS.hasOwnProperty(propName)&&(props[propName]=config[propName])}var childrenLength=arguments.length-2;if(1===childrenLength)props.children=children;else if(childrenLength>1){for(var childArray=Array(childrenLength),i=0;i<childrenLength;i++)childArray[i]=arguments[i+2];props.children=childArray}if(type&&type.defaultProps){var defaultProps=type.defaultProps;for(propName in defaultProps)void 0===props[propName]&&(props[propName]=defaultProps[propName])}return ReactElement(type,key,ref,0,0,ReactCurrentOwner.current,props)},ReactElement.createFactory=function(type){var factory=ReactElement.createElement.bind(null,type);return factory.type=type,factory},ReactElement.cloneAndReplaceKey=function(oldElement,newKey){return ReactElement(oldElement.type,newKey,oldElement.ref,oldElement._self,oldElement._source,oldElement._owner,oldElement.props)},ReactElement.cloneElement=function(element,config,children){var propName,props=_assign({},element.props),key=element.key,ref=element.ref,owner=(element._self,element._source,element._owner);if(null!=config){hasValidRef(config)&&(ref=config.ref,owner=ReactCurrentOwner.current),hasValidKey(config)&&(key=""+config.key);var defaultProps;element.type&&element.type.defaultProps&&(defaultProps=element.type.defaultProps);for(propName in config)hasOwnProperty.call(config,propName)&&!RESERVED_PROPS.hasOwnProperty(propName)&&(void 0===config[propName]&&void 0!==defaultProps?props[propName]=defaultProps[propName]:props[propName]=config[propName])}var childrenLength=arguments.length-2;if(1===childrenLength)props.children=children;else if(childrenLength>1){for(var childArray=Array(childrenLength),i=0;i<childrenLength;i++)childArray[i]=arguments[i+2];props.children=childArray}return ReactElement(element.type,key,ref,0,0,owner,props)},ReactElement.isValidElement=function(object){return"object"==typeof object&&null!==object&&object.$$typeof===REACT_ELEMENT_TYPE},module.exports=ReactElement},function(module,exports,__webpack_require__){"use strict";function checkMask(value,bitmask){return(value&bitmask)===bitmask}var _prodInvariant=__webpack_require__(11),DOMPropertyInjection=(__webpack_require__(7),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(domPropertyConfig){var Injection=DOMPropertyInjection,Properties=domPropertyConfig.Properties||{},DOMAttributeNamespaces=domPropertyConfig.DOMAttributeNamespaces||{},DOMAttributeNames=domPropertyConfig.DOMAttributeNames||{},DOMPropertyNames=domPropertyConfig.DOMPropertyNames||{},DOMMutationMethods=domPropertyConfig.DOMMutationMethods||{};domPropertyConfig.isCustomAttribute&&DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);for(var propName in Properties){DOMProperty.properties.hasOwnProperty(propName)&&_prodInvariant("48",propName);var lowerCased=propName.toLowerCase(),propConfig=Properties[propName],propertyInfo={attributeName:lowerCased,attributeNamespace:null,propertyName:propName,mutationMethod:null,mustUseProperty:checkMask(propConfig,Injection.MUST_USE_PROPERTY),hasBooleanValue:checkMask(propConfig,Injection.HAS_BOOLEAN_VALUE),hasNumericValue:checkMask(propConfig,Injection.HAS_NUMERIC_VALUE),hasPositiveNumericValue:checkMask(propConfig,Injection.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:checkMask(propConfig,Injection.HAS_OVERLOADED_BOOLEAN_VALUE)};if(propertyInfo.hasBooleanValue+propertyInfo.hasNumericValue+propertyInfo.hasOverloadedBooleanValue<=1||_prodInvariant("50",propName),DOMAttributeNames.hasOwnProperty(propName)){var attributeName=DOMAttributeNames[propName];propertyInfo.attributeName=attributeName}DOMAttributeNamespaces.hasOwnProperty(propName)&&(propertyInfo.attributeNamespace=DOMAttributeNamespaces[propName]),DOMPropertyNames.hasOwnProperty(propName)&&(propertyInfo.propertyName=DOMPropertyNames[propName]),DOMMutationMethods.hasOwnProperty(propName)&&(propertyInfo.mutationMethod=DOMMutationMethods[propName]),DOMProperty.properties[propName]=propertyInfo}}}),ATTRIBUTE_NAME_START_CHAR=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",DOMProperty={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:ATTRIBUTE_NAME_START_CHAR,ATTRIBUTE_NAME_CHAR:ATTRIBUTE_NAME_START_CHAR+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(attributeName){for(var i=0;i<DOMProperty._isCustomAttributeFunctions.length;i++){if((0,DOMProperty._isCustomAttributeFunctions[i])(attributeName))return!0}return!1},injection:DOMPropertyInjection};module.exports=DOMProperty},function(module,exports,__webpack_require__){"use strict";function attachRefs(){ReactRef.attachRefs(this,this._currentElement)}var ReactRef=__webpack_require__(186),ReactReconciler=(__webpack_require__(29),__webpack_require__(10),{mountComponent:function(internalInstance,transaction,hostParent,hostContainerInfo,context,parentDebugID){var markup=internalInstance.mountComponent(transaction,hostParent,hostContainerInfo,context,parentDebugID);return internalInstance._currentElement&&null!=internalInstance._currentElement.ref&&transaction.getReactMountReady().enqueue(attachRefs,internalInstance),markup},getHostNode:function(internalInstance){return internalInstance.getHostNode()},unmountComponent:function(internalInstance,safely){ReactRef.detachRefs(internalInstance,internalInstance._currentElement),internalInstance.unmountComponent(safely)},receiveComponent:function(internalInstance,nextElement,transaction,context){var prevElement=internalInstance._currentElement;if(nextElement!==prevElement||context!==internalInstance._context){var refsChanged=ReactRef.shouldUpdateRefs(prevElement,nextElement);refsChanged&&ReactRef.detachRefs(internalInstance,prevElement),internalInstance.receiveComponent(nextElement,transaction,context),refsChanged&&internalInstance._currentElement&&null!=internalInstance._currentElement.ref&&transaction.getReactMountReady().enqueue(attachRefs,internalInstance)}},performUpdateIfNecessary:function(internalInstance,transaction,updateBatchNumber){internalInstance._updateBatchNumber===updateBatchNumber&&internalInstance.performUpdateIfNecessary(transaction)}});module.exports=ReactReconciler},function(module,exports,__webpack_require__){"use strict";function insertTreeChildren(tree){if(enableLazy){var node=tree.node,children=tree.children;if(children.length)for(var i=0;i<children.length;i++)insertTreeBefore(node,children[i],null);else null!=tree.html?setInnerHTML(node,tree.html):null!=tree.text&&setTextContent(node,tree.text)}}function replaceChildWithTree(oldNode,newTree){oldNode.parentNode.replaceChild(newTree.node,oldNode),insertTreeChildren(newTree)}function queueChild(parentTree,childTree){enableLazy?parentTree.children.push(childTree):parentTree.node.appendChild(childTree.node)}function queueHTML(tree,html){enableLazy?tree.html=html:setInnerHTML(tree.node,html)}function queueText(tree,text){enableLazy?tree.text=text:setTextContent(tree.node,text)}function toString(){return this.node.nodeName}function DOMLazyTree(node){return{node:node,children:[],html:null,text:null,toString:toString}}var DOMNamespaces=__webpack_require__(82),setInnerHTML=__webpack_require__(67),createMicrosoftUnsafeLocalFunction=__webpack_require__(83),setTextContent=__webpack_require__(121),enableLazy="undefined"!=typeof document&&"number"==typeof document.documentMode||"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent&&/\bEdge\/\d/.test(navigator.userAgent),insertTreeBefore=createMicrosoftUnsafeLocalFunction(function(parentNode,tree,referenceNode){11===tree.node.nodeType||1===tree.node.nodeType&&"object"===tree.node.nodeName.toLowerCase()&&(null==tree.node.namespaceURI||tree.node.namespaceURI===DOMNamespaces.html)?(insertTreeChildren(tree),parentNode.insertBefore(tree.node,referenceNode)):(parentNode.insertBefore(tree.node,referenceNode),insertTreeChildren(tree))});DOMLazyTree.insertTreeBefore=insertTreeBefore,DOMLazyTree.replaceChildWithTree=replaceChildWithTree,DOMLazyTree.queueChild=queueChild,DOMLazyTree.queueHTML=queueHTML,DOMLazyTree.queueText=queueText,module.exports=DOMLazyTree},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_warning__=__webpack_require__(38);__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__)},function(module,__webpack_exports__,__webpack_require__){"use strict";function escapeRegExp(string){return string.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _compilePattern(pattern){for(var regexpSource="",paramNames=[],tokens=[],match=void 0,lastIndex=0,matcher=/:([a-zA-Z_$][a-zA-Z0-9_$]*)|\*\*|\*|\(|\)|\\\(|\\\)/g;match=matcher.exec(pattern);)match.index!==lastIndex&&(tokens.push(pattern.slice(lastIndex,match.index)),regexpSource+=escapeRegExp(pattern.slice(lastIndex,match.index))),match[1]?(regexpSource+="([^/]+)",paramNames.push(match[1])):"**"===match[0]?(regexpSource+="(.*)",paramNames.push("splat")):"*"===match[0]?(regexpSource+="(.*?)",paramNames.push("splat")):"("===match[0]?regexpSource+="(?:":")"===match[0]?regexpSource+=")?":"\\("===match[0]?regexpSource+="\\(":"\\)"===match[0]&&(regexpSource+="\\)"),tokens.push(match[0]),lastIndex=matcher.lastIndex;return lastIndex!==pattern.length&&(tokens.push(pattern.slice(lastIndex,pattern.length)),regexpSource+=escapeRegExp(pattern.slice(lastIndex,pattern.length))),{pattern:pattern,regexpSource:regexpSource,paramNames:paramNames,tokens:tokens}}function compilePattern(pattern){return CompiledPatternsCache[pattern]||(CompiledPatternsCache[pattern]=_compilePattern(pattern)),CompiledPatternsCache[pattern]}function matchPattern(pattern,pathname){"/"!==pattern.charAt(0)&&(pattern="/"+pattern);var _compilePattern2=compilePattern(pattern),regexpSource=_compilePattern2.regexpSource,paramNames=_compilePattern2.paramNames,tokens=_compilePattern2.tokens;"/"!==pattern.charAt(pattern.length-1)&&(regexpSource+="/?"),"*"===tokens[tokens.length-1]&&(regexpSource+="$");var match=pathname.match(new RegExp("^"+regexpSource,"i"));if(null==match)return null;var matchedPath=match[0],remainingPathname=pathname.substr(matchedPath.length);if(remainingPathname){if("/"!==matchedPath.charAt(matchedPath.length-1))return null;remainingPathname="/"+remainingPathname}return{remainingPathname:remainingPathname,paramNames:paramNames,paramValues:match.slice(1).map(function(v){return v&&decodeURIComponent(v)})}}function getParamNames(pattern){return compilePattern(pattern).paramNames}function formatPattern(pattern,params){params=params||{};for(var _compilePattern3=compilePattern(pattern),tokens=_compilePattern3.tokens,parenCount=0,pathname="",splatIndex=0,parenHistory=[],token=void 0,paramName=void 0,paramValue=void 0,i=0,len=tokens.length;i<len;++i)if("*"===(token=tokens[i])||"**"===token)paramValue=Array.isArray(params.splat)?params.splat[splatIndex++]:params.splat,null!=paramValue||parenCount>0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),null!=paramValue&&(pathname+=encodeURI(paramValue));else if("("===token)parenHistory[parenCount]="",parenCount+=1;else if(")"===token){var parenText=parenHistory.pop();parenCount-=1,parenCount?parenHistory[parenCount-1]+=parenText:pathname+=parenText}else if("\\("===token)pathname+="(";else if("\\)"===token)pathname+=")";else if(":"===token.charAt(0))if(paramName=token.substring(1),paramValue=params[paramName],null!=paramValue||parenCount>0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),null==paramValue){if(parenCount){parenHistory[parenCount-1]="";for(var curTokenIdx=tokens.indexOf(token),tokensSubset=tokens.slice(curTokenIdx,tokens.length),nextParenIdx=-1,_i=0;_i<tokensSubset.length;_i++)if(")"==tokensSubset[_i]){nextParenIdx=_i;break}nextParenIdx>0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),i=curTokenIdx+nextParenIdx-1}}else parenCount?parenHistory[parenCount-1]+=encodeURIComponent(paramValue):pathname+=encodeURIComponent(paramValue);else parenCount?parenHistory[parenCount-1]+=token:pathname+=token;return parenCount<=0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),pathname.replace(/\/+/g,"/")}__webpack_exports__.c=matchPattern,__webpack_exports__.b=getParamNames,__webpack_exports__.a=formatPattern;var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(21),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),CompiledPatternsCache=Object.create(null)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0,exports.locationsAreEqual=exports.statesAreEqual=exports.createLocation=exports.createQuery=void 0;var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_invariant=__webpack_require__(21),_invariant2=_interopRequireDefault(_invariant),_warning=__webpack_require__(38),_PathUtils=(_interopRequireDefault(_warning),__webpack_require__(40)),_Actions=__webpack_require__(71),isDate=(exports.createQuery=function(props){return _extends(Object.create(null),props)},exports.createLocation=function(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",action=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Actions.POP,key=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,object="string"==typeof input?(0,_PathUtils.parsePath)(input):input;return{pathname:object.pathname||"/",search:object.search||"",hash:object.hash||"",state:object.state,action:action,key:key}},function(object){return"[object Date]"===Object.prototype.toString.call(object)}),statesAreEqual=exports.statesAreEqual=function statesAreEqual(a,b){if(a===b)return!0;var typeofA=void 0===a?"undefined":_typeof(a);if(typeofA!==(void 0===b?"undefined":_typeof(b)))return!1;if("function"===typeofA&&(0,_invariant2.default)(!1),"object"===typeofA){if(isDate(a)&&isDate(b)&&(0,_invariant2.default)(!1),!Array.isArray(a)){var keysofA=Object.keys(a),keysofB=Object.keys(b);return keysofA.length===keysofB.length&&keysofA.every(function(key){return statesAreEqual(a[key],b[key])})}return Array.isArray(b)&&a.length===b.length&&a.every(function(item,index){return statesAreEqual(item,b[index])})}return!1};exports.locationsAreEqual=function(a,b){return a.key===b.key&&a.pathname===b.pathname&&a.search===b.search&&a.hash===b.hash&&statesAreEqual(a.state,b.state)}},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),ArtistGrid=function(_React$Component){function ArtistGrid(props){return _classCallCheck(this,ArtistGrid),_possibleConstructorReturn(this,(ArtistGrid.__proto__||Object.getPrototypeOf(ArtistGrid)).call(this,props))}return _inherits(ArtistGrid,_React$Component),_createClass(ArtistGrid,[{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"artist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"render",value:function(){var _this2=this;if(this.props.artists){var className="grid artist-grid";return this.props.className&&(className+=" "+this.props.className),this.props.single_row&&(className+=" single-row"),_react2.default.createElement("div",{className:className},this.props.artists.map(function(artist,index){return _react2.default.createElement(_URILink2.default,{className:"grid-item",type:"artist",uri:artist.uri,key:index,onContextMenu:function(e){return _this2.handleContextMenu(e,artist)}},_react2.default.createElement(_Thumbnail2.default,{size:"medium",images:artist.images}),_react2.default.createElement("div",{className:"name"},artist.name),_react2.default.createElement("div",{className:"secondary"},_this2.props.show_source_icon?_react2.default.createElement(_reactFontawesome2.default,{name:helpers.sourceIcon(artist.uri),className:"source"}):null,artist.followers?artist.followers.total.toLocaleString()+" followers":null,artist.albums_uris&&!artist.followers?artist.albums_uris.length+" albums":null))}))}return null}}]),ArtistGrid}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ArtistGrid)},function(module,exports,__webpack_require__){"use strict";function reactProdInvariant(code){for(var argCount=arguments.length-1,message="Minified React error #"+code+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+code,argIdx=0;argIdx<argCount;argIdx++)message+="&args[]="+encodeURIComponent(arguments[argIdx+1]);message+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var error=new Error(message);throw error.name="Invariant Violation",error.framesToPop=1,error}module.exports=reactProdInvariant},function(module,exports,__webpack_require__){"use strict";function listenerAtPhase(inst,event,propagationPhase){var registrationName=event.dispatchConfig.phasedRegistrationNames[propagationPhase];return getListener(inst,registrationName)}function accumulateDirectionalDispatches(inst,phase,event){var listener=listenerAtPhase(inst,event,phase);listener&&(event._dispatchListeners=accumulateInto(event._dispatchListeners,listener),event._dispatchInstances=accumulateInto(event._dispatchInstances,inst))}function accumulateTwoPhaseDispatchesSingle(event){event&&event.dispatchConfig.phasedRegistrationNames&&EventPluginUtils.traverseTwoPhase(event._targetInst,accumulateDirectionalDispatches,event)}function accumulateTwoPhaseDispatchesSingleSkipTarget(event){if(event&&event.dispatchConfig.phasedRegistrationNames){var targetInst=event._targetInst,parentInst=targetInst?EventPluginUtils.getParentInstance(targetInst):null;EventPluginUtils.traverseTwoPhase(parentInst,accumulateDirectionalDispatches,event)}}function accumulateDispatches(inst,ignoredDirection,event){if(event&&event.dispatchConfig.registrationName){var registrationName=event.dispatchConfig.registrationName,listener=getListener(inst,registrationName);listener&&(event._dispatchListeners=accumulateInto(event._dispatchListeners,listener),event._dispatchInstances=accumulateInto(event._dispatchInstances,inst))}}function accumulateDirectDispatchesSingle(event){event&&event.dispatchConfig.registrationName&&accumulateDispatches(event._targetInst,null,event)}function accumulateTwoPhaseDispatches(events){forEachAccumulated(events,accumulateTwoPhaseDispatchesSingle)}function accumulateTwoPhaseDispatchesSkipTarget(events){forEachAccumulated(events,accumulateTwoPhaseDispatchesSingleSkipTarget)}function accumulateEnterLeaveDispatches(leave,enter,from,to){EventPluginUtils.traverseEnterLeave(from,to,accumulateDispatches,leave,enter)}function accumulateDirectDispatches(events){forEachAccumulated(events,accumulateDirectDispatchesSingle)}var EventPluginHub=__webpack_require__(55),EventPluginUtils=__webpack_require__(76),accumulateInto=__webpack_require__(113),forEachAccumulated=__webpack_require__(114),getListener=(__webpack_require__(10),EventPluginHub.getListener),EventPropagators={accumulateTwoPhaseDispatches:accumulateTwoPhaseDispatches,accumulateTwoPhaseDispatchesSkipTarget:accumulateTwoPhaseDispatchesSkipTarget,accumulateDirectDispatches:accumulateDirectDispatches,accumulateEnterLeaveDispatches:accumulateEnterLeaveDispatches};module.exports=EventPropagators},function(module,exports,__webpack_require__){"use strict";function isInteractive(tag){return"button"===tag||"input"===tag||"select"===tag||"textarea"===tag}function shouldPreventMouseEvent(name,type,props){switch(name){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!props.disabled||!isInteractive(type));default:return!1}}var _prodInvariant=__webpack_require__(11),EventPluginRegistry=__webpack_require__(75),EventPluginUtils=__webpack_require__(76),ReactErrorUtils=__webpack_require__(77),accumulateInto=__webpack_require__(113),forEachAccumulated=__webpack_require__(114),listenerBank=(__webpack_require__(7),{}),eventQueue=null,executeDispatchesAndRelease=function(event,simulated){event&&(EventPluginUtils.executeDispatchesInOrder(event,simulated),event.isPersistent()||event.constructor.release(event))},executeDispatchesAndReleaseSimulated=function(e){return executeDispatchesAndRelease(e,!0)},executeDispatchesAndReleaseTopLevel=function(e){return executeDispatchesAndRelease(e,!1)},getDictionaryKey=function(inst){return"."+inst._rootNodeID},EventPluginHub={injection:{injectEventPluginOrder:EventPluginRegistry.injectEventPluginOrder,injectEventPluginsByName:EventPluginRegistry.injectEventPluginsByName},putListener:function(inst,registrationName,listener){"function"!=typeof listener&&_prodInvariant("94",registrationName,typeof listener);var key=getDictionaryKey(inst);(listenerBank[registrationName]||(listenerBank[registrationName]={}))[key]=listener;var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];PluginModule&&PluginModule.didPutListener&&PluginModule.didPutListener(inst,registrationName,listener)},getListener:function(inst,registrationName){var bankForRegistrationName=listenerBank[registrationName];if(shouldPreventMouseEvent(registrationName,inst._currentElement.type,inst._currentElement.props))return null;var key=getDictionaryKey(inst);return bankForRegistrationName&&bankForRegistrationName[key]},deleteListener:function(inst,registrationName){var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];PluginModule&&PluginModule.willDeleteListener&&PluginModule.willDeleteListener(inst,registrationName);var bankForRegistrationName=listenerBank[registrationName];if(bankForRegistrationName){delete bankForRegistrationName[getDictionaryKey(inst)]}},deleteAllListeners:function(inst){var key=getDictionaryKey(inst);for(var registrationName in listenerBank)if(listenerBank.hasOwnProperty(registrationName)&&listenerBank[registrationName][key]){var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];PluginModule&&PluginModule.willDeleteListener&&PluginModule.willDeleteListener(inst,registrationName),delete listenerBank[registrationName][key]}},extractEvents:function(topLevelType,targetInst,nativeEvent,nativeEventTarget){for(var events,plugins=EventPluginRegistry.plugins,i=0;i<plugins.length;i++){var possiblePlugin=plugins[i];if(possiblePlugin){var extractedEvents=possiblePlugin.extractEvents(topLevelType,targetInst,nativeEvent,nativeEventTarget);extractedEvents&&(events=accumulateInto(events,extractedEvents))}}return events},enqueueEvents:function(events){events&&(eventQueue=accumulateInto(eventQueue,events))},processEventQueue:function(simulated){var processingEventQueue=eventQueue;eventQueue=null,simulated?forEachAccumulated(processingEventQueue,executeDispatchesAndReleaseSimulated):forEachAccumulated(processingEventQueue,executeDispatchesAndReleaseTopLevel),eventQueue&&_prodInvariant("95"),ReactErrorUtils.rethrowCaughtError()},__purge:function(){listenerBank={}},__getListenerBank:function(){return listenerBank}};module.exports=EventPluginHub},function(module,exports,__webpack_require__){"use strict";function SyntheticUIEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticEvent=__webpack_require__(35),getEventTarget=__webpack_require__(78),UIEventInterface={view:function(event){if(event.view)return event.view;var target=getEventTarget(event);if(target.window===target)return target;var doc=target.ownerDocument;return doc?doc.defaultView||doc.parentWindow:window},detail:function(event){return event.detail||0}};SyntheticEvent.augmentClass(SyntheticUIEvent,UIEventInterface),module.exports=SyntheticUIEvent},function(module,exports,__webpack_require__){"use strict";var ReactInstanceMap={remove:function(key){key._reactInternalInstance=void 0},get:function(key){return key._reactInternalInstance},has:function(key){return void 0!==key._reactInternalInstance},set:function(key,value){key._reactInternalInstance=value}};module.exports=ReactInstanceMap},function(module,__webpack_exports__,__webpack_require__){"use strict";function falsy(props,propName,componentName){if(props[propName])return new Error("<"+componentName+'> should not have a "'+propName+'" prop')}__webpack_exports__.c=falsy,__webpack_require__.d(__webpack_exports__,"a",function(){return component}),__webpack_require__.d(__webpack_exports__,"b",function(){return components}),__webpack_require__.d(__webpack_exports__,"d",function(){return routes});var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(20),component=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.shape)({listen:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,push:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,replace:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,go:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goBack:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goForward:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired}),Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([__WEBPACK_IMPORTED_MODULE_0_prop_types__.func,__WEBPACK_IMPORTED_MODULE_0_prop_types__.string])),components=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([component,__WEBPACK_IMPORTED_MODULE_0_prop_types__.object]),route=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([__WEBPACK_IMPORTED_MODULE_0_prop_types__.object,__WEBPACK_IMPORTED_MODULE_0_prop_types__.element]),routes=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([route,Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.arrayOf)(route)])},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_reactFontawesome=__webpack_require__(5),_helpers=(_interopRequireDefault(_reactFontawesome),__webpack_require__(1)),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions2),FollowButton=function(_React$Component){function FollowButton(props){return _classCallCheck(this,FollowButton),_possibleConstructorReturn(this,(FollowButton.__proto__||Object.getPrototypeOf(FollowButton)).call(this,props))}return _inherits(FollowButton,_React$Component),_createClass(FollowButton,[{key:"remove",value:function(){this.props.spotifyActions.following(this.props.uri,"DELETE")}},{key:"add",value:function(){this.props.spotifyActions.following(this.props.uri,"PUT")}},{key:"render",value:function(){var _this2=this;if(!this.props.uri)return!1;var className="";return this.props.className&&(className+=" "+this.props.className),helpers.isLoading(this.props.load_queue,["/following","/followers","me/albums/contains/?ids=","me/albums/?ids="])&&(className+=" working"),this.props.spotify_authorized?!0===this.props.is_following?_react2.default.createElement("button",{className:className+" destructive",onClick:function(e){return _this2.remove()}},this.props.removeText):_react2.default.createElement("button",{className:className,onClick:function(e){return _this2.add()}},this.props.addText):_react2.default.createElement("button",{className:className+" disabled",onClick:function(e){return _this2.props.uiActions.createNotification("You must authorize Spotify first","warning")}},this.props.addText)}}]),FollowButton}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,spotify_authorized:state.spotify.authorization}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(FollowButton)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_reactFontawesome=__webpack_require__(5),_helpers=(_interopRequireDefault(_reactFontawesome),__webpack_require__(1)),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(4)),uiActions=_interopRequireWildcard(_actions),_GridItem=__webpack_require__(73),_GridItem2=_interopRequireDefault(_GridItem),AlbumGrid=function(_React$Component){function AlbumGrid(props){return _classCallCheck(this,AlbumGrid),_possibleConstructorReturn(this,(AlbumGrid.__proto__||Object.getPrototypeOf(AlbumGrid)).call(this,props))}return _inherits(AlbumGrid,_React$Component),_createClass(AlbumGrid,[{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"album",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"render",value:function(){var _this2=this;if(this.props.albums){var className="grid album-grid";return this.props.className&&(className+=" "+this.props.className),this.props.single_row&&(className+=" single-row"),_react2.default.createElement("div",{className:className},this.props.albums.map(function(album){return _react2.default.createElement(_GridItem2.default,{key:album.uri,type:"album",item:album,show_source_icon:_this2.props.show_source_icon,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"album/"+encodeURIComponent(album.uri))},onLoad:function(){return _this2.handleLoad(album.uri)},onContextMenu:function(e){return _this2.handleContextMenu(e,album)}})}))}return null}}]),AlbumGrid}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(AlbumGrid)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=(__webpack_require__(3),__webpack_require__(2),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),DropdownField=function(_React$Component){function DropdownField(props){_classCallCheck(this,DropdownField);var _this=_possibleConstructorReturn(this,(DropdownField.__proto__||Object.getPrototypeOf(DropdownField)).call(this,props));return _this.state={expanded:!1},_this.handleClick=_this.handleClick.bind(_this),_this}return _inherits(DropdownField,_React$Component),_createClass(DropdownField,[{key:"componentDidMount",value:function(){window.addEventListener("click",this.handleClick,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("click",this.handleClick,!1)}},{key:"handleClick",value:function(e){$(e.target).closest(".dropdown-field").data("key")!=this.props.name.replace(" ","_").toLowerCase()&&this.state.expanded&&this.setState({expanded:!1})}},{key:"handleChange",value:function(value){return this.setState({expanded:!this.state.expanded}),this.props.handleChange(value)}},{key:"handleToggle",value:function(){this.setState({expanded:!this.state.expanded})}},{key:"render",value:function(){var _this2=this;if(!this.props.options)return null;var classname="dropdown-field";this.state.expanded&&(classname+=" expanded");var current_value=this.props.options[0].value;this.props.value&&(current_value=this.props.value);var icon=_react2.default.createElement(_reactFontawesome2.default,{name:"check"});return void 0!==this.props.reverse&&(icon=this.props.reverse?_react2.default.createElement(_reactFontawesome2.default,{className:"reverse",name:"caret-down"}):_react2.default.createElement(_reactFontawesome2.default,{className:"reverse",name:"caret-up"})),_react2.default.createElement("div",{className:classname,"data-key":this.props.name.replace(" ","_").toLowerCase()},_react2.default.createElement("div",{className:"label",onClick:function(){return _this2.handleToggle()}},this.props.icon?_react2.default.createElement("span",null,_react2.default.createElement(_reactFontawesome2.default,{name:this.props.icon}),"  "):null,_react2.default.createElement("span",{className:"text"},this.props.name)),_react2.default.createElement("div",{className:"options"},this.props.options.map(function(option){return _react2.default.createElement("div",{className:"option",key:option.value,onClick:function(e){return _this2.handleChange(option.value)}},option.value==current_value?icon:null,option.label)})))}}]),DropdownField}(_react2.default.Component);exports.default=DropdownField}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_reactFontawesome=__webpack_require__(5),_helpers=(_interopRequireDefault(_reactFontawesome),__webpack_require__(1)),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(4)),uiActions=_interopRequireWildcard(_actions),_GridItem=__webpack_require__(73),_GridItem2=_interopRequireDefault(_GridItem),PlaylistGrid=function(_React$Component){function PlaylistGrid(props){return _classCallCheck(this,PlaylistGrid),_possibleConstructorReturn(this,(PlaylistGrid.__proto__||Object.getPrototypeOf(PlaylistGrid)).call(this,props))}return _inherits(PlaylistGrid,_React$Component),_createClass(PlaylistGrid,[{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"playlist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"render",value:function(){var _this2=this;if(!this.props.playlists)return null;var className="grid playlist-grid";return this.props.className&&(className+=" "+this.props.className),this.props.single_row&&(className+=" single-row"),_react2.default.createElement("div",{className:className},this.props.playlists.map(function(playlist){return _react2.default.createElement(_GridItem2.default,{key:playlist.uri,type:"playlist",item:playlist,show_source_icon:_this2.props.show_source_icon,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"playlist/"+encodeURIComponent(playlist.uri))},onContextMenu:function(e){return _this2.handleContextMenu(e,playlist)}})}))}}]),PlaylistGrid}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(PlaylistGrid)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";var emptyObject={};module.exports=emptyObject},function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(178)},function(module,exports,__webpack_require__){"use strict";var _prodInvariant=__webpack_require__(11),OBSERVED_ERROR=(__webpack_require__(7),{}),TransactionImpl={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(method,scope,a,b,c,d,e,f){this.isInTransaction()&&_prodInvariant("27");var errorThrown,ret;try{this._isInTransaction=!0,errorThrown=!0,this.initializeAll(0),ret=method.call(scope,a,b,c,d,e,f),errorThrown=!1}finally{try{if(errorThrown)try{this.closeAll(0)}catch(err){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return ret},initializeAll:function(startIndex){for(var transactionWrappers=this.transactionWrappers,i=startIndex;i<transactionWrappers.length;i++){var wrapper=transactionWrappers[i];try{this.wrapperInitData[i]=OBSERVED_ERROR,this.wrapperInitData[i]=wrapper.initialize?wrapper.initialize.call(this):null}finally{if(this.wrapperInitData[i]===OBSERVED_ERROR)try{this.initializeAll(i+1)}catch(err){}}}},closeAll:function(startIndex){this.isInTransaction()||_prodInvariant("28");for(var transactionWrappers=this.transactionWrappers,i=startIndex;i<transactionWrappers.length;i++){var errorThrown,wrapper=transactionWrappers[i],initData=this.wrapperInitData[i];try{errorThrown=!0,initData!==OBSERVED_ERROR&&wrapper.close&&wrapper.close.call(this,initData),errorThrown=!1}finally{if(errorThrown)try{this.closeAll(i+1)}catch(e){}}}this.wrapperInitData.length=0}};module.exports=TransactionImpl},function(module,exports,__webpack_require__){"use strict";function SyntheticMouseEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticUIEvent=__webpack_require__(56),ViewportMetrics=__webpack_require__(120),getEventModifierState=__webpack_require__(80),MouseEventInterface={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:getEventModifierState,button:function(event){var button=event.button;return"which"in event?button:2===button?2:4===button?1:0},buttons:null,relatedTarget:function(event){return event.relatedTarget||(event.fromElement===event.srcElement?event.toElement:event.fromElement)},pageX:function(event){return"pageX"in event?event.pageX:event.clientX+ViewportMetrics.currentScrollLeft},pageY:function(event){return"pageY"in event?event.pageY:event.clientY+ViewportMetrics.currentScrollTop}};SyntheticUIEvent.augmentClass(SyntheticMouseEvent,MouseEventInterface),module.exports=SyntheticMouseEvent},function(module,exports,__webpack_require__){"use strict";var reusableSVGContainer,ExecutionEnvironment=__webpack_require__(24),DOMNamespaces=__webpack_require__(82),WHITESPACE_TEST=/^[ \r\n\t\f]/,NONVISIBLE_TEST=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,createMicrosoftUnsafeLocalFunction=__webpack_require__(83),setInnerHTML=createMicrosoftUnsafeLocalFunction(function(node,html){if(node.namespaceURI!==DOMNamespaces.svg||"innerHTML"in node)node.innerHTML=html;else{reusableSVGContainer=reusableSVGContainer||document.createElement("div"),reusableSVGContainer.innerHTML="<svg>"+html+"</svg>";for(var svgNode=reusableSVGContainer.firstChild;svgNode.firstChild;)node.appendChild(svgNode.firstChild)}});if(ExecutionEnvironment.canUseDOM){var testElement=document.createElement("div");testElement.innerHTML=" ",""===testElement.innerHTML&&(setInnerHTML=function(node,html){if(node.parentNode&&node.parentNode.replaceChild(node,node),WHITESPACE_TEST.test(html)||"<"===html[0]&&NONVISIBLE_TEST.test(html)){node.innerHTML=String.fromCharCode(65279)+html;var textNode=node.firstChild;1===textNode.data.length?node.removeChild(textNode):textNode.deleteData(0,1)}else node.innerHTML=html}),testElement=null}module.exports=setInnerHTML},function(module,exports,__webpack_require__){"use strict";function escapeHtml(string){var str=""+string,match=matchHtmlRegExp.exec(str);if(!match)return str;var escape,html="",index=0,lastIndex=0;for(index=match.index;index<str.length;index++){switch(str.charCodeAt(index)){case 34:escape="&quot;";break;case 38:escape="&amp;";break;case 39:escape="&#x27;";break;case 60:escape="&lt;";break;case 62:escape="&gt;";break;default:continue}lastIndex!==index&&(html+=str.substring(lastIndex,index)),lastIndex=index+1,html+=escape}return lastIndex!==index?html+str.substring(lastIndex,index):html}function escapeTextContentForBrowser(text){return"boolean"==typeof text||"number"==typeof text?""+text:escapeHtml(text)}var matchHtmlRegExp=/["'&<>]/;module.exports=escapeTextContentForBrowser},function(module,exports,__webpack_require__){"use strict";function getListeningForDocument(mountAt){return Object.prototype.hasOwnProperty.call(mountAt,topListenersIDKey)||(mountAt[topListenersIDKey]=reactTopListenersCounter++,alreadyListeningTo[mountAt[topListenersIDKey]]={}),alreadyListeningTo[mountAt[topListenersIDKey]]}var hasEventPageXY,_assign=__webpack_require__(13),EventPluginRegistry=__webpack_require__(75),ReactEventEmitterMixin=__webpack_require__(207),ViewportMetrics=__webpack_require__(120),getVendorPrefixedEventName=__webpack_require__(208),isEventSupported=__webpack_require__(79),alreadyListeningTo={},isMonitoringScrollValue=!1,reactTopListenersCounter=0,topEventMapping={topAbort:"abort",topAnimationEnd:getVendorPrefixedEventName("animationend")||"animationend",topAnimationIteration:getVendorPrefixedEventName("animationiteration")||"animationiteration",topAnimationStart:getVendorPrefixedEventName("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:getVendorPrefixedEventName("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},topListenersIDKey="_reactListenersID"+String(Math.random()).slice(2),ReactBrowserEventEmitter=_assign({},ReactEventEmitterMixin,{ReactEventListener:null,injection:{injectReactEventListener:function(ReactEventListener){ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel),ReactBrowserEventEmitter.ReactEventListener=ReactEventListener}},setEnabled:function(enabled){ReactBrowserEventEmitter.ReactEventListener&&ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled)},isEnabled:function(){return!(!ReactBrowserEventEmitter.ReactEventListener||!ReactBrowserEventEmitter.ReactEventListener.isEnabled())},listenTo:function(registrationName,contentDocumentHandle){for(var mountAt=contentDocumentHandle,isListening=getListeningForDocument(mountAt),dependencies=EventPluginRegistry.registrationNameDependencies[registrationName],i=0;i<dependencies.length;i++){var dependency=dependencies[i];isListening.hasOwnProperty(dependency)&&isListening[dependency]||("topWheel"===dependency?isEventSupported("wheel")?ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent("topWheel","wheel",mountAt):isEventSupported("mousewheel")?ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",mountAt):ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",mountAt):"topScroll"===dependency?isEventSupported("scroll",!0)?ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent("topScroll","scroll",mountAt):ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent("topScroll","scroll",ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE):"topFocus"===dependency||"topBlur"===dependency?(isEventSupported("focus",!0)?(ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent("topFocus","focus",mountAt),ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent("topBlur","blur",mountAt)):isEventSupported("focusin")&&(ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent("topFocus","focusin",mountAt),ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent("topBlur","focusout",mountAt)),isListening.topBlur=!0,isListening.topFocus=!0):topEventMapping.hasOwnProperty(dependency)&&ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency,topEventMapping[dependency],mountAt),isListening[dependency]=!0)}},trapBubbledEvent:function(topLevelType,handlerBaseName,handle){return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType,handlerBaseName,handle)},trapCapturedEvent:function(topLevelType,handlerBaseName,handle){return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType,handlerBaseName,handle)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var ev=document.createEvent("MouseEvent");return null!=ev&&"pageX"in ev},ensureScrollValueMonitoring:function(){if(void 0===hasEventPageXY&&(hasEventPageXY=ReactBrowserEventEmitter.supportsEventPageXY()),!hasEventPageXY&&!isMonitoringScrollValue){var refresh=ViewportMetrics.refreshScrollValues;ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh),isMonitoringScrollValue=!0}}});module.exports=ReactBrowserEventEmitter},function(module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,runClearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var cachedSetTimeout,cachedClearTimeout,process=module.exports={};!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(name){return[]},process.binding=function(name){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(dir){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.PUSH="PUSH",exports.REPLACE="REPLACE",exports.POP="POP"},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.addEventListener=function(node,event,listener){return node.addEventListener?node.addEventListener(event,listener,!1):node.attachEvent("on"+event,listener)},exports.removeEventListener=function(node,event,listener){return node.removeEventListener?node.removeEventListener(event,listener,!1):node.detachEvent("on"+event,listener)},exports.supportsHistory=function(){var ua=window.navigator.userAgent;return(-1===ua.indexOf("Android 2.")&&-1===ua.indexOf("Android 4.0")||-1===ua.indexOf("Mobile Safari")||-1!==ua.indexOf("Chrome")||-1!==ua.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)},exports.supportsGoWithoutReloadUsingHash=function(){return-1===window.navigator.userAgent.indexOf("Firefox")},exports.supportsPopstateOnHashchange=function(){return-1===window.navigator.userAgent.indexOf("Trident")},exports.isExtraneousPopstateEvent=function(event){return void 0===event.state&&-1===navigator.userAgent.indexOf("CriOS")}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(64),_reactFontawesome=(_interopRequireDefault(_reactDom),__webpack_require__(6),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),GridItem=function(_React$Component){function GridItem(props){return _classCallCheck(this,GridItem),_possibleConstructorReturn(this,(GridItem.__proto__||Object.getPrototypeOf(GridItem)).call(this,props))}return _inherits(GridItem,_React$Component),_createClass(GridItem,[{key:"handleClick",value:function(e){this.props.onClick&&"a"!==e.target.tagName.toLowerCase()&&this.props.onClick(e)}},{key:"handleContextMenu",value:function(e){this.props.onContextMenu&&this.props.onContextMenu(e)}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return nextProps.item!=this.props.item}},{key:"renderSecondary",value:function(item){switch(item.type){case"playlist":return _react2.default.createElement("span",null,item.tracks_total?item.tracks_total:0," tracks");case"artist":return _react2.default.createElement("span",null,item.followers?item.followers.total.toLocaleString()+" followers":item.albums_uris.length+" albums");case"album":return _react2.default.createElement("span",null,item.artists?_react2.default.createElement(_ArtistSentence2.default,{artists:item.artists}):null);default:return _react2.default.createElement("span",null,item.artists?_react2.default.createElement(_ArtistSentence2.default,{artists:item.artists}):null,item.followers?item.followers.total.toLocaleString()+" followers":null)}return""}},{key:"render",value:function(){var _this2=this;if(!this.props.item)return null;var item=this.props.item;void 0!==item.album&&(item.album.added_at=item.added_at,item=item.album);var images=null;return this.props.item.images?images=this.props.item.images:this.props.item.icons&&(images=this.props.item.icons),_react2.default.createElement("div",{className:"grid-item",onClick:function(e){return _this2.handleClick(e)},onContextMenu:function(e){return _this2.handleContextMenu(e)}},_react2.default.createElement(_Thumbnail2.default,{size:"medium",images:images}),_react2.default.createElement("div",{className:"name"},item.name?item.name:_react2.default.createElement("span",{className:"dark-grey-text"},item.uri)),_react2.default.createElement("div",{className:"secondary"},this.props.show_source_icon?_react2.default.createElement(_reactFontawesome2.default,{name:helpers.sourceIcon(item.uri),className:"source"}):null,this.renderSecondary(item)))}}]),GridItem}(_react2.default.Component);exports.default=GridItem},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Dater=__webpack_require__(43),_Dater2=_interopRequireDefault(_Dater),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_ContextMenuTrigger=__webpack_require__(37),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(4)),uiActions=_interopRequireWildcard(_actions),List=function(_React$Component){function List(props){return _classCallCheck(this,List),_possibleConstructorReturn(this,(List.__proto__||Object.getPrototypeOf(List)).call(this,props))}return _inherits(List,_React$Component),_createClass(List,[{key:"handleClick",value:function(e,uri){"a"!==e.target.tagName.toLowerCase()&&(e.preventDefault(),_reactRouter.hashHistory.push((this.props.link_prefix?this.props.link_prefix:"")+encodeURIComponent(uri)))}},{key:"handleMouseDown",value:function(e,uri){"a"!==e.target.tagName.toLowerCase()&&(e.preventDefault(),_reactRouter.hashHistory.push((this.props.link_prefix?this.props.link_prefix:"")+encodeURIComponent(uri)))}},{key:"handleContextMenu",value:function(e,item){this.props.handleContextMenu&&(e.preventDefault(),this.props.handleContextMenu(e,item))}},{key:"renderHeader",value:function(){return!this.props.columns||this.props.noheader?null:_react2.default.createElement("div",{className:"list-item header cf"},_react2.default.createElement("div",{className:"liner"},this.props.columns.map(function(col,col_index){var className="col "+col.name.replace(".","_");return _react2.default.createElement("div",{className:className,key:col_index},col.label?col.label:col.name)})))}},{key:"renderValue",value:function(row,key_string){for(var key=key_string.split("."),value=row,i=0;i<key.length;i++){if(void 0===value[key[i]])return _react2.default.createElement("span",null,"-");if("string"==typeof value[key[i]]&&""==value[key[i]].replace(" ",""))return _react2.default.createElement("span",null,"-");value=value[key[i]]}return"added_at"===key_string?_react2.default.createElement("span",null,_react2.default.createElement(_Dater2.default,{type:"ago",data:value})," ago"):"owner"===key_string?_react2.default.createElement(_URILink2.default,{type:"user",uri:value.uri},value.id):"artists"===key[0]?_react2.default.createElement(_ArtistSentence2.default,{artists:value}):!0===value?_react2.default.createElement(_reactFontawesome2.default,{name:"check"}):"number"==typeof value?_react2.default.createElement("span",null,value.toLocaleString()):_react2.default.createElement("span",null,value)}},{key:"render",value:function(){var _this2=this;if(!this.props.rows)return null;var className="list";return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("div",{className:className},this.renderHeader(),this.props.rows.map(function(row,row_index){var class_name="list-item";return row.type&&(class_name+=" "+row.type),_react2.default.createElement("div",{className:class_name,key:row_index,onClick:function(e){return _this2.handleClick(e,row.uri)},onContextMenu:function(e){return _this2.handleContextMenu(e,row)}},_this2.props.columns.map(function(col,col_index){var className="col "+col.name.replace(".","_");return _react2.default.createElement("div",{className:className,key:col_index},_this2.renderValue(row,col.name))}),_this2.props.nocontext?null:_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e,row)}}))}))}}]),List}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(List)},function(module,exports,__webpack_require__){"use strict";function recomputePluginOrdering(){if(eventPluginOrder)for(var pluginName in namesToPlugins){var pluginModule=namesToPlugins[pluginName],pluginIndex=eventPluginOrder.indexOf(pluginName);if(pluginIndex>-1||_prodInvariant("96",pluginName),!EventPluginRegistry.plugins[pluginIndex]){pluginModule.extractEvents||_prodInvariant("97",pluginName),EventPluginRegistry.plugins[pluginIndex]=pluginModule;var publishedEvents=pluginModule.eventTypes;for(var eventName in publishedEvents)publishEventForPlugin(publishedEvents[eventName],pluginModule,eventName)||_prodInvariant("98",eventName,pluginName)}}}function publishEventForPlugin(dispatchConfig,pluginModule,eventName){EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName)&&_prodInvariant("99",eventName),EventPluginRegistry.eventNameDispatchConfigs[eventName]=dispatchConfig;var phasedRegistrationNames=dispatchConfig.phasedRegistrationNames;if(phasedRegistrationNames){for(var phaseName in phasedRegistrationNames)if(phasedRegistrationNames.hasOwnProperty(phaseName)){var phasedRegistrationName=phasedRegistrationNames[phaseName];publishRegistrationName(phasedRegistrationName,pluginModule,eventName)}return!0}return!!dispatchConfig.registrationName&&(publishRegistrationName(dispatchConfig.registrationName,pluginModule,eventName),!0)}function publishRegistrationName(registrationName,pluginModule,eventName){EventPluginRegistry.registrationNameModules[registrationName]&&_prodInvariant("100",registrationName),EventPluginRegistry.registrationNameModules[registrationName]=pluginModule,EventPluginRegistry.registrationNameDependencies[registrationName]=pluginModule.eventTypes[eventName].dependencies}var _prodInvariant=__webpack_require__(11),eventPluginOrder=(__webpack_require__(7),null),namesToPlugins={},EventPluginRegistry={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(injectedEventPluginOrder){eventPluginOrder&&_prodInvariant("101"),eventPluginOrder=Array.prototype.slice.call(injectedEventPluginOrder),recomputePluginOrdering()},injectEventPluginsByName:function(injectedNamesToPlugins){var isOrderingDirty=!1;for(var pluginName in injectedNamesToPlugins)if(injectedNamesToPlugins.hasOwnProperty(pluginName)){var pluginModule=injectedNamesToPlugins[pluginName];namesToPlugins.hasOwnProperty(pluginName)&&namesToPlugins[pluginName]===pluginModule||(namesToPlugins[pluginName]&&_prodInvariant("102",pluginName),namesToPlugins[pluginName]=pluginModule,isOrderingDirty=!0)}isOrderingDirty&&recomputePluginOrdering()},getPluginModuleForEvent:function(event){var dispatchConfig=event.dispatchConfig;if(dispatchConfig.registrationName)return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName]||null;if(void 0!==dispatchConfig.phasedRegistrationNames){var phasedRegistrationNames=dispatchConfig.phasedRegistrationNames;for(var phase in phasedRegistrationNames)if(phasedRegistrationNames.hasOwnProperty(phase)){var pluginModule=EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]];if(pluginModule)return pluginModule}}return null},_resetEventPlugins:function(){eventPluginOrder=null;for(var pluginName in namesToPlugins)namesToPlugins.hasOwnProperty(pluginName)&&delete namesToPlugins[pluginName];EventPluginRegistry.plugins.length=0;var eventNameDispatchConfigs=EventPluginRegistry.eventNameDispatchConfigs;for(var eventName in eventNameDispatchConfigs)eventNameDispatchConfigs.hasOwnProperty(eventName)&&delete eventNameDispatchConfigs[eventName];var registrationNameModules=EventPluginRegistry.registrationNameModules;for(var registrationName in registrationNameModules)registrationNameModules.hasOwnProperty(registrationName)&&delete registrationNameModules[registrationName]}};module.exports=EventPluginRegistry},function(module,exports,__webpack_require__){"use strict";function isEndish(topLevelType){return"topMouseUp"===topLevelType||"topTouchEnd"===topLevelType||"topTouchCancel"===topLevelType}function isMoveish(topLevelType){return"topMouseMove"===topLevelType||"topTouchMove"===topLevelType}function isStartish(topLevelType){return"topMouseDown"===topLevelType||"topTouchStart"===topLevelType}function executeDispatch(event,simulated,listener,inst){var type=event.type||"unknown-event";event.currentTarget=EventPluginUtils.getNodeFromInstance(inst),simulated?ReactErrorUtils.invokeGuardedCallbackWithCatch(type,listener,event):ReactErrorUtils.invokeGuardedCallback(type,listener,event),event.currentTarget=null}function executeDispatchesInOrder(event,simulated){var dispatchListeners=event._dispatchListeners,dispatchInstances=event._dispatchInstances;if(Array.isArray(dispatchListeners))for(var i=0;i<dispatchListeners.length&&!event.isPropagationStopped();i++)executeDispatch(event,simulated,dispatchListeners[i],dispatchInstances[i]);else dispatchListeners&&executeDispatch(event,simulated,dispatchListeners,dispatchInstances);event._dispatchListeners=null,event._dispatchInstances=null}function executeDispatchesInOrderStopAtTrueImpl(event){var dispatchListeners=event._dispatchListeners,dispatchInstances=event._dispatchInstances;if(Array.isArray(dispatchListeners)){for(var i=0;i<dispatchListeners.length&&!event.isPropagationStopped();i++)if(dispatchListeners[i](event,dispatchInstances[i]))return dispatchInstances[i]}else if(dispatchListeners&&dispatchListeners(event,dispatchInstances))return dispatchInstances;return null}function executeDispatchesInOrderStopAtTrue(event){var ret=executeDispatchesInOrderStopAtTrueImpl(event);return event._dispatchInstances=null,event._dispatchListeners=null,ret}function executeDirectDispatch(event){var dispatchListener=event._dispatchListeners,dispatchInstance=event._dispatchInstances;Array.isArray(dispatchListener)&&_prodInvariant("103"),event.currentTarget=dispatchListener?EventPluginUtils.getNodeFromInstance(dispatchInstance):null;var res=dispatchListener?dispatchListener(event):null;return event.currentTarget=null,event._dispatchListeners=null,event._dispatchInstances=null,res}function hasDispatches(event){return!!event._dispatchListeners}var ComponentTree,TreeTraversal,_prodInvariant=__webpack_require__(11),ReactErrorUtils=__webpack_require__(77),injection=(__webpack_require__(7),__webpack_require__(10),{injectComponentTree:function(Injected){ComponentTree=Injected},injectTreeTraversal:function(Injected){TreeTraversal=Injected}}),EventPluginUtils={isEndish:isEndish,isMoveish:isMoveish,isStartish:isStartish,executeDirectDispatch:executeDirectDispatch,executeDispatchesInOrder:executeDispatchesInOrder,executeDispatchesInOrderStopAtTrue:executeDispatchesInOrderStopAtTrue,hasDispatches:hasDispatches,getInstanceFromNode:function(node){return ComponentTree.getInstanceFromNode(node)},getNodeFromInstance:function(node){return ComponentTree.getNodeFromInstance(node)},isAncestor:function(a,b){return TreeTraversal.isAncestor(a,b)},getLowestCommonAncestor:function(a,b){return TreeTraversal.getLowestCommonAncestor(a,b)},getParentInstance:function(inst){return TreeTraversal.getParentInstance(inst)},traverseTwoPhase:function(target,fn,arg){return TreeTraversal.traverseTwoPhase(target,fn,arg)},traverseEnterLeave:function(from,to,fn,argFrom,argTo){return TreeTraversal.traverseEnterLeave(from,to,fn,argFrom,argTo)},injection:injection};module.exports=EventPluginUtils},function(module,exports,__webpack_require__){"use strict";function invokeGuardedCallback(name,func,a){try{func(a)}catch(x){null===caughtError&&(caughtError=x)}}var caughtError=null,ReactErrorUtils={invokeGuardedCallback:invokeGuardedCallback,invokeGuardedCallbackWithCatch:invokeGuardedCallback,rethrowCaughtError:function(){if(caughtError){var error=caughtError;throw caughtError=null,error}}};module.exports=ReactErrorUtils},function(module,exports,__webpack_require__){"use strict";function getEventTarget(nativeEvent){var target=nativeEvent.target||nativeEvent.srcElement||window;return target.correspondingUseElement&&(target=target.correspondingUseElement),3===target.nodeType?target.parentNode:target}module.exports=getEventTarget},function(module,exports,__webpack_require__){"use strict";/**
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @param {?boolean} capture Check if the capture phase is supported.
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/
function isEventSupported(eventNameSuffix,capture){if(!ExecutionEnvironment.canUseDOM||capture&&!("addEventListener"in document))return!1;var eventName="on"+eventNameSuffix,isSupported=eventName in document;if(!isSupported){var element=document.createElement("div");element.setAttribute(eventName,"return;"),isSupported="function"==typeof element[eventName]}return!isSupported&&useHasFeature&&"wheel"===eventNameSuffix&&(isSupported=document.implementation.hasFeature("Events.wheel","3.0")),isSupported}var useHasFeature,ExecutionEnvironment=__webpack_require__(24);ExecutionEnvironment.canUseDOM&&(useHasFeature=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),module.exports=isEventSupported},function(module,exports,__webpack_require__){"use strict";function modifierStateGetter(keyArg){var syntheticEvent=this,nativeEvent=syntheticEvent.nativeEvent;if(nativeEvent.getModifierState)return nativeEvent.getModifierState(keyArg);var keyProp=modifierKeyToProp[keyArg];return!!keyProp&&!!nativeEvent[keyProp]}function getEventModifierState(nativeEvent){return modifierStateGetter}var modifierKeyToProp={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};module.exports=getEventModifierState},function(module,exports,__webpack_require__){"use strict";function getNodeAfter(parentNode,node){return Array.isArray(node)&&(node=node[1]),node?node.nextSibling:parentNode.firstChild}function insertLazyTreeChildAt(parentNode,childTree,referenceNode){DOMLazyTree.insertTreeBefore(parentNode,childTree,referenceNode)}function moveChild(parentNode,childNode,referenceNode){Array.isArray(childNode)?moveDelimitedText(parentNode,childNode[0],childNode[1],referenceNode):insertChildAt(parentNode,childNode,referenceNode)}function removeChild(parentNode,childNode){if(Array.isArray(childNode)){var closingComment=childNode[1];childNode=childNode[0],removeDelimitedText(parentNode,childNode,closingComment),parentNode.removeChild(closingComment)}parentNode.removeChild(childNode)}function moveDelimitedText(parentNode,openingComment,closingComment,referenceNode){for(var node=openingComment;;){var nextNode=node.nextSibling;if(insertChildAt(parentNode,node,referenceNode),node===closingComment)break;node=nextNode}}function removeDelimitedText(parentNode,startNode,closingComment){for(;;){var node=startNode.nextSibling;if(node===closingComment)break;parentNode.removeChild(node)}}function replaceDelimitedText(openingComment,closingComment,stringText){var parentNode=openingComment.parentNode,nodeAfterComment=openingComment.nextSibling;nodeAfterComment===closingComment?stringText&&insertChildAt(parentNode,document.createTextNode(stringText),nodeAfterComment):stringText?(setTextContent(nodeAfterComment,stringText),removeDelimitedText(parentNode,nodeAfterComment,closingComment)):removeDelimitedText(parentNode,openingComment,closingComment)}var DOMLazyTree=__webpack_require__(48),Danger=__webpack_require__(192),createMicrosoftUnsafeLocalFunction=(__webpack_require__(14),__webpack_require__(29),__webpack_require__(83)),setInnerHTML=__webpack_require__(67),setTextContent=__webpack_require__(121),insertChildAt=createMicrosoftUnsafeLocalFunction(function(parentNode,childNode,referenceNode){parentNode.insertBefore(childNode,referenceNode)}),dangerouslyReplaceNodeWithMarkup=Danger.dangerouslyReplaceNodeWithMarkup,DOMChildrenOperations={dangerouslyReplaceNodeWithMarkup:dangerouslyReplaceNodeWithMarkup,replaceDelimitedText:replaceDelimitedText,processUpdates:function(parentNode,updates){for(var k=0;k<updates.length;k++){var update=updates[k];switch(update.type){case"INSERT_MARKUP":insertLazyTreeChildAt(parentNode,update.content,getNodeAfter(parentNode,update.afterNode));break;case"MOVE_EXISTING":moveChild(parentNode,update.fromNode,getNodeAfter(parentNode,update.afterNode));break;case"SET_MARKUP":setInnerHTML(parentNode,update.content);break;case"TEXT_CONTENT":setTextContent(parentNode,update.content);break;case"REMOVE_NODE":removeChild(parentNode,update.fromNode)}}}};module.exports=DOMChildrenOperations},function(module,exports,__webpack_require__){"use strict";var DOMNamespaces={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};module.exports=DOMNamespaces},function(module,exports,__webpack_require__){"use strict";var createMicrosoftUnsafeLocalFunction=function(func){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(arg0,arg1,arg2,arg3){MSApp.execUnsafeLocalFunction(function(){return func(arg0,arg1,arg2,arg3)})}:func};module.exports=createMicrosoftUnsafeLocalFunction},function(module,exports,__webpack_require__){"use strict";function _assertSingleLink(inputProps){null!=inputProps.checkedLink&&null!=inputProps.valueLink&&_prodInvariant("87")}function _assertValueLink(inputProps){_assertSingleLink(inputProps),(null!=inputProps.value||null!=inputProps.onChange)&&_prodInvariant("88")}function _assertCheckedLink(inputProps){_assertSingleLink(inputProps),(null!=inputProps.checked||null!=inputProps.onChange)&&_prodInvariant("89")}function getDeclarationErrorAddendum(owner){if(owner){var name=owner.getName();if(name)return" Check the render method of `"+name+"`."}return""}var _prodInvariant=__webpack_require__(11),ReactPropTypesSecret=__webpack_require__(210),propTypesFactory=__webpack_require__(109),React=__webpack_require__(44),PropTypes=propTypesFactory(React.isValidElement),hasReadOnlyValue=(__webpack_require__(7),__webpack_require__(10),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),propTypes={value:function(props,propName,componentName){return!props[propName]||hasReadOnlyValue[props.type]||props.onChange||props.readOnly||props.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(props,propName,componentName){return!props[propName]||props.onChange||props.readOnly||props.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:PropTypes.func},loggedTypeFailures={},LinkedValueUtils={checkPropTypes:function(tagName,props,owner){for(var propName in propTypes){if(propTypes.hasOwnProperty(propName))var error=propTypes[propName](props,propName,tagName,"prop",null,ReactPropTypesSecret);if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=!0;getDeclarationErrorAddendum(owner)}}},getValue:function(inputProps){return inputProps.valueLink?(_assertValueLink(inputProps),inputProps.valueLink.value):inputProps.value},getChecked:function(inputProps){return inputProps.checkedLink?(_assertCheckedLink(inputProps),inputProps.checkedLink.value):inputProps.checked},executeOnChange:function(inputProps,event){return inputProps.valueLink?(_assertValueLink(inputProps),inputProps.valueLink.requestChange(event.target.value)):inputProps.checkedLink?(_assertCheckedLink(inputProps),inputProps.checkedLink.requestChange(event.target.checked)):inputProps.onChange?inputProps.onChange.call(void 0,event):void 0}};module.exports=LinkedValueUtils},function(module,exports,__webpack_require__){"use strict";var _prodInvariant=__webpack_require__(11),injected=(__webpack_require__(7),!1),ReactComponentEnvironment={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(environment){injected&&_prodInvariant("104"),ReactComponentEnvironment.replaceNodeWithMarkup=environment.replaceNodeWithMarkup,ReactComponentEnvironment.processChildrenUpdates=environment.processChildrenUpdates,injected=!0}}};module.exports=ReactComponentEnvironment},function(module,exports,__webpack_require__){"use strict";function is(x,y){return x===y?0!==x||0!==y||1/x==1/y:x!==x&&y!==y}function shallowEqual(objA,objB){if(is(objA,objB))return!0;if("object"!=typeof objA||null===objA||"object"!=typeof objB||null===objB)return!1;var keysA=Object.keys(objA),keysB=Object.keys(objB);if(keysA.length!==keysB.length)return!1;for(var i=0;i<keysA.length;i++)if(!hasOwnProperty.call(objB,keysA[i])||!is(objA[keysA[i]],objB[keysA[i]]))return!1;return!0}var hasOwnProperty=Object.prototype.hasOwnProperty;module.exports=shallowEqual},function(module,exports,__webpack_require__){"use strict";function shouldUpdateReactComponent(prevElement,nextElement){var prevEmpty=null===prevElement||!1===prevElement,nextEmpty=null===nextElement||!1===nextElement;if(prevEmpty||nextEmpty)return prevEmpty===nextEmpty;var prevType=typeof prevElement,nextType=typeof nextElement;return"string"===prevType||"number"===prevType?"string"===nextType||"number"===nextType:"object"===nextType&&prevElement.type===nextElement.type&&prevElement.key===nextElement.key}module.exports=shouldUpdateReactComponent},function(module,exports,__webpack_require__){"use strict";function escape(key){var escaperLookup={"=":"=0",":":"=2"};return"$"+(""+key).replace(/[=:]/g,function(match){return escaperLookup[match]})}function unescape(key){var unescapeRegex=/(=0|=2)/g,unescaperLookup={"=0":"=","=2":":"};return(""+("."===key[0]&&"$"===key[1]?key.substring(2):key.substring(1))).replace(unescapeRegex,function(match){return unescaperLookup[match]})}var KeyEscapeUtils={escape:escape,unescape:unescape};module.exports=KeyEscapeUtils},function(module,exports,__webpack_require__){"use strict";function enqueueUpdate(internalInstance){ReactUpdates.enqueueUpdate(internalInstance)}function formatUnexpectedArgument(arg){var type=typeof arg;if("object"!==type)return type;var displayName=arg.constructor&&arg.constructor.name||type,keys=Object.keys(arg);return keys.length>0&&keys.length<20?displayName+" (keys: "+keys.join(", ")+")":displayName}function getInternalInstanceReadyForUpdate(publicInstance,callerName){var internalInstance=ReactInstanceMap.get(publicInstance);if(!internalInstance){return null}return internalInstance}var _prodInvariant=__webpack_require__(11),ReactInstanceMap=(__webpack_require__(34),__webpack_require__(57)),ReactUpdates=(__webpack_require__(29),__webpack_require__(33)),ReactUpdateQueue=(__webpack_require__(7),__webpack_require__(10),{isMounted:function(publicInstance){var internalInstance=ReactInstanceMap.get(publicInstance);return!!internalInstance&&!!internalInstance._renderedComponent},enqueueCallback:function(publicInstance,callback,callerName){ReactUpdateQueue.validateCallback(callback,callerName);var internalInstance=getInternalInstanceReadyForUpdate(publicInstance);if(!internalInstance)return null;internalInstance._pendingCallbacks?internalInstance._pendingCallbacks.push(callback):internalInstance._pendingCallbacks=[callback],enqueueUpdate(internalInstance)},enqueueCallbackInternal:function(internalInstance,callback){internalInstance._pendingCallbacks?internalInstance._pendingCallbacks.push(callback):internalInstance._pendingCallbacks=[callback],enqueueUpdate(internalInstance)},enqueueForceUpdate:function(publicInstance){var internalInstance=getInternalInstanceReadyForUpdate(publicInstance,"forceUpdate");internalInstance&&(internalInstance._pendingForceUpdate=!0,enqueueUpdate(internalInstance))},enqueueReplaceState:function(publicInstance,completeState,callback){var internalInstance=getInternalInstanceReadyForUpdate(publicInstance,"replaceState");internalInstance&&(internalInstance._pendingStateQueue=[completeState],internalInstance._pendingReplaceState=!0,void 0!==callback&&null!==callback&&(ReactUpdateQueue.validateCallback(callback,"replaceState"),internalInstance._pendingCallbacks?internalInstance._pendingCallbacks.push(callback):internalInstance._pendingCallbacks=[callback]),enqueueUpdate(internalInstance))},enqueueSetState:function(publicInstance,partialState){var internalInstance=getInternalInstanceReadyForUpdate(publicInstance,"setState");if(internalInstance){(internalInstance._pendingStateQueue||(internalInstance._pendingStateQueue=[])).push(partialState),enqueueUpdate(internalInstance)}},enqueueElementInternal:function(internalInstance,nextElement,nextContext){internalInstance._pendingElement=nextElement,internalInstance._context=nextContext,enqueueUpdate(internalInstance)},validateCallback:function(callback,callerName){callback&&"function"!=typeof callback&&_prodInvariant("122",callerName,formatUnexpectedArgument(callback))}});module.exports=ReactUpdateQueue},function(module,exports,__webpack_require__){"use strict";var emptyFunction=(__webpack_require__(13),__webpack_require__(25)),validateDOMNesting=(__webpack_require__(10),emptyFunction);module.exports=validateDOMNesting},function(module,exports,__webpack_require__){"use strict";function getEventCharCode(nativeEvent){var charCode,keyCode=nativeEvent.keyCode;return"charCode"in nativeEvent?0===(charCode=nativeEvent.charCode)&&13===keyCode&&(charCode=13):charCode=keyCode,charCode>=32||13===charCode?charCode:0}module.exports=getEventCharCode},function(module,__webpack_exports__,__webpack_require__){"use strict";function warning(message){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(message);try{throw new Error(message)}catch(e){}}__webpack_exports__.a=warning},function(module,__webpack_exports__,__webpack_require__){"use strict";function isPlainObject(value){if(!Object(__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__.a)(value)||Object(__WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__.a)(value)!=objectTag)return!1;var proto=Object(__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__.a)(value);if(null===proto)return!0;var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}var __WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__=__webpack_require__(261),__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__=__webpack_require__(266),__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__=__webpack_require__(268),objectTag="[object Object]",funcProto=Function.prototype,objectProto=Object.prototype,funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,objectCtorString=funcToString.call(Object);__webpack_exports__.a=isPlainObject},function(module,__webpack_exports__,__webpack_require__){"use strict";function loopAsync(turns,work,callback){function done(){if(isDone=!0,sync)return void(doneArgs=[].concat(Array.prototype.slice.call(arguments)));callback.apply(this,arguments)}function next(){if(!isDone&&(hasNext=!0,!sync)){for(sync=!0;!isDone&&currentTurn<turns&&hasNext;)hasNext=!1,work.call(this,currentTurn++,next,done);if(sync=!1,isDone)return void callback.apply(this,doneArgs);currentTurn>=turns&&hasNext&&(isDone=!0,callback())}}var currentTurn=0,isDone=!1,sync=!1,hasNext=!1,doneArgs=void 0;next()}function mapAsync(array,work,callback){function done(index,error,value){isDone||(error?(isDone=!0,callback(error)):(values[index]=value,(isDone=++doneCount===length)&&callback(null,values)))}var length=array.length,values=[];if(0===length)return callback(null,values);var isDone=!1,doneCount=0;array.forEach(function(item,index){work(item,index,function(error,value){done(index,error,value)})})}__webpack_exports__.a=loopAsync,__webpack_exports__.b=mapAsync},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(21),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),__WEBPACK_IMPORTED_MODULE_1_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__),__WEBPACK_IMPORTED_MODULE_2_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_2_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_create_react_class__),__WEBPACK_IMPORTED_MODULE_3_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_4__getRouteParams__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__),__webpack_require__(286)),__WEBPACK_IMPORTED_MODULE_5__ContextUtils__=__webpack_require__(96),__WEBPACK_IMPORTED_MODULE_6__RouteUtils__=__webpack_require__(39),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},RouterContext=__WEBPACK_IMPORTED_MODULE_2_create_react_class___default()({displayName:"RouterContext",mixins:[Object(__WEBPACK_IMPORTED_MODULE_5__ContextUtils__.a)("router")],propTypes:{router:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired,location:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired,routes:__WEBPACK_IMPORTED_MODULE_3_prop_types__.array.isRequired,params:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired,components:__WEBPACK_IMPORTED_MODULE_3_prop_types__.array.isRequired,createElement:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func.isRequired},getDefaultProps:function(){return{createElement:__WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement}},childContextTypes:{router:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired},getChildContext:function(){return{router:this.props.router}},createElement:function(component,props){return null==component?null:this.props.createElement(component,props)},render:function(){var _this=this,_props=this.props,location=_props.location,routes=_props.routes,params=_props.params,components=_props.components,router=_props.router,element=null;return components&&(element=components.reduceRight(function(element,components,index){if(null==components)return element;var route=routes[index],routeParams=Object(__WEBPACK_IMPORTED_MODULE_4__getRouteParams__.a)(route,params),props={location:location,params:params,route:route,router:router,routeParams:routeParams,routes:routes};if(Object(__WEBPACK_IMPORTED_MODULE_6__RouteUtils__.c)(element))props.children=element;else if(element)for(var prop in element)Object.prototype.hasOwnProperty.call(element,prop)&&(props[prop]=element[prop]);if("object"===(void 0===components?"undefined":_typeof(components))){var elements={};for(var key in components)Object.prototype.hasOwnProperty.call(components,key)&&(elements[key]=_this.createElement(components[key],_extends({key:key},props)));return elements}return _this.createElement(components,props)},element)),null===element||!1===element||__WEBPACK_IMPORTED_MODULE_1_react___default.a.isValidElement(element)||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),element}});__webpack_exports__.a=RouterContext},function(module,__webpack_exports__,__webpack_require__){"use strict";function makeContextName(name){return"@@contextSubscriber/"+name}function ContextProvider(name){var _childContextTypes,_ref2,contextName=makeContextName(name),listenersKey=contextName+"/listeners",eventIndexKey=contextName+"/eventIndex",subscribeKey=contextName+"/subscribe";return _ref2={childContextTypes:(_childContextTypes={},_childContextTypes[contextName]=contextProviderShape.isRequired,_childContextTypes),getChildContext:function(){var _ref;return _ref={},_ref[contextName]={eventIndex:this[eventIndexKey],subscribe:this[subscribeKey]},_ref},componentWillMount:function(){this[listenersKey]=[],this[eventIndexKey]=0},componentWillReceiveProps:function(){this[eventIndexKey]++},componentDidUpdate:function(){var _this=this;this[listenersKey].forEach(function(listener){return listener(_this[eventIndexKey])})}},_ref2[subscribeKey]=function(listener){var _this2=this;return this[listenersKey].push(listener),function(){_this2[listenersKey]=_this2[listenersKey].filter(function(item){return item!==listener})}},_ref2}function ContextSubscriber(name){var _contextTypes,_ref4,contextName=makeContextName(name),lastRenderedEventIndexKey=contextName+"/lastRenderedEventIndex",handleContextUpdateKey=contextName+"/handleContextUpdate",unsubscribeKey=contextName+"/unsubscribe";return _ref4={contextTypes:(_contextTypes={},_contextTypes[contextName]=contextProviderShape,_contextTypes),getInitialState:function(){var _ref3;return this.context[contextName]?(_ref3={},_ref3[lastRenderedEventIndexKey]=this.context[contextName].eventIndex,_ref3):{}},componentDidMount:function(){this.context[contextName]&&(this[unsubscribeKey]=this.context[contextName].subscribe(this[handleContextUpdateKey]))},componentWillReceiveProps:function(){var _setState;this.context[contextName]&&this.setState((_setState={},_setState[lastRenderedEventIndexKey]=this.context[contextName].eventIndex,_setState))},componentWillUnmount:function(){this[unsubscribeKey]&&(this[unsubscribeKey](),this[unsubscribeKey]=null)}},_ref4[handleContextUpdateKey]=function(eventIndex){if(eventIndex!==this.state[lastRenderedEventIndexKey]){var _setState2;this.setState((_setState2={},_setState2[lastRenderedEventIndexKey]=eventIndex,_setState2))}},_ref4}__webpack_exports__.a=ContextProvider,__webpack_exports__.b=ContextSubscriber;var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_0_prop_types___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),contextProviderShape=__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({subscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,eventIndex:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number.isRequired})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",function(){return routerShape}),__webpack_require__.d(__webpack_exports__,"a",function(){return locationShape});var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(20),routerShape=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.shape)({push:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,replace:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,go:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goBack:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goForward:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,setRouteLeaveHook:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,isActive:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired})),locationShape=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.shape)({pathname:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string.isRequired,search:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string.isRequired,state:__WEBPACK_IMPORTED_MODULE_0_prop_types__.object,action:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string.isRequired,key:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string})},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _warning=__webpack_require__(38),runTransitionHook=(function(obj){obj&&obj.__esModule}(_warning),function(hook,location,callback){var result=hook(location,callback);hook.length<2&&callback(result)});exports.default=runTransitionHook},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _AsyncUtils=__webpack_require__(297),_PathUtils=__webpack_require__(40),_runTransitionHook=__webpack_require__(98),_runTransitionHook2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_runTransitionHook),_Actions=__webpack_require__(71),_LocationUtils=__webpack_require__(51),createHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},getCurrentLocation=options.getCurrentLocation,getUserConfirmation=options.getUserConfirmation,pushLocation=options.pushLocation,replaceLocation=options.replaceLocation,go=options.go,keyLength=options.keyLength,currentLocation=void 0,pendingLocation=void 0,beforeListeners=[],listeners=[],allKeys=[],getCurrentIndex=function(){return pendingLocation&&pendingLocation.action===_Actions.POP?allKeys.indexOf(pendingLocation.key):currentLocation?allKeys.indexOf(currentLocation.key):-1},updateLocation=function(nextLocation){var currentIndex=getCurrentIndex();currentLocation=nextLocation,currentLocation.action===_Actions.PUSH?allKeys=[].concat(allKeys.slice(0,currentIndex+1),[currentLocation.key]):currentLocation.action===_Actions.REPLACE&&(allKeys[currentIndex]=currentLocation.key),listeners.forEach(function(listener){return listener(currentLocation)})},listenBefore=function(listener){return beforeListeners.push(listener),function(){return beforeListeners=beforeListeners.filter(function(item){return item!==listener})}},listen=function(listener){return listeners.push(listener),function(){return listeners=listeners.filter(function(item){return item!==listener})}},confirmTransitionTo=function(location,callback){(0,_AsyncUtils.loopAsync)(beforeListeners.length,function(index,next,done){(0,_runTransitionHook2.default)(beforeListeners[index],location,function(result){return null!=result?done(result):next()})},function(message){getUserConfirmation&&"string"==typeof message?getUserConfirmation(message,function(ok){return callback(!1!==ok)}):callback(!1!==message)})},transitionTo=function(nextLocation){currentLocation&&(0,_LocationUtils.locationsAreEqual)(currentLocation,nextLocation)||pendingLocation&&(0,_LocationUtils.locationsAreEqual)(pendingLocation,nextLocation)||(pendingLocation=nextLocation,confirmTransitionTo(nextLocation,function(ok){if(pendingLocation===nextLocation)if(pendingLocation=null,ok){if(nextLocation.action===_Actions.PUSH){var prevPath=(0,_PathUtils.createPath)(currentLocation),nextPath=(0,_PathUtils.createPath)(nextLocation);nextPath===prevPath&&(0,_LocationUtils.statesAreEqual)(currentLocation.state,nextLocation.state)&&(nextLocation.action=_Actions.REPLACE)}nextLocation.action===_Actions.POP?updateLocation(nextLocation):nextLocation.action===_Actions.PUSH?!1!==pushLocation(nextLocation)&&updateLocation(nextLocation):nextLocation.action===_Actions.REPLACE&&!1!==replaceLocation(nextLocation)&&updateLocation(nextLocation)}else if(currentLocation&&nextLocation.action===_Actions.POP){var prevIndex=allKeys.indexOf(currentLocation.key),nextIndex=allKeys.indexOf(nextLocation.key);-1!==prevIndex&&-1!==nextIndex&&go(prevIndex-nextIndex)}}))},push=function(input){return transitionTo(createLocation(input,_Actions.PUSH))},replace=function(input){return transitionTo(createLocation(input,_Actions.REPLACE))},goBack=function(){return go(-1)},goForward=function(){return go(1)},createKey=function(){return Math.random().toString(36).substr(2,keyLength||6)},createHref=function(location){return(0,_PathUtils.createPath)(location)},createLocation=function(location,action){var key=arguments.length>2&&void 0!==arguments[2]?arguments[2]:createKey();return(0,_LocationUtils.createLocation)(location,action,key)};return{getCurrentLocation:getCurrentLocation,listenBefore:listenBefore,listen:listen,transitionTo:transitionTo,push:push,replace:replace,go:go,goBack:goBack,goForward:goForward,createKey:createKey,createPath:_PathUtils.createPath,createHref:createHref,createLocation:createLocation}};exports.default=createHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.go=exports.replaceLocation=exports.pushLocation=exports.startListener=exports.getUserConfirmation=exports.getCurrentLocation=void 0;var _LocationUtils=__webpack_require__(51),_DOMUtils=__webpack_require__(72),_DOMStateStorage=__webpack_require__(154),_PathUtils=__webpack_require__(40),_ExecutionEnvironment=__webpack_require__(100),needsHashchangeListener=_ExecutionEnvironment.canUseDOM&&!(0,_DOMUtils.supportsPopstateOnHashchange)(),_createLocation=function(historyState){var key=historyState&&historyState.key;return(0,_LocationUtils.createLocation)({pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,state:key?(0,_DOMStateStorage.readState)(key):void 0},void 0,key)},getCurrentLocation=exports.getCurrentLocation=function(){var historyState=void 0;try{historyState=window.history.state||{}}catch(error){historyState={}}return _createLocation(historyState)},updateLocation=(exports.getUserConfirmation=function(message,callback){return callback(window.confirm(message))},exports.startListener=function(listener){var handlePopState=function(event){(0,_DOMUtils.isExtraneousPopstateEvent)(event)||listener(_createLocation(event.state))};(0,_DOMUtils.addEventListener)(window,"popstate",handlePopState);var handleUnpoppedHashChange=function(){return listener(getCurrentLocation())};return needsHashchangeListener&&(0,_DOMUtils.addEventListener)(window,"hashchange",handleUnpoppedHashChange),function(){(0,_DOMUtils.removeEventListener)(window,"popstate",handlePopState),needsHashchangeListener&&(0,_DOMUtils.removeEventListener)(window,"hashchange",handleUnpoppedHashChange)}},function(location,updateState){var state=location.state,key=location.key;void 0!==state&&(0,_DOMStateStorage.saveState)(key,state),updateState({key:key},(0,_PathUtils.createPath)(location))});exports.pushLocation=function(location){return updateLocation(location,function(state,path){return window.history.pushState(state,null,path)})},exports.replaceLocation=function(location){return updateLocation(location,function(state,path){return window.history.replaceState(state,null,path)})},exports.go=function(n){n&&window.history.go(n)}},function(module,exports,__webpack_require__){(function(process){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){var MutationObs,capturedSetTimeout="undefined"!=typeof setTimeout&&setTimeout,setTimer=function(f,ms){return setTimeout(f,ms)},clearTimer=function(t){return clearTimeout(t)},asap=function(f){return capturedSetTimeout(f,0)};if(function(){return void 0!==process&&"[object process]"===Object.prototype.toString.call(process)}())asap=function(f){return process.nextTick(f)};else if(MutationObs=function(){return"undefined"!=typeof MutationObserver&&MutationObserver||"undefined"!=typeof WebKitMutationObserver&&WebKitMutationObserver}())asap=function(MutationObserver){function run(){var f=scheduled;scheduled=void 0,f()}var scheduled,node=document.createTextNode("");new MutationObserver(run).observe(node,{characterData:!0});var i=0;return function(f){scheduled=f,node.data=i^=1}}(MutationObs);else if(!capturedSetTimeout){var vertx=__webpack_require__(324);setTimer=function(f,ms){return vertx.setTimer(ms,f)},clearTimer=vertx.cancelTimer,asap=vertx.runOnLoop||vertx.runOnContext}return{setTimer:setTimer,clearTimer:clearTimer,asap:asap}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))}).call(exports,__webpack_require__(70))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),ConfirmationButton=(_interopRequireDefault(_reactFontawesome),function(_React$Component){function ConfirmationButton(props){_classCallCheck(this,ConfirmationButton);var _this=_possibleConstructorReturn(this,(ConfirmationButton.__proto__||Object.getPrototypeOf(ConfirmationButton)).call(this,props));return _this.state={timing_out:!1,confirming:!1},_this.confirming=!1,_this.unconfirmTimer=!1,_this}return _inherits(ConfirmationButton,_React$Component),_createClass(ConfirmationButton,[{key:"componentWillUnmount",value:function(){clearTimeout(this.unconfirmTimer)}},{key:"handleClick",value:function(e){this.state.confirming?(this.setState({confirming:!1}),this.props.onConfirm()):this.setState({confirming:!0})}},{key:"handleMouseEnter",value:function(e){this.setState({timing_out:!1}),clearTimeout(this.unconfirmTimer)}},{key:"handleMouseLeave",value:function(e){this.state.confirming&&(this.setState({timing_out:!0}),this.unconfirmTimer=setTimeout(function(){this.setState({confirming:!1})}.bind(this),2e3))}},{key:"render",value:function(){var _this2=this,className="button",content=this.props.content;return this.state.confirming&&(className+=" confirming",content=this.props.confirmingContent,this.state.timing_out&&(className+=" timing-out")),this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("button",{className:className,onClick:function(e){return _this2.handleClick(e)},onMouseLeave:function(e){return _this2.handleMouseLeave(e)},onMouseEnter:function(e){return _this2.handleMouseEnter(e)}},content)}}]),ConfirmationButton}(_react2.default.Component));exports.default=ConfirmationButton},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=(__webpack_require__(6),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),FilterField=function(_React$Component){function FilterField(props){_classCallCheck(this,FilterField);var _this=_possibleConstructorReturn(this,(FilterField.__proto__||Object.getPrototypeOf(FilterField)).call(this,props));return _this.state={value:"",active:!!_this.props.slim_mode},_this.handleKeyUp=_this.handleKeyUp.bind(_this),_this}return _inherits(FilterField,_React$Component),_createClass(FilterField,[{key:"componentWillMount",value:function(){window.addEventListener("keyup",this.handleKeyUp,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keyup",this.handleKeyUp,!1)}},{key:"handleKeyUp",value:function(e){27!=e.keyCode||this.props.slim_mode||(e.preventDefault(),this.setState({value:"",active:!1}),this.handleChange(""))}},{key:"activate",value:function(){this.setState({active:!0})}},{key:"handleChange",value:function(value){this.setState({value:value,active:!!this.props.slim_mode||""!=value}),this.props.handleChange(value)}},{key:"handleBlur",value:function(){""!=this.state.value||this.props.slim_mode||this.setState({active:!1})}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("span",{className:"filter-field "+(this.state.active?"active":""),onClick:function(e){return _this2.activate()}},_react2.default.createElement("form",null,_react2.default.createElement(_reactFontawesome2.default,{name:"search"}),_react2.default.createElement("input",{type:"text",placeholder:"Filter",value:this.state.value,onFocus:function(e){return _this2.activate()},onBlur:function(e){return _this2.handleBlur()},onChange:function(e){return _this2.handleChange(e.target.value)}})))}}]),FilterField}(_react2.default.Component);exports.default=FilterField},function(module,exports,__webpack_require__){"use strict";function ReactComponent(props,context,updater){this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue}function ReactPureComponent(props,context,updater){this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue}function ComponentDummy(){}var _prodInvariant=__webpack_require__(53),_assign=__webpack_require__(13),ReactNoopUpdateQueue=__webpack_require__(106),emptyObject=(__webpack_require__(107),__webpack_require__(63));__webpack_require__(7),__webpack_require__(165);ReactComponent.prototype.isReactComponent={},ReactComponent.prototype.setState=function(partialState,callback){"object"!=typeof partialState&&"function"!=typeof partialState&&null!=partialState&&_prodInvariant("85"),this.updater.enqueueSetState(this,partialState),callback&&this.updater.enqueueCallback(this,callback,"setState")},ReactComponent.prototype.forceUpdate=function(callback){this.updater.enqueueForceUpdate(this),callback&&this.updater.enqueueCallback(this,callback,"forceUpdate")};ComponentDummy.prototype=ReactComponent.prototype,ReactPureComponent.prototype=new ComponentDummy,ReactPureComponent.prototype.constructor=ReactPureComponent,_assign(ReactPureComponent.prototype,ReactComponent.prototype),ReactPureComponent.prototype.isPureReactComponent=!0,module.exports={Component:ReactComponent,PureComponent:ReactPureComponent}},function(module,exports,__webpack_require__){"use strict";var ReactNoopUpdateQueue=(__webpack_require__(10),{isMounted:function(publicInstance){return!1},enqueueCallback:function(publicInstance,callback){},enqueueForceUpdate:function(publicInstance){},enqueueReplaceState:function(publicInstance,completeState){},enqueueSetState:function(publicInstance,partialState){}});module.exports=ReactNoopUpdateQueue},function(module,exports,__webpack_require__){"use strict";var canDefineProperty=!1;module.exports=canDefineProperty},function(module,exports,__webpack_require__){"use strict";var REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;module.exports=REACT_ELEMENT_TYPE},function(module,exports,__webpack_require__){"use strict";var factory=__webpack_require__(173);module.exports=function(isValidElement){return factory(isValidElement,!1)}},function(module,exports,__webpack_require__){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(module,exports,__webpack_require__){"use strict";function identity(fn){return fn}function factory(ReactComponent,isValidElement,ReactNoopUpdateQueue){function validateMethodOverride(isAlreadyDefined,name){var specPolicy=ReactClassInterface.hasOwnProperty(name)?ReactClassInterface[name]:null;ReactClassMixin.hasOwnProperty(name)&&_invariant("OVERRIDE_BASE"===specPolicy,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",name),isAlreadyDefined&&_invariant("DEFINE_MANY"===specPolicy||"DEFINE_MANY_MERGED"===specPolicy,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",name)}function mixSpecIntoComponent(Constructor,spec){if(spec){_invariant("function"!=typeof spec,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),_invariant(!isValidElement(spec),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var proto=Constructor.prototype,autoBindPairs=proto.__reactAutoBindPairs;spec.hasOwnProperty(MIXINS_KEY)&&RESERVED_SPEC_KEYS.mixins(Constructor,spec.mixins);for(var name in spec)if(spec.hasOwnProperty(name)&&name!==MIXINS_KEY){var property=spec[name],isAlreadyDefined=proto.hasOwnProperty(name);if(validateMethodOverride(isAlreadyDefined,name),RESERVED_SPEC_KEYS.hasOwnProperty(name))RESERVED_SPEC_KEYS[name](Constructor,property);else{var isReactClassMethod=ReactClassInterface.hasOwnProperty(name),isFunction="function"==typeof property,shouldAutoBind=isFunction&&!isReactClassMethod&&!isAlreadyDefined&&!1!==spec.autobind;if(shouldAutoBind)autoBindPairs.push(name,property),proto[name]=property;else if(isAlreadyDefined){var specPolicy=ReactClassInterface[name];_invariant(isReactClassMethod&&("DEFINE_MANY_MERGED"===specPolicy||"DEFINE_MANY"===specPolicy),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",specPolicy,name),"DEFINE_MANY_MERGED"===specPolicy?proto[name]=createMergedResultFunction(proto[name],property):"DEFINE_MANY"===specPolicy&&(proto[name]=createChainedFunction(proto[name],property))}else proto[name]=property}}}else;}function mixStaticSpecIntoComponent(Constructor,statics){if(statics)for(var name in statics){var property=statics[name];if(statics.hasOwnProperty(name)){var isReserved=name in RESERVED_SPEC_KEYS;_invariant(!isReserved,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',name);var isInherited=name in Constructor;_invariant(!isInherited,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",name),Constructor[name]=property}}}function mergeIntoWithNoDuplicateKeys(one,two){_invariant(one&&two&&"object"==typeof one&&"object"==typeof two,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var key in two)two.hasOwnProperty(key)&&(_invariant(void 0===one[key],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",key),one[key]=two[key]);return one}function createMergedResultFunction(one,two){return function(){var a=one.apply(this,arguments),b=two.apply(this,arguments);if(null==a)return b;if(null==b)return a;var c={};return mergeIntoWithNoDuplicateKeys(c,a),mergeIntoWithNoDuplicateKeys(c,b),c}}function createChainedFunction(one,two){return function(){one.apply(this,arguments),two.apply(this,arguments)}}function bindAutoBindMethod(component,method){var boundMethod=method.bind(component);return boundMethod}function bindAutoBindMethods(component){for(var pairs=component.__reactAutoBindPairs,i=0;i<pairs.length;i+=2){var autoBindKey=pairs[i],method=pairs[i+1];component[autoBindKey]=bindAutoBindMethod(component,method)}}function createClass(spec){var Constructor=identity(function(props,context,updater){this.__reactAutoBindPairs.length&&bindAutoBindMethods(this),this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue,this.state=null;var initialState=this.getInitialState?this.getInitialState():null;_invariant("object"==typeof initialState&&!Array.isArray(initialState),"%s.getInitialState(): must return an object or null",Constructor.displayName||"ReactCompositeComponent"),this.state=initialState});Constructor.prototype=new ReactClassComponent,Constructor.prototype.constructor=Constructor,Constructor.prototype.__reactAutoBindPairs=[],injectedMixins.forEach(mixSpecIntoComponent.bind(null,Constructor)),mixSpecIntoComponent(Constructor,IsMountedPreMixin),mixSpecIntoComponent(Constructor,spec),mixSpecIntoComponent(Constructor,IsMountedPostMixin),Constructor.getDefaultProps&&(Constructor.defaultProps=Constructor.getDefaultProps()),_invariant(Constructor.prototype.render,"createClass(...): Class specification must implement a `render` method.");for(var methodName in ReactClassInterface)Constructor.prototype[methodName]||(Constructor.prototype[methodName]=null);return Constructor}var injectedMixins=[],ReactClassInterface={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},RESERVED_SPEC_KEYS={displayName:function(Constructor,displayName){Constructor.displayName=displayName},mixins:function(Constructor,mixins){if(mixins)for(var i=0;i<mixins.length;i++)mixSpecIntoComponent(Constructor,mixins[i])},childContextTypes:function(Constructor,childContextTypes){Constructor.childContextTypes=_assign({},Constructor.childContextTypes,childContextTypes)},contextTypes:function(Constructor,contextTypes){Constructor.contextTypes=_assign({},Constructor.contextTypes,contextTypes)},getDefaultProps:function(Constructor,getDefaultProps){Constructor.getDefaultProps?Constructor.getDefaultProps=createMergedResultFunction(Constructor.getDefaultProps,getDefaultProps):Constructor.getDefaultProps=getDefaultProps},propTypes:function(Constructor,propTypes){Constructor.propTypes=_assign({},Constructor.propTypes,propTypes)},statics:function(Constructor,statics){mixStaticSpecIntoComponent(Constructor,statics)},autobind:function(){}},IsMountedPreMixin={componentDidMount:function(){this.__isMounted=!0}},IsMountedPostMixin={componentWillUnmount:function(){this.__isMounted=!1}},ReactClassMixin={replaceState:function(newState,callback){this.updater.enqueueReplaceState(this,newState,callback)},isMounted:function(){return!!this.__isMounted}},ReactClassComponent=function(){};return _assign(ReactClassComponent.prototype,ReactComponent.prototype,ReactClassMixin),createClass}var _assign=__webpack_require__(13),emptyObject=__webpack_require__(63),_invariant=__webpack_require__(7),MIXINS_KEY="mixins";module.exports=factory},function(module,exports,__webpack_require__){"use strict";var ReactDOMComponentFlags={hasCachedChildNodes:1};module.exports=ReactDOMComponentFlags},function(module,exports,__webpack_require__){"use strict";function accumulateInto(current,next){return null==next&&_prodInvariant("30"),null==current?next:Array.isArray(current)?Array.isArray(next)?(current.push.apply(current,next),current):(current.push(next),current):Array.isArray(next)?[current].concat(next):[current,next]}var _prodInvariant=__webpack_require__(11);__webpack_require__(7);module.exports=accumulateInto},function(module,exports,__webpack_require__){"use strict";function forEachAccumulated(arr,cb,scope){Array.isArray(arr)?arr.forEach(cb,scope):arr&&cb.call(scope,arr)}module.exports=forEachAccumulated},function(module,exports,__webpack_require__){"use strict";function getTextContentAccessor(){return!contentKey&&ExecutionEnvironment.canUseDOM&&(contentKey="textContent"in document.documentElement?"textContent":"innerText"),contentKey}var ExecutionEnvironment=__webpack_require__(24),contentKey=null;module.exports=getTextContentAccessor},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _prodInvariant=__webpack_require__(11),PooledClass=__webpack_require__(42),CallbackQueue=(__webpack_require__(7),function(){function CallbackQueue(arg){_classCallCheck(this,CallbackQueue),this._callbacks=null,this._contexts=null,this._arg=arg}return CallbackQueue.prototype.enqueue=function(callback,context){this._callbacks=this._callbacks||[],this._callbacks.push(callback),this._contexts=this._contexts||[],this._contexts.push(context)},CallbackQueue.prototype.notifyAll=function(){var callbacks=this._callbacks,contexts=this._contexts,arg=this._arg;if(callbacks&&contexts){callbacks.length!==contexts.length&&_prodInvariant("24"),this._callbacks=null,this._contexts=null;for(var i=0;i<callbacks.length;i++)callbacks[i].call(contexts[i],arg);callbacks.length=0,contexts.length=0}},CallbackQueue.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},CallbackQueue.prototype.rollback=function(len){this._callbacks&&this._contexts&&(this._callbacks.length=len,this._contexts.length=len)},CallbackQueue.prototype.reset=function(){this._callbacks=null,this._contexts=null},CallbackQueue.prototype.destructor=function(){this.reset()},CallbackQueue}());module.exports=PooledClass.addPoolingTo(CallbackQueue)},function(module,exports,__webpack_require__){"use strict";var ReactFeatureFlags={logTopLevelRenders:!1};module.exports=ReactFeatureFlags},function(module,exports,__webpack_require__){"use strict";function isCheckable(elem){var type=elem.type,nodeName=elem.nodeName;return nodeName&&"input"===nodeName.toLowerCase()&&("checkbox"===type||"radio"===type)}function getTracker(inst){return inst._wrapperState.valueTracker}function attachTracker(inst,tracker){inst._wrapperState.valueTracker=tracker}function detachTracker(inst){inst._wrapperState.valueTracker=null}function getValueFromNode(node){var value;return node&&(value=isCheckable(node)?""+node.checked:node.value),value}var ReactDOMComponentTree=__webpack_require__(14),inputValueTracking={_getTrackerFromNode:function(node){return getTracker(ReactDOMComponentTree.getInstanceFromNode(node))},track:function(inst){if(!getTracker(inst)){var node=ReactDOMComponentTree.getNodeFromInstance(inst),valueField=isCheckable(node)?"checked":"value",descriptor=Object.getOwnPropertyDescriptor(node.constructor.prototype,valueField),currentValue=""+node[valueField];node.hasOwnProperty(valueField)||"function"!=typeof descriptor.get||"function"!=typeof descriptor.set||(Object.defineProperty(node,valueField,{enumerable:descriptor.enumerable,configurable:!0,get:function(){return descriptor.get.call(this)},set:function(value){currentValue=""+value,descriptor.set.call(this,value)}}),attachTracker(inst,{getValue:function(){return currentValue},setValue:function(value){currentValue=""+value},stopTracking:function(){detachTracker(inst),delete node[valueField]}}))}},updateValueIfChanged:function(inst){if(!inst)return!1;var tracker=getTracker(inst);if(!tracker)return inputValueTracking.track(inst),!0;var lastValue=tracker.getValue(),nextValue=getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst));return nextValue!==lastValue&&(tracker.setValue(nextValue),!0)},stopTracking:function(inst){var tracker=getTracker(inst);tracker&&tracker.stopTracking()}};module.exports=inputValueTracking},function(module,exports,__webpack_require__){"use strict";function isTextInputElement(elem){var nodeName=elem&&elem.nodeName&&elem.nodeName.toLowerCase();return"input"===nodeName?!!supportedInputTypes[elem.type]:"textarea"===nodeName}var supportedInputTypes={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};module.exports=isTextInputElement},function(module,exports,__webpack_require__){"use strict";var ViewportMetrics={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(scrollPosition){ViewportMetrics.currentScrollLeft=scrollPosition.x,ViewportMetrics.currentScrollTop=scrollPosition.y}};module.exports=ViewportMetrics},function(module,exports,__webpack_require__){"use strict";var ExecutionEnvironment=__webpack_require__(24),escapeTextContentForBrowser=__webpack_require__(68),setInnerHTML=__webpack_require__(67),setTextContent=function(node,text){if(text){var firstChild=node.firstChild;if(firstChild&&firstChild===node.lastChild&&3===firstChild.nodeType)return void(firstChild.nodeValue=text)}node.textContent=text};ExecutionEnvironment.canUseDOM&&("textContent"in document.documentElement||(setTextContent=function(node,text){if(3===node.nodeType)return void(node.nodeValue=text);setInnerHTML(node,escapeTextContentForBrowser(text))})),module.exports=setTextContent},function(module,exports,__webpack_require__){"use strict";function focusNode(node){try{node.focus()}catch(e){}}module.exports=focusNode},function(module,exports,__webpack_require__){"use strict";function prefixKey(prefix,key){return prefix+key.charAt(0).toUpperCase()+key.substring(1)}var isUnitlessNumber={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},prefixes=["Webkit","ms","Moz","O"];Object.keys(isUnitlessNumber).forEach(function(prop){prefixes.forEach(function(prefix){isUnitlessNumber[prefixKey(prefix,prop)]=isUnitlessNumber[prop]})});var shorthandPropertyExpansions={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},CSSProperty={isUnitlessNumber:isUnitlessNumber,shorthandPropertyExpansions:shorthandPropertyExpansions};module.exports=CSSProperty},function(module,exports,__webpack_require__){"use strict";function isAttributeNameSafe(attributeName){return!!validatedAttributeNameCache.hasOwnProperty(attributeName)||!illegalAttributeNameCache.hasOwnProperty(attributeName)&&(VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)?(validatedAttributeNameCache[attributeName]=!0,!0):(illegalAttributeNameCache[attributeName]=!0,!1))}function shouldIgnoreValue(propertyInfo,value){return null==value||propertyInfo.hasBooleanValue&&!value||propertyInfo.hasNumericValue&&isNaN(value)||propertyInfo.hasPositiveNumericValue&&value<1||propertyInfo.hasOverloadedBooleanValue&&!1===value}var DOMProperty=__webpack_require__(46),quoteAttributeValueForBrowser=(__webpack_require__(14),__webpack_require__(29),__webpack_require__(206)),VALID_ATTRIBUTE_NAME_REGEX=(__webpack_require__(10),new RegExp("^["+DOMProperty.ATTRIBUTE_NAME_START_CHAR+"]["+DOMProperty.ATTRIBUTE_NAME_CHAR+"]*$")),illegalAttributeNameCache={},validatedAttributeNameCache={},DOMPropertyOperations={createMarkupForID:function(id){return DOMProperty.ID_ATTRIBUTE_NAME+"="+quoteAttributeValueForBrowser(id)},setAttributeForID:function(node,id){node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME,id)},createMarkupForRoot:function(){return DOMProperty.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(node){node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(name,value){var propertyInfo=DOMProperty.properties.hasOwnProperty(name)?DOMProperty.properties[name]:null;if(propertyInfo){if(shouldIgnoreValue(propertyInfo,value))return"";var attributeName=propertyInfo.attributeName;return propertyInfo.hasBooleanValue||propertyInfo.hasOverloadedBooleanValue&&!0===value?attributeName+'=""':attributeName+"="+quoteAttributeValueForBrowser(value)}return DOMProperty.isCustomAttribute(name)?null==value?"":name+"="+quoteAttributeValueForBrowser(value):null},createMarkupForCustomAttribute:function(name,value){return isAttributeNameSafe(name)&&null!=value?name+"="+quoteAttributeValueForBrowser(value):""},setValueForProperty:function(node,name,value){var propertyInfo=DOMProperty.properties.hasOwnProperty(name)?DOMProperty.properties[name]:null;if(propertyInfo){var mutationMethod=propertyInfo.mutationMethod;if(mutationMethod)mutationMethod(node,value);else{if(shouldIgnoreValue(propertyInfo,value))return void this.deleteValueForProperty(node,name);if(propertyInfo.mustUseProperty)node[propertyInfo.propertyName]=value;else{var attributeName=propertyInfo.attributeName,namespace=propertyInfo.attributeNamespace;namespace?node.setAttributeNS(namespace,attributeName,""+value):propertyInfo.hasBooleanValue||propertyInfo.hasOverloadedBooleanValue&&!0===value?node.setAttribute(attributeName,""):node.setAttribute(attributeName,""+value)}}}else if(DOMProperty.isCustomAttribute(name))return void DOMPropertyOperations.setValueForAttribute(node,name,value)},setValueForAttribute:function(node,name,value){if(isAttributeNameSafe(name)){null==value?node.removeAttribute(name):node.setAttribute(name,""+value)}},deleteValueForAttribute:function(node,name){node.removeAttribute(name)},deleteValueForProperty:function(node,name){var propertyInfo=DOMProperty.properties.hasOwnProperty(name)?DOMProperty.properties[name]:null;if(propertyInfo){var mutationMethod=propertyInfo.mutationMethod;if(mutationMethod)mutationMethod(node,void 0);else if(propertyInfo.mustUseProperty){var propName=propertyInfo.propertyName;propertyInfo.hasBooleanValue?node[propName]=!1:node[propName]=""}else node.removeAttribute(propertyInfo.attributeName)}else DOMProperty.isCustomAttribute(name)&&node.removeAttribute(name)}};module.exports=DOMPropertyOperations},function(module,exports,__webpack_require__){"use strict";function updateOptionsIfPendingUpdateAndMounted(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var props=this._currentElement.props,value=LinkedValueUtils.getValue(props);null!=value&&updateOptions(this,Boolean(props.multiple),value)}}function updateOptions(inst,multiple,propValue){var selectedValue,i,options=ReactDOMComponentTree.getNodeFromInstance(inst).options;if(multiple){for(selectedValue={},i=0;i<propValue.length;i++)selectedValue[""+propValue[i]]=!0;for(i=0;i<options.length;i++){var selected=selectedValue.hasOwnProperty(options[i].value);options[i].selected!==selected&&(options[i].selected=selected)}}else{for(selectedValue=""+propValue,i=0;i<options.length;i++)if(options[i].value===selectedValue)return void(options[i].selected=!0);options.length&&(options[0].selected=!0)}}function _handleChange(event){var props=this._currentElement.props,returnValue=LinkedValueUtils.executeOnChange(props,event);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted,this),returnValue}var _assign=__webpack_require__(13),LinkedValueUtils=__webpack_require__(84),ReactDOMComponentTree=__webpack_require__(14),ReactUpdates=__webpack_require__(33),didWarnValueDefaultValue=(__webpack_require__(10),!1),ReactDOMSelect={getHostProps:function(inst,props){return _assign({},props,{onChange:inst._wrapperState.onChange,value:void 0})},mountWrapper:function(inst,props){var value=LinkedValueUtils.getValue(props);inst._wrapperState={pendingUpdate:!1,initialValue:null!=value?value:props.defaultValue,listeners:null,onChange:_handleChange.bind(inst),wasMultiple:Boolean(props.multiple)},void 0===props.value||void 0===props.defaultValue||didWarnValueDefaultValue||(didWarnValueDefaultValue=!0)},getSelectValueContext:function(inst){return inst._wrapperState.initialValue},postUpdateWrapper:function(inst){var props=inst._currentElement.props;inst._wrapperState.initialValue=void 0;var wasMultiple=inst._wrapperState.wasMultiple;inst._wrapperState.wasMultiple=Boolean(props.multiple);var value=LinkedValueUtils.getValue(props);null!=value?(inst._wrapperState.pendingUpdate=!1,updateOptions(inst,Boolean(props.multiple),value)):wasMultiple!==Boolean(props.multiple)&&(null!=props.defaultValue?updateOptions(inst,Boolean(props.multiple),props.defaultValue):updateOptions(inst,Boolean(props.multiple),props.multiple?[]:""))}};module.exports=ReactDOMSelect},function(module,exports,__webpack_require__){"use strict";function getDeclarationErrorAddendum(owner){if(owner){var name=owner.getName();if(name)return" Check the render method of `"+name+"`."}return""}function isInternalComponentType(type){return"function"==typeof type&&void 0!==type.prototype&&"function"==typeof type.prototype.mountComponent&&"function"==typeof type.prototype.receiveComponent}function instantiateReactComponent(node,shouldHaveDebugID){var instance;if(null===node||!1===node)instance=ReactEmptyComponent.create(instantiateReactComponent);else if("object"==typeof node){var element=node,type=element.type;if("function"!=typeof type&&"string"!=typeof type){var info="";info+=getDeclarationErrorAddendum(element._owner),_prodInvariant("130",null==type?type:typeof type,info)}"string"==typeof element.type?instance=ReactHostComponent.createInternalComponent(element):isInternalComponentType(element.type)?(instance=new element.type(element),instance.getHostNode||(instance.getHostNode=instance.getNativeNode)):instance=new ReactCompositeComponentWrapper(element)}else"string"==typeof node||"number"==typeof node?instance=ReactHostComponent.createInstanceForText(node):_prodInvariant("131",typeof node);return instance._mountIndex=0,instance._mountImage=null,instance}var _prodInvariant=__webpack_require__(11),_assign=__webpack_require__(13),ReactCompositeComponent=__webpack_require__(215),ReactEmptyComponent=__webpack_require__(128),ReactHostComponent=__webpack_require__(129),ReactCompositeComponentWrapper=(__webpack_require__(216),__webpack_require__(7),__webpack_require__(10),function(element){this.construct(element)});_assign(ReactCompositeComponentWrapper.prototype,ReactCompositeComponent,{_instantiateReactComponent:instantiateReactComponent}),module.exports=instantiateReactComponent},function(module,exports,__webpack_require__){"use strict";var _prodInvariant=__webpack_require__(11),React=__webpack_require__(44),ReactNodeTypes=(__webpack_require__(7),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(node){return null===node||!1===node?ReactNodeTypes.EMPTY:React.isValidElement(node)?"function"==typeof node.type?ReactNodeTypes.COMPOSITE:ReactNodeTypes.HOST:void _prodInvariant("26",node)}});module.exports=ReactNodeTypes},function(module,exports,__webpack_require__){"use strict";var emptyComponentFactory,ReactEmptyComponentInjection={injectEmptyComponentFactory:function(factory){emptyComponentFactory=factory}},ReactEmptyComponent={create:function(instantiate){return emptyComponentFactory(instantiate)}};ReactEmptyComponent.injection=ReactEmptyComponentInjection,module.exports=ReactEmptyComponent},function(module,exports,__webpack_require__){"use strict";function createInternalComponent(element){return genericComponentClass||_prodInvariant("111",element.type),new genericComponentClass(element)}function createInstanceForText(text){return new textComponentClass(text)}function isTextComponent(component){return component instanceof textComponentClass}var _prodInvariant=__webpack_require__(11),genericComponentClass=(__webpack_require__(7),null),textComponentClass=null,ReactHostComponentInjection={injectGenericComponentClass:function(componentClass){genericComponentClass=componentClass},injectTextComponentClass:function(componentClass){textComponentClass=componentClass}},ReactHostComponent={createInternalComponent:createInternalComponent,createInstanceForText:createInstanceForText,isTextComponent:isTextComponent,injection:ReactHostComponentInjection};module.exports=ReactHostComponent},function(module,exports,__webpack_require__){"use strict";function getComponentKey(component,index){return component&&"object"==typeof component&&null!=component.key?KeyEscapeUtils.escape(component.key):index.toString(36)}function traverseAllChildrenImpl(children,nameSoFar,callback,traverseContext){var type=typeof children;if("undefined"!==type&&"boolean"!==type||(children=null),null===children||"string"===type||"number"===type||"object"===type&&children.$$typeof===REACT_ELEMENT_TYPE)return callback(traverseContext,children,""===nameSoFar?SEPARATOR+getComponentKey(children,0):nameSoFar),1;var child,nextName,subtreeCount=0,nextNamePrefix=""===nameSoFar?SEPARATOR:nameSoFar+SUBSEPARATOR;if(Array.isArray(children))for(var i=0;i<children.length;i++)child=children[i],nextName=nextNamePrefix+getComponentKey(child,i),subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);else{var iteratorFn=getIteratorFn(children);if(iteratorFn){var step,iterator=iteratorFn.call(children);if(iteratorFn!==children.entries)for(var ii=0;!(step=iterator.next()).done;)child=step.value,nextName=nextNamePrefix+getComponentKey(child,ii++),subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);else for(;!(step=iterator.next()).done;){var entry=step.value;entry&&(child=entry[1],nextName=nextNamePrefix+KeyEscapeUtils.escape(entry[0])+SUBSEPARATOR+getComponentKey(child,0),subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext))}}else if("object"===type){var addendum="",childrenString=String(children);_prodInvariant("31","[object Object]"===childrenString?"object with keys {"+Object.keys(children).join(", ")+"}":childrenString,addendum)}}return subtreeCount}function traverseAllChildren(children,callback,traverseContext){return null==children?0:traverseAllChildrenImpl(children,"",callback,traverseContext)}var _prodInvariant=__webpack_require__(11),REACT_ELEMENT_TYPE=(__webpack_require__(34),__webpack_require__(217)),getIteratorFn=__webpack_require__(218),KeyEscapeUtils=(__webpack_require__(7),__webpack_require__(88)),SEPARATOR=(__webpack_require__(10),"."),SUBSEPARATOR=":";module.exports=traverseAllChildren},function(module,exports,__webpack_require__){"use strict";function isNative(fn){var funcToString=Function.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");try{var source=funcToString.call(fn);return reIsNative.test(source)}catch(err){return!1}}function purgeDeep(id){var item=getItem(id);if(item){var childIDs=item.childIDs;removeItem(id),childIDs.forEach(purgeDeep)}}function describeComponentFrame(name,source,ownerName){return"\n in "+(name||"Unknown")+(source?" (at "+source.fileName.replace(/^.*[\\\/]/,"")+":"+source.lineNumber+")":ownerName?" (created by "+ownerName+")":"")}function getDisplayName(element){return null==element?"#empty":"string"==typeof element||"number"==typeof element?"#text":"string"==typeof element.type?element.type:element.type.displayName||element.type.name||"Unknown"}function describeID(id){var ownerName,name=ReactComponentTreeHook.getDisplayName(id),element=ReactComponentTreeHook.getElement(id),ownerID=ReactComponentTreeHook.getOwnerID(id);return ownerID&&(ownerName=ReactComponentTreeHook.getDisplayName(ownerID)),describeComponentFrame(name,element&&element._source,ownerName)}var setItem,getItem,removeItem,getItemIDs,addRoot,removeRoot,getRootIDs,_prodInvariant=__webpack_require__(53),ReactCurrentOwner=__webpack_require__(34),canUseCollections=(__webpack_require__(7),__webpack_require__(10),"function"==typeof Array.from&&"function"==typeof Map&&isNative(Map)&&null!=Map.prototype&&"function"==typeof Map.prototype.keys&&isNative(Map.prototype.keys)&&"function"==typeof Set&&isNative(Set)&&null!=Set.prototype&&"function"==typeof Set.prototype.keys&&isNative(Set.prototype.keys));if(canUseCollections){var itemMap=new Map,rootIDSet=new Set;setItem=function(id,item){itemMap.set(id,item)},getItem=function(id){return itemMap.get(id)},removeItem=function(id){itemMap.delete(id)},getItemIDs=function(){return Array.from(itemMap.keys())},addRoot=function(id){rootIDSet.add(id)},removeRoot=function(id){rootIDSet.delete(id)},getRootIDs=function(){return Array.from(rootIDSet.keys())}}else{var itemByKey={},rootByKey={},getKeyFromID=function(id){return"."+id},getIDFromKey=function(key){return parseInt(key.substr(1),10)};setItem=function(id,item){var key=getKeyFromID(id);itemByKey[key]=item},getItem=function(id){var key=getKeyFromID(id);return itemByKey[key]},removeItem=function(id){var key=getKeyFromID(id);delete itemByKey[key]},getItemIDs=function(){return Object.keys(itemByKey).map(getIDFromKey)},addRoot=function(id){var key=getKeyFromID(id);rootByKey[key]=!0},removeRoot=function(id){var key=getKeyFromID(id);delete rootByKey[key]},getRootIDs=function(){return Object.keys(rootByKey).map(getIDFromKey)}}var unmountedIDs=[],ReactComponentTreeHook={onSetChildren:function(id,nextChildIDs){var item=getItem(id);item||_prodInvariant("144"),item.childIDs=nextChildIDs;for(var i=0;i<nextChildIDs.length;i++){var nextChildID=nextChildIDs[i],nextChild=getItem(nextChildID);nextChild||_prodInvariant("140"),null==nextChild.childIDs&&"object"==typeof nextChild.element&&null!=nextChild.element&&_prodInvariant("141"),nextChild.isMounted||_prodInvariant("71"),null==nextChild.parentID&&(nextChild.parentID=id),nextChild.parentID!==id&&_prodInvariant("142",nextChildID,nextChild.parentID,id)}},onBeforeMountComponent:function(id,element,parentID){setItem(id,{element:element,parentID:parentID,text:null,childIDs:[],isMounted:!1,updateCount:0})},onBeforeUpdateComponent:function(id,element){var item=getItem(id);item&&item.isMounted&&(item.element=element)},onMountComponent:function(id){var item=getItem(id);item||_prodInvariant("144"),item.isMounted=!0,0===item.parentID&&addRoot(id)},onUpdateComponent:function(id){var item=getItem(id);item&&item.isMounted&&item.updateCount++},onUnmountComponent:function(id){var item=getItem(id);if(item){item.isMounted=!1;0===item.parentID&&removeRoot(id)}unmountedIDs.push(id)},purgeUnmountedComponents:function(){if(!ReactComponentTreeHook._preventPurging){for(var i=0;i<unmountedIDs.length;i++){purgeDeep(unmountedIDs[i])}unmountedIDs.length=0}},isMounted:function(id){var item=getItem(id);return!!item&&item.isMounted},getCurrentStackAddendum:function(topElement){var info="";if(topElement){var name=getDisplayName(topElement),owner=topElement._owner;info+=describeComponentFrame(name,topElement._source,owner&&owner.getName())}var currentOwner=ReactCurrentOwner.current,id=currentOwner&&currentOwner._debugID;return info+=ReactComponentTreeHook.getStackAddendumByID(id)},getStackAddendumByID:function(id){for(var info="";id;)info+=describeID(id),id=ReactComponentTreeHook.getParentID(id);return info},getChildIDs:function(id){var item=getItem(id);return item?item.childIDs:[]},getDisplayName:function(id){var element=ReactComponentTreeHook.getElement(id);return element?getDisplayName(element):null},getElement:function(id){var item=getItem(id);return item?item.element:null},getOwnerID:function(id){var element=ReactComponentTreeHook.getElement(id);return element&&element._owner?element._owner._debugID:null},getParentID:function(id){var item=getItem(id);return item?item.parentID:null},getSource:function(id){var item=getItem(id),element=item?item.element:null;return null!=element?element._source:null},getText:function(id){var element=ReactComponentTreeHook.getElement(id);return"string"==typeof element?element:"number"==typeof element?""+element:null},getUpdateCount:function(id){var item=getItem(id);return item?item.updateCount:0},getRootIDs:getRootIDs,getRegisteredIDs:getItemIDs,pushNonStandardWarningStack:function(isCreatingElement,currentSource){if("function"==typeof console.reactStack){var stack=[],currentOwner=ReactCurrentOwner.current,id=currentOwner&&currentOwner._debugID;try{for(isCreatingElement&&stack.push({name:id?ReactComponentTreeHook.getDisplayName(id):null,fileName:currentSource?currentSource.fileName:null,lineNumber:currentSource?currentSource.lineNumber:null});id;){var element=ReactComponentTreeHook.getElement(id),parentID=ReactComponentTreeHook.getParentID(id),ownerID=ReactComponentTreeHook.getOwnerID(id),ownerName=ownerID?ReactComponentTreeHook.getDisplayName(ownerID):null,source=element&&element._source;stack.push({name:ownerName,fileName:source?source.fileName:null,lineNumber:source?source.lineNumber:null}),id=parentID}}catch(err){}console.reactStack(stack)}},popNonStandardWarningStack:function(){"function"==typeof console.reactStackEnd&&console.reactStackEnd()}};module.exports=ReactComponentTreeHook},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(25),EventListener={listen:function(target,eventType,callback){return target.addEventListener?(target.addEventListener(eventType,callback,!1),{remove:function(){target.removeEventListener(eventType,callback,!1)}}):target.attachEvent?(target.attachEvent("on"+eventType,callback),{remove:function(){target.detachEvent("on"+eventType,callback)}}):void 0},capture:function(target,eventType,callback){return target.addEventListener?(target.addEventListener(eventType,callback,!0),{remove:function(){target.removeEventListener(eventType,callback,!0)}}):{remove:emptyFunction}},registerDefault:function(){}};module.exports=EventListener},function(module,exports,__webpack_require__){"use strict";function isInDocument(node){return containsNode(document.documentElement,node)}var ReactDOMSelection=__webpack_require__(230),containsNode=__webpack_require__(232),focusNode=__webpack_require__(122),getActiveElement=__webpack_require__(134),ReactInputSelection={hasSelectionCapabilities:function(elem){var nodeName=elem&&elem.nodeName&&elem.nodeName.toLowerCase();return nodeName&&("input"===nodeName&&"text"===elem.type||"textarea"===nodeName||"true"===elem.contentEditable)},getSelectionInformation:function(){var focusedElem=getActiveElement();return{focusedElem:focusedElem,selectionRange:ReactInputSelection.hasSelectionCapabilities(focusedElem)?ReactInputSelection.getSelection(focusedElem):null}},restoreSelection:function(priorSelectionInformation){var curFocusedElem=getActiveElement(),priorFocusedElem=priorSelectionInformation.focusedElem,priorSelectionRange=priorSelectionInformation.selectionRange;curFocusedElem!==priorFocusedElem&&isInDocument(priorFocusedElem)&&(ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)&&ReactInputSelection.setSelection(priorFocusedElem,priorSelectionRange),focusNode(priorFocusedElem))},getSelection:function(input){var selection;if("selectionStart"in input)selection={start:input.selectionStart,end:input.selectionEnd};else if(document.selection&&input.nodeName&&"input"===input.nodeName.toLowerCase()){var range=document.selection.createRange();range.parentElement()===input&&(selection={start:-range.moveStart("character",-input.value.length),end:-range.moveEnd("character",-input.value.length)})}else selection=ReactDOMSelection.getOffsets(input);return selection||{start:0,end:0}},setSelection:function(input,offsets){var start=offsets.start,end=offsets.end;if(void 0===end&&(end=start),"selectionStart"in input)input.selectionStart=start,input.selectionEnd=Math.min(end,input.value.length);else if(document.selection&&input.nodeName&&"input"===input.nodeName.toLowerCase()){var range=input.createTextRange();range.collapse(!0),range.moveStart("character",start),range.moveEnd("character",end-start),range.select()}else ReactDOMSelection.setOffsets(input,offsets)}};module.exports=ReactInputSelection},function(module,exports,__webpack_require__){"use strict";function getActiveElement(doc){if(void 0===(doc=doc||("undefined"!=typeof document?document:void 0)))return null;try{return doc.activeElement||doc.body}catch(e){return doc.body}}module.exports=getActiveElement},function(module,exports,__webpack_require__){"use strict";function firstDifferenceIndex(string1,string2){for(var minLen=Math.min(string1.length,string2.length),i=0;i<minLen;i++)if(string1.charAt(i)!==string2.charAt(i))return i;return string1.length===string2.length?-1:minLen}function getReactRootElementInContainer(container){return container?container.nodeType===DOC_NODE_TYPE?container.documentElement:container.firstChild:null}function internalGetID(node){return node.getAttribute&&node.getAttribute(ATTR_NAME)||""}function mountComponentIntoNode(wrapperInstance,container,transaction,shouldReuseMarkup,context){var markerName;if(ReactFeatureFlags.logTopLevelRenders){var wrappedElement=wrapperInstance._currentElement.props.child,type=wrappedElement.type;markerName="React mount: "+("string"==typeof type?type:type.displayName||type.name),console.time(markerName)}var markup=ReactReconciler.mountComponent(wrapperInstance,transaction,null,ReactDOMContainerInfo(wrapperInstance,container),context,0);markerName&&console.timeEnd(markerName),wrapperInstance._renderedComponent._topLevelWrapper=wrapperInstance,ReactMount._mountImageIntoNode(markup,container,wrapperInstance,shouldReuseMarkup,transaction)}function batchedMountComponentIntoNode(componentInstance,container,shouldReuseMarkup,context){var transaction=ReactUpdates.ReactReconcileTransaction.getPooled(!shouldReuseMarkup&&ReactDOMFeatureFlags.useCreateElement);transaction.perform(mountComponentIntoNode,null,componentInstance,container,transaction,shouldReuseMarkup,context),ReactUpdates.ReactReconcileTransaction.release(transaction)}function unmountComponentFromNode(instance,container,safely){for(ReactReconciler.unmountComponent(instance,safely),container.nodeType===DOC_NODE_TYPE&&(container=container.documentElement);container.lastChild;)container.removeChild(container.lastChild)}function hasNonRootReactChild(container){var rootEl=getReactRootElementInContainer(container);if(rootEl){var inst=ReactDOMComponentTree.getInstanceFromNode(rootEl);return!(!inst||!inst._hostParent)}}function isValidContainer(node){return!(!node||node.nodeType!==ELEMENT_NODE_TYPE&&node.nodeType!==DOC_NODE_TYPE&&node.nodeType!==DOCUMENT_FRAGMENT_NODE_TYPE)}function getHostRootInstanceInContainer(container){var rootEl=getReactRootElementInContainer(container),prevHostInstance=rootEl&&ReactDOMComponentTree.getInstanceFromNode(rootEl);return prevHostInstance&&!prevHostInstance._hostParent?prevHostInstance:null}function getTopLevelWrapperInContainer(container){var root=getHostRootInstanceInContainer(container);return root?root._hostContainerInfo._topLevelWrapper:null}var _prodInvariant=__webpack_require__(11),DOMLazyTree=__webpack_require__(48),DOMProperty=__webpack_require__(46),React=__webpack_require__(44),ReactBrowserEventEmitter=__webpack_require__(69),ReactDOMComponentTree=(__webpack_require__(34),__webpack_require__(14)),ReactDOMContainerInfo=__webpack_require__(247),ReactDOMFeatureFlags=__webpack_require__(248),ReactFeatureFlags=__webpack_require__(117),ReactInstanceMap=__webpack_require__(57),ReactMarkupChecksum=(__webpack_require__(29),__webpack_require__(249)),ReactReconciler=__webpack_require__(47),ReactUpdateQueue=__webpack_require__(89),ReactUpdates=__webpack_require__(33),emptyObject=__webpack_require__(63),instantiateReactComponent=__webpack_require__(126),setInnerHTML=(__webpack_require__(7),__webpack_require__(67)),shouldUpdateReactComponent=__webpack_require__(87),ATTR_NAME=(__webpack_require__(10),DOMProperty.ID_ATTRIBUTE_NAME),ROOT_ATTR_NAME=DOMProperty.ROOT_ATTRIBUTE_NAME,ELEMENT_NODE_TYPE=1,DOC_NODE_TYPE=9,DOCUMENT_FRAGMENT_NODE_TYPE=11,instancesByReactRootID={},topLevelRootCounter=1,TopLevelWrapper=function(){this.rootID=topLevelRootCounter++};TopLevelWrapper.prototype.isReactComponent={},TopLevelWrapper.prototype.render=function(){return this.props.child},TopLevelWrapper.isReactTopLevelWrapper=!0;var ReactMount={TopLevelWrapper:TopLevelWrapper,_instancesByReactRootID:instancesByReactRootID,scrollMonitor:function(container,renderCallback){renderCallback()},_updateRootComponent:function(prevComponent,nextElement,nextContext,container,callback){return ReactMount.scrollMonitor(container,function(){ReactUpdateQueue.enqueueElementInternal(prevComponent,nextElement,nextContext),callback&&ReactUpdateQueue.enqueueCallbackInternal(prevComponent,callback)}),prevComponent},_renderNewRootComponent:function(nextElement,container,shouldReuseMarkup,context){isValidContainer(container)||_prodInvariant("37"),ReactBrowserEventEmitter.ensureScrollValueMonitoring();var componentInstance=instantiateReactComponent(nextElement,!1);ReactUpdates.batchedUpdates(batchedMountComponentIntoNode,componentInstance,container,shouldReuseMarkup,context);var wrapperID=componentInstance._instance.rootID;return instancesByReactRootID[wrapperID]=componentInstance,componentInstance},renderSubtreeIntoContainer:function(parentComponent,nextElement,container,callback){return null!=parentComponent&&ReactInstanceMap.has(parentComponent)||_prodInvariant("38"),ReactMount._renderSubtreeIntoContainer(parentComponent,nextElement,container,callback)},_renderSubtreeIntoContainer:function(parentComponent,nextElement,container,callback){ReactUpdateQueue.validateCallback(callback,"ReactDOM.render"),React.isValidElement(nextElement)||_prodInvariant("39","string"==typeof nextElement?" Instead of passing a string like 'div', pass React.createElement('div') or <div />.":"function"==typeof nextElement?" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.":null!=nextElement&&void 0!==nextElement.props?" This may be caused by unintentionally loading two independent copies of React.":"");var nextContext,nextWrappedElement=React.createElement(TopLevelWrapper,{child:nextElement});if(parentComponent){var parentInst=ReactInstanceMap.get(parentComponent);nextContext=parentInst._processChildContext(parentInst._context)}else nextContext=emptyObject;var prevComponent=getTopLevelWrapperInContainer(container);if(prevComponent){var prevWrappedElement=prevComponent._currentElement,prevElement=prevWrappedElement.props.child;if(shouldUpdateReactComponent(prevElement,nextElement)){var publicInst=prevComponent._renderedComponent.getPublicInstance(),updatedCallback=callback&&function(){callback.call(publicInst)};return ReactMount._updateRootComponent(prevComponent,nextWrappedElement,nextContext,container,updatedCallback),publicInst}ReactMount.unmountComponentAtNode(container)}var reactRootElement=getReactRootElementInContainer(container),containerHasReactMarkup=reactRootElement&&!!internalGetID(reactRootElement),containerHasNonRootReactChild=hasNonRootReactChild(container),shouldReuseMarkup=containerHasReactMarkup&&!prevComponent&&!containerHasNonRootReactChild,component=ReactMount._renderNewRootComponent(nextWrappedElement,container,shouldReuseMarkup,nextContext)._renderedComponent.getPublicInstance();return callback&&callback.call(component),component},render:function(nextElement,container,callback){return ReactMount._renderSubtreeIntoContainer(null,nextElement,container,callback)},unmountComponentAtNode:function(container){isValidContainer(container)||_prodInvariant("40");var prevComponent=getTopLevelWrapperInContainer(container);if(!prevComponent){hasNonRootReactChild(container),1===container.nodeType&&container.hasAttribute(ROOT_ATTR_NAME);return!1}return delete instancesByReactRootID[prevComponent._instance.rootID],ReactUpdates.batchedUpdates(unmountComponentFromNode,prevComponent,container,!1),!0},_mountImageIntoNode:function(markup,container,instance,shouldReuseMarkup,transaction){if(isValidContainer(container)||_prodInvariant("41"),shouldReuseMarkup){var rootElement=getReactRootElementInContainer(container);if(ReactMarkupChecksum.canReuseMarkup(markup,rootElement))return void ReactDOMComponentTree.precacheNode(instance,rootElement);var checksum=rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);var rootMarkup=rootElement.outerHTML;rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME,checksum);var normalizedMarkup=markup,diffIndex=firstDifferenceIndex(normalizedMarkup,rootMarkup),difference=" (client) "+normalizedMarkup.substring(diffIndex-20,diffIndex+20)+"\n (server) "+rootMarkup.substring(diffIndex-20,diffIndex+20);container.nodeType===DOC_NODE_TYPE&&_prodInvariant("42",difference)}if(container.nodeType===DOC_NODE_TYPE&&_prodInvariant("43"),transaction.useCreateElement){for(;container.lastChild;)container.removeChild(container.lastChild);DOMLazyTree.insertTreeBefore(container,markup,null)}else setInnerHTML(container,markup),ReactDOMComponentTree.precacheNode(instance,container.firstChild)}};module.exports=ReactMount},function(module,exports,__webpack_require__){"use strict";function getHostComponentFromComposite(inst){for(var type;(type=inst._renderedNodeType)===ReactNodeTypes.COMPOSITE;)inst=inst._renderedComponent;return type===ReactNodeTypes.HOST?inst._renderedComponent:type===ReactNodeTypes.EMPTY?null:void 0}var ReactNodeTypes=__webpack_require__(127);module.exports=getHostComponentFromComposite},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",function(){return subscriptionShape}),__webpack_require__.d(__webpack_exports__,"a",function(){return storeShape});var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_0_prop_types___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),subscriptionShape=__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({trySubscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,tryUnsubscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,notifyNestedSubs:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,isSubscribed:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired}),storeShape=__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({subscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,dispatch:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,getState:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired})},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function noop(){}function makeSelectorStateful(sourceSelector,store){var selector={run:function(props){try{var nextProps=sourceSelector(store.getState(),props);(nextProps!==selector.props||selector.error)&&(selector.shouldComponentUpdate=!0,selector.props=nextProps,selector.error=null)}catch(error){selector.shouldComponentUpdate=!0,selector.error=error}}};return selector}function connectAdvanced(selectorFactory){var _contextTypes,_childContextTypes,_ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_ref$getDisplayName=_ref.getDisplayName,getDisplayName=void 0===_ref$getDisplayName?function(name){return"ConnectAdvanced("+name+")"}:_ref$getDisplayName,_ref$methodName=_ref.methodName,methodName=void 0===_ref$methodName?"connectAdvanced":_ref$methodName,_ref$renderCountProp=_ref.renderCountProp,renderCountProp=void 0===_ref$renderCountProp?void 0:_ref$renderCountProp,_ref$shouldHandleStat=_ref.shouldHandleStateChanges,shouldHandleStateChanges=void 0===_ref$shouldHandleStat||_ref$shouldHandleStat,_ref$storeKey=_ref.storeKey,storeKey=void 0===_ref$storeKey?"store":_ref$storeKey,_ref$withRef=_ref.withRef,withRef=void 0!==_ref$withRef&&_ref$withRef,connectOptions=_objectWithoutProperties(_ref,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef"]),subscriptionKey=storeKey+"Subscription",version=hotReloadingVersion++,contextTypes=(_contextTypes={},_contextTypes[storeKey]=__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__.a,_contextTypes[subscriptionKey]=__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__.b,_contextTypes),childContextTypes=(_childContextTypes={},_childContextTypes[subscriptionKey]=__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__.b,_childContextTypes);return function(WrappedComponent){__WEBPACK_IMPORTED_MODULE_1_invariant___default()("function"==typeof WrappedComponent,"You must pass a component to the function returned by connect. Instead received "+JSON.stringify(WrappedComponent));var wrappedComponentName=WrappedComponent.displayName||WrappedComponent.name||"Component",displayName=getDisplayName(wrappedComponentName),selectorFactoryOptions=_extends({},connectOptions,{getDisplayName:getDisplayName,methodName:methodName,renderCountProp:renderCountProp,shouldHandleStateChanges:shouldHandleStateChanges,storeKey:storeKey,withRef:withRef,displayName:displayName,wrappedComponentName:wrappedComponentName,WrappedComponent:WrappedComponent}),Connect=function(_Component){function Connect(props,context){_classCallCheck(this,Connect);var _this=_possibleConstructorReturn(this,_Component.call(this,props,context));return _this.version=version,_this.state={},_this.renderCount=0,_this.store=props[storeKey]||context[storeKey],_this.propsMode=Boolean(props[storeKey]),_this.setWrappedInstance=_this.setWrappedInstance.bind(_this),__WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store,'Could not find "'+storeKey+'" in either the context or props of "'+displayName+'". Either wrap the root component in a <Provider>, or explicitly pass "'+storeKey+'" as a prop to "'+displayName+'".'),_this.initSelector(),_this.initSubscription(),_this}return _inherits(Connect,_Component),Connect.prototype.getChildContext=function(){var _ref2,subscription=this.propsMode?null:this.subscription;return _ref2={},_ref2[subscriptionKey]=subscription||this.context[subscriptionKey],_ref2},Connect.prototype.componentDidMount=function(){shouldHandleStateChanges&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},Connect.prototype.componentWillReceiveProps=function(nextProps){this.selector.run(nextProps)},Connect.prototype.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},Connect.prototype.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=noop,this.store=null,this.selector.run=noop,this.selector.shouldComponentUpdate=!1},Connect.prototype.getWrappedInstance=function(){return __WEBPACK_IMPORTED_MODULE_1_invariant___default()(withRef,"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the "+methodName+"() call."),this.wrappedInstance},Connect.prototype.setWrappedInstance=function(ref){this.wrappedInstance=ref},Connect.prototype.initSelector=function(){var sourceSelector=selectorFactory(this.store.dispatch,selectorFactoryOptions);this.selector=makeSelectorStateful(sourceSelector,this.store),this.selector.run(this.props)},Connect.prototype.initSubscription=function(){if(shouldHandleStateChanges){var parentSub=(this.propsMode?this.props:this.context)[subscriptionKey];this.subscription=new __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__.a(this.store,parentSub,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},Connect.prototype.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(dummyState)):this.notifyNestedSubs()},Connect.prototype.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},Connect.prototype.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},Connect.prototype.addExtraProps=function(props){if(!(withRef||renderCountProp||this.propsMode&&this.subscription))return props;var withExtras=_extends({},props);return withRef&&(withExtras.ref=this.setWrappedInstance),renderCountProp&&(withExtras[renderCountProp]=this.renderCount++),this.propsMode&&this.subscription&&(withExtras[subscriptionKey]=this.subscription),withExtras},Connect.prototype.render=function(){var selector=this.selector;if(selector.shouldComponentUpdate=!1,selector.error)throw selector.error;return Object(__WEBPACK_IMPORTED_MODULE_2_react__.createElement)(WrappedComponent,this.addExtraProps(selector.props))},Connect}(__WEBPACK_IMPORTED_MODULE_2_react__.Component);return Connect.WrappedComponent=WrappedComponent,Connect.displayName=displayName,Connect.childContextTypes=childContextTypes,Connect.contextTypes=contextTypes,Connect.propTypes=contextTypes,__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default()(Connect,WrappedComponent)}}__webpack_exports__.a=connectAdvanced;var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__=__webpack_require__(256),__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__),__WEBPACK_IMPORTED_MODULE_1_invariant__=__webpack_require__(21),__WEBPACK_IMPORTED_MODULE_1_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__),__WEBPACK_IMPORTED_MODULE_2_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_3__utils_Subscription__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__),__webpack_require__(257)),__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__=__webpack_require__(137),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},hotReloadingVersion=0,dummyState={}},function(module,__webpack_exports__,__webpack_require__){"use strict";function createStore(reducer,preloadedState,enhancer){function ensureCanMutateNextListeners(){nextListeners===currentListeners&&(nextListeners=currentListeners.slice())}function getState(){return currentState}function subscribe(listener){if("function"!=typeof listener)throw new Error("Expected listener to be a function.");var isSubscribed=!0;return ensureCanMutateNextListeners(),nextListeners.push(listener),function(){if(isSubscribed){isSubscribed=!1,ensureCanMutateNextListeners();var index=nextListeners.indexOf(listener);nextListeners.splice(index,1)}}}function dispatch(action){if(!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__.a)(action))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===action.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(isDispatching)throw new Error("Reducers may not dispatch actions.");try{isDispatching=!0,currentState=currentReducer(currentState,action)}finally{isDispatching=!1}for(var listeners=currentListeners=nextListeners,i=0;i<listeners.length;i++){(0,listeners[i])()}return action}function replaceReducer(nextReducer){if("function"!=typeof nextReducer)throw new Error("Expected the nextReducer to be a function.");currentReducer=nextReducer,dispatch({type:ActionTypes.INIT})}function observable(){var _ref,outerSubscribe=subscribe;return _ref={subscribe:function(observer){function observeState(){observer.next&&observer.next(getState())}if("object"!=typeof observer)throw new TypeError("Expected the observer to be an object.");return observeState(),{unsubscribe:outerSubscribe(observeState)}}},_ref[__WEBPACK_IMPORTED_MODULE_1_symbol_observable___default.a]=function(){return this},_ref}var _ref2;if("function"==typeof preloadedState&&void 0===enhancer&&(enhancer=preloadedState,preloadedState=void 0),void 0!==enhancer){if("function"!=typeof enhancer)throw new Error("Expected the enhancer to be a function.");return enhancer(createStore)(reducer,preloadedState)}if("function"!=typeof reducer)throw new Error("Expected the reducer to be a function.");var currentReducer=reducer,currentState=preloadedState,currentListeners=[],nextListeners=currentListeners,isDispatching=!1;return dispatch({type:ActionTypes.INIT}),_ref2={dispatch:dispatch,subscribe:subscribe,getState:getState,replaceReducer:replaceReducer},_ref2[__WEBPACK_IMPORTED_MODULE_1_symbol_observable___default.a]=observable,_ref2}__webpack_require__.d(__webpack_exports__,"a",function(){return ActionTypes}),__webpack_exports__.b=createStore;var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__=__webpack_require__(93),__WEBPACK_IMPORTED_MODULE_1_symbol_observable__=__webpack_require__(269),__WEBPACK_IMPORTED_MODULE_1_symbol_observable___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_symbol_observable__),ActionTypes={INIT:"@@redux/INIT"}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__root_js__=__webpack_require__(262),Symbol=__WEBPACK_IMPORTED_MODULE_0__root_js__.a.Symbol;__webpack_exports__.a=Symbol},function(module,__webpack_exports__,__webpack_require__){"use strict"},function(module,__webpack_exports__,__webpack_require__){"use strict";function compose(){for(var _len=arguments.length,funcs=Array(_len),_key=0;_key<_len;_key++)funcs[_key]=arguments[_key];return 0===funcs.length?function(arg){return arg}:1===funcs.length?funcs[0]:funcs.reduce(function(a,b){return function(){return a(b.apply(void 0,arguments))}})}__webpack_exports__.a=compose},function(module,__webpack_exports__,__webpack_require__){"use strict";function wrapMapToPropsConstant(getConstant){return function(dispatch,options){function constantSelector(){return constant}var constant=getConstant(dispatch,options);return constantSelector.dependsOnOwnProps=!1,constantSelector}}function getDependsOnOwnProps(mapToProps){return null!==mapToProps.dependsOnOwnProps&&void 0!==mapToProps.dependsOnOwnProps?Boolean(mapToProps.dependsOnOwnProps):1!==mapToProps.length}function wrapMapToPropsFunc(mapToProps,methodName){return function(dispatch,_ref){var proxy=(_ref.displayName,function(stateOrDispatch,ownProps){return proxy.dependsOnOwnProps?proxy.mapToProps(stateOrDispatch,ownProps):proxy.mapToProps(stateOrDispatch)});return proxy.dependsOnOwnProps=!0,proxy.mapToProps=function(stateOrDispatch,ownProps){proxy.mapToProps=mapToProps,proxy.dependsOnOwnProps=getDependsOnOwnProps(mapToProps);var props=proxy(stateOrDispatch,ownProps);return"function"==typeof props&&(proxy.mapToProps=props,proxy.dependsOnOwnProps=getDependsOnOwnProps(props),props=proxy(stateOrDispatch,ownProps)),props},proxy}}__webpack_exports__.a=wrapMapToPropsConstant,__webpack_exports__.b=wrapMapToPropsFunc;__webpack_require__(144)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(93),__webpack_require__(92)},function(module,__webpack_exports__,__webpack_require__){"use strict";function hasAnyProperties(object){for(var p in object)if(Object.prototype.hasOwnProperty.call(object,p))return!0;return!1}function createTransitionManager(history,routes){function isActive(location,indexOnly){return location=history.createLocation(location),Object(__WEBPACK_IMPORTED_MODULE_3__isActive__.a)(location,indexOnly,state.location,state.routes,state.params)}function match(location,callback){partialNextState&&partialNextState.location===location?finishMatch(partialNextState,callback):Object(__WEBPACK_IMPORTED_MODULE_5__matchRoutes__.a)(routes,location,function(error,nextState){error?callback(error):nextState?finishMatch(_extends({},nextState,{location:location}),callback):callback()})}function finishMatch(nextState,callback){function finishEnterHooks(error,redirectInfo){if(error||redirectInfo)return handleErrorOrRedirect(error,redirectInfo);Object(__WEBPACK_IMPORTED_MODULE_4__getComponents__.a)(nextState,function(error,components){error?callback(error):callback(null,null,state=_extends({},nextState,{components:components}))})}function handleErrorOrRedirect(error,redirectInfo){error?callback(error):callback(null,redirectInfo)}var _computeChangedRoutes=Object(__WEBPACK_IMPORTED_MODULE_1__computeChangedRoutes__.a)(state,nextState),leaveRoutes=_computeChangedRoutes.leaveRoutes,changeRoutes=_computeChangedRoutes.changeRoutes,enterRoutes=_computeChangedRoutes.enterRoutes;runLeaveHooks(leaveRoutes,state),leaveRoutes.filter(function(route){return-1===enterRoutes.indexOf(route)}).forEach(removeListenBeforeHooksForRoute),runChangeHooks(changeRoutes,state,nextState,function(error,redirectInfo){if(error||redirectInfo)return handleErrorOrRedirect(error,redirectInfo);runEnterHooks(enterRoutes,nextState,finishEnterHooks)})}function getRouteID(route){var create=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return route.__id__||create&&(route.__id__=RouteGuid++)}function getRouteHooksForRoutes(routes){return routes.map(function(route){return RouteHooks[getRouteID(route)]}).filter(function(hook){return hook})}function transitionHook(location,callback){Object(__WEBPACK_IMPORTED_MODULE_5__matchRoutes__.a)(routes,location,function(error,nextState){if(null==nextState)return void callback();partialNextState=_extends({},nextState,{location:location});for(var hooks=getRouteHooksForRoutes(Object(__WEBPACK_IMPORTED_MODULE_1__computeChangedRoutes__.a)(state,partialNextState).leaveRoutes),result=void 0,i=0,len=hooks.length;null==result&&i<len;++i)result=hooks[i](location);callback(result)})}function beforeUnloadHook(){if(state.routes){for(var hooks=getRouteHooksForRoutes(state.routes),message=void 0,i=0,len=hooks.length;"string"!=typeof message&&i<len;++i)message=hooks[i]();return message}}function removeListenBeforeHooksForRoute(route){var routeID=getRouteID(route);routeID&&(delete RouteHooks[routeID],hasAnyProperties(RouteHooks)||(unlistenBefore&&(unlistenBefore(),unlistenBefore=null),unlistenBeforeUnload&&(unlistenBeforeUnload(),unlistenBeforeUnload=null)))}function listenBeforeLeavingRoute(route,hook){var thereWereNoRouteHooks=!hasAnyProperties(RouteHooks),routeID=getRouteID(route,!0);return RouteHooks[routeID]=hook,thereWereNoRouteHooks&&(unlistenBefore=history.listenBefore(transitionHook),history.listenBeforeUnload&&(unlistenBeforeUnload=history.listenBeforeUnload(beforeUnloadHook))),function(){removeListenBeforeHooksForRoute(route)}}function listen(listener){function historyListener(location){state.location===location?listener(null,state):match(location,function(error,redirectLocation,nextState){error?listener(error):redirectLocation?history.replace(redirectLocation):nextState&&listener(null,nextState)})}var unsubscribe=history.listen(historyListener);return state.location?listener(null,state):historyListener(history.getCurrentLocation()),unsubscribe}var state={},_getTransitionUtils=Object(__WEBPACK_IMPORTED_MODULE_2__TransitionUtils__.a)(),runEnterHooks=_getTransitionUtils.runEnterHooks,runChangeHooks=_getTransitionUtils.runChangeHooks,runLeaveHooks=_getTransitionUtils.runLeaveHooks,partialNextState=void 0,RouteGuid=1,RouteHooks=Object.create(null),unlistenBefore=void 0,unlistenBeforeUnload=void 0;return{isActive:isActive,match:match,listenBeforeLeavingRoute:listenBeforeLeavingRoute,listen:listen}}__webpack_exports__.a=createTransitionManager;var __WEBPACK_IMPORTED_MODULE_1__computeChangedRoutes__=(__webpack_require__(49),__webpack_require__(281)),__WEBPACK_IMPORTED_MODULE_2__TransitionUtils__=__webpack_require__(282),__WEBPACK_IMPORTED_MODULE_3__isActive__=__webpack_require__(283),__WEBPACK_IMPORTED_MODULE_4__getComponents__=__webpack_require__(284),__WEBPACK_IMPORTED_MODULE_5__matchRoutes__=__webpack_require__(285),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function isPromise(obj){return obj&&"function"==typeof obj.then}__webpack_exports__.a=isPromise},function(module,__webpack_exports__,__webpack_require__){"use strict";function createRouterObject(history,transitionManager,state){return assignRouterState(_extends({},history,{setRouteLeaveHook:transitionManager.listenBeforeLeavingRoute,isActive:transitionManager.isActive}),state)}function assignRouterState(router,_ref){var location=_ref.location,params=_ref.params,routes=_ref.routes;return router.location=location,router.params=params,router.routes=routes,router}__webpack_exports__.b=createRouterObject,__webpack_exports__.a=assignRouterState;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function isLeftClickEvent(event){return 0===event.button}function isModifiedEvent(event){return!!(event.metaKey||event.altKey||event.ctrlKey||event.shiftKey)}function isEmptyObject(object){for(var p in object)if(Object.prototype.hasOwnProperty.call(object,p))return!1;return!0}function resolveToLocation(to,router){return"function"==typeof to?to(router.location):to}var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__WEBPACK_IMPORTED_MODULE_1_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_1_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_create_react_class__),__WEBPACK_IMPORTED_MODULE_2_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_3_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__),__webpack_require__(21)),__WEBPACK_IMPORTED_MODULE_3_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__),__WEBPACK_IMPORTED_MODULE_4__PropTypes__=__webpack_require__(97),__WEBPACK_IMPORTED_MODULE_5__ContextUtils__=__webpack_require__(96),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},Link=__WEBPACK_IMPORTED_MODULE_1_create_react_class___default()({displayName:"Link",mixins:[Object(__WEBPACK_IMPORTED_MODULE_5__ContextUtils__.b)("router")],contextTypes:{router:__WEBPACK_IMPORTED_MODULE_4__PropTypes__.b},propTypes:{to:Object(__WEBPACK_IMPORTED_MODULE_2_prop_types__.oneOfType)([__WEBPACK_IMPORTED_MODULE_2_prop_types__.string,__WEBPACK_IMPORTED_MODULE_2_prop_types__.object,__WEBPACK_IMPORTED_MODULE_2_prop_types__.func]),activeStyle:__WEBPACK_IMPORTED_MODULE_2_prop_types__.object,activeClassName:__WEBPACK_IMPORTED_MODULE_2_prop_types__.string,onlyActiveOnIndex:__WEBPACK_IMPORTED_MODULE_2_prop_types__.bool.isRequired,onClick:__WEBPACK_IMPORTED_MODULE_2_prop_types__.func,target:__WEBPACK_IMPORTED_MODULE_2_prop_types__.string},getDefaultProps:function(){return{onlyActiveOnIndex:!1,style:{}}},handleClick:function(event){if(this.props.onClick&&this.props.onClick(event),!event.defaultPrevented){var router=this.context.router;router||__WEBPACK_IMPORTED_MODULE_3_invariant___default()(!1),!isModifiedEvent(event)&&isLeftClickEvent(event)&&(this.props.target||(event.preventDefault(),router.push(resolveToLocation(this.props.to,router))))}},render:function(){var _props=this.props,to=_props.to,activeClassName=_props.activeClassName,activeStyle=_props.activeStyle,onlyActiveOnIndex=_props.onlyActiveOnIndex,props=_objectWithoutProperties(_props,["to","activeClassName","activeStyle","onlyActiveOnIndex"]),router=this.context.router;if(router){if(!to)return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("a",props);var toLocation=resolveToLocation(to,router);props.href=router.createHref(toLocation),(activeClassName||null!=activeStyle&&!isEmptyObject(activeStyle))&&router.isActive(toLocation,onlyActiveOnIndex)&&(activeClassName&&(props.className?props.className+=" "+activeClassName:props.className=activeClassName),activeStyle&&(props.style=_extends({},props.style,activeStyle)))}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("a",_extends({},props,{onClick:this.handleClick}))}});__webpack_exports__.a=Link},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_2_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(21)),__WEBPACK_IMPORTED_MODULE_2_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_invariant__),__WEBPACK_IMPORTED_MODULE_3__RouteUtils__=__webpack_require__(39),__WEBPACK_IMPORTED_MODULE_4__PatternUtils__=__webpack_require__(50),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(58),Redirect=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"Redirect",statics:{createRouteFromReactElement:function(element){var route=Object(__WEBPACK_IMPORTED_MODULE_3__RouteUtils__.a)(element);return route.from&&(route.path=route.from),route.onEnter=function(nextState,replace){var location=nextState.location,params=nextState.params,pathname=void 0;if("/"===route.to.charAt(0))pathname=Object(__WEBPACK_IMPORTED_MODULE_4__PatternUtils__.a)(route.to,params);else if(route.to){var routeIndex=nextState.routes.indexOf(route),parentPattern=Redirect.getRoutePattern(nextState.routes,routeIndex-1),pattern=parentPattern.replace(/\/*$/,"/")+route.to;pathname=Object(__WEBPACK_IMPORTED_MODULE_4__PatternUtils__.a)(pattern,params)}else pathname=location.pathname;replace({pathname:pathname,query:route.query||location.query,state:route.state||location.state})},route},getRoutePattern:function(routes,routeIndex){for(var parentPattern="",i=routeIndex;i>=0;i--){var route=routes[i],pattern=route.path||"";if(parentPattern=pattern.replace(/\/*$/,"/")+parentPattern,0===pattern.indexOf("/"))break}return"/"+parentPattern}},propTypes:{path:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string,from:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string,to:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string.isRequired,query:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,state:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,onEnter:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c,children:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c},render:function(){__WEBPACK_IMPORTED_MODULE_2_invariant___default()(!1)}});__webpack_exports__.a=Redirect},function(module,__webpack_exports__,__webpack_require__){"use strict";function createMemoryHistory(options){var memoryHistory=__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory___default()(options),createHistory=function(){return memoryHistory};return __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default()(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default()(createHistory))(options)}__webpack_exports__.a=createMemoryHistory;var __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__=__webpack_require__(151),__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__=__webpack_require__(152),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__),__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory__=__webpack_require__(296),__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory__)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_queryString=__webpack_require__(294),_runTransitionHook=__webpack_require__(98),_runTransitionHook2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_runTransitionHook),_LocationUtils=__webpack_require__(51),_PathUtils=__webpack_require__(40),defaultStringifyQuery=function(query){return(0,_queryString.stringify)(query).replace(/%20/g,"+")},defaultParseQueryString=_queryString.parse,useQueries=function(createHistory){return function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},history=createHistory(options),stringifyQuery=options.stringifyQuery,parseQueryString=options.parseQueryString;"function"!=typeof stringifyQuery&&(stringifyQuery=defaultStringifyQuery),"function"!=typeof parseQueryString&&(parseQueryString=defaultParseQueryString);var decodeQuery=function(location){return location?(null==location.query&&(location.query=parseQueryString(location.search.substring(1))),location):location},encodeQuery=function(location,query){if(null==query)return location;var object="string"==typeof location?(0,_PathUtils.parsePath)(location):location,queryString=stringifyQuery(query);return _extends({},object,{search:queryString?"?"+queryString:""})};return _extends({},history,{getCurrentLocation:function(){return decodeQuery(history.getCurrentLocation())},listenBefore:function(hook){return history.listenBefore(function(location,callback){return(0,_runTransitionHook2.default)(hook,decodeQuery(location),callback)})},listen:function(listener){return history.listen(function(location){return listener(decodeQuery(location))})},push:function(location){return history.push(encodeQuery(location,location.query))},replace:function(location){return history.replace(encodeQuery(location,location.query))},createPath:function(location){return history.createPath(encodeQuery(location,location.query))},createHref:function(location){return history.createHref(encodeQuery(location,location.query))},createLocation:function(location){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var newLocation=history.createLocation.apply(history,[encodeQuery(location,location.query)].concat(args));return location.query&&(newLocation.query=(0,_LocationUtils.createQuery)(location.query)),decodeQuery(newLocation)}})}};exports.default=useQueries},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_runTransitionHook=__webpack_require__(98),_runTransitionHook2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_runTransitionHook),_PathUtils=__webpack_require__(40),useBasename=function(createHistory){return function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},history=createHistory(options),basename=options.basename,addBasename=function(location){return location?(basename&&null==location.basename&&(0===location.pathname.toLowerCase().indexOf(basename.toLowerCase())?(location.pathname=location.pathname.substring(basename.length),location.basename=basename,""===location.pathname&&(location.pathname="/")):location.basename=""),location):location},prependBasename=function(location){if(!basename)return location;var object="string"==typeof location?(0,_PathUtils.parsePath)(location):location,pname=object.pathname,normalizedBasename="/"===basename.slice(-1)?basename:basename+"/",normalizedPathname="/"===pname.charAt(0)?pname.slice(1):pname;return _extends({},object,{pathname:normalizedBasename+normalizedPathname})};return _extends({},history,{getCurrentLocation:function(){return addBasename(history.getCurrentLocation())},listenBefore:function(hook){return history.listenBefore(function(location,callback){return(0,_runTransitionHook2.default)(hook,addBasename(location),callback)})},listen:function(listener){return history.listen(function(location){return listener(addBasename(location))})},push:function(location){return history.push(prependBasename(location))},replace:function(location){return history.replace(prependBasename(location))},createPath:function(location){return history.createPath(prependBasename(location))},createHref:function(location){return history.createHref(prependBasename(location))},createLocation:function(location){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];return addBasename(history.createLocation.apply(history,[prependBasename(location)].concat(args)))}})}};exports.default=useBasename},function(module,__webpack_exports__,__webpack_require__){"use strict";function useRouterHistory(createHistory){return function(options){return __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default()(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default()(createHistory))(options)}}__webpack_exports__.a=useRouterHistory;var __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__=__webpack_require__(151),__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__=__webpack_require__(152),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.readState=exports.saveState=void 0;var _warning=__webpack_require__(38),QuotaExceededErrors=(function(obj){obj&&obj.__esModule}(_warning),{QuotaExceededError:!0,QUOTA_EXCEEDED_ERR:!0}),SecurityErrors={SecurityError:!0},createKey=function(key){return"@@History/"+key};exports.saveState=function(key,state){if(window.sessionStorage)try{null==state?window.sessionStorage.removeItem(createKey(key)):window.sessionStorage.setItem(createKey(key),JSON.stringify(state))}catch(error){if(SecurityErrors[error.name])return;if(QuotaExceededErrors[error.name]&&0===window.sessionStorage.length)return;throw error}},exports.readState=function(key){var json=void 0;try{json=window.sessionStorage.getItem(createKey(key))}catch(error){if(SecurityErrors[error.name])return}if(json)try{return JSON.parse(json)}catch(error){}}},function(module,__webpack_exports__,__webpack_require__){"use strict";function createRouterHistory(createHistory){var history=void 0;return canUseDOM&&(history=Object(__WEBPACK_IMPORTED_MODULE_0__useRouterHistory__.a)(createHistory)()),history}__webpack_exports__.a=createRouterHistory;var __WEBPACK_IMPORTED_MODULE_0__useRouterHistory__=__webpack_require__(153),canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement)},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function TimeoutError(message){Error.call(this),this.message=message,this.name=TimeoutError.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,TimeoutError)}return TimeoutError.prototype=Object.create(Error.prototype),TimeoutError.prototype.constructor=TimeoutError,TimeoutError}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function toPendingState(){return{state:"pending"}}function toRejectedState(e){return{state:"rejected",reason:e}}function toFulfilledState(x){return{state:"fulfilled",value:x}}function inspect(handler){var state=handler.state();return 0===state?toPendingState():state>0?toFulfilledState(handler.value):toRejectedState(handler.value)}return{pending:toPendingState,fulfilled:toFulfilledState,rejected:toRejectedState,inspect:inspect}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function makeApply(Promise,call){function apply(f,thisArg,args){var p=Promise._defer(),l=args.length;return callAndResolve({f:f,thisArg:thisArg,args:args,params:new Array(l),i:l-1,call:call},p._handler),p}function callAndResolve(c,h){if(c.i<0)return call(c.f,c.thisArg,c.params,h);Promise._handler(c.args[c.i]).fold(callAndResolveNext,c,void 0,h)}function callAndResolveNext(c,x,h){c.params[c.i]=x,c.i-=1,callAndResolve(c,h)}return arguments.length<2&&(call=tryCatchResolve),apply}function tryCatchResolve(f,thisArg,args,resolver){try{resolver.resolve(f.apply(thisArg,args))}catch(e){resolver.reject(e)}}return makeApply.tryCatchResolve=tryCatchResolve,makeApply}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=(__webpack_require__(6),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Dater=__webpack_require__(43),_Dater2=_interopRequireDefault(_Dater),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_ContextMenuTrigger=__webpack_require__(37),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),Track=function(_React$Component){function Track(props){_classCallCheck(this,Track);var _this=_possibleConstructorReturn(this,(Track.__proto__||Object.getPrototypeOf(Track)).call(this,props));return _this.state={hover:!1},_this.start_time=0,_this.end_time=0,_this.start_position=!1,_this}return _inherits(Track,_React$Component),_createClass(Track,[{key:"handleMouseEnter",value:function(e){this.setState({hover:!0})}},{key:"handleMouseLeave",value:function(e){this.setState({hover:!1})}},{key:"handleMouseDown",value:function(e){if($(e.target).is("a"))return!1;0===e.button?this.start_position={x:e.pageX,y:e.pageY}:this.start_position=!1}},{key:"handleMouseMove",value:function(e){$(e.target);if(void 0===this.props.handleDrag)return!1;if(this.start_position){var start_x=this.start_position.x,start_y=this.start_position.y;(e.pageX>start_x+5||e.pageX<start_x-5||e.pageY>start_y+5||e.pageY<start_y-5)&&(this.props.handleDrag(e),this.start_position=!1)}}},{key:"handleMouseUp",value:function(e){var target=$(e.target);if(0!==e.button)return this.start_position=!1,!1;this.props.dragger?(e.preventDefault(),void 0!==this.props.handleDrop&&this.props.handleDrop(e)):!target.is("a")&&target.closest("a").length<=0&&(this.props.handleClick(e),this.start_position=!1)}},{key:"handleDoubleClick",value:function(e){this.props.handleDoubleClick(e)}},{key:"handleTouchStart",value:function(e){var target=$(e.target),timestamp=Math.floor(Date.now());return target.hasClass("drag-zone")&&(this.props.handleTouchDrag(e),e.preventDefault()),this.start_time=timestamp,this.start_position={x:e.touches[0].clientX,y:e.touches[0].clientY},!1}},{key:"handleTouchEnd",value:function(e){var target=$(e.target),timestamp=Math.floor(Date.now()),end_position={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY};return target.is("a")||e.preventDefault(),target.hasClass("touch-contextable")?(this.props.handleContextMenu(e),!1):timestamp-this.end_time>0&&timestamp-this.end_time<=300?(this.props.handleDoubleTap(e),e.preventDefault(),!1):!(this.start_time+200<timestamp)&&(this.start_position.x+10>end_position.x&&this.start_position.x-10<end_position.x&&this.start_position.y+10>end_position.y&&this.start_position.y-10<end_position.y&&this.props.handleTap(e),void(this.end_time=timestamp))}},{key:"render",value:function(){var _this2=this;if(!this.props.track)return null;var track=this.props.track,className="list-item track mouse-draggable mouse-selectable mouse-contextable";this.props.selected&&(className+=" selected"),this.props.can_sort&&(className+=" can-sort"),void 0!==track.type&&(className+=" "+track.type),track.playing&&(className+=" playing"),this.state.hover&&(className+=" hover");var album="-";track.album&&(album=track.album.uri?_react2.default.createElement(_URILink2.default,{type:"album",uri:track.album.uri},track.album.name):_react2.default.createElement("span",null,track.album.name));var track_columns=[],track_actions=[];if("history"==track.type)track_columns.push(_react2.default.createElement("span",{className:"col name",key:"name"},track.name?track.name:_react2.default.createElement("span",{className:"uri-placeholder grey-text"},track.uri))),track_columns.push(_react2.default.createElement("span",{className:"col source",key:"source"},helpers.uriSource(track.uri))),track_columns.push(_react2.default.createElement("span",{className:"col played_at",key:"played_at"},track.played_at?_react2.default.createElement("span",null,_react2.default.createElement(_Dater2.default,{type:"ago",data:track.played_at})," ago"):null));else if("queue"==this.props.context){if(track.added_from&&track.added_by){var type=track.added_from?helpers.uriType(track.added_from):null;if("discover"==type)var link=_react2.default.createElement(_URILink2.default,{type:"recommendations",uri:helpers.getFromUri("seeds",track.added_from)},"discover");else var link=_react2.default.createElement(_URILink2.default,{type:type,uri:track.added_from},type);var added=_react2.default.createElement("span",null,track.added_by," ",_react2.default.createElement("span",{className:"grey-text"}," (from ",link,")"))}else if(track.added_by)var added=track.added_by;else var added="-";track_columns.push(_react2.default.createElement("span",{className:"col name",key:"name"},track.name?track.name:_react2.default.createElement("span",{className:"grey-text"},track.uri),track.explicit?_react2.default.createElement("span",{className:"flag dark"},"EXPLICIT"):null)),this.props.show_source_icon&&track_columns.push(_react2.default.createElement(_reactFontawesome2.default,{name:helpers.sourceIcon(track.uri),className:"source",key:"source",fixedWidth:!0})),track_columns.push(_react2.default.createElement("span",{className:"col artists",key:"artists"},track.artists?_react2.default.createElement(_ArtistSentence2.default,{artists:track.artists}):"-")),track_columns.push(_react2.default.createElement("span",{className:"col album",key:"album"},album)),track_columns.push(_react2.default.createElement("span",{className:"col added",key:"added"},added)),track_columns.push(_react2.default.createElement("span",{className:"col duration",key:"duration"},track.duration?_react2.default.createElement(_Dater2.default,{type:"length",data:track.duration}):null))}else track_columns.push(_react2.default.createElement("span",{className:"col name",key:"name"},track.name?track.name:_react2.default.createElement("span",{className:"grey-text"},track.uri),track.explicit?_react2.default.createElement("span",{className:"flag dark"},"EXPLICIT"):null)),this.props.show_source_icon&&track_columns.push(_react2.default.createElement(_reactFontawesome2.default,{name:helpers.sourceIcon(track.uri),className:"source",key:"source",fixedWidth:!0})),track_columns.push(_react2.default.createElement("span",{className:"col artists",key:"artists"},track.artists?_react2.default.createElement(_ArtistSentence2.default,{artists:track.artists}):"-")),track_columns.push(_react2.default.createElement("span",{className:"col album",key:"album"},album)),track_columns.push(_react2.default.createElement("span",{className:"col duration",key:"duration"},track.duration?_react2.default.createElement(_Dater2.default,{type:"length",data:track.duration}):"-"));return track_actions.push(_react2.default.createElement(_ContextMenuTrigger2.default,{key:"context",onTrigger:function(e){return _this2.props.handleContextMenu(e)}})),helpers.isTouchDevice()&&this.props.can_sort&&(className+=" has-touch-drag-zone",track_actions.push(_react2.default.createElement("span",{className:"drag-zone touch-draggable mouse-draggable",key:"drag-zone"},_react2.default.createElement(_reactFontawesome2.default,{name:"bars",fixedWidth:!0})))),_react2.default.createElement("div",{className:className,onMouseEnter:function(e){return _this2.handleMouseEnter(e)},onMouseLeave:function(e){return _this2.handleMouseLeave(e)},onMouseDown:function(e){return _this2.handleMouseDown(e)},onMouseUp:function(e){return _this2.handleMouseUp(e)},onMouseMove:function(e){return _this2.handleMouseMove(e)},onDoubleClick:function(e){return _this2.handleDoubleClick(e)},onContextMenu:function(e){return _this2.props.handleContextMenu(e)},onTouchStart:function(e){return _this2.handleTouchStart(e)},onTouchEnd:function(e){return _this2.handleTouchEnd(e)}},track_actions,track_columns)}}]),Track}(_react2.default.Component);exports.default=Track}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactGa=__webpack_require__(30),_reactFontawesome=(_interopRequireDefault(_reactGa),__webpack_require__(5)),_Thumbnail=(_interopRequireDefault(_reactFontawesome),__webpack_require__(15)),_actions=(_interopRequireDefault(_Thumbnail),__webpack_require__(4)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions2),SpotifyAuthenticationFrame=function(_React$Component){function SpotifyAuthenticationFrame(props){_classCallCheck(this,SpotifyAuthenticationFrame);var _this=_possibleConstructorReturn(this,(SpotifyAuthenticationFrame.__proto__||Object.getPrototypeOf(SpotifyAuthenticationFrame)).call(this,props));return _this.state={authorizing:!1},_this}return _inherits(SpotifyAuthenticationFrame,_React$Component),_createClass(SpotifyAuthenticationFrame,[{key:"componentDidMount",value:function(){var self=this;window.addEventListener("message",function(event){var data=JSON.parse(event.data);"auth_spotify"==data.origin&&self.handleMessage(event,data)},!1)}},{key:"handleMessage",value:function(event,data){var authorization_domain=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(event.origin!=authorization_domain)return this.props.uiActions.createNotification("Authorization failed. "+event.origin+" is not the configured authorization_url.","bad"),!1;void 0!==data.error?this.props.uiActions.createNotification(data.error,"bad"):(this.props.spotifyActions.authorizationGranted(data),this.props.spotifyActions.getMe()),this.setState({authorizing:!1})}},{key:"startAuthorization",value:function(){function checkPopup(){void 0!==popup&&popup?popup.closed&&(self.setState({authorizing:!1}),clearInterval(timer)):(self.props.uiActions.createNotification("Popup blocked. Please allow popups and try again.","bad"),self.setState({authorizing:!1}),clearInterval(timer))}var self=this;this.setState({authorizing:!0});var url=this.props.authorization_url+"?action=authorize",scopes=["playlist-modify-private","playlist-modify-public","playlist-read-private","playlist-modify-private","user-library-read","user-library-modify","user-follow-modify","user-follow-read","user-read-email","user-top-read","user-read-currently-playing","user-read-playback-state","playlist-read-collaborative","ugc-image-upload"],popup=window.open(url+"&scope="+scopes.join("%20"),"popup","height=580,width=350"),timer=setInterval(checkPopup,1e3)}},{key:"render",value:function(){var _this2=this;return this.state.authorizing?_react2.default.createElement("button",{className:"working"},"Authorizing..."):this.props.authorized?_react2.default.createElement("button",{className:"destructive",onClick:function(){return _this2.props.spotifyActions.revokeAuthorization()}},"Log out"):_react2.default.createElement("button",{className:"primary",onClick:function(){return _this2.startAuthorization()}},"Log in")}}]),SpotifyAuthenticationFrame}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{authorization_url:state.spotify.authorization_url,authorized:state.spotify.authorization,authorizing:state.spotify.authorizing}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(SpotifyAuthenticationFrame)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_actions=(_interopRequireDefault(_reactFontawesome),__webpack_require__(23)),pusherActions=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_actions),PusherConnectionList=function(_React$Component){function PusherConnectionList(props){return _classCallCheck(this,PusherConnectionList),_possibleConstructorReturn(this,(PusherConnectionList.__proto__||Object.getPrototypeOf(PusherConnectionList)).call(this,props))}return _inherits(PusherConnectionList,_React$Component),_createClass(PusherConnectionList,[{key:"componentDidMount",value:function(){this.props.connected&&this.props.pusherActions.getConnections()}},{key:"componentWillReceiveProps",value:function(newProps){!this.props.connected&&newProps.connected&&this.props.pusherActions.getConnections()}},{key:"render",value:function(){var _this2=this;if(!this.props.connected)return _react2.default.createElement("div",{className:"pusher-connection-list grey-text"},"Not connected");var connections=[];for(var connection_id in this.props.connections)this.props.connections.hasOwnProperty(connection_id)&&connections.push(this.props.connections[connection_id]);return connections.length<=0?_react2.default.createElement("div",{className:"pusher-connection-list grey-text"},"No connections"):_react2.default.createElement("div",{className:"pusher-connection-list"},connections.map(function(connection,index){var is_me=!1;return connection.connection_id==_this2.props.connection_id&&(is_me=!0),_react2.default.createElement("div",{className:is_me?"connection cf me":"connection cf",key:connection.connection_id},_react2.default.createElement("div",{className:"col w30"},connection.username," ",is_me?_react2.default.createElement("span",null,"(you)"):null),_react2.default.createElement("div",{className:"col w70"},connection.ip,_react2.default.createElement("span",{className:"grey-text"}," (",connection.connection_id,")")))}))}}]),PusherConnectionList}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{connected:state.pusher.connected,connection_id:state.pusher.connection_id,connections:state.pusher.connections}},mapDispatchToProps=function(dispatch){return{pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(PusherConnectionList)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_reactFontawesome=(__webpack_require__(2),__webpack_require__(5)),URISchemesList=(_interopRequireDefault(_reactFontawesome),function(_React$Component){function URISchemesList(props){return _classCallCheck(this,URISchemesList),_possibleConstructorReturn(this,(URISchemesList.__proto__||Object.getPrototypeOf(URISchemesList)).call(this,props))}return _inherits(URISchemesList,_React$Component),_createClass(URISchemesList,[{key:"render",value:function(){return this.props.uri_schemes?_react2.default.createElement("div",{className:"uri-schemes-list"},this.props.uri_schemes.map(function(scheme,index){return scheme=scheme.replace(":",""),_react2.default.createElement("span",{key:index+"_"+scheme},index>0?_react2.default.createElement("span",null,", "):null,_react2.default.createElement("span",{className:"uri-scheme"},scheme))})):null}}]),URISchemesList}(_react2.default.Component)),mapStateToProps=function(state,ownProps){return{uri_schemes:state.mopidy.uri_schemes?state.mopidy.uri_schemes:[]}};exports.default=(0,_reactRedux.connect)(mapStateToProps)(URISchemesList)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_actions=__webpack_require__(23),pusherActions=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_actions),VersionManager=function(_React$Component){function VersionManager(props){return _classCallCheck(this,VersionManager),_possibleConstructorReturn(this,(VersionManager.__proto__||Object.getPrototypeOf(VersionManager)).call(this,props))}return _inherits(VersionManager,_React$Component),_createClass(VersionManager,[{key:"renderUpgradeButton",value:function(){var _this2=this;return this.props.pusher.upgrading?_react2.default.createElement("button",{className:"outline",disabled:!0},_react2.default.createElement(_reactFontawesome2.default,{name:"circle-o-notch",spin:!0}),"  Upgrading"):this.props.pusher.version.is_root?this.props.pusher.version.upgrade_available?_react2.default.createElement("button",{className:"primary",onClick:function(){return _this2.props.pusherActions.startUpgrade()}},"Upgrade to ",this.props.pusher.version.latest):_react2.default.createElement("button",{className:"outline",disabled:!0},"No updates available"):_react2.default.createElement("button",{className:"outline",disabled:!0},"Not running as root")}},{key:"render",value:function(){return _react2.default.createElement("span",{className:"version-manager"},this.renderUpgradeButton(),_react2.default.createElement("span",{className:"description"},this.props.pusher.version.current," installed"))}}]),VersionManager}(_react2.default.Component),mapStateToProps=function(state,ownProps){return state},mapDispatchToProps=function(dispatch){return{pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(VersionManager)},function(module,exports,__webpack_require__){"use strict";(function($,global){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function handleUpdate(){_reactGa2.default.set({page:window.location.hash}),_reactGa2.default.pageview(window.location.hash),$(window).scrollTop(0),_bootstrap2.default.dispatch({type:"HIDE_CONTEXT_MENU"})}var _react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(64),_reactDom2=_interopRequireDefault(_reactDom),_reactRedux=__webpack_require__(3),_reactRouter=(__webpack_require__(2),__webpack_require__(6)),_reactGa=__webpack_require__(30),_reactGa2=_interopRequireDefault(_reactGa),_bootstrap=__webpack_require__(305),_bootstrap2=_interopRequireDefault(_bootstrap),_App=__webpack_require__(340),_App2=_interopRequireDefault(_App),_Album=__webpack_require__(397),_Album2=_interopRequireDefault(_Album),_Artist=__webpack_require__(398),_Artist2=_interopRequireDefault(_Artist),_Playlist=__webpack_require__(400),_Playlist2=_interopRequireDefault(_Playlist),_User=__webpack_require__(401),_User2=_interopRequireDefault(_User),_Track=__webpack_require__(402),_Track2=_interopRequireDefault(_Track),_Queue=__webpack_require__(405),_Queue2=_interopRequireDefault(_Queue),_QueueHistory=__webpack_require__(406),_QueueHistory2=_interopRequireDefault(_QueueHistory),_Settings=__webpack_require__(407),_Settings2=_interopRequireDefault(_Settings),_Debug=__webpack_require__(409),_Debug2=_interopRequireDefault(_Debug),_Search=__webpack_require__(410),_Search2=_interopRequireDefault(_Search),_DiscoverRecommendations=__webpack_require__(412),_DiscoverRecommendations2=_interopRequireDefault(_DiscoverRecommendations),_DiscoverFeatured=__webpack_require__(414),_DiscoverFeatured2=_interopRequireDefault(_DiscoverFeatured),_DiscoverCategories=__webpack_require__(415),_DiscoverCategories2=_interopRequireDefault(_DiscoverCategories),_DiscoverCategory=__webpack_require__(417),_DiscoverCategory2=_interopRequireDefault(_DiscoverCategory),_DiscoverNewReleases=__webpack_require__(418),_DiscoverNewReleases2=_interopRequireDefault(_DiscoverNewReleases),_LibraryArtists=__webpack_require__(419),_LibraryArtists2=_interopRequireDefault(_LibraryArtists),_LibraryAlbums=__webpack_require__(420),_LibraryAlbums2=_interopRequireDefault(_LibraryAlbums),_LibraryTracks=__webpack_require__(421),_LibraryTracks2=_interopRequireDefault(_LibraryTracks),_LibraryPlaylists=__webpack_require__(422),_LibraryPlaylists2=_interopRequireDefault(_LibraryPlaylists),_LibraryBrowse=__webpack_require__(423),_LibraryBrowse2=_interopRequireDefault(_LibraryBrowse);__webpack_require__(424),_reactGa2.default.initialize("UA-64701652-3"),global.baseURL="/",_reactDom2.default.render(_react2.default.createElement(_reactRedux.Provider,{store:_bootstrap2.default},_react2.default.createElement(_reactRouter.Router,{history:_reactRouter.hashHistory,onUpdate:handleUpdate},_react2.default.createElement(_reactRouter.Route,{path:global.baseURL,component:_App2.default},_react2.default.createElement(_reactRouter.IndexRoute,{component:_Queue2.default}),_react2.default.createElement(_reactRouter.Route,{path:"queue",component:_Queue2.default}),_react2.default.createElement(_reactRouter.Route,{path:"queue/history",component:_QueueHistory2.default}),_react2.default.createElement(_reactRouter.Route,{path:"settings",component:_Settings2.default}),_react2.default.createElement(_reactRouter.Route,{path:"settings/debug",component:_Debug2.default}),_react2.default.createElement(_reactRouter.Route,{path:"settings(/:sub_view)",component:_Settings2.default}),_react2.default.createElement(_reactRouter.Route,{path:"search(/:query)",component:_Search2.default}),_react2.default.createElement(_reactRouter.Route,{path:"album/:uri",component:_Album2.default}),_react2.default.createElement(_reactRouter.Route,{path:"artist/:uri(/:sub_view)",component:_Artist2.default}),_react2.default.createElement(_reactRouter.Route,{path:"playlist/:uri",component:_Playlist2.default}),_react2.default.createElement(_reactRouter.Route,{path:"user/:uri",component:_User2.default}),_react2.default.createElement(_reactRouter.Route,{path:"track/:uri",component:_Track2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/recommendations(/:seeds)",component:_DiscoverRecommendations2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/featured",component:_DiscoverFeatured2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/categories",component:_DiscoverCategories2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/categories/:id",component:_DiscoverCategory2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/new-releases",component:_DiscoverNewReleases2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/artists",component:_LibraryArtists2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/albums",component:_LibraryAlbums2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/tracks",component:_LibraryTracks2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/playlists",component:_LibraryPlaylists2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/browse(/:uri)",component:_LibraryBrowse2.default})))),document.getElementById("app"))}).call(exports,__webpack_require__(19),__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";var lowPriorityWarning=function(){};module.exports=lowPriorityWarning},function(module,exports,__webpack_require__){"use strict";function escapeUserProvidedKey(text){return(""+text).replace(userProvidedKeyEscapeRegex,"$&/")}function ForEachBookKeeping(forEachFunction,forEachContext){this.func=forEachFunction,this.context=forEachContext,this.count=0}function forEachSingleChild(bookKeeping,child,name){var func=bookKeeping.func,context=bookKeeping.context;func.call(context,child,bookKeeping.count++)}function forEachChildren(children,forEachFunc,forEachContext){if(null==children)return children;var traverseContext=ForEachBookKeeping.getPooled(forEachFunc,forEachContext);traverseAllChildren(children,forEachSingleChild,traverseContext),ForEachBookKeeping.release(traverseContext)}function MapBookKeeping(mapResult,keyPrefix,mapFunction,mapContext){this.result=mapResult,this.keyPrefix=keyPrefix,this.func=mapFunction,this.context=mapContext,this.count=0}function mapSingleChildIntoContext(bookKeeping,child,childKey){var result=bookKeeping.result,keyPrefix=bookKeeping.keyPrefix,func=bookKeeping.func,context=bookKeeping.context,mappedChild=func.call(context,child,bookKeeping.count++);Array.isArray(mappedChild)?mapIntoWithKeyPrefixInternal(mappedChild,result,childKey,emptyFunction.thatReturnsArgument):null!=mappedChild&&(ReactElement.isValidElement(mappedChild)&&(mappedChild=ReactElement.cloneAndReplaceKey(mappedChild,keyPrefix+(!mappedChild.key||child&&child.key===mappedChild.key?"":escapeUserProvidedKey(mappedChild.key)+"/")+childKey)),result.push(mappedChild))}function mapIntoWithKeyPrefixInternal(children,array,prefix,func,context){var escapedPrefix="";null!=prefix&&(escapedPrefix=escapeUserProvidedKey(prefix)+"/");var traverseContext=MapBookKeeping.getPooled(array,escapedPrefix,func,context);traverseAllChildren(children,mapSingleChildIntoContext,traverseContext),MapBookKeeping.release(traverseContext)}function mapChildren(children,func,context){if(null==children)return children;var result=[];return mapIntoWithKeyPrefixInternal(children,result,null,func,context),result}function forEachSingleChildDummy(traverseContext,child,name){return null}function countChildren(children,context){return traverseAllChildren(children,forEachSingleChildDummy,null)}function toArray(children){var result=[];return mapIntoWithKeyPrefixInternal(children,result,null,emptyFunction.thatReturnsArgument),result}var PooledClass=__webpack_require__(167),ReactElement=__webpack_require__(45),emptyFunction=__webpack_require__(25),traverseAllChildren=__webpack_require__(168),twoArgumentPooler=PooledClass.twoArgumentPooler,fourArgumentPooler=PooledClass.fourArgumentPooler,userProvidedKeyEscapeRegex=/\/+/g;ForEachBookKeeping.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},PooledClass.addPoolingTo(ForEachBookKeeping,twoArgumentPooler),MapBookKeeping.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},PooledClass.addPoolingTo(MapBookKeeping,fourArgumentPooler);var ReactChildren={forEach:forEachChildren,map:mapChildren,mapIntoWithKeyPrefixInternal:mapIntoWithKeyPrefixInternal,count:countChildren,toArray:toArray};module.exports=ReactChildren},function(module,exports,__webpack_require__){"use strict";var _prodInvariant=__webpack_require__(53),oneArgumentPooler=(__webpack_require__(7),function(copyFieldsFrom){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,copyFieldsFrom),instance}return new Klass(copyFieldsFrom)}),twoArgumentPooler=function(a1,a2){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,a1,a2),instance}return new Klass(a1,a2)},threeArgumentPooler=function(a1,a2,a3){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,a1,a2,a3),instance}return new Klass(a1,a2,a3)},fourArgumentPooler=function(a1,a2,a3,a4){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();return Klass.call(instance,a1,a2,a3,a4),instance}return new Klass(a1,a2,a3,a4)},standardReleaser=function(instance){var Klass=this;instance instanceof Klass||_prodInvariant("25"),instance.destructor(),Klass.instancePool.length<Klass.poolSize&&Klass.instancePool.push(instance)},DEFAULT_POOLER=oneArgumentPooler,addPoolingTo=function(CopyConstructor,pooler){var NewKlass=CopyConstructor;return NewKlass.instancePool=[],NewKlass.getPooled=pooler||DEFAULT_POOLER,NewKlass.poolSize||(NewKlass.poolSize=10),NewKlass.release=standardReleaser,NewKlass},PooledClass={addPoolingTo:addPoolingTo,oneArgumentPooler:oneArgumentPooler,twoArgumentPooler:twoArgumentPooler,threeArgumentPooler:threeArgumentPooler,fourArgumentPooler:fourArgumentPooler};module.exports=PooledClass},function(module,exports,__webpack_require__){"use strict";function getComponentKey(component,index){return component&&"object"==typeof component&&null!=component.key?KeyEscapeUtils.escape(component.key):index.toString(36)}function traverseAllChildrenImpl(children,nameSoFar,callback,traverseContext){var type=typeof children;if("undefined"!==type&&"boolean"!==type||(children=null),null===children||"string"===type||"number"===type||"object"===type&&children.$$typeof===REACT_ELEMENT_TYPE)return callback(traverseContext,children,""===nameSoFar?SEPARATOR+getComponentKey(children,0):nameSoFar),1;var child,nextName,subtreeCount=0,nextNamePrefix=""===nameSoFar?SEPARATOR:nameSoFar+SUBSEPARATOR;if(Array.isArray(children))for(var i=0;i<children.length;i++)child=children[i],nextName=nextNamePrefix+getComponentKey(child,i),subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);else{var iteratorFn=getIteratorFn(children);if(iteratorFn){var step,iterator=iteratorFn.call(children);if(iteratorFn!==children.entries)for(var ii=0;!(step=iterator.next()).done;)child=step.value,nextName=nextNamePrefix+getComponentKey(child,ii++),subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);else for(;!(step=iterator.next()).done;){var entry=step.value;entry&&(child=entry[1],nextName=nextNamePrefix+KeyEscapeUtils.escape(entry[0])+SUBSEPARATOR+getComponentKey(child,0),subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext))}}else if("object"===type){var addendum="",childrenString=String(children);_prodInvariant("31","[object Object]"===childrenString?"object with keys {"+Object.keys(children).join(", ")+"}":childrenString,addendum)}}return subtreeCount}function traverseAllChildren(children,callback,traverseContext){return null==children?0:traverseAllChildrenImpl(children,"",callback,traverseContext)}var _prodInvariant=__webpack_require__(53),REACT_ELEMENT_TYPE=(__webpack_require__(34),__webpack_require__(108)),getIteratorFn=__webpack_require__(169),KeyEscapeUtils=(__webpack_require__(7),__webpack_require__(170)),SEPARATOR=(__webpack_require__(10),"."),SUBSEPARATOR=":";module.exports=traverseAllChildren},function(module,exports,__webpack_require__){"use strict";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if("function"==typeof iteratorFn)return iteratorFn}var ITERATOR_SYMBOL="function"==typeof Symbol&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator";module.exports=getIteratorFn},function(module,exports,__webpack_require__){"use strict";function escape(key){var escaperLookup={"=":"=0",":":"=2"};return"$"+(""+key).replace(/[=:]/g,function(match){return escaperLookup[match]})}function unescape(key){var unescapeRegex=/(=0|=2)/g,unescaperLookup={"=0":"=","=2":":"};return(""+("."===key[0]&&"$"===key[1]?key.substring(2):key.substring(1))).replace(unescapeRegex,function(match){return unescaperLookup[match]})}var KeyEscapeUtils={escape:escape,unescape:unescape};module.exports=KeyEscapeUtils},function(module,exports,__webpack_require__){"use strict";var ReactElement=__webpack_require__(45),createDOMFactory=ReactElement.createFactory,ReactDOMFactories={a:createDOMFactory("a"),abbr:createDOMFactory("abbr"),address:createDOMFactory("address"),area:createDOMFactory("area"),article:createDOMFactory("article"),aside:createDOMFactory("aside"),audio:createDOMFactory("audio"),b:createDOMFactory("b"),base:createDOMFactory("base"),bdi:createDOMFactory("bdi"),bdo:createDOMFactory("bdo"),big:createDOMFactory("big"),blockquote:createDOMFactory("blockquote"),body:createDOMFactory("body"),br:createDOMFactory("br"),button:createDOMFactory("button"),canvas:createDOMFactory("canvas"),caption:createDOMFactory("caption"),cite:createDOMFactory("cite"),code:createDOMFactory("code"),col:createDOMFactory("col"),colgroup:createDOMFactory("colgroup"),data:createDOMFactory("data"),datalist:createDOMFactory("datalist"),dd:createDOMFactory("dd"),del:createDOMFactory("del"),details:createDOMFactory("details"),dfn:createDOMFactory("dfn"),dialog:createDOMFactory("dialog"),div:createDOMFactory("div"),dl:createDOMFactory("dl"),dt:createDOMFactory("dt"),em:createDOMFactory("em"),embed:createDOMFactory("embed"),fieldset:createDOMFactory("fieldset"),figcaption:createDOMFactory("figcaption"),figure:createDOMFactory("figure"),footer:createDOMFactory("footer"),form:createDOMFactory("form"),h1:createDOMFactory("h1"),h2:createDOMFactory("h2"),h3:createDOMFactory("h3"),h4:createDOMFactory("h4"),h5:createDOMFactory("h5"),h6:createDOMFactory("h6"),head:createDOMFactory("head"),header:createDOMFactory("header"),hgroup:createDOMFactory("hgroup"),hr:createDOMFactory("hr"),html:createDOMFactory("html"),i:createDOMFactory("i"),iframe:createDOMFactory("iframe"),img:createDOMFactory("img"),input:createDOMFactory("input"),ins:createDOMFactory("ins"),kbd:createDOMFactory("kbd"),keygen:createDOMFactory("keygen"),label:createDOMFactory("label"),legend:createDOMFactory("legend"),li:createDOMFactory("li"),link:createDOMFactory("link"),main:createDOMFactory("main"),map:createDOMFactory("map"),mark:createDOMFactory("mark"),menu:createDOMFactory("menu"),menuitem:createDOMFactory("menuitem"),meta:createDOMFactory("meta"),meter:createDOMFactory("meter"),nav:createDOMFactory("nav"),noscript:createDOMFactory("noscript"),object:createDOMFactory("object"),ol:createDOMFactory("ol"),optgroup:createDOMFactory("optgroup"),option:createDOMFactory("option"),output:createDOMFactory("output"),p:createDOMFactory("p"),param:createDOMFactory("param"),picture:createDOMFactory("picture"),pre:createDOMFactory("pre"),progress:createDOMFactory("progress"),q:createDOMFactory("q"),rp:createDOMFactory("rp"),rt:createDOMFactory("rt"),ruby:createDOMFactory("ruby"),s:createDOMFactory("s"),samp:createDOMFactory("samp"),script:createDOMFactory("script"),section:createDOMFactory("section"),select:createDOMFactory("select"),small:createDOMFactory("small"),source:createDOMFactory("source"),span:createDOMFactory("span"),strong:createDOMFactory("strong"),style:createDOMFactory("style"),sub:createDOMFactory("sub"),summary:createDOMFactory("summary"),sup:createDOMFactory("sup"),table:createDOMFactory("table"),tbody:createDOMFactory("tbody"),td:createDOMFactory("td"),textarea:createDOMFactory("textarea"),tfoot:createDOMFactory("tfoot"),th:createDOMFactory("th"),thead:createDOMFactory("thead"),time:createDOMFactory("time"),title:createDOMFactory("title"),tr:createDOMFactory("tr"),track:createDOMFactory("track"),u:createDOMFactory("u"),ul:createDOMFactory("ul"),var:createDOMFactory("var"),video:createDOMFactory("video"),wbr:createDOMFactory("wbr"),circle:createDOMFactory("circle"),clipPath:createDOMFactory("clipPath"),defs:createDOMFactory("defs"),ellipse:createDOMFactory("ellipse"),g:createDOMFactory("g"),image:createDOMFactory("image"),line:createDOMFactory("line"),linearGradient:createDOMFactory("linearGradient"),mask:createDOMFactory("mask"),path:createDOMFactory("path"),pattern:createDOMFactory("pattern"),polygon:createDOMFactory("polygon"),polyline:createDOMFactory("polyline"),radialGradient:createDOMFactory("radialGradient"),rect:createDOMFactory("rect"),stop:createDOMFactory("stop"),svg:createDOMFactory("svg"),text:createDOMFactory("text"),tspan:createDOMFactory("tspan")};module.exports=ReactDOMFactories},function(module,exports,__webpack_require__){"use strict";var _require=__webpack_require__(45),isValidElement=_require.isValidElement,factory=__webpack_require__(109);module.exports=factory(isValidElement)},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(25),invariant=__webpack_require__(7),warning=__webpack_require__(10),assign=__webpack_require__(13),ReactPropTypesSecret=__webpack_require__(110),checkPropTypes=__webpack_require__(174);module.exports=function(isValidElement,throwOnDirectAccess){function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if("function"==typeof iteratorFn)return iteratorFn}function is(x,y){return x===y?0!==x||1/x==1/y:x!==x&&y!==y}function PropTypeError(message){this.message=message,this.stack=""}function createChainableTypeChecker(validate){function checkType(isRequired,props,propName,componentName,location,propFullName,secret){if(componentName=componentName||ANONYMOUS,propFullName=propFullName||propName,secret!==ReactPropTypesSecret)if(throwOnDirectAccess)invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else;return null==props[propName]?isRequired?new PropTypeError(null===props[propName]?"The "+location+" `"+propFullName+"` is marked as required in `"+componentName+"`, but its value is `null`.":"The "+location+" `"+propFullName+"` is marked as required in `"+componentName+"`, but its value is `undefined`."):null:validate(props,propName,componentName,location,propFullName)}var chainedCheckType=checkType.bind(null,!1);return chainedCheckType.isRequired=checkType.bind(null,!0),chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName];if(getPropType(propValue)!==expectedType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+getPreciseType(propValue)+"` supplied to `"+componentName+"`, expected `"+expectedType+"`.");return null}return createChainableTypeChecker(validate)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if("function"!=typeof typeChecker)return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.");var propValue=props[propName];if(!Array.isArray(propValue)){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+getPropType(propValue)+"` supplied to `"+componentName+"`, expected an array.")}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS;return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+getClassName(props[propName])+"` supplied to `"+componentName+"`, expected instance of `"+expectedClassName+"`.")}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){function validate(props,propName,componentName,location,propFullName){for(var propValue=props[propName],i=0;i<expectedValues.length;i++)if(is(propValue,expectedValues[i]))return null;return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+propValue+"` supplied to `"+componentName+"`, expected one of "+JSON.stringify(expectedValues)+".")}return Array.isArray(expectedValues)?createChainableTypeChecker(validate):emptyFunction.thatReturnsNull}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if("function"!=typeof typeChecker)return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.");var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` supplied to `"+componentName+"`, expected an object.");for(var key in propValue)if(propValue.hasOwnProperty(key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){function validate(props,propName,componentName,location,propFullName){for(var i=0;i<arrayOfTypeCheckers.length;i++){if(null==(0,arrayOfTypeCheckers[i])(props,propName,componentName,location,propFullName,ReactPropTypesSecret))return null}return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to `"+componentName+"`.")}if(!Array.isArray(arrayOfTypeCheckers))return emptyFunction.thatReturnsNull;for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if("function"!=typeof checker)return warning(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",getPostfixForTypeWarning(checker),i),emptyFunction.thatReturnsNull}return createChainableTypeChecker(validate)}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` supplied to `"+componentName+"`, expected `object`.");for(var key in shapeTypes){var checker=shapeTypes[key];if(checker){var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` supplied to `"+componentName+"`, expected `object`.");var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(!checker)return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`.\nBad object: "+JSON.stringify(props[propName],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(shapeTypes),null," "));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return!0;case"boolean":return!propValue;case"object":if(Array.isArray(propValue))return propValue.every(isNode);if(null===propValue||isValidElement(propValue))return!0;var iteratorFn=getIteratorFn(propValue);if(!iteratorFn)return!1;var step,iterator=iteratorFn.call(propValue);if(iteratorFn!==propValue.entries){for(;!(step=iterator.next()).done;)if(!isNode(step.value))return!1}else for(;!(step=iterator.next()).done;){var entry=step.value;if(entry&&!isNode(entry[1]))return!1}return!0;default:return!1}}function isSymbol(propType,propValue){return"symbol"===propType||("Symbol"===propValue["@@toStringTag"]||"function"==typeof Symbol&&propValue instanceof Symbol)}function getPropType(propValue){var propType=typeof propValue;return Array.isArray(propValue)?"array":propValue instanceof RegExp?"object":isSymbol(propType,propValue)?"symbol":propType}function getPreciseType(propValue){if(void 0===propValue||null===propValue)return""+propValue;var propType=getPropType(propValue);if("object"===propType){if(propValue instanceof Date)return"date";if(propValue instanceof RegExp)return"regexp"}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){return propValue.constructor&&propValue.constructor.name?propValue.constructor.name:ANONYMOUS}var ITERATOR_SYMBOL="function"==typeof Symbol&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator",ANONYMOUS="<<anonymous>>",ReactPropTypes={array:createPrimitiveTypeChecker("array"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:function(){return createChainableTypeChecker(emptyFunction.thatReturnsNull)}(),arrayOf:createArrayOfTypeChecker,element:function(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+getPropType(propValue)+"` supplied to `"+componentName+"`, expected a single ReactElement.")}return null}return createChainableTypeChecker(validate)}(),instanceOf:createInstanceTypeChecker,node:function(){function validate(props,propName,componentName,location,propFullName){return isNode(props[propName])?null:new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to `"+componentName+"`, expected a ReactNode.")}return createChainableTypeChecker(validate)}(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};return PropTypeError.prototype=Error.prototype,ReactPropTypes.checkPropTypes=checkPropTypes,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";function checkPropTypes(typeSpecs,values,location,componentName,getStack){}module.exports=checkPropTypes},function(module,exports,__webpack_require__){"use strict";module.exports="15.6.2"},function(module,exports,__webpack_require__){"use strict";var _require=__webpack_require__(105),Component=_require.Component,_require2=__webpack_require__(45),isValidElement=_require2.isValidElement,ReactNoopUpdateQueue=__webpack_require__(106),factory=__webpack_require__(111);module.exports=factory(Component,isValidElement,ReactNoopUpdateQueue)},function(module,exports,__webpack_require__){"use strict";function onlyChild(children){return ReactElement.isValidElement(children)||_prodInvariant("143"),children}var _prodInvariant=__webpack_require__(53),ReactElement=__webpack_require__(45);__webpack_require__(7);module.exports=onlyChild},function(module,exports,__webpack_require__){"use strict";var ReactDOMComponentTree=__webpack_require__(14),ReactDefaultInjection=__webpack_require__(179),ReactMount=__webpack_require__(135),ReactReconciler=__webpack_require__(47),ReactUpdates=__webpack_require__(33),ReactVersion=__webpack_require__(251),findDOMNode=__webpack_require__(252),getHostComponentFromComposite=__webpack_require__(136),renderSubtreeIntoContainer=__webpack_require__(253);__webpack_require__(10);ReactDefaultInjection.inject();var ReactDOM={findDOMNode:findDOMNode,render:ReactMount.render,unmountComponentAtNode:ReactMount.unmountComponentAtNode,version:ReactVersion,unstable_batchedUpdates:ReactUpdates.batchedUpdates,unstable_renderSubtreeIntoContainer:renderSubtreeIntoContainer};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:ReactDOMComponentTree.getClosestInstanceFromNode,getNodeFromInstance:function(inst){return inst._renderedComponent&&(inst=getHostComponentFromComposite(inst)),inst?ReactDOMComponentTree.getNodeFromInstance(inst):null}},Mount:ReactMount,Reconciler:ReactReconciler});module.exports=ReactDOM},function(module,exports,__webpack_require__){"use strict";function inject(){alreadyInjected||(alreadyInjected=!0,ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener),ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder),ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree),ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal),ReactInjection.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:SimpleEventPlugin,EnterLeaveEventPlugin:EnterLeaveEventPlugin,ChangeEventPlugin:ChangeEventPlugin,SelectEventPlugin:SelectEventPlugin,BeforeInputEventPlugin:BeforeInputEventPlugin}),ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent),ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent),ReactInjection.DOMProperty.injectDOMPropertyConfig(ARIADOMPropertyConfig),ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig),ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig),ReactInjection.EmptyComponent.injectEmptyComponentFactory(function(instantiate){return new ReactDOMEmptyComponent(instantiate)}),ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction),ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy),ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment))}var ARIADOMPropertyConfig=__webpack_require__(180),BeforeInputEventPlugin=__webpack_require__(181),ChangeEventPlugin=__webpack_require__(185),DefaultEventPluginOrder=__webpack_require__(188),EnterLeaveEventPlugin=__webpack_require__(189),HTMLDOMPropertyConfig=__webpack_require__(190),ReactComponentBrowserEnvironment=__webpack_require__(191),ReactDOMComponent=__webpack_require__(197),ReactDOMComponentTree=__webpack_require__(14),ReactDOMEmptyComponent=__webpack_require__(222),ReactDOMTreeTraversal=__webpack_require__(223),ReactDOMTextComponent=__webpack_require__(224),ReactDefaultBatchingStrategy=__webpack_require__(225),ReactEventListener=__webpack_require__(226),ReactInjection=__webpack_require__(228),ReactReconcileTransaction=__webpack_require__(229),SVGDOMPropertyConfig=__webpack_require__(235),SelectEventPlugin=__webpack_require__(236),SimpleEventPlugin=__webpack_require__(237),alreadyInjected=!1;module.exports={inject:inject}},function(module,exports,__webpack_require__){"use strict";var ARIADOMPropertyConfig={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}};module.exports=ARIADOMPropertyConfig},function(module,exports,__webpack_require__){"use strict";function isKeypressCommand(nativeEvent){return(nativeEvent.ctrlKey||nativeEvent.altKey||nativeEvent.metaKey)&&!(nativeEvent.ctrlKey&&nativeEvent.altKey)}function getCompositionEventType(topLevelType){switch(topLevelType){case"topCompositionStart":return eventTypes.compositionStart;case"topCompositionEnd":return eventTypes.compositionEnd;case"topCompositionUpdate":return eventTypes.compositionUpdate}}function isFallbackCompositionStart(topLevelType,nativeEvent){return"topKeyDown"===topLevelType&&nativeEvent.keyCode===START_KEYCODE}function isFallbackCompositionEnd(topLevelType,nativeEvent){switch(topLevelType){case"topKeyUp":return-1!==END_KEYCODES.indexOf(nativeEvent.keyCode);case"topKeyDown":return nativeEvent.keyCode!==START_KEYCODE;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function getDataFromCustomEvent(nativeEvent){var detail=nativeEvent.detail;return"object"==typeof detail&&"data"in detail?detail.data:null}function extractCompositionEvent(topLevelType,targetInst,nativeEvent,nativeEventTarget){var eventType,fallbackData;if(canUseCompositionEvent?eventType=getCompositionEventType(topLevelType):currentComposition?isFallbackCompositionEnd(topLevelType,nativeEvent)&&(eventType=eventTypes.compositionEnd):isFallbackCompositionStart(topLevelType,nativeEvent)&&(eventType=eventTypes.compositionStart),!eventType)return null;useFallbackCompositionData&&(currentComposition||eventType!==eventTypes.compositionStart?eventType===eventTypes.compositionEnd&&currentComposition&&(fallbackData=currentComposition.getData()):currentComposition=FallbackCompositionState.getPooled(nativeEventTarget));var event=SyntheticCompositionEvent.getPooled(eventType,targetInst,nativeEvent,nativeEventTarget);if(fallbackData)event.data=fallbackData;else{var customData=getDataFromCustomEvent(nativeEvent);null!==customData&&(event.data=customData)}return EventPropagators.accumulateTwoPhaseDispatches(event),event}function getNativeBeforeInputChars(topLevelType,nativeEvent){switch(topLevelType){case"topCompositionEnd":return getDataFromCustomEvent(nativeEvent);case"topKeyPress":return nativeEvent.which!==SPACEBAR_CODE?null:(hasSpaceKeypress=!0,SPACEBAR_CHAR);case"topTextInput":var chars=nativeEvent.data;return chars===SPACEBAR_CHAR&&hasSpaceKeypress?null:chars;default:return null}}function getFallbackBeforeInputChars(topLevelType,nativeEvent){if(currentComposition){if("topCompositionEnd"===topLevelType||!canUseCompositionEvent&&isFallbackCompositionEnd(topLevelType,nativeEvent)){var chars=currentComposition.getData();return FallbackCompositionState.release(currentComposition),currentComposition=null,chars}return null}switch(topLevelType){case"topPaste":return null;case"topKeyPress":return nativeEvent.which&&!isKeypressCommand(nativeEvent)?String.fromCharCode(nativeEvent.which):null;case"topCompositionEnd":return useFallbackCompositionData?null:nativeEvent.data;default:return null}}function extractBeforeInputEvent(topLevelType,targetInst,nativeEvent,nativeEventTarget){var chars;if(!(chars=canUseTextInputEvent?getNativeBeforeInputChars(topLevelType,nativeEvent):getFallbackBeforeInputChars(topLevelType,nativeEvent)))return null;var event=SyntheticInputEvent.getPooled(eventTypes.beforeInput,targetInst,nativeEvent,nativeEventTarget);return event.data=chars,EventPropagators.accumulateTwoPhaseDispatches(event),event}var EventPropagators=__webpack_require__(54),ExecutionEnvironment=__webpack_require__(24),FallbackCompositionState=__webpack_require__(182),SyntheticCompositionEvent=__webpack_require__(183),SyntheticInputEvent=__webpack_require__(184),END_KEYCODES=[9,13,27,32],START_KEYCODE=229,canUseCompositionEvent=ExecutionEnvironment.canUseDOM&&"CompositionEvent"in window,documentMode=null;ExecutionEnvironment.canUseDOM&&"documentMode"in document&&(documentMode=document.documentMode);var canUseTextInputEvent=ExecutionEnvironment.canUseDOM&&"TextEvent"in window&&!documentMode&&!function(){var opera=window.opera;return"object"==typeof opera&&"function"==typeof opera.version&&parseInt(opera.version(),10)<=12}(),useFallbackCompositionData=ExecutionEnvironment.canUseDOM&&(!canUseCompositionEvent||documentMode&&documentMode>8&&documentMode<=11),SPACEBAR_CODE=32,SPACEBAR_CHAR=String.fromCharCode(SPACEBAR_CODE),eventTypes={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},hasSpaceKeypress=!1,currentComposition=null,BeforeInputEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,targetInst,nativeEvent,nativeEventTarget){return[extractCompositionEvent(topLevelType,targetInst,nativeEvent,nativeEventTarget),extractBeforeInputEvent(topLevelType,targetInst,nativeEvent,nativeEventTarget)]}};module.exports=BeforeInputEventPlugin},function(module,exports,__webpack_require__){"use strict";function FallbackCompositionState(root){this._root=root,this._startText=this.getText(),this._fallbackText=null}var _assign=__webpack_require__(13),PooledClass=__webpack_require__(42),getTextContentAccessor=__webpack_require__(115);_assign(FallbackCompositionState.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[getTextContentAccessor()]},getData:function(){if(this._fallbackText)return this._fallbackText;var start,end,startValue=this._startText,startLength=startValue.length,endValue=this.getText(),endLength=endValue.length;for(start=0;start<startLength&&startValue[start]===endValue[start];start++);var minEnd=startLength-start;for(end=1;end<=minEnd&&startValue[startLength-end]===endValue[endLength-end];end++);var sliceTail=end>1?1-end:void 0;return this._fallbackText=endValue.slice(start,sliceTail),this._fallbackText}}),PooledClass.addPoolingTo(FallbackCompositionState),module.exports=FallbackCompositionState},function(module,exports,__webpack_require__){"use strict";function SyntheticCompositionEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticEvent=__webpack_require__(35),CompositionEventInterface={data:null};SyntheticEvent.augmentClass(SyntheticCompositionEvent,CompositionEventInterface),module.exports=SyntheticCompositionEvent},function(module,exports,__webpack_require__){"use strict";function SyntheticInputEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticEvent=__webpack_require__(35),InputEventInterface={data:null};SyntheticEvent.augmentClass(SyntheticInputEvent,InputEventInterface),module.exports=SyntheticInputEvent},function(module,exports,__webpack_require__){"use strict";function createAndAccumulateChangeEvent(inst,nativeEvent,target){var event=SyntheticEvent.getPooled(eventTypes.change,inst,nativeEvent,target);return event.type="change",EventPropagators.accumulateTwoPhaseDispatches(event),event}function shouldUseChangeEvent(elem){var nodeName=elem.nodeName&&elem.nodeName.toLowerCase();return"select"===nodeName||"input"===nodeName&&"file"===elem.type}function manualDispatchChangeEvent(nativeEvent){var event=createAndAccumulateChangeEvent(activeElementInst,nativeEvent,getEventTarget(nativeEvent));ReactUpdates.batchedUpdates(runEventInBatch,event)}function runEventInBatch(event){EventPluginHub.enqueueEvents(event),EventPluginHub.processEventQueue(!1)}function startWatchingForChangeEventIE8(target,targetInst){activeElement=target,activeElementInst=targetInst,activeElement.attachEvent("onchange",manualDispatchChangeEvent)}function stopWatchingForChangeEventIE8(){activeElement&&(activeElement.detachEvent("onchange",manualDispatchChangeEvent),activeElement=null,activeElementInst=null)}function getInstIfValueChanged(targetInst,nativeEvent){var updated=inputValueTracking.updateValueIfChanged(targetInst),simulated=!0===nativeEvent.simulated&&ChangeEventPlugin._allowSimulatedPassThrough;if(updated||simulated)return targetInst}function getTargetInstForChangeEvent(topLevelType,targetInst){if("topChange"===topLevelType)return targetInst}function handleEventsForChangeEventIE8(topLevelType,target,targetInst){"topFocus"===topLevelType?(stopWatchingForChangeEventIE8(),startWatchingForChangeEventIE8(target,targetInst)):"topBlur"===topLevelType&&stopWatchingForChangeEventIE8()}function startWatchingForValueChange(target,targetInst){activeElement=target,activeElementInst=targetInst,activeElement.attachEvent("onpropertychange",handlePropertyChange)}function stopWatchingForValueChange(){activeElement&&(activeElement.detachEvent("onpropertychange",handlePropertyChange),activeElement=null,activeElementInst=null)}function handlePropertyChange(nativeEvent){"value"===nativeEvent.propertyName&&getInstIfValueChanged(activeElementInst,nativeEvent)&&manualDispatchChangeEvent(nativeEvent)}function handleEventsForInputEventPolyfill(topLevelType,target,targetInst){"topFocus"===topLevelType?(stopWatchingForValueChange(),startWatchingForValueChange(target,targetInst)):"topBlur"===topLevelType&&stopWatchingForValueChange()}function getTargetInstForInputEventPolyfill(topLevelType,targetInst,nativeEvent){if("topSelectionChange"===topLevelType||"topKeyUp"===topLevelType||"topKeyDown"===topLevelType)return getInstIfValueChanged(activeElementInst,nativeEvent)}function shouldUseClickEvent(elem){var nodeName=elem.nodeName;return nodeName&&"input"===nodeName.toLowerCase()&&("checkbox"===elem.type||"radio"===elem.type)}function getTargetInstForClickEvent(topLevelType,targetInst,nativeEvent){if("topClick"===topLevelType)return getInstIfValueChanged(targetInst,nativeEvent)}function getTargetInstForInputOrChangeEvent(topLevelType,targetInst,nativeEvent){if("topInput"===topLevelType||"topChange"===topLevelType)return getInstIfValueChanged(targetInst,nativeEvent)}function handleControlledInputBlur(inst,node){if(null!=inst){var state=inst._wrapperState||node._wrapperState;if(state&&state.controlled&&"number"===node.type){var value=""+node.value;node.getAttribute("value")!==value&&node.setAttribute("value",value)}}}var EventPluginHub=__webpack_require__(55),EventPropagators=__webpack_require__(54),ExecutionEnvironment=__webpack_require__(24),ReactDOMComponentTree=__webpack_require__(14),ReactUpdates=__webpack_require__(33),SyntheticEvent=__webpack_require__(35),inputValueTracking=__webpack_require__(118),getEventTarget=__webpack_require__(78),isEventSupported=__webpack_require__(79),isTextInputElement=__webpack_require__(119),eventTypes={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},activeElement=null,activeElementInst=null,doesChangeEventBubble=!1;ExecutionEnvironment.canUseDOM&&(doesChangeEventBubble=isEventSupported("change")&&(!document.documentMode||document.documentMode>8));var isInputEventSupported=!1;ExecutionEnvironment.canUseDOM&&(isInputEventSupported=isEventSupported("input")&&(!document.documentMode||document.documentMode>9));var ChangeEventPlugin={eventTypes:eventTypes,_allowSimulatedPassThrough:!0,_isInputEventSupported:isInputEventSupported,extractEvents:function(topLevelType,targetInst,nativeEvent,nativeEventTarget){var getTargetInstFunc,handleEventFunc,targetNode=targetInst?ReactDOMComponentTree.getNodeFromInstance(targetInst):window;if(shouldUseChangeEvent(targetNode)?doesChangeEventBubble?getTargetInstFunc=getTargetInstForChangeEvent:handleEventFunc=handleEventsForChangeEventIE8:isTextInputElement(targetNode)?isInputEventSupported?getTargetInstFunc=getTargetInstForInputOrChangeEvent:(getTargetInstFunc=getTargetInstForInputEventPolyfill,handleEventFunc=handleEventsForInputEventPolyfill):shouldUseClickEvent(targetNode)&&(getTargetInstFunc=getTargetInstForClickEvent),getTargetInstFunc){var inst=getTargetInstFunc(topLevelType,targetInst,nativeEvent);if(inst){return createAndAccumulateChangeEvent(inst,nativeEvent,nativeEventTarget)}}handleEventFunc&&handleEventFunc(topLevelType,targetNode,targetInst),"topBlur"===topLevelType&&handleControlledInputBlur(targetInst,targetNode)}};module.exports=ChangeEventPlugin},function(module,exports,__webpack_require__){"use strict";function attachRef(ref,component,owner){"function"==typeof ref?ref(component.getPublicInstance()):ReactOwner.addComponentAsRefTo(component,ref,owner)}function detachRef(ref,component,owner){"function"==typeof ref?ref(null):ReactOwner.removeComponentAsRefFrom(component,ref,owner)}var ReactOwner=__webpack_require__(187),ReactRef={};ReactRef.attachRefs=function(instance,element){if(null!==element&&"object"==typeof element){var ref=element.ref;null!=ref&&attachRef(ref,instance,element._owner)}},ReactRef.shouldUpdateRefs=function(prevElement,nextElement){var prevRef=null,prevOwner=null;null!==prevElement&&"object"==typeof prevElement&&(prevRef=prevElement.ref,prevOwner=prevElement._owner);var nextRef=null,nextOwner=null;return null!==nextElement&&"object"==typeof nextElement&&(nextRef=nextElement.ref,nextOwner=nextElement._owner),prevRef!==nextRef||"string"==typeof nextRef&&nextOwner!==prevOwner},ReactRef.detachRefs=function(instance,element){if(null!==element&&"object"==typeof element){var ref=element.ref;null!=ref&&detachRef(ref,instance,element._owner)}},module.exports=ReactRef},function(module,exports,__webpack_require__){"use strict";function isValidOwner(object){return!(!object||"function"!=typeof object.attachRef||"function"!=typeof object.detachRef)}var _prodInvariant=__webpack_require__(11),ReactOwner=(__webpack_require__(7),{addComponentAsRefTo:function(component,ref,owner){isValidOwner(owner)||_prodInvariant("119"),owner.attachRef(ref,component)},removeComponentAsRefFrom:function(component,ref,owner){isValidOwner(owner)||_prodInvariant("120");var ownerPublicInstance=owner.getPublicInstance();ownerPublicInstance&&ownerPublicInstance.refs[ref]===component.getPublicInstance()&&owner.detachRef(ref)}});module.exports=ReactOwner},function(module,exports,__webpack_require__){"use strict";var DefaultEventPluginOrder=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];module.exports=DefaultEventPluginOrder},function(module,exports,__webpack_require__){"use strict";var EventPropagators=__webpack_require__(54),ReactDOMComponentTree=__webpack_require__(14),SyntheticMouseEvent=__webpack_require__(66),eventTypes={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},EnterLeaveEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,targetInst,nativeEvent,nativeEventTarget){if("topMouseOver"===topLevelType&&(nativeEvent.relatedTarget||nativeEvent.fromElement))return null;if("topMouseOut"!==topLevelType&&"topMouseOver"!==topLevelType)return null;var win;if(nativeEventTarget.window===nativeEventTarget)win=nativeEventTarget;else{var doc=nativeEventTarget.ownerDocument;win=doc?doc.defaultView||doc.parentWindow:window}var from,to;if("topMouseOut"===topLevelType){from=targetInst;var related=nativeEvent.relatedTarget||nativeEvent.toElement;to=related?ReactDOMComponentTree.getClosestInstanceFromNode(related):null}else from=null,to=targetInst;if(from===to)return null;var fromNode=null==from?win:ReactDOMComponentTree.getNodeFromInstance(from),toNode=null==to?win:ReactDOMComponentTree.getNodeFromInstance(to),leave=SyntheticMouseEvent.getPooled(eventTypes.mouseLeave,from,nativeEvent,nativeEventTarget);leave.type="mouseleave",leave.target=fromNode,leave.relatedTarget=toNode;var enter=SyntheticMouseEvent.getPooled(eventTypes.mouseEnter,to,nativeEvent,nativeEventTarget);return enter.type="mouseenter",enter.target=toNode,enter.relatedTarget=fromNode,EventPropagators.accumulateEnterLeaveDispatches(leave,enter,from,to),[leave,enter]}};module.exports=EnterLeaveEventPlugin},function(module,exports,__webpack_require__){"use strict";var DOMProperty=__webpack_require__(46),MUST_USE_PROPERTY=DOMProperty.injection.MUST_USE_PROPERTY,HAS_BOOLEAN_VALUE=DOMProperty.injection.HAS_BOOLEAN_VALUE,HAS_NUMERIC_VALUE=DOMProperty.injection.HAS_NUMERIC_VALUE,HAS_POSITIVE_NUMERIC_VALUE=DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE,HAS_OVERLOADED_BOOLEAN_VALUE=DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE,HTMLDOMPropertyConfig={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+DOMProperty.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:HAS_BOOLEAN_VALUE,allowTransparency:0,alt:0,as:0,async:HAS_BOOLEAN_VALUE,autoComplete:0,autoPlay:HAS_BOOLEAN_VALUE,capture:HAS_BOOLEAN_VALUE,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,cite:0,classID:0,className:0,cols:HAS_POSITIVE_NUMERIC_VALUE,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:HAS_BOOLEAN_VALUE,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:HAS_BOOLEAN_VALUE,defer:HAS_BOOLEAN_VALUE,dir:0,disabled:HAS_BOOLEAN_VALUE,download:HAS_OVERLOADED_BOOLEAN_VALUE,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:HAS_BOOLEAN_VALUE,formTarget:0,frameBorder:0,headers:0,height:0,hidden:HAS_BOOLEAN_VALUE,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:HAS_BOOLEAN_VALUE,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,muted:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,name:0,nonce:0,noValidate:HAS_BOOLEAN_VALUE,open:HAS_BOOLEAN_VALUE,optimum:0,pattern:0,placeholder:0,playsInline:HAS_BOOLEAN_VALUE,poster:0,preload:0,profile:0,radioGroup:0,readOnly:HAS_BOOLEAN_VALUE,referrerPolicy:0,rel:0,required:HAS_BOOLEAN_VALUE,reversed:HAS_BOOLEAN_VALUE,role:0,rows:HAS_POSITIVE_NUMERIC_VALUE,rowSpan:HAS_NUMERIC_VALUE,sandbox:0,scope:0,scoped:HAS_BOOLEAN_VALUE,scrolling:0,seamless:HAS_BOOLEAN_VALUE,selected:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,shape:0,size:HAS_POSITIVE_NUMERIC_VALUE,sizes:0,span:HAS_POSITIVE_NUMERIC_VALUE,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:HAS_NUMERIC_VALUE,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:HAS_BOOLEAN_VALUE,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(node,value){if(null==value)return node.removeAttribute("value");"number"!==node.type||!1===node.hasAttribute("value")?node.setAttribute("value",""+value):node.validity&&!node.validity.badInput&&node.ownerDocument.activeElement!==node&&node.setAttribute("value",""+value)}}};module.exports=HTMLDOMPropertyConfig},function(module,exports,__webpack_require__){"use strict";var DOMChildrenOperations=__webpack_require__(81),ReactDOMIDOperations=__webpack_require__(196),ReactComponentBrowserEnvironment={processChildrenUpdates:ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup};module.exports=ReactComponentBrowserEnvironment},function(module,exports,__webpack_require__){"use strict";var _prodInvariant=__webpack_require__(11),DOMLazyTree=__webpack_require__(48),ExecutionEnvironment=__webpack_require__(24),createNodesFromMarkup=__webpack_require__(193),emptyFunction=__webpack_require__(25),Danger=(__webpack_require__(7),{dangerouslyReplaceNodeWithMarkup:function(oldChild,markup){if(ExecutionEnvironment.canUseDOM||_prodInvariant("56"),markup||_prodInvariant("57"),"HTML"===oldChild.nodeName&&_prodInvariant("58"),"string"==typeof markup){var newChild=createNodesFromMarkup(markup,emptyFunction)[0];oldChild.parentNode.replaceChild(newChild,oldChild)}else DOMLazyTree.replaceChildWithTree(oldChild,markup)}});module.exports=Danger},function(module,exports,__webpack_require__){"use strict";function getNodeName(markup){var nodeNameMatch=markup.match(nodeNamePattern);return nodeNameMatch&&nodeNameMatch[1].toLowerCase()}function createNodesFromMarkup(markup,handleScript){var node=dummyNode;dummyNode||invariant(!1);var nodeName=getNodeName(markup),wrap=nodeName&&getMarkupWrap(nodeName);if(wrap){node.innerHTML=wrap[1]+markup+wrap[2];for(var wrapDepth=wrap[0];wrapDepth--;)node=node.lastChild}else node.innerHTML=markup;var scripts=node.getElementsByTagName("script");scripts.length&&(handleScript||invariant(!1),createArrayFromMixed(scripts).forEach(handleScript));for(var nodes=Array.from(node.childNodes);node.lastChild;)node.removeChild(node.lastChild);return nodes}var ExecutionEnvironment=__webpack_require__(24),createArrayFromMixed=__webpack_require__(194),getMarkupWrap=__webpack_require__(195),invariant=__webpack_require__(7),dummyNode=ExecutionEnvironment.canUseDOM?document.createElement("div"):null,nodeNamePattern=/^\s*<(\w+)/;module.exports=createNodesFromMarkup},function(module,exports,__webpack_require__){"use strict";function toArray(obj){var length=obj.length;if((Array.isArray(obj)||"object"!=typeof obj&&"function"!=typeof obj)&&invariant(!1),"number"!=typeof length&&invariant(!1),0===length||length-1 in obj||invariant(!1),"function"==typeof obj.callee&&invariant(!1),obj.hasOwnProperty)try{return Array.prototype.slice.call(obj)}catch(e){}for(var ret=Array(length),ii=0;ii<length;ii++)ret[ii]=obj[ii];return ret}function hasArrayNature(obj){return!!obj&&("object"==typeof obj||"function"==typeof obj)&&"length"in obj&&!("setInterval"in obj)&&"number"!=typeof obj.nodeType&&(Array.isArray(obj)||"callee"in obj||"item"in obj)}function createArrayFromMixed(obj){return hasArrayNature(obj)?Array.isArray(obj)?obj.slice():toArray(obj):[obj]}var invariant=__webpack_require__(7);module.exports=createArrayFromMixed},function(module,exports,__webpack_require__){"use strict";function getMarkupWrap(nodeName){return dummyNode||invariant(!1),markupWrap.hasOwnProperty(nodeName)||(nodeName="*"),shouldWrap.hasOwnProperty(nodeName)||(dummyNode.innerHTML="*"===nodeName?"<link />":"<"+nodeName+"></"+nodeName+">",shouldWrap[nodeName]=!dummyNode.firstChild),shouldWrap[nodeName]?markupWrap[nodeName]:null}var ExecutionEnvironment=__webpack_require__(24),invariant=__webpack_require__(7),dummyNode=ExecutionEnvironment.canUseDOM?document.createElement("div"):null,shouldWrap={},selectWrap=[1,'<select multiple="true">',"</select>"],tableWrap=[1,"<table>","</table>"],trWrap=[3,"<table><tbody><tr>","</tr></tbody></table>"],svgWrap=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],markupWrap={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:selectWrap,option:selectWrap,caption:tableWrap,colgroup:tableWrap,tbody:tableWrap,tfoot:tableWrap,thead:tableWrap,td:trWrap,th:trWrap};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(nodeName){markupWrap[nodeName]=svgWrap,shouldWrap[nodeName]=!0}),module.exports=getMarkupWrap},function(module,exports,__webpack_require__){"use strict";var DOMChildrenOperations=__webpack_require__(81),ReactDOMComponentTree=__webpack_require__(14),ReactDOMIDOperations={dangerouslyProcessChildrenUpdates:function(parentInst,updates){var node=ReactDOMComponentTree.getNodeFromInstance(parentInst);DOMChildrenOperations.processUpdates(node,updates)}};module.exports=ReactDOMIDOperations},function(module,exports,__webpack_require__){"use strict";function getDeclarationErrorAddendum(internalInstance){if(internalInstance){var owner=internalInstance._currentElement._owner||null;if(owner){var name=owner.getName();if(name)return" This DOM node was rendered by `"+name+"`."}}return""}function assertValidProps(component,props){props&&(voidElementTags[component._tag]&&(null!=props.children||null!=props.dangerouslySetInnerHTML)&&_prodInvariant("137",component._tag,component._currentElement._owner?" Check the render method of "+component._currentElement._owner.getName()+".":""),null!=props.dangerouslySetInnerHTML&&(null!=props.children&&_prodInvariant("60"),"object"==typeof props.dangerouslySetInnerHTML&&HTML in props.dangerouslySetInnerHTML||_prodInvariant("61")),null!=props.style&&"object"!=typeof props.style&&_prodInvariant("62",getDeclarationErrorAddendum(component)))}function enqueuePutListener(inst,registrationName,listener,transaction){if(!(transaction instanceof ReactServerRenderingTransaction)){var containerInfo=inst._hostContainerInfo,isDocumentFragment=containerInfo._node&&containerInfo._node.nodeType===DOC_FRAGMENT_TYPE,doc=isDocumentFragment?containerInfo._node:containerInfo._ownerDocument;listenTo(registrationName,doc),transaction.getReactMountReady().enqueue(putListener,{inst:inst,registrationName:registrationName,listener:listener})}}function putListener(){var listenerToPut=this;EventPluginHub.putListener(listenerToPut.inst,listenerToPut.registrationName,listenerToPut.listener)}function inputPostMount(){var inst=this;ReactDOMInput.postMountWrapper(inst)}function textareaPostMount(){var inst=this;ReactDOMTextarea.postMountWrapper(inst)}function optionPostMount(){var inst=this;ReactDOMOption.postMountWrapper(inst)}function trackInputValue(){inputValueTracking.track(this)}function trapBubbledEventsLocal(){var inst=this;inst._rootNodeID||_prodInvariant("63");var node=getNode(inst);switch(node||_prodInvariant("64"),inst._tag){case"iframe":case"object":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent("topLoad","load",node)];break;case"video":case"audio":inst._wrapperState.listeners=[];for(var event in mediaEvents)mediaEvents.hasOwnProperty(event)&&inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(event,mediaEvents[event],node));break;case"source":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent("topError","error",node)];break;case"img":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent("topError","error",node),ReactBrowserEventEmitter.trapBubbledEvent("topLoad","load",node)];break;case"form":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent("topReset","reset",node),ReactBrowserEventEmitter.trapBubbledEvent("topSubmit","submit",node)];break;case"input":case"select":case"textarea":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent("topInvalid","invalid",node)]}}function postUpdateSelectWrapper(){ReactDOMSelect.postUpdateWrapper(this)}function validateDangerousTag(tag){hasOwnProperty.call(validatedTagCache,tag)||(VALID_TAG_REGEX.test(tag)||_prodInvariant("65",tag),validatedTagCache[tag]=!0)}function isCustomComponent(tagName,props){return tagName.indexOf("-")>=0||null!=props.is}function ReactDOMComponent(element){var tag=element.type;validateDangerousTag(tag),this._currentElement=element,this._tag=tag.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var _prodInvariant=__webpack_require__(11),_assign=__webpack_require__(13),AutoFocusUtils=__webpack_require__(198),CSSPropertyOperations=__webpack_require__(199),DOMLazyTree=__webpack_require__(48),DOMNamespaces=__webpack_require__(82),DOMProperty=__webpack_require__(46),DOMPropertyOperations=__webpack_require__(124),EventPluginHub=__webpack_require__(55),EventPluginRegistry=__webpack_require__(75),ReactBrowserEventEmitter=__webpack_require__(69),ReactDOMComponentFlags=__webpack_require__(112),ReactDOMComponentTree=__webpack_require__(14),ReactDOMInput=__webpack_require__(209),ReactDOMOption=__webpack_require__(211),ReactDOMSelect=__webpack_require__(125),ReactDOMTextarea=__webpack_require__(212),ReactMultiChild=(__webpack_require__(29),__webpack_require__(213)),ReactServerRenderingTransaction=__webpack_require__(220),escapeTextContentForBrowser=(__webpack_require__(25),__webpack_require__(68)),inputValueTracking=(__webpack_require__(7),__webpack_require__(79),__webpack_require__(86),__webpack_require__(118)),Flags=(__webpack_require__(90),__webpack_require__(10),ReactDOMComponentFlags),deleteListener=EventPluginHub.deleteListener,getNode=ReactDOMComponentTree.getNodeFromInstance,listenTo=ReactBrowserEventEmitter.listenTo,registrationNameModules=EventPluginRegistry.registrationNameModules,CONTENT_TYPES={string:!0,number:!0},HTML="__html",RESERVED_PROPS={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},DOC_FRAGMENT_TYPE=11,mediaEvents={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},omittedCloseTags={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},newlineEatingTags={listing:!0,pre:!0,textarea:!0},voidElementTags=_assign({menuitem:!0},omittedCloseTags),VALID_TAG_REGEX=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,validatedTagCache={},hasOwnProperty={}.hasOwnProperty,globalIdCounter=1;ReactDOMComponent.displayName="ReactDOMComponent",ReactDOMComponent.Mixin={mountComponent:function(transaction,hostParent,hostContainerInfo,context){this._rootNodeID=globalIdCounter++,this._domID=hostContainerInfo._idCounter++,this._hostParent=hostParent,this._hostContainerInfo=hostContainerInfo;var props=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},transaction.getReactMountReady().enqueue(trapBubbledEventsLocal,this);break;case"input":ReactDOMInput.mountWrapper(this,props,hostParent),props=ReactDOMInput.getHostProps(this,props),transaction.getReactMountReady().enqueue(trackInputValue,this),transaction.getReactMountReady().enqueue(trapBubbledEventsLocal,this);break;case"option":ReactDOMOption.mountWrapper(this,props,hostParent),props=ReactDOMOption.getHostProps(this,props);break;case"select":ReactDOMSelect.mountWrapper(this,props,hostParent),props=ReactDOMSelect.getHostProps(this,props),transaction.getReactMountReady().enqueue(trapBubbledEventsLocal,this);break;case"textarea":ReactDOMTextarea.mountWrapper(this,props,hostParent),props=ReactDOMTextarea.getHostProps(this,props),transaction.getReactMountReady().enqueue(trackInputValue,this),transaction.getReactMountReady().enqueue(trapBubbledEventsLocal,this)}assertValidProps(this,props);var namespaceURI,parentTag;null!=hostParent?(namespaceURI=hostParent._namespaceURI,parentTag=hostParent._tag):hostContainerInfo._tag&&(namespaceURI=hostContainerInfo._namespaceURI,parentTag=hostContainerInfo._tag),(null==namespaceURI||namespaceURI===DOMNamespaces.svg&&"foreignobject"===parentTag)&&(namespaceURI=DOMNamespaces.html),namespaceURI===DOMNamespaces.html&&("svg"===this._tag?namespaceURI=DOMNamespaces.svg:"math"===this._tag&&(namespaceURI=DOMNamespaces.mathml)),this._namespaceURI=namespaceURI;var mountImage;if(transaction.useCreateElement){var el,ownerDocument=hostContainerInfo._ownerDocument;if(namespaceURI===DOMNamespaces.html)if("script"===this._tag){var div=ownerDocument.createElement("div"),type=this._currentElement.type;div.innerHTML="<"+type+"></"+type+">",el=div.removeChild(div.firstChild)}else el=props.is?ownerDocument.createElement(this._currentElement.type,props.is):ownerDocument.createElement(this._currentElement.type);else el=ownerDocument.createElementNS(namespaceURI,this._currentElement.type);ReactDOMComponentTree.precacheNode(this,el),this._flags|=Flags.hasCachedChildNodes,this._hostParent||DOMPropertyOperations.setAttributeForRoot(el),this._updateDOMProperties(null,props,transaction);var lazyTree=DOMLazyTree(el);this._createInitialChildren(transaction,props,context,lazyTree),mountImage=lazyTree}else{var tagOpen=this._createOpenTagMarkupAndPutListeners(transaction,props),tagContent=this._createContentMarkup(transaction,props,context);mountImage=!tagContent&&omittedCloseTags[this._tag]?tagOpen+"/>":tagOpen+">"+tagContent+"</"+this._currentElement.type+">"}switch(this._tag){case"input":transaction.getReactMountReady().enqueue(inputPostMount,this),props.autoFocus&&transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent,this);break;case"textarea":transaction.getReactMountReady().enqueue(textareaPostMount,this),props.autoFocus&&transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent,this);break;case"select":case"button":props.autoFocus&&transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent,this);break;case"option":transaction.getReactMountReady().enqueue(optionPostMount,this)}return mountImage},_createOpenTagMarkupAndPutListeners:function(transaction,props){var ret="<"+this._currentElement.type;for(var propKey in props)if(props.hasOwnProperty(propKey)){var propValue=props[propKey];if(null!=propValue)if(registrationNameModules.hasOwnProperty(propKey))propValue&&enqueuePutListener(this,propKey,propValue,transaction);else{"style"===propKey&&(propValue&&(propValue=this._previousStyleCopy=_assign({},props.style)),propValue=CSSPropertyOperations.createMarkupForStyles(propValue,this));var markup=null;null!=this._tag&&isCustomComponent(this._tag,props)?RESERVED_PROPS.hasOwnProperty(propKey)||(markup=DOMPropertyOperations.createMarkupForCustomAttribute(propKey,propValue)):markup=DOMPropertyOperations.createMarkupForProperty(propKey,propValue),markup&&(ret+=" "+markup)}}return transaction.renderToStaticMarkup?ret:(this._hostParent||(ret+=" "+DOMPropertyOperations.createMarkupForRoot()),ret+=" "+DOMPropertyOperations.createMarkupForID(this._domID))},_createContentMarkup:function(transaction,props,context){var ret="",innerHTML=props.dangerouslySetInnerHTML;if(null!=innerHTML)null!=innerHTML.__html&&(ret=innerHTML.__html);else{var contentToUse=CONTENT_TYPES[typeof props.children]?props.children:null,childrenToUse=null!=contentToUse?null:props.children;if(null!=contentToUse)ret=escapeTextContentForBrowser(contentToUse);else if(null!=childrenToUse){var mountImages=this.mountChildren(childrenToUse,transaction,context);ret=mountImages.join("")}}return newlineEatingTags[this._tag]&&"\n"===ret.charAt(0)?"\n"+ret:ret},_createInitialChildren:function(transaction,props,context,lazyTree){var innerHTML=props.dangerouslySetInnerHTML;if(null!=innerHTML)null!=innerHTML.__html&&DOMLazyTree.queueHTML(lazyTree,innerHTML.__html);else{var contentToUse=CONTENT_TYPES[typeof props.children]?props.children:null,childrenToUse=null!=contentToUse?null:props.children;if(null!=contentToUse)""!==contentToUse&&DOMLazyTree.queueText(lazyTree,contentToUse);else if(null!=childrenToUse)for(var mountImages=this.mountChildren(childrenToUse,transaction,context),i=0;i<mountImages.length;i++)DOMLazyTree.queueChild(lazyTree,mountImages[i])}},receiveComponent:function(nextElement,transaction,context){var prevElement=this._currentElement;this._currentElement=nextElement,this.updateComponent(transaction,prevElement,nextElement,context)},updateComponent:function(transaction,prevElement,nextElement,context){var lastProps=prevElement.props,nextProps=this._currentElement.props;switch(this._tag){case"input":lastProps=ReactDOMInput.getHostProps(this,lastProps),nextProps=ReactDOMInput.getHostProps(this,nextProps);break;case"option":lastProps=ReactDOMOption.getHostProps(this,lastProps),nextProps=ReactDOMOption.getHostProps(this,nextProps);break;case"select":lastProps=ReactDOMSelect.getHostProps(this,lastProps),nextProps=ReactDOMSelect.getHostProps(this,nextProps);break;case"textarea":lastProps=ReactDOMTextarea.getHostProps(this,lastProps),nextProps=ReactDOMTextarea.getHostProps(this,nextProps)}switch(assertValidProps(this,nextProps),this._updateDOMProperties(lastProps,nextProps,transaction),this._updateDOMChildren(lastProps,nextProps,transaction,context),this._tag){case"input":ReactDOMInput.updateWrapper(this),inputValueTracking.updateValueIfChanged(this);break;case"textarea":ReactDOMTextarea.updateWrapper(this);break;case"select":transaction.getReactMountReady().enqueue(postUpdateSelectWrapper,this)}},_updateDOMProperties:function(lastProps,nextProps,transaction){var propKey,styleName,styleUpdates;for(propKey in lastProps)if(!nextProps.hasOwnProperty(propKey)&&lastProps.hasOwnProperty(propKey)&&null!=lastProps[propKey])if("style"===propKey){var lastStyle=this._previousStyleCopy;for(styleName in lastStyle)lastStyle.hasOwnProperty(styleName)&&(styleUpdates=styleUpdates||{},styleUpdates[styleName]="");this._previousStyleCopy=null}else registrationNameModules.hasOwnProperty(propKey)?lastProps[propKey]&&deleteListener(this,propKey):isCustomComponent(this._tag,lastProps)?RESERVED_PROPS.hasOwnProperty(propKey)||DOMPropertyOperations.deleteValueForAttribute(getNode(this),propKey):(DOMProperty.properties[propKey]||DOMProperty.isCustomAttribute(propKey))&&DOMPropertyOperations.deleteValueForProperty(getNode(this),propKey);for(propKey in nextProps){var nextProp=nextProps[propKey],lastProp="style"===propKey?this._previousStyleCopy:null!=lastProps?lastProps[propKey]:void 0;if(nextProps.hasOwnProperty(propKey)&&nextProp!==lastProp&&(null!=nextProp||null!=lastProp))if("style"===propKey)if(nextProp?nextProp=this._previousStyleCopy=_assign({},nextProp):this._previousStyleCopy=null,lastProp){for(styleName in lastProp)!lastProp.hasOwnProperty(styleName)||nextProp&&nextProp.hasOwnProperty(styleName)||(styleUpdates=styleUpdates||{},styleUpdates[styleName]="");for(styleName in nextProp)nextProp.hasOwnProperty(styleName)&&lastProp[styleName]!==nextProp[styleName]&&(styleUpdates=styleUpdates||{},styleUpdates[styleName]=nextProp[styleName])}else styleUpdates=nextProp;else if(registrationNameModules.hasOwnProperty(propKey))nextProp?enqueuePutListener(this,propKey,nextProp,transaction):lastProp&&deleteListener(this,propKey);else if(isCustomComponent(this._tag,nextProps))RESERVED_PROPS.hasOwnProperty(propKey)||DOMPropertyOperations.setValueForAttribute(getNode(this),propKey,nextProp);else if(DOMProperty.properties[propKey]||DOMProperty.isCustomAttribute(propKey)){var node=getNode(this);null!=nextProp?DOMPropertyOperations.setValueForProperty(node,propKey,nextProp):DOMPropertyOperations.deleteValueForProperty(node,propKey)}}styleUpdates&&CSSPropertyOperations.setValueForStyles(getNode(this),styleUpdates,this)},_updateDOMChildren:function(lastProps,nextProps,transaction,context){var lastContent=CONTENT_TYPES[typeof lastProps.children]?lastProps.children:null,nextContent=CONTENT_TYPES[typeof nextProps.children]?nextProps.children:null,lastHtml=lastProps.dangerouslySetInnerHTML&&lastProps.dangerouslySetInnerHTML.__html,nextHtml=nextProps.dangerouslySetInnerHTML&&nextProps.dangerouslySetInnerHTML.__html,lastChildren=null!=lastContent?null:lastProps.children,nextChildren=null!=nextContent?null:nextProps.children,lastHasContentOrHtml=null!=lastContent||null!=lastHtml,nextHasContentOrHtml=null!=nextContent||null!=nextHtml;null!=lastChildren&&null==nextChildren?this.updateChildren(null,transaction,context):lastHasContentOrHtml&&!nextHasContentOrHtml&&this.updateTextContent(""),null!=nextContent?lastContent!==nextContent&&this.updateTextContent(""+nextContent):null!=nextHtml?lastHtml!==nextHtml&&this.updateMarkup(""+nextHtml):null!=nextChildren&&this.updateChildren(nextChildren,transaction,context)},getHostNode:function(){return getNode(this)},unmountComponent:function(safely){switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":var listeners=this._wrapperState.listeners;if(listeners)for(var i=0;i<listeners.length;i++)listeners[i].remove();break;case"input":case"textarea":inputValueTracking.stopTracking(this);break;case"html":case"head":case"body":_prodInvariant("66",this._tag)}this.unmountChildren(safely),ReactDOMComponentTree.uncacheNode(this),EventPluginHub.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return getNode(this)}},_assign(ReactDOMComponent.prototype,ReactDOMComponent.Mixin,ReactMultiChild.Mixin),module.exports=ReactDOMComponent},function(module,exports,__webpack_require__){"use strict";var ReactDOMComponentTree=__webpack_require__(14),focusNode=__webpack_require__(122),AutoFocusUtils={focusDOMComponent:function(){focusNode(ReactDOMComponentTree.getNodeFromInstance(this))}};module.exports=AutoFocusUtils},function(module,exports,__webpack_require__){"use strict";var CSSProperty=__webpack_require__(123),ExecutionEnvironment=__webpack_require__(24),dangerousStyleValue=(__webpack_require__(29),__webpack_require__(200),__webpack_require__(202)),hyphenateStyleName=__webpack_require__(203),memoizeStringOnly=__webpack_require__(205),processStyleName=(__webpack_require__(10),memoizeStringOnly(function(styleName){return hyphenateStyleName(styleName)})),hasShorthandPropertyBug=!1,styleFloatAccessor="cssFloat";if(ExecutionEnvironment.canUseDOM){var tempStyle=document.createElement("div").style;try{tempStyle.font=""}catch(e){hasShorthandPropertyBug=!0}void 0===document.documentElement.style.cssFloat&&(styleFloatAccessor="styleFloat")}var CSSPropertyOperations={createMarkupForStyles:function(styles,component){var serialized="";for(var styleName in styles)if(styles.hasOwnProperty(styleName)){var isCustomProperty=0===styleName.indexOf("--"),styleValue=styles[styleName];null!=styleValue&&(serialized+=processStyleName(styleName)+":",serialized+=dangerousStyleValue(styleName,styleValue,component,isCustomProperty)+";")}return serialized||null},setValueForStyles:function(node,styles,component){var style=node.style;for(var styleName in styles)if(styles.hasOwnProperty(styleName)){var isCustomProperty=0===styleName.indexOf("--"),styleValue=dangerousStyleValue(styleName,styles[styleName],component,isCustomProperty);if("float"!==styleName&&"cssFloat"!==styleName||(styleName=styleFloatAccessor),isCustomProperty)style.setProperty(styleName,styleValue);else if(styleValue)style[styleName]=styleValue;else{var expansion=hasShorthandPropertyBug&&CSSProperty.shorthandPropertyExpansions[styleName];if(expansion)for(var individualStyleName in expansion)style[individualStyleName]="";else style[styleName]=""}}}};module.exports=CSSPropertyOperations},function(module,exports,__webpack_require__){"use strict";function camelizeStyleName(string){return camelize(string.replace(msPattern,"ms-"))}var camelize=__webpack_require__(201),msPattern=/^-ms-/;module.exports=camelizeStyleName},function(module,exports,__webpack_require__){"use strict";function camelize(string){return string.replace(_hyphenPattern,function(_,character){return character.toUpperCase()})}var _hyphenPattern=/-(.)/g;module.exports=camelize},function(module,exports,__webpack_require__){"use strict";function dangerousStyleValue(name,value,component,isCustomProperty){if(null==value||"boolean"==typeof value||""===value)return"";var isNonNumeric=isNaN(value);if(isCustomProperty||isNonNumeric||0===value||isUnitlessNumber.hasOwnProperty(name)&&isUnitlessNumber[name])return""+value;if("string"==typeof value){value=value.trim()}return value+"px"}var CSSProperty=__webpack_require__(123),isUnitlessNumber=(__webpack_require__(10),CSSProperty.isUnitlessNumber);module.exports=dangerousStyleValue},function(module,exports,__webpack_require__){"use strict";function hyphenateStyleName(string){return hyphenate(string).replace(msPattern,"-ms-")}var hyphenate=__webpack_require__(204),msPattern=/^ms-/;module.exports=hyphenateStyleName},function(module,exports,__webpack_require__){"use strict";function hyphenate(string){return string.replace(_uppercasePattern,"-$1").toLowerCase()}var _uppercasePattern=/([A-Z])/g;module.exports=hyphenate},function(module,exports,__webpack_require__){"use strict";function memoizeStringOnly(callback){var cache={};return function(string){return cache.hasOwnProperty(string)||(cache[string]=callback.call(this,string)),cache[string]}}module.exports=memoizeStringOnly},function(module,exports,__webpack_require__){"use strict";function quoteAttributeValueForBrowser(value){return'"'+escapeTextContentForBrowser(value)+'"'}var escapeTextContentForBrowser=__webpack_require__(68);module.exports=quoteAttributeValueForBrowser},function(module,exports,__webpack_require__){"use strict";function runEventQueueInBatch(events){EventPluginHub.enqueueEvents(events),EventPluginHub.processEventQueue(!1)}var EventPluginHub=__webpack_require__(55),ReactEventEmitterMixin={handleTopLevel:function(topLevelType,targetInst,nativeEvent,nativeEventTarget){runEventQueueInBatch(EventPluginHub.extractEvents(topLevelType,targetInst,nativeEvent,nativeEventTarget))}};module.exports=ReactEventEmitterMixin},function(module,exports,__webpack_require__){"use strict";function makePrefixMap(styleProp,eventName){var prefixes={};return prefixes[styleProp.toLowerCase()]=eventName.toLowerCase(),prefixes["Webkit"+styleProp]="webkit"+eventName,prefixes["Moz"+styleProp]="moz"+eventName,prefixes["ms"+styleProp]="MS"+eventName,prefixes["O"+styleProp]="o"+eventName.toLowerCase(),prefixes}function getVendorPrefixedEventName(eventName){if(prefixedEventNames[eventName])return prefixedEventNames[eventName];if(!vendorPrefixes[eventName])return eventName;var prefixMap=vendorPrefixes[eventName];for(var styleProp in prefixMap)if(prefixMap.hasOwnProperty(styleProp)&&styleProp in style)return prefixedEventNames[eventName]=prefixMap[styleProp];return""}var ExecutionEnvironment=__webpack_require__(24),vendorPrefixes={animationend:makePrefixMap("Animation","AnimationEnd"),animationiteration:makePrefixMap("Animation","AnimationIteration"),animationstart:makePrefixMap("Animation","AnimationStart"),transitionend:makePrefixMap("Transition","TransitionEnd")},prefixedEventNames={},style={};ExecutionEnvironment.canUseDOM&&(style=document.createElement("div").style,"AnimationEvent"in window||(delete vendorPrefixes.animationend.animation,delete vendorPrefixes.animationiteration.animation,delete vendorPrefixes.animationstart.animation),"TransitionEvent"in window||delete vendorPrefixes.transitionend.transition),module.exports=getVendorPrefixedEventName},function(module,exports,__webpack_require__){"use strict";function forceUpdateIfMounted(){this._rootNodeID&&ReactDOMInput.updateWrapper(this)}function isControlled(props){return"checkbox"===props.type||"radio"===props.type?null!=props.checked:null!=props.value}function _handleChange(event){var props=this._currentElement.props,returnValue=LinkedValueUtils.executeOnChange(props,event);ReactUpdates.asap(forceUpdateIfMounted,this);var name=props.name;if("radio"===props.type&&null!=name){for(var rootNode=ReactDOMComponentTree.getNodeFromInstance(this),queryRoot=rootNode;queryRoot.parentNode;)queryRoot=queryRoot.parentNode;for(var group=queryRoot.querySelectorAll("input[name="+JSON.stringify(""+name)+'][type="radio"]'),i=0;i<group.length;i++){var otherNode=group[i];if(otherNode!==rootNode&&otherNode.form===rootNode.form){var otherInstance=ReactDOMComponentTree.getInstanceFromNode(otherNode);otherInstance||_prodInvariant("90"),ReactUpdates.asap(forceUpdateIfMounted,otherInstance)}}}return returnValue}var _prodInvariant=__webpack_require__(11),_assign=__webpack_require__(13),DOMPropertyOperations=__webpack_require__(124),LinkedValueUtils=__webpack_require__(84),ReactDOMComponentTree=__webpack_require__(14),ReactUpdates=__webpack_require__(33),ReactDOMInput=(__webpack_require__(7),__webpack_require__(10),{getHostProps:function(inst,props){var value=LinkedValueUtils.getValue(props),checked=LinkedValueUtils.getChecked(props);return _assign({type:void 0,step:void 0,min:void 0,max:void 0},props,{defaultChecked:void 0,defaultValue:void 0,value:null!=value?value:inst._wrapperState.initialValue,checked:null!=checked?checked:inst._wrapperState.initialChecked,onChange:inst._wrapperState.onChange})},mountWrapper:function(inst,props){var defaultValue=props.defaultValue;inst._wrapperState={initialChecked:null!=props.checked?props.checked:props.defaultChecked,initialValue:null!=props.value?props.value:defaultValue,listeners:null,onChange:_handleChange.bind(inst),controlled:isControlled(props)}},updateWrapper:function(inst){var props=inst._currentElement.props,checked=props.checked;null!=checked&&DOMPropertyOperations.setValueForProperty(ReactDOMComponentTree.getNodeFromInstance(inst),"checked",checked||!1);var node=ReactDOMComponentTree.getNodeFromInstance(inst),value=LinkedValueUtils.getValue(props);if(null!=value)if(0===value&&""===node.value)node.value="0";else if("number"===props.type){var valueAsNumber=parseFloat(node.value,10)||0;(value!=valueAsNumber||value==valueAsNumber&&node.value!=value)&&(node.value=""+value)}else node.value!==""+value&&(node.value=""+value);else null==props.value&&null!=props.defaultValue&&node.defaultValue!==""+props.defaultValue&&(node.defaultValue=""+props.defaultValue),null==props.checked&&null!=props.defaultChecked&&(node.defaultChecked=!!props.defaultChecked)},postMountWrapper:function(inst){var props=inst._currentElement.props,node=ReactDOMComponentTree.getNodeFromInstance(inst);switch(props.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":node.value="",node.value=node.defaultValue;break;default:node.value=node.value}var name=node.name;""!==name&&(node.name=""),node.defaultChecked=!node.defaultChecked,node.defaultChecked=!node.defaultChecked,""!==name&&(node.name=name)}});module.exports=ReactDOMInput},function(module,exports,__webpack_require__){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(module,exports,__webpack_require__){"use strict";function flattenChildren(children){var content="";return React.Children.forEach(children,function(child){null!=child&&("string"==typeof child||"number"==typeof child?content+=child:didWarnInvalidOptionChildren||(didWarnInvalidOptionChildren=!0))}),content}var _assign=__webpack_require__(13),React=__webpack_require__(44),ReactDOMComponentTree=__webpack_require__(14),ReactDOMSelect=__webpack_require__(125),didWarnInvalidOptionChildren=(__webpack_require__(10),!1),ReactDOMOption={mountWrapper:function(inst,props,hostParent){var selectValue=null;if(null!=hostParent){var selectParent=hostParent;"optgroup"===selectParent._tag&&(selectParent=selectParent._hostParent),null!=selectParent&&"select"===selectParent._tag&&(selectValue=ReactDOMSelect.getSelectValueContext(selectParent))}var selected=null;if(null!=selectValue){var value;if(value=null!=props.value?props.value+"":flattenChildren(props.children),selected=!1,Array.isArray(selectValue)){for(var i=0;i<selectValue.length;i++)if(""+selectValue[i]===value){selected=!0;break}}else selected=""+selectValue===value}inst._wrapperState={selected:selected}},postMountWrapper:function(inst){var props=inst._currentElement.props;if(null!=props.value){ReactDOMComponentTree.getNodeFromInstance(inst).setAttribute("value",props.value)}},getHostProps:function(inst,props){var hostProps=_assign({selected:void 0,children:void 0},props);null!=inst._wrapperState.selected&&(hostProps.selected=inst._wrapperState.selected);var content=flattenChildren(props.children);return content&&(hostProps.children=content),hostProps}};module.exports=ReactDOMOption},function(module,exports,__webpack_require__){"use strict";function forceUpdateIfMounted(){this._rootNodeID&&ReactDOMTextarea.updateWrapper(this)}function _handleChange(event){var props=this._currentElement.props,returnValue=LinkedValueUtils.executeOnChange(props,event);return ReactUpdates.asap(forceUpdateIfMounted,this),returnValue}var _prodInvariant=__webpack_require__(11),_assign=__webpack_require__(13),LinkedValueUtils=__webpack_require__(84),ReactDOMComponentTree=__webpack_require__(14),ReactUpdates=__webpack_require__(33),ReactDOMTextarea=(__webpack_require__(7),__webpack_require__(10),{getHostProps:function(inst,props){return null!=props.dangerouslySetInnerHTML&&_prodInvariant("91"),_assign({},props,{value:void 0,defaultValue:void 0,children:""+inst._wrapperState.initialValue,onChange:inst._wrapperState.onChange})},mountWrapper:function(inst,props){var value=LinkedValueUtils.getValue(props),initialValue=value;if(null==value){var defaultValue=props.defaultValue,children=props.children;null!=children&&(null!=defaultValue&&_prodInvariant("92"),Array.isArray(children)&&(children.length<=1||_prodInvariant("93"),children=children[0]),defaultValue=""+children),null==defaultValue&&(defaultValue=""),initialValue=defaultValue}inst._wrapperState={initialValue:""+initialValue,listeners:null,onChange:_handleChange.bind(inst)}},updateWrapper:function(inst){var props=inst._currentElement.props,node=ReactDOMComponentTree.getNodeFromInstance(inst),value=LinkedValueUtils.getValue(props);if(null!=value){var newValue=""+value;newValue!==node.value&&(node.value=newValue),null==props.defaultValue&&(node.defaultValue=newValue)}null!=props.defaultValue&&(node.defaultValue=props.defaultValue)},postMountWrapper:function(inst){var node=ReactDOMComponentTree.getNodeFromInstance(inst),textContent=node.textContent;textContent===inst._wrapperState.initialValue&&(node.value=textContent)}});module.exports=ReactDOMTextarea},function(module,exports,__webpack_require__){"use strict";function makeInsertMarkup(markup,afterNode,toIndex){return{type:"INSERT_MARKUP",content:markup,fromIndex:null,fromNode:null,toIndex:toIndex,afterNode:afterNode}}function makeMove(child,afterNode,toIndex){return{type:"MOVE_EXISTING",content:null,fromIndex:child._mountIndex,fromNode:ReactReconciler.getHostNode(child),toIndex:toIndex,afterNode:afterNode}}function makeRemove(child,node){return{type:"REMOVE_NODE",content:null,fromIndex:child._mountIndex,fromNode:node,toIndex:null,afterNode:null}}function makeSetMarkup(markup){return{type:"SET_MARKUP",content:markup,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function makeTextContent(textContent){return{type:"TEXT_CONTENT",content:textContent,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function enqueue(queue,update){return update&&(queue=queue||[],queue.push(update)),queue}function processQueue(inst,updateQueue){ReactComponentEnvironment.processChildrenUpdates(inst,updateQueue)}var _prodInvariant=__webpack_require__(11),ReactComponentEnvironment=__webpack_require__(85),ReactReconciler=(__webpack_require__(57),__webpack_require__(29),__webpack_require__(34),__webpack_require__(47)),ReactChildReconciler=__webpack_require__(214),flattenChildren=(__webpack_require__(25),__webpack_require__(219)),ReactMultiChild=(__webpack_require__(7),{Mixin:{_reconcilerInstantiateChildren:function(nestedChildren,transaction,context){return ReactChildReconciler.instantiateChildren(nestedChildren,transaction,context)},_reconcilerUpdateChildren:function(prevChildren,nextNestedChildrenElements,mountImages,removedNodes,transaction,context){var nextChildren,selfDebugID=0;return nextChildren=flattenChildren(nextNestedChildrenElements,selfDebugID),ReactChildReconciler.updateChildren(prevChildren,nextChildren,mountImages,removedNodes,transaction,this,this._hostContainerInfo,context,selfDebugID),nextChildren},mountChildren:function(nestedChildren,transaction,context){var children=this._reconcilerInstantiateChildren(nestedChildren,transaction,context);this._renderedChildren=children;var mountImages=[],index=0;for(var name in children)if(children.hasOwnProperty(name)){var child=children[name],selfDebugID=0,mountImage=ReactReconciler.mountComponent(child,transaction,this,this._hostContainerInfo,context,selfDebugID);child._mountIndex=index++,mountImages.push(mountImage)}return mountImages},updateTextContent:function(nextContent){var prevChildren=this._renderedChildren;ReactChildReconciler.unmountChildren(prevChildren,!1);for(var name in prevChildren)prevChildren.hasOwnProperty(name)&&_prodInvariant("118");processQueue(this,[makeTextContent(nextContent)])},updateMarkup:function(nextMarkup){var prevChildren=this._renderedChildren;ReactChildReconciler.unmountChildren(prevChildren,!1);for(var name in prevChildren)prevChildren.hasOwnProperty(name)&&_prodInvariant("118");processQueue(this,[makeSetMarkup(nextMarkup)])},updateChildren:function(nextNestedChildrenElements,transaction,context){this._updateChildren(nextNestedChildrenElements,transaction,context)},_updateChildren:function(nextNestedChildrenElements,transaction,context){var prevChildren=this._renderedChildren,removedNodes={},mountImages=[],nextChildren=this._reconcilerUpdateChildren(prevChildren,nextNestedChildrenElements,mountImages,removedNodes,transaction,context);if(nextChildren||prevChildren){var name,updates=null,nextIndex=0,lastIndex=0,nextMountIndex=0,lastPlacedNode=null;for(name in nextChildren)if(nextChildren.hasOwnProperty(name)){var prevChild=prevChildren&&prevChildren[name],nextChild=nextChildren[name];prevChild===nextChild?(updates=enqueue(updates,this.moveChild(prevChild,lastPlacedNode,nextIndex,lastIndex)),lastIndex=Math.max(prevChild._mountIndex,lastIndex),prevChild._mountIndex=nextIndex):(prevChild&&(lastIndex=Math.max(prevChild._mountIndex,lastIndex)),updates=enqueue(updates,this._mountChildAtIndex(nextChild,mountImages[nextMountIndex],lastPlacedNode,nextIndex,transaction,context)),nextMountIndex++),nextIndex++,lastPlacedNode=ReactReconciler.getHostNode(nextChild)}for(name in removedNodes)removedNodes.hasOwnProperty(name)&&(updates=enqueue(updates,this._unmountChild(prevChildren[name],removedNodes[name])));updates&&processQueue(this,updates),this._renderedChildren=nextChildren}},unmountChildren:function(safely){var renderedChildren=this._renderedChildren;ReactChildReconciler.unmountChildren(renderedChildren,safely),this._renderedChildren=null},moveChild:function(child,afterNode,toIndex,lastIndex){if(child._mountIndex<lastIndex)return makeMove(child,afterNode,toIndex)},createChild:function(child,afterNode,mountImage){return makeInsertMarkup(mountImage,afterNode,child._mountIndex)},removeChild:function(child,node){return makeRemove(child,node)},_mountChildAtIndex:function(child,mountImage,afterNode,index,transaction,context){return child._mountIndex=index,this.createChild(child,afterNode,mountImage)},_unmountChild:function(child,node){var update=this.removeChild(child,node);return child._mountIndex=null,update}}});module.exports=ReactMultiChild},function(module,exports,__webpack_require__){"use strict";(function(process){function instantiateChild(childInstances,child,name,selfDebugID){var keyUnique=void 0===childInstances[name];null!=child&&keyUnique&&(childInstances[name]=instantiateReactComponent(child,!0))}var ReactReconciler=__webpack_require__(47),instantiateReactComponent=__webpack_require__(126),shouldUpdateReactComponent=(__webpack_require__(88),__webpack_require__(87)),traverseAllChildren=__webpack_require__(130);__webpack_require__(10);void 0!==process&&Object({NODE_ENV:"production"});var ReactChildReconciler={instantiateChildren:function(nestedChildNodes,transaction,context,selfDebugID){if(null==nestedChildNodes)return null;var childInstances={};return traverseAllChildren(nestedChildNodes,instantiateChild,childInstances),childInstances},updateChildren:function(prevChildren,nextChildren,mountImages,removedNodes,transaction,hostParent,hostContainerInfo,context,selfDebugID){if(nextChildren||prevChildren){var name,prevChild;for(name in nextChildren)if(nextChildren.hasOwnProperty(name)){prevChild=prevChildren&&prevChildren[name];var prevElement=prevChild&&prevChild._currentElement,nextElement=nextChildren[name];if(null!=prevChild&&shouldUpdateReactComponent(prevElement,nextElement))ReactReconciler.receiveComponent(prevChild,nextElement,transaction,context),nextChildren[name]=prevChild;else{prevChild&&(removedNodes[name]=ReactReconciler.getHostNode(prevChild),ReactReconciler.unmountComponent(prevChild,!1));var nextChildInstance=instantiateReactComponent(nextElement,!0);nextChildren[name]=nextChildInstance;var nextChildMountImage=ReactReconciler.mountComponent(nextChildInstance,transaction,hostParent,hostContainerInfo,context,selfDebugID);mountImages.push(nextChildMountImage)}}for(name in prevChildren)!prevChildren.hasOwnProperty(name)||nextChildren&&nextChildren.hasOwnProperty(name)||(prevChild=prevChildren[name],removedNodes[name]=ReactReconciler.getHostNode(prevChild),ReactReconciler.unmountComponent(prevChild,!1))}},unmountChildren:function(renderedChildren,safely){for(var name in renderedChildren)if(renderedChildren.hasOwnProperty(name)){var renderedChild=renderedChildren[name];ReactReconciler.unmountComponent(renderedChild,safely)}}};module.exports=ReactChildReconciler}).call(exports,__webpack_require__(70))},function(module,exports,__webpack_require__){"use strict";function StatelessComponent(Component){}function shouldConstruct(Component){return!(!Component.prototype||!Component.prototype.isReactComponent)}function isPureComponent(Component){return!(!Component.prototype||!Component.prototype.isPureReactComponent)}var _prodInvariant=__webpack_require__(11),_assign=__webpack_require__(13),React=__webpack_require__(44),ReactComponentEnvironment=__webpack_require__(85),ReactCurrentOwner=__webpack_require__(34),ReactErrorUtils=__webpack_require__(77),ReactInstanceMap=__webpack_require__(57),ReactNodeTypes=(__webpack_require__(29),__webpack_require__(127)),ReactReconciler=__webpack_require__(47),emptyObject=__webpack_require__(63),shallowEqual=(__webpack_require__(7),__webpack_require__(86)),shouldUpdateReactComponent=__webpack_require__(87),CompositeTypes=(__webpack_require__(10),{ImpureClass:0,PureClass:1,StatelessFunctional:2});StatelessComponent.prototype.render=function(){var Component=ReactInstanceMap.get(this)._currentElement.type,element=Component(this.props,this.context,this.updater);return element};var nextMountID=1,ReactCompositeComponent={construct:function(element){this._currentElement=element,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(transaction,hostParent,hostContainerInfo,context){this._context=context,this._mountOrder=nextMountID++,this._hostParent=hostParent,this._hostContainerInfo=hostContainerInfo;var renderedElement,publicProps=this._currentElement.props,publicContext=this._processContext(context),Component=this._currentElement.type,updateQueue=transaction.getUpdateQueue(),doConstruct=shouldConstruct(Component),inst=this._constructComponent(doConstruct,publicProps,publicContext,updateQueue);doConstruct||null!=inst&&null!=inst.render?isPureComponent(Component)?this._compositeType=CompositeTypes.PureClass:this._compositeType=CompositeTypes.ImpureClass:(renderedElement=inst,null===inst||!1===inst||React.isValidElement(inst)||_prodInvariant("105",Component.displayName||Component.name||"Component"),inst=new StatelessComponent(Component),this._compositeType=CompositeTypes.StatelessFunctional);inst.props=publicProps,inst.context=publicContext,inst.refs=emptyObject,inst.updater=updateQueue,this._instance=inst,ReactInstanceMap.set(inst,this);var initialState=inst.state;void 0===initialState&&(inst.state=initialState=null),("object"!=typeof initialState||Array.isArray(initialState))&&_prodInvariant("106",this.getName()||"ReactCompositeComponent"),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var markup;return markup=inst.unstable_handleError?this.performInitialMountWithErrorHandling(renderedElement,hostParent,hostContainerInfo,transaction,context):this.performInitialMount(renderedElement,hostParent,hostContainerInfo,transaction,context),inst.componentDidMount&&transaction.getReactMountReady().enqueue(inst.componentDidMount,inst),markup},_constructComponent:function(doConstruct,publicProps,publicContext,updateQueue){return this._constructComponentWithoutOwner(doConstruct,publicProps,publicContext,updateQueue)},_constructComponentWithoutOwner:function(doConstruct,publicProps,publicContext,updateQueue){var Component=this._currentElement.type;return doConstruct?new Component(publicProps,publicContext,updateQueue):Component(publicProps,publicContext,updateQueue)},performInitialMountWithErrorHandling:function(renderedElement,hostParent,hostContainerInfo,transaction,context){var markup,checkpoint=transaction.checkpoint();try{markup=this.performInitialMount(renderedElement,hostParent,hostContainerInfo,transaction,context)}catch(e){transaction.rollback(checkpoint),this._instance.unstable_handleError(e),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),checkpoint=transaction.checkpoint(),this._renderedComponent.unmountComponent(!0),transaction.rollback(checkpoint),markup=this.performInitialMount(renderedElement,hostParent,hostContainerInfo,transaction,context)}return markup},performInitialMount:function(renderedElement,hostParent,hostContainerInfo,transaction,context){var inst=this._instance,debugID=0;inst.componentWillMount&&(inst.componentWillMount(),this._pendingStateQueue&&(inst.state=this._processPendingState(inst.props,inst.context))),void 0===renderedElement&&(renderedElement=this._renderValidatedComponent());var nodeType=ReactNodeTypes.getType(renderedElement);this._renderedNodeType=nodeType;var child=this._instantiateReactComponent(renderedElement,nodeType!==ReactNodeTypes.EMPTY);this._renderedComponent=child;var markup=ReactReconciler.mountComponent(child,transaction,hostParent,hostContainerInfo,this._processChildContext(context),debugID);return markup},getHostNode:function(){return ReactReconciler.getHostNode(this._renderedComponent)},unmountComponent:function(safely){if(this._renderedComponent){var inst=this._instance;if(inst.componentWillUnmount&&!inst._calledComponentWillUnmount)if(inst._calledComponentWillUnmount=!0,safely){var name=this.getName()+".componentWillUnmount()";ReactErrorUtils.invokeGuardedCallback(name,inst.componentWillUnmount.bind(inst))}else inst.componentWillUnmount();this._renderedComponent&&(ReactReconciler.unmountComponent(this._renderedComponent,safely),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,ReactInstanceMap.remove(inst)}},_maskContext:function(context){var Component=this._currentElement.type,contextTypes=Component.contextTypes;if(!contextTypes)return emptyObject;var maskedContext={};for(var contextName in contextTypes)maskedContext[contextName]=context[contextName];return maskedContext},_processContext:function(context){var maskedContext=this._maskContext(context);return maskedContext},_processChildContext:function(currentContext){var childContext,Component=this._currentElement.type,inst=this._instance;if(inst.getChildContext&&(childContext=inst.getChildContext()),childContext){"object"!=typeof Component.childContextTypes&&_prodInvariant("107",this.getName()||"ReactCompositeComponent");for(var name in childContext)name in Component.childContextTypes||_prodInvariant("108",this.getName()||"ReactCompositeComponent",name);return _assign({},currentContext,childContext)}return currentContext},_checkContextTypes:function(typeSpecs,values,location){},receiveComponent:function(nextElement,transaction,nextContext){var prevElement=this._currentElement,prevContext=this._context;this._pendingElement=null,this.updateComponent(transaction,prevElement,nextElement,prevContext,nextContext)},performUpdateIfNecessary:function(transaction){null!=this._pendingElement?ReactReconciler.receiveComponent(this,this._pendingElement,transaction,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(transaction,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(transaction,prevParentElement,nextParentElement,prevUnmaskedContext,nextUnmaskedContext){var inst=this._instance;null==inst&&_prodInvariant("136",this.getName()||"ReactCompositeComponent");var nextContext,willReceive=!1;this._context===nextUnmaskedContext?nextContext=inst.context:(nextContext=this._processContext(nextUnmaskedContext),willReceive=!0);var prevProps=prevParentElement.props,nextProps=nextParentElement.props;prevParentElement!==nextParentElement&&(willReceive=!0),willReceive&&inst.componentWillReceiveProps&&inst.componentWillReceiveProps(nextProps,nextContext);var nextState=this._processPendingState(nextProps,nextContext),shouldUpdate=!0;this._pendingForceUpdate||(inst.shouldComponentUpdate?shouldUpdate=inst.shouldComponentUpdate(nextProps,nextState,nextContext):this._compositeType===CompositeTypes.PureClass&&(shouldUpdate=!shallowEqual(prevProps,nextProps)||!shallowEqual(inst.state,nextState))),this._updateBatchNumber=null,shouldUpdate?(this._pendingForceUpdate=!1,this._performComponentUpdate(nextParentElement,nextProps,nextState,nextContext,transaction,nextUnmaskedContext)):(this._currentElement=nextParentElement,this._context=nextUnmaskedContext,inst.props=nextProps,inst.state=nextState,inst.context=nextContext)},_processPendingState:function(props,context){var inst=this._instance,queue=this._pendingStateQueue,replace=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!queue)return inst.state;if(replace&&1===queue.length)return queue[0];for(var nextState=_assign({},replace?queue[0]:inst.state),i=replace?1:0;i<queue.length;i++){var partial=queue[i];_assign(nextState,"function"==typeof partial?partial.call(inst,nextState,props,context):partial)}return nextState},_performComponentUpdate:function(nextElement,nextProps,nextState,nextContext,transaction,unmaskedContext){var prevProps,prevState,prevContext,inst=this._instance,hasComponentDidUpdate=Boolean(inst.componentDidUpdate);hasComponentDidUpdate&&(prevProps=inst.props,prevState=inst.state,prevContext=inst.context),inst.componentWillUpdate&&inst.componentWillUpdate(nextProps,nextState,nextContext),this._currentElement=nextElement,this._context=unmaskedContext,inst.props=nextProps,inst.state=nextState,inst.context=nextContext,this._updateRenderedComponent(transaction,unmaskedContext),hasComponentDidUpdate&&transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst,prevProps,prevState,prevContext),inst)},_updateRenderedComponent:function(transaction,context){var prevComponentInstance=this._renderedComponent,prevRenderedElement=prevComponentInstance._currentElement,nextRenderedElement=this._renderValidatedComponent(),debugID=0;if(shouldUpdateReactComponent(prevRenderedElement,nextRenderedElement))ReactReconciler.receiveComponent(prevComponentInstance,nextRenderedElement,transaction,this._processChildContext(context));else{var oldHostNode=ReactReconciler.getHostNode(prevComponentInstance);ReactReconciler.unmountComponent(prevComponentInstance,!1);var nodeType=ReactNodeTypes.getType(nextRenderedElement);this._renderedNodeType=nodeType;var child=this._instantiateReactComponent(nextRenderedElement,nodeType!==ReactNodeTypes.EMPTY);this._renderedComponent=child;var nextMarkup=ReactReconciler.mountComponent(child,transaction,this._hostParent,this._hostContainerInfo,this._processChildContext(context),debugID);this._replaceNodeWithMarkup(oldHostNode,nextMarkup,prevComponentInstance)}},_replaceNodeWithMarkup:function(oldHostNode,nextMarkup,prevInstance){ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode,nextMarkup,prevInstance)},_renderValidatedComponentWithoutOwnerOrContext:function(){var inst=this._instance;return inst.render()},_renderValidatedComponent:function(){var renderedElement;if(this._compositeType!==CompositeTypes.StatelessFunctional){ReactCurrentOwner.current=this;try{renderedElement=this._renderValidatedComponentWithoutOwnerOrContext()}finally{ReactCurrentOwner.current=null}}else renderedElement=this._renderValidatedComponentWithoutOwnerOrContext();return null===renderedElement||!1===renderedElement||React.isValidElement(renderedElement)||_prodInvariant("109",this.getName()||"ReactCompositeComponent"),renderedElement},attachRef:function(ref,component){var inst=this.getPublicInstance();null==inst&&_prodInvariant("110");var publicComponentInstance=component.getPublicInstance();(inst.refs===emptyObject?inst.refs={}:inst.refs)[ref]=publicComponentInstance},detachRef:function(ref){delete this.getPublicInstance().refs[ref]},getName:function(){var type=this._currentElement.type,constructor=this._instance&&this._instance.constructor;return type.displayName||constructor&&constructor.displayName||type.name||constructor&&constructor.name||null},getPublicInstance:function(){var inst=this._instance;return this._compositeType===CompositeTypes.StatelessFunctional?null:inst},_instantiateReactComponent:null};module.exports=ReactCompositeComponent},function(module,exports,__webpack_require__){"use strict";function getNextDebugID(){return nextDebugID++}var nextDebugID=1;module.exports=getNextDebugID},function(module,exports,__webpack_require__){"use strict";var REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;module.exports=REACT_ELEMENT_TYPE},function(module,exports,__webpack_require__){"use strict";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if("function"==typeof iteratorFn)return iteratorFn}var ITERATOR_SYMBOL="function"==typeof Symbol&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator";module.exports=getIteratorFn},function(module,exports,__webpack_require__){"use strict";(function(process){function flattenSingleChildIntoContext(traverseContext,child,name,selfDebugID){if(traverseContext&&"object"==typeof traverseContext){var result=traverseContext,keyUnique=void 0===result[name];keyUnique&&null!=child&&(result[name]=child)}}function flattenChildren(children,selfDebugID){if(null==children)return children;var result={};return traverseAllChildren(children,flattenSingleChildIntoContext,result),result}var traverseAllChildren=(__webpack_require__(88),__webpack_require__(130));__webpack_require__(10);void 0!==process&&Object({NODE_ENV:"production"}),module.exports=flattenChildren}).call(exports,__webpack_require__(70))},function(module,exports,__webpack_require__){"use strict";function ReactServerRenderingTransaction(renderToStaticMarkup){this.reinitializeTransaction(),this.renderToStaticMarkup=renderToStaticMarkup,this.useCreateElement=!1,this.updateQueue=new ReactServerUpdateQueue(this)}var _assign=__webpack_require__(13),PooledClass=__webpack_require__(42),Transaction=__webpack_require__(65),ReactServerUpdateQueue=(__webpack_require__(29),__webpack_require__(221)),TRANSACTION_WRAPPERS=[],noopCallbackQueue={enqueue:function(){}},Mixin={getTransactionWrappers:function(){return TRANSACTION_WRAPPERS},getReactMountReady:function(){return noopCallbackQueue},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};_assign(ReactServerRenderingTransaction.prototype,Transaction,Mixin),PooledClass.addPoolingTo(ReactServerRenderingTransaction),module.exports=ReactServerRenderingTransaction},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var ReactUpdateQueue=__webpack_require__(89),ReactServerUpdateQueue=(__webpack_require__(10),function(){function ReactServerUpdateQueue(transaction){_classCallCheck(this,ReactServerUpdateQueue),this.transaction=transaction}return ReactServerUpdateQueue.prototype.isMounted=function(publicInstance){return!1},ReactServerUpdateQueue.prototype.enqueueCallback=function(publicInstance,callback,callerName){this.transaction.isInTransaction()&&ReactUpdateQueue.enqueueCallback(publicInstance,callback,callerName)},ReactServerUpdateQueue.prototype.enqueueForceUpdate=function(publicInstance){this.transaction.isInTransaction()&&ReactUpdateQueue.enqueueForceUpdate(publicInstance)},ReactServerUpdateQueue.prototype.enqueueReplaceState=function(publicInstance,completeState){this.transaction.isInTransaction()&&ReactUpdateQueue.enqueueReplaceState(publicInstance,completeState)},ReactServerUpdateQueue.prototype.enqueueSetState=function(publicInstance,partialState){this.transaction.isInTransaction()&&ReactUpdateQueue.enqueueSetState(publicInstance,partialState)},ReactServerUpdateQueue}());module.exports=ReactServerUpdateQueue},function(module,exports,__webpack_require__){"use strict";var _assign=__webpack_require__(13),DOMLazyTree=__webpack_require__(48),ReactDOMComponentTree=__webpack_require__(14),ReactDOMEmptyComponent=function(instantiate){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};_assign(ReactDOMEmptyComponent.prototype,{mountComponent:function(transaction,hostParent,hostContainerInfo,context){var domID=hostContainerInfo._idCounter++;this._domID=domID,this._hostParent=hostParent,this._hostContainerInfo=hostContainerInfo;var nodeValue=" react-empty: "+this._domID+" ";if(transaction.useCreateElement){var ownerDocument=hostContainerInfo._ownerDocument,node=ownerDocument.createComment(nodeValue);return ReactDOMComponentTree.precacheNode(this,node),DOMLazyTree(node)}return transaction.renderToStaticMarkup?"":"\x3c!--"+nodeValue+"--\x3e"},receiveComponent:function(){},getHostNode:function(){return ReactDOMComponentTree.getNodeFromInstance(this)},unmountComponent:function(){ReactDOMComponentTree.uncacheNode(this)}}),module.exports=ReactDOMEmptyComponent},function(module,exports,__webpack_require__){"use strict";function getLowestCommonAncestor(instA,instB){"_hostNode"in instA||_prodInvariant("33"),"_hostNode"in instB||_prodInvariant("33");for(var depthA=0,tempA=instA;tempA;tempA=tempA._hostParent)depthA++;for(var depthB=0,tempB=instB;tempB;tempB=tempB._hostParent)depthB++;for(;depthA-depthB>0;)instA=instA._hostParent,depthA--;for(;depthB-depthA>0;)instB=instB._hostParent,depthB--;for(var depth=depthA;depth--;){if(instA===instB)return instA;instA=instA._hostParent,instB=instB._hostParent}return null}function isAncestor(instA,instB){"_hostNode"in instA||_prodInvariant("35"),"_hostNode"in instB||_prodInvariant("35");for(;instB;){if(instB===instA)return!0;instB=instB._hostParent}return!1}function getParentInstance(inst){return"_hostNode"in inst||_prodInvariant("36"),inst._hostParent}function traverseTwoPhase(inst,fn,arg){for(var path=[];inst;)path.push(inst),inst=inst._hostParent;var i;for(i=path.length;i-- >0;)fn(path[i],"captured",arg);for(i=0;i<path.length;i++)fn(path[i],"bubbled",arg)}function traverseEnterLeave(from,to,fn,argFrom,argTo){for(var common=from&&to?getLowestCommonAncestor(from,to):null,pathFrom=[];from&&from!==common;)pathFrom.push(from),from=from._hostParent;for(var pathTo=[];to&&to!==common;)pathTo.push(to),to=to._hostParent;var i;for(i=0;i<pathFrom.length;i++)fn(pathFrom[i],"bubbled",argFrom);for(i=pathTo.length;i-- >0;)fn(pathTo[i],"captured",argTo)}var _prodInvariant=__webpack_require__(11);__webpack_require__(7);module.exports={isAncestor:isAncestor,getLowestCommonAncestor:getLowestCommonAncestor,getParentInstance:getParentInstance,traverseTwoPhase:traverseTwoPhase,traverseEnterLeave:traverseEnterLeave}},function(module,exports,__webpack_require__){"use strict";var _prodInvariant=__webpack_require__(11),_assign=__webpack_require__(13),DOMChildrenOperations=__webpack_require__(81),DOMLazyTree=__webpack_require__(48),ReactDOMComponentTree=__webpack_require__(14),escapeTextContentForBrowser=__webpack_require__(68),ReactDOMTextComponent=(__webpack_require__(7),__webpack_require__(90),function(text){this._currentElement=text,this._stringText=""+text,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});_assign(ReactDOMTextComponent.prototype,{mountComponent:function(transaction,hostParent,hostContainerInfo,context){var domID=hostContainerInfo._idCounter++,openingValue=" react-text: "+domID+" ";if(this._domID=domID,this._hostParent=hostParent,transaction.useCreateElement){var ownerDocument=hostContainerInfo._ownerDocument,openingComment=ownerDocument.createComment(openingValue),closingComment=ownerDocument.createComment(" /react-text "),lazyTree=DOMLazyTree(ownerDocument.createDocumentFragment());return DOMLazyTree.queueChild(lazyTree,DOMLazyTree(openingComment)),this._stringText&&DOMLazyTree.queueChild(lazyTree,DOMLazyTree(ownerDocument.createTextNode(this._stringText))),DOMLazyTree.queueChild(lazyTree,DOMLazyTree(closingComment)),ReactDOMComponentTree.precacheNode(this,openingComment),this._closingComment=closingComment,lazyTree}var escapedText=escapeTextContentForBrowser(this._stringText);return transaction.renderToStaticMarkup?escapedText:"\x3c!--"+openingValue+"--\x3e"+escapedText+"\x3c!-- /react-text --\x3e"},receiveComponent:function(nextText,transaction){if(nextText!==this._currentElement){this._currentElement=nextText;var nextStringText=""+nextText;if(nextStringText!==this._stringText){this._stringText=nextStringText;var commentNodes=this.getHostNode();DOMChildrenOperations.replaceDelimitedText(commentNodes[0],commentNodes[1],nextStringText)}}},getHostNode:function(){var hostNode=this._commentNodes;if(hostNode)return hostNode;if(!this._closingComment)for(var openingComment=ReactDOMComponentTree.getNodeFromInstance(this),node=openingComment.nextSibling;;){if(null==node&&_prodInvariant("67",this._domID),8===node.nodeType&&" /react-text "===node.nodeValue){this._closingComment=node;break}node=node.nextSibling}return hostNode=[this._hostNode,this._closingComment],this._commentNodes=hostNode,hostNode},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,ReactDOMComponentTree.uncacheNode(this)}}),module.exports=ReactDOMTextComponent},function(module,exports,__webpack_require__){"use strict";function ReactDefaultBatchingStrategyTransaction(){this.reinitializeTransaction()}var _assign=__webpack_require__(13),ReactUpdates=__webpack_require__(33),Transaction=__webpack_require__(65),emptyFunction=__webpack_require__(25),RESET_BATCHED_UPDATES={initialize:emptyFunction,close:function(){ReactDefaultBatchingStrategy.isBatchingUpdates=!1}},FLUSH_BATCHED_UPDATES={initialize:emptyFunction,close:ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)},TRANSACTION_WRAPPERS=[FLUSH_BATCHED_UPDATES,RESET_BATCHED_UPDATES];_assign(ReactDefaultBatchingStrategyTransaction.prototype,Transaction,{getTransactionWrappers:function(){return TRANSACTION_WRAPPERS}});var transaction=new ReactDefaultBatchingStrategyTransaction,ReactDefaultBatchingStrategy={isBatchingUpdates:!1,batchedUpdates:function(callback,a,b,c,d,e){var alreadyBatchingUpdates=ReactDefaultBatchingStrategy.isBatchingUpdates;return ReactDefaultBatchingStrategy.isBatchingUpdates=!0,alreadyBatchingUpdates?callback(a,b,c,d,e):transaction.perform(callback,null,a,b,c,d,e)}};module.exports=ReactDefaultBatchingStrategy},function(module,exports,__webpack_require__){"use strict";function findParent(inst){for(;inst._hostParent;)inst=inst._hostParent;var rootNode=ReactDOMComponentTree.getNodeFromInstance(inst),container=rootNode.parentNode;return ReactDOMComponentTree.getClosestInstanceFromNode(container)}function TopLevelCallbackBookKeeping(topLevelType,nativeEvent){this.topLevelType=topLevelType,this.nativeEvent=nativeEvent,this.ancestors=[]}function handleTopLevelImpl(bookKeeping){var nativeEventTarget=getEventTarget(bookKeeping.nativeEvent),targetInst=ReactDOMComponentTree.getClosestInstanceFromNode(nativeEventTarget),ancestor=targetInst;do{bookKeeping.ancestors.push(ancestor),ancestor=ancestor&&findParent(ancestor)}while(ancestor);for(var i=0;i<bookKeeping.ancestors.length;i++)targetInst=bookKeeping.ancestors[i],ReactEventListener._handleTopLevel(bookKeeping.topLevelType,targetInst,bookKeeping.nativeEvent,getEventTarget(bookKeeping.nativeEvent))}function scrollValueMonitor(cb){cb(getUnboundedScrollPosition(window))}var _assign=__webpack_require__(13),EventListener=__webpack_require__(132),ExecutionEnvironment=__webpack_require__(24),PooledClass=__webpack_require__(42),ReactDOMComponentTree=__webpack_require__(14),ReactUpdates=__webpack_require__(33),getEventTarget=__webpack_require__(78),getUnboundedScrollPosition=__webpack_require__(227);_assign(TopLevelCallbackBookKeeping.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),PooledClass.addPoolingTo(TopLevelCallbackBookKeeping,PooledClass.twoArgumentPooler);var ReactEventListener={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:ExecutionEnvironment.canUseDOM?window:null,setHandleTopLevel:function(handleTopLevel){ReactEventListener._handleTopLevel=handleTopLevel},setEnabled:function(enabled){ReactEventListener._enabled=!!enabled},isEnabled:function(){return ReactEventListener._enabled},trapBubbledEvent:function(topLevelType,handlerBaseName,element){return element?EventListener.listen(element,handlerBaseName,ReactEventListener.dispatchEvent.bind(null,topLevelType)):null},trapCapturedEvent:function(topLevelType,handlerBaseName,element){return element?EventListener.capture(element,handlerBaseName,ReactEventListener.dispatchEvent.bind(null,topLevelType)):null},monitorScrollValue:function(refresh){var callback=scrollValueMonitor.bind(null,refresh);EventListener.listen(window,"scroll",callback)},dispatchEvent:function(topLevelType,nativeEvent){if(ReactEventListener._enabled){var bookKeeping=TopLevelCallbackBookKeeping.getPooled(topLevelType,nativeEvent);try{ReactUpdates.batchedUpdates(handleTopLevelImpl,bookKeeping)}finally{TopLevelCallbackBookKeeping.release(bookKeeping)}}}};module.exports=ReactEventListener},function(module,exports,__webpack_require__){"use strict";function getUnboundedScrollPosition(scrollable){return scrollable.Window&&scrollable instanceof scrollable.Window?{x:scrollable.pageXOffset||scrollable.document.documentElement.scrollLeft,y:scrollable.pageYOffset||scrollable.document.documentElement.scrollTop}:{x:scrollable.scrollLeft,y:scrollable.scrollTop}}module.exports=getUnboundedScrollPosition},function(module,exports,__webpack_require__){"use strict";var DOMProperty=__webpack_require__(46),EventPluginHub=__webpack_require__(55),EventPluginUtils=__webpack_require__(76),ReactComponentEnvironment=__webpack_require__(85),ReactEmptyComponent=__webpack_require__(128),ReactBrowserEventEmitter=__webpack_require__(69),ReactHostComponent=__webpack_require__(129),ReactUpdates=__webpack_require__(33),ReactInjection={Component:ReactComponentEnvironment.injection,DOMProperty:DOMProperty.injection,EmptyComponent:ReactEmptyComponent.injection,EventPluginHub:EventPluginHub.injection,EventPluginUtils:EventPluginUtils.injection,EventEmitter:ReactBrowserEventEmitter.injection,HostComponent:ReactHostComponent.injection,Updates:ReactUpdates.injection};module.exports=ReactInjection},function(module,exports,__webpack_require__){"use strict";function ReactReconcileTransaction(useCreateElement){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=CallbackQueue.getPooled(null),this.useCreateElement=useCreateElement}var _assign=__webpack_require__(13),CallbackQueue=__webpack_require__(116),PooledClass=__webpack_require__(42),ReactBrowserEventEmitter=__webpack_require__(69),ReactInputSelection=__webpack_require__(133),Transaction=(__webpack_require__(29),__webpack_require__(65)),ReactUpdateQueue=__webpack_require__(89),SELECTION_RESTORATION={initialize:ReactInputSelection.getSelectionInformation,close:ReactInputSelection.restoreSelection},EVENT_SUPPRESSION={initialize:function(){var currentlyEnabled=ReactBrowserEventEmitter.isEnabled();return ReactBrowserEventEmitter.setEnabled(!1),currentlyEnabled},close:function(previouslyEnabled){ReactBrowserEventEmitter.setEnabled(previouslyEnabled)}},ON_DOM_READY_QUEUEING={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},TRANSACTION_WRAPPERS=[SELECTION_RESTORATION,EVENT_SUPPRESSION,ON_DOM_READY_QUEUEING],Mixin={getTransactionWrappers:function(){return TRANSACTION_WRAPPERS},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return ReactUpdateQueue},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(checkpoint){this.reactMountReady.rollback(checkpoint)},destructor:function(){CallbackQueue.release(this.reactMountReady),this.reactMountReady=null}};_assign(ReactReconcileTransaction.prototype,Transaction,Mixin),PooledClass.addPoolingTo(ReactReconcileTransaction),module.exports=ReactReconcileTransaction},function(module,exports,__webpack_require__){"use strict";function isCollapsed(anchorNode,anchorOffset,focusNode,focusOffset){return anchorNode===focusNode&&anchorOffset===focusOffset}function getIEOffsets(node){var selection=document.selection,selectedRange=selection.createRange(),selectedLength=selectedRange.text.length,fromStart=selectedRange.duplicate();fromStart.moveToElementText(node),fromStart.setEndPoint("EndToStart",selectedRange);var startOffset=fromStart.text.length;return{start:startOffset,end:startOffset+selectedLength}}function getModernOffsets(node){var selection=window.getSelection&&window.getSelection();if(!selection||0===selection.rangeCount)return null;var anchorNode=selection.anchorNode,anchorOffset=selection.anchorOffset,focusNode=selection.focusNode,focusOffset=selection.focusOffset,currentRange=selection.getRangeAt(0);try{currentRange.startContainer.nodeType,currentRange.endContainer.nodeType}catch(e){return null}var isSelectionCollapsed=isCollapsed(selection.anchorNode,selection.anchorOffset,selection.focusNode,selection.focusOffset),rangeLength=isSelectionCollapsed?0:currentRange.toString().length,tempRange=currentRange.cloneRange();tempRange.selectNodeContents(node),tempRange.setEnd(currentRange.startContainer,currentRange.startOffset);var isTempRangeCollapsed=isCollapsed(tempRange.startContainer,tempRange.startOffset,tempRange.endContainer,tempRange.endOffset),start=isTempRangeCollapsed?0:tempRange.toString().length,end=start+rangeLength,detectionRange=document.createRange();detectionRange.setStart(anchorNode,anchorOffset),detectionRange.setEnd(focusNode,focusOffset);var isBackward=detectionRange.collapsed;return{start:isBackward?end:start,end:isBackward?start:end}}function setIEOffsets(node,offsets){var start,end,range=document.selection.createRange().duplicate();void 0===offsets.end?(start=offsets.start,end=start):offsets.start>offsets.end?(start=offsets.end,end=offsets.start):(start=offsets.start,end=offsets.end),range.moveToElementText(node),range.moveStart("character",start),range.setEndPoint("EndToStart",range),range.moveEnd("character",end-start),range.select()}function setModernOffsets(node,offsets){if(window.getSelection){var selection=window.getSelection(),length=node[getTextContentAccessor()].length,start=Math.min(offsets.start,length),end=void 0===offsets.end?start:Math.min(offsets.end,length);if(!selection.extend&&start>end){var temp=end;end=start,start=temp}var startMarker=getNodeForCharacterOffset(node,start),endMarker=getNodeForCharacterOffset(node,end);if(startMarker&&endMarker){var range=document.createRange();range.setStart(startMarker.node,startMarker.offset),selection.removeAllRanges(),start>end?(selection.addRange(range),selection.extend(endMarker.node,endMarker.offset)):(range.setEnd(endMarker.node,endMarker.offset),selection.addRange(range))}}}var ExecutionEnvironment=__webpack_require__(24),getNodeForCharacterOffset=__webpack_require__(231),getTextContentAccessor=__webpack_require__(115),useIEOffsets=ExecutionEnvironment.canUseDOM&&"selection"in document&&!("getSelection"in window),ReactDOMSelection={getOffsets:useIEOffsets?getIEOffsets:getModernOffsets,setOffsets:useIEOffsets?setIEOffsets:setModernOffsets};module.exports=ReactDOMSelection},function(module,exports,__webpack_require__){"use strict";function getLeafNode(node){for(;node&&node.firstChild;)node=node.firstChild;return node}function getSiblingNode(node){for(;node;){if(node.nextSibling)return node.nextSibling;node=node.parentNode}}function getNodeForCharacterOffset(root,offset){for(var node=getLeafNode(root),nodeStart=0,nodeEnd=0;node;){if(3===node.nodeType){if(nodeEnd=nodeStart+node.textContent.length,nodeStart<=offset&&nodeEnd>=offset)return{node:node,offset:offset-nodeStart};nodeStart=nodeEnd}node=getLeafNode(getSiblingNode(node))}}module.exports=getNodeForCharacterOffset},function(module,exports,__webpack_require__){"use strict";function containsNode(outerNode,innerNode){return!(!outerNode||!innerNode)&&(outerNode===innerNode||!isTextNode(outerNode)&&(isTextNode(innerNode)?containsNode(outerNode,innerNode.parentNode):"contains"in outerNode?outerNode.contains(innerNode):!!outerNode.compareDocumentPosition&&!!(16&outerNode.compareDocumentPosition(innerNode))))}var isTextNode=__webpack_require__(233);module.exports=containsNode},function(module,exports,__webpack_require__){"use strict";function isTextNode(object){return isNode(object)&&3==object.nodeType}var isNode=__webpack_require__(234);module.exports=isTextNode},function(module,exports,__webpack_require__){"use strict";function isNode(object){var doc=object?object.ownerDocument||object:document,defaultView=doc.defaultView||window;return!(!object||!("function"==typeof defaultView.Node?object instanceof defaultView.Node:"object"==typeof object&&"number"==typeof object.nodeType&&"string"==typeof object.nodeName))}module.exports=isNode},function(module,exports,__webpack_require__){"use strict";var NS={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},ATTRS={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},SVGDOMPropertyConfig={Properties:{},DOMAttributeNamespaces:{xlinkActuate:NS.xlink,xlinkArcrole:NS.xlink,xlinkHref:NS.xlink,xlinkRole:NS.xlink,xlinkShow:NS.xlink,xlinkTitle:NS.xlink,xlinkType:NS.xlink,xmlBase:NS.xml,xmlLang:NS.xml,xmlSpace:NS.xml},DOMAttributeNames:{}};Object.keys(ATTRS).forEach(function(key){SVGDOMPropertyConfig.Properties[key]=0,ATTRS[key]&&(SVGDOMPropertyConfig.DOMAttributeNames[key]=ATTRS[key])}),module.exports=SVGDOMPropertyConfig},function(module,exports,__webpack_require__){"use strict";function getSelection(node){if("selectionStart"in node&&ReactInputSelection.hasSelectionCapabilities(node))return{start:node.selectionStart,end:node.selectionEnd};if(window.getSelection){var selection=window.getSelection();return{anchorNode:selection.anchorNode,anchorOffset:selection.anchorOffset,focusNode:selection.focusNode,focusOffset:selection.focusOffset}}if(document.selection){var range=document.selection.createRange();return{parentElement:range.parentElement(),text:range.text,top:range.boundingTop,left:range.boundingLeft}}}function constructSelectEvent(nativeEvent,nativeEventTarget){if(mouseDown||null==activeElement||activeElement!==getActiveElement())return null;var currentSelection=getSelection(activeElement);if(!lastSelection||!shallowEqual(lastSelection,currentSelection)){lastSelection=currentSelection;var syntheticEvent=SyntheticEvent.getPooled(eventTypes.select,activeElementInst,nativeEvent,nativeEventTarget);return syntheticEvent.type="select",syntheticEvent.target=activeElement,EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent),syntheticEvent}return null}var EventPropagators=__webpack_require__(54),ExecutionEnvironment=__webpack_require__(24),ReactDOMComponentTree=__webpack_require__(14),ReactInputSelection=__webpack_require__(133),SyntheticEvent=__webpack_require__(35),getActiveElement=__webpack_require__(134),isTextInputElement=__webpack_require__(119),shallowEqual=__webpack_require__(86),skipSelectionChangeEvent=ExecutionEnvironment.canUseDOM&&"documentMode"in document&&document.documentMode<=11,eventTypes={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},activeElement=null,activeElementInst=null,lastSelection=null,mouseDown=!1,hasListener=!1,SelectEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,targetInst,nativeEvent,nativeEventTarget){if(!hasListener)return null;var targetNode=targetInst?ReactDOMComponentTree.getNodeFromInstance(targetInst):window;switch(topLevelType){case"topFocus":(isTextInputElement(targetNode)||"true"===targetNode.contentEditable)&&(activeElement=targetNode,activeElementInst=targetInst,lastSelection=null);break;case"topBlur":activeElement=null,activeElementInst=null,lastSelection=null;break;case"topMouseDown":mouseDown=!0;break;case"topContextMenu":case"topMouseUp":return mouseDown=!1,constructSelectEvent(nativeEvent,nativeEventTarget);case"topSelectionChange":if(skipSelectionChangeEvent)break;case"topKeyDown":case"topKeyUp":return constructSelectEvent(nativeEvent,nativeEventTarget)}return null},didPutListener:function(inst,registrationName,listener){"onSelect"===registrationName&&(hasListener=!0)}};module.exports=SelectEventPlugin},function(module,exports,__webpack_require__){"use strict";function getDictionaryKey(inst){return"."+inst._rootNodeID}function isInteractive(tag){return"button"===tag||"input"===tag||"select"===tag||"textarea"===tag}var _prodInvariant=__webpack_require__(11),EventListener=__webpack_require__(132),EventPropagators=__webpack_require__(54),ReactDOMComponentTree=__webpack_require__(14),SyntheticAnimationEvent=__webpack_require__(238),SyntheticClipboardEvent=__webpack_require__(239),SyntheticEvent=__webpack_require__(35),SyntheticFocusEvent=__webpack_require__(240),SyntheticKeyboardEvent=__webpack_require__(241),SyntheticMouseEvent=__webpack_require__(66),SyntheticDragEvent=__webpack_require__(243),SyntheticTouchEvent=__webpack_require__(244),SyntheticTransitionEvent=__webpack_require__(245),SyntheticUIEvent=__webpack_require__(56),SyntheticWheelEvent=__webpack_require__(246),emptyFunction=__webpack_require__(25),getEventCharCode=__webpack_require__(91),eventTypes=(__webpack_require__(7),{}),topLevelEventsToDispatchConfig={};["abort","animationEnd","animationIteration","animationStart","blur","canPlay","canPlayThrough","click","contextMenu","copy","cut","doubleClick","drag","dragEnd","dragEnter","dragExit","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","ended","error","focus","input","invalid","keyDown","keyPress","keyUp","load","loadedData","loadedMetadata","loadStart","mouseDown","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","progress","rateChange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeUpdate","touchCancel","touchEnd","touchMove","touchStart","transitionEnd","volumeChange","waiting","wheel"].forEach(function(event){var capitalizedEvent=event[0].toUpperCase()+event.slice(1),onEvent="on"+capitalizedEvent,topEvent="top"+capitalizedEvent,type={phasedRegistrationNames:{bubbled:onEvent,captured:onEvent+"Capture"},dependencies:[topEvent]};eventTypes[event]=type,topLevelEventsToDispatchConfig[topEvent]=type});var onClickListeners={},SimpleEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,targetInst,nativeEvent,nativeEventTarget){var dispatchConfig=topLevelEventsToDispatchConfig[topLevelType];if(!dispatchConfig)return null;var EventConstructor;switch(topLevelType){case"topAbort":case"topCanPlay":case"topCanPlayThrough":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topVolumeChange":case"topWaiting":EventConstructor=SyntheticEvent;break;case"topKeyPress":if(0===getEventCharCode(nativeEvent))return null;case"topKeyDown":case"topKeyUp":EventConstructor=SyntheticKeyboardEvent;break;case"topBlur":case"topFocus":EventConstructor=SyntheticFocusEvent;break;case"topClick":if(2===nativeEvent.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":EventConstructor=SyntheticMouseEvent;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":EventConstructor=SyntheticDragEvent;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":EventConstructor=SyntheticTouchEvent;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":EventConstructor=SyntheticAnimationEvent;break;case"topTransitionEnd":EventConstructor=SyntheticTransitionEvent;break;case"topScroll":EventConstructor=SyntheticUIEvent;break;case"topWheel":EventConstructor=SyntheticWheelEvent;break;case"topCopy":case"topCut":case"topPaste":EventConstructor=SyntheticClipboardEvent}EventConstructor||_prodInvariant("86",topLevelType);var event=EventConstructor.getPooled(dispatchConfig,targetInst,nativeEvent,nativeEventTarget);return EventPropagators.accumulateTwoPhaseDispatches(event),event},didPutListener:function(inst,registrationName,listener){if("onClick"===registrationName&&!isInteractive(inst._tag)){var key=getDictionaryKey(inst),node=ReactDOMComponentTree.getNodeFromInstance(inst);onClickListeners[key]||(onClickListeners[key]=EventListener.listen(node,"click",emptyFunction))}},willDeleteListener:function(inst,registrationName){if("onClick"===registrationName&&!isInteractive(inst._tag)){var key=getDictionaryKey(inst);onClickListeners[key].remove(),delete onClickListeners[key]}}};module.exports=SimpleEventPlugin},function(module,exports,__webpack_require__){"use strict";function SyntheticAnimationEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticEvent=__webpack_require__(35),AnimationEventInterface={animationName:null,elapsedTime:null,pseudoElement:null};SyntheticEvent.augmentClass(SyntheticAnimationEvent,AnimationEventInterface),module.exports=SyntheticAnimationEvent},function(module,exports,__webpack_require__){"use strict";function SyntheticClipboardEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticEvent=__webpack_require__(35),ClipboardEventInterface={clipboardData:function(event){return"clipboardData"in event?event.clipboardData:window.clipboardData}};SyntheticEvent.augmentClass(SyntheticClipboardEvent,ClipboardEventInterface),module.exports=SyntheticClipboardEvent},function(module,exports,__webpack_require__){"use strict";function SyntheticFocusEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticUIEvent=__webpack_require__(56),FocusEventInterface={relatedTarget:null};SyntheticUIEvent.augmentClass(SyntheticFocusEvent,FocusEventInterface),module.exports=SyntheticFocusEvent},function(module,exports,__webpack_require__){"use strict";function SyntheticKeyboardEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticUIEvent=__webpack_require__(56),getEventCharCode=__webpack_require__(91),getEventKey=__webpack_require__(242),getEventModifierState=__webpack_require__(80),KeyboardEventInterface={key:getEventKey,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:getEventModifierState,charCode:function(event){return"keypress"===event.type?getEventCharCode(event):0},keyCode:function(event){return"keydown"===event.type||"keyup"===event.type?event.keyCode:0},which:function(event){return"keypress"===event.type?getEventCharCode(event):"keydown"===event.type||"keyup"===event.type?event.keyCode:0}};SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent,KeyboardEventInterface),module.exports=SyntheticKeyboardEvent},function(module,exports,__webpack_require__){"use strict";function getEventKey(nativeEvent){if(nativeEvent.key){var key=normalizeKey[nativeEvent.key]||nativeEvent.key;if("Unidentified"!==key)return key}if("keypress"===nativeEvent.type){var charCode=getEventCharCode(nativeEvent);return 13===charCode?"Enter":String.fromCharCode(charCode)}return"keydown"===nativeEvent.type||"keyup"===nativeEvent.type?translateToKey[nativeEvent.keyCode]||"Unidentified":""}var getEventCharCode=__webpack_require__(91),normalizeKey={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},translateToKey={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};module.exports=getEventKey},function(module,exports,__webpack_require__){"use strict";function SyntheticDragEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticMouseEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticMouseEvent=__webpack_require__(66),DragEventInterface={dataTransfer:null};SyntheticMouseEvent.augmentClass(SyntheticDragEvent,DragEventInterface),module.exports=SyntheticDragEvent},function(module,exports,__webpack_require__){"use strict";function SyntheticTouchEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticUIEvent=__webpack_require__(56),getEventModifierState=__webpack_require__(80),TouchEventInterface={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:getEventModifierState};SyntheticUIEvent.augmentClass(SyntheticTouchEvent,TouchEventInterface),module.exports=SyntheticTouchEvent},function(module,exports,__webpack_require__){"use strict";function SyntheticTransitionEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticEvent=__webpack_require__(35),TransitionEventInterface={propertyName:null,elapsedTime:null,pseudoElement:null};SyntheticEvent.augmentClass(SyntheticTransitionEvent,TransitionEventInterface),module.exports=SyntheticTransitionEvent},function(module,exports,__webpack_require__){"use strict";function SyntheticWheelEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticMouseEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget)}var SyntheticMouseEvent=__webpack_require__(66),WheelEventInterface={deltaX:function(event){return"deltaX"in event?event.deltaX:"wheelDeltaX"in event?-event.wheelDeltaX:0},deltaY:function(event){return"deltaY"in event?event.deltaY:"wheelDeltaY"in event?-event.wheelDeltaY:"wheelDelta"in event?-event.wheelDelta:0},deltaZ:null,deltaMode:null};SyntheticMouseEvent.augmentClass(SyntheticWheelEvent,WheelEventInterface),module.exports=SyntheticWheelEvent},function(module,exports,__webpack_require__){"use strict";function ReactDOMContainerInfo(topLevelWrapper,node){var info={_topLevelWrapper:topLevelWrapper,_idCounter:1,_ownerDocument:node?node.nodeType===DOC_NODE_TYPE?node:node.ownerDocument:null,_node:node,_tag:node?node.nodeName.toLowerCase():null,_namespaceURI:node?node.namespaceURI:null};return info}var DOC_NODE_TYPE=(__webpack_require__(90),9);module.exports=ReactDOMContainerInfo},function(module,exports,__webpack_require__){"use strict";var ReactDOMFeatureFlags={useCreateElement:!0,useFiber:!1};module.exports=ReactDOMFeatureFlags},function(module,exports,__webpack_require__){"use strict";var adler32=__webpack_require__(250),TAG_END=/\/?>/,COMMENT_START=/^<\!\-\-/,ReactMarkupChecksum={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(markup){var checksum=adler32(markup);return COMMENT_START.test(markup)?markup:markup.replace(TAG_END," "+ReactMarkupChecksum.CHECKSUM_ATTR_NAME+'="'+checksum+'"$&')},canReuseMarkup:function(markup,element){var existingChecksum=element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);return existingChecksum=existingChecksum&&parseInt(existingChecksum,10),adler32(markup)===existingChecksum}};module.exports=ReactMarkupChecksum},function(module,exports,__webpack_require__){"use strict";function adler32(data){for(var a=1,b=0,i=0,l=data.length,m=-4&l;i<m;){for(var n=Math.min(i+4096,m);i<n;i+=4)b+=(a+=data.charCodeAt(i))+(a+=data.charCodeAt(i+1))+(a+=data.charCodeAt(i+2))+(a+=data.charCodeAt(i+3));a%=MOD,b%=MOD}for(;i<l;i++)b+=a+=data.charCodeAt(i);return a%=MOD,b%=MOD,a|b<<16}var MOD=65521;module.exports=adler32},function(module,exports,__webpack_require__){"use strict";module.exports="15.6.2"},function(module,exports,__webpack_require__){"use strict";function findDOMNode(componentOrElement){if(null==componentOrElement)return null;if(1===componentOrElement.nodeType)return componentOrElement;var inst=ReactInstanceMap.get(componentOrElement);if(inst)return inst=getHostComponentFromComposite(inst),inst?ReactDOMComponentTree.getNodeFromInstance(inst):null;"function"==typeof componentOrElement.render?_prodInvariant("44"):_prodInvariant("45",Object.keys(componentOrElement))}var _prodInvariant=__webpack_require__(11),ReactDOMComponentTree=(__webpack_require__(34),__webpack_require__(14)),ReactInstanceMap=__webpack_require__(57),getHostComponentFromComposite=__webpack_require__(136);__webpack_require__(7),__webpack_require__(10);module.exports=findDOMNode},function(module,exports,__webpack_require__){"use strict";var ReactMount=__webpack_require__(135);module.exports=ReactMount.renderSubtreeIntoContainer},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function createProvider(){var _Provider$childContex,storeKey=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"store",subKey=arguments[1],subscriptionKey=subKey||storeKey+"Subscription",Provider=function(_Component){function Provider(props,context){_classCallCheck(this,Provider);var _this=_possibleConstructorReturn(this,_Component.call(this,props,context));return _this[storeKey]=props.store,_this}return _inherits(Provider,_Component),Provider.prototype.getChildContext=function(){var _ref;return _ref={},_ref[storeKey]=this[storeKey],_ref[subscriptionKey]=null,_ref},Provider.prototype.render=function(){return __WEBPACK_IMPORTED_MODULE_0_react__.Children.only(this.props.children)},Provider}(__WEBPACK_IMPORTED_MODULE_0_react__.Component);return Provider.propTypes={store:__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__.a.isRequired,children:__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.element.isRequired},Provider.childContextTypes=(_Provider$childContex={},_Provider$childContex[storeKey]=__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__.a.isRequired,_Provider$childContex[subscriptionKey]=__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__.b,_Provider$childContex),Provider}__webpack_exports__.a=createProvider;var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_prop_types__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__webpack_require__(20)),__WEBPACK_IMPORTED_MODULE_1_prop_types___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__=__webpack_require__(137);__webpack_require__(92);__webpack_exports__.b=createProvider()},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(25),invariant=__webpack_require__(7),ReactPropTypesSecret=__webpack_require__(110);module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){secret!==ReactPropTypesSecret&&invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function getShim(){return shim}shim.isRequired=shim;var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim};return ReactPropTypes.checkPropTypes=emptyFunction,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";var REACT_STATICS={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},defineProperty=Object.defineProperty,getOwnPropertyNames=Object.getOwnPropertyNames,getOwnPropertySymbols=Object.getOwnPropertySymbols,getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,getPrototypeOf=Object.getPrototypeOf,objectPrototype=getPrototypeOf&&getPrototypeOf(Object);module.exports=function hoistNonReactStatics(targetComponent,sourceComponent,blacklist){if("string"!=typeof sourceComponent){if(objectPrototype){var inheritedComponent=getPrototypeOf(sourceComponent);inheritedComponent&&inheritedComponent!==objectPrototype&&hoistNonReactStatics(targetComponent,inheritedComponent,blacklist)}var keys=getOwnPropertyNames(sourceComponent);getOwnPropertySymbols&&(keys=keys.concat(getOwnPropertySymbols(sourceComponent)));for(var i=0;i<keys.length;++i){var key=keys[i];if(!(REACT_STATICS[key]||KNOWN_STATICS[key]||blacklist&&blacklist[key])){var descriptor=getOwnPropertyDescriptor(sourceComponent,key);try{defineProperty(targetComponent,key,descriptor)}catch(e){}}}return targetComponent}return targetComponent}},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function createListenerCollection(){var current=[],next=[];return{clear:function(){next=CLEARED,current=CLEARED},notify:function(){for(var listeners=current=next,i=0;i<listeners.length;i++)listeners[i]()},get:function(){return next},subscribe:function(listener){var isSubscribed=!0;return next===current&&(next=current.slice()),next.push(listener),function(){isSubscribed&&current!==CLEARED&&(isSubscribed=!1,next===current&&(next=current.slice()),next.splice(next.indexOf(listener),1))}}}}__webpack_require__.d(__webpack_exports__,"a",function(){return Subscription});var CLEARED=null,nullListeners={notify:function(){}},Subscription=function(){function Subscription(store,parentSub,onStateChange){_classCallCheck(this,Subscription),this.store=store,this.parentSub=parentSub,this.onStateChange=onStateChange,this.unsubscribe=null,this.listeners=nullListeners}return Subscription.prototype.addNestedSub=function(listener){return this.trySubscribe(),this.listeners.subscribe(listener)},Subscription.prototype.notifyNestedSubs=function(){this.listeners.notify()},Subscription.prototype.isSubscribed=function(){return Boolean(this.unsubscribe)},Subscription.prototype.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.onStateChange):this.store.subscribe(this.onStateChange),this.listeners=createListenerCollection())},Subscription.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=nullListeners)},Subscription}()},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function match(arg,factories,name){for(var i=factories.length-1;i>=0;i--){var result=factories[i](arg);if(result)return result}return function(dispatch,options){throw new Error("Invalid value of type "+typeof arg+" for "+name+" argument when connecting component "+options.wrappedComponentName+".")}}function strictEqual(a,b){return a===b}var __WEBPACK_IMPORTED_MODULE_0__components_connectAdvanced__=__webpack_require__(138),__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__=__webpack_require__(259),__WEBPACK_IMPORTED_MODULE_2__mapDispatchToProps__=__webpack_require__(260),__WEBPACK_IMPORTED_MODULE_3__mapStateToProps__=__webpack_require__(276),__WEBPACK_IMPORTED_MODULE_4__mergeProps__=__webpack_require__(277),__WEBPACK_IMPORTED_MODULE_5__selectorFactory__=__webpack_require__(278),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};__webpack_exports__.a=function(){var _ref=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},_ref$connectHOC=_ref.connectHOC,connectHOC=void 0===_ref$connectHOC?__WEBPACK_IMPORTED_MODULE_0__components_connectAdvanced__.a:_ref$connectHOC,_ref$mapStateToPropsF=_ref.mapStateToPropsFactories,mapStateToPropsFactories=void 0===_ref$mapStateToPropsF?__WEBPACK_IMPORTED_MODULE_3__mapStateToProps__.a:_ref$mapStateToPropsF,_ref$mapDispatchToPro=_ref.mapDispatchToPropsFactories,mapDispatchToPropsFactories=void 0===_ref$mapDispatchToPro?__WEBPACK_IMPORTED_MODULE_2__mapDispatchToProps__.a:_ref$mapDispatchToPro,_ref$mergePropsFactor=_ref.mergePropsFactories,mergePropsFactories=void 0===_ref$mergePropsFactor?__WEBPACK_IMPORTED_MODULE_4__mergeProps__.a:_ref$mergePropsFactor,_ref$selectorFactory=_ref.selectorFactory,selectorFactory=void 0===_ref$selectorFactory?__WEBPACK_IMPORTED_MODULE_5__selectorFactory__.a:_ref$selectorFactory;return function(mapStateToProps,mapDispatchToProps,mergeProps){var _ref2=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},_ref2$pure=_ref2.pure,pure=void 0===_ref2$pure||_ref2$pure,_ref2$areStatesEqual=_ref2.areStatesEqual,areStatesEqual=void 0===_ref2$areStatesEqual?strictEqual:_ref2$areStatesEqual,_ref2$areOwnPropsEqua=_ref2.areOwnPropsEqual,areOwnPropsEqual=void 0===_ref2$areOwnPropsEqua?__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__.a:_ref2$areOwnPropsEqua,_ref2$areStatePropsEq=_ref2.areStatePropsEqual,areStatePropsEqual=void 0===_ref2$areStatePropsEq?__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__.a:_ref2$areStatePropsEq,_ref2$areMergedPropsE=_ref2.areMergedPropsEqual,areMergedPropsEqual=void 0===_ref2$areMergedPropsE?__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__.a:_ref2$areMergedPropsE,extraOptions=_objectWithoutProperties(_ref2,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),initMapStateToProps=match(mapStateToProps,mapStateToPropsFactories,"mapStateToProps"),initMapDispatchToProps=match(mapDispatchToProps,mapDispatchToPropsFactories,"mapDispatchToProps"),initMergeProps=match(mergeProps,mergePropsFactories,"mergeProps");return connectHOC(selectorFactory,_extends({methodName:"connect",getDisplayName:function(name){return"Connect("+name+")"},shouldHandleStateChanges:Boolean(mapStateToProps),initMapStateToProps:initMapStateToProps,initMapDispatchToProps:initMapDispatchToProps,initMergeProps:initMergeProps,pure:pure,areStatesEqual:areStatesEqual,areOwnPropsEqual:areOwnPropsEqual,areStatePropsEqual:areStatePropsEqual,areMergedPropsEqual:areMergedPropsEqual},extraOptions))}}()},function(module,__webpack_exports__,__webpack_require__){"use strict";function is(x,y){return x===y?0!==x||0!==y||1/x==1/y:x!==x&&y!==y}function shallowEqual(objA,objB){if(is(objA,objB))return!0;if("object"!=typeof objA||null===objA||"object"!=typeof objB||null===objB)return!1;var keysA=Object.keys(objA),keysB=Object.keys(objB);if(keysA.length!==keysB.length)return!1;for(var i=0;i<keysA.length;i++)if(!hasOwn.call(objB,keysA[i])||!is(objA[keysA[i]],objB[keysA[i]]))return!1;return!0}__webpack_exports__.a=shallowEqual;var hasOwn=Object.prototype.hasOwnProperty},function(module,__webpack_exports__,__webpack_require__){"use strict";function whenMapDispatchToPropsIsFunction(mapDispatchToProps){return"function"==typeof mapDispatchToProps?Object(__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__.b)(mapDispatchToProps,"mapDispatchToProps"):void 0}function whenMapDispatchToPropsIsMissing(mapDispatchToProps){return mapDispatchToProps?void 0:Object(__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__.a)(function(dispatch){return{dispatch:dispatch}})}function whenMapDispatchToPropsIsObject(mapDispatchToProps){return mapDispatchToProps&&"object"==typeof mapDispatchToProps?Object(__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__.a)(function(dispatch){return Object(__WEBPACK_IMPORTED_MODULE_0_redux__.bindActionCreators)(mapDispatchToProps,dispatch)}):void 0}var __WEBPACK_IMPORTED_MODULE_0_redux__=__webpack_require__(2),__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__=__webpack_require__(143);__webpack_exports__.a=[whenMapDispatchToPropsIsFunction,whenMapDispatchToPropsIsMissing,whenMapDispatchToPropsIsObject]},function(module,__webpack_exports__,__webpack_require__){"use strict";function baseGetTag(value){return null==value?void 0===value?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(value)?Object(__WEBPACK_IMPORTED_MODULE_1__getRawTag_js__.a)(value):Object(__WEBPACK_IMPORTED_MODULE_2__objectToString_js__.a)(value)}var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__=__webpack_require__(140),__WEBPACK_IMPORTED_MODULE_1__getRawTag_js__=__webpack_require__(264),__WEBPACK_IMPORTED_MODULE_2__objectToString_js__=__webpack_require__(265),nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a?__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a.toStringTag:void 0;__webpack_exports__.a=baseGetTag},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__freeGlobal_js__=__webpack_require__(263),freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=__WEBPACK_IMPORTED_MODULE_0__freeGlobal_js__.a||freeSelf||Function("return this")();__webpack_exports__.a=root},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global;__webpack_exports__.a=freeGlobal}).call(__webpack_exports__,__webpack_require__(12))},function(module,__webpack_exports__,__webpack_require__){"use strict";function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__=__webpack_require__(140),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a?__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a.toStringTag:void 0;__webpack_exports__.a=getRawTag},function(module,__webpack_exports__,__webpack_require__){"use strict";function objectToString(value){return nativeObjectToString.call(value)}var objectProto=Object.prototype,nativeObjectToString=objectProto.toString;__webpack_exports__.a=objectToString},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__overArg_js__=__webpack_require__(267),getPrototype=Object(__WEBPACK_IMPORTED_MODULE_0__overArg_js__.a)(Object.getPrototypeOf,Object);__webpack_exports__.a=getPrototype},function(module,__webpack_exports__,__webpack_require__){"use strict";function overArg(func,transform){return function(arg){return func(transform(arg))}}__webpack_exports__.a=overArg},function(module,__webpack_exports__,__webpack_require__){"use strict";function isObjectLike(value){return null!=value&&"object"==typeof value}__webpack_exports__.a=isObjectLike},function(module,exports,__webpack_require__){module.exports=__webpack_require__(270)},function(module,exports,__webpack_require__){"use strict";(function(global,module){Object.defineProperty(exports,"__esModule",{value:!0});var root,_ponyfill=__webpack_require__(272),_ponyfill2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_ponyfill);root="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==global?global:module;var result=(0,_ponyfill2.default)(root);exports.default=result}).call(exports,__webpack_require__(12),__webpack_require__(271)(module))},function(module,exports){module.exports=function(module){return module.webpackPolyfill||(module.deprecate=function(){},module.paths=[],module.children||(module.children=[]),Object.defineProperty(module,"loaded",{enumerable:!0,get:function(){return module.l}}),Object.defineProperty(module,"id",{enumerable:!0,get:function(){return module.i}}),module.webpackPolyfill=1),module}},function(module,exports,__webpack_require__){"use strict";function symbolObservablePonyfill(root){var result,_Symbol=root.Symbol;return"function"==typeof _Symbol?_Symbol.observable?result=_Symbol.observable:(result=_Symbol("observable"),_Symbol.observable=result):result="@@observable",result}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=symbolObservablePonyfill},function(module,__webpack_exports__,__webpack_require__){"use strict";function getUndefinedStateErrorMessage(key,action){var actionType=action&&action.type;return"Given action "+(actionType&&'"'+actionType.toString()+'"'||"an action")+', reducer "'+key+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function assertReducerShape(reducers){Object.keys(reducers).forEach(function(key){var reducer=reducers[key];if(void 0===reducer(void 0,{type:__WEBPACK_IMPORTED_MODULE_0__createStore__.a.INIT}))throw new Error('Reducer "'+key+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===reducer(void 0,{type:"@@redux/PROBE_UNKNOWN_ACTION_"+Math.random().toString(36).substring(7).split("").join(".")}))throw new Error('Reducer "'+key+"\" returned undefined when probed with a random type. Don't try to handle "+__WEBPACK_IMPORTED_MODULE_0__createStore__.a.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')})}function combineReducers(reducers){for(var reducerKeys=Object.keys(reducers),finalReducers={},i=0;i<reducerKeys.length;i++){var key=reducerKeys[i];"function"==typeof reducers[key]&&(finalReducers[key]=reducers[key])}var finalReducerKeys=Object.keys(finalReducers),shapeAssertionError=void 0;try{assertReducerShape(finalReducers)}catch(e){shapeAssertionError=e}return function(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];if(shapeAssertionError)throw shapeAssertionError;for(var hasChanged=!1,nextState={},_i=0;_i<finalReducerKeys.length;_i++){var _key=finalReducerKeys[_i],reducer=finalReducers[_key],previousStateForKey=state[_key],nextStateForKey=reducer(previousStateForKey,action);if(void 0===nextStateForKey){var errorMessage=getUndefinedStateErrorMessage(_key,action);throw new Error(errorMessage)}nextState[_key]=nextStateForKey,hasChanged=hasChanged||nextStateForKey!==previousStateForKey}return hasChanged?nextState:state}}__webpack_exports__.a=combineReducers;var __WEBPACK_IMPORTED_MODULE_0__createStore__=__webpack_require__(139);__webpack_require__(93),__webpack_require__(141)},function(module,__webpack_exports__,__webpack_require__){"use strict";function bindActionCreator(actionCreator,dispatch){return function(){return dispatch(actionCreator.apply(void 0,arguments))}}function bindActionCreators(actionCreators,dispatch){if("function"==typeof actionCreators)return bindActionCreator(actionCreators,dispatch);if("object"!=typeof actionCreators||null===actionCreators)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===actionCreators?"null":typeof actionCreators)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var keys=Object.keys(actionCreators),boundActionCreators={},i=0;i<keys.length;i++){var key=keys[i],actionCreator=actionCreators[key];"function"==typeof actionCreator&&(boundActionCreators[key]=bindActionCreator(actionCreator,dispatch))}return boundActionCreators}__webpack_exports__.a=bindActionCreators},function(module,__webpack_exports__,__webpack_require__){"use strict";function applyMiddleware(){for(var _len=arguments.length,middlewares=Array(_len),_key=0;_key<_len;_key++)middlewares[_key]=arguments[_key];return function(createStore){return function(reducer,preloadedState,enhancer){var store=createStore(reducer,preloadedState,enhancer),_dispatch=store.dispatch,chain=[],middlewareAPI={getState:store.getState,dispatch:function(action){return _dispatch(action)}};return chain=middlewares.map(function(middleware){return middleware(middlewareAPI)}),_dispatch=__WEBPACK_IMPORTED_MODULE_0__compose__.a.apply(void 0,chain)(store.dispatch),_extends({},store,{dispatch:_dispatch})}}}__webpack_exports__.a=applyMiddleware;var __WEBPACK_IMPORTED_MODULE_0__compose__=__webpack_require__(142),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function whenMapStateToPropsIsFunction(mapStateToProps){return"function"==typeof mapStateToProps?Object(__WEBPACK_IMPORTED_MODULE_0__wrapMapToProps__.b)(mapStateToProps,"mapStateToProps"):void 0}function whenMapStateToPropsIsMissing(mapStateToProps){return mapStateToProps?void 0:Object(__WEBPACK_IMPORTED_MODULE_0__wrapMapToProps__.a)(function(){return{}})}var __WEBPACK_IMPORTED_MODULE_0__wrapMapToProps__=__webpack_require__(143);__webpack_exports__.a=[whenMapStateToPropsIsFunction,whenMapStateToPropsIsMissing]},function(module,__webpack_exports__,__webpack_require__){"use strict";function defaultMergeProps(stateProps,dispatchProps,ownProps){return _extends({},ownProps,stateProps,dispatchProps)}function wrapMergePropsFunc(mergeProps){return function(dispatch,_ref){var pure=(_ref.displayName,_ref.pure),areMergedPropsEqual=_ref.areMergedPropsEqual,hasRunOnce=!1,mergedProps=void 0;return function(stateProps,dispatchProps,ownProps){var nextMergedProps=mergeProps(stateProps,dispatchProps,ownProps);return hasRunOnce?pure&&areMergedPropsEqual(nextMergedProps,mergedProps)||(mergedProps=nextMergedProps):(hasRunOnce=!0,mergedProps=nextMergedProps),mergedProps}}}function whenMergePropsIsFunction(mergeProps){return"function"==typeof mergeProps?wrapMergePropsFunc(mergeProps):void 0}function whenMergePropsIsOmitted(mergeProps){return mergeProps?void 0:function(){return defaultMergeProps}}var _extends=(__webpack_require__(144),Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target});__webpack_exports__.a=[whenMergePropsIsFunction,whenMergePropsIsOmitted]},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function impureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch){return function(state,ownProps){return mergeProps(mapStateToProps(state,ownProps),mapDispatchToProps(dispatch,ownProps),ownProps)}}function pureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,_ref){function handleFirstCall(firstState,firstOwnProps){return state=firstState,ownProps=firstOwnProps,stateProps=mapStateToProps(state,ownProps),dispatchProps=mapDispatchToProps(dispatch,ownProps),mergedProps=mergeProps(stateProps,dispatchProps,ownProps),hasRunAtLeastOnce=!0,mergedProps}function handleNewPropsAndNewState(){return stateProps=mapStateToProps(state,ownProps),mapDispatchToProps.dependsOnOwnProps&&(dispatchProps=mapDispatchToProps(dispatch,ownProps)),mergedProps=mergeProps(stateProps,dispatchProps,ownProps)}function handleNewProps(){return mapStateToProps.dependsOnOwnProps&&(stateProps=mapStateToProps(state,ownProps)),mapDispatchToProps.dependsOnOwnProps&&(dispatchProps=mapDispatchToProps(dispatch,ownProps)),mergedProps=mergeProps(stateProps,dispatchProps,ownProps)}function handleNewState(){var nextStateProps=mapStateToProps(state,ownProps),statePropsChanged=!areStatePropsEqual(nextStateProps,stateProps);return stateProps=nextStateProps,statePropsChanged&&(mergedProps=mergeProps(stateProps,dispatchProps,ownProps)),mergedProps}function handleSubsequentCalls(nextState,nextOwnProps){var propsChanged=!areOwnPropsEqual(nextOwnProps,ownProps),stateChanged=!areStatesEqual(nextState,state);return state=nextState,ownProps=nextOwnProps,propsChanged&&stateChanged?handleNewPropsAndNewState():propsChanged?handleNewProps():stateChanged?handleNewState():mergedProps}var areStatesEqual=_ref.areStatesEqual,areOwnPropsEqual=_ref.areOwnPropsEqual,areStatePropsEqual=_ref.areStatePropsEqual,hasRunAtLeastOnce=!1,state=void 0,ownProps=void 0,stateProps=void 0,dispatchProps=void 0,mergedProps=void 0;return function(nextState,nextOwnProps){return hasRunAtLeastOnce?handleSubsequentCalls(nextState,nextOwnProps):handleFirstCall(nextState,nextOwnProps)}}function finalPropsSelectorFactory(dispatch,_ref2){var initMapStateToProps=_ref2.initMapStateToProps,initMapDispatchToProps=_ref2.initMapDispatchToProps,initMergeProps=_ref2.initMergeProps,options=_objectWithoutProperties(_ref2,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),mapStateToProps=initMapStateToProps(dispatch,options),mapDispatchToProps=initMapDispatchToProps(dispatch,options),mergeProps=initMergeProps(dispatch,options);return(options.pure?pureFinalPropsSelectorFactory:impureFinalPropsSelectorFactory)(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,options)}__webpack_exports__.a=finalPropsSelectorFactory;__webpack_require__(279)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(92)},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(21),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),__WEBPACK_IMPORTED_MODULE_1_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__),__WEBPACK_IMPORTED_MODULE_2_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_2_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_create_react_class__),__WEBPACK_IMPORTED_MODULE_3_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__),__webpack_require__(145)),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(58),__WEBPACK_IMPORTED_MODULE_6__RouterContext__=__webpack_require__(95),__WEBPACK_IMPORTED_MODULE_7__RouteUtils__=__webpack_require__(39),__WEBPACK_IMPORTED_MODULE_8__RouterUtils__=__webpack_require__(147),_extends=(__webpack_require__(49),Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}),propTypes={history:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object,children:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.d,routes:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.d,render:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,createElement:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,onError:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,onUpdate:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,matchContext:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object},Router=__WEBPACK_IMPORTED_MODULE_2_create_react_class___default()({displayName:"Router",propTypes:propTypes,getDefaultProps:function(){return{render:function(props){return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__RouterContext__.a,props)}}},getInitialState:function(){return{location:null,routes:null,params:null,components:null}},handleError:function(error){if(!this.props.onError)throw error;this.props.onError.call(this,error)},createRouterObject:function(state){var matchContext=this.props.matchContext;if(matchContext)return matchContext.router;var history=this.props.history;return Object(__WEBPACK_IMPORTED_MODULE_8__RouterUtils__.b)(history,this.transitionManager,state)},createTransitionManager:function(){var matchContext=this.props.matchContext;if(matchContext)return matchContext.transitionManager;var history=this.props.history,_props=this.props,routes=_props.routes,children=_props.children;return history.getCurrentLocation||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),Object(__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__.a)(history,Object(__WEBPACK_IMPORTED_MODULE_7__RouteUtils__.b)(routes||children))},componentWillMount:function(){var _this=this;this.transitionManager=this.createTransitionManager(),this.router=this.createRouterObject(this.state),this._unlisten=this.transitionManager.listen(function(error,state){error?_this.handleError(error):(Object(__WEBPACK_IMPORTED_MODULE_8__RouterUtils__.a)(_this.router,state),_this.setState(state,_this.props.onUpdate))})},componentWillReceiveProps:function(nextProps){},componentWillUnmount:function(){this._unlisten&&this._unlisten()},render:function(){var _state=this.state,location=_state.location,routes=_state.routes,params=_state.params,components=_state.components,_props2=this.props,createElement=_props2.createElement,render=_props2.render,props=_objectWithoutProperties(_props2,["createElement","render"]);return null==location?null:(Object.keys(propTypes).forEach(function(propType){return delete props[propType]}),render(_extends({},props,{router:this.router,location:location,routes:routes,params:params,components:components,createElement:createElement})))}});__webpack_exports__.a=Router},function(module,__webpack_exports__,__webpack_require__){"use strict";function routeParamsChanged(route,prevState,nextState){return!!route.path&&Object(__WEBPACK_IMPORTED_MODULE_0__PatternUtils__.b)(route.path).some(function(paramName){return prevState.params[paramName]!==nextState.params[paramName]})}function computeChangedRoutes(prevState,nextState){var prevRoutes=prevState&&prevState.routes,nextRoutes=nextState.routes,leaveRoutes=void 0,changeRoutes=void 0,enterRoutes=void 0;if(prevRoutes){var parentIsLeaving=!1;leaveRoutes=prevRoutes.filter(function(route){if(parentIsLeaving)return!0;var isLeaving=-1===nextRoutes.indexOf(route)||routeParamsChanged(route,prevState,nextState);return isLeaving&&(parentIsLeaving=!0),isLeaving}),leaveRoutes.reverse(),enterRoutes=[],changeRoutes=[],nextRoutes.forEach(function(route){var isNew=-1===prevRoutes.indexOf(route),paramsChanged=-1!==leaveRoutes.indexOf(route);isNew||paramsChanged?enterRoutes.push(route):changeRoutes.push(route)})}else leaveRoutes=[],changeRoutes=[],enterRoutes=nextRoutes;return{leaveRoutes:leaveRoutes,changeRoutes:changeRoutes,enterRoutes:enterRoutes}}var __WEBPACK_IMPORTED_MODULE_0__PatternUtils__=__webpack_require__(50);__webpack_exports__.a=computeChangedRoutes},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function getTransitionUtils(){function createTransitionHook(hook,route,asyncArity,pendingHooks){var isSync=hook.length<asyncArity,transitionHook=function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];if(hook.apply(route,args),isSync){(0,args[args.length-1])()}};return pendingHooks.add(transitionHook),transitionHook}function getEnterHooks(routes){return routes.reduce(function(hooks,route){return route.onEnter&&hooks.push(createTransitionHook(route.onEnter,route,3,enterHooks)),hooks},[])}function getChangeHooks(routes){return routes.reduce(function(hooks,route){return route.onChange&&hooks.push(createTransitionHook(route.onChange,route,4,changeHooks)),hooks},[])}function runTransitionHooks(length,iter,callback){function replace(location){redirectInfo=location}if(!length)return void callback();var redirectInfo=void 0;Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.a)(length,function(index,next,done){iter(index,replace,function(error){error||redirectInfo?done(error,redirectInfo):next()})},callback)}function runEnterHooks(routes,nextState,callback){enterHooks.clear();var hooks=getEnterHooks(routes);return runTransitionHooks(hooks.length,function(index,replace,next){var wrappedNext=function(){enterHooks.has(hooks[index])&&(next.apply(void 0,arguments),enterHooks.remove(hooks[index]))};hooks[index](nextState,replace,wrappedNext)},callback)}function runChangeHooks(routes,state,nextState,callback){changeHooks.clear();var hooks=getChangeHooks(routes);return runTransitionHooks(hooks.length,function(index,replace,next){var wrappedNext=function(){changeHooks.has(hooks[index])&&(next.apply(void 0,arguments),changeHooks.remove(hooks[index]))};hooks[index](state,nextState,replace,wrappedNext)},callback)}function runLeaveHooks(routes,prevState){for(var i=0,len=routes.length;i<len;++i)routes[i].onLeave&&routes[i].onLeave.call(routes[i],prevState)}var enterHooks=new PendingHooks,changeHooks=new PendingHooks;return{runEnterHooks:runEnterHooks,runChangeHooks:runChangeHooks,runLeaveHooks:runLeaveHooks}}__webpack_exports__.a=getTransitionUtils;var __WEBPACK_IMPORTED_MODULE_0__AsyncUtils__=__webpack_require__(94),PendingHooks=function PendingHooks(){var _this=this;_classCallCheck(this,PendingHooks),this.hooks=[],this.add=function(hook){return _this.hooks.push(hook)},this.remove=function(hook){return _this.hooks=_this.hooks.filter(function(h){return h!==hook})},this.has=function(hook){return-1!==_this.hooks.indexOf(hook)},this.clear=function(){return _this.hooks=[]}}},function(module,__webpack_exports__,__webpack_require__){"use strict";function deepEqual(a,b){if(a==b)return!0;if(null==a||null==b)return!1;if(Array.isArray(a))return Array.isArray(b)&&a.length===b.length&&a.every(function(item,index){return deepEqual(item,b[index])});if("object"===(void 0===a?"undefined":_typeof(a))){for(var p in a)if(Object.prototype.hasOwnProperty.call(a,p))if(void 0===a[p]){if(void 0!==b[p])return!1}else{if(!Object.prototype.hasOwnProperty.call(b,p))return!1;if(!deepEqual(a[p],b[p]))return!1}return!0}return String(a)===String(b)}function pathIsActive(pathname,currentPathname){return"/"!==currentPathname.charAt(0)&&(currentPathname="/"+currentPathname),"/"!==pathname.charAt(pathname.length-1)&&(pathname+="/"),"/"!==currentPathname.charAt(currentPathname.length-1)&&(currentPathname+="/"),currentPathname===pathname}function routeIsActive(pathname,routes,params){for(var remainingPathname=pathname,paramNames=[],paramValues=[],i=0,len=routes.length;i<len;++i){var route=routes[i],pattern=route.path||"";if("/"===pattern.charAt(0)&&(remainingPathname=pathname,paramNames=[],paramValues=[]),null!==remainingPathname&&pattern){var matched=Object(__WEBPACK_IMPORTED_MODULE_0__PatternUtils__.c)(pattern,remainingPathname);if(matched?(remainingPathname=matched.remainingPathname,paramNames=[].concat(paramNames,matched.paramNames),paramValues=[].concat(paramValues,matched.paramValues)):remainingPathname=null,""===remainingPathname)return paramNames.every(function(paramName,index){return String(paramValues[index])===String(params[paramName])})}}return!1}function queryIsActive(query,activeQuery){return null==activeQuery?null==query:null==query||deepEqual(query,activeQuery)}function isActive(_ref,indexOnly,currentLocation,routes,params){var pathname=_ref.pathname,query=_ref.query;return null!=currentLocation&&("/"!==pathname.charAt(0)&&(pathname="/"+pathname),!!(pathIsActive(pathname,currentLocation.pathname)||!indexOnly&&routeIsActive(pathname,routes,params))&&queryIsActive(query,currentLocation.query))}__webpack_exports__.a=isActive;var __WEBPACK_IMPORTED_MODULE_0__PatternUtils__=__webpack_require__(50),_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}},function(module,__webpack_exports__,__webpack_require__){"use strict";function getComponentsForRoute(nextState,route,callback){if(route.component||route.components)return void callback(null,route.component||route.components);var getComponent=route.getComponent||route.getComponents;if(getComponent){var componentReturn=getComponent.call(route,nextState,callback);Object(__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__.a)(componentReturn)&&componentReturn.then(function(component){return callback(null,component)},callback)}else callback()}function getComponents(nextState,callback){Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.b)(nextState.routes,function(route,index,callback){getComponentsForRoute(nextState,route,callback)},callback)}var __WEBPACK_IMPORTED_MODULE_0__AsyncUtils__=__webpack_require__(94),__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__=__webpack_require__(146);__webpack_exports__.a=getComponents},function(module,__webpack_exports__,__webpack_require__){"use strict";function getChildRoutes(route,location,paramNames,paramValues,callback){if(route.childRoutes)return[null,route.childRoutes];if(!route.getChildRoutes)return[];var sync=!0,result=void 0,partialNextState={location:location,params:createParams(paramNames,paramValues)},childRoutesReturn=route.getChildRoutes(partialNextState,function(error,childRoutes){if(childRoutes=!error&&Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(childRoutes),sync)return void(result=[error,childRoutes]);callback(error,childRoutes)});return Object(__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__.a)(childRoutesReturn)&&childRoutesReturn.then(function(childRoutes){return callback(null,Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(childRoutes))},callback),sync=!1,result}function getIndexRoute(route,location,paramNames,paramValues,callback){if(route.indexRoute)callback(null,route.indexRoute);else if(route.getIndexRoute){var partialNextState={location:location,params:createParams(paramNames,paramValues)},indexRoutesReturn=route.getIndexRoute(partialNextState,function(error,indexRoute){callback(error,!error&&Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(indexRoute)[0])});Object(__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__.a)(indexRoutesReturn)&&indexRoutesReturn.then(function(indexRoute){return callback(null,Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(indexRoute)[0])},callback)}else if(route.childRoutes||route.getChildRoutes){var onChildRoutes=function(error,childRoutes){if(error)return void callback(error);var pathless=childRoutes.filter(function(childRoute){return!childRoute.path});Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.a)(pathless.length,function(index,next,done){getIndexRoute(pathless[index],location,paramNames,paramValues,function(error,indexRoute){if(error||indexRoute){var routes=[pathless[index]].concat(Array.isArray(indexRoute)?indexRoute:[indexRoute]);done(error,routes)}else next()})},function(err,routes){callback(null,routes)})},result=getChildRoutes(route,location,paramNames,paramValues,onChildRoutes);result&&onChildRoutes.apply(void 0,result)}else callback()}function assignParams(params,paramNames,paramValues){return paramNames.reduce(function(params,paramName,index){var paramValue=paramValues&&paramValues[index];return Array.isArray(params[paramName])?params[paramName].push(paramValue):params[paramName]=paramName in params?[params[paramName],paramValue]:paramValue,params},params)}function createParams(paramNames,paramValues){return assignParams({},paramNames,paramValues)}function matchRouteDeep(route,location,remainingPathname,paramNames,paramValues,callback){var pattern=route.path||"";if("/"===pattern.charAt(0)&&(remainingPathname=location.pathname,paramNames=[],paramValues=[]),null!==remainingPathname&&pattern){try{var matched=Object(__WEBPACK_IMPORTED_MODULE_2__PatternUtils__.c)(pattern,remainingPathname);matched?(remainingPathname=matched.remainingPathname,paramNames=[].concat(paramNames,matched.paramNames),paramValues=[].concat(paramValues,matched.paramValues)):remainingPathname=null}catch(error){callback(error)}if(""===remainingPathname){var match={routes:[route],params:createParams(paramNames,paramValues)};return void getIndexRoute(route,location,paramNames,paramValues,function(error,indexRoute){if(error)callback(error);else{if(Array.isArray(indexRoute)){var _match$routes;(_match$routes=match.routes).push.apply(_match$routes,indexRoute)}else indexRoute&&match.routes.push(indexRoute);callback(null,match)}})}}if(null!=remainingPathname||route.childRoutes){var onChildRoutes=function(error,childRoutes){error?callback(error):childRoutes?matchRoutes(childRoutes,location,function(error,match){error?callback(error):match?(match.routes.unshift(route),callback(null,match)):callback()},remainingPathname,paramNames,paramValues):callback()},result=getChildRoutes(route,location,paramNames,paramValues,onChildRoutes);result&&onChildRoutes.apply(void 0,result)}else callback()}function matchRoutes(routes,location,callback,remainingPathname){var paramNames=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],paramValues=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];void 0===remainingPathname&&("/"!==location.pathname.charAt(0)&&(location=_extends({},location,{pathname:"/"+location.pathname})),remainingPathname=location.pathname),Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.a)(routes.length,function(index,next,done){matchRouteDeep(routes[index],location,remainingPathname,paramNames,paramValues,function(error,match){error||match?done(error,match):next()})},callback)}__webpack_exports__.a=matchRoutes;var __WEBPACK_IMPORTED_MODULE_0__AsyncUtils__=__webpack_require__(94),__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__=__webpack_require__(146),__WEBPACK_IMPORTED_MODULE_2__PatternUtils__=__webpack_require__(50),__WEBPACK_IMPORTED_MODULE_4__RouteUtils__=(__webpack_require__(49),__webpack_require__(39)),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function getRouteParams(route,params){var routeParams={};return route.path?(Object(__WEBPACK_IMPORTED_MODULE_0__PatternUtils__.b)(route.path).forEach(function(p){Object.prototype.hasOwnProperty.call(params,p)&&(routeParams[p]=params[p])}),routeParams):routeParams}var __WEBPACK_IMPORTED_MODULE_0__PatternUtils__=__webpack_require__(50);__webpack_exports__.a=getRouteParams},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__WEBPACK_IMPORTED_MODULE_1_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_1_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_create_react_class__),__WEBPACK_IMPORTED_MODULE_2__Link__=__webpack_require__(148),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},IndexLink=__WEBPACK_IMPORTED_MODULE_1_create_react_class___default()({displayName:"IndexLink",render:function(){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__Link__.a,_extends({},this.props,{onlyActiveOnIndex:!0}))}});__webpack_exports__.a=IndexLink},function(module,__webpack_exports__,__webpack_require__){"use strict";function getDisplayName(WrappedComponent){return WrappedComponent.displayName||WrappedComponent.name||"Component"}function withRouter(WrappedComponent,options){var withRef=options&&options.withRef,WithRouter=__WEBPACK_IMPORTED_MODULE_2_create_react_class___default()({displayName:"WithRouter",mixins:[Object(__WEBPACK_IMPORTED_MODULE_4__ContextUtils__.b)("router")],contextTypes:{router:__WEBPACK_IMPORTED_MODULE_5__PropTypes__.b},propTypes:{router:__WEBPACK_IMPORTED_MODULE_5__PropTypes__.b},getWrappedInstance:function(){return withRef||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),this.wrappedInstance},render:function(){var _this=this,router=this.props.router||this.context.router;if(!router)return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(WrappedComponent,this.props);var params=router.params,location=router.location,routes=router.routes,props=_extends({},this.props,{router:router,params:params,location:location,routes:routes});return withRef&&(props.ref=function(c){_this.wrappedInstance=c}),__WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(WrappedComponent,props)}});return WithRouter.displayName="withRouter("+getDisplayName(WrappedComponent)+")",WithRouter.WrappedComponent=WrappedComponent,__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics___default()(WithRouter,WrappedComponent)}__webpack_exports__.a=withRouter;var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(21),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),__WEBPACK_IMPORTED_MODULE_1_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__),__WEBPACK_IMPORTED_MODULE_2_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_2_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_create_react_class__),__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics__=__webpack_require__(289),__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics__),__WEBPACK_IMPORTED_MODULE_4__ContextUtils__=__webpack_require__(96),__WEBPACK_IMPORTED_MODULE_5__PropTypes__=__webpack_require__(97),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,exports,__webpack_require__){"use strict";var REACT_STATICS={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,arguments:!0,arity:!0},isGetOwnPropertySymbolsAvailable="function"==typeof Object.getOwnPropertySymbols;module.exports=function(targetComponent,sourceComponent,customStatics){if("string"!=typeof sourceComponent){var keys=Object.getOwnPropertyNames(sourceComponent);isGetOwnPropertySymbolsAvailable&&(keys=keys.concat(Object.getOwnPropertySymbols(sourceComponent)));for(var i=0;i<keys.length;++i)if(!(REACT_STATICS[keys[i]]||KNOWN_STATICS[keys[i]]||customStatics&&customStatics[keys[i]]))try{targetComponent[keys[i]]=sourceComponent[keys[i]]}catch(error){}}return targetComponent}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_3_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(49),__webpack_require__(21)),__WEBPACK_IMPORTED_MODULE_3_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__),__WEBPACK_IMPORTED_MODULE_4__Redirect__=__webpack_require__(149),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(58),IndexRedirect=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"IndexRedirect",statics:{createRouteFromReactElement:function(element,parentRoute){parentRoute&&(parentRoute.indexRoute=__WEBPACK_IMPORTED_MODULE_4__Redirect__.a.createRouteFromReactElement(element))}},propTypes:{to:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string.isRequired,query:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,state:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,onEnter:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c,children:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c},render:function(){__WEBPACK_IMPORTED_MODULE_3_invariant___default()(!1)}});__webpack_exports__.a=IndexRedirect},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_3_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(49),__webpack_require__(21)),__WEBPACK_IMPORTED_MODULE_3_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__),__WEBPACK_IMPORTED_MODULE_4__RouteUtils__=__webpack_require__(39),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(58),IndexRoute=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"IndexRoute",statics:{createRouteFromReactElement:function(element,parentRoute){parentRoute&&(parentRoute.indexRoute=Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.a)(element))}},propTypes:{path:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c,component:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.a,components:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.b,getComponent:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func,getComponents:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func},render:function(){__WEBPACK_IMPORTED_MODULE_3_invariant___default()(!1)}});__webpack_exports__.a=IndexRoute},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(36),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(20),__WEBPACK_IMPORTED_MODULE_2_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(21)),__WEBPACK_IMPORTED_MODULE_2_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_invariant__),__WEBPACK_IMPORTED_MODULE_3__RouteUtils__=__webpack_require__(39),__WEBPACK_IMPORTED_MODULE_4__InternalPropTypes__=__webpack_require__(58),Route=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"Route",statics:{createRouteFromReactElement:__WEBPACK_IMPORTED_MODULE_3__RouteUtils__.a},propTypes:{path:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string,component:__WEBPACK_IMPORTED_MODULE_4__InternalPropTypes__.a,components:__WEBPACK_IMPORTED_MODULE_4__InternalPropTypes__.b,getComponent:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func,getComponents:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func},render:function(){__WEBPACK_IMPORTED_MODULE_2_invariant___default()(!1)}});__webpack_exports__.a=Route},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function match(_ref,callback){var history=_ref.history,routes=_ref.routes,location=_ref.location,options=_objectWithoutProperties(_ref,["history","routes","location"]);history||location||__WEBPACK_IMPORTED_MODULE_1_invariant___default()(!1),history=history||Object(__WEBPACK_IMPORTED_MODULE_2__createMemoryHistory__.a)(options);var transitionManager=Object(__WEBPACK_IMPORTED_MODULE_3__createTransitionManager__.a)(history,Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(routes));location=location?history.createLocation(location):history.getCurrentLocation(),transitionManager.match(location,function(error,redirectLocation,nextState){var renderProps=void 0;if(nextState){var router=Object(__WEBPACK_IMPORTED_MODULE_5__RouterUtils__.b)(history,transitionManager,nextState);renderProps=_extends({},nextState,{router:router,matchContext:{transitionManager:transitionManager,router:router}})}callback(error,redirectLocation&&history.createLocation(redirectLocation,__WEBPACK_IMPORTED_MODULE_0_history_lib_Actions__.REPLACE),renderProps)})}var __WEBPACK_IMPORTED_MODULE_0_history_lib_Actions__=__webpack_require__(71),__WEBPACK_IMPORTED_MODULE_1_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_Actions__),__webpack_require__(21)),__WEBPACK_IMPORTED_MODULE_1_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__),__WEBPACK_IMPORTED_MODULE_2__createMemoryHistory__=__webpack_require__(150),__WEBPACK_IMPORTED_MODULE_3__createTransitionManager__=__webpack_require__(145),__WEBPACK_IMPORTED_MODULE_4__RouteUtils__=__webpack_require__(39),__WEBPACK_IMPORTED_MODULE_5__RouterUtils__=__webpack_require__(147),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};__webpack_exports__.a=match},function(module,exports,__webpack_require__){"use strict";function encoderForArrayFormat(opts){switch(opts.arrayFormat){case"index":return function(key,value,index){return null===value?[encode(key,opts),"[",index,"]"].join(""):[encode(key,opts),"[",encode(index,opts),"]=",encode(value,opts)].join("")};case"bracket":return function(key,value){return null===value?encode(key,opts):[encode(key,opts),"[]=",encode(value,opts)].join("")};default:return function(key,value){return null===value?encode(key,opts):[encode(key,opts),"=",encode(value,opts)].join("")}}}function parserForArrayFormat(opts){var result;switch(opts.arrayFormat){case"index":return function(key,value,accumulator){if(result=/\[(\d*)\]$/.exec(key),key=key.replace(/\[\d*\]$/,""),!result)return void(accumulator[key]=value);void 0===accumulator[key]&&(accumulator[key]={}),accumulator[key][result[1]]=value};case"bracket":return function(key,value,accumulator){return result=/(\[\])$/.exec(key),key=key.replace(/\[\]$/,""),result?void 0===accumulator[key]?void(accumulator[key]=[value]):void(accumulator[key]=[].concat(accumulator[key],value)):void(accumulator[key]=value)};default:return function(key,value,accumulator){if(void 0===accumulator[key])return void(accumulator[key]=value);accumulator[key]=[].concat(accumulator[key],value)}}}function encode(value,opts){return opts.encode?opts.strict?strictUriEncode(value):encodeURIComponent(value):value}function keysSorter(input){return Array.isArray(input)?input.sort():"object"==typeof input?keysSorter(Object.keys(input)).sort(function(a,b){return Number(a)-Number(b)}).map(function(key){return input[key]}):input}var strictUriEncode=__webpack_require__(295),objectAssign=__webpack_require__(13);exports.extract=function(str){return str.split("?")[1]||""},exports.parse=function(str,opts){opts=objectAssign({arrayFormat:"none"},opts);var formatter=parserForArrayFormat(opts),ret=Object.create(null);return"string"!=typeof str?ret:(str=str.trim().replace(/^(\?|#|&)/,""))?(str.split("&").forEach(function(param){var parts=param.replace(/\+/g," ").split("="),key=parts.shift(),val=parts.length>0?parts.join("="):void 0;val=void 0===val?null:decodeURIComponent(val),formatter(decodeURIComponent(key),val,ret)}),Object.keys(ret).sort().reduce(function(result,key){var val=ret[key];return Boolean(val)&&"object"==typeof val&&!Array.isArray(val)?result[key]=keysSorter(val):result[key]=val,result},Object.create(null))):ret},exports.stringify=function(obj,opts){opts=objectAssign({encode:!0,strict:!0,arrayFormat:"none"},opts);var formatter=encoderForArrayFormat(opts);return obj?Object.keys(obj).sort().map(function(key){var val=obj[key];if(void 0===val)return"";if(null===val)return encode(key,opts);if(Array.isArray(val)){var result=[];return val.slice().forEach(function(val2){void 0!==val2&&result.push(formatter(key,val2,result.length))}),result.join("&")}return encode(key,opts)+"="+encode(val,opts)}).filter(function(x){return x.length>0}).join("&"):""}},function(module,exports,__webpack_require__){"use strict";module.exports=function(str){return encodeURIComponent(str).replace(/[!'()*]/g,function(c){return"%"+c.charCodeAt(0).toString(16).toUpperCase()})}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_warning=__webpack_require__(38),_invariant=(_interopRequireDefault(_warning),__webpack_require__(21)),_invariant2=_interopRequireDefault(_invariant),_LocationUtils=__webpack_require__(51),_PathUtils=__webpack_require__(40),_createHistory=__webpack_require__(99),_createHistory2=_interopRequireDefault(_createHistory),_Actions=__webpack_require__(71),createStateStorage=function(entries){return entries.filter(function(entry){return entry.state}).reduce(function(memo,entry){return memo[entry.key]=entry.state,memo},{})},createMemoryHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Array.isArray(options)?options={entries:options}:"string"==typeof options&&(options={entries:[options]});var getCurrentLocation=function(){var entry=entries[current],path=(0,_PathUtils.createPath)(entry),key=void 0,state=void 0;entry.key&&(key=entry.key,state=readState(key));var init=(0,_PathUtils.parsePath)(path);return(0,_LocationUtils.createLocation)(_extends({},init,{state:state}),void 0,key)},canGo=function(n){var index=current+n;return index>=0&&index<entries.length},go=function(n){if(n&&canGo(n)){current+=n;var currentLocation=getCurrentLocation();history.transitionTo(_extends({},currentLocation,{action:_Actions.POP}))}},pushLocation=function(location){current+=1,current<entries.length&&entries.splice(current),entries.push(location),saveState(location.key,location.state)},replaceLocation=function(location){entries[current]=location,saveState(location.key,location.state)},history=(0,_createHistory2.default)(_extends({},options,{getCurrentLocation:getCurrentLocation,pushLocation:pushLocation,replaceLocation:replaceLocation,go:go})),_options=options,entries=_options.entries,current=_options.current;"string"==typeof entries?entries=[entries]:Array.isArray(entries)||(entries=["/"]),entries=entries.map(function(entry){return(0,_LocationUtils.createLocation)(entry)}),null==current?current=entries.length-1:current>=0&&current<entries.length||(0,_invariant2.default)(!1);var storage=createStateStorage(entries),saveState=function(key,state){return storage[key]=state},readState=function(key){return storage[key]};return _extends({},history,{canGo:canGo})};exports.default=createMemoryHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.loopAsync=function(turns,work,callback){var currentTurn=0,isDone=!1,isSync=!1,hasNext=!1,doneArgs=void 0,done=function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];if(isDone=!0,isSync)return void(doneArgs=args);callback.apply(void 0,args)};!function next(){if(!isDone&&(hasNext=!0,!isSync)){for(isSync=!0;!isDone&&currentTurn<turns&&hasNext;)hasNext=!1,work(currentTurn++,next,done);if(isSync=!1,isDone)return void callback.apply(void 0,doneArgs);currentTurn>=turns&&hasNext&&(isDone=!0,callback())}}()}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__WEBPACK_IMPORTED_MODULE_1__RouterContext__=__webpack_require__(95),_extends=(__webpack_require__(49),Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target});__webpack_exports__.a=function(){for(var _len=arguments.length,middlewares=Array(_len),_key=0;_key<_len;_key++)middlewares[_key]=arguments[_key];var withContext=middlewares.map(function(middleware){return middleware.renderRouterContext}).filter(Boolean),withComponent=middlewares.map(function(middleware){return middleware.renderRouteComponent}).filter(Boolean),makeCreateElement=function(){var baseCreateElement=arguments.length>0&&void 0!==arguments[0]?arguments[0]:__WEBPACK_IMPORTED_MODULE_0_react__.createElement;return function(Component,props){return withComponent.reduceRight(function(previous,renderRouteComponent){return renderRouteComponent(previous,props)},baseCreateElement(Component,props))}};return function(renderProps){return withContext.reduceRight(function(previous,renderRouterContext){return renderRouterContext(previous,renderProps)},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__RouterContext__.a,_extends({},renderProps,{createElement:makeCreateElement(renderProps.createElement)})))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory__=__webpack_require__(300),__WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory__),__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__=__webpack_require__(155);__webpack_exports__.a=Object(__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__.a)(__WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory___default.a)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_invariant=__webpack_require__(21),_invariant2=_interopRequireDefault(_invariant),_ExecutionEnvironment=__webpack_require__(100),_BrowserProtocol=__webpack_require__(101),BrowserProtocol=_interopRequireWildcard(_BrowserProtocol),_RefreshProtocol=__webpack_require__(301),RefreshProtocol=_interopRequireWildcard(_RefreshProtocol),_DOMUtils=__webpack_require__(72),_createHistory=__webpack_require__(99),_createHistory2=_interopRequireDefault(_createHistory),createBrowserHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_ExecutionEnvironment.canUseDOM||(0,_invariant2.default)(!1);var useRefresh=options.forceRefresh||!(0,_DOMUtils.supportsHistory)(),Protocol=useRefresh?RefreshProtocol:BrowserProtocol,getUserConfirmation=Protocol.getUserConfirmation,getCurrentLocation=Protocol.getCurrentLocation,pushLocation=Protocol.pushLocation,replaceLocation=Protocol.replaceLocation,go=Protocol.go,history=(0,_createHistory2.default)(_extends({getUserConfirmation:getUserConfirmation},options,{getCurrentLocation:getCurrentLocation,pushLocation:pushLocation,replaceLocation:replaceLocation,go:go})),listenerCount=0,stopListener=void 0,startListener=function(listener,before){1==++listenerCount&&(stopListener=BrowserProtocol.startListener(history.transitionTo));var unlisten=before?history.listenBefore(listener):history.listen(listener);return function(){unlisten(),0==--listenerCount&&stopListener()}};return _extends({},history,{listenBefore:function(listener){return startListener(listener,!0)},listen:function(listener){return startListener(listener,!1)}})};exports.default=createBrowserHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.replaceLocation=exports.pushLocation=exports.getCurrentLocation=exports.go=exports.getUserConfirmation=void 0;var _BrowserProtocol=__webpack_require__(101);Object.defineProperty(exports,"getUserConfirmation",{enumerable:!0,get:function(){return _BrowserProtocol.getUserConfirmation}}),Object.defineProperty(exports,"go",{enumerable:!0,get:function(){return _BrowserProtocol.go}});var _LocationUtils=__webpack_require__(51),_PathUtils=__webpack_require__(40);exports.getCurrentLocation=function(){return(0,_LocationUtils.createLocation)(window.location)},exports.pushLocation=function(location){return window.location.href=(0,_PathUtils.createPath)(location),!1},exports.replaceLocation=function(location){return window.location.replace((0,_PathUtils.createPath)(location)),!1}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory__=__webpack_require__(303),__WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory__),__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__=__webpack_require__(155);__webpack_exports__.a=Object(__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__.a)(__WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory___default.a)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_warning=__webpack_require__(38),_invariant=(_interopRequireDefault(_warning),__webpack_require__(21)),_invariant2=_interopRequireDefault(_invariant),_ExecutionEnvironment=__webpack_require__(100),_DOMUtils=__webpack_require__(72),_HashProtocol=__webpack_require__(304),HashProtocol=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_HashProtocol),_createHistory=__webpack_require__(99),_createHistory2=_interopRequireDefault(_createHistory),addLeadingSlash=function(path){return"/"===path.charAt(0)?path:"/"+path},HashPathCoders={hashbang:{encodePath:function(path){return"!"===path.charAt(0)?path:"!"+path},decodePath:function(path){return"!"===path.charAt(0)?path.substring(1):path}},noslash:{encodePath:function(path){return"/"===path.charAt(0)?path.substring(1):path},decodePath:addLeadingSlash},slash:{encodePath:addLeadingSlash,decodePath:addLeadingSlash}},createHashHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_ExecutionEnvironment.canUseDOM||(0,_invariant2.default)(!1);var queryKey=options.queryKey,hashType=options.hashType;"string"!=typeof queryKey&&(queryKey="_k"),null==hashType&&(hashType="slash"),hashType in HashPathCoders||(hashType="slash");var pathCoder=HashPathCoders[hashType],getUserConfirmation=HashProtocol.getUserConfirmation,getCurrentLocation=function(){return HashProtocol.getCurrentLocation(pathCoder,queryKey)},pushLocation=function(location){return HashProtocol.pushLocation(location,pathCoder,queryKey)},replaceLocation=function(location){return HashProtocol.replaceLocation(location,pathCoder,queryKey)},history=(0,_createHistory2.default)(_extends({getUserConfirmation:getUserConfirmation},options,{getCurrentLocation:getCurrentLocation,pushLocation:pushLocation,replaceLocation:replaceLocation,go:HashProtocol.go})),listenerCount=0,stopListener=void 0,startListener=function(listener,before){1==++listenerCount&&(stopListener=HashProtocol.startListener(history.transitionTo,pathCoder,queryKey));var unlisten=before?history.listenBefore(listener):history.listen(listener);return function(){unlisten(),0==--listenerCount&&stopListener()}},listenBefore=function(listener){return startListener(listener,!0)},listen=function(listener){return startListener(listener,!1)};(0,_DOMUtils.supportsGoWithoutReloadUsingHash)();return _extends({},history,{listenBefore:listenBefore,listen:listen,go:function(n){history.go(n)},createHref:function(path){return"#"+pathCoder.encodePath(history.createHref(path))}})};exports.default=createHashHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.replaceLocation=exports.pushLocation=exports.startListener=exports.getCurrentLocation=exports.go=exports.getUserConfirmation=void 0;var _BrowserProtocol=__webpack_require__(101);Object.defineProperty(exports,"getUserConfirmation",{enumerable:!0,get:function(){return _BrowserProtocol.getUserConfirmation}}),Object.defineProperty(exports,"go",{enumerable:!0,get:function(){return _BrowserProtocol.go}});var _warning=__webpack_require__(38),_LocationUtils=(function(obj){obj&&obj.__esModule}(_warning),__webpack_require__(51)),_DOMUtils=__webpack_require__(72),_DOMStateStorage=__webpack_require__(154),_PathUtils=__webpack_require__(40),getHashPath=function(){var href=window.location.href,hashIndex=href.indexOf("#");return-1===hashIndex?"":href.substring(hashIndex+1)},pushHashPath=function(path){return window.location.hash=path},replaceHashPath=function(path){var hashIndex=window.location.href.indexOf("#");window.location.replace(window.location.href.slice(0,hashIndex>=0?hashIndex:0)+"#"+path)},getCurrentLocation=exports.getCurrentLocation=function(pathCoder,queryKey){var path=pathCoder.decodePath(getHashPath()),key=(0,_PathUtils.getQueryStringValueFromPath)(path,queryKey),state=void 0;key&&(path=(0,_PathUtils.stripQueryStringValueFromPath)(path,queryKey),state=(0,_DOMStateStorage.readState)(key));var init=(0,_PathUtils.parsePath)(path);return init.state=state,(0,_LocationUtils.createLocation)(init,void 0,key)},prevLocation=void 0,updateLocation=(exports.startListener=function(listener,pathCoder,queryKey){var handleHashChange=function(){var path=getHashPath(),encodedPath=pathCoder.encodePath(path);if(path!==encodedPath)replaceHashPath(encodedPath);else{var currentLocation=getCurrentLocation(pathCoder,queryKey);if(prevLocation&&currentLocation.key&&prevLocation.key===currentLocation.key)return;prevLocation=currentLocation,listener(currentLocation)}},path=getHashPath(),encodedPath=pathCoder.encodePath(path);return path!==encodedPath&&replaceHashPath(encodedPath),(0,_DOMUtils.addEventListener)(window,"hashchange",handleHashChange),function(){return(0,_DOMUtils.removeEventListener)(window,"hashchange",handleHashChange)}},function(location,pathCoder,queryKey,updateHash){var state=location.state,key=location.key,path=pathCoder.encodePath((0,_PathUtils.createPath)(location));void 0!==state&&(path=(0,_PathUtils.addQueryStringValueToPath)(path,queryKey,key),(0,_DOMStateStorage.saveState)(key,state)),prevLocation=location,updateHash(path)});exports.pushLocation=function(location,pathCoder,queryKey){return updateLocation(location,pathCoder,queryKey,function(path){getHashPath()!==path&&pushHashPath(path)})},exports.replaceLocation=function(location,pathCoder,queryKey){return updateLocation(location,pathCoder,queryKey,function(path){getHashPath()!==path&&replaceHashPath(path)})}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _redux=__webpack_require__(2),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),_reducer=__webpack_require__(306),_reducer2=_interopRequireDefault(_reducer),_reducer3=__webpack_require__(307),_reducer4=_interopRequireDefault(_reducer3),_reducer5=__webpack_require__(308),_reducer6=_interopRequireDefault(_reducer5),_reducer7=__webpack_require__(309),_reducer8=_interopRequireDefault(_reducer7),_reducer9=__webpack_require__(310),_reducer10=_interopRequireDefault(_reducer9),_reducer11=__webpack_require__(311),_reducer12=_interopRequireDefault(_reducer11),_reducer13=__webpack_require__(312),_reducer14=_interopRequireDefault(_reducer13),_reduxThunk=__webpack_require__(313),_reduxThunk2=_interopRequireDefault(_reduxThunk),_middleware=__webpack_require__(314),_middleware2=_interopRequireDefault(_middleware),_middleware3=__webpack_require__(315),_middleware4=_interopRequireDefault(_middleware3),_middleware5=__webpack_require__(316),_middleware6=_interopRequireDefault(_middleware5),_middleware7=__webpack_require__(317),_middleware8=_interopRequireDefault(_middleware7),_middleware9=__webpack_require__(337),_middleware10=_interopRequireDefault(_middleware9),_middleware11=__webpack_require__(338),_middleware12=_interopRequireDefault(_middleware11),_middleware13=__webpack_require__(339),_middleware14=_interopRequireDefault(_middleware13),reducers=(0,_redux.combineReducers)({core:_reducer2.default,ui:_reducer4.default,pusher:_reducer6.default,mopidy:_reducer8.default,lastfm:_reducer10.default,genius:_reducer14.default,spotify:_reducer12.default}),initialState={core:{queue:[],queue_metadata:{},current_track_uri:null,albums:{},artists:{},playlists:{},users:{},tracks:{}},ui:{slim_mode:!1,selected_tracks:[],notifications:[],processes:{}},mopidy:{connected:!1,host:window.location.hostname,port:window.location.port?window.location.port:"https:"===window.location.protocol?"443":"80",ssl:"https:"===window.location.protocol,mute:!1,volume:0,progress:0,play_state:!1},pusher:{connected:!1,username:"Anonymous",connections:{},version:{current:"0.0.0"}},lastfm:{connected:!1,me:!1,authorization_url:"https://jamesbarnsley.co.nz/auth_lastfm.php"},genius:{connected:!1},spotify:{connected:!1,me:!1,autocomplete_results:{},authorization_url:"https://jamesbarnsley.co.nz/auth_spotify.php"}};initialState.core=Object.assign({},initialState.core,helpers.getStorage("core")),initialState.ui=Object.assign({},initialState.ui,helpers.getStorage("ui")),initialState.mopidy=Object.assign({},initialState.mopidy,helpers.getStorage("mopidy")),initialState.pusher=Object.assign({},initialState.pusher,helpers.getStorage("pusher")),initialState.spotify=Object.assign({},initialState.spotify,helpers.getStorage("spotify")),initialState.lastfm=Object.assign({},initialState.lastfm,helpers.getStorage("lastfm"));var store=(0,_redux.createStore)(reducers,initialState,(0,_redux.applyMiddleware)(_reduxThunk2.default,_middleware14.default,_middleware2.default,_middleware4.default,_middleware8.default,_middleware6.default,_middleware12.default,_middleware10.default));exports.default=store},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var core=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"CORE_SET":return Object.assign({},core,action.data);case"CURRENT_TRACK_LOADED":return Object.assign({},core,{current_track:action.current_track,current_track_uri:action.current_track_uri});case"QUEUE_LOADED":return Object.assign({},core,{queue:action.tracks});case"PUSHER_QUEUE_METADATA":case"PUSHER_QUEUE_METADATA_CHANGED":for(var tracklist=Object.assign([],core.current_tracklist),i=0;i<tracklist.length;i++)void 0!==action.queue_metadata["tlid_"+tracklist[i].tlid]&&(tracklist[i]=Object.assign({},tracklist[i],action.queue_metadata["tlid_"+tracklist[i].tlid]));return Object.assign({},core,{current_tracklist:tracklist,queue_metadata:action.queue_metadata});case"PUSHER_RADIO":case"PUSHER_RADIO_STARTED":case"PUSHER_RADIO_CHANGED":case"PUSHER_RADIO_STOPPED":return Object.assign({},core,{seeds_resolved:!1},{radio:action.radio});case"RADIO_SEEDS_RESOLVED":var radio=Object.assign({},core.radio,{resolved_seeds:action.resolved_seeds});return Object.assign({},core,{radio:radio});case"CATEGORY_LOADED":var categories=Object.assign([],core.categories);if(categories[action.key])var category=Object.assign({},categories[action.key],action.category);else var category=Object.assign({},action.category);return categories[action.key]=category,Object.assign({},core,{categories:categories});case"CATEGORIES_LOADED":for(var categories=Object.assign([],core.categories),i=0;i<action.categories.length;i++){var key="category:"+action.categories[i].id;if(categories[key])var category=Object.assign({},categories[key],action.categories[i]);else var category=Object.assign({},action.categories[i]);categories[key]=category}return Object.assign({},core,{categories:categories});case"CATEGORY_PLAYLISTS_LOADED":var categories=Object.assign([],core.categories),playlists_uris=[];categories[action.key].playlists_uris&&(playlists_uris=categories[action.key].playlists_uris);var category=Object.assign({},categories[action.key],{playlists_uris:[].concat(_toConsumableArray(playlists_uris),_toConsumableArray(action.uris)),playlists_more:action.more,playlists_total:action.total});return categories[action.key]=category,Object.assign({},core,{categories:categories});case"UPDATE_TRACKS_INDEX":return Object.assign({},core,{tracks:action.tracks});case"UPDATE_ALBUMS_INDEX":return Object.assign({},core,{albums:action.albums});case"UPDATE_ARTISTS_INDEX":return Object.assign({},core,{artists:action.artists});case"UPDATE_PLAYLISTS_INDEX":return Object.assign({},core,{playlists:action.playlists});case"UPDATE_USERS_INDEX":return Object.assign({},core,{users:action.users});case"NEW_RELEASES_LOADED":if(!action.uris)return Object.assign({},core,{new_releases:null,new_releases_more:null,new_releases_total:null});var new_releases=[];return core.new_releases&&(new_releases=Object.assign([],core.new_releases)),Object.assign({},core,{new_releases:[].concat(_toConsumableArray(new_releases),_toConsumableArray(action.uris)),new_releases_more:action.more,new_releases_total:action.total});case"ARTIST_ALBUMS_LOADED":var artists=Object.assign([],core.artists),albums_uris=[];artists[action.key].albums_uris&&(albums_uris=artists[action.key].albums_uris);var artist=Object.assign({},artists[action.key],{albums_uris:[].concat(_toConsumableArray(albums_uris),_toConsumableArray(action.uris)),albums_more:action.more,albums_total:action.total});return artists[action.key]=artist,Object.assign({},core,{artists:artists});case"USER_PLAYLISTS_LOADED":var users=Object.assign([],core.users),playlists_uris=[];users[action.key]&&users[action.key].playlists_uris&&(playlists_uris=users[action.key].playlists_uris);var artist=Object.assign({},users[action.key],{playlists_uris:[].concat(_toConsumableArray(playlists_uris),_toConsumableArray(action.uris)),playlists_more:action.more,playlists_total:action.total});return users[action.key]=artist,Object.assign({},core,{users:users});case"PLAYLIST_TRACKS":var playlists=Object.assign([],core.playlists),playlist=Object.assign({},playlists[action.key],{tracks_uris:action.tracks_uris});return playlists[action.key]=playlist,Object.assign({},core,{playlists:playlists});case"LIBRARY_PLAYLISTS_LOADED":if(core.library_playlists)var library_playlists=[].concat(_toConsumableArray(core.library_playlists),_toConsumableArray(action.uris));else var library_playlists=action.uris;return library_playlists=helpers.removeDuplicates(library_playlists),Object.assign({},core,{library_playlists:library_playlists,library_playlists_started:!0});case"SPOTIFY_GENRES_LOADED":return Object.assign({},core,{genres:action.genres});case"SEARCH_STARTED":return Object.assign({},core,{search_results:{artists_uris:[],albums_uris:[],playlists_uris:[],tracks:[]}});case"SEARCH_RESULTS_LOADED":if(core.search_results&&core.search_results.artists_uris)var artists_uris=core.search_results.artists_uris;else var artists_uris=[];if(action.artists_uris&&(artists_uris=[].concat(_toConsumableArray(artists_uris),_toConsumableArray(action.artists_uris))),void 0!==action.artists_more)var artists_more=action.artists_more;else if(core.search_results&&core.search_results.artists_more)var artists_more=core.search_results.artists_more;else var artists_more=null;if(core.search_results&&core.search_results.albums_uris)var albums_uris=core.search_results.albums_uris;else var albums_uris=[];if(action.albums_uris&&(albums_uris=[].concat(_toConsumableArray(albums_uris),_toConsumableArray(action.albums_uris))),void 0!==action.albums_more)var albums_more=action.albums_more;else if(core.search_results&&core.search_results.albums_more)var albums_more=core.search_results.albums_more;else var albums_more=null;if(core.search_results&&core.search_results.playlists_uris)var playlists_uris=core.search_results.playlists_uris;else var playlists_uris=[];if(action.playlists_uris&&(playlists_uris=[].concat(_toConsumableArray(playlists_uris),_toConsumableArray(action.playlists_uris))),void 0!==action.playlists_more)var playlists_more=action.playlists_more;else if(core.search_results&&core.search_results.playlists_more)var playlists_more=core.search_results.playlists_more;else var playlists_more=null;if(core.search_results&&core.search_results.tracks)var tracks=core.search_results.tracks;else var tracks=[];if(action.tracks&&(tracks=[].concat(_toConsumableArray(tracks),_toConsumableArray(helpers.formatTracks(action.tracks)))),void 0!==action.tracks_more)var tracks_more=action.tracks_more;else if(core.search_results&&core.search_results.tracks_more)var tracks_more=core.search_results.tracks_more;else var tracks_more=null;return Object.assign({},core,{search_results:{artists_more:artists_more,artists_uris:helpers.removeDuplicates(artists_uris),albums_more:albums_more,albums_uris:helpers.removeDuplicates(albums_uris),playlists_more:playlists_more,playlists_uris:helpers.removeDuplicates(playlists_uris),tracks:tracks,tracks_more:tracks_more}});default:return core}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var ui=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"LAZY_LOADING":return Object.assign({},ui,{lazy_loading:action.start});case"SET_SLIM_MODE":return Object.assign({},ui,{slim_mode:action.slim_mode});case"DEBUG":return Object.assign({},ui,{debug_response:action.response});case"UI_SET":return Object.assign({},ui,action.data);case"TOGGLE_SIDEBAR":var new_state=!ui.sidebar_open;return void 0!==action.new_state&&(new_state=action.new_state),Object.assign({},ui,{sidebar_open:new_state});case"SET_SELECTED_TRACKS":return Object.assign({},ui,{selected_tracks:Object.assign([],action.keys)});case"SHOW_CONTEXT_MENU":return Object.assign({},ui,{context_menu:action.data});case"HIDE_CONTEXT_MENU":return Object.assign({},ui,{context_menu:null});case"SHOW_TOUCH_CONTEXT_MENU":return Object.assign({},ui,{touch_context_menu:action.data});case"HIDE_TOUCH_CONTEXT_MENU":return Object.assign({},ui,{touch_context_menu:null});case"DRAG_START":return Object.assign({},ui,{dragger:{dragging:!0,active:!1,context:action.context,from_uri:action.from_uri,victims:action.victims,victims_indexes:action.victims_indexes,start_x:action.start_x,start_y:action.start_y}});case"DRAG_ACTIVE":var dragger=Object.assign({},ui.dragger,{active:!0});return Object.assign({},ui,{dragger:dragger});case"DRAG_END":return Object.assign({},ui,{dragger:!1});case"OPEN_MODAL":return Object.assign({},ui,{modal:action.modal});case"CLOSE_MODAL":return Object.assign({},ui,{modal:!1});case"CREATE_NOTIFICATION":var notifications=[].concat(_toConsumableArray(ui.notifications),[action.notification]);return notifications=helpers.mergeDuplicates(notifications,"key"),Object.assign({},ui,{notifications:notifications});case"REMOVE_NOTIFICATION":var notifications=Object.assign([],ui.notifications);return action.index>-1&&notifications.splice(action.index,1),Object.assign({},ui,{notifications:notifications});case"START_LOADING":var load_queue=Object.assign({},ui.load_queue?ui.load_queue:{});return load_queue[action.key]=action.source,Object.assign({},ui,{load_queue:load_queue});case"STOP_LOADING":var load_queue=Object.assign({},ui.load_queue?ui.load_queue:{});return load_queue[action.key]&&delete load_queue[action.key],Object.assign({},ui,{load_queue:load_queue});case"START_PROCESS":case"UPDATE_PROCESS":var processes=Object.assign({},ui.processes?ui.processes:[]);if(processes[action.key])var data=Object.assign({},processes[action.key].data,action.data);else var data=action.data;return processes[action.key]={key:action.key,message:action.message,status:"running",data:data},Object.assign({},ui,{processes:processes});case"RESUME_PROCESS":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"running"})),Object.assign({},ui,{processes:processes});case"CANCEL_PROCESS":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"cancelling"})),Object.assign({},ui,{processes:processes});case"PROCESS_CANCELLED":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"cancelled"})),Object.assign({},ui,{processes:processes});case"PROCESS_FINISHED":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"finished"})),Object.assign({},ui,{processes:processes});default:return ui}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var pusher=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"PUSHER_CONNECT":case"PUSHER_CONNECTING":return Object.assign({},pusher,{connected:!1,connecting:!0});case"PUSHER_CONNECTED":return Object.assign({},pusher,{connected:!0,connecting:!1,connection_id:action.connection_id,client_id:action.client_id,username:action.username});case"PUSHER_DISCONNECTED":return Object.assign({},pusher,{connected:!1,connecting:!1});case"PUSHER_SET_PORT":return Object.assign({},pusher,{port:action.port});case"PUSHER_USERNAME_CHANGED":return Object.assign({},pusher,{username:action.username});case"PUSHER_CONNECTIONS":for(var connections={},i=0;i<action.connections.length;i++)connections[action.connections[i].connection_id]=action.connections[i];return Object.assign({},pusher,{connections:connections});case"PUSHER_CONNECTION_ADDED":case"PUSHER_CONNECTION_UPDATED":var connections=Object.assign({},pusher.connections);return connections[action.connection.connection_id]=action.connection,Object.assign({},pusher,{connections:connections});case"PUSHER_CONNECTION_REMOVED":var connections=Object.assign({},pusher.connections);return delete connections[action.connection.connection_id],Object.assign({},pusher,{connections:connections});case"PUSHER_VERSION":return Object.assign({},pusher,{version:action.version,upgrading:!1});case"PUSHER_START_UPGRADE":return Object.assign({},pusher,{upgrading:!0});default:return pusher}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var mopidy=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"MOPIDY_CONNECT":case"MOPIDY_CONNECTING":return Object.assign({},mopidy,{connected:!1,connecting:!0});case"MOPIDY_CONNECTED":return Object.assign({},mopidy,{connected:!0,connecting:!1});case"MOPIDY_DISCONNECTED":return Object.assign({},mopidy,{connected:!1,connecting:!1});case"MOPIDY_SET_CONFIG":return Object.assign({},mopidy,{host:action.config.host,port:action.config.port,ssl:action.config.ssl});case"MOPIDY_CHANGE_TRACK":return Object.assign({},mopidy,{tlid:action.tlid});case"MOPIDY_URISCHEMES_FILTERED":return Object.assign({},mopidy,{uri_schemes:action.data});case"MOPIDY_STATE":return Object.assign({},mopidy,{play_state:action.data});case"MOPIDY_CONSUME":return Object.assign({},mopidy,{consume:action.data});case"MOPIDY_RANDOM":return Object.assign({},mopidy,{random:action.data});case"MOPIDY_REPEAT":return Object.assign({},mopidy,{repeat:action.data});case"MOPIDY_VOLUME":return Object.assign({},mopidy,{volume:action.data});case"MOPIDY_MUTE":return Object.assign({},mopidy,{mute:action.data});case"MOPIDY_TIMEPOSITION":return Object.assign({},mopidy,{time_position:action.data});case"MOPIDY_HISTORY":for(var history=[],i=0;i<action.data.length;i++)history.push(Object.assign({},action.data[i][1],{played_at:action.data[i][0],type:"history"}));return Object.assign({},mopidy,{queue_history:history});case"MOPIDY_DIRECTORY_LOADED":return Object.assign({},mopidy,{directory:action.data});case"MOPIDY_LIBRARY_PLAYLISTS_LOADED":if(mopidy.library_playlists)var uris=[].concat(_toConsumableArray(mopidy.library_playlists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},mopidy,{library_playlists:helpers.removeDuplicates(uris)});case"MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL":return Object.assign({},mopidy,{library_playlists_loaded_all:!0});case"MOPIDY_LIBRARY_PLAYLIST_CREATED":var library_playlists=[];return mopidy.library_playlists&&(library_playlists=Object.assign([],mopidy.library_playlists),library_playlists.push(action.key)),Object.assign({},mopidy,{library_playlists:library_playlists});case"MOPIDY_LIBRARY_PLAYLIST_DELETED":var library_playlists=[];return mopidy.library_playlists&&(library_playlists=Object.assign([],mopidy.library_playlists),library_playlists.splice(library_playlists.indexOf(action.uri),1)),Object.assign({},mopidy,{library_playlists:library_playlists});case"MOPIDY_LIBRARY_ARTISTS_LOADED":if(mopidy.library_artists)var uris=[].concat(_toConsumableArray(mopidy.library_artists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},mopidy,{library_artists:helpers.removeDuplicates(uris)});case"MOPIDY_LIBRARY_ALBUMS_LOADED":if(mopidy.library_albums)var uris=[].concat(_toConsumableArray(mopidy.library_albums),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},mopidy,{library_albums:helpers.removeDuplicates(uris)});case"MOPIDY_CLEAR_SEARCH_RESULTS":return Object.assign({},mopidy,{search_results:{}});case"MOPIDY_SEARCH_RESULTS_LOADED":if(mopidy.search_results)var search_results=Object.assign({},mopidy.search_results);else var search_results={};return search_results[action.context]?search_results[action.context]=[].concat(_toConsumableArray(search_results[action.context]),_toConsumableArray(action.results)):search_results[action.context]=action.results,Object.assign({},mopidy,{search_results:search_results});default:return mopidy}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var lastfm=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"LASTFM_CONNECT":case"LASTFM_CONNECTING":return Object.assign({},lastfm,{connected:!1,connecting:!0});case"LASTFM_CONNECTED":return Object.assign({},lastfm,{connected:!0,connecting:!1});case"LASTFM_SET":return Object.assign({},lastfm,action.data);case"LASTFM_AUTHORIZATION_GRANTED":return Object.assign({},lastfm,{authorizing:!1,session:action.data.session});case"LASTFM_AUTHORIZATION_REVOKED":return Object.assign({},lastfm,{authorizing:!1,session:!1,me:!1});default:return lastfm}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var spotify=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"SPOTIFY_CONNECT":case"SPOTIFY_CONNECTING":return Object.assign({},spotify,{connected:!1,connecting:!0});case"SPOTIFY_CONNECTED":return Object.assign({},spotify,{connected:!0,connecting:!1});case"SPOTIFY_DISCONNECTED":return Object.assign({},spotify,{connected:!1,connecting:!1});case"SPOTIFY_SET":return Object.assign({},spotify,action.data);case"PUSHER_SPOTIFY_TOKEN":return spotify.authorization?spotify:Object.assign({},spotify,{authorizing:!1,authorization:!1,access_token:action.data.access_token,token_expiry:action.data.token_expiry});case"SPOTIFY_AUTHORIZATION_GRANTED":return Object.assign({},spotify,{enabled:!0,authorizing:!1,authorization:action.data,access_token:action.data.access_token,refresh_token:action.data.refresh_token,token_expiry:action.data.token_expiry});case"SPOTIFY_AUTHORIZATION_REVOKED":return Object.assign({},spotify,{authorizing:!1,authorization:!1,access_token:!1,refresh_token:!1,token_expiry:0,me:!1});case"SPOTIFY_IMPORT_AUTHORIZATION":return Object.assign({},spotify,{authorizing:!1,authorization:action.authorization,access_token:action.authorization.access_token,refresh_token:action.authorization.refresh_token,token_expiry:action.authorization.token_expiry,me:action.user});case"SPOTIFY_TOKEN_REFRESHING":return Object.assign({},spotify,{refreshing_token:!0});case"SPOTIFY_TOKEN_REFRESHED":return Object.assign({},spotify,{connected:!0,refreshing_token:!1,access_token:action.data.access_token,token_expiry:action.data.token_expiry});case"SPOTIFY_DISCONNECTED":return Object.assign({},spotify,{connected:!1,connecting:!1});case"SPOTIFY_ME_LOADED":return Object.assign({},spotify,{me:action.data});case"SPOTIFY_FEATURED_PLAYLISTS_LOADED":return Object.assign({},spotify,{featured_playlists:action.data});case"SPOTIFY_NEW_RELEASES_LOADED":return Object.assign({},spotify,{new_releases:action.data});case"SPOTIFY_NEW_RELEASES_LOADED_MORE":return Object.assign({},spotify,{new_releases:{href:action.data.albums.href,next:action.data.albums.next,previous:action.data.albums.previous,items:[].concat(_toConsumableArray(spotify.new_releases.items),_toConsumableArray(action.data.albums.items))}});case"SPOTIFY_DISCOVER_LOADED":return action.data?Object.assign({},spotify,{discover:[].concat(_toConsumableArray(spotify.discover),[action.data])}):Object.assign({},spotify,{discover:[]});case"CLEAR_SPOTIFY_RECOMMENDATIONS":return Object.assign({},spotify,{recommendations:{artists_uris:[],albums_uris:[],tracks_uris:[]}});case"SPOTIFY_RECOMMENDATIONS_LOADED":return Object.assign({},spotify,{recommendations:{artists_uris:action.artists_uris,albums_uris:action.albums_uris,tracks_uris:action.tracks_uris}});case"SPOTIFY_FAVORITES_LOADED":return Object.assign({},spotify,{favorite_artists:action.artists_uris,favorite_tracks:action.tracks_uris});case"SPOTIFY_AUTOCOMPLETE_LOADING":var autocomplete_results=spotify.autocomplete_results;return autocomplete_results[action.field_id]={loading:!0},Object.assign({},spotify,{autocomplete_results:autocomplete_results});case"SPOTIFY_AUTOCOMPLETE_LOADED":var autocomplete_results=spotify.autocomplete_results;return autocomplete_results[action.field_id]=action.results,autocomplete_results[action.field_id].loading=!1,Object.assign({},spotify,{autocomplete_results:autocomplete_results});case"SPOTIFY_AUTOCOMPLETE_CLEAR":var autocomplete_results=spotify.autocomplete_results;return void 0!==autocomplete_results[action.field_id]&&delete autocomplete_results[action.field_id],Object.assign({},spotify,{autocomplete_results:autocomplete_results});case"SPOTIFY_FLUSH_LIBRARY":return Object.assign({},spotify,{library_playlists:null,library_playlists_loaded_all:null,library_playlists_status:null,library_albums:null,library_albums_status:null,library_albums_loaded_all:null,library_artists:null,library_artists_status:null,library_artists_loaded_all:null,library_tracks:null,library_tracks_status:null,library_tracks_loaded_all:null});case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED":if(spotify.library_playlists)var uris=[].concat(_toConsumableArray(spotify.library_playlists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},spotify,{library_playlists:helpers.removeDuplicates(uris)});case"SPOTIFY_LIBRARY_ARTISTS_LOADED":if(spotify.library_artists)var uris=[].concat(_toConsumableArray(spotify.library_artists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},spotify,{library_artists:helpers.removeDuplicates(uris)});case"SPOTIFY_LIBRARY_ALBUMS_LOADED":if(spotify.library_albums)var uris=[].concat(_toConsumableArray(spotify.library_albums),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},spotify,{library_albums:helpers.removeDuplicates(uris)});case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":var tracks=action.data.items,uris=[];return tracks&&(tracks=helpers.formatTracks(tracks),uris=helpers.arrayOf("uri",tracks),spotify.library_tracks&&(uris=[].concat(_toConsumableArray(spotify.library_tracks),_toConsumableArray(uris)))),Object.assign({},spotify,{library_tracks:helpers.removeDuplicates(uris),library_tracks_more:action.data.next});case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL":return Object.assign({},spotify,{library_playlists_loaded_all:!0});case"SPOTIFY_LIBRARY_PLAYLISTS_CLEAR":return Object.assign({},spotify,{library_playlists:[]});case"SPOTIFY_LIBRARY_ARTISTS_CLEAR":return Object.assign({},spotify,{library_artists:[]});case"SPOTIFY_LIBRARY_ALBUMS_CLEAR":return Object.assign({},spotify,{library_albums:[]});case"SPOTIFY_LIBRARY_ALBUM_CHECK":var items=Object.assign([],spotify.library_albums),index=items.indexOf(action.key);return index>-1&&!action.in_library?items.splice(index,1):index<0&&action.in_library&&items.push(action.key),Object.assign({},spotify,{library_albums:items});case"SPOTIFY_LIBRARY_ARTIST_CHECK":var items=Object.assign([],spotify.library_artists),index=items.indexOf(action.key);return index>-1&&!action.in_library?items.splice(index,1):index<0&&action.in_library&&items.push(action.key),Object.assign({},spotify,{library_artists:items});case"SPOTIFY_LIBRARY_PLAYLIST_CHECK":var items=Object.assign([],spotify.library_playlists),index=items.indexOf(action.key);return index>-1&&!action.in_library?items.splice(index,1):index<0&&action.in_library&&items.push(action.key),Object.assign({},spotify,{library_playlists:items});case"SPOTIFY_CLEAR_SEARCH_RESULTS":return Object.assign({},spotify,{search_results:{}});case"SPOTIFY_SEARCH_RESULTS_LOADED":if(spotify.search_results)var search_results=Object.assign({},spotify.search_results);else var search_results={};return search_results.results?search_results[action.context]=[].concat(_toConsumableArray(search_results[action.context]),_toConsumableArray(action.results)):search_results[action.context]=action.results,action.more?search_results[action.context+"_more"]=action.more:search_results[action.context+"_more"]=null,Object.assign({},spotify,{search_results:search_results});default:return spotify}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var genius=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(arguments[1].type){case"GENIUS_CONNECT":case"GENIUS_CONNECTING":return Object.assign({},genius,{connected:!1,connecting:!0});case"GENIUS_CONNECTED":return Object.assign({},genius,{connected:!0,connecting:!1});default:return genius}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer},function(module,exports,__webpack_require__){"use strict";function createThunkMiddleware(extraArgument){return function(_ref){var dispatch=_ref.dispatch,getState=_ref.getState;return function(next){return function(action){return"function"==typeof action?action(dispatch,getState,extraArgument):next(action)}}}}exports.__esModule=!0;var thunk=createThunkMiddleware();thunk.withExtraArgument=createThunkMiddleware,exports.default=thunk},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(30),_reactGa2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_reactGa),coreActions=__webpack_require__(22),uiActions=__webpack_require__(4),pusherActions=__webpack_require__(23),mopidyActions=__webpack_require__(9),spotifyActions=__webpack_require__(8),helpers=(__webpack_require__(31),__webpack_require__(1)),CoreMiddleware=function(){return function(store){return function(next){return function(action){var core=store.getState().core;switch(action.type){case"HANDLE_EXCEPTION":var message=action.message;if(action.description)var description=action.description;else if(action.data.xhr&&action.data.xhr.responseText){var xhr_response=JSON.parse(action.data.xhr.responseText);if(xhr_response.error&&xhr_response.error.message)var description=xhr_response.error.message}else if(action.data.xhr)var description=action.data.xhr.status+" "+action.data.xhr.statusText;else var description=null;var state=store.getState(),exported_state={core:Object.assign({},state.core),ui:Object.assign({},state.ui),spotify:Object.assign({},state.spotify),mopidy:Object.assign({},state.mopidy),pusher:Object.assign({},state.pusher)};delete exported_state.core.albums,delete exported_state.core.artists,delete exported_state.core.playlists,delete exported_state.core.users,delete exported_state.core.queue_metadata,delete exported_state.core.current_tracklist,delete exported_state.spotify.library_albums,delete exported_state.spotify.library_artists,delete exported_state.spotify.library_playlists,delete exported_state.spotify.autocomplete_results,delete exported_state.mopidy.library_albums,delete exported_state.mopidy.library_artists,delete exported_state.mopidy.library_playlists;var data=Object.assign({},action.data,{message:message,description:description,state:exported_state});Raven.captureException(new Error(message),{extra:data}),_reactGa2.default.event({category:"Error",action:message,label:description,nonInteraction:!0}),store.dispatch(uiActions.createNotification(message,"bad",null,null,description)),console.error(message,description,data);break;case"CORE_START_SERVICES":store.dispatch(mopidyActions.connect()),store.dispatch(pusherActions.connect()),next(action);break;case"PLAY_PLAYLIST":_reactGa2.default.event({category:"Playlist",action:"Play",label:action.uri}),next(action);break;case"SAVE_PLAYLIST":_reactGa2.default.event({category:"Playlist",action:"Save",label:action.key}),next(action);break;case"CREATE_PLAYLIST":_reactGa2.default.event({category:"Playlist",action:"Create",label:+action.name}),next(action);break;case"REORDER_PLAYLIST_TRACKS":_reactGa2.default.event({category:"Playlist",action:"Reorder tracks",label:action.key}),next(action);break;case"ADD_PLAYLIST_TRACKS":_reactGa2.default.event({category:"Playlist",action:"Add tracks",label:action.playlist_uri}),next(action);break;case"REMOVE_PLAYLIST_TRACKS":_reactGa2.default.event({category:"Playlist",action:"Remove tracks",label:action.playlist_uri}),next(action);break;case"DELETE_PLAYLIST":_reactGa2.default.event({category:"Playlist",action:"Delete",label:action.uri}),next(action);break;case"SEARCH_STARTED":_reactGa2.default.event({category:"Search",action:"Started",label:action.type+": "+action.query}),next(action);var state=store.getState();if(state.ui.search_uri_schemes)var uri_schemes=state.ui.search_uri_schemes;else var uri_schemes=state.mopidy.uri_schemes;for(var available_full_uri_schemes=["local:","file:","gmusic:"],full_uri_schemes=[],i=0;i<available_full_uri_schemes.length;i++){uri_schemes.indexOf(available_full_uri_schemes[i])>-1&&full_uri_schemes.push(available_full_uri_schemes[i])}action.only_mopidy||state.ui.search_settings&&!state.ui.search_settings.spotify||store.dispatch(spotifyActions.getSearchResults(action.query)),state.mopidy.connected&&store.dispatch(mopidyActions.getSearchResults(action.search_type,action.query,100,full_uri_schemes));break;case"PLAYLIST_TRACKS_ADDED":switch(store.dispatch(uiActions.createNotification("Added "+action.tracks_uris.length+" tracks to playlist")),helpers.uriSource(action.key)){case"spotify":store.dispatch(spotifyActions.getPlaylist(action.key));break;case"m3u":store.getState().mopidy.connected&&store.dispatch(mopidyActions.getPlaylist(action.key))}next(action);break;case"GET_LIBRARY_PLAYLISTS":store.getState().spotify.connected&&store.dispatch(spotifyActions.getLibraryPlaylists()),store.getState().mopidy.connected&&store.dispatch(mopidyActions.getLibraryPlaylists()),next(action);break;case"GET_LIBRARY_ALBUMS":store.getState().spotify.connected&&store.dispatch(spotifyActions.getLibraryAlbums()),store.getState().mopidy.connected&&store.dispatch(mopidyActions.getLibraryAlbums()),next(action);break;case"GET_LIBRARY_ARTISTS":store.getState().spotify.connected&&store.dispatch(spotifyActions.getLibraryArtists()),store.getState().mopidy.connected&&store.dispatch(mopidyActions.getLibraryArtists()),next(action);break;case"RESTART":location.reload();break;case"PLAYLIST_KEY_UPDATED":var playlists=Object.assign({},core.playlists);void 0===playlists[action.key]&&dispatch(coreActions.handleException("Cannot change key of playlist not in index"));var playlist=Object.assign({},playlists[action.key]);delete playlists[action.key],playlists[action.new_key]=playlist,store.dispatch({type:"UPDATE_PLAYLISTS_INDEX",playlists:playlists});break;case"PLAYLIST_TRACKS":var tracks=helpers.formatTracks(action.tracks);action.tracks_uris=helpers.arrayOf("uri",tracks),store.dispatch({type:"TRACKS_LOADED",tracks:tracks}),next(action);break;case"PLAYLIST_TRACKS_REORDERED":var playlists=Object.assign({},core.playlists),playlist=Object.assign({},playlists[action.key]),tracks_uris=Object.assign([],playlist.tracks_uris),insert_before=action.insert_before;insert_before>action.range_start&&(insert_before-=action.range_length);var tracks_to_move=tracks_uris.splice(action.range_start,action.range_length);for(tracks_to_move.reverse(),i=0;i<tracks_to_move.length;i++)tracks_uris.splice(insert_before,0,tracks_to_move[i]);var snapshot_id=null;action.snapshot_id&&(snapshot_id=action.snapshot_id),playlist.tracks_uris=tracks_uris,playlist.snapshot_id=snapshot_id,store.dispatch({type:"PLAYLISTS_LOADED",playlists:[playlist]});break;case"PLAYLIST_TRACKS_REMOVED":for(var playlists=Object.assign({},core.playlists),playlist=Object.assign({},playlists[action.key]),tracks_uris=Object.assign([],playlist.tracks_uris),indexes=action.tracks_indexes.reverse(),i=0;i<indexes.length;i++)tracks_uris.splice(indexes[i],1);var snapshot_id=null;action.snapshot_id&&(snapshot_id=action.snapshot_id),playlist.tracks_uris=tracks_uris,playlist.snapshot_id=snapshot_id,store.dispatch({type:"PLAYLISTS_LOADED",playlists:[playlist]});break;case"CURRENT_TRACK_LOADED":store.dispatch({type:"TRACKS_LOADED",tracks:[action.current_track]}),next(action);break;case"QUEUE_LOADED":store.dispatch({type:"TRACKS_LOADED",tracks:action.tracks}),next(action);break;case"TRACK_LOADED":store.dispatch({type:"TRACKS_LOADED",tracks:[action.track]});break;case"ALBUM_LOADED":store.dispatch({type:"ALBUMS_LOADED",albums:[action.album]});break;case"ARTIST_LOADED":store.dispatch({type:"ARTISTS_LOADED",artists:[action.artist]});break;case"PLAYLIST_LOADED":store.dispatch({type:"PLAYLISTS_LOADED",playlists:[action.playlist]});break;case"USER_LOADED":store.dispatch({type:"USERS_LOADED",users:[action.user]});break;case"TRACKS_LOADED":for(var tracks=Object.assign({},core.tracks),i=0;i<action.tracks.length;i++){var track=Object.assign({},helpers.formatTracks(action.tracks[i]));tracks[track.uri]&&(track=Object.assign({},tracks[track.uri],track)),track.album&&track.album.images&&track.album.images.length>0&&(track.album.images=helpers.digestMopidyImages(store.getState().mopidy,track.album.images),track.images=track.album.images),tracks[track.uri]=track}store.dispatch({type:"UPDATE_TRACKS_INDEX",tracks:tracks}),next(action);break;case"ALBUMS_LOADED":for(var albums=Object.assign({},core.albums),tracks_loaded=[],i=0;i<action.albums.length;i++){var album=Object.assign({},action.albums[i]);if(helpers.formatAlbum(album),albums[album.uri]&&(album=Object.assign({},albums[album.uri],album)),album.images&&album.images.length>0&&(album.images=helpers.digestMopidyImages(store.getState().mopidy,album.images)),album.tracks){var tracks=helpers.formatTracks(album.tracks),tracks_uris=helpers.arrayOf("uri",tracks);album.tracks_uris=tracks_uris,delete album.tracks,tracks_loaded=[].concat(_toConsumableArray(tracks_loaded),_toConsumableArray(tracks))}albums[album.uri]=album}store.dispatch({type:"TRACKS_LOADED",tracks:tracks_loaded}),store.dispatch({type:"UPDATE_ALBUMS_INDEX",albums:albums}),next(action);break;case"ARTISTS_LOADED":for(var artists=Object.assign({},core.artists),tracks_loaded=[],i=0;i<action.artists.length;i++){var artist=action.artists[i];if(artists[artist.uri]&&(artists[artist.uri].images&&(artist.images_additional=artist.images,delete artist.images),artist=Object.assign({},artists[artist.uri],artist)),artist.tracks){var tracks=helpers.formatTracks(artist.tracks),tracks_uris=helpers.arrayOf("uri",tracks);artist.tracks_uris=tracks_uris,delete artist.tracks,tracks_loaded=[].concat(_toConsumableArray(tracks_loaded),_toConsumableArray(tracks))}artists[artist.uri]=artist}store.dispatch({type:"TRACKS_LOADED",tracks:tracks_loaded}),store.dispatch({type:"UPDATE_ARTISTS_INDEX",artists:artists}),next(action);break;case"PLAYLISTS_LOADED":for(var playlists=Object.assign({},core.playlists),tracks_loaded=[],i=0;i<action.playlists.length;i++){var playlist=Object.assign({},action.playlists[i]);switch(helpers.uriSource(playlist.uri)){case"m3u":playlist.can_edit=!0;break;case"spotify":store.getState().spotify.authorization&&store.getState().spotify.me&&(playlist.can_edit=helpers.getFromUri("playlistowner",playlist.uri)==store.getState().spotify.me.id)}if(void 0!==playlists[playlist.uri]&&(playlist=Object.assign({},playlists[playlist.uri],playlist)),playlist.tracks){var tracks=helpers.formatTracks(playlist.tracks),tracks_uris=helpers.arrayOf("uri",tracks);playlist.tracks_uris=tracks_uris,delete playlist.tracks,tracks_loaded=[].concat(_toConsumableArray(tracks_loaded),_toConsumableArray(tracks))}playlists[playlist.uri]=playlist}store.dispatch({type:"TRACKS_LOADED",tracks:tracks_loaded}),store.dispatch({type:"UPDATE_PLAYLISTS_INDEX",playlists:playlists}),next(action);break;case"USERS_LOADED":for(var users=Object.assign({},core.users),i=0;i<action.users.length;i++){var user=Object.assign({},action.users[i]);users[user.uri]&&(user=Object.assign({},users[user.uri],user)),users[user.uri]=user}store.dispatch({type:"UPDATE_USERS_INDEX",users:users}),next(action);break;case"LOADED_MORE":var parent_type_plural=action.parent_type+"s",parent_index=Object.assign({},core[action.parent_type+"s"]),parent=Object.assign({},parent_index[action.parent_key]);if(void 0!==action.records_data.items)var records=action.records_data.items;else if(void 0!==action.records_data.tracks)var records=action.records_data.tracks;else if(void 0!==action.records_data.artists)var records=action.records_data.artists;else if(void 0!==action.records_data.albums)var records=action.records_data.albums;else if(void 0!==action.records_data.playlists)var records=action.records_data.playlists;else var records=action.records_data;"track"==action.records_type&&(records=helpers.formatTracks(records));var records_type_plural=action.records_type+"s",records_uris=(Object.assign({}),helpers.arrayOf("uri",records)),uris=records_uris;void 0!==parent[records_type_plural+"_uris"]&&(uris=[].concat(_toConsumableArray(parent[records_type_plural+"_uris"]),_toConsumableArray(uris))),parent[records_type_plural+"_uris"]=uris,void 0!==action.records_data.next&&(parent[records_type_plural+"_more"]=action.records_data.next);var parent_action={type:parent_type_plural.toUpperCase()+"_LOADED"};parent_action[parent_type_plural]=[parent],store.dispatch(parent_action);var records_action={type:records_type_plural.toUpperCase()+"_LOADED"};records_action[records_type_plural]=records,store.dispatch(records_action),next(action);break;default:return next(action)}}}}}();exports.default=CoreMiddleware},function(module,exports,__webpack_require__){"use strict";(function($){Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_reactGa=__webpack_require__(30),_reactGa2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_reactGa),uiActions=__webpack_require__(4),helpers=(__webpack_require__(9),__webpack_require__(1)),UIMiddleware=function(){return function(store){return function(next){return function(action){switch(action.type){case"MOPIDY_STATE":var tracks=store.getState().core.tracks,current_track_uri=store.getState().core.current_track,current_track=null;void 0!==tracks[current_track_uri]&&(current_track=tracks[current_track_uri]),helpers.setWindowTitle(current_track,action.data),next(action);break;case"OPEN_MODAL":_reactGa2.default.event({category:"Modal",action:"Opened",label:action.modal.name}),$("body").addClass("modal-open"),store.dispatch(uiActions.hideContextMenu()),store.dispatch(uiActions.hideTouchContextMenu()),next(action);break;case"CLOSE_MODAL":_reactGa2.default.event({category:"Modal",action:"Closed",label:null}),$("body").removeClass("modal-open"),next(action);break;case"BROWSER_NOTIFICATION":var notification=window.Notification||window.mozNotification||window.webkitNotification;if(void 0===notification)return!1;void 0!==notification&&notification.requestPermission(function(permission){});var data={};_typeof(action.data)&&(data=action.data),_typeof(data.data)&&(data=Object.assign({},data,data.data));var title="",options={body:"",dir:"auto",lang:"EN",tag:"iris"};data.title&&(title=data.title),data.body&&(options.body=data.body),data.icon&&(options.icon=data.icon);var notification=new notification(title,options);break;case"CREATE_NOTIFICATION":if(!action.notification.sticky){setTimeout(function(){store.dispatch(uiActions.removeNotification(action.notification.key))},"shortcut"==action.notification.type?1e3:3e3)}next(action);break;case"REMOVE_NOTIFICATION":var notifications=Object.assign([],store.getState().ui.notifications),getByKey=function(notification){return notification.key===action.key},index=notifications.findIndex(getByKey);action.index=index,index>-1&&void 0!==notifications[index]&&"broadcast"==notifications[index].type&&store.dispatch({type:"SUPPRESS_BROADCAST",key:notifications[index].key}),next(action);break;case"BROADCASTS_LOADED":var suppressed_broadcasts=[];void 0!==store.getState().ui.suppressed_broadcasts&&(suppressed_broadcasts=store.getState().ui.suppressed_broadcasts);for(var i=0;i<action.broadcasts.length;i++){var broadcast=action.broadcasts[i];suppressed_broadcasts.includes(broadcast.key)||broadcast.message&&store.dispatch(uiActions.createNotification(broadcast.message,"broadcast",broadcast.key?broadcast.key:null,broadcast.title?broadcast.title:null,null,!0))}next(action);break;case"START_PROCESS":store.dispatch({type:action.key,data:action.data}),store.dispatch({type:action.key+"_STARTED"}),next(action);break;case"RESUME_PROCESS":store.dispatch({type:action.key,data:store.getState().ui.processes[action.key].data}),next(action);break;case"PROCESS_CANCELLED":store.dispatch({type:action.key+"_CANCELLED"}),next(action);break;case"PROCESS_FINISHED":store.dispatch({type:action.key+"_FINISHED"}),next(action);break;default:return next(action)}}}}}();exports.default=UIMiddleware}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(30),_reactGa2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_reactGa),helpers=__webpack_require__(1),coreActions=__webpack_require__(22),uiActions=__webpack_require__(4),pusherActions=__webpack_require__(23),lastfmActions=__webpack_require__(31),spotifyActions=__webpack_require__(8),PusherMiddleware=function(){var socket=null,deferredRequests=[],handleMessage=function(ws,store,message){store.getState().ui.log_pusher,void 0!==message.request_id&&message.request_id?void 0!==deferredRequests[message.request_id]?(store.dispatch(uiActions.stopLoading(message.request_id)),message.status<=0?deferredRequests[message.request_id].reject(message):deferredRequests[message.request_id].resolve(message)):store.dispatch(coreActions.handleException("Pusher: Response received with no matching request",message)):void 0!==message.status&&message.status<=0?store.dispatch(coreActions.handleException("Pusher: "+message.message,message)):(message.type="PUSHER_"+message.type.toUpperCase(),store.dispatch(message))},request=function(store,method){var data=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(function(resolve,reject){var request_id=helpers.generateGuid(),message={method:method,data:data,request_id:request_id};socket.send(JSON.stringify(message)),store.dispatch(uiActions.startLoading(request_id,"pusher_"+method));setTimeout(function(){store.dispatch(uiActions.stopLoading(request_id)),reject({message:"Request timed out",method:method,data:data})},3e4);deferredRequests[request_id]={resolve:resolve,reject:reject}})};return function(store){return function(next){return function(action){switch(action.type){case"PUSHER_CONNECT":null!=socket&&socket.close(),store.dispatch({type:"PUSHER_CONNECTING"});var state=store.getState(),connection={client_id:helpers.generateGuid(),connection_id:helpers.generateGuid(),username:"Anonymous"};state.pusher.username&&(connection.username=state.pusher.username),connection.username=connection.username.replace(/\W/g,""),socket=new WebSocket("ws"+("https:"===window.location.protocol?"s":"")+"://"+state.mopidy.host+":"+state.mopidy.port+"/iris/ws/",[connection.client_id,connection.connection_id,connection.username]),socket.onmessage=function(message){var message=JSON.parse(message.data);handleMessage(0,store,message)},socket.onclose=function(){store.dispatch({type:"PUSHER_DISCONNECTED"}),setTimeout(function(){store.dispatch(pusherActions.connect())},5e3)};break;case"PUSHER_CONNECTED":return _reactGa2.default.event({category:"Pusher",action:"Connected",label:action.username}),request(store,"get_config").then(function(response){if(response.error)return console.error(response.error),!1;response.type="PUSHER_CONFIG",store.dispatch(response);var core=store.getState().core;core.country&&core.locale||store.dispatch(coreActions.set({country:response.config.country,locale:response.config.locale}))},function(error){store.dispatch(coreActions.handleException("Could not load config",error))}),request(store,"get_version").then(function(response){if(response.error)return console.error(response.error),!1;response.type="PUSHER_VERSION",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not load version",error))}),request(store,"get_radio").then(function(response){if(response.error)return console.error(response.error),!1;response.type="PUSHER_RADIO",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not load radio",error))}),store.dispatch(pusherActions.getQueueMetadata()),next(action);case"PUSHER_INSTRUCT":request(action).then(function(response){store.dispatch({type:"PUSHER_INSTRUCT",data:response.data})},function(error){store.dispatch(coreActions.handleException("Instruct failed",error))});break;case"PUSHER_DELIVER_MESSAGE":request(store,"deliver_message",action.data).then(function(response){store.dispatch(uiActions.createNotification("Message delivered"))},function(error){store.dispatch(coreActions.handleException("Could not deliver message",error))});break;case"PUSHER_DELIVER_BROADCAST":request(store,"broadcast",action.data);break;case"PUSHER_GET_QUEUE_METADATA":request(store,"get_queue_metadata").then(function(response){response.type="PUSHER_QUEUE_METADATA",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not load queue metadata",error))});break;case"PUSHER_ADD_QUEUE_METADATA":request(store,"add_queue_metadata",{tlids:action.tlids,added_from:action.from_uri,added_by:store.getState().pusher.username});break;case"PUSHER_START_UPGRADE":return _reactGa2.default.event({category:"Pusher",action:"Upgrade",label:""}),request(store,"upgrade").then(function(response){if(response.error)return console.error(response.error),!1;response.upgrade_successful?store.dispatch(uiActions.createNotification("Upgrade complete")):store.dispatch(uiActions.createNotification("Upgrade failed, please upgrade manually","bad")),response.type="PUSHER_VERSION",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not start upgrade",error))}),next(action);case"PUSHER_SET_USERNAME":return request(store,"set_username",{username:action.username}).then(function(response){if(response.error)return console.error(response.error),!1;response.type="PUSHER_USERNAME_CHANGED",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not set username",error))}),next(action);case"PUSHER_GET_CONNECTIONS":return request(store,"get_connections").then(function(response){if(response.error)return console.error(response.error),!1;response.type="PUSHER_CONNECTIONS",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not load connections",error))}),next(action);case"PUSHER_SPOTIFY_AUTHORIZATION":store.dispatch(uiActions.openModal("receive_authorization",{authorization:action.authorization,user:action.me}));break;case"PUSHER_START_RADIO":case"PUSHER_UPDATE_RADIO":_reactGa2.default.event({category:"Pusher",action:"Start radio",label:action.uris.join()}),"PUSHER_UPDATE_RADIO"==action.type?store.dispatch(uiActions.startProcess("PUSHER_RADIO_PROCESS","Updating radio")):store.dispatch(uiActions.startProcess("PUSHER_RADIO_PROCESS","Starting radio"));for(var data={update:"PUSHER_UPDATE_RADIO"==action.type,seed_artists:[],seed_genres:[],seed_tracks:[]},i=0;i<action.uris.length;i++)switch(helpers.uriType(action.uris[i])){case"artist":data.seed_artists.push(action.uris[i]);break;case"track":data.seed_tracks.push(action.uris[i]);break;case"genre":data.seed_genres.push(action.uris[i])}request(store,"change_radio",data).then(function(response){store.dispatch(uiActions.processFinished("PUSHER_RADIO_PROCESS")),0==response.status&&store.dispatch(uiActions.createNotification(response.message,"bad"))},function(error){store.dispatch(uiActions.processFinished("PUSHER_RADIO_PROCESS")),store.dispatch(coreActions.handleException("Could not change radio",error))});break;case"PUSHER_STOP_RADIO":store.dispatch(uiActions.createNotification("Stopping radio")),_reactGa2.default.event({category:"Pusher",action:"Stop radio"});var data={seed_artists:[],seed_genres:[],seed_tracks:[]};request(store,"stop_radio",data);break;case"PUSHER_RADIO_STARTED":case"PUSHER_RADIO_CHANGED":action.radio&&action.radio.enabled&&store.getState().spotify.enabled&&store.dispatch(spotifyActions.resolveRadioSeeds(action.radio)),next(action);break;case"PUSHER_BROWSER_NOTIFICATION":store.dispatch(uiActions.createBrowserNotification(action));break;case"PUSHER_RESTART":window.location.reload(!0);break;case"PUSHER_VERSION":_reactGa2.default.event({category:"Pusher",action:"Version",label:action.version.current}),action.version.upgrade_available&&store.dispatch(uiActions.createNotification("Version "+action.version.latest+" is available. See settings to upgrade.")),next(action);break;case"PUSHER_CONFIG":store.dispatch(spotifyActions.set({locale:action.config.locale?action.config.locale:null,country:action.config.country?action.config.country:null,authorization_url:action.config.spotify_authorization_url?action.config.spotify_authorization_url:null})),store.dispatch(lastfmActions.set({authorization_url:action.config.lastfm_authorization_url?action.config.lastfm_authorization_url:null})),next(action);break;case"PUSHER_DEBUG":request(store,action.message.method,action.message.data).then(function(response){store.dispatch({type:"DEBUG",response:response})},function(error){store.dispatch(coreActions.handleException("Could not debug",error,error.message))});break;case"PUSHER_ERROR":store.dispatch(uiActions.createNotification(action.message,"bad")),_reactGa2.default.event({category:"Pusher",action:"Error",label:action.message});break;default:return next(action)}}}}}();exports.default=PusherMiddleware},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(30),_reactGa2=_interopRequireDefault(_reactGa),_mopidy=__webpack_require__(318),_mopidy2=_interopRequireDefault(_mopidy),_reactRouter=__webpack_require__(6),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),mopidyActions=__webpack_require__(9),coreActions=__webpack_require__(22),uiActions=__webpack_require__(4),spotifyActions=__webpack_require__(8),pusherActions=__webpack_require__(23),lastfmActions=__webpack_require__(31),MopidyMiddleware=function(){var _this=this,socket=null,progress_interval=null,progress_interval_counter=0,handleMessage=function(ws,store,type,data){switch(store.getState().ui.log_mopidy,type){case"state:online":store.dispatch({type:"MOPIDY_CONNECTED"}),instruct(ws,store,"playback.getState"),instruct(ws,store,"playback.getVolume"),instruct(ws,store,"mixer.getMute"),instruct(ws,store,"tracklist.getConsume"),instruct(ws,store,"tracklist.getRandom"),instruct(ws,store,"tracklist.getRepeat"),instruct(ws,store,"tracklist.getTlTracks"),instruct(ws,store,"playback.getCurrentTlTrack"),instruct(ws,store,"playback.getTimePosition"),instruct(ws,store,"getUriSchemes"),progress_interval=setInterval(function(){"playing"==store.getState().mopidy.play_state&&(progress_interval_counter%10==0?store.dispatch(mopidyActions.getTimePosition()):store.dispatch(mopidyActions.setTimePosition(store.getState().mopidy.time_position+1e3)),progress_interval_counter++)},1e3);break;case"state:offline":store.dispatch({type:"MOPIDY_DISCONNECTED"}),clearInterval(progress_interval),progress_interval_counter=0;break;case"event:tracklistChanged":instruct(ws,store,"tracklist.getTlTracks");break;case"event:playbackStateChanged":instruct(ws,store,"playback.getState"),instruct(ws,store,"playback.getTimePosition");break;case"event:seeked":store.dispatch({type:"MOPIDY_TIMEPOSITION",data:data.time_position});break;case"event:trackPlaybackEnded":instruct(ws,store,"playback.getTimePosition");break;case"event:trackPlaybackStarted":instruct(ws,store,"playback.getCurrentTlTrack");break;case"event:volumeChanged":store.dispatch({type:"MOPIDY_VOLUME",data:data.volume});break;case"event:muteChanged":store.dispatch({type:"MOPIDY_MUTE",data:data.mute});break;case"event:optionsChanged":instruct(ws,store,"tracklist.getConsume"),instruct(ws,store,"tracklist.getRandom"),instruct(ws,store,"tracklist.getRepeat")}},instruct=function(ws,store,call){var value=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!store.getState().mopidy.connected)return!1;var callParts=call.split("."),model=callParts[0],method=callParts[1];return new Promise(function(resolve,reject){if(model in ws)if(method in ws[model])var mopidyObject=ws[model][method],property=method;else var mopidyObject=ws[model],property=model;else{var error={message:"Call to an invalid object. Check you are calling a valid Mopidy object.",call:call,value:value};store.dispatch(coreActions.handleException("Mopidy: "+error.message,error)),reject(error)}property=property.replace("get",""),property=property.replace("set","");var loader_key=helpers.generateGuid();store.dispatch(uiActions.startLoading(loader_key,"mopidy_"+property));var timeout=setTimeout(function(){store.dispatch(uiActions.stopLoading(loader_key)),reject({message:"Request timed out",call:call,value:value})},3e4);mopidyObject(value).then(function(response){clearTimeout(timeout),store.dispatch(uiActions.stopLoading(loader_key)),store.dispatch({type:"MOPIDY_"+property.toUpperCase(),call:call,data:response}),resolve(response)},function(error){clearTimeout(timeout),store.dispatch(uiActions.stopLoading(loader_key)),reject(error)})})};return function(store){return function(next){return function(action){switch(action.type){case"MOPIDY_CONNECT":null!=socket&&socket.close(),store.dispatch({type:"MOPIDY_CONNECTING"});var state=store.getState();socket=new _mopidy2.default({webSocketUrl:"ws"+(state.mopidy.ssl?"s":"")+"://"+state.mopidy.host+":"+state.mopidy.port+"/mopidy/ws/",callingConvention:"by-position-or-by-name"}),socket.on(function(type,data){return handleMessage(socket,store,type,data)});break;case"MOPIDY_CONNECTED":_reactGa2.default.event({category:"Mopidy",action:"Connected",label:window.location.hostname}),next(action);break;case"MOPIDY_DISCONNECT":null!=socket&&socket.close(),socket=null,store.dispatch({type:"MOPIDY_DISCONNECTED"});break;case"MOPIDY_INSTRUCT":instruct(socket,store,action.call,action.value);break;case"MOPIDY_DEBUG":instruct(socket,store,action.call,action.value).then(function(response){store.dispatch({type:"DEBUG",response:response})});break;case"MOPIDY_URISCHEMES":for(var uri_schemes=action.data,remove=["http","https","mms","rtmp","rtmps","rtsp","sc","yt"],i=0;i<remove.length;i++){var index=uri_schemes.indexOf(remove[i]);index>-1&&uri_schemes.splice(index,1)}for(var i=0;i<uri_schemes.length;i++)uri_schemes[i]=uri_schemes[i]+":";uri_schemes.includes("spotify:")&&(store.dispatch({type:"SPOTIFY_SET",data:{enabled:!0}}),store.dispatch(spotifyActions.connect())),void 0===store.getState().ui.search_uri_schemes&&store.dispatch(uiActions.set({search_uri_schemes:uri_schemes})),store.dispatch({type:"MOPIDY_URISCHEMES_FILTERED",data:uri_schemes});break;case"MOPIDY_NEXT":var data={type:"browser_notification",title:"Track skipped",body:store.getState().pusher.username+" skipped this track",icon:!!store.getState().core.current_track&&helpers.getTrackIcon(store.getState().core.current_track,store.getState().core)};store.dispatch(pusherActions.deliverBroadcast(data));break;case"MOPIDY_STOP":var data={type:"browser_notification",title:"Playback stopped",body:store.getState().pusher.username+" stopped playback",icon:!!store.getState().core.current_track&&helpers.getTrackIcon(store.getState().core.current_track,store.getState().core)};store.dispatch(pusherActions.deliverBroadcast(data));break;case"MOPIDY_PLAY_PLAYLIST":if(store.getState().ui.clear_tracklist_on_play&&store.dispatch(mopidyActions.clearTracklist()),store.getState().core.playlists.hasOwnProperty(action.uri)){if(!store.getState().core.playlists[action.uri].is_mopidy){store.dispatch(spotifyActions.getPlaylistTracksForPlaying(action.uri));break}}else if("spotify"==helpers.uriSource(action.uri)&&store.getState().spotify.enabled){store.dispatch(spotifyActions.getPlaylistTracksForPlaying(action.uri));break}instruct(socket,store,"playlists.lookup",{uri:action.uri}).then(function(response){if(void 0===response.tracks)store.dispatch(uiActions.createNotification("Failed to load playlist tracks","bad"));else{var tracks_uris=helpers.arrayOf("uri",response.tracks);store.dispatch(mopidyActions.playURIs(tracks_uris,action.uri))}},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Lookup failed"),error))});break;case"MOPIDY_ENQUEUE_URIS":if(!action.uris||action.uris.length<=0){_this.props.uiActions.createNotification("No URIs to enqueue","warning");break}for(var uris=Object.assign([],action.uris),batches=[];uris.length>0;)batches.push({uris:uris.splice(0,5),at_position:action.at_position,next:action.next,offset:action.offset+5*batches.length,from_uri:action.from_uri});action.batches=batches,next(action),store.dispatch(uiActions.startProcess("MOPIDY_ENQUEUE_URIS_PROCESSOR","Adding "+action.uris.length+" URI(s)",{batches:batches,remaining:action.uris.length,total:action.uris.length}));break;case"MOPIDY_ENQUEUE_URIS_PROCESSOR":var last_run=store.getState().ui.processes.MOPIDY_ENQUEUE_URIS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_ENQUEUE_URIS_PROCESSOR"));if(!(action.data.batches&&action.data.batches.length>0)){store.dispatch(uiActions.processFinished("MOPIDY_ENQUEUE_URIS_PROCESSOR"));break}for(var batches=Object.assign([],action.data.batches),batch=batches[0],total_uris=0,i=0;i<batches.length;i++)total_uris+=batches[i].uris.length;batches.shift(),store.dispatch(uiActions.updateProcess("MOPIDY_ENQUEUE_URIS_PROCESSOR","Adding "+total_uris+" URI(s)",{remaining:total_uris}));var current_track=store.getState().core.current_track,queue=store.getState().core.queue,current_track_index=-1;if(void 0!==current_track)for(var i=0;i<queue.length;i++)if(queue[i].tlid==current_track.tlid){current_track_index=i;break}var params={uris:batch.uris};batch.next?params.at_position=current_track_index>-1?current_track_index+batch.offset+1:0+batch.offset:batch.at_position&&(params.at_position=batch.at_position+batch.offset),instruct(socket,store,"tracklist.add",params).then(function(response){for(var tlids=[],i=0;i<response.length;i++)tlids.push(response[i].tlid);store.dispatch(pusherActions.addQueueMetadata(tlids,batch.from_uri)),setTimeout(function(){store.dispatch(uiActions.runProcess(action.type,{batches:batches}))},100)},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Adding tracks failed"),error))});break;case"MOPIDY_PLAY_URIS":if(!action.uris||action.uris.length<=0){_this.props.uiActions.createNotification("No URIs to play","warning");break}store.getState().core.radio&&store.getState().core.radio.enabled&&store.dispatch(pusherActions.stopRadio()),store.getState().ui.clear_tracklist_on_play&&store.dispatch(mopidyActions.clearTracklist());var first_uri=action.uris[0];instruct(socket,store,"tracklist.add",{uri:first_uri,at_position:0}).then(function(response){if(response.length>0){store.dispatch(mopidyActions.changeTrack(response[0].tlid));for(var tlids=[],i=0;i<response.length;i++)tlids.push(response[i].tlid);store.dispatch(pusherActions.addQueueMetadata(tlids,action.from_uri))}else store.dispatch(coreActions.handleException("Mopidy: Failed to add some tracks",response));action.uris.shift(),action.uris.length>0&&setTimeout(function(){store.dispatch(mopidyActions.enqueueURIs(action.uris,action.from_uri,null,1))},100)},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Adding tracks failed"),error))});break;case"MOPIDY_REORDER_TRACKLIST":instruct(socket,store,"tracklist.move",{start:action.range_start,end:action.range_start+action.range_length,to_position:action.insert_before}).then(function(response){},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Reorder failed"),error))});break;case"MOPIDY_GET_SEARCH_RESULTS":store.dispatch({type:"MOPIDY_CLEAR_SEARCH_RESULTS"});for(var uri_schemes_to_ignore=["spotify:"],uri_schemes=Object.assign([],store.getState().ui.search_uri_schemes),i=0;i<uri_schemes.length;i++)uri_schemes_to_ignore.includes(uri_schemes[i])&&uri_schemes.splice(i,1);var uri_schemes_total=uri_schemes.length,uri_scheme=uri_schemes.shift();uri_schemes_total<=0?store.dispatch(uiActions.createNotification("No sources selected","warning")):store.dispatch(uiActions.startProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+uri_schemes_total+" Mopidy providers",{context:action.context,query:action.query,limit:action.limit,total:uri_schemes_total,remaining:uri_schemes.length,uri_scheme:uri_scheme,uri_schemes:uri_schemes}));break;case"MOPIDY_GET_SEARCH_RESULTS_PROCESSOR":var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));if(!action.data.uri_scheme)return void store.dispatch(uiActions.processFinished("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));var next_uri_schemes=Object.assign([],action.data.uri_schemes),next_uri_scheme=next_uri_schemes.shift();switch(store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":",""),{remaining:action.data.uri_schemes.length})),action.data.context){case"albums":store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")));var continue_process=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes}))};instruct(socket,store,"library.search",{query:{album:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var albums=[];if(response[0].albums&&(albums=[].concat(_toConsumableArray(response[0].albums),_toConsumableArray(albums))),response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)void 0!==response[0].tracks[i].album&&void 0!==response[0].tracks[i].album.uri&&albums.push(response[0].tracks[i].album);var albums_uris=helpers.arrayOf("uri",albums);albums_uris=helpers.removeDuplicates(albums_uris),store.dispatch({type:"ALBUMS_LOADED",albums:albums}),store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:albums_uris})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"artists":store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")));var continue_process=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes}))};instruct(socket,store,"library.search",{query:{artist:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var artists_uris=[];if(response[0].artists)for(var i=0;i<response[0].artists.length;i++)artists_uris.push(response[0].artists.uri);if(response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)if(response[0].tracks[i].artists)for(var j=0;j<response[0].tracks[i].artists.length;j++){var artist=response[0].tracks[i].artists[j];artist.uri&&artists_uris.push(artist.uri)}artists_uris=helpers.removeDuplicates(artists_uris);for(var i=0;i<artists_uris.length;i++)store.dispatch(mopidyActions.getArtist(artists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:artists_uris})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"playlists":store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching playlists"));var continue_process=function(){store.dispatch(uiActions.processFinished("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"))};instruct(socket,store,"playlists.asList").then(function(response){if(response.length>0){for(var playlists_uris=[],i=0;i<response.length;i++){var playlist=response[i];playlist.name.includes(action.data.query)&&action.data.uri_schemes.includes(helpers.uriSource(playlist.uri)+":")&&playlists_uris.push(playlist.uri)}for(var i=0;i<playlists_uris.length;i++)store.dispatch(mopidyActions.getPlaylist(playlists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:playlists_uris})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"tracks":store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")));var continue_process=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes}))};instruct(socket,store,"library.search",{query:{any:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0&&void 0!==response[0].tracks){var tracks=response[0].tracks;store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:helpers.formatTracks(tracks)})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"all":default:store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" tracks",{remaining:action.data.uri_schemes.length+1})),instruct(socket,store,"library.search",{query:{any:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0&&void 0!==response[0].tracks){var tracks=response[0].tracks;store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"tracks",results:helpers.formatTracks(tracks)})}process_albums()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),process_albums()});var process_albums=function(){store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" albums",{remaining:action.data.uri_schemes.length+.75})),instruct(socket,store,"library.search",{query:{album:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var albums=[];if(response[0].albums&&(albums=[].concat(_toConsumableArray(response[0].albums),_toConsumableArray(albums))),response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)void 0!==response[0].tracks[i].album&&void 0!==response[0].tracks[i].album.uri&&albums.push(response[0].tracks[i].album);var albums_uris=helpers.arrayOf("uri",albums);albums_uris=helpers.removeDuplicates(albums_uris),store.dispatch({type:"ALBUMS_LOADED",albums:albums}),store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"albums",results:albums_uris})}process_artists()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),process_artists()})},process_artists=function(){store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" artists",{remaining:action.data.uri_schemes.length+.5})),instruct(socket,store,"library.search",{query:{artist:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var artists_uris=[];if(response[0].artists)for(var i=0;i<response[0].artists.length;i++)artists_uris.push(response[0].artists.uri);if(response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)if(response[0].tracks[i].artists)for(var j=0;j<response[0].tracks[i].artists.length;j++){var artist=response[0].tracks[i].artists[j];artist.uri&&artists_uris.push(artist.uri)}artists_uris=helpers.removeDuplicates(artists_uris);for(var i=0;i<artists_uris.length;i++)store.dispatch(mopidyActions.getArtist(artists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"artists",results:artists_uris})}process_playlists()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),process_playlists()})},finished=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes,remaining:action.data.uri_schemes.length}))},process_playlists=function(){"m3u:"==action.data.uri_scheme?(store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" playlists",{remaining:action.data.uri_schemes.length+.25})),instruct(socket,store,"playlists.asList").then(function(response){if(response.length>0){for(var playlists_uris=[],i=0;i<response.length;i++){var playlist=response[i];playlist.name.includes(action.data.query)&&action.data.uri_schemes.includes(helpers.uriSource(playlist.uri)+":")&&playlists_uris.push(playlist.uri)}playlists_uris=playlists_uris;for(var i=0;i<playlists_uris.length;i++)store.dispatch(mopidyActions.getPlaylist(playlists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"playlists",results:playlists_uris})}finished()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),finished()})):finished()}}break;case"MOPIDY_GET_LIBRARY_PLAYLISTS":instruct(socket,store,"playlists.asList").then(function(response){for(var playlist_uris=helpers.arrayOf("uri",response),playlist_uris_filtered=[],i=0;i<playlist_uris.length;i++)"spotify"!=helpers.uriSource(playlist_uris[i])&&playlist_uris_filtered.push(playlist_uris[i]);store.dispatch({type:"MOPIDY_LIBRARY_PLAYLISTS_LOADED",uris:playlist_uris_filtered}),store.dispatch({type:"MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL"});for(var i=0;i<playlist_uris_filtered.length;i++)instruct(socket,store,"playlists.lookup",{uri:playlist_uris_filtered[i]}).then(function(response){var source=helpers.uriSource(response.uri),playlist=Object.assign({},{type:"playlist",name:response.name,uri:response.uri,source:source,is_mopidy:!0,last_modified:response.last_modified,tracks_total:response.tracks?response.tracks.length:0});store.dispatch({type:"PLAYLIST_LOADED",key:playlist.uri,playlist:playlist})})});break;case"MOPIDY_GET_PLAYLIST":instruct(socket,store,"playlists.lookup",action.data).then(function(response){var playlist=Object.assign({},response,{uri:response.uri,type:"playlist",is_mopidy:!0,tracks:response.tracks?response.tracks:[],tracks_total:response.tracks?response.tracks.length:[]});playlist.tracks.length>0&&store.dispatch({type:"MOPIDY_RESOLVE_PLAYLIST_TRACKS",tracks:playlist.tracks,key:playlist.uri}),store.dispatch({type:"PLAYLIST_LOADED",key:playlist.uri,playlist:playlist})});break;case"MOPIDY_RESOLVE_PLAYLIST_TRACKS":var tracks=Object.assign([],action.tracks),uris=helpers.arrayOf("uri",tracks);instruct(socket,store,"library.lookup",{uris:uris}).then(function(response){for(var uri in response)if(response.hasOwnProperty(uri)){var track=response[uri][0];if(track)for(var getByURI=function(trackReference){return track.uri==trackReference.uri},trackReferences=tracks.filter(getByURI),j=0;j<trackReferences.length;j++){var key=tracks.indexOf(trackReferences[j]);tracks[key]=track}}store.dispatch({type:"PLAYLIST_TRACKS",tracks:tracks,key:action.key})});break;case"MOPIDY_ADD_PLAYLIST_TRACKS":instruct(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){for(var tracks=[],i=0;i<action.tracks_uris.length;i++)tracks.push({__model__:"Track",uri:action.tracks_uris[i]});var playlist=Object.assign({},response);playlist.tracks?playlist.tracks=[].concat(_toConsumableArray(playlist.tracks),tracks):playlist.tracks=tracks,instruct(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch({type:"PLAYLIST_TRACKS_ADDED",key:action.key,tracks_uris:action.tracks_uris})})});break;case"MOPIDY_REMOVE_PLAYLIST_TRACKS":var descending=function(a,b){return b-a},indexes=Object.assign([],action.tracks_indexes);indexes.sort(descending),instruct(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){for(var playlist=Object.assign({},response),i=0;i<indexes.length;i++)playlist.tracks.splice(indexes[i],1);instruct(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch({type:"PLAYLIST_TRACKS_REMOVED",key:action.key,tracks_indexes:action.tracks_indexes})})});break;case"MOPIDY_SAVE_PLAYLIST":action.key;instruct(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){var playlist=Object.assign({},response,{name:action.name});instruct(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch({type:"PLAYLIST_UPDATED",key:action.key,playlist:playlist}),action.key!=response.key&&(store.dispatch({type:"PLAYLIST_KEY_UPDATED",key:action.key,new_key:response.uri}),_reactRouter.hashHistory.push(global.baseURL+"playlist/"+encodeURIComponent(response.uri))),store.dispatch(uiActions.createNotification("Saved"))})});break;case"MOPIDY_REORDER_PLAYLIST_TRACKS":instruct(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){var playlist=Object.assign({},response),tracks=Object.assign([],playlist.tracks),tracks_to_move=[],range_start=action.range_start,range_length=action.range_length,insert_before=action.insert_before;insert_before>range_start&&(insert_before-=range_length);for(var i=0;i<range_length;i++)tracks_to_move.unshift(tracks[range_start+i]);tracks.splice(range_start,range_length);for(var i=0;i<tracks_to_move.length;i++)tracks.splice(insert_before,0,tracks_to_move[i]);playlist=Object.assign({},playlist,{tracks:tracks}),instruct(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch({type:"MOPIDY_RESOLVE_PLAYLIST_TRACKS",tracks:playlist.tracks,key:playlist.uri})})});break;case"MOPIDY_CREATE_PLAYLIST":instruct(socket,store,"playlists.create",{name:action.name,uri_scheme:action.scheme}).then(function(response){store.dispatch(uiActions.createNotification("Created playlist")),store.dispatch({type:"PLAYLIST_LOADED",key:action.uri,playlist:response}),store.dispatch({type:"MOPIDY_LIBRARY_PLAYLIST_CREATED",key:action.uri,playlist:response})});break;case"MOPIDY_DELETE_PLAYLIST":instruct(socket,store,"playlists.delete",{uri:action.uri}).then(function(response){store.dispatch(uiActions.createNotification("Deleted playlist")),store.dispatch({type:"MOPIDY_LIBRARY_PLAYLIST_DELETED",key:action.uri})});break;case"MOPIDY_GET_LIBRARY_ALBUMS":var last_run=store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR;last_run?"cancelled"==last_run.status?store.dispatch(uiActions.resumeProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR")):last_run.status:instruct(socket,store,"library.browse",{uri:"local:directory?type=album"}).then(function(response){if(!(response.length<=0)){var uris=helpers.arrayOf("uri",response);store.dispatch({type:"MOPIDY_LIBRARY_ALBUMS_LOADED",uris:uris}),store.dispatch(uiActions.startProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR","Loading "+uris.length+" local albums",{uris:uris,total:uris.length,remaining:uris.length}))}});break;case"MOPIDY_LIBRARY_ALBUMS_PROCESSOR":if(void 0!==store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR){if("cancelling"==store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR.status)return store.dispatch(uiActions.processCancelled("MOPIDY_LIBRARY_ALBUMS_PROCESSOR")),!1}var uris=Object.assign([],action.data.uris),uris_to_load=uris.splice(0,50);uris_to_load.length>0?(store.dispatch(uiActions.updateProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR","Loading "+uris.length+" local albums",{uris:uris,remaining:uris.length})),store.dispatch(mopidyActions.getAlbums(uris_to_load,{name:"MOPIDY_LIBRARY_ALBUMS_PROCESSOR",data:{uris:uris}}))):store.dispatch(uiActions.processFinished("MOPIDY_LIBRARY_ALBUMS_PROCESSOR"));break;case"MOPIDY_GET_ALBUMS":instruct(socket,store,"library.lookup",{uris:action.uris}).then(function(response){if(!(response.length<=0)){var albums=[];for(var uri in response)if(response.hasOwnProperty(uri)&&response[uri].length>0&&response[uri][0]&&response[uri][0].album){var album=Object.assign({},{source:"local",artists:response[uri][0].artists,tracks:response[uri],tracks_total:response[uri].length},response[uri][0].album);albums.push(album)}store.dispatch({type:"ALBUMS_LOADED",albums:albums}),action.processor&&setTimeout(function(){store.dispatch(uiActions.runProcess(action.processor.name,action.processor.data))},100)}});break;case"MOPIDY_GET_ALBUM":instruct(socket,store,"library.lookup",action.data).then(function(response){if(!(response.length<=0)){for(var album=Object.assign({},{images:[]},response[0].album,{source:"local",artists:response[0].artists,tracks:response,tracks_total:response.length}),uris=[],i=0;i<album.tracks.length;i++)uris.push(album.tracks[i].uri);if(album.images.length<=0){var mbid=helpers.getFromUri("mbid",album.uri);mbid?store.dispatch(lastfmActions.getAlbum(!1,!1,mbid)):store.dispatch(lastfmActions.getAlbum(album.artists[0].name,album.name))}instruct(socket,store,"library.lookup",{uris:uris}).then(function(response){for(var uri in response)if(response.hasOwnProperty(uri))for(var getByURI=function(trackReference){return track.uri==trackReference.uri},track=response[uri][0],trackReferences=album.tracks.filter(getByURI),j=0;j<trackReferences.length;j++){var key=album.tracks.indexOf(trackReferences[j]);album.tracks[key]=track}store.dispatch({type:"ALBUM_LOADED",key:album.uri,album:album})})}});break;case"MOPIDY_GET_LIBRARY_ARTISTS":instruct(socket,store,"library.browse",{uri:"local:directory?type=artist"}).then(function(response){if(!(response.length<=0)){var uris=helpers.arrayOf("uri",response);store.dispatch({type:"ARTISTS_LOADED",artists:response}),store.dispatch({type:"MOPIDY_LIBRARY_ARTISTS_LOADED",uris:uris})}});break;case"MOPIDY_GET_ARTIST":instruct(socket,store,"library.lookup",action.data).then(function(response){if(!(response.length<=0)){for(var albums=[],i=0;i<response.length;i++){var album=Object.assign({},response[i].album,{uri:response[i].album.uri});if(album){var getByURI=function(albumToCheck){return album.uri==albumToCheck.uri};albums.find(getByURI)||albums.push(album)}}albums&&store.dispatch({type:"ALBUMS_LOADED",albums:albums});var artist=Object.assign({},response?response[0].artists[0]:{},{is_mopidy:!0,albums_uris:helpers.arrayOf("uri",albums),tracks:response.slice(0,10)});store.dispatch({type:"ARTIST_LOADED",key:artist.uri,artist:artist}),(!artist.images||artist.images.length<=0)&&(artist.musicbrainz_id?store.dispatch(lastfmActions.getArtist(artist.uri,!1,artist.musicbrainz_id)):store.dispatch(lastfmActions.getArtist(artist.uri,artist.name.replace("&","and"))))}});break;case"MOPIDY_GET_ARTISTS":instruct(socket,store,"library.lookup",{uris:action.uris}).then(function(response){if(!(response.length<=0)){var artists=[];for(var uri in response)if(response.hasOwnProperty(uri)&&response[uri].length>0&&response[uri][0].artists){var artist=Object.assign({},response?response[uri][0].artists[0]:{},{is_mopidy:!0});artists.push(artist)}store.dispatch({type:"ARTISTS_LOADED",artists:artists}),action.processor&&setTimeout(function(){store.dispatch(uiActions.runProcess(action.processor.name,action.processor.data))},100)}});break;case"MOPIDY_TLTRACKS":store.dispatch({type:"QUEUE_LOADED",tracks:helpers.formatTracks(action.data)});break;case"MOPIDY_CURRENTTLTRACK":if(action.data&&action.data.track){var track=helpers.formatTracks(action.data);"spotify"==helpers.uriSource(track.uri)&&store.getState().spotify.enabled?store.dispatch(spotifyActions.getTrack(track.uri)):store.dispatch(mopidyActions.getImages("tracks",[track.uri])),helpers.setWindowTitle(track,store.getState().mopidy.play_state),store.dispatch({type:"CURRENT_TRACK_LOADED",current_track:track})}break;case"MOPIDY_GET_TRACK":instruct(socket,store,"library.lookup",action.data).then(function(response){if(response.length>0){var track=Object.assign({},response[0]);store.dispatch({type:"TRACKS_LOADED",tracks:[track]})}},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Could not get track"),error))});break;case"MOPIDY_GET_IMAGES":instruct(socket,store,"library.getImages",{uris:action.uris}).then(function(response){var records=[];for(var uri in response)if(response.hasOwnProperty(uri)){var images=response[uri];images=helpers.digestMopidyImages(store.getState().mopidy,images),images&&images.length>0&&records.push({uri:uri,images:images})}var action_data={type:(action.context+"_LOADED").toUpperCase()};action_data[action.context]=records,store.dispatch(action_data)}),next(action);break;case"MOPIDY_GET_DIRECTORY":store.dispatch({type:"MOPIDY_DIRECTORY_LOADED",data:!1}),instruct(socket,store,"library.browse",action.data).then(function(response){store.dispatch({type:"MOPIDY_DIRECTORY_LOADED",data:response})});break;case"MOPIDY_DIRECTORY":action.data&&_reactGa2.default.event({category:"Directory",action:"Load",label:action.data.uri}),next(action);break;default:return next(action)}}}}}();exports.default=MopidyMiddleware}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){function Mopidy(settings){if(!(this instanceof Mopidy))return new Mopidy(settings);this._console=this._getConsole(settings||{}),this._settings=this._configure(settings||{}),this._backoffDelay=this._settings.backoffDelayMin,this._pendingRequests={},this._webSocket=null,bane.createEventEmitter(this),this._delegateEvents(),this._settings.autoConnect&&this.connect()}var bane=__webpack_require__(319),websocket=__webpack_require__(321),when=__webpack_require__(322);Mopidy.ConnectionError=function(message){this.name="ConnectionError",this.message=message},Mopidy.ConnectionError.prototype=Object.create(Error.prototype),Mopidy.ConnectionError.prototype.constructor=Mopidy.ConnectionError,Mopidy.ServerError=function(message){this.name="ServerError",this.message=message},Mopidy.ServerError.prototype=Object.create(Error.prototype),Mopidy.ServerError.prototype.constructor=Mopidy.ServerError,Mopidy.WebSocket=websocket.Client,Mopidy.when=when,Mopidy.prototype._getConsole=function(settings){if(void 0!==settings.console)return settings.console;var con="undefined"!=typeof console&&console||{};return con.log=con.log||function(){},con.warn=con.warn||function(){},con.error=con.error||function(){},con},Mopidy.prototype._configure=function(settings){var protocol="undefined"!=typeof document&&"https:"===document.location.protocol?"wss://":"ws://",currentHost="undefined"!=typeof document&&document.location.host||"localhost";return settings.webSocketUrl=settings.webSocketUrl||protocol+currentHost+"/mopidy/ws",!1!==settings.autoConnect&&(settings.autoConnect=!0),settings.backoffDelayMin=settings.backoffDelayMin||1e3,settings.backoffDelayMax=settings.backoffDelayMax||64e3,void 0===settings.callingConvention&&this._console.warn("Mopidy.js is using the default calling convention. The default will change in the future. You should explicitly specify which calling convention you use."),settings.callingConvention=settings.callingConvention||"by-position-only",settings},Mopidy.prototype._delegateEvents=function(){this.off("websocket:close"),this.off("websocket:error"),this.off("websocket:incomingMessage"),this.off("websocket:open"),this.off("state:offline"),this.on("websocket:close",this._cleanup),this.on("websocket:error",this._handleWebSocketError),this.on("websocket:incomingMessage",this._handleMessage),this.on("websocket:open",this._resetBackoffDelay),this.on("websocket:open",this._getApiSpec),this.on("state:offline",this._reconnect)},Mopidy.prototype.connect=function(){if(this._webSocket){if(this._webSocket.readyState===Mopidy.WebSocket.OPEN)return;this._webSocket.close()}this._webSocket=this._settings.webSocket||new Mopidy.WebSocket(this._settings.webSocketUrl),this._webSocket.onclose=function(close){this.emit("websocket:close",close)}.bind(this),this._webSocket.onerror=function(error){this.emit("websocket:error",error)}.bind(this),this._webSocket.onopen=function(){this.emit("websocket:open")}.bind(this),this._webSocket.onmessage=function(message){this.emit("websocket:incomingMessage",message)}.bind(this)},Mopidy.prototype._cleanup=function(closeEvent){Object.keys(this._pendingRequests).forEach(function(requestId){var resolver=this._pendingRequests[requestId];delete this._pendingRequests[requestId];var error=new Mopidy.ConnectionError("WebSocket closed");error.closeEvent=closeEvent,resolver.reject(error)}.bind(this)),this.emit("state:offline")},Mopidy.prototype._reconnect=function(){this.emit("reconnectionPending",{timeToAttempt:this._backoffDelay}),setTimeout(function(){this.emit("reconnecting"),this.connect()}.bind(this),this._backoffDelay),this._backoffDelay=2*this._backoffDelay,this._backoffDelay>this._settings.backoffDelayMax&&(this._backoffDelay=this._settings.backoffDelayMax)},Mopidy.prototype._resetBackoffDelay=function(){this._backoffDelay=this._settings.backoffDelayMin},Mopidy.prototype.close=function(){this.off("state:offline",this._reconnect),this._webSocket.close()},Mopidy.prototype._handleWebSocketError=function(error){this._console.warn("WebSocket error:",error.stack||error)},Mopidy.prototype._send=function(message){switch(this._webSocket.readyState){case Mopidy.WebSocket.CONNECTING:return when.reject(new Mopidy.ConnectionError("WebSocket is still connecting"));case Mopidy.WebSocket.CLOSING:return when.reject(new Mopidy.ConnectionError("WebSocket is closing"));case Mopidy.WebSocket.CLOSED:return when.reject(new Mopidy.ConnectionError("WebSocket is closed"));default:var deferred=when.defer();return message.jsonrpc="2.0",message.id=this._nextRequestId(),this._pendingRequests[message.id]=deferred.resolver,this._webSocket.send(JSON.stringify(message)),this.emit("websocket:outgoingMessage",message),deferred.promise}},Mopidy.prototype._nextRequestId=function(){var lastUsed=-1;return function(){return lastUsed+=1}}(),Mopidy.prototype._handleMessage=function(message){try{var data=JSON.parse(message.data);data.hasOwnProperty("id")?this._handleResponse(data):data.hasOwnProperty("event")?this._handleEvent(data):this._console.warn("Unknown message type received. Message was: "+message.data)}catch(error){if(!(error instanceof SyntaxError))throw error;this._console.warn("WebSocket message parsing failed. Message was: "+message.data)}},Mopidy.prototype._handleResponse=function(responseMessage){if(!this._pendingRequests.hasOwnProperty(responseMessage.id))return void this._console.warn("Unexpected response received. Message was:",responseMessage);var error,resolver=this._pendingRequests[responseMessage.id];delete this._pendingRequests[responseMessage.id],responseMessage.hasOwnProperty("result")?resolver.resolve(responseMessage.result):responseMessage.hasOwnProperty("error")?(error=new Mopidy.ServerError(responseMessage.error.message),error.code=responseMessage.error.code,error.data=responseMessage.error.data,resolver.reject(error),this._console.warn("Server returned error:",responseMessage.error)):(error=new Error("Response without 'result' or 'error' received"),error.data={response:responseMessage},resolver.reject(error),this._console.warn("Response without 'result' or 'error' received. Message was:",responseMessage))},Mopidy.prototype._handleEvent=function(eventMessage){var type=eventMessage.event,data=eventMessage;delete data.event,this.emit("event:"+this._snakeToCamel(type),data)},Mopidy.prototype._getApiSpec=function(){return this._send({method:"core.describe"}).then(this._createApi.bind(this)).catch(this._handleWebSocketError)},Mopidy.prototype._createApi=function(methods){var byPositionOrByName="by-position-or-by-name"===this._settings.callingConvention,caller=function(method){return function(){var message={method:method};return 0===arguments.length?this._send(message):byPositionOrByName?arguments.length>1?when.reject(new Error("Expected zero arguments, a single array, or a single object.")):Array.isArray(arguments[0])||arguments[0]===Object(arguments[0])?(message.params=arguments[0],this._send(message)):when.reject(new TypeError("Expected an array or an object.")):(message.params=Array.prototype.slice.call(arguments),this._send(message))}.bind(this)}.bind(this),getPath=function(fullName){var path=fullName.split(".");return path.length>=1&&"core"===path[0]&&(path=path.slice(1)),path},createObjects=function(objPath){var parentObj=this;return objPath.forEach(function(objName){objName=this._snakeToCamel(objName),parentObj[objName]=parentObj[objName]||{},parentObj=parentObj[objName]}.bind(this)),parentObj}.bind(this),createMethod=function(fullMethodName){var methodPath=getPath(fullMethodName),methodName=this._snakeToCamel(methodPath.slice(-1)[0]),object=createObjects(methodPath.slice(0,-1));object[methodName]=caller(fullMethodName),object[methodName].description=methods[fullMethodName].description,object[methodName].params=methods[fullMethodName].params}.bind(this);Object.keys(methods).forEach(createMethod),this.emit("state:online")},Mopidy.prototype._snakeToCamel=function(name){return name.replace(/(_[a-z])/g,function(match){return match.toUpperCase().replace("_","")})},module.exports=Mopidy},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__;(__webpack_require__(320)&&function(m){__WEBPACK_AMD_DEFINE_FACTORY__=m,void 0!==(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof __WEBPACK_AMD_DEFINE_FACTORY__?__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,__webpack_require__,exports,module):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}||"object"==typeof module&&function(m){module.exports=m()}||function(m){this.bane=m()})(function(){"use strict";function handleError(event,error,errbacks){var i,l=errbacks.length;if(l>0)for(i=0;i<l;++i)errbacks[i](event,error);else setTimeout(function(){throw error.message=event+" listener threw error: "+error.message,error},0)}function assertFunction(fn){if("function"!=typeof fn)throw new TypeError("Listener is not function");return fn}function supervisors(object){return object.supervisors||(object.supervisors=[]),object.supervisors}function listeners(object,event){return object.listeners||(object.listeners={}),event&&!object.listeners[event]&&(object.listeners[event]=[]),event?object.listeners[event]:object.listeners}function errbacks(object){return object.errbacks||(object.errbacks=[]),object.errbacks}function createEventEmitter(object){function notifyListener(event,listener,args){try{listener.listener.apply(listener.thisp||object,args)}catch(e){handleError(event,e,errbacks(object))}}return object=object||{},object.on=function(event,listener,thisp){if("function"==typeof event)return supervisors(this).push({listener:event,thisp:listener});listeners(this,event).push({listener:assertFunction(listener),thisp:thisp})},object.off=function(event,listener){var fns,events,i,l;if(!event){fns=supervisors(this),fns.splice(0,fns.length),events=listeners(this);for(i in events)events.hasOwnProperty(i)&&(fns=listeners(this,i),fns.splice(0,fns.length));return fns=errbacks(this),void fns.splice(0,fns.length)}if("function"==typeof event?(fns=supervisors(this),listener=event):fns=listeners(this,event),!listener)return void fns.splice(0,fns.length);for(i=0,l=fns.length;i<l;++i)if(fns[i].listener===listener)return void fns.splice(i,1)},object.once=function(event,listener,thisp){var wrapper=function(){object.off(event,wrapper),listener.apply(this,arguments)};object.on(event,wrapper,thisp)},object.bind=function(object,events){var prop,i,l;if(events)for(i=0,l=events.length;i<l;++i){if("function"!=typeof object[events[i]])throw new Error("No such method "+events[i]);this.on(events[i],object[events[i]],object)}else for(prop in object)"function"==typeof object[prop]&&this.on(prop,object[prop],object);return object},object.emit=function(event){var i,l,toNotify=supervisors(this),args=slice.call(arguments);for(i=0,l=toNotify.length;i<l;++i)notifyListener(event,toNotify[i],args);for(toNotify=listeners(this,event).slice(),args=slice.call(arguments,1),i=0,l=toNotify.length;i<l;++i)notifyListener(event,toNotify[i],args)},object.errback=function(listener){this.errbacks||(this.errbacks=[]),this.errbacks.push(assertFunction(listener))},object}var slice=Array.prototype.slice;return{createEventEmitter:createEventEmitter,aggregate:function(emitters){var aggregate=createEventEmitter();return emitters.forEach(function(emitter){emitter.on(function(event,data){aggregate.emit(event,data)})}),aggregate}}})},function(module,exports){(function(__webpack_amd_options__){module.exports=__webpack_amd_options__}).call(exports,{})},function(module,exports){module.exports={Client:window.WebSocket}},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){function when(x,onFulfilled,onRejected,onProgress){var p=Promise.resolve(x);return arguments.length<2?p:p.then(onFulfilled,onRejected,onProgress)}function promise(resolver){return new Promise(resolver)}function lift(f){return function(){for(var i=0,l=arguments.length,a=new Array(l);i<l;++i)a[i]=arguments[i];return apply(f,this,a)}}function attempt(f){for(var i=0,l=arguments.length-1,a=new Array(l);i<l;++i)a[i]=arguments[i+1];return apply(f,this,a)}function defer(){return new Deferred}function Deferred(){function resolve(x){p._handler.resolve(x)}function reject(x){p._handler.reject(x)}function notify(x){p._handler.notify(x)}var p=Promise._defer();this.promise=p,this.resolve=resolve,this.reject=reject,this.notify=notify,this.resolver={resolve:resolve,reject:reject,notify:notify}}function isPromiseLike(x){return x&&"function"==typeof x.then}function join(){return Promise.all(arguments)}function all(promises){return when(promises,Promise.all)}function settle(promises){return when(promises,Promise.settle)}function map(promises,mapFunc){return when(promises,function(promises){return Promise.map(promises,mapFunc)})}function filter(promises,predicate){return when(promises,function(promises){return Promise.filter(promises,predicate)})}var timed=__webpack_require__(323),array=__webpack_require__(325),flow=__webpack_require__(326),fold=__webpack_require__(327),inspect=__webpack_require__(328),generate=__webpack_require__(329),progress=__webpack_require__(330),withThis=__webpack_require__(331),unhandledRejection=__webpack_require__(332),TimeoutError=__webpack_require__(156),Promise=[array,flow,fold,generate,progress,inspect,withThis,timed,unhandledRejection].reduce(function(Promise,feature){return feature(Promise)},__webpack_require__(334)),apply=__webpack_require__(158)(Promise);return when.promise=promise,when.resolve=Promise.resolve,when.reject=Promise.reject,when.lift=lift,when.try=attempt,when.attempt=attempt,when.iterate=Promise.iterate,when.unfold=Promise.unfold,when.join=join,when.all=all,when.settle=settle,when.any=lift(Promise.any),when.some=lift(Promise.some),when.race=lift(Promise.race),when.map=map,when.filter=filter,when.reduce=lift(Promise.reduce),when.reduceRight=lift(Promise.reduceRight),when.isPromiseLike=isPromiseLike,when.Promise=Promise,when.defer=defer,when.TimeoutError=TimeoutError,when}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){function setTimeout(f,ms,x,y){return env.setTimer(function(){f(x,y,ms)},ms)}var env=__webpack_require__(102),TimeoutError=__webpack_require__(156);return function(Promise){function handleDelay(ms,x,h){setTimeout(resolveDelay,ms,x,h)}function resolveDelay(x,h){h.resolve(x)}function onTimeout(reason,h,ms){var e=void 0===reason?new TimeoutError("timed out after "+ms+"ms"):reason;h.reject(e)}return Promise.prototype.delay=function(ms){var p=this._beget();return this._handler.fold(handleDelay,ms,void 0,p._handler),p},Promise.prototype.timeout=function(ms,reason){var p=this._beget(),h=p._handler,t=setTimeout(onTimeout,ms,reason,p._handler);return this._handler.visit(h,function(x){env.clearTimer(t),this.resolve(x)},function(x){env.clearTimer(t),this.reject(x)},h.notify),p},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports){},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){var state=__webpack_require__(157),applier=__webpack_require__(158);return function(Promise){function any(promises){function handleFulfill(x){errors=null,this.resolve(x)}function handleReject(e){this.resolved||(errors.push(e),0==--pending&&this.reject(errors))}for(var h,x,p=Promise._defer(),resolver=p._handler,l=promises.length>>>0,pending=l,errors=[],i=0;i<l;++i)if(void 0!==(x=promises[i])||i in promises){if(h=Promise._handler(x),h.state()>0){resolver.become(h),Promise._visitRemaining(promises,i,h);break}h.visit(resolver,handleFulfill,handleReject)}else--pending;return 0===pending&&resolver.reject(new RangeError("any(): array must not be empty")),p}function some(promises,n){function fulfill(x){this.resolved||(results.push(x),0==--nFulfill&&(errors=null,this.resolve(results)))}function reject(e){this.resolved||(errors.push(e),0==--nReject&&(results=null,this.reject(errors)))}var nReject,x,i,p=Promise._defer(),resolver=p._handler,results=[],errors=[],l=promises.length>>>0,nFulfill=0;for(i=0;i<l;++i)(void 0!==(x=promises[i])||i in promises)&&++nFulfill;for(n=Math.max(n,0),nReject=nFulfill-n+1,nFulfill=Math.min(n,nFulfill),n>nFulfill?resolver.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+nFulfill)):0===nFulfill&&resolver.resolve(results),i=0;i<l;++i)(void 0!==(x=promises[i])||i in promises)&&Promise._handler(x).visit(resolver,fulfill,reject,resolver.notify);return p}function map(promises,f){return Promise._traverse(f,promises)}function filter(promises,predicate){var a=slice.call(promises);return Promise._traverse(predicate,a).then(function(keep){return filterSync(a,keep)})}function filterSync(promises,keep){for(var l=keep.length,filtered=new Array(l),i=0,j=0;i<l;++i)keep[i]&&(filtered[j++]=Promise._handler(promises[i]).value);return filtered.length=j,filtered}function settle(promises){return all(promises.map(settleOne))}function settleOne(p){var handler;return p instanceof Promise&&(handler=p._handler.join()),handler&&0===handler.state()||!handler?toPromise(p).then(state.fulfilled,state.rejected):(handler._unreport(),state.inspect(handler))}function reduce(promises,f){return arguments.length>2?ar.call(promises,liftCombine(f),arguments[2]):ar.call(promises,liftCombine(f))}function reduceRight(promises,f){return arguments.length>2?arr.call(promises,liftCombine(f),arguments[2]):arr.call(promises,liftCombine(f))}function liftCombine(f){return function(z,x,i){return applyFold(f,void 0,[z,x,i])}}var applyFold=applier(Promise),toPromise=Promise.resolve,all=Promise.all,ar=Array.prototype.reduce,arr=Array.prototype.reduceRight,slice=Array.prototype.slice;return Promise.any=any,Promise.some=some,Promise.settle=settle,Promise.map=map,Promise.filter=filter,Promise.reduce=reduce,Promise.reduceRight=reduceRight,Promise.prototype.spread=function(onFulfilled){return this.then(all).then(function(array){return onFulfilled.apply(this,array)})},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function rejectInvalidPredicate(){throw new TypeError("catch predicate must be a function")}function evaluatePredicate(e,predicate){return isError(predicate)?e instanceof predicate:predicate(e)}function isError(predicate){return predicate===Error||null!=predicate&&predicate.prototype instanceof Error}function maybeThenable(x){return("object"==typeof x||"function"==typeof x)&&null!==x}function identity(x){return x}return function(Promise){function createCatchFilter(handler,predicate){return function(e){return evaluatePredicate(e,predicate)?handler.call(this,e):reject(e)}}function runSideEffect(handler,thisArg,propagate,value){var result=handler.call(thisArg);return maybeThenable(result)?propagateValue(result,propagate,value):propagate(value)}function propagateValue(result,propagate,x){return resolve(result).then(function(){return propagate(x)})}var resolve=Promise.resolve,reject=Promise.reject,origCatch=Promise.prototype.catch;return Promise.prototype.done=function(onResult,onError){this._handler.visit(this._handler.receiver,onResult,onError)},Promise.prototype.catch=Promise.prototype.otherwise=function(onRejected){return arguments.length<2?origCatch.call(this,onRejected):"function"!=typeof onRejected?this.ensure(rejectInvalidPredicate):origCatch.call(this,createCatchFilter(arguments[1],onRejected))},Promise.prototype.finally=Promise.prototype.ensure=function(handler){return"function"!=typeof handler?this:this.then(function(x){return runSideEffect(handler,this,identity,x)},function(e){return runSideEffect(handler,this,reject,e)})},Promise.prototype.else=Promise.prototype.orElse=function(defaultValue){return this.then(void 0,function(){return defaultValue})},Promise.prototype.yield=function(value){return this.then(function(){return value})},Promise.prototype.tap=function(onFulfilledSideEffect){return this.then(onFulfilledSideEffect).yield(this)},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){return Promise.prototype.fold=function(f,z){var promise=this._beget();return this._handler.fold(function(z,x,to){Promise._handler(z).fold(function(x,z,to){to.resolve(f.call(this,z,x))},x,this,to)},z,promise._handler.receiver,promise._handler),promise},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){var inspect=__webpack_require__(157).inspect;return function(Promise){return Promise.prototype.inspect=function(){return inspect(Promise._handler(this))},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){function iterate(f,condition,handler,x){return unfold(function(x){return[x,f(x)]},condition,handler,x)}function unfold(unspool,condition,handler,x){function next(item,newSeed){return resolve(handler(item)).then(function(){return unfold(unspool,condition,handler,newSeed)})}return resolve(x).then(function(seed){return resolve(condition(seed)).then(function(done){return done?seed:resolve(unspool(seed)).spread(next)})})}var resolve=Promise.resolve;return Promise.iterate=iterate,Promise.unfold=unfold,Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){return Promise.prototype.progress=function(onProgress){return this.then(void 0,void 0,onProgress)},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){return Promise.prototype.with=Promise.prototype.withThis=function(receiver){var p=this._beget(),child=p._handler;return child.receiver=receiver,this._handler.chain(child,receiver),p},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){function throwit(e){throw e}function noop(){}var setTimer=__webpack_require__(102).setTimer,format=__webpack_require__(333);return function(Promise){function report(r){r.handled||(reported.push(r),logError("Potentially unhandled rejection ["+r.id+"] "+format.formatError(r.value)))}function unreport(r){var i=reported.indexOf(r);i>=0&&(reported.splice(i,1),logInfo("Handled previous rejection ["+r.id+"] "+format.formatObject(r.value)))}function enqueue(f,x){tasks.push(f,x),null===running&&(running=setTimer(flush,0))}function flush(){for(running=null;tasks.length>0;)tasks.shift()(tasks.shift())}var localConsole,logError=noop,logInfo=noop;"undefined"!=typeof console&&(localConsole=console,logError=void 0!==localConsole.error?function(e){localConsole.error(e)}:function(e){localConsole.log(e)},logInfo=void 0!==localConsole.info?function(e){localConsole.info(e)}:function(e){localConsole.log(e)}),Promise.onPotentiallyUnhandledRejection=function(rejection){enqueue(report,rejection)},Promise.onPotentiallyUnhandledRejectionHandled=function(rejection){enqueue(unreport,rejection)},Promise.onFatalRejection=function(rejection){enqueue(throwit,rejection.value)};var tasks=[],reported=[],running=null;return Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function formatError(e){var s="object"==typeof e&&null!==e&&(e.stack||e.message)?e.stack||e.message:formatObject(e);return e instanceof Error?s:s+" (WARNING: non-Error used)"}function formatObject(o){var s=String(o);return"[object Object]"===s&&"undefined"!=typeof JSON&&(s=tryStringify(o,s)),s}function tryStringify(x,defaultValue){try{return JSON.stringify(x)}catch(e){return defaultValue}}return{formatError:formatError,formatObject:formatObject,tryStringify:tryStringify}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){return __webpack_require__(335)({scheduler:new(__webpack_require__(336))(__webpack_require__(102).asap)})}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){(function(process){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(environment){function Promise(resolver,handler){this._handler=resolver===Handler?handler:init(resolver)}function init(resolver){function promiseResolve(x){handler.resolve(x)}function promiseReject(reason){handler.reject(reason)}function promiseNotify(x){handler.notify(x)}var handler=new Pending;try{resolver(promiseResolve,promiseReject,promiseNotify)}catch(e){promiseReject(e)}return handler}function resolve(x){return isPromise(x)?x:new Promise(Handler,new Async(getHandler(x)))}function reject(x){return new Promise(Handler,new Async(new Rejected(x)))}function never(){return foreverPendingPromise}function defer(){return new Promise(Handler,new Pending)}function begetFrom(parent,Promise){return new Promise(Handler,new Pending(parent.receiver,parent.join().context))}function all(promises){return traverseWith(snd,null,promises)}function traverse(f,promises){return traverseWith(tryCatch2,f,promises)}function traverseWith(tryMap,f,promises){function mapAt(i,x,resolver){resolver.resolved||traverseAt(promises,settleAt,i,tryMap(f,x,i),resolver)}function settleAt(i,x,resolver){results[i]=x,0==--pending&&resolver.become(new Fulfilled(results))}for(var x,handler="function"==typeof f?mapAt:settleAt,resolver=new Pending,pending=promises.length>>>0,results=new Array(pending),i=0;i<promises.length&&!resolver.resolved;++i)x=promises[i],void 0!==x||i in promises?traverseAt(promises,handler,i,x,resolver):--pending;return 0===pending&&resolver.become(new Fulfilled(results)),new Promise(Handler,resolver)}function traverseAt(promises,handler,i,x,resolver){if(maybeThenable(x)){var h=getHandlerMaybeThenable(x),s=h.state();0===s?h.fold(handler,i,void 0,resolver):s>0?handler(i,h.value,resolver):(resolver.become(h),visitRemaining(promises,i+1,h))}else handler(i,x,resolver)}function visitRemaining(promises,start,handler){for(var i=start;i<promises.length;++i)markAsHandled(getHandler(promises[i]),handler)}function markAsHandled(h,handler){if(h!==handler){var s=h.state();0===s?h.visit(h,void 0,h._unreport):s<0&&h._unreport()}}function race(promises){return"object"!=typeof promises||null===promises?reject(new TypeError("non-iterable passed to race()")):0===promises.length?never():1===promises.length?resolve(promises[0]):runRace(promises)}function runRace(promises){var i,x,h,resolver=new Pending;for(i=0;i<promises.length;++i)if(void 0!==(x=promises[i])||i in promises){if(h=getHandler(x),0!==h.state()){resolver.become(h),visitRemaining(promises,i+1,h);break}h.visit(resolver,resolver.resolve,resolver.reject)}return new Promise(Handler,resolver)}function getHandler(x){return isPromise(x)?x._handler.join():maybeThenable(x)?getHandlerUntrusted(x):new Fulfilled(x)}function getHandlerMaybeThenable(x){return isPromise(x)?x._handler.join():getHandlerUntrusted(x)}function getHandlerUntrusted(x){try{var untrustedThen=x.then;return"function"==typeof untrustedThen?new Thenable(untrustedThen,x):new Fulfilled(x)}catch(e){return new Rejected(e)}}function Handler(){}function FailIfRejected(){}function Pending(receiver,inheritedContext){Promise.createContext(this,inheritedContext),this.consumers=void 0,this.receiver=receiver,this.handler=void 0,this.resolved=!1}function Async(handler){this.handler=handler}function Thenable(then,thenable){Pending.call(this),tasks.enqueue(new AssimilateTask(then,thenable,this))}function Fulfilled(x){Promise.createContext(this),this.value=x}function Rejected(x){Promise.createContext(this),this.id=++errorId,this.value=x,this.handled=!1,this.reported=!1,this._report()}function ReportTask(rejection,context){this.rejection=rejection,this.context=context}function UnreportTask(rejection){this.rejection=rejection}function cycle(){return new Rejected(new TypeError("Promise cycle"))}function ContinuationTask(continuation,handler){this.continuation=continuation,this.handler=handler}function ProgressTask(value,handler){this.handler=handler,this.value=value}function AssimilateTask(then,thenable,resolver){this._then=then,this.thenable=thenable,this.resolver=resolver}function tryAssimilate(then,thenable,resolve,reject,notify){try{then.call(thenable,resolve,reject,notify)}catch(e){reject(e)}}function Fold(f,z,c,to){this.f=f,this.z=z,this.c=c,this.to=to,this.resolver=failIfRejected,this.receiver=this}function isPromise(x){return x instanceof Promise}function maybeThenable(x){return("object"==typeof x||"function"==typeof x)&&null!==x}function runContinuation1(f,h,receiver,next){if("function"!=typeof f)return next.become(h);Promise.enterContext(h),tryCatchReject(f,h.value,receiver,next),Promise.exitContext()}function runContinuation3(f,x,h,receiver,next){if("function"!=typeof f)return next.become(h);Promise.enterContext(h),tryCatchReject3(f,x,h.value,receiver,next),Promise.exitContext()}function runNotify(f,x,h,receiver,next){if("function"!=typeof f)return next.notify(x);Promise.enterContext(h),tryCatchReturn(f,x,receiver,next),Promise.exitContext()}function tryCatch2(f,a,b){try{return f(a,b)}catch(e){return reject(e)}}function tryCatchReject(f,x,thisArg,next){try{next.become(getHandler(f.call(thisArg,x)))}catch(e){next.become(new Rejected(e))}}function tryCatchReject3(f,x,y,thisArg,next){try{f.call(thisArg,x,y,next)}catch(e){next.become(new Rejected(e))}}function tryCatchReturn(f,x,thisArg,next){try{next.notify(f.call(thisArg,x))}catch(e){next.notify(e)}}function inherit(Parent,Child){Child.prototype=objectCreate(Parent.prototype),Child.prototype.constructor=Child}function snd(x,y){return y}function noop(){}function hasCustomEvent(){if("function"==typeof CustomEvent)try{return new CustomEvent("unhandledRejection")instanceof CustomEvent}catch(ignoredException){}return!1}function hasInternetExplorerCustomEvent(){if("undefined"!=typeof document&&"function"==typeof document.createEvent)try{return document.createEvent("CustomEvent").initCustomEvent("eventType",!1,!0,{}),!0}catch(ignoredException){}return!1}var tasks=environment.scheduler,emitRejection=function(){return void 0!==process&&null!==process&&"function"==typeof process.emit?function(type,rejection){return"unhandledRejection"===type?process.emit(type,rejection.value,rejection):process.emit(type,rejection)}:"undefined"!=typeof self&&hasCustomEvent()?function(self,CustomEvent){return function(type,rejection){var ev=new CustomEvent(type,{detail:{reason:rejection.value,key:rejection},bubbles:!1,cancelable:!0});return!self.dispatchEvent(ev)}}(self,CustomEvent):"undefined"!=typeof self&&hasInternetExplorerCustomEvent()?function(self,document){return function(type,rejection){var ev=document.createEvent("CustomEvent");return ev.initCustomEvent(type,!1,!0,{reason:rejection.value,key:rejection}),!self.dispatchEvent(ev)}}(self,document):noop}(),objectCreate=Object.create||function(proto){function Child(){}return Child.prototype=proto,new Child};Promise.resolve=resolve,Promise.reject=reject,Promise.never=never,Promise._defer=defer,Promise._handler=getHandler,Promise.prototype.then=function(onFulfilled,onRejected,onProgress){var parent=this._handler,state=parent.join().state();if("function"!=typeof onFulfilled&&state>0||"function"!=typeof onRejected&&state<0)return new this.constructor(Handler,parent);var p=this._beget(),child=p._handler;return parent.chain(child,parent.receiver,onFulfilled,onRejected,onProgress),p},Promise.prototype.catch=function(onRejected){return this.then(void 0,onRejected)},Promise.prototype._beget=function(){return begetFrom(this._handler,this.constructor)},Promise.all=all,Promise.race=race,Promise._traverse=traverse,Promise._visitRemaining=visitRemaining,Handler.prototype.when=Handler.prototype.become=Handler.prototype.notify=Handler.prototype.fail=Handler.prototype._unreport=Handler.prototype._report=noop,Handler.prototype._state=0,Handler.prototype.state=function(){return this._state},Handler.prototype.join=function(){for(var h=this;void 0!==h.handler;)h=h.handler;return h},Handler.prototype.chain=function(to,receiver,fulfilled,rejected,progress){this.when({resolver:to,receiver:receiver,fulfilled:fulfilled,rejected:rejected,progress:progress})},Handler.prototype.visit=function(receiver,fulfilled,rejected,progress){this.chain(failIfRejected,receiver,fulfilled,rejected,progress)},Handler.prototype.fold=function(f,z,c,to){this.when(new Fold(f,z,c,to))},inherit(Handler,FailIfRejected),FailIfRejected.prototype.become=function(h){h.fail()};var failIfRejected=new FailIfRejected;inherit(Handler,Pending),Pending.prototype._state=0,Pending.prototype.resolve=function(x){this.become(getHandler(x))},Pending.prototype.reject=function(x){this.resolved||this.become(new Rejected(x))},Pending.prototype.join=function(){if(!this.resolved)return this;for(var h=this;void 0!==h.handler;)if((h=h.handler)===this)return this.handler=cycle();return h},Pending.prototype.run=function(){var q=this.consumers,handler=this.handler;this.handler=this.handler.join(),this.consumers=void 0;for(var i=0;i<q.length;++i)handler.when(q[i])},Pending.prototype.become=function(handler){this.resolved||(this.resolved=!0,this.handler=handler,void 0!==this.consumers&&tasks.enqueue(this),void 0!==this.context&&handler._report(this.context))},Pending.prototype.when=function(continuation){this.resolved?tasks.enqueue(new ContinuationTask(continuation,this.handler)):void 0===this.consumers?this.consumers=[continuation]:this.consumers.push(continuation)},Pending.prototype.notify=function(x){this.resolved||tasks.enqueue(new ProgressTask(x,this))},Pending.prototype.fail=function(context){var c=void 0===context?this.context:context;this.resolved&&this.handler.join().fail(c)},Pending.prototype._report=function(context){this.resolved&&this.handler.join()._report(context)},Pending.prototype._unreport=function(){this.resolved&&this.handler.join()._unreport()},inherit(Handler,Async),Async.prototype.when=function(continuation){tasks.enqueue(new ContinuationTask(continuation,this))},Async.prototype._report=function(context){this.join()._report(context)},Async.prototype._unreport=function(){this.join()._unreport()},inherit(Pending,Thenable),inherit(Handler,Fulfilled),Fulfilled.prototype._state=1,Fulfilled.prototype.fold=function(f,z,c,to){runContinuation3(f,z,this,c,to)},Fulfilled.prototype.when=function(cont){runContinuation1(cont.fulfilled,this,cont.receiver,cont.resolver)};var errorId=0;inherit(Handler,Rejected),Rejected.prototype._state=-1,Rejected.prototype.fold=function(f,z,c,to){to.become(this)},Rejected.prototype.when=function(cont){"function"==typeof cont.rejected&&this._unreport(),runContinuation1(cont.rejected,this,cont.receiver,cont.resolver)},Rejected.prototype._report=function(context){tasks.afterQueue(new ReportTask(this,context))},Rejected.prototype._unreport=function(){this.handled||(this.handled=!0,tasks.afterQueue(new UnreportTask(this)))},Rejected.prototype.fail=function(context){this.reported=!0,emitRejection("unhandledRejection",this),Promise.onFatalRejection(this,void 0===context?this.context:context)},ReportTask.prototype.run=function(){this.rejection.handled||this.rejection.reported||(this.rejection.reported=!0,emitRejection("unhandledRejection",this.rejection)||Promise.onPotentiallyUnhandledRejection(this.rejection,this.context))},UnreportTask.prototype.run=function(){this.rejection.reported&&(emitRejection("rejectionHandled",this.rejection)||Promise.onPotentiallyUnhandledRejectionHandled(this.rejection))},Promise.createContext=Promise.enterContext=Promise.exitContext=Promise.onPotentiallyUnhandledRejection=Promise.onPotentiallyUnhandledRejectionHandled=Promise.onFatalRejection=noop;var foreverPendingHandler=new Handler,foreverPendingPromise=new Promise(Handler,foreverPendingHandler);return ContinuationTask.prototype.run=function(){this.handler.join().when(this.continuation)},ProgressTask.prototype.run=function(){var q=this.handler.consumers;if(void 0!==q)for(var c,i=0;i<q.length;++i)c=q[i],runNotify(c.progress,this.value,this.handler,c.receiver,c.resolver)},AssimilateTask.prototype.run=function(){function _resolve(x){h.resolve(x)}function _reject(x){h.reject(x)}function _notify(x){h.notify(x)}var h=this.resolver;tryAssimilate(this._then,this.thenable,_resolve,_reject,_notify)},Fold.prototype.fulfilled=function(x){this.f.call(this.c,this.z,x,this.to)},Fold.prototype.rejected=function(x){this.to.reject(x)},Fold.prototype.progress=function(x){this.to.notify(x)},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))}).call(exports,__webpack_require__(70))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function Scheduler(async){this._async=async,this._running=!1,this._queue=this,this._queueLen=0,this._afterQueue={},this._afterQueueLen=0;var self=this;this.drain=function(){self._drain()}}return Scheduler.prototype.enqueue=function(task){this._queue[this._queueLen++]=task,this.run()},Scheduler.prototype.afterQueue=function(task){this._afterQueue[this._afterQueueLen++]=task,this.run()},Scheduler.prototype.run=function(){this._running||(this._running=!0,this._async(this.drain))},Scheduler.prototype._drain=function(){for(var i=0;i<this._queueLen;++i)this._queue[i].run(),this._queue[i]=void 0;for(this._queueLen=0,this._running=!1,i=0;i<this._afterQueueLen;++i)this._afterQueue[i].run(),this._afterQueue[i]=void 0;this._afterQueueLen=0},Scheduler}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(17))},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(30),LastfmMiddleware=(function(obj){obj&&obj.__esModule}(_reactGa),__webpack_require__(1),__webpack_require__(31),__webpack_require__(4),__webpack_require__(23),function(){return function(store){return function(next){return function(action){store.getState();switch(action.type){case"LASTFM_USER_LOADED":var user=Object.assign({},action.user,{uri:"lastfm:user:"+action.user.name});store.dispatch({type:"USERS_LOADED",users:[user]}),next(action);break;default:return next(action)}}}}}());exports.default=LastfmMiddleware},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(30),_reactGa2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_reactGa),helpers=__webpack_require__(1),spotifyActions=__webpack_require__(8),pusherActions=(__webpack_require__(4),__webpack_require__(23)),SpotifyMiddleware=function(){return function(store){return function(next){return function(action){var state=store.getState();switch(action.type){case"SPOTIFY_CONNECTED":var label=null;store.getState().spotify.me&&(label=store.getState().core.anonymise_analytics?"anonymised_"+store.getState().pusher.client_id:store.getState().spotify.me.id),_reactGa2.default.event({category:"Spotify",action:"Connected",label:label}),store.getState().spotify_authorized&&store.dispatch(spotifyActions.getAllLibraryPlaylists()),next(action);break;case"SPOTIFY_AUTHORIZATION_GRANTED":_reactGa2.default.event({category:"Spotify",action:"Authorization granted"}),store.dispatch(spotifyActions.flushLibrary()),next(action);break;case"SPOTIFY_AUTHORIZATION_REVOKED":var label=null;store.getState().spotify.me&&(label=store.getState().core.anonymise_analytics?"anonymised_"+store.getState().pusher.client_id:store.getState().spotify.me.id),_reactGa2.default.event({category:"Spotify",action:"Authorization revoked",label:label}),next(action),store.dispatch(spotifyActions.getMe()),store.dispatch(spotifyActions.flushLibrary());break;case"SPOTIFY_IMPORT_AUTHORIZATION":var label=null;action.me&&action.me.id&&(label=store.getState().core.anonymise_analytics?"anonymised_"+store.getState().pusher.client_id:action.me.id),_reactGa2.default.event({category:"Spotify",action:"Authorization imported",label:label}),store.dispatch(spotifyActions.flushLibrary()),next(action);break;case"SPOTIFY_RECOMMENDATIONS_LOADED":action.seeds_uris&&_reactGa2.default.event({category:"Spotify",action:"Recommendations",label:action.seeds_uris.join(",")}),next(action);break;case"SPOTIFY_USER_LOADED":action.data&&_reactGa2.default.event({category:"User",action:"Load",label:action.data.uri}),next(action);break;case"SPOTIFY_CREATE_PLAYLIST":store.dispatch(spotifyActions.createPlaylist(action.name,action.description,action.is_private,action.is_collaborative));break;case"SPOTIFY_REMOVE_PLAYLIST_TRACKS":var playlist=Object.assign({},state.core.playlists[action.key]);store.dispatch(spotifyActions.deleteTracksFromPlaylist(playlist.uri,playlist.snapshot_id,action.tracks_indexes));break;case"SPOTIFY_ADD_PLAYLIST_TRACKS":store.dispatch(spotifyActions.addTracksToPlaylist(action.key,action.tracks_uris));break;case"SPOTIFY_REORDER_PLAYLIST_TRACKS":store.dispatch(spotifyActions.reorderPlaylistTracks(action.key,action.range_start,action.range_length,action.insert_before,action.snapshot_id));break;case"SPOTIFY_SAVE_PLAYLIST":store.dispatch(spotifyActions.savePlaylist(action.key,action.name,action.description,action.is_public,action.is_collaborative));break;case"SPOTIFY_NEW_RELEASES_LOADED":store.dispatch({type:"ALBUMS_LOADED",albums:action.data.albums.items}),store.dispatch({type:"NEW_RELEASES_LOADED",uris:helpers.arrayOf("uri",action.data.albums.items),more:action.data.albums.next,total:action.data.albums.total});break;case"SPOTIFY_ARTIST_ALBUMS_LOADED":store.dispatch({type:"ALBUMS_LOADED",albums:action.data.items}),store.dispatch({type:"ARTIST_ALBUMS_LOADED",key:action.key,uris:helpers.arrayOf("uri",action.data.items),more:action.data.next,total:action.data.total});break;case"SPOTIFY_USER_PLAYLISTS_LOADED":for(var playlists=[],i=0;i<action.data.items.length;i++){var playlist=Object.assign({},action.data.items[i],{tracks_total:action.data.items[i].tracks.total});delete playlist.tracks,playlists.push(playlist)}store.dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),store.dispatch({type:"USER_PLAYLISTS_LOADED",key:action.key,uris:helpers.arrayOf("uri",playlists),more:action.data.next,total:action.data.total});break;case"SPOTIFY_CATEGORY_PLAYLISTS_LOADED":for(var playlists=[],i=0;i<action.data.playlists.items.length;i++){var playlist=Object.assign({},action.data.playlists.items[i],{tracks_total:action.data.playlists.items[i].tracks.total});delete playlist.tracks,playlists.push(playlist)}store.dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),store.dispatch({type:"CATEGORY_PLAYLISTS_LOADED",key:action.key,uris:helpers.arrayOf("uri",playlists),more:action.data.playlists.next,total:action.data.playlists.total});break;case"SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR":store.dispatch(spotifyActions.getLibraryPlaylistsProcessor(action.data));break;case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED":for(var playlists=[],i=0;i<action.playlists.length;i++){var playlist=Object.assign({},action.playlists[i],{source:"spotify",in_library:!0,tracks_total:action.playlists[i].tracks.total});delete playlist.tracks,playlists.push(playlist)}store.dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),action.uris=helpers.arrayOf("uri",playlists),next(action);break;case"SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR":store.dispatch(spotifyActions.getLibraryArtistsProcessor(action.data));break;case"SPOTIFY_LIBRARY_ARTISTS_LOADED":for(var artists=[],i=0;i<action.artists.length;i++)artists.push(Object.assign({},action.artists[i],{source:"spotify",in_library:!0}));store.dispatch({type:"ARTISTS_LOADED",artists:artists}),action.uris=helpers.arrayOf("uri",artists),next(action);break;case"SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR":store.dispatch(spotifyActions.getLibraryAlbumsProcessor(action.data));break;case"SPOTIFY_GET_PLAYLIST_TRACKS_FOR_PLAYING_PROCESSOR":store.dispatch(spotifyActions.getPlaylistTracksForPlayingProcessor(action.data));break;case"SPOTIFY_LIBRARY_ALBUMS_LOADED":for(var albums=[],i=0;i<action.albums.length;i++)albums.push(Object.assign({},action.albums[i].album,{in_library:!0,source:"spotify",added_at:action.albums[i].added_at,tracks:action.albums[i].album.tracks.items,tracks_more:action.albums[i].album.tracks.next,tracks_total:action.albums[i].album.tracks.total}));store.dispatch({type:"ALBUMS_LOADED",albums:albums}),action.uris=helpers.arrayOf("uri",albums),next(action);break;case"SPOTIFY_FAVORITES_LOADED":action.artists.length>0&&(store.dispatch({type:"ARTISTS_LOADED",artists:action.artists}),action.artists_uris=helpers.arrayOf("uri",action.artists)),action.tracks.length>0&&(store.dispatch({type:"TRACKS_LOADED",tracks:action.tracks}),action.tracks_uris=helpers.arrayOf("uri",action.tracks)),next(action);break;case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":action.data&&store.dispatch({type:"TRACKS_LOADED",tracks:action.data.items}),next(action);break;case"SPOTIFY_TRACK_LOADED":store.dispatch({type:"TRACKS_LOADED",tracks:[action.data]}),next(action);break;case"SEARCH_STARTED":store.dispatch({type:"SPOTIFY_CLEAR_SEARCH_RESULTS"}),next(action);break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_TRACKS":store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"tracks",results:helpers.formatTracks(action.data.tracks.items),more:action.data.tracks.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ARTISTS":store.dispatch({type:"ARTISTS_LOADED",artists:action.data.artists.items}),store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"artists",results:helpers.arrayOf("uri",action.data.playlists.items),more:action.data.playlists.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ALBUMS":store.dispatch({type:"ALBUMS_LOADED",albums:action.data.albums.items}),store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:helpers.arrayOf("uri",action.data.albums.items),more:action.data.albums.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_PLAYLISTS":for(var playlists=[],i=0;i<action.data.playlists.items.length;i++)playlists.push(Object.assign({},action.data.playlists.items[i],{tracks_total:action.data.playlists.items[i].tracks.total}));store.dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:helpers.arrayOf("uri",action.data.playlists.items),more:action.data.playlists.next});break;case"SPOTIFY_ME_LOADED":if(action.data&&"Anonymous"==store.getState().pusher.username){if(null!==action.data.display_name)var name=action.data.display_name;else var name=action.data.id;store.dispatch(pusherActions.setUsername(name))}var label=null;store.getState().core.anonymise_analytics?label="anonymised_"+store.getState().pusher.client_id:(_reactGa2.default.set({userId:action.data.id}),label=action.data.id),_reactGa2.default.event({category:"Spotify",action:"Authorization verified",label:label}),store.dispatch({type:"USERS_LOADED",users:[action.data]}),next(action);break;default:return next(action)}}}}}();exports.default=SpotifyMiddleware},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var helpers=__webpack_require__(1),localstorageMiddleware=function(){return function(store){return function(next){return function(action){if(next(action),window._store=store,store.getState().ui.log_actions){["START_LOADING","STOP_LOADING"].includes(action.type)||console.log(action)}switch(action.type){case"PUSHER_CONNECTED":helpers.setStorage("pusher",{connection_id:action.connection_id});break;case"PUSHER_SET_PORT":helpers.setStorage("pusher",{port:action.port});break;case"PUSHER_USERNAME_CHANGED":helpers.setStorage("pusher",{username:action.username});break;case"MOPIDY_SET_CONFIG":helpers.setStorage("mopidy",{host:action.config.host,port:action.config.port,ssl:action.config.ssl});break;case"MOPIDY_URISCHEMES_FILTERED":helpers.setStorage("mopidy",{uri_schemes:action.data});break;case"SPOTIFY_SET_CONFIG":helpers.setStorage("spotify",{authentication_provider:action.config.authentication_provider,country:action.config.country,locale:action.config.locale});break;case"SPOTIFY_IMPORT_AUTHORIZATION":case"SPOTIFY_AUTHORIZATION_GRANTED":if(void 0!==action.authorization)var authorization=action.authorization;else if(action.data)var authorization=action.data;helpers.setStorage("spotify",{authorization:authorization,access_token:authorization.access_token,refresh_token:authorization.refresh_token,token_expiry:authorization.token_expiry});break;case"SPOTIFY_AUTHORIZATION_REVOKED":helpers.setStorage("spotify",{authorization:!1,access_token:!1,refresh_token:!1,token_expiry:!1});break;case"SPOTIFY_TOKEN_REFRESHED":helpers.setStorage("spotify",{access_token:action.data.access_token,token_expiry:action.data.token_expiry,provider:action.provider});break;case"SPOTIFY_ME_LOADED":helpers.setStorage("spotify",{me:action.data});break;case"CORE_SET":helpers.setStorage("core",action.data);break;case"UI_SET":helpers.setStorage("ui",action.data);break;case"SUPPRESS_BROADCAST":var ui=helpers.getStorage("ui");if(void 0!==ui.suppressed_broadcasts)var suppressed_broadcasts=ui.suppressed_broadcasts;else var suppressed_broadcasts=[];suppressed_broadcasts.push(action.key),helpers.setStorage("ui",{suppressed_broadcasts:suppressed_broadcasts});break;case"LASTFM_AUTHORIZATION_GRANTED":helpers.setStorage("lastfm",{session:action.data.session});break;case"LASTFM_AUTHORIZATION_REVOKED":helpers.setStorage("lastfm",{session:null})}}}}}();exports.default=localstorageMiddleware},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(64),_redux=(_interopRequireDefault(_reactDom),__webpack_require__(2)),_reactRouter=__webpack_require__(6),_reactRedux=__webpack_require__(3),_Sidebar=__webpack_require__(341),_Sidebar2=_interopRequireDefault(_Sidebar),_PlaybackControls=__webpack_require__(375),_PlaybackControls2=_interopRequireDefault(_PlaybackControls),_ContextMenu=__webpack_require__(378),_ContextMenu2=_interopRequireDefault(_ContextMenu),_Dragger=__webpack_require__(379),_Dragger2=_interopRequireDefault(_Dragger),_Modal=__webpack_require__(380),_Modal2=_interopRequireDefault(_Modal),_Notifications=__webpack_require__(395),_Notifications2=_interopRequireDefault(_Notifications),_DebugInfo=__webpack_require__(396),_DebugInfo2=_interopRequireDefault(_DebugInfo),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions5),App=function(_React$Component){function App(props){_classCallCheck(this,App);var _this=_possibleConstructorReturn(this,(App.__proto__||Object.getPrototypeOf(App)).call(this,props));return _this.handleKeyUp=_this.handleKeyUp.bind(_this),_this.handleKeyDown=_this.handleKeyDown.bind(_this),_this.handleWindowResize=_this.handleWindowResize.bind(_this),_this}return _inherits(App,_React$Component),_createClass(App,[{key:"componentWillMount",value:function(){window.addEventListener("keyup",this.handleKeyUp,!1),window.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("resize",this.handleWindowResize,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keyup",this.handleKeyUp,!1),window.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("resize",this.handleWindowResize,!1)}},{key:"componentDidMount",value:function(){var _this2=this;this.props.coreActions.startServices(),this.props.coreActions.getBroadcasts(),_reactRouter.hashHistory.listen(function(location){_this2.props.uiActions.toggleSidebar(!1),_this2.props.uiActions.setSelectedTracks([])}),this.handleWindowResize(null);var url_vars=this.props.location.query;void 0!==url_vars&&void 0!==url_vars.host&&void 0!==url_vars.port&&(this.props.mopidyActions.setConfig({host:url_vars.host,port:url_vars.port}),_reactRouter.hashHistory.push(global.baseURL))}},{key:"shouldTriggerShortcut",value:function(e){if(["INPUT","TEXTAREA"].indexOf(e.target.nodeName)>-1)return!1;if([27,32,191].indexOf(e.keyCode)>-1)return e.preventDefault(),!0;var keyCodesWithCtrl=[37,38,39,40];if((e.ctrlKey||e.metaKey)&&keyCodesWithCtrl.indexOf(e.keyCode)>-1)return e.preventDefault(),!0;var keyCodesWithCtrlShift=[70];return(e.ctrlKey||e.metaKey)&&e.shiftKey&&keyCodesWithCtrlShift.indexOf(e.keyCode)>-1?(e.preventDefault(),!0):void 0}},{key:"handleWindowResize",value:function(e){var width=Math.max(document.documentElement.clientWidth,window.innerWidth||0);Math.max(document.documentElement.clientHeight,window.innerHeight||0);width<=800?this.props.slim_mode||this.props.uiActions.setSlimMode(!0):this.props.slim_mode&&this.props.uiActions.setSlimMode(!1)}},{key:"handleKeyDown",value:function(e){this.shouldTriggerShortcut(e)}},{key:"handleKeyUp",value:function(e){if(this.shouldTriggerShortcut(e))switch(e.keyCode){case 32:e.ctrlKey||e.metaKey?(this.props.mopidyActions.stop(),this.props.uiActions.createNotification("stop","shortcut","shortcut")):"playing"==this.props.play_state?(this.props.mopidyActions.pause(),this.props.uiActions.createNotification("pause","shortcut","shortcut")):(this.props.mopidyActions.play(),this.props.uiActions.createNotification("play","shortcut","shortcut"));break;case 27:this.props.dragger&&this.props.dragger.dragging&&this.props.uiActions.dragEnd(),this.props.modal&&this.props.uiActions.closeModal();break;case 40:if((e.ctrlKey||e.metaKey)&&e.shiftKey)this.props.mopidyActions.setMute(!0),this.props.uiActions.createNotification("volume-off","shortcut","shortcut");else if(e.ctrlKey){var volume=this.props.volume;"false"!==volume&&(volume-=5,volume<0&&(volume=0),this.props.mopidyActions.setVolume(volume),this.props.mute&&this.props.mopidyActions.setMute(!1),this.props.uiActions.createNotification("volume-down","shortcut","shortcut"))}break;case 38:if((e.ctrlKey||e.metaKey)&&e.shiftKey)this.props.mopidyActions.setVolume(100),this.props.mute&&this.props.mopidyActions.setMute(!1),this.props.uiActions.createNotification("volume-up","shortcut","shortcut");else if(e.ctrlKey||e.metaKey){var volume=this.props.volume;"false"!==volume&&(volume+=5,volume>100&&(volume=100),this.props.mopidyActions.setVolume(volume),this.props.mute&&this.props.mopidyActions.setMute(!1),this.props.uiActions.createNotification("volume-up","shortcut","shortcut"))}break;case 37:if((e.ctrlKey||e.metaKey)&&e.shiftKey){var new_position=this.props.play_time_position-3e4;new_position<0&&(new_position=0),this.props.mopidyActions.seek(new_position),this.props.uiActions.createNotification("fast-backward","shortcut","shortcut")}else(e.ctrlKey||e.metaKey)&&(this.props.mopidyActions.previous(),this.props.uiActions.createNotification("step-backward","shortcut","shortcut"));break;case 39:(e.ctrlKey||e.metaKey)&&e.shiftKey?(this.props.mopidyActions.seek(this.props.play_time_position+3e4),this.props.uiActions.createNotification("fast-forward","shortcut","shortcut")):(e.ctrlKey||e.metaKey)&&(this.props.mopidyActions.next(),this.props.uiActions.createNotification("step-forward","shortcut","shortcut"));break;case 70:(e.ctrlKey||e.metaKey)&&e.shiftKey&&(this.props.modal?this.props.uiActions.closeModal():this.props.uiActions.openModal("kiosk_mode"))}}},{key:"render",value:function(){var className="";return this.props.dragger&&this.props.dragger.active&&(className+=" dragging"),this.props.sidebar_open&&(className+=" sidebar-open"),this.props.modal&&(className+=" modal-open"),this.props.touch_dragging&&(className+=" touch-dragging"),this.props.slim_mode&&(className+=" slim-mode"),helpers.isTouchDevice()?className+=" touch":className+=" notouch",_react2.default.createElement("div",{className:className},_react2.default.createElement("div",{className:"body"},_react2.default.createElement(_Sidebar2.default,null),_react2.default.createElement(_PlaybackControls2.default,null),_react2.default.createElement("main",null,this.props.children)),_react2.default.createElement(_ContextMenu2.default,null),_react2.default.createElement(_Dragger2.default,null),_react2.default.createElement(_Modal2.default,null),_react2.default.createElement(_Notifications2.default,{uiActions:this.props.uiActions,notifications:this.props.notifications,processes:this.props.processes,broadcasts:this.props.broadcasts}),this.props.debug_info?_react2.default.createElement(_DebugInfo2.default,null):null)}}]),App}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{touch_dragging:state.ui.touch_dragging,slim_mode:state.ui.slim_mode,broadcasts:state.ui.broadcasts?state.ui.broadcasts:[],volume:!!state.mopidy.volume&&state.mopidy.volume,notifications:state.ui.notifications?state.ui.notifications:[],processes:state.ui.processes?state.ui.processes:{},load_queue:state.ui.load_queue?state.ui.load_queue:{},mopidy_connected:state.mopidy.connected,spotify_authorized:state.spotify.authorization,play_state:state.mopidy.play_state,play_time_position:parseInt(state.mopidy.time_position),mute:state.mopidy.mute,sidebar_open:state.ui.sidebar_open,dragger:state.ui.dragger,modal:state.ui.modal,context_menu:state.ui.context_menu,debug_info:state.ui.debug_info}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(App)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_Icon=__webpack_require__(18),_Icon2=_interopRequireDefault(_Icon),_Dropzones=__webpack_require__(371),_Dropzones2=_interopRequireDefault(_Dropzones),_Thumbnail=__webpack_require__(15),_reactFontawesome=(_interopRequireDefault(_Thumbnail),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),Sidebar=function(_React$Component){function Sidebar(props){return _classCallCheck(this,Sidebar),_possibleConstructorReturn(this,(Sidebar.__proto__||Object.getPrototypeOf(Sidebar)).call(this,props))}return _inherits(Sidebar,_React$Component),_createClass(Sidebar,[{key:"linkClassName",value:function(link){return this.props.location.pathname.startsWith("/"+link)?"active":null}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("aside",null,_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("nav",null,_react2.default.createElement("section",null,_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("queue"),to:global.baseURL+"queue"},_react2.default.createElement(_Icon2.default,{name:"play"}),"Now playing"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("search"),to:global.baseURL+"search"},_react2.default.createElement(_Icon2.default,{name:"search"}),"Search")),this.props.spotify_enabled?_react2.default.createElement("section",null,_react2.default.createElement("title",null,"Discover"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("discover/recommendations"),to:global.baseURL+"discover/recommendations"},_react2.default.createElement(_Icon2.default,{name:"compass"}),"Discover"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("discover/categories"),to:global.baseURL+"discover/categories"},_react2.default.createElement(_Icon2.default,{name:"grid"}),"Genre / Mood"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("discover/featured"),to:global.baseURL+"discover/featured"},_react2.default.createElement(_Icon2.default,{name:"star"}),"Featured playlists"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("discover/new-releases"),to:global.baseURL+"discover/new-releases"},_react2.default.createElement(_Icon2.default,{name:"leaf"}),"New releases")):null,_react2.default.createElement("section",null,_react2.default.createElement("title",null,"My Music"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("library/playlists"),to:global.baseURL+"library/playlists"},_react2.default.createElement(_Icon2.default,{name:"playlist"}),"Playlists"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("library/artists"),to:global.baseURL+"library/artists"},_react2.default.createElement(_Icon2.default,{name:"mic"}),"Artists"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("library/albums"),to:global.baseURL+"library/albums"},_react2.default.createElement(_Icon2.default,{name:"cd"}),"Albums"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("library/tracks"),to:global.baseURL+"library/tracks"},_react2.default.createElement(_Icon2.default,{name:"music"}),"Tracks"),_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("library/browse"),to:global.baseURL+"library/browse"},_react2.default.createElement(_Icon2.default,{name:"folder"}),"Browse")),_react2.default.createElement("section",null,_react2.default.createElement(_reactRouter.Link,{className:this.linkClassName("settings"),to:global.baseURL+"settings"},_react2.default.createElement(_Icon2.default,{name:"cog"}),"Settings",this.props.test_mode?_react2.default.createElement(_reactFontawesome2.default,{name:"info-circle",className:"orange-text pull-right"}):null,!this.props.mopidy_connected||!this.props.spotify_connected&&this.props.spotify_enabled||!this.props.pusher_connected?_react2.default.createElement(_reactFontawesome2.default,{name:"exclamation-triangle",className:"red-text pull-right"}):null)))),_react2.default.createElement(_Dropzones2.default,null),_react2.default.createElement("div",{className:"close",onClick:function(e){return _this2.props.uiActions.toggleSidebar(!1)}},_react2.default.createElement(_reactFontawesome2.default,{name:"chevron-right"})))}}]),Sidebar}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,pusher_connected:state.pusher.connected,spotify_enabled:state.spotify.enabled,spotify_connected:state.spotify.connected,spotify_authorized:state.spotify.authorization,test_mode:!!state.ui.test_mode&&state.ui.test_mode,dragger:state.ui.dragger}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)((0,_reactRouter.withRouter)(Sidebar))}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){function webpackContext(req){return __webpack_require__(webpackContextResolve(req))}function webpackContextResolve(req){var id=map[req];if(!(id+1))throw new Error("Cannot find module '"+req+"'.");return id}var map={"./back.svg":343,"./cd.svg":344,"./chevron-left.svg":345,"./chevron-right.svg":346,"./close.svg":347,"./cog.svg":348,"./compass.svg":349,"./connection.svg":350,"./filter.svg":351,"./folder.svg":352,"./grid.svg":353,"./leaf.svg":354,"./list.svg":355,"./local.svg":356,"./mic.svg":357,"./music.svg":358,"./pause.svg":359,"./play.svg":360,"./playlist.svg":361,"./search.svg":362,"./sections.svg":363,"./server.svg":364,"./skip.svg":365,"./soundcloud.svg":366,"./spotify.svg":367,"./star.svg":368,"./stop.svg":369,"./websocket.svg":370};webpackContext.keys=function(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=342},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjgsMTRjMCwwLjEsMC4xLDAuMiwwLjIsMC4yaDFjMC4xLDAsMC4yLTAuMSwwLjItMC4yVjJjMC0wLjEtMC4xLTAuMi0wLjItMC4ySDRDMy45LDEuOCwzLjgsMS45LDMuOCwyVjE0eiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggZD0iTTExLjQsMi4zYzAtMC4xLTAuMS0wLjEtMC4yLTAuMUw0LjYsNy45Yy0wLjEsMC4xLTAuMSwwLjIsMCwwLjNsNi42LDUuN2MwLjEsMC4xLDAuMiwwLDAuMi0wLjFWMi4zeiIvPg0KPC9nPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuNDE3MztzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iOCIgY3k9IjgiIHI9IjYuNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iOCIgY3k9IjgiIHI9IjIuMSIvPg0KPHBhdGggZD0iTTUuNyw4YzAtMS4yLDEtMi4zLDIuMy0yLjNjMC4zLDAsMC42LDAuMSwwLjksMC4ybDEuOC00QzkuOSwxLjYsOSwxLjQsOCwxLjRjLTMuNiwwLTYuNiwzLTYuNiw2LjZjMCwwLjgsMC4yLDEuNiwwLjQsMi40DQoJbDQtMS42QzUuOCw4LjYsNS43LDguMyw1LjcsOHoiLz4NCjxwYXRoIGQ9Ik0xNC4xLDUuNmwtNCwxLjZjMC4xLDAuMywwLjIsMC41LDAuMiwwLjhjMCwxLjItMSwyLjMtMi4zLDIuM2MtMC4zLDAtMC42LTAuMS0wLjktMC4yTDUuMywxNEM2LjEsMTQuNCw3LDE0LjYsOCwxNC42DQoJYzMuNiwwLDYuNi0yLjksNi42LTYuNkMxNC42LDcuMiwxNC40LDYuNCwxNC4xLDUuNnoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiMwMTAxMDEiIHN0cm9rZS13aWR0aD0iMS44NTQ2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRzPSINCgkxMS4yMDcsMTQuMjk5IDQuODQ1LDcuOTM2IDExLjIwNywxLjU3NiAiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiMwMTAxMDEiIHN0cm9rZS13aWR0aD0iMS44NTQ2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRzPSINCgk0Ljg0NSwxLjU3NiAxMS4yMDcsNy45MzggNC44NDUsMTQuMjk5ICIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTBweCIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgNTAgNTAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUwIDUwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIyLjgzNDYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjYiIHkxPSI2IiB4Mj0iNDQiIHkyPSI0NCIvPg0KPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIuODM0NiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iNiIgeTE9IjQ0IiB4Mj0iNDQiIHkyPSI2Ii8+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xNS4zLDkuMlY2LjdsLTItMC40QzEzLjEsNiwxMyw1LjgsMTIuOSw1LjVMMTQsMy44TDEyLjMsMmwtMS43LDEuMUMxMC4zLDMsMTAuMSwyLjksOS44LDIuOGwtMC40LTJINi45bC0wLjQsMg0KCUM2LjIsMi45LDYsMyw1LjcsMy4yTDQsMkwyLjIsMy44bDEuMiwxLjdDMy4zLDUuOCwzLjIsNiwzLjEsNi4zTDEsNi43djIuNWwyLDAuNGMwLjEsMC4zLDAuMiwwLjUsMC4zLDAuOGwtMS4yLDEuN0w0LDEzLjhsMS43LTEuMg0KCUM2LDEyLjgsNi4yLDEyLjksNi41LDEzbDAuNCwyaDIuNWwwLjQtMmMwLjMtMC4xLDAuNS0wLjIsMC44LTAuM2wxLjcsMS4ybDEuNy0xLjdsLTEuMi0xLjdjMC4xLTAuMywwLjItMC41LDAuMy0wLjhMMTUuMyw5LjJ6DQoJIE04LjEsOS45Yy0xLjEsMC0yLTAuOS0yLTJzMC45LTIsMi0yczIsMC45LDIsMlM5LjIsOS45LDguMSw5Ljl6Ii8+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik04LDAuN0M0LDAuNywwLjcsMy45LDAuNyw4YzAsNCwzLjIsNy4zLDcuMyw3LjNjNCwwLDcuMi0zLjIsNy4yLTcuM0MxNS4zLDMuOSwxMiwwLjcsOCwwLjd6IE0xMC4xLDEwbC02LjksMi43TDYsNS45DQoJCWw2LjgtMi44TDEwLjEsMTB6Ii8+DQoJPGNpcmNsZSBjeD0iOCIgY3k9IjcuOSIgcj0iMS4yIi8+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iNS4yNSIgeTE9IjQuMTkiIHgyPSI1LjI1IiB5Mj0iMTMuMjE3Ii8+DQo8cG9seWxpbmUgcG9pbnRzPSIyLjcxNiw2LjI5IDUuMjUsMy4wNjUgNy43ODQsNi4yOSAiLz4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMTAuNzUiIHkxPSIxMi4wOTIiIHgyPSIxMC43NSIgeTI9IjMuMDY1Ii8+DQo8cG9seWxpbmUgcG9pbnRzPSIxMy4yODQsOS45OTIgMTAuNzUsMTMuMjE3IDguMjE2LDkuOTkyICIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xMy45NTQsMi4xMzljLTAuMDg1LTAuMTYzLTAuMjUzLTAuMjY0LTAuNDM3LTAuMjY0SDIuNDhjLTAuMTgzLDAtMC4zNTIsMC4xMDItMC40MzcsMC4yNjRzLTAuMDc0LDAuMzU5LDAuMDMsMC41MQ0KCUw2Ljg2LDkuNjA0YzAsMS4zLDAsNC4wMTMsMCw0LjMyYzEuMDIxLTAuMjU0LDEuMjU4LDEuMTY1LDIuMjc4LDAuNDI5YzAtMC40MjYsMC0zLjM4NCwwLTQuNzQ4bDQuNzg1LTYuOTU3DQoJQzE0LjAyOCwyLjQ5OCwxNC4wNCwyLjMwMiwxMy45NTQsMi4xMzl6IE04LDguNjA0TDUuMzUxLDQuNzU0aDUuMjk3TDgsOC42MDR6Ii8+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS40MTczO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Qxe2ZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS40MTczO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8Zz4NCgk8Zz4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEzLjksMTMuMWMwLDAuMy0wLjIsMC41LTAuNSwwLjVIMi42Yy0wLjMsMC0wLjUtMC4yLTAuNS0wLjVWNS40YzAtMC4zLDAuMi0wLjUsMC41LTAuNWgxMC44DQoJCQljMC4zLDAsMC41LDAuMiwwLjUsMC41VjEzLjF6Ii8+DQoJPC9nPg0KCTxnPg0KCQk8cGF0aCBkPSJNMi43LDIuOGMwLTAuMywwLjItMC41LDAuNS0wLjVoMy45YzAuMywwLDAuNSwwLjIsMC41LDAuNXYxLjZjMCwwLjMtMC4yLDAuNS0wLjUsMC41SDMuMmMtMC4zLDAtMC41LTAuMi0wLjUtMC41VjIuOHoiLz4NCgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTIuNywyLjhjMC0wLjMsMC4yLTAuNSwwLjUtMC41aDMuOWMwLjMsMCwwLjUsMC4yLDAuNSwwLjV2MS42YzAsMC4zLTAuMiwwLjUtMC41LDAuNUgzLjINCgkJCWMtMC4zLDAtMC41LTAuMi0wLjUtMC41VjIuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxyZWN0IHg9IjIiIHk9IjEuOSIgd2lkdGg9IjUiIGhlaWdodD0iNSIvPg0KCTxyZWN0IHg9IjkuMSIgeT0iOSIgd2lkdGg9IjUiIGhlaWdodD0iNSIvPg0KCTxyZWN0IHg9IjIiIHk9IjkiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiLz4NCgk8cmVjdCB4PSI5LjEiIHk9IjEuOSIgd2lkdGg9IjUiIGhlaWdodD0iNSIvPg0KPC9nPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xLjUsNC4xYzAsMCw0LjMtMy45LDguNC0xLjRjNC4xLDIuNCw1LjQsNS42LDMuNiw3LjlDMTEuNCw3LjQsMTAuMyw1LjgsNiw0LjVjMCwwLDYuOCw0LjMsOCw5LjNjLTAuMiwxLjEtMS4yLDAuMy0xLjIsMC4zDQoJbC0xLjEtMS44YzAsMC0yLjEsMS42LTQuNi0wLjVDMi45LDguMSw2LjIsNCwxLjUsNC4xeiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAxMDEwMSIgc3Ryb2tlLXdpZHRoPSIxLjg1NDYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjEuNzI5IiB5MT0iMy4zNTkiIHgyPSIxNC4zMjMiIHkyPSIzLjM1OSIvPg0KCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAxMDEwMSIgc3Ryb2tlLXdpZHRoPSIxLjg1NDYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjEuNzI5IiB5MT0iNy45MzgiIHgyPSIxNC4zMjMiIHkyPSI3LjkzOCIvPg0KCQ0KCQk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiMwMTAxMDEiIHN0cm9rZS13aWR0aD0iMS44NTQ2IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSIxLjcyOSIgeTE9IjEyLjUxNiIgeDI9IjE0LjMyMyIgeTI9IjEyLjUxNiIvPg0KPC9nPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGlkPSJsb2NhbCIgZD0iTTE0LjI2OCw0LjI5M0g5LjY1TDguMTEsMi43NTRIMy40OTR2MS41MzlIMS45NTV2OS4yMzRoMTAuNzczdi0xLjUzOGgxLjUzOVY0LjI5M0wxNC4yNjgsNC4yOTN6IE0xMy40OTksMTEuMjE5DQoJaC0wLjc3MVY1LjgzMkg4LjExbC0xLjUzOC0xLjU0SDQuMjY0VjMuNTIzaDMuNTI5bDEuNTM5LDEuNTM5aDQuMTY3VjExLjIxOXoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTY2OTtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGc+DQoJPHBhdGggZD0iTTMuNCwxNC41Yy0wLjEsMC4xLTAuMywwLjEtMC40LDBMMS41LDEzYy0wLjEtMC4xLTAuMS0wLjMsMC0wLjRsNS4zLTYuMmMwLjEtMC4xLDAuMy0wLjEsMC40LDBsMi40LDIuNA0KCQljMC4xLDAuMSwwLjEsMC4zLDAsMC40TDMuNCwxNC41eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zLjQsMTQuNWMtMC4xLDAuMS0wLjMsMC4xLTAuNCwwTDEuNSwxM2MtMC4xLTAuMS0wLjEtMC4zLDAtMC40bDUuMy02LjJjMC4xLTAuMSwwLjMtMC4xLDAuNCwwbDIuNCwyLjQNCgkJYzAuMSwwLjEsMC4xLDAuMywwLDAuNEwzLjQsMTQuNXoiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIGQ9Ik0xMSw4YzAuMSwwLjEsMC4zLDAuMiwwLjUsMC4yYzAsMCwxLjUtMC4zLDIuMS0xYzEuMy0xLjMsMS4zLTMuNSwwLTQuOXMtMy41LTEuMy00LjksMEM4LDMsNy43LDQuNCw3LjcsNC40DQoJCWMwLDAuMiwwLDAuNCwwLjIsMC41TDExLDh6Ii8+DQoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTExLDhjMC4xLDAuMSwwLjMsMC4yLDAuNSwwLjJjMCwwLDEuNS0wLjMsMi4xLTFjMS4zLTEuMywxLjMtMy41LDAtNC45cy0zLjUtMS4zLTQuOSwwQzgsMyw3LjcsNC40LDcuNyw0LjQNCgkJYzAsMC4yLDAsMC40LDAuMiwwLjVMMTEsOHoiLz4NCjwvZz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS40MTczO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Qxe2ZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS40MTczO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGc+DQoJPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTIuMyIgY3k9IjEwLjMiIHI9IjIuNCIvPg0KCTxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjMuOCIgY3k9IjEyLjMiIHI9IjIuNCIvPg0KCTxwb2x5bGluZSBjbGFzcz0ic3QxIiBwb2ludHM9IjYuMiwxMi4zIDYuMiwzLjEgMTQuNywxLjEgMTQuNywxMC4zIAkiLz4NCjwvZz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik02LjIsMTMuOGMwLDAuMS0wLjEsMC4yLTAuMiwwLjJIMy42Yy0wLjEsMC0wLjItMC4xLTAuMi0wLjJWMi4yQzMuNCwyLjEsMy41LDIsMy42LDJoMi40YzAuMSwwLDAuMiwwLjEsMC4yLDAuMlYxMy44eiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggZD0iTTEyLjYsMTMuOGMwLDAuMS0wLjEsMC4yLTAuMiwwLjJoLTIuNGMtMC4xLDAtMC4yLTAuMS0wLjItMC4yVjIuMkM5LjksMi4xLDkuOSwyLDEwLjEsMmgyLjRjMC4xLDAsMC4yLDAuMSwwLjIsMC4yVjEzLjh6Ig0KCQkvPg0KPC9nPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjQsMS42YzAtMC4xLDAuMS0wLjIsMC4yLTAuMWw5LjYsNi4zYzAuMSwwLjEsMC4xLDAuMiwwLDAuMmwtOS42LDYuM2MtMC4xLDAuMS0wLjIsMC0wLjItMC4xVjEuNnoiLz4NCjwvZz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS40MTczO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Qxe2ZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS40MTczO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGc+DQoJPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iOC4xIiBjeT0iMTEuOCIgcj0iMi40Ii8+DQoJPHBvbHlsaW5lIGNsYXNzPSJzdDEiIHBvaW50cz0iMTAuNSwxMS44IDEwLjUsMS42IDE0LjUsNS43IAkiLz4NCgk8bGluZSBjbGFzcz0ic3QxIiB4MT0iMS42IiB5MT0iMS45IiB4Mj0iNy43IiB5Mj0iMS45Ii8+DQoJPGxpbmUgY2xhc3M9InN0MSIgeDE9IjEuNiIgeTE9IjQuMyIgeDI9IjcuNyIgeTI9IjQuMyIvPg0KCTxsaW5lIGNsYXNzPSJzdDEiIHgxPSIxLjYiIHkxPSI2LjciIHgyPSI3LjciIHkyPSI2LjciLz4NCjwvZz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjIuMjY3NztzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjIuMjY3NztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iNi45IiBjeT0iNyIgcj0iNC41Ii8+DQo8bGluZSBjbGFzcz0ic3QxIiB4MT0iMTAuMiIgeTE9IjkuOSIgeDI9IjE0LjUiIHkyPSIxNC4yIi8+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxyZWN0IHg9IjIuMDE4IiB5PSIyLjEyOCIgZmlsbD0iIzAxMDEwMSIgd2lkdGg9IjQuMjg5IiBoZWlnaHQ9IjQuMjg5Ii8+DQo8Zz4NCgk8cmVjdCB4PSI3LjMwNSIgeT0iMi4xMjgiIGZpbGw9IiMwMTAxMDEiIHdpZHRoPSI2LjY3OCIgaGVpZ2h0PSIwLjg1MSIvPg0KPC9nPg0KPGc+DQoJPHJlY3QgeD0iNy4zMDUiIHk9IjQuMTI4IiBmaWxsPSIjMDEwMTAxIiB3aWR0aD0iNi42NzgiIGhlaWdodD0iMC44NTEiLz4NCjwvZz4NCjxnPg0KCTxyZWN0IHg9IjcuMzA1IiB5PSI2LjEyOCIgZmlsbD0iIzAxMDEwMSIgd2lkdGg9IjYuNjc4IiBoZWlnaHQ9IjAuODUxIi8+DQo8L2c+DQo8cmVjdCB4PSIyLjAxOCIgeT0iOS4yMTEiIGZpbGw9IiMwMTAxMDEiIHdpZHRoPSI0LjI4OSIgaGVpZ2h0PSI0LjI4OSIvPg0KPGc+DQoJPHJlY3QgeD0iNy4zMDUiIHk9IjkuMjExIiBmaWxsPSIjMDEwMTAxIiB3aWR0aD0iNi42NzgiIGhlaWdodD0iMC44NTEiLz4NCjwvZz4NCjxnPg0KCTxyZWN0IHg9IjcuMzA1IiB5PSIxMS4yMTEiIGZpbGw9IiMwMTAxMDEiIHdpZHRoPSI2LjY3OCIgaGVpZ2h0PSIwLjg1MSIvPg0KPC9nPg0KPGc+DQoJPHJlY3QgeD0iNy4zMDUiIHk9IjEzLjIxMSIgZmlsbD0iIzAxMDEwMSIgd2lkdGg9IjYuNjc4IiBoZWlnaHQ9IjAuODUxIi8+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxlbGxpcHNlIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBjeD0iOCIgY3k9IjQuMzA2IiByeD0iNC40MzgiIHJ5PSIxLjI5MiIvPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xMi40MzgsNi45MTVjMCwwLjcxNC0xLjk4NiwxLjI5Mi00LjQzOCwxLjI5Mg0KCVMzLjU2Myw3LjYyOSwzLjU2Myw2LjkxNSIvPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xMi40MzgsOS41MjNjMCwwLjcxNC0xLjk4NiwxLjI5Mi00LjQzOCwxLjI5Mg0KCXMtNC40MzgtMC41NzgtNC40MzgtMS4yOTIiLz4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMy41NjMsNC4zMDZ2Ny44MjVjMCwwLjcxMywxLjk4NiwxLjI5Miw0LjQzOCwxLjI5Mg0KCXM0LjQzOC0wLjU3OSw0LjQzOC0xLjI5MlY0LjMwNiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0xMS40LDE0YzAsMC4xLTAuMSwwLjItMC4yLDAuMmgtMWMtMC4xLDAtMC4yLTAuMS0wLjItMC4yVjJjMC0wLjEsMC4xLTAuMiwwLjItMC4yaDFjMC4xLDAsMC4yLDAuMSwwLjIsMC4yVjE0eiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggZD0iTTMuOCwyLjNjMC0wLjEsMC4xLTAuMSwwLjItMC4xbDYuNiw1LjdjMC4xLDAuMSwwLjEsMC4yLDAsMC4zTDQsMTMuOGMtMC4xLDAuMS0wLjIsMC0wLjItMC4xVjIuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGlkPSJzb3VuZGNsb3VkIiBkPSJNMC4wMjcsMTAuOTQ1YzAsMC4xOTcsMC4wNzIsMC4zNDcsMC4yMTUsMC40NDdjMC4xNDUsMC4xMDQsMC4yOTgsMC4xMzksMC40NjIsMC4xMDgNCgljMC4xNTMtMC4wMjgsMC4yNjEtMC4wODQsMC4zMjMtMC4xNjRjMC4wNjMtMC4wNzksMC4wOTMtMC4yMTEsMC4wOTMtMC4zOTRWOC43ODljMC0wLjE1NC0wLjA1My0wLjI4My0wLjE1OS0wLjM5MQ0KCWMtMC4xMDctMC4xMDctMC4yMzctMC4xNi0wLjM5MS0wLjE2Yy0wLjE0NywwLTAuMjc1LDAuMDUzLTAuMzgyLDAuMTZDMC4wODEsOC41MDYsMC4wMjcsOC42MzUsMC4wMjcsOC43ODlWMTAuOTQ1TDAuMDI3LDEwLjk0NXoNCgkgTTEuNzM2LDExLjg2NWMwLDAuMTQ1LDAuMDUzLDAuMjUyLDAuMTU0LDAuMzIyYzAuMTAxLDAuMDcxLDAuMjMsMC4xMDgsMC4zODksMC4xMDhjMC4xNjUsMCwwLjI5Ny0wLjAzNywwLjM5Ny0wLjEwOA0KCWMwLjEwMy0wLjA3LDAuMTUzLTAuMTc5LDAuMTUzLTAuMzIyVjYuODQyYzAtMC4xNDgtMC4wNTUtMC4yNzYtMC4xNTktMC4zODNDMi41NjMsNi4zNTIsMi40MzQsNi4yOTgsMi4yNzksNi4yOTgNCgljLTAuMTQ4LDAtMC4yNzUsMC4wNTQtMC4zODMsMC4xNjFjLTAuMTA1LDAuMTA2LTAuMTYsMC4yMzQtMC4xNiwwLjM4M1YxMS44NjV6IE0zLjQzOCwxMi4xMDRjMCwwLjE0NSwwLjA1NCwwLjI1MiwwLjE1NiwwLjMyNA0KCWMwLjEwNSwwLjA3MSwwLjIzOCwwLjEwNywwLjQwMiwwLjEwN2MwLjE1NywwLDAuMjg4LTAuMDM2LDAuMzkxLTAuMTA3YzAuMTAxLTAuMDcyLDAuMTUxLTAuMTgxLDAuMTUxLTAuMzI0VjcuNTE4DQoJYzAtMC4xNTMtMC4wNTQtMC4yODUtMC4xNi0wLjM5NEM0LjI3MSw3LjAxNiw0LjE0NSw2Ljk2LDMuOTk3LDYuOTZjLTAuMTU0LDAtMC4yODUsMC4wNTYtMC4zOTUsMC4xNjQNCgljLTAuMTA4LDAuMTA4LTAuMTY0LDAuMjQtMC4xNjQsMC4zOTRWMTIuMTA0eiBNNS4xNDgsMTIuMTI1YzAsMC4yNzMsMC4xODUsMC40MSwwLjU1MSwwLjQxYzAuMzY3LDAsMC41NS0wLjEzNywwLjU1LTAuNDFWNC42OTQNCgljMC0wLjQxOC0wLjEyOC0wLjY1My0wLjM4LTAuNzA3QzUuNzA3LDMuOTQ4LDUuNTQ1LDMuOTk0LDUuMzg3LDQuMTI5QzUuMjI4LDQuMjYyLDUuMTQ4LDQuNDUsNS4xNDgsNC42OTRWMTIuMTI1eiBNNi44ODgsMTIuMzQyDQoJVjQuMjU2YzAtMC4yNTksMC4wNzctMC40MTIsMC4yMy0wLjQ2MWMwLjMzMy0wLjA4LDAuNjYzLTAuMTIsMC45ODktMC4xMmMwLjc1OCwwLDEuNDYzLDAuMTc5LDIuMTE4LDAuNTM1DQoJYzAuNjU0LDAuMzU3LDEuMTg1LDAuODQ1LDEuNTg4LDEuNDYyYzAuNDAxLDAuNjE1LDAuNjM4LDEuMjk1LDAuNzAxLDIuMDM5YzAuMzAzLTAuMTI5LDAuNjI1LTAuMTkzLDAuOTY5LTAuMTkzDQoJYzAuNjksMCwxLjI4NSwwLjI0NiwxLjc3NywwLjczNUMxNS43NTQsOC43NDQsMTYsOS4zMzQsMTYsMTAuMDIxYzAsMC42OTMtMC4yNDYsMS4yODctMC43MzksMS43NzYNCgljLTAuNDkzLDAuNDktMS4wODUsMC43MzYtMS43NzEsMC43MzZsLTYuNDY4LTAuMDA5Yy0wLjA0My0wLjAxNi0wLjA3Ny0wLjA0MS0wLjEwMi0wLjA4MkM2Ljg5OCwxMi40MDYsNi44ODgsMTIuMzcxLDYuODg4LDEyLjM0Mg0KCUw2Ljg4OCwxMi4zNDJ6Ii8+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGlkPSJzcG90aWZ5IiBkPSJNNy45NCwxLjg4N2MtMy4zODksMC02LjE2LDIuNzcyLTYuMTYsNi4xNjJjMCwzLjM5MSwyLjc3MSw2LjE2MSw2LjE2LDYuMTYxYzMuMzg4LDAsNi4xNi0yLjc3MSw2LjE2LTYuMTYxDQoJQzE0LjEsNC42NTksMTEuMzU3LDEuODg3LDcuOTQsMS44ODd6IE0xMC43NzMsMTAuNzg5Yy0wLjEyMywwLjE4Ni0wLjM0LDAuMjQ2LTAuNTIyLDAuMTIzYy0xLjQ0OS0wLjg5My0zLjI2Ny0xLjA3OC01LjQyMi0wLjU4NA0KCWMtMC4yMTUsMC4wNjEtMC4zOTktMC4wOTQtMC40NjEtMC4yNzlDNC4zMDYsOS44MzQsNC40NTgsOS42NSw0LjY0NSw5LjU4OGMyLjM0LTAuNTIzLDQuMzc1LTAuMzA5LDUuOTc1LDAuNjc4DQoJQzEwLjgzNiwxMC4zNTksMTAuODY2LDEwLjYwNSwxMC43NzMsMTAuNzg5eiBNMTEuNTE0LDkuMDk0Yy0wLjE1NCwwLjIxOS0wLjQzMywwLjMwOS0wLjY0NiwwLjE1Ng0KCWMtMS42NjQtMS4wMTgtNC4xOS0xLjMyNy02LjEzLTAuNzA5QzQuNDksOC42MDQsNC4yMTMsOC40OCw0LjE1MSw4LjIzMkM0LjA4OSw3Ljk4Niw0LjIxMyw3LjcwOCw0LjQ1OCw3LjY0OA0KCWMyLjI1LTAuNjc4LDUuMDIxLTAuMzQsNi45MzMsMC44MzJDMTEuNTc0LDguNTcyLDExLjY2Nyw4Ljg3OCwxMS41MTQsOS4wOTR6IE0xMS41NzQsNy4zNzFDOS42MDQsNi4xOTgsNi4zMDgsNi4wNzUsNC40Myw2LjY2MQ0KCUM0LjEyMSw2Ljc1NCwzLjgxMiw2LjU2OSwzLjcyLDYuMjkyQzMuNjI4LDUuOTgzLDMuODEyLDUuNjc2LDQuMDg5LDUuNTgzQzYuMjc2LDQuOTM3LDkuODgsNS4wNiwxMi4xNiw2LjQxNQ0KCWMwLjI3NywwLjE1NCwwLjM2OSwwLjUyMywwLjIxNSwwLjgwMUMxMi4yMjMsNy40MzEsMTEuODUyLDcuNTIzLDExLjU3NCw3LjM3MXoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik04LDAuOGMtMC4yLDAtMC4zLDAuMS0wLjQsMC40bC0yLDRMMS4yLDUuOEMwLjgsNS45LDAuNyw2LDAuNyw2LjJjMCwwLjEsMC4xLDAuMywwLjIsMC40bDMuMiwzLjFsLTAuOCw0LjQNCgljMCwwLjEsMCwwLjEsMCwwLjJjMCwwLjEsMCwwLjIsMC4xLDAuM3MwLjIsMC4xLDAuMywwLjFzMC4yLDAsMC40LTAuMWw0LTIuMWw0LDIuMWMwLjEsMC4xLDAuMiwwLjEsMC40LDAuMWMwLjEsMCwwLjIsMCwwLjMtMC4xDQoJczAuMS0wLjIsMC4xLTAuM3MwLTAuMSwwLTAuMmwtMC44LTQuNGwzLjItMy4xYzAuMi0wLjIsMC4yLTAuMywwLjItMC40YzAtMC4yLTAuMi0wLjQtMC41LTAuNGwtNC40LTAuNmwtMi00QzguMywwLjksOC4yLDAuOCw4LDAuOA0KCUw4LDAuOHoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiMyMzFGMjA7fQ0KPC9zdHlsZT4NCjxnPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNCwxMy44YzAsMC4xLTAuMSwwLjItMC4yLDAuMkgyLjJDMi4xLDE0LDIsMTMuOSwyLDEzLjhWMi4yQzIsMi4xLDIuMSwyLDIuMiwyaDExLjZDMTMuOSwyLDE0LDIuMSwxNCwyLjINCgkJVjEzLjh6Ii8+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTUuMzc2LDEzLjQ3NmMtMC41Ny0wLjU3MS0xLjE0My0xLjE0Mi0xLjcxNC0xLjcxNw0KCWMtMC4wNTUtMC4wNTUtMC4xMTQtMC4wNjMtMC4xODUtMC4wNjJjLTAuNDY3LDAtMC45MzMsMC0xLjQwMSwwYy0xLjU3OCwwLTMuMTU2LDAtNC43MzUsMGMtMC4wNjgsMC0wLjEzMSwwLjAwNS0wLjE4OC0wLjA1NA0KCWMtMC40NjYtMC40NzEtMC45MzUtMC45MzgtMS40MDQtMS40MDRjLTAuMDUxLTAuMDUxLTAuMDQ3LTAuMDc4LDAuMDAxLTAuMTI0YzAuMTY4LTAuMTY0LDAuMzM2LTAuMzI2LDAuNDk2LTAuNDk2DQoJYzAuMDc0LTAuMDgyLDAuMTEzLTAuMDYzLDAuMTgsMC4wMDZjMC4zNTQsMC4zNiwwLjcxNiwwLjcxNywxLjA3LDEuMDc4YzAuMDY0LDAuMDYyLDAuMTI1LDAuMDkyLDAuMjE3LDAuMDkyDQoJYzAuNzc0LTAuMDA1LDEuNTQ5LTAuMDAzLDIuMzIzLTAuMDA0YzAuMDQ0LDAsMC4wODgsMC4wMTcsMC4xMzItMC4wMjNjLTAuMDM1LTAuMDM4LTAuMDctMC4wNzctMC4xMDktMC4xMTUNCglDOS4yODUsOS44NzksOC41MTIsOS4xMDEsNy43MzIsOC4zM2MtMC4wODEtMC4wODItMC4wNzktMC4xMjUsMC4wMDMtMC4yQzcuODg5LDcuOTg4LDguMDM5LDcuODQsOC4xNzgsNy42ODQNCgljMC4wODMtMC4wOSwwLjEyNS0wLjA4OCwwLjIxMi0wLjAwMWMwLjc3LDAuNzc5LDEuNTQ3LDEuNTUzLDIuMzIzLDIuMzI3YzAuMDM0LDAuMDM1LDAuMDYxLDAuMDg3LDAuMTMzLDAuMDk3DQoJYzAtMC4wNDgsMC0wLjA5MSwwLTAuMTM0YzAtMC43NjktMC4wMDItMS41MzgsMC4wMDItMi4zMDhjMC0wLjA5Ni0wLjAzLTAuMTYyLTAuMDk5LTAuMjI4Yy0wLjM1LTAuMzQ1LTAuNjkyLTAuNjk4LTEuMDQ3LTEuMDQNCglDOS42MTMsNi4zMSw5LjU5NSw2LjI1OCw5LjY5OSw2LjE2NWMwLjE3Mi0wLjE1NywwLjMyOC0wLjMzMiwwLjQ5MS0wLjQ5OGMwLjA3LTAuMDM2LDAuMDkzLDAuMDMsMC4xMjgsMC4wNjQNCgljMC40NDQsMC40NDIsMC44ODcsMC44ODksMS4zMzMsMS4zMjljMC4wNzIsMC4wNzIsMC4xMDMsMC4xNDEsMC4xMDMsMC4yNDNjLTAuMDA0LDEuMTE0LTAuMDAyLDIuMjI5LTAuMDA2LDMuMzQ0DQoJYzAsMC4xMDksMC4wMiwwLjE1MiwwLjE0NCwwLjE0OWMwLjUyLTAuMDA4LDEuMDQxLTAuMDA3LDEuNTYyLDBjMC4xMTcsMC4wMDIsMC4xNDQtMC4wMzQsMC4xNDQtMC4xNDYNCgljLTAuMDAzLTEuMzc4LTAuMDAyLTIuNzU2LTAuMDAyLTQuMTMzYzAtMC4wODUtMC4wMjItMC4xNDUtMC4wODMtMC4yMDVDMTIuODgsNS42ODMsMTIuMjUsNS4wNTQsMTEuNjIzLDQuNDINCgljLTAuMDc1LTAuMDc2LTAuMTEzLTAuMDgzLTAuMTkyLTAuMDAxYy0wLjM2NSwwLjM3NS0wLjczOCwwLjc0NS0xLjExMiwxLjExNmMtMC4wMzUsMC4wMzMtMC4wNTgsMC4xLTAuMTI4LDAuMDYzDQoJYy0wLjAwOS0wLjAxMi0wLjAxNi0wLjAyNS0wLjAyNi0wLjAzNUM5LjE1Miw0LjU1MSw4LjEzOCwzLjU0LDcuMTI3LDIuNTI2QzcuMDY3LDIuNDY3LDcuMDA1LDIuNDU5LDYuOTMsMi40NTkNCglDNC45MDQsMi40NiwyLjg3NywyLjQ2LDAuODUxLDIuNDYxYy0wLjA0NCwwLTAuMDk2LTAuMDIxLTAuMTQyLDAuMDI0QzAuNzQzLDIuNTIyLDAuNzc1LDIuNTU5LDAuODEsMi41OTINCgljMC41MzcsMC41MzgsMS4wNzYsMS4wNzQsMS42MSwxLjYxNGMwLjA3MiwwLjA3MiwwLjE0MiwwLjEsMC4yNDIsMC4wOThjMS4xNjktMC4wMDIsMi4zMzctMC4wMDEsMy41MDctMC4wMDENCgljMC4wNzQsMCwwLjEzOCwwLjAwNCwwLjE5NywwLjA2NWMwLjM5MywwLjM5OSwwLjc4OCwwLjc5NSwxLjE4OCwxLjE4OGMwLjA3MSwwLjA2OCwwLjA1MSwwLjEwMS0wLjAwNywwLjE1OA0KCUM2Ljk1LDYuMzA5LDYuMzU0LDYuOTA0LDUuNzYsNy41MDJjLTAuMDYzLDAuMDY0LTAuMDk2LDAuMDY1LTAuMTU5LDBjLTAuMzktMC4zOTYtMC43ODMtMC43ODktMS4xNzgtMS4xNzgNCglDNC4zNjUsNi4yNjgsNC4zNDUsNi4yMTEsNC4zNDYsNi4xMzJjMC4wMDMtMC4yNjgtMC4wMDItMC41MzYsMC4wMDMtMC44MDRjMC4wMDItMC4wOTYtMC4wMjQtMC4xMjMtMC4xMjEtMC4xMjINCglDMy42OTcsNS4yMSwzLjE2Niw1LjIxMiwyLjYzNSw1LjIwNUMyLjUxOCw1LjIwNCwyLjUwMyw1LjI0NiwyLjUwMyw1LjM0OGMwLjAwNCwwLjUxMiwwLjAwNCwxLjAyMywwLDEuNTM1DQoJYzAsMC4wOTUsMC4wMjcsMC4xNjIsMC4wOTUsMC4yMjljMC45OTEsMC45ODYsMS45NzcsMS45NzksMi45NjksMi45NjJjMC4wOTYsMC4wOTQsMC4wODIsMC4xMzctMC4wMDUsMC4yMjMNCgljLTAuMzY2LDAuMzU2LTAuNzIyLDAuNzIzLTEuMDg4LDEuMDhjLTAuMDc4LDAuMDc2LTAuMDc5LDAuMTE0LDAsMC4xOTFjMC42MywwLjYyMywxLjI1NywxLjI1MiwxLjg4MSwxLjg4MQ0KCWMwLjA2NywwLjA2NywwLjEzNCwwLjA5MywwLjIyOSwwLjA5M2MyLjg5My0wLjAwMSw1Ljc4OS0wLjAwMSw4LjY4Mi0wLjAwMmMwLjA0NywwLDAuMDk1LDAuMDE3LDAuMTQ2LTAuMDE4DQoJQzE1LjM5NywxMy41MDUsMTUuMzg5LDEzLjQ4OSwxNS4zNzYsMTMuNDc2eiIvPg0KPC9zdmc+DQo="},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_Dropzone=__webpack_require__(372),_Dropzone2=_interopRequireDefault(_Dropzone),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),Dropzones=function(_React$Component){function Dropzones(props){_classCallCheck(this,Dropzones);var _this=_possibleConstructorReturn(this,(Dropzones.__proto__||Object.getPrototypeOf(Dropzones)).call(this,props));return _this._zones=[{title:"Add to queue",icon:"play",action:"enqueue"},{title:"Play next",icon:"play",action:"enqueue_next"},{title:"Add to playlist",icon:"playlist",action:"add_to_playlist",accepts:["tltrack","track","album","playlist","artist"]}],_this}return _inherits(Dropzones,_React$Component),_createClass(Dropzones,[{key:"handleMouseMove",value:function(e){if(!this.props.dragger||!this.props.dragger.active)return null;this.props.uiActions.dragMove(e)}},{key:"handleMouseUp",value:function(e,index){for(var target=this._zones[index],victims=this.props.dragger.victims,uris=[],i=0;i<victims.length;i++)uris.push(victims[i].uri);switch(target.action){case"enqueue":this.props.mopidyActions.enqueueURIs(uris,this.props.dragger.from_uri);break;case"enqueue_next":this.props.mopidyActions.enqueueURIs(uris,this.props.dragger.from_uri,!0);break;case"add_to_playlist":this.props.uiActions.openModal("add_to_playlist",{tracks_uris:uris})}}},{key:"render",value:function(){var _this2=this;return this.props.dragger&&this.props.dragger.active?_react2.default.createElement("div",{className:"dropzones"},this._zones.map(function(zone,index){return _react2.default.createElement(_Dropzone2.default,{key:index,data:zone,handleMouseUp:function(e){return _this2.handleMouseUp(e,index)}})})):null}}]),Dropzones}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{dragger:state.ui.dragger}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Dropzones)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=(__webpack_require__(3),__webpack_require__(2),__webpack_require__(18)),_Icon2=_interopRequireDefault(_Icon),Dropzone=function(_React$Component){function Dropzone(props){_classCallCheck(this,Dropzone);var _this=_possibleConstructorReturn(this,(Dropzone.__proto__||Object.getPrototypeOf(Dropzone)).call(this,props));return _this.state={hover:!1},_this.handleMouseOver=_this.handleMouseOver.bind(_this),_this.handleMouseOut=_this.handleMouseOut.bind(_this),_this}return _inherits(Dropzone,_React$Component),_createClass(Dropzone,[{key:"componentWillMount",value:function(){window.addEventListener("mouseover",this.handleMouseOver,!1),window.addEventListener("mouseout",this.handleMouseOut,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mouseover",this.handleMouseOver,!1),window.removeEventListener("mouseout",this.handleMouseOut,!1)}},{key:"handleMouseOver",value:function(e){this.setState({hover:!0})}},{key:"handleMouseOut",value:function(e){this.setState({hover:!1})}},{key:"render",value:function(){var _this2=this;return this.props.data?_react2.default.createElement("div",{className:this.state.hover?"dropzone hover":"dropzone",onMouseUp:function(e){return _this2.props.handleMouseUp(e)}},_react2.default.createElement(_Icon2.default,{className:"white",name:this.props.data.icon}),_react2.default.createElement("span",{className:"title"},this.props.data.title)):null}}]),Dropzone}(_react2.default.Component);exports.default=Dropzone},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={position:"absolute",width:"1px",height:"1px",padding:"0px",margin:"-1px",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",border:"0px"},module.exports=exports.default},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzc3Nzc3NyIgc3Ryb2tlLXdpZHRoPSIwLjE0MTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjQuMTY3IiB5MT0iNC4xNjciIHgyPSIyNy44MzMiIHkyPSIyNy44MzMiIG9wYWNpdHk9IjAuMyIgLz4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzc3Nzc3NyIgc3Ryb2tlLXdpZHRoPSIwLjE0MTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjQuMTY3IiB5MT0iMjcuODMzIiB4Mj0iMjcuODMzIiB5Mj0iNC4xNjciIG9wYWNpdHk9IjAuMyIgLz4NCjwvc3ZnPg0K"},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_ProgressSlider=__webpack_require__(376),_ProgressSlider2=_interopRequireDefault(_ProgressSlider),_VolumeControl=__webpack_require__(377),_VolumeControl2=_interopRequireDefault(_VolumeControl),_Dater=__webpack_require__(43),_Dater2=_interopRequireDefault(_Dater),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Icon=__webpack_require__(18),_Icon2=_interopRequireDefault(_Icon),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),PlaybackControls=function(_React$Component){function PlaybackControls(props){_classCallCheck(this,PlaybackControls);var _this=_possibleConstructorReturn(this,(PlaybackControls.__proto__||Object.getPrototypeOf(PlaybackControls)).call(this,props));return _this.state={expanded:!1},_this}return _inherits(PlaybackControls,_React$Component),_createClass(PlaybackControls,[{key:"renderPlayButton",value:function(){var _this2=this,button=_react2.default.createElement("a",{className:"control play",onClick:function(){return _this2.props.mopidyActions.play()}},_react2.default.createElement(_Icon2.default,{name:"play"}));return"playing"==this.props.play_state&&(button=_react2.default.createElement("a",{className:"control play",onClick:function(){return _this2.props.mopidyActions.pause()}},_react2.default.createElement(_Icon2.default,{name:"pause"}))),button}},{key:"renderConsumeButton",value:function(){var _this3=this,button=_react2.default.createElement("a",{className:"control has-tooltip",onClick:function(){return _this3.props.mopidyActions.instruct("tracklist.setConsume",[!0])}},_react2.default.createElement(_reactFontawesome2.default,{name:"fire"}),_react2.default.createElement("span",{className:"tooltip"},"Consume"));return this.props.consume&&(button=_react2.default.createElement("a",{className:"control active has-tooltip",onClick:function(){return _this3.props.mopidyActions.instruct("tracklist.setConsume",[!1])}},_react2.default.createElement(_reactFontawesome2.default,{name:"fire"}),_react2.default.createElement("span",{className:"tooltip"},"Consume"))),button}},{key:"renderRandomButton",value:function(){var _this4=this,button=_react2.default.createElement("a",{className:"control has-tooltip",onClick:function(){return _this4.props.mopidyActions.instruct("tracklist.setRandom",[!0])}},_react2.default.createElement(_reactFontawesome2.default,{name:"random"}),_react2.default.createElement("span",{className:"tooltip"},"Shuffle"));return this.props.random&&(button=_react2.default.createElement("a",{className:"control active has-tooltip",onClick:function(){return _this4.props.mopidyActions.instruct("tracklist.setRandom",[!1])}},_react2.default.createElement(_reactFontawesome2.default,{name:"random"}),_react2.default.createElement("span",{className:"tooltip"},"Shuffle"))),button}},{key:"renderRepeatButton",value:function(){var _this5=this,button=_react2.default.createElement("a",{className:"control has-tooltip",onClick:function(){return _this5.props.mopidyActions.instruct("tracklist.setRepeat",[!0])}},_react2.default.createElement(_reactFontawesome2.default,{name:"repeat"}),_react2.default.createElement("span",{className:"tooltip"},"Repeat"));return this.props.repeat&&(button=_react2.default.createElement("a",{className:"control active has-tooltip",onClick:function(){return _this5.props.mopidyActions.instruct("tracklist.setRepeat",[!1])}},_react2.default.createElement(_reactFontawesome2.default,{name:"repeat"}),_react2.default.createElement("span",{className:"tooltip"},"Repeat"))),button}},{key:"handleThumbnailClick",value:function(e){e.preventDefault(),this.props.uiActions.openModal("kiosk_mode")}},{key:"render",value:function(){var _this6=this,images=!1;return this.props.current_track&&this.props.current_track.images&&(images=this.props.current_track.images),_react2.default.createElement("div",{className:this.state.expanded?"expanded playback-controls":"playback-controls"},_react2.default.createElement("div",{className:"current-track"},_react2.default.createElement("div",{className:"thumbnail-wrapper",onClick:function(e){return _this6.handleThumbnailClick(e)}},_react2.default.createElement(_Thumbnail2.default,{size:"small",images:images})),_react2.default.createElement("div",{className:"title"},this.props.current_track?this.props.current_track.name:_react2.default.createElement("span",null,"-")),_react2.default.createElement("div",{className:"artist"},this.props.current_track?_react2.default.createElement(_ArtistSentence2.default,{artists:this.props.current_track.artists}):_react2.default.createElement(_ArtistSentence2.default,null))),_react2.default.createElement("section",{className:"playback"},_react2.default.createElement("a",{className:"control previous",onClick:function(){return _this6.props.mopidyActions.previous()}},_react2.default.createElement(_Icon2.default,{name:"back"})),this.renderPlayButton(),_react2.default.createElement("a",{className:"control stop",onClick:function(){return _this6.props.mopidyActions.stop()}},_react2.default.createElement(_Icon2.default,{name:"stop"})),_react2.default.createElement("a",{className:"control next",onClick:function(){return _this6.props.mopidyActions.next()}},_react2.default.createElement(_Icon2.default,{name:"skip"}))),_react2.default.createElement("section",{className:"settings"},this.renderConsumeButton(),this.renderRandomButton(),this.renderRepeatButton()),_react2.default.createElement("section",{className:"progress"},_react2.default.createElement(_ProgressSlider2.default,null),_react2.default.createElement("span",{className:"current"},this.props.time_position?_react2.default.createElement(_Dater2.default,{type:"length",data:this.props.time_position}):"-"),_react2.default.createElement("span",{className:"total"},this.props.current_track?_react2.default.createElement(_Dater2.default,{type:"length",data:this.props.current_track.length}):"-")),_react2.default.createElement("section",{className:"volume"},_react2.default.createElement(_VolumeControl2.default,null)),_react2.default.createElement("section",{className:"triggers"},_react2.default.createElement("a",{className:"control expanded-controls",onClick:function(){return _this6.setState({expanded:!_this6.state.expanded})}},this.state.expanded?_react2.default.createElement(_reactFontawesome2.default,{name:"chevron-down"}):_react2.default.createElement(_reactFontawesome2.default,{name:"chevron-up"})),_react2.default.createElement("a",{className:"control sidebar-toggle"+(this.props.sidebar_open?" open":""),onClick:function(){return _this6.props.uiActions.toggleSidebar()}},_react2.default.createElement(_reactFontawesome2.default,{className:"open",name:"bars"}))))}}]),PlaybackControls}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{current_track:state.core.current_track&&void 0!==state.core.tracks[state.core.current_track.uri]?state.core.tracks[state.core.current_track.uri]:null,radio_enabled:!(!state.ui.radio||!state.ui.radio.enabled),play_state:state.mopidy.play_state,time_position:state.mopidy.time_position,consume:state.mopidy.consume,repeat:state.mopidy.repeat,random:state.mopidy.random,sidebar_open:state.ui.sidebar_open}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(PlaybackControls)},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_actions=__webpack_require__(9),mopidyActions=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_actions),ProgressSlider=function(_React$Component){function ProgressSlider(props){return _classCallCheck(this,ProgressSlider),_possibleConstructorReturn(this,(ProgressSlider.__proto__||Object.getPrototypeOf(ProgressSlider)).call(this,props))}return _inherits(ProgressSlider,_React$Component),_createClass(ProgressSlider,[{key:"handleClick",value:function(e){var slider=e.target;"slider"!=slider.className&&(slider=slider.parentElement);var sliderX=e.clientX-slider.getBoundingClientRect().left,sliderWidth=slider.getBoundingClientRect().width,percent=(sliderX/sliderWidth).toFixed(2);if(this.props.connected&&this.props.current_track){var destination_time=this.props.current_track.duration*percent;this.props.mopidyActions.seek(destination_time),this.setState({animating:!1})}}},{key:"render",value:function(){var _this2=this,percent=0;return this.props.connected&&this.props.current_track&&(percent=this.props.time_position/this.props.current_track.duration,(percent*=100)>1e3&&(percent=100)),_react2.default.createElement("div",{className:"progress slider horizontal "+this.props.play_state,onClick:function(e){return _this2.handleClick(e)}},_react2.default.createElement("div",{className:"track"},_react2.default.createElement("div",{className:"progress",style:{width:percent+"%"}})))}}]),ProgressSlider}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{current_track:state.core.current_track&&void 0!==state.core.tracks[state.core.current_track.uri]?state.core.tracks[state.core.current_track.uri]:null,connected:state.mopidy.connected,time_position:state.mopidy.time_position,play_state:state.mopidy.play_state}},mapDispatchToProps=function(dispatch){return{mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ProgressSlider)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=(__webpack_require__(6),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_actions=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),VolumeControl=function(_React$Component){function VolumeControl(props){return _classCallCheck(this,VolumeControl),_possibleConstructorReturn(this,(VolumeControl.__proto__||Object.getPrototypeOf(VolumeControl)).call(this,props))}return _inherits(VolumeControl,_React$Component),_createClass(VolumeControl,[{key:"handleClick",value:function(e){var slider=e.target;"slider"!=slider.className&&(slider=slider.parentElement);var sliderX=e.clientX-slider.getBoundingClientRect().left,sliderWidth=slider.getBoundingClientRect().width,percent=Math.round(sliderX/sliderWidth*100);percent>100?percent=100:percent<0&&(percent=0),this.props.mopidyActions.setVolume(percent)}},{key:"handleWheel",value:function(e){var direction=e.deltaY>0?-1:1,percent=this.props.volume;percent+=5*direction,percent>100?percent=100:percent<0&&(percent=0),this.props.mopidyActions.setVolume(percent),e.preventDefault()}},{key:"renderMuteButton",value:function(){var _this2=this;return this.props.mute?_react2.default.createElement("a",{className:"control has-tooltip",onClick:function(){return _this2.props.mopidyActions.setMute(!1)}},_react2.default.createElement(_reactFontawesome2.default,{className:"red-text",name:"volume-down"}),_react2.default.createElement("span",{className:"tooltip"},"Unmute")):_react2.default.createElement("a",{className:"control has-tooltip",onClick:function(){return _this2.props.mopidyActions.setMute(!0)}},_react2.default.createElement(_reactFontawesome2.default,{className:"muted",name:"volume-off"}),_react2.default.createElement("span",{className:"tooltip"},"Mute"))}},{key:"render",value:function(){var _this3=this,className="volume-control";return this.props.mute&&(className+=" muted"),_react2.default.createElement("span",{className:className,onWheel:function(e){return _this3.handleWheel(e)}},this.renderMuteButton(),_react2.default.createElement("div",{className:"slider-wrapper"},_react2.default.createElement("div",{className:"slider horizontal",onClick:function(e){return _this3.handleClick(e)}},_react2.default.createElement("div",{className:"track"},_react2.default.createElement("div",{className:"progress",style:{width:this.props.volume+"%"}})))))}}]),VolumeControl}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{volume:state.mopidy.volume,mute:state.mopidy.mute}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(VolumeControl)},function(module,exports,__webpack_require__){"use strict";(function($,global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRouter=__webpack_require__(6),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(31),lastfmActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions6),_TrackList=__webpack_require__(27),ContextMenu=(_interopRequireDefault(_TrackList),function(_React$Component){function ContextMenu(props){_classCallCheck(this,ContextMenu);var _this=_possibleConstructorReturn(this,(ContextMenu.__proto__||Object.getPrototypeOf(ContextMenu)).call(this,props));return _this.state={submenu_expanded:!1},_this.handleScroll=_this.handleScroll.bind(_this),_this.handleMouseDown=_this.handleMouseDown.bind(_this),_this.handleTouchStart=_this.handleTouchStart.bind(_this),_this}return _inherits(ContextMenu,_React$Component),_createClass(ContextMenu,[{key:"componentDidMount",value:function(){window.addEventListener("scroll",this.handleScroll,!1),window.addEventListener("mousedown",this.handleMouseDown,!1),window.addEventListener("touchstart",this.handleTouchStart,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("scroll",this.handleScroll,!1),window.removeEventListener("mousedown",this.handleMouseDown,!1),window.removeEventListener("touchstart",this.handleTouchStart,!1)}},{key:"componentWillReceiveProps",value:function(nextProps){if(nextProps.menu&&!this.props.menu){this.setState({submenu_expanded:!1}),$("body").addClass("context-menu-open");var context=this.getContext(nextProps);if(nextProps.spotify_authorized&&"spotify"==context.source)switch(nextProps.menu.context){case"artist":case"album":case"playlist":this.props.spotifyActions.following(nextProps.menu.items[0].uri)}nextProps.lastfm_authorized&&context.is_track&&1==context.items_count&&nextProps.menu.items[0].uri&&void 0!==this.props.tracks[nextProps.menu.items[0].uri]&&void 0===this.props.tracks[nextProps.menu.items[0].uri].userloved&&this.props.lastfmActions.getTrack(nextProps.menu.items[0].uri)}else this.props.menu&&!nextProps.menu&&$("body").removeClass("context-menu-open")}},{key:"handleScroll",value:function(e){this.props.menu&&this.props.uiActions.hideContextMenu()}},{key:"handleMouseDown",value:function(e){$(e.target).closest(".context-menu").length<=0&&$(e.target).closest(".context-menu-trigger").length<=0&&this.props.uiActions.hideContextMenu()}},{key:"handleTouchStart",value:function(e){$(e.target).closest(".context-menu").length<=0&&$(e.target).closest(".context-menu-trigger").length<=0&&this.props.uiActions.hideContextMenu()}},{key:"getContext",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,context={name:null,nice_name:"Unknown",is_track:!1};if(props.menu&&props.menu.context){switch(context.name=props.menu.context,context.nice_name=props.menu.context,props.menu.context){case"playlist":case"editable-playlist":context.nice_name="playlist";break;case"track":case"queue-track":case"playlist-track":case"editable-playlist-track":context.nice_name="track",context.is_track=!0}if(props.menu.items&&props.menu.items.length>0){var item=props.menu.items[0];context.item=item,context.items_count=props.menu.items.length,context.source=helpers.uriSource(item.uri),context.type=helpers.uriType(item.uri),context.in_library=this.inLibrary(item),context.is_loved=this.isLoved(item)}}return context}},{key:"inLibrary",value:function(){var item=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!item)return!1;switch(helpers.uriType(item.uri)){case"artist":return this.props.spotify_library_artists&&this.props.spotify_library_artists.indexOf(item.uri)>-1;case"album":return this.props.spotify_library_albums&&this.props.spotify_library_albums.indexOf(item.uri)>-1;case"playlist":return this.props.spotify_library_playlists&&this.props.spotify_library_playlists.indexOf(item.uri)>-1}return!1}},{key:"isLoved",value:function(){var item=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!item)return!1;if(void 0===this.props.tracks[item.uri])return!1;var track=this.props.tracks[item.uri];return void 0!==track.userloved&&"1"==track.userloved}},{key:"canBeInLibrary",value:function(){return!!this.props.spotify_authorized&&"spotify"==helpers.uriSource(this.props.menu.items[0].uri)}},{key:"toggleInLibrary",value:function(e,in_library){this.props.uiActions.hideContextMenu(),in_library?this.props.spotifyActions.following(this.props.menu.items[0].uri,"DELETE"):this.props.spotifyActions.following(this.props.menu.items[0].uri,"PUT")}},{key:"playQueueItem",value:function(e){this.props.uiActions.hideContextMenu();var tracks=this.props.menu.items;this.props.mopidyActions.changeTrack(tracks[0].tlid)}},{key:"removeFromQueue",value:function(e){this.props.uiActions.hideContextMenu();for(var tracks=this.props.menu.items,tracks_tlids=[],i=0;i<tracks.length;i++)tracks_tlids.push(tracks[i].tlid);this.props.mopidyActions.removeTracks(tracks_tlids)}},{key:"playURIs",value:function(e){this.props.uiActions.hideContextMenu(),this.props.mopidyActions.playURIs(this.props.menu.uris,this.props.menu.tracklist_uri)}},{key:"playPlaylist",value:function(e){this.props.uiActions.hideContextMenu(),this.props.mopidyActions.playPlaylist(this.props.menu.uris[0])}},{key:"playArtistTopTracks",value:function(e){this.props.uiActions.hideContextMenu(),this.props.spotifyActions.playArtistTopTracks(this.props.menu.uris[0])}},{key:"addToQueue",value:function(e){var next=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.props.uiActions.hideContextMenu(),this.props.mopidyActions.enqueueURIs(this.props.menu.uris,this.props.menu.tracklist_uri,next)}},{key:"addTracksToPlaylist",value:function(e,playlist_uri){this.props.uiActions.hideContextMenu(),this.props.coreActions.addTracksToPlaylist(playlist_uri,this.props.menu.uris)}},{key:"toggleLoved",value:function(e,is_loved){this.props.uiActions.hideContextMenu(),is_loved?this.props.lastfmActions.unloveTrack(this.props.menu.items[0].uri):this.props.lastfmActions.loveTrack(this.props.menu.items[0].uri)}},{key:"unloveTrack",value:function(e){this.props.uiActions.hideContextMenu(),this.props.lastfmActions.unloveTrack(this.props.menu.items[0])}},{key:"removeFromPlaylist",value:function(e){this.props.uiActions.hideContextMenu(),this.props.coreActions.removeTracksFromPlaylist(this.props.menu.tracklist_uri,this.props.menu.indexes)}},{key:"deletePlaylist",value:function(e){this.props.uiActions.hideContextMenu(),this.props.coreActions.deletePlaylist(this.props.menu.uris[0])}},{key:"startRadio",value:function(e){this.props.uiActions.hideContextMenu(),this.props.pusherActions.startRadio(this.props.menu.uris)}},{key:"goToRecommendations",value:function(e){this.props.uiActions.hideContextMenu();var uris_string=helpers.arrayOf("uri",this.props.menu.items).join(",");_reactRouter.hashHistory.push(global.baseURL+"discover/recommendations/"+uris_string)}},{key:"goToArtist",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0||!this.props.menu.items[0].artists||this.props.menu.items[0].artists.length<=0)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"artist/"+this.props.menu.items[0].artists[0].uri)}},{key:"goToAlbum",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0||!this.props.menu.items[0].album)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"album/"+this.props.menu.items[0].album.uri)}},{key:"goToUser",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"user/"+this.props.menu.items[0].owner.uri)}},{key:"goToTrack",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"track/"+encodeURIComponent(this.props.menu.items[0].uri))}},{key:"copyURIs",value:function(e){var temp=$("<input>");$("body").append(temp),temp.val(this.props.menu.uris.join(",")).select(),document.execCommand("copy"),temp.remove(),this.props.uiActions.createNotification("Copied "+this.props.menu.uris.length+" URIs"),this.props.uiActions.hideContextMenu()}},{key:"closeAndDeselectTracks",value:function(e){this.props.uiActions.hideContextMenu()}},{key:"renderPlaylistSubmenu",value:function(){var _this2=this,playlists=[];for(var uri in this.props.playlists)this.props.playlists[uri].can_edit&&playlists.push(this.props.playlists[uri]);playlists=helpers.sortItems(playlists,"name");var loader=null;this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR&&"running"==this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status&&(loader=_react2.default.createElement("div",{className:"menu-item-wrapper"},_react2.default.createElement("div",{className:"menu-item mini-loader loading"},_react2.default.createElement("div",{className:"loader"}))));var list=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("span",{className:"menu-item grey-text"},"No writable playlists"));return playlists.length>0&&(list=playlists.map(function(playlist){return _react2.default.createElement("span",{className:"menu-item-wrapper",key:playlist.uri},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this2.addTracksToPlaylist(e,playlist.uri)}},_react2.default.createElement("span",{className:"label"},playlist.name)))})),_react2.default.createElement("div",{className:this.state.submenu_expanded?"submenu expanded":"submenu"},_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item close-submenu",onClick:function(e){return _this2.setState({submenu_expanded:!1})}},_react2.default.createElement("span",{className:"label"},_react2.default.createElement(_reactFontawesome2.default,{name:"caret-left"}),"   Back"))),list,loader)}},{key:"renderTitle",value:function(){var context=this.getContext();if("custom"==context.name)return _react2.default.createElement("span",{className:"title"},_react2.default.createElement("div",{className:"background generic"}),_react2.default.createElement("div",{className:"text"},this.props.menu.title));switch(context.type){case"artist":case"album":case"playlist":var style=null;return context.item&&context.item.images&&(style={backgroundImage:"url("+helpers.sizedImages(context.item.images).medium+")"}),_react2.default.createElement(_reactRouter.Link,{className:"title",to:global.baseURL+context.type+"/"+context.item.uri},style?_react2.default.createElement("div",{className:"background",style:style}):null,_react2.default.createElement("div",{className:"type"},context.source," ",context.nice_name),_react2.default.createElement("div",{className:"text"},context.item.name));default:return _react2.default.createElement("span",{className:"title"},_react2.default.createElement("div",{className:"type"},context.source," ",context.nice_name,"s"),_react2.default.createElement("div",{className:"text"},context.items_count," items"),_react2.default.createElement("div",{className:"background generic"}))}}},{key:"setPlaylistSubmenu",value:function(){var expanded=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.state.submenu_expanded;this.setState({submenu_expanded:expanded}),expanded&&(this.props.spotify_library_playlists_loaded_all||this.props.spotifyActions.getLibraryPlaylists(),this.props.mopidy_library_playlists_loaded_all||this.props.mopidyActions.getLibraryPlaylists())}},{key:"renderItems",value:function(){var _this3=this,context=this.getContext(),play_uris=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.playURIs(e)}},_react2.default.createElement("span",{className:"label"},"Play"))),play_playlist=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.playPlaylist(e)}},_react2.default.createElement("span",{className:"label"},"Play"))),play_queue_item=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.playQueueItem(e)}},_react2.default.createElement("span",{className:"label"},"Play"))),play_uris_next=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.addToQueue(e,!0)}},_react2.default.createElement("span",{className:"label"},"Play next"))),play_artist_top_tracks=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.playArtistTopTracks(e)}},_react2.default.createElement("span",{className:"label"},"Play top tracks"))),add_to_queue=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.addToQueue(e)}},_react2.default.createElement("span",{className:"label"},"Add to queue"))),add_to_playlist=_react2.default.createElement("span",{className:"menu-item-wrapper has-submenu"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.setPlaylistSubmenu()}},_react2.default.createElement("span",{className:"label"},"Add to playlist"),_react2.default.createElement(_reactFontawesome2.default,{className:"submenu-icon",name:"caret-right"})),this.renderPlaylistSubmenu()),toggle_in_library=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.toggleInLibrary(e,context.in_library)}},_react2.default.createElement("span",{className:"label"},context.in_library?"Remove from library":"Add to library")));if(this.props.lastfm_authorized)if(helpers.isLoading(this.props.load_queue,["lastfm_track.getInfo"]))var toggle_loved=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item"},_react2.default.createElement("span",{className:"label grey-text"},"Love track")));else var toggle_loved=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.toggleLoved(e,context.is_loved)}},_react2.default.createElement("span",{className:"label"},context.is_loved?"Unlove":"Love"," track")));else var toggle_loved=null;var go_to_artist=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.goToArtist(e)}},_react2.default.createElement("span",{className:"label"},"Go to artist"))),go_to_album=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.goToAlbum(e)}},_react2.default.createElement("span",{className:"label"},"Go to album"))),go_to_user=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.goToUser(e)}},_react2.default.createElement("span",{className:"label"},"Go to user"))),go_to_track=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.goToTrack(e)}},_react2.default.createElement("span",{className:"label"},"Track info"))),go_to_recommendations=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.goToRecommendations(e)}},_react2.default.createElement("span",{className:"label"},"Discover similar"))),start_radio=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.startRadio(e)}},_react2.default.createElement("span",{className:"label"},"Start radio"))),remove_from_queue=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.removeFromQueue(e)}},_react2.default.createElement("span",{className:"label"},"Remove"))),remove_from_playlist=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.removeFromPlaylist(e)}},_react2.default.createElement("span",{className:"label"},"Remove"))),delete_playlist=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.deletePlaylist(e)}},_react2.default.createElement("span",{className:"label"},"Delete"))),copy_uris=_react2.default.createElement("span",{className:"menu-item-wrapper"},_react2.default.createElement("a",{className:"menu-item",onClick:function(e){return _this3.copyURIs(e)}},_react2.default.createElement("span",{className:"label"},"Copy URI",context.items_count>1?"s":"")));switch(context.name){case"album":return _react2.default.createElement("div",null,play_uris,play_uris_next,add_to_queue,this.canBeInLibrary()?_react2.default.createElement("div",{className:"divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"divider"}),go_to_artist,copy_uris);case"artist":return _react2.default.createElement("div",null,"spotify"==context.source?play_artist_top_tracks:null,"spotify"==context.source?start_radio:null,this.canBeInLibrary()?_react2.default.createElement("div",{className:"divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"divider"}),"spotify"==context.source?go_to_recommendations:null,copy_uris);case"playlist":return _react2.default.createElement("div",null,play_playlist,this.canBeInLibrary()?_react2.default.createElement("div",{className:"divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"divider"}),"spotify"==context.source?go_to_user:null,copy_uris);case"editable-playlist":return _react2.default.createElement("div",null,play_playlist,this.canBeInLibrary()?_react2.default.createElement("div",{className:"divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"divider"}),"spotify"==context.source?go_to_user:null,copy_uris,_react2.default.createElement("div",{className:"divider"}),delete_playlist);case"queue-track":return _react2.default.createElement("div",null,1==context.items_count?play_queue_item:null,_react2.default.createElement("div",{className:"divider"}),add_to_playlist,toggle_loved,_react2.default.createElement("div",{className:"divider"}),"spotify"==context.source&&context.items_count<=5?go_to_recommendations:null,1==context.items_count?go_to_track:null,copy_uris,_react2.default.createElement("div",{className:"divider"}),remove_from_queue);case"editable-playlist-track":return _react2.default.createElement("div",null,play_uris,play_uris_next,add_to_queue,"spotify"==context.source&&1==context.items_count?start_radio:null,_react2.default.createElement("div",{className:"divider"}),add_to_playlist,toggle_loved,_react2.default.createElement("div",{className:"divider"}),"spotify"==context.source&&context.items_count<=5?go_to_recommendations:null,1==context.items_count?go_to_track:null,copy_uris,_react2.default.createElement("div",{className:"divider"}),remove_from_playlist);default:return _react2.default.createElement("div",null,play_uris,play_uris_next,add_to_queue,"spotify"==context.source&&1==context.items_count?start_radio:null,_react2.default.createElement("div",{className:"divider"}),add_to_playlist,toggle_loved,_react2.default.createElement("div",{className:"divider"}),"spotify"==context.source&&context.items_count<=5?go_to_recommendations:null,1==context.items_count?go_to_album:null,1==context.items_count?go_to_track:null,_react2.default.createElement("div",{className:"divider"}),copy_uris)}}},{key:"render",value:function(){var _this4=this;if(!this.props.menu)return null;var style={left:this.props.menu.position_x,top:this.props.menu.position_y},className="context-menu "+this.props.menu.context;return this.state.submenu_expanded&&(className+=" submenu-expanded"),this.props.menu.position_x>window.innerWidth-174&&(style.left="auto",style.right=10),this.props.menu.position_y>window.innerHeight-200&&(style.top="auto",style.bottom=10),_react2.default.createElement("div",{id:"context-menu",className:className,style:style},_react2.default.createElement("div",{className:"liner"},this.renderTitle(),"custom"==this.props.menu.context?this.props.menu.options:this.renderItems()),_react2.default.createElement("div",{className:"background",onClick:function(e){return _this4.props.uiActions.hideContextMenu()}}))}}]),ContextMenu}(_react2.default.Component)),mapStateToProps=function(state,ownProps){return{menu:state.ui.context_menu,load_queue:state.ui.load_queue,processes:state.ui.processes,current_track:state.core.current_track,current_tracklist:state.core.current_tracklist,spotify_library_playlists:state.spotify.library_playlists,spotify_library_playlists_loaded_all:state.spotify.library_playlists_loaded_all,mopidy_library_playlists:state.mopidy.library_playlists,mopidy_library_playlists_loaded_all:state.mopidy.library_playlists_loaded_all,spotify_library_artists:state.spotify.library_artists,mopidy_library_artists:state.mopidy.library_artists,spotify_library_albums:state.spotify.library_albums,mopidy_library_albums:state.mopidy.library_albums,playlists:state.core.playlists,tracks:state.core.tracks,spotify_authorized:state.spotify.authorization,lastfm_authorized:state.lastfm.session}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ContextMenu)}).call(exports,__webpack_require__(19),__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),Dragger=function(_React$Component){function Dragger(props){_classCallCheck(this,Dragger);var _this=_possibleConstructorReturn(this,(Dragger.__proto__||Object.getPrototypeOf(Dragger)).call(this,props));return _this.handleMouseMove=_this.handleMouseMove.bind(_this),_this.handleMouseUp=_this.handleMouseUp.bind(_this),_this.state={active:!1,position_x:0,position_y:0},_this}return _inherits(Dragger,_React$Component),_createClass(Dragger,[{key:"componentDidMount",value:function(){window.addEventListener("mousemove",this.handleMouseMove,!1),window.addEventListener("mouseup",this.handleMouseUp,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mousemove",this.handleMouseMove,!1),window.removeEventListener("mouseup",this.handleMouseUp,!1)}},{key:"handleMouseMove",value:function(e){if(!this.props.dragger)return null;if(e.clientX>this.props.dragger.start_x+10||e.clientX<this.props.dragger.start_x-10||e.clientY>this.props.dragger.start_y+10||e.clientY<this.props.dragger.start_y-10){this.setState({position_x:e.clientX,position_y:e.clientY});for(var dropzones=document.getElementsByClassName("dropzone"),i=0;i<dropzones.length;i++)dropzones[i].classList.remove("hover");e.target.classList.contains("dropzone")&&!e.target.classList.contains("hover")&&(e.target.className+=" hover"),this.props.dragger.active||this.props.uiActions.dragActive()}}},{key:"handleMouseUp",value:function(e){if(!this.props.dragger)return null;this.props.uiActions.dragEnd(e)}},{key:"render",value:function(){if(!this.props.dragger||!this.props.dragger.active)return null;var style={left:this.state.position_x,top:this.state.position_y};return _react2.default.createElement("div",{className:"dragger",style:style},"Dragging ",this.props.dragger.victims.length," things")}}]),Dragger}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{dragger:state.ui.dragger}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Dragger)},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_helpers=(_interopRequireDefault(_reactFontawesome),__webpack_require__(1)),_Icon=(_interopRequireWildcard(_helpers),__webpack_require__(18)),_Icon2=_interopRequireDefault(_Icon),_AddToPlaylistModal=__webpack_require__(381),_AddToPlaylistModal2=_interopRequireDefault(_AddToPlaylistModal),_AddToQueueModal=__webpack_require__(382),_AddToQueueModal2=_interopRequireDefault(_AddToQueueModal),_CreatePlaylistModal=__webpack_require__(383),_CreatePlaylistModal2=_interopRequireDefault(_CreatePlaylistModal),_EditPlaylistModal=__webpack_require__(384),_EditPlaylistModal2=_interopRequireDefault(_EditPlaylistModal),_EditRadioModal=__webpack_require__(385),_EditRadioModal2=_interopRequireDefault(_EditRadioModal),_ImageZoomModal=__webpack_require__(386),_ImageZoomModal2=_interopRequireDefault(_ImageZoomModal),_KioskModeModal=__webpack_require__(387),_KioskModeModal2=_interopRequireDefault(_KioskModeModal),_SearchURISchemesModal=__webpack_require__(388),_SearchURISchemesModal2=_interopRequireDefault(_SearchURISchemesModal),_VolumeModal=__webpack_require__(392),_VolumeModal2=_interopRequireDefault(_VolumeModal),_AuthorizationModal_Send=__webpack_require__(393),_AuthorizationModal_Send2=_interopRequireDefault(_AuthorizationModal_Send),_AuthorizationModal_Receive=__webpack_require__(394),_AuthorizationModal_Receive2=_interopRequireDefault(_AuthorizationModal_Receive),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions5),Modal=function(_React$Component){function Modal(props){return _classCallCheck(this,Modal),_possibleConstructorReturn(this,(Modal.__proto__||Object.getPrototypeOf(Modal)).call(this,props))}return _inherits(Modal,_React$Component),_createClass(Modal,[{key:"componentWillReceiveProps",value:function(nextProps){nextProps.modal?$("body").addClass("modal-open"):$("body").removeClass("modal-open")}},{key:"toggleFullscreen",value:function(){var app=document.documentElement;app.requestFullscreen?app.requestFullscreen():app.webkitRequestFullscreen?app.webkitRequestFullscreen():app.mozRequestFullScreen?app.mozRequestFullScreen():app.msRequestFullscreen&&app.msRequestFullscreen()}},{key:"render",value:function(){var _this2=this;if(!this.props.modal)return null;return"kiosk_mode"==this.props.modal.name&&!0,_react2.default.createElement("div",{className:this.props.modal.name+" modal"},_react2.default.createElement("div",{className:"controls"},_react2.default.createElement("div",{className:"control close",onClick:function(e){return _this2.props.uiActions.closeModal()}},_react2.default.createElement(_Icon2.default,{name:"close",className:"white"}))),_react2.default.createElement("div",{className:"content"},"add_to_playlist"==this.props.modal.name?_react2.default.createElement(_AddToPlaylistModal2.default,{uiActions:this.props.uiActions,coreActions:this.props.coreActions,spotifyActions:this.props.spotifyActions,mopidyActions:this.props.mopidyActions,playlists:this.props.playlists,tracks_uris:this.props.modal.data.tracks_uris,spotify_library_playlists:this.props.spotify_library_playlists,mopidy_library_playlists:this.props.mopidy_library_playlists,processes:this.props.processes}):null,"add_to_queue"==this.props.modal.name?_react2.default.createElement(_AddToQueueModal2.default,{uiActions:this.props.uiActions,mopidyActions:this.props.mopidyActions}):null,"create_playlist"==this.props.modal.name?_react2.default.createElement(_CreatePlaylistModal2.default,{uiActions:this.props.uiActions,coreActions:this.props.coreActions}):null,"edit_playlist"==this.props.modal.name?_react2.default.createElement(_EditPlaylistModal2.default,{uiActions:this.props.uiActions,coreActions:this.props.coreActions,data:this.props.modal.data}):null,"send_authorization"==this.props.modal.name?_react2.default.createElement(_AuthorizationModal_Send2.default,{uiActions:this.props.uiActions,pusherActions:this.props.pusherActions,data:this.props.modal.data}):null,"receive_authorization"==this.props.modal.name?_react2.default.createElement(_AuthorizationModal_Receive2.default,{uiActions:this.props.uiActions,spotifyActions:this.props.spotifyActions,data:this.props.modal.data}):null,"edit_radio"==this.props.modal.name?_react2.default.createElement(_EditRadioModal2.default,{uiActions:this.props.uiActions,pusherActions:this.props.pusherActions,spotifyActions:this.props.spotifyActions,data:this.props.modal.data,radio:this.props.radio,artists:this.props.artists,tracks:this.props.tracks}):null,"image_zoom"==this.props.modal.name?_react2.default.createElement(_ImageZoomModal2.default,{uiActions:this.props.uiActions,data:this.props.modal.data}):null,"kiosk_mode"==this.props.modal.name?_react2.default.createElement(_KioskModeModal2.default,{uiActions:this.props.uiActions,data:this.props.modal.data,current_track:this.props.current_track}):null,"search_uri_schemes"==this.props.modal.name?_react2.default.createElement(_SearchURISchemesModal2.default,{uiActions:this.props.uiActions,coreActions:this.props.coreActions,search_uri_schemes:this.props.search_uri_schemes,available_uri_schemes:this.props.uri_schemes,data:this.props.modal.data}):null,"volume"==this.props.modal.name?_react2.default.createElement(_VolumeModal2.default,{uiActions:this.props.uiActions,mopidyActions:this.props.mopidyActions,volume:this.props.volume,mute:this.props.mute}):null))}}]),Modal}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{current_track:state.core.current_track&&void 0!==state.core.tracks[state.core.current_track.uri]?state.core.tracks[state.core.current_track.uri]:null,uri_schemes:state.mopidy.uri_schemes?state.mopidy.uri_schemes:[],search_uri_schemes:state.ui.search_uri_schemes?state.ui.search_uri_schemes:[],volume:state.mopidy.volume,mute:state.mopidy.mute,modal:state.ui.modal,radio:state.core.radio,tracks:state.core.tracks,artists:state.core.artists,playlists:state.core.playlists,context_menu:state.ui.context_menu,processes:state.ui.processes,load_queue:state.ui.load_queue,mopidy_connected:state.mopidy.connected,spotify_authorized:state.spotify.authorization,spotify_library_playlists:state.spotify.library_playlists,mopidy_library_playlists:state.mopidy.library_playlists}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Modal)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Icon=__webpack_require__(18),_Thumbnail=(_interopRequireDefault(_Icon),__webpack_require__(15)),_Thumbnail2=_interopRequireDefault(_Thumbnail),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),AddToPlaylistModal=function(_React$Component){function AddToPlaylistModal(props){_classCallCheck(this,AddToPlaylistModal);var _this=_possibleConstructorReturn(this,(AddToPlaylistModal.__proto__||Object.getPrototypeOf(AddToPlaylistModal)).call(this,props));return _this.props.spotify_library_playlists||_this.props.spotifyActions.getLibraryPlaylists(),_this.props.mopidy_library_playlists||_this.props.mopidyActions.getLibraryPlaylists(),_this}return _inherits(AddToPlaylistModal,_React$Component),_createClass(AddToPlaylistModal,[{key:"playlistSelected",value:function(playlist_uri){this.props.coreActions.addTracksToPlaylist(playlist_uri,this.props.tracks_uris),this.props.uiActions.closeModal()}},{key:"render",value:function(){var _this2=this;if(!this.props.playlists)return _react2.default.createElement("div",{className:"empty"},"No editable playlists");var playlists=[];for(var uri in this.props.playlists)this.props.playlists[uri].can_edit&&playlists.push(this.props.playlists[uri]);playlists=helpers.sortItems(playlists,"name");var loader=null;return this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR&&"running"==this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status&&(loader=_react2.default.createElement("div",{className:"lazy-loader body-loader loading"},_react2.default.createElement("div",{className:"loader"}))),_react2.default.createElement("div",null,_react2.default.createElement("h1",null,"Add to playlist"),_react2.default.createElement("h2",{className:"grey-text"},"Select playlist to add ",this.props.tracks_uris.length," track",this.props.tracks_uris.length>1?"s":null," to"),playlists.length<=0?_react2.default.createElement("div",{className:"no-results"},"No playlists available"):null,_react2.default.createElement("div",{className:"list small playlists"},playlists.map(function(playlist){return _react2.default.createElement("div",{className:"list-item",key:playlist.uri,onClick:function(){return _this2.playlistSelected(playlist.uri)}},_react2.default.createElement(_Thumbnail2.default,{images:playlist.images,size:"small"}),_react2.default.createElement("h3",{className:"name"},playlist.name),_react2.default.createElement("ul",{className:"details"},_react2.default.createElement("li",null,_react2.default.createElement(_reactFontawesome2.default,{className:"source",name:helpers.sourceIcon(playlist.uri)})),_react2.default.createElement("li",null,playlist.tracks_total?_react2.default.createElement("span",{className:"grey-text"}," ",playlist.tracks_total," tracks"):null)))})),loader)}}]),AddToPlaylistModal}(_react2.default.Component);exports.default=AddToPlaylistModal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_Icon=(_interopRequireDefault(_reactFontawesome),__webpack_require__(18)),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),AddToQueueModal=(function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers),function(_React$Component){function AddToQueueModal(props){_classCallCheck(this,AddToQueueModal);var _this=_possibleConstructorReturn(this,(AddToQueueModal.__proto__||Object.getPrototypeOf(AddToQueueModal)).call(this,props));return _this.state={uris:"",next:!1},_this}return _inherits(AddToQueueModal,_React$Component),_createClass(AddToQueueModal,[{key:"handleSubmit",value:function(e){var uris=this.state.uris.split(",");this.props.mopidyActions.enqueueURIs(uris,null,this.state.next),this.props.uiActions.closeModal()}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("div",null,_react2.default.createElement("h1",null,"Add to queue"),_react2.default.createElement("h2",{className:"grey-text"},"Add a comma-separated list of URIs to the play queue. You must have the appropriate Mopidy backend enabled for each URI schema (eg spotify:, yt:)."),_react2.default.createElement("form",{onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"URI(s)"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({uris:e.target.value})},value:this.state.uris})),_react2.default.createElement("div",{className:"field radio white"},_react2.default.createElement("span",{className:"label"},"Position"),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"next",checked:!this.state.next,onChange:function(e){return _this2.setState({next:!1})}}),_react2.default.createElement("span",{className:"label"},"End")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"next",checked:this.state.next,onChange:function(e){return _this2.setState({next:!0})}}),_react2.default.createElement("span",{className:"label"},"After current track"))),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{type:"submit",className:"primary wide"},"Add"))))}}]),AddToQueueModal}(_react2.default.Component));exports.default=AddToQueueModal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(18),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),CreatePlaylistModal=(function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers),function(_React$Component){function CreatePlaylistModal(props){_classCallCheck(this,CreatePlaylistModal);var _this=_possibleConstructorReturn(this,(CreatePlaylistModal.__proto__||Object.getPrototypeOf(CreatePlaylistModal)).call(this,props));return _this.state={name:"",description:"",scheme:"spotify",is_public:!0,is_collaborative:!1},_this}return _inherits(CreatePlaylistModal,_React$Component),_createClass(CreatePlaylistModal,[{key:"createPlaylist",value:function(e){return e.preventDefault(),this.state.name&&""!=this.state.name?(this.props.coreActions.createPlaylist(this.state.scheme,this.state.name,this.state.description,this.state.is_public,this.state.is_collaborative),this.props.uiActions.closeModal(),!1):(this.setState({error:"Name is required"}),!1)}},{key:"renderFields",value:function(){var _this2=this;switch(this.state.scheme){case"spotify":return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"Name"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name})),_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"Description"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({description:e.target.value})},value:this.state.description})),_react2.default.createElement("div",{className:"field checkbox white"},_react2.default.createElement("span",{className:"label"},"Options"),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"is_public",checked:this.state.is_public,onChange:function(e){return _this2.setState({is_public:!_this2.state.is_public})}}),_react2.default.createElement("span",{className:"label"},"Public")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"is_collaborative",checked:this.state.is_collaborative,onChange:function(e){return _this2.setState({is_collaborative:!_this2.state.is_collaborative})}}),_react2.default.createElement("span",{className:"label"},"Collaborative"))));default:return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"Name"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name})))}}},{key:"render",value:function(){var _this3=this;return _react2.default.createElement("div",null,_react2.default.createElement("h1",null,"Create playlist"),_react2.default.createElement("form",{onSubmit:function(e){return _this3.createPlaylist(e)}},_react2.default.createElement("div",{className:"field radio white"},_react2.default.createElement("span",{className:"label"},"Provider"),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"scheme",value:"spotify",checked:"spotify"==this.state.scheme,onChange:function(e){return _this3.setState({scheme:e.target.value})}}),_react2.default.createElement("span",{className:"label"},"Spotify")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"scheme",value:"m3u",checked:"m3u"==this.state.scheme,onChange:function(e){return _this3.setState({scheme:e.target.value})}}),_react2.default.createElement("span",{className:"label"},"Mopidy"))),this.renderFields(),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{type:"submit",className:"primary wide"},"Create"))))}}]),CreatePlaylistModal}(_react2.default.Component));exports.default=CreatePlaylistModal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(18),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),EditPlaylistModal=function(_React$Component){function EditPlaylistModal(props){_classCallCheck(this,EditPlaylistModal);var _this=_possibleConstructorReturn(this,(EditPlaylistModal.__proto__||Object.getPrototypeOf(EditPlaylistModal)).call(this,props));return _this.state={error:null,name:_this.props.data.name,description:_this.props.data.description?_this.props.data.description:"",public:_this.props.data.public,collaborative:_this.props.data.collaborative},_this}return _inherits(EditPlaylistModal,_React$Component),_createClass(EditPlaylistModal,[{key:"savePlaylist",value:function(e){return e.preventDefault(),this.state.name&&""!=this.state.name?(this.props.coreActions.savePlaylist(this.props.data.uri,this.state.name,this.state.description,this.state.public,this.state.collaborative),this.props.uiActions.closeModal(),!1):(this.setState({error:"Name is required"}),!1)}},{key:"renderFields",value:function(){var _this2=this;switch(helpers.uriSource(this.props.data.uri)){case"spotify":return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"Name"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name})),_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"Description"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({description:e.target.value})},value:this.state.description})),_react2.default.createElement("div",{className:"field checkbox white"},_react2.default.createElement("span",{className:"label"},"Options"),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"playlist_private",checked:this.state.public,onChange:function(e){return _this2.setState({public:!_this2.state.public})}}),_react2.default.createElement("span",{className:"label"},"Public")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"collaborative",checked:this.state.collaborative,onChange:function(e){return _this2.setState({collaborative:!_this2.state.collaborative})}}),_react2.default.createElement("span",{className:"label"},"Collaborative"))));default:return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"Name"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name})))}}},{key:"render",value:function(){var _this3=this;return _react2.default.createElement("div",null,_react2.default.createElement("h1",null,"Edit playlist"),this.state.error?_react2.default.createElement("h3",{className:"red-text"},this.state.error):null,_react2.default.createElement("form",{onSubmit:function(e){return _this3.savePlaylist(e)}},this.renderFields(),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{type:"submit",className:"primary wide"},"Save"))))}}]),EditPlaylistModal}(_react2.default.Component);exports.default=EditPlaylistModal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Icon=__webpack_require__(18),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),EditRadioModal=function(_React$Component){function EditRadioModal(props){_classCallCheck(this,EditRadioModal);var _this=_possibleConstructorReturn(this,(EditRadioModal.__proto__||Object.getPrototypeOf(EditRadioModal)).call(this,props));return _this.state={enabled:!1,seeds:[],uri:"",error_message:null},_this}return _inherits(EditRadioModal,_React$Component),_createClass(EditRadioModal,[{key:"componentDidMount",value:function(){if(!this.props.radio||!this.props.radio.enabled)return null;var seeds=[].concat(_toConsumableArray(this.props.radio.seed_tracks),_toConsumableArray(this.props.radio.seed_artists),_toConsumableArray(this.props.radio.seed_genres));this.setState({seeds:seeds,enabled:this.props.radio.enabled}),this.props.spotifyActions.resolveRadioSeeds(this.props.radio)}},{key:"handleStart",value:function(e){e.preventDefault();for(var valid_seeds=!0,seeds=this.mapSeeds(),i=0;i<seeds.length;i++)void 0===seeds[i].unresolved||(valid_seeds=!1);valid_seeds?(this.props.pusherActions.startRadio(this.state.seeds),this.props.uiActions.closeModal()):this.setState({error_message:"Invalid seed URI(s)"})}},{key:"handleUpdate",value:function(e){e.preventDefault();for(var valid_seeds=!0,seeds=this.mapSeeds(),i=0;i<seeds.length;i++)void 0===seeds[i].unresolved||(valid_seeds=!1);valid_seeds?(this.props.pusherActions.updateRadio(this.state.seeds),this.props.uiActions.closeModal()):this.setState({error_message:"Invalid seed URI(s)"})}},{key:"handleStop",value:function(e){e.preventDefault(),this.props.pusherActions.stopRadio(),this.props.uiActions.closeModal()}},{key:"addSeed",value:function(){if(""==this.state.uri)return void this.setState({error_message:"Cannot be empty"});for(var seeds=Object.assign([],this.state.seeds),uris=this.state.uri.split(","),i=0;i<uris.length;i++){if("spotify"!==helpers.uriSource(uris[i]))return void this.setState({error_message:"Non-Spotify URIs not supported"});switch(seeds.indexOf(uris[i])>-1?this.setState({error_message:"URI already added"}):(seeds.push(uris[i]),this.setState({error_message:null})),helpers.uriType(uris[i])){case"track":this.props.spotifyActions.getTrack(uris[i]);break;case"artist":this.props.spotifyActions.getArtist(uris[i])}}this.setState({seeds:seeds,uri:""})}},{key:"removeSeed",value:function(uri){for(var seeds=[],i=0;i<this.state.seeds.length;i++)this.state.seeds[i]!=uri&&seeds.push(this.state.seeds[i]);this.setState({seeds:seeds})}},{key:"mapSeeds",value:function(){var seeds=[];if(this.state.seeds)for(var i=0;i<this.state.seeds.length;i++){var uri=this.state.seeds[i];uri&&("artist"==helpers.uriType(uri)?this.props.artists&&this.props.artists.hasOwnProperty(uri)?seeds.push(this.props.artists[uri]):seeds.push({unresolved:!0,uri:uri}):"track"==helpers.uriType(uri)&&(this.props.tracks&&this.props.tracks.hasOwnProperty(uri)?seeds.push(this.props.tracks[uri]):seeds.push({unresolved:!0,uri:uri})))}return seeds}},{key:"renderSeeds",value:function(){var _this2=this,seeds=this.mapSeeds();return seeds.length>0?_react2.default.createElement("div",null,_react2.default.createElement("div",{className:"list"},seeds.map(function(seed,index){return _react2.default.createElement("div",{className:"list-item",key:seed.uri},seed.unresolved?_react2.default.createElement("span",{className:"grey-text"},seed.uri):_react2.default.createElement("span",null,seed.name),seed.unresolved?null:_react2.default.createElement("span",{className:"grey-text"}," (",seed.type,")"),_react2.default.createElement("button",{className:"discrete remove-uri no-hover",onClick:function(e){return _this2.removeSeed(seed.uri)}},_react2.default.createElement(_reactFontawesome2.default,{name:"trash"})))}))):_react2.default.createElement("div",null,_react2.default.createElement("div",{className:"list"},_react2.default.createElement("div",{className:"list-item no-click"},_react2.default.createElement("span",{className:"grey-text"},"No seeds"))))}},{key:"render",value:function(){var _this3=this;return _react2.default.createElement("div",null,_react2.default.createElement("h1",null,"Radio"),_react2.default.createElement("h2",{className:"grey-text"},"Add and remove seeds to shape the sound of your radio. Radio uses Spotify's recommendations engine to suggest tracks similar to your seeds."),_react2.default.createElement("form",null,this.renderSeeds(),_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("span",{className:"label"},"URI(s)"),_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({uri:e.target.value,error_message:null})},value:this.state.uri}),_react2.default.createElement("span",{className:"button discrete add-uri no-hover",onClick:function(e){return _this3.addSeed()}},_react2.default.createElement(_reactFontawesome2.default,{name:"plus"}),"  Add"),this.state.error_message?_react2.default.createElement("span",{className:"description error"},this.state.error_message):null)),_react2.default.createElement("form",null,_react2.default.createElement("div",{className:"actions centered-text"},this.state.enabled?_react2.default.createElement("button",{className:"destructive wide",onClick:function(e){return _this3.handleStop(e)}},"Stop"):null,this.state.enabled?_react2.default.createElement("button",{className:"primary wide",onClick:function(e){return _this3.handleUpdate(e)}},"Save"):_react2.default.createElement("button",{className:"primary wide",onClick:function(e){return _this3.handleStart(e)}},"Start"))))}}]),EditRadioModal}(_react2.default.Component);exports.default=EditRadioModal},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_helpers=__webpack_require__(1),_Icon=(_interopRequireWildcard(_helpers),__webpack_require__(18)),ImageZoomModal=(_interopRequireDefault(_Icon),function(_React$Component){function ImageZoomModal(props){return _classCallCheck(this,ImageZoomModal),_possibleConstructorReturn(this,(ImageZoomModal.__proto__||Object.getPrototypeOf(ImageZoomModal)).call(this,props))}return _inherits(ImageZoomModal,_React$Component),_createClass(ImageZoomModal,[{key:"handleClick",value:function(e,connectionid){return e.preventDefault(),this.props.uiActions.closeModal(),!1}},{key:"render",value:function(){return this.props.data.url?_react2.default.createElement("div",{className:"image",style:{backgroundImage:"url("+this.props.data.url+")"}}):null}}]),ImageZoomModal}(_react2.default.Component)),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ImageZoomModal)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_actions=(__webpack_require__(3),__webpack_require__(6),__webpack_require__(2),__webpack_require__(4)),_helpers=(_interopRequireWildcard(_actions),__webpack_require__(1)),_Icon=(_interopRequireWildcard(_helpers),__webpack_require__(18)),_Thumbnail=(_interopRequireDefault(_Icon),__webpack_require__(15)),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),KioskModeModal=function(_React$Component){function KioskModeModal(props){return _classCallCheck(this,KioskModeModal),_possibleConstructorReturn(this,(KioskModeModal.__proto__||Object.getPrototypeOf(KioskModeModal)).call(this,props))}return _inherits(KioskModeModal,_React$Component),_createClass(KioskModeModal,[{key:"handleClick",value:function(e,connectionid){return e.preventDefault(),this.props.uiActions.closeModal(),!1}},{key:"render",value:function(){if(this.props.current_track&&this.props.current_track.images)var images=this.props.current_track.images;else var images=[];return _react2.default.createElement("div",{className:"kisk-mode-modal"},_react2.default.createElement(_Thumbnail2.default,{className:"background",images:images}),_react2.default.createElement(_Thumbnail2.default,{className:"foreground",images:images}),_react2.default.createElement("div",{className:"player"},_react2.default.createElement("div",{className:"current-track"},_react2.default.createElement("div",{className:"title"},this.props.current_track?this.props.current_track.name:_react2.default.createElement("span",null,"-")),this.props.current_track?_react2.default.createElement(_ArtistSentence2.default,{nolinks:!0,artists:this.props.current_track.artists}):_react2.default.createElement(_ArtistSentence2.default,null))))}}]),KioskModeModal}(_react2.default.Component);exports.default=KioskModeModal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_reactSortablejs=__webpack_require__(389),_reactSortablejs2=_interopRequireDefault(_reactSortablejs),_Icon=__webpack_require__(18),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),SearchURISchemesModal=(function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers),function(_React$Component){function SearchURISchemesModal(props){_classCallCheck(this,SearchURISchemesModal);var _this=_possibleConstructorReturn(this,(SearchURISchemesModal.__proto__||Object.getPrototypeOf(SearchURISchemesModal)).call(this,props));return _this.state={schemes:[],available_schemes:_this.props.available_uri_schemes},_this}return _inherits(SearchURISchemesModal,_React$Component),_createClass(SearchURISchemesModal,[{key:"componentDidMount",value:function(){this.setState({schemes:Object.assign([],this.props.search_uri_schemes)})}},{key:"handleSubmit",value:function(e){this.props.uiActions.set({search_uri_schemes:this.state.schemes}),this.props.uiActions.closeModal()}},{key:"handleToggle",value:function(scheme){var uri_schemes=this.state.schemes,index=uri_schemes.indexOf(scheme);index>-1?uri_schemes.splice(index,1):uri_schemes.push(scheme),this.setState(uri_schemes)}},{key:"render",value:function(){for(var _this2=this,unselected_schemes=[],i=0;i<this.props.available_uri_schemes.length;i++){var scheme=this.props.available_uri_schemes[i];this.state.schemes.includes(scheme)||unselected_schemes.push(scheme)}return _react2.default.createElement("div",null,_react2.default.createElement("h1",{className:"no-bottom-padding"},"Search sources"),_react2.default.createElement("h2",{className:"grey-text bottom-padding"},"Customise the providers used when searching. Reduce the number of providers to speed up your searches."),_react2.default.createElement("form",{onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement(_reactSortablejs2.default,{className:"list",options:{handle:".drag-handle"},onChange:function(order,sortable,e){_this2.setState({schemes:order})}},this.state.schemes.map(function(scheme){return _react2.default.createElement("div",{className:"list-item draggable",key:scheme,"data-id":scheme},_react2.default.createElement(_reactFontawesome2.default,{className:"grey-text drag-handle",name:"bars"}),scheme.replace(":",""),_react2.default.createElement("button",{className:"discrete remove-uri no-hover",onClick:function(e){return _this2.handleToggle(scheme)}},_react2.default.createElement(_reactFontawesome2.default,{name:"trash"})))})),_react2.default.createElement("div",{className:"available-schemes"},_react2.default.createElement("h4",null,"Add more schemes"),unselected_schemes.map(function(scheme){return _react2.default.createElement("div",{className:"scheme flag large blue",key:scheme,onClick:function(e){return _this2.handleToggle(scheme)}},scheme.replace(":",""),"  ",_react2.default.createElement(_reactFontawesome2.default,{name:"plus"}))})),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{type:"submit",className:"primary wide"},"Save"))))}}]),SearchURISchemesModal}(_react2.default.Component));exports.default=SearchURISchemesModal},function(module,exports,__webpack_require__){"use strict";var _Sortable=__webpack_require__(390),_Sortable2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_Sortable);module.exports=_Sortable2.default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _class,_temp2,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_propTypes=__webpack_require__(20),_propTypes2=_interopRequireDefault(_propTypes),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(64),_reactDom2=_interopRequireDefault(_reactDom),_sortablejs=__webpack_require__(391),_sortablejs2=_interopRequireDefault(_sortablejs),store={nextSibling:null,activeComponent:null},Sortable=(_temp2=_class=function(_Component){function Sortable(){var _ref,_temp,_this,_ret;_classCallCheck(this,Sortable);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_ref=Sortable.__proto__||Object.getPrototypeOf(Sortable)).call.apply(_ref,[this].concat(args))),_this.sortable=null,_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Sortable,_Component),_createClass(Sortable,[{key:"componentDidMount",value:function(){var _this2=this,options=_extends({},this.props.options);["onChoose","onStart","onEnd","onAdd","onUpdate","onSort","onRemove","onFilter","onMove","onClone"].forEach(function(name){var eventHandler=options[name];options[name]=function(){for(var _len2=arguments.length,params=Array(_len2),_key2=0;_key2<_len2;_key2++)params[_key2]=arguments[_key2];var evt=params[0];if("onChoose"===name)store.nextSibling=evt.item.nextElementSibling,store.activeComponent=_this2;else if(("onAdd"===name||"onUpdate"===name)&&_this2.props.onChange){var items=_this2.sortable.toArray(),remote=store.activeComponent,remoteItems=remote.sortable.toArray(),referenceNode=store.nextSibling&&null!==store.nextSibling.parentNode?store.nextSibling:null;if(evt.from.insertBefore(evt.item,referenceNode),remote!==_this2){var remoteOptions=remote.props.options||{};"object"===_typeof(remoteOptions.group)&&"clone"===remoteOptions.group.pull&&evt.item.parentNode.removeChild(evt.item),remote.props.onChange&&remote.props.onChange(remoteItems,remote.sortable,evt)}_this2.props.onChange&&_this2.props.onChange(items,_this2.sortable,evt)}if("move"===evt.type){var _evt=params[0],originalEvent=params[1];return!eventHandler||eventHandler(_evt,originalEvent)}setTimeout(function(){eventHandler&&eventHandler(evt)},0)}}),this.sortable=_sortablejs2.default.create(_reactDom2.default.findDOMNode(this),options)}},{key:"componentWillUnmount",value:function(){this.sortable&&(this.sortable.destroy(),this.sortable=null)}},{key:"render",value:function(){var _props=this.props,Component=_props.tag,props=_objectWithoutProperties(_props,["tag"]);return delete props.options,delete props.onChange,_react2.default.createElement(Component,props)}}]),Sortable}(_react.Component),_class.propTypes={options:_propTypes2.default.object,onChange:_propTypes2.default.func,tag:_propTypes2.default.string,style:_propTypes2.default.object},_class.defaultProps={options:{},tag:"div",style:{}},_temp2);exports.default=Sortable},function(module,exports,__webpack_require__){(function(__webpack_provided_window_dot_jQuery){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__;/**!
* Sortable
* @author RubaXa <trash@rubaxa.org>
* @license MIT
*/
!function(factory){"use strict";__WEBPACK_AMD_DEFINE_FACTORY__=factory,void 0!==(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof __WEBPACK_AMD_DEFINE_FACTORY__?__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,__webpack_require__,exports,module):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(function(){"use strict";function Sortable(el,options){if(!el||!el.nodeType||1!==el.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(el);this.el=el,this.options=options=_extend({},options),el[expando]=this;var defaults={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(el.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,setData:function(dataTransfer,dragEl){dataTransfer.setData("Text",dragEl.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Sortable.supportPointer};for(var name in defaults)!(name in options)&&(options[name]=defaults[name]);_prepareGroup(options);for(var fn in this)"_"===fn.charAt(0)&&"function"==typeof this[fn]&&(this[fn]=this[fn].bind(this));this.nativeDraggable=!options.forceFallback&&supportDraggable,_on(el,"mousedown",this._onTapStart),_on(el,"touchstart",this._onTapStart),options.supportPointer&&_on(el,"pointerdown",this._onTapStart),this.nativeDraggable&&(_on(el,"dragover",this),_on(el,"dragenter",this)),touchDragOverListeners.push(this._onDragOver),options.store&&this.sort(options.store.get(this))}function _cloneHide(sortable,state){"clone"!==sortable.lastPullMode&&(state=!0),cloneEl&&cloneEl.state!==state&&(_css(cloneEl,"display",state?"none":""),state||cloneEl.state&&(sortable.options.group.revertClone?(rootEl.insertBefore(cloneEl,nextEl),sortable._animate(dragEl,cloneEl)):rootEl.insertBefore(cloneEl,dragEl)),cloneEl.state=state)}function _closest(el,selector,ctx){if(el){ctx=ctx||document;do{if(">*"===selector&&el.parentNode===ctx||_matches(el,selector))return el}while(el=_getParentOrHost(el))}return null}function _getParentOrHost(el){var parent=el.host;return parent&&parent.nodeType?parent:el.parentNode}function _globalDragOver(evt){evt.dataTransfer&&(evt.dataTransfer.dropEffect="move"),evt.preventDefault()}function _on(el,event,fn){el.addEventListener(event,fn,captureMode)}function _off(el,event,fn){el.removeEventListener(event,fn,captureMode)}function _toggleClass(el,name,state){if(el)if(el.classList)el.classList[state?"add":"remove"](name);else{var className=(" "+el.className+" ").replace(R_SPACE," ").replace(" "+name+" "," ");el.className=(className+(state?" "+name:"")).replace(R_SPACE," ")}}function _css(el,prop,val){var style=el&&el.style;if(style){if(void 0===val)return document.defaultView&&document.defaultView.getComputedStyle?val=document.defaultView.getComputedStyle(el,""):el.currentStyle&&(val=el.currentStyle),void 0===prop?val:val[prop];prop in style||(prop="-webkit-"+prop),style[prop]=val+("string"==typeof val?"":"px")}}function _find(ctx,tagName,iterator){if(ctx){var list=ctx.getElementsByTagName(tagName),i=0,n=list.length;if(iterator)for(;i<n;i++)iterator(list[i],i);return list}return[]}function _dispatchEvent(sortable,rootEl,name,targetEl,toEl,fromEl,startIndex,newIndex){sortable=sortable||rootEl[expando];var evt=document.createEvent("Event"),options=sortable.options,onName="on"+name.charAt(0).toUpperCase()+name.substr(1);evt.initEvent(name,!0,!0),evt.to=toEl||rootEl,evt.from=fromEl||rootEl,evt.item=targetEl||rootEl,evt.clone=cloneEl,evt.oldIndex=startIndex,evt.newIndex=newIndex,rootEl.dispatchEvent(evt),options[onName]&&options[onName].call(sortable,evt)}function _onMove(fromEl,toEl,dragEl,dragRect,targetEl,targetRect,originalEvt,willInsertAfter){var evt,retVal,sortable=fromEl[expando],onMoveFn=sortable.options.onMove;return evt=document.createEvent("Event"),evt.initEvent("move",!0,!0),evt.to=toEl,evt.from=fromEl,evt.dragged=dragEl,evt.draggedRect=dragRect,evt.related=targetEl||toEl,evt.relatedRect=targetRect||toEl.getBoundingClientRect(),evt.willInsertAfter=willInsertAfter,fromEl.dispatchEvent(evt),onMoveFn&&(retVal=onMoveFn.call(sortable,evt,originalEvt)),retVal}function _disableDraggable(el){el.draggable=!1}function _unsilent(){_silent=!1}function _ghostIsLast(el,evt){var lastEl=el.lastElementChild,rect=lastEl.getBoundingClientRect();return evt.clientY-(rect.top+rect.height)>5||evt.clientX-(rect.left+rect.width)>5}function _generateId(el){for(var str=el.tagName+el.className+el.src+el.href+el.textContent,i=str.length,sum=0;i--;)sum+=str.charCodeAt(i);return sum.toString(36)}function _index(el,selector){var index=0;if(!el||!el.parentNode)return-1;for(;el&&(el=el.previousElementSibling);)"TEMPLATE"===el.nodeName.toUpperCase()||">*"!==selector&&!_matches(el,selector)||index++;return index}function _matches(el,selector){if(el){selector=selector.split(".");var tag=selector.shift().toUpperCase(),re=new RegExp("\\s("+selector.join("|")+")(?=\\s)","g");return!(""!==tag&&el.nodeName.toUpperCase()!=tag||selector.length&&((" "+el.className+" ").match(re)||[]).length!=selector.length)}return!1}function _throttle(callback,ms){var args,_this;return function(){void 0===args&&(args=arguments,_this=this,setTimeout(function(){1===args.length?callback.call(_this,args[0]):callback.apply(_this,args),args=void 0},ms))}}function _extend(dst,src){if(dst&&src)for(var key in src)src.hasOwnProperty(key)&&(dst[key]=src[key]);return dst}function _clone(el){return Polymer&&Polymer.dom?Polymer.dom(el).cloneNode(!0):$?$(el).clone(!0)[0]:el.cloneNode(!0)}function _saveInputCheckedState(root){for(var inputs=root.getElementsByTagName("input"),idx=inputs.length;idx--;){var el=inputs[idx];el.checked&&savedInputChecked.push(el)}}function _nextTick(fn){return setTimeout(fn,0)}function _cancelNextTick(id){return clearTimeout(id)}if("undefined"==typeof window||!window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var dragEl,parentEl,ghostEl,cloneEl,rootEl,nextEl,lastDownEl,scrollEl,scrollParentEl,scrollCustomFn,lastEl,lastCSS,lastParentCSS,oldIndex,newIndex,activeGroup,putSortable,tapEvt,touchEvt,moved,autoScroll={},R_SPACE=/\s+/g,R_FLOAT=/left|right|inline/,expando="Sortable"+(new Date).getTime(),win=window,document=win.document,parseInt=win.parseInt,setTimeout=win.setTimeout,$=__webpack_provided_window_dot_jQuery||win.Zepto,Polymer=win.Polymer,captureMode=!1,passiveMode=!1,supportDraggable="draggable"in document.createElement("div"),supportCssPointerEvents=function(el){return!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\.|msie)/i)&&(el=document.createElement("x"),el.style.cssText="pointer-events:auto","auto"===el.style.pointerEvents)}(),_silent=!1,abs=Math.abs,min=Math.min,savedInputChecked=[],touchDragOverListeners=[],_autoScroll=_throttle(function(evt,options,rootEl){if(rootEl&&options.scroll){var el,rect,vx,vy,scrollOffsetX,scrollOffsetY,_this=rootEl[expando],sens=options.scrollSensitivity,speed=options.scrollSpeed,x=evt.clientX,y=evt.clientY,winWidth=window.innerWidth,winHeight=window.innerHeight;if(scrollParentEl!==rootEl&&(scrollEl=options.scroll,scrollParentEl=rootEl,scrollCustomFn=options.scrollFn,!0===scrollEl)){scrollEl=rootEl;do{if(scrollEl.offsetWidth<scrollEl.scrollWidth||scrollEl.offsetHeight<scrollEl.scrollHeight)break}while(scrollEl=scrollEl.parentNode)}scrollEl&&(el=scrollEl,rect=scrollEl.getBoundingClientRect(),vx=(abs(rect.right-x)<=sens)-(abs(rect.left-x)<=sens),vy=(abs(rect.bottom-y)<=sens)-(abs(rect.top-y)<=sens)),vx||vy||(vx=(winWidth-x<=sens)-(x<=sens),vy=(winHeight-y<=sens)-(y<=sens),(vx||vy)&&(el=win)),autoScroll.vx===vx&&autoScroll.vy===vy&&autoScroll.el===el||(autoScroll.el=el,autoScroll.vx=vx,autoScroll.vy=vy,clearInterval(autoScroll.pid),el&&(autoScroll.pid=setInterval(function(){if(scrollOffsetY=vy?vy*speed:0,scrollOffsetX=vx?vx*speed:0,"function"==typeof scrollCustomFn)return scrollCustomFn.call(_this,scrollOffsetX,scrollOffsetY,evt);el===win?win.scrollTo(win.pageXOffset+scrollOffsetX,win.pageYOffset+scrollOffsetY):(el.scrollTop+=scrollOffsetY,el.scrollLeft+=scrollOffsetX)},24)))}},30),_prepareGroup=function(options){function toFn(value,pull){return void 0!==value&&!0!==value||(value=group.name),"function"==typeof value?value:function(to,from){var fromGroup=from.options.group.name;return pull?value:value&&(value.join?value.indexOf(fromGroup)>-1:fromGroup==value)}}var group={},originalGroup=options.group;originalGroup&&"object"==typeof originalGroup||(originalGroup={name:originalGroup}),group.name=originalGroup.name,group.checkPull=toFn(originalGroup.pull,!0),group.checkPut=toFn(originalGroup.put),group.revertClone=originalGroup.revertClone,options.group=group};try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){passiveMode=!1,captureMode={capture:!1,passive:passiveMode}}}))}catch(err){}return Sortable.prototype={constructor:Sortable,_onTapStart:function(evt){var startIndex,_this=this,el=this.el,options=this.options,preventOnFilter=options.preventOnFilter,type=evt.type,touch=evt.touches&&evt.touches[0],target=(touch||evt).target,originalTarget=evt.target.shadowRoot&&evt.path&&evt.path[0]||target,filter=options.filter;if(_saveInputCheckedState(el),!dragEl&&!(/mousedown|pointerdown/.test(type)&&0!==evt.button||options.disabled)&&!originalTarget.isContentEditable&&(target=_closest(target,options.draggable,el))&&lastDownEl!==target){if(startIndex=_index(target,options.draggable),"function"==typeof filter){if(filter.call(this,evt,target,this))return _dispatchEvent(_this,originalTarget,"filter",target,el,el,startIndex),void(preventOnFilter&&evt.preventDefault())}else if(filter&&(filter=filter.split(",").some(function(criteria){if(criteria=_closest(originalTarget,criteria.trim(),el))return _dispatchEvent(_this,criteria,"filter",target,el,el,startIndex),!0})))return void(preventOnFilter&&evt.preventDefault());options.handle&&!_closest(originalTarget,options.handle,el)||this._prepareDragStart(evt,touch,target,startIndex)}},_prepareDragStart:function(evt,touch,target,startIndex){var dragStartFn,_this=this,el=_this.el,options=_this.options,ownerDocument=el.ownerDocument;target&&!dragEl&&target.parentNode===el&&(tapEvt=evt,rootEl=el,dragEl=target,parentEl=dragEl.parentNode,nextEl=dragEl.nextSibling,lastDownEl=target,activeGroup=options.group,oldIndex=startIndex,this._lastX=(touch||evt).clientX,this._lastY=(touch||evt).clientY,dragEl.style["will-change"]="all",dragStartFn=function(){_this._disableDelayedDrag(),dragEl.draggable=_this.nativeDraggable,_toggleClass(dragEl,options.chosenClass,!0),_this._triggerDragStart(evt,touch),_dispatchEvent(_this,rootEl,"choose",dragEl,rootEl,rootEl,oldIndex)},options.ignore.split(",").forEach(function(criteria){_find(dragEl,criteria.trim(),_disableDraggable)}),_on(ownerDocument,"mouseup",_this._onDrop),_on(ownerDocument,"touchend",_this._onDrop),_on(ownerDocument,"touchcancel",_this._onDrop),_on(ownerDocument,"selectstart",_this),options.supportPointer&&_on(ownerDocument,"pointercancel",_this._onDrop),options.delay?(_on(ownerDocument,"mouseup",_this._disableDelayedDrag),_on(ownerDocument,"touchend",_this._disableDelayedDrag),_on(ownerDocument,"touchcancel",_this._disableDelayedDrag),_on(ownerDocument,"mousemove",_this._disableDelayedDrag),_on(ownerDocument,"touchmove",_this._disableDelayedDrag),options.supportPointer&&_on(ownerDocument,"pointermove",_this._disableDelayedDrag),_this._dragStartTimer=setTimeout(dragStartFn,options.delay)):dragStartFn())},_disableDelayedDrag:function(){var ownerDocument=this.el.ownerDocument;clearTimeout(this._dragStartTimer),_off(ownerDocument,"mouseup",this._disableDelayedDrag),_off(ownerDocument,"touchend",this._disableDelayedDrag),_off(ownerDocument,"touchcancel",this._disableDelayedDrag),_off(ownerDocument,"mousemove",this._disableDelayedDrag),_off(ownerDocument,"touchmove",this._disableDelayedDrag),_off(ownerDocument,"pointermove",this._disableDelayedDrag)},_triggerDragStart:function(evt,touch){touch=touch||("touch"==evt.pointerType?evt:null),touch?(tapEvt={target:dragEl,clientX:touch.clientX,clientY:touch.clientY},this._onDragStart(tapEvt,"touch")):this.nativeDraggable?(_on(dragEl,"dragend",this),_on(rootEl,"dragstart",this._onDragStart)):this._onDragStart(tapEvt,!0);try{document.selection?_nextTick(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(err){}},_dragStarted:function(){if(rootEl&&dragEl){var options=this.options;_toggleClass(dragEl,options.ghostClass,!0),_toggleClass(dragEl,options.dragClass,!1),Sortable.active=this,_dispatchEvent(this,rootEl,"start",dragEl,rootEl,rootEl,oldIndex)}else this._nulling()},_emulateDragOver:function(){if(touchEvt){if(this._lastX===touchEvt.clientX&&this._lastY===touchEvt.clientY)return;this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,supportCssPointerEvents||_css(ghostEl,"display","none");var target=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),parent=target,i=touchDragOverListeners.length;if(target&&target.shadowRoot&&(target=target.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY),parent=target),parent)do{if(parent[expando]){for(;i--;)touchDragOverListeners[i]({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:target,rootEl:parent});break}target=parent}while(parent=parent.parentNode);supportCssPointerEvents||_css(ghostEl,"display","")}},_onTouchMove:function(evt){if(tapEvt){var options=this.options,fallbackTolerance=options.fallbackTolerance,fallbackOffset=options.fallbackOffset,touch=evt.touches?evt.touches[0]:evt,dx=touch.clientX-tapEvt.clientX+fallbackOffset.x,dy=touch.clientY-tapEvt.clientY+fallbackOffset.y,translate3d=evt.touches?"translate3d("+dx+"px,"+dy+"px,0)":"translate("+dx+"px,"+dy+"px)";if(!Sortable.active){if(fallbackTolerance&&min(abs(touch.clientX-this._lastX),abs(touch.clientY-this._lastY))<fallbackTolerance)return;this._dragStarted()}this._appendGhost(),moved=!0,touchEvt=touch,_css(ghostEl,"webkitTransform",translate3d),_css(ghostEl,"mozTransform",translate3d),_css(ghostEl,"msTransform",translate3d),_css(ghostEl,"transform",translate3d),evt.preventDefault()}},_appendGhost:function(){if(!ghostEl){var ghostRect,rect=dragEl.getBoundingClientRect(),css=_css(dragEl),options=this.options;ghostEl=dragEl.cloneNode(!0),_toggleClass(ghostEl,options.ghostClass,!1),_toggleClass(ghostEl,options.fallbackClass,!0),_toggleClass(ghostEl,options.dragClass,!0),_css(ghostEl,"top",rect.top-parseInt(css.marginTop,10)),_css(ghostEl,"left",rect.left-parseInt(css.marginLeft,10)),_css(ghostEl,"width",rect.width),_css(ghostEl,"height",rect.height),_css(ghostEl,"opacity","0.8"),_css(ghostEl,"position","fixed"),_css(ghostEl,"zIndex","100000"),_css(ghostEl,"pointerEvents","none"),options.fallbackOnBody&&document.body.appendChild(ghostEl)||rootEl.appendChild(ghostEl),ghostRect=ghostEl.getBoundingClientRect(),_css(ghostEl,"width",2*rect.width-ghostRect.width),_css(ghostEl,"height",2*rect.height-ghostRect.height)}},_onDragStart:function(evt,useFallback){var _this=this,dataTransfer=evt.dataTransfer,options=_this.options;_this._offUpEvents(),activeGroup.checkPull(_this,_this,dragEl,evt)&&(cloneEl=_clone(dragEl),cloneEl.draggable=!1,cloneEl.style["will-change"]="",_css(cloneEl,"display","none"),_toggleClass(cloneEl,_this.options.chosenClass,!1),_this._cloneId=_nextTick(function(){rootEl.insertBefore(cloneEl,dragEl),_dispatchEvent(_this,rootEl,"clone",dragEl)})),_toggleClass(dragEl,options.dragClass,!0),useFallback?("touch"===useFallback?(_on(document,"touchmove",_this._onTouchMove),_on(document,"touchend",_this._onDrop),_on(document,"touchcancel",_this._onDrop),options.supportPointer&&(_on(document,"pointermove",_this._onTouchMove),_on(document,"pointerup",_this._onDrop))):(_on(document,"mousemove",_this._onTouchMove),_on(document,"mouseup",_this._onDrop)),_this._loopId=setInterval(_this._emulateDragOver,50)):(dataTransfer&&(dataTransfer.effectAllowed="move",options.setData&&options.setData.call(_this,dataTransfer,dragEl)),_on(document,"drop",_this),_this._dragStartId=_nextTick(_this._dragStarted))},_onDragOver:function(evt){var target,dragRect,targetRect,revert,el=this.el,options=this.options,group=options.group,activeSortable=Sortable.active,isOwner=activeGroup===group,isMovingBetweenSortable=!1,canSort=options.sort;if(void 0!==evt.preventDefault&&(evt.preventDefault(),!options.dragoverBubble&&evt.stopPropagation()),!dragEl.animated&&(moved=!0,activeSortable&&!options.disabled&&(isOwner?canSort||(revert=!rootEl.contains(dragEl)):putSortable===this||(activeSortable.lastPullMode=activeGroup.checkPull(this,activeSortable,dragEl,evt))&&group.checkPut(this,activeSortable,dragEl,evt))&&(void 0===evt.rootEl||evt.rootEl===this.el))){if(_autoScroll(evt,options,this.el),_silent)return;if(target=_closest(evt.target,options.draggable,el),dragRect=dragEl.getBoundingClientRect(),putSortable!==this&&(putSortable=this,isMovingBetweenSortable=!0),revert)return _cloneHide(activeSortable,!0),parentEl=rootEl,void(cloneEl||nextEl?rootEl.insertBefore(dragEl,cloneEl||nextEl):canSort||rootEl.appendChild(dragEl));if(0===el.children.length||el.children[0]===ghostEl||el===evt.target&&_ghostIsLast(el,evt)){if(0!==el.children.length&&el.children[0]!==ghostEl&&el===evt.target&&(target=el.lastElementChild),target){if(target.animated)return;targetRect=target.getBoundingClientRect()}_cloneHide(activeSortable,isOwner),!1!==_onMove(rootEl,el,dragEl,dragRect,target,targetRect,evt)&&(dragEl.contains(el)||(el.appendChild(dragEl),parentEl=el),this._animate(dragRect,dragEl),target&&this._animate(targetRect,target))}else if(target&&!target.animated&&target!==dragEl&&void 0!==target.parentNode[expando]){lastEl!==target&&(lastEl=target,lastCSS=_css(target),lastParentCSS=_css(target.parentNode)),targetRect=target.getBoundingClientRect();var width=targetRect.right-targetRect.left,height=targetRect.bottom-targetRect.top,floating=R_FLOAT.test(lastCSS.cssFloat+lastCSS.display)||"flex"==lastParentCSS.display&&0===lastParentCSS["flex-direction"].indexOf("row"),isWide=target.offsetWidth>dragEl.offsetWidth,isLong=target.offsetHeight>dragEl.offsetHeight,halfway=(floating?(evt.clientX-targetRect.left)/width:(evt.clientY-targetRect.top)/height)>.5,nextSibling=target.nextElementSibling,after=!1;if(floating){var elTop=dragEl.offsetTop,tgTop=target.offsetTop;after=elTop===tgTop?target.previousElementSibling===dragEl&&!isWide||halfway&&isWide:target.previousElementSibling===dragEl||dragEl.previousElementSibling===target?(evt.clientY-targetRect.top)/height>.5:tgTop>elTop}else isMovingBetweenSortable||(after=nextSibling!==dragEl&&!isLong||halfway&&isLong);var moveVector=_onMove(rootEl,el,dragEl,dragRect,target,targetRect,evt,after);!1!==moveVector&&(1!==moveVector&&-1!==moveVector||(after=1===moveVector),_silent=!0,setTimeout(_unsilent,30),_cloneHide(activeSortable,isOwner),dragEl.contains(el)||(after&&!nextSibling?el.appendChild(dragEl):target.parentNode.insertBefore(dragEl,after?nextSibling:target)),parentEl=dragEl.parentNode,this._animate(dragRect,dragEl),this._animate(targetRect,target))}}},_animate:function(prevRect,target){var ms=this.options.animation;if(ms){var currentRect=target.getBoundingClientRect();1===prevRect.nodeType&&(prevRect=prevRect.getBoundingClientRect()),_css(target,"transition","none"),_css(target,"transform","translate3d("+(prevRect.left-currentRect.left)+"px,"+(prevRect.top-currentRect.top)+"px,0)"),target.offsetWidth,_css(target,"transition","all "+ms+"ms"),_css(target,"transform","translate3d(0,0,0)"),clearTimeout(target.animated),target.animated=setTimeout(function(){_css(target,"transition",""),_css(target,"transform",""),target.animated=!1},ms)}},_offUpEvents:function(){var ownerDocument=this.el.ownerDocument;_off(document,"touchmove",this._onTouchMove),_off(document,"pointermove",this._onTouchMove),_off(ownerDocument,"mouseup",this._onDrop),_off(ownerDocument,"touchend",this._onDrop),_off(ownerDocument,"pointerup",this._onDrop),_off(ownerDocument,"touchcancel",this._onDrop),_off(ownerDocument,"pointercancel",this._onDrop),_off(ownerDocument,"selectstart",this)},_onDrop:function(evt){var el=this.el,options=this.options;clearInterval(this._loopId),clearInterval(autoScroll.pid),clearTimeout(this._dragStartTimer),_cancelNextTick(this._cloneId),_cancelNextTick(this._dragStartId),_off(document,"mouseover",this),_off(document,"mousemove",this._onTouchMove),this.nativeDraggable&&(_off(document,"drop",this),_off(el,"dragstart",this._onDragStart)),this._offUpEvents(),evt&&(moved&&(evt.preventDefault(),!options.dropBubble&&evt.stopPropagation()),ghostEl&&ghostEl.parentNode&&ghostEl.parentNode.removeChild(ghostEl),rootEl!==parentEl&&"clone"===Sortable.active.lastPullMode||cloneEl&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),dragEl&&(this.nativeDraggable&&_off(dragEl,"dragend",this),_disableDraggable(dragEl),dragEl.style["will-change"]="",_toggleClass(dragEl,this.options.ghostClass,!1),_toggleClass(dragEl,this.options.chosenClass,!1),_dispatchEvent(this,rootEl,"unchoose",dragEl,parentEl,rootEl,oldIndex),rootEl!==parentEl?(newIndex=_index(dragEl,options.draggable))>=0&&(_dispatchEvent(null,parentEl,"add",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(this,rootEl,"remove",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(null,parentEl,"sort",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(this,rootEl,"sort",dragEl,parentEl,rootEl,oldIndex,newIndex)):dragEl.nextSibling!==nextEl&&(newIndex=_index(dragEl,options.draggable))>=0&&(_dispatchEvent(this,rootEl,"update",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(this,rootEl,"sort",dragEl,parentEl,rootEl,oldIndex,newIndex)),Sortable.active&&(null!=newIndex&&-1!==newIndex||(newIndex=oldIndex),_dispatchEvent(this,rootEl,"end",dragEl,parentEl,rootEl,oldIndex,newIndex),this.save()))),this._nulling()},_nulling:function(){rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=scrollEl=scrollParentEl=tapEvt=touchEvt=moved=newIndex=lastEl=lastCSS=putSortable=activeGroup=Sortable.active=null,savedInputChecked.forEach(function(el){el.checked=!0}),savedInputChecked.length=0},handleEvent:function(evt){switch(evt.type){case"drop":case"dragend":this._onDrop(evt);break;case"dragover":case"dragenter":dragEl&&(this._onDragOver(evt),_globalDragOver(evt));break;case"mouseover":this._onDrop(evt);break;case"selectstart":evt.preventDefault()}},toArray:function(){for(var el,order=[],children=this.el.children,i=0,n=children.length,options=this.options;i<n;i++)el=children[i],_closest(el,options.draggable,this.el)&&order.push(el.getAttribute(options.dataIdAttr)||_generateId(el));return order},sort:function(order){var items={},rootEl=this.el;this.toArray().forEach(function(id,i){var el=rootEl.children[i];_closest(el,this.options.draggable,rootEl)&&(items[id]=el)},this),order.forEach(function(id){items[id]&&(rootEl.removeChild(items[id]),rootEl.appendChild(items[id]))})},save:function(){var store=this.options.store;store&&store.set(this)},closest:function(el,selector){return _closest(el,selector||this.options.draggable,this.el)},option:function(name,value){var options=this.options;if(void 0===value)return options[name];options[name]=value,"group"===name&&_prepareGroup(options)},destroy:function(){var el=this.el;el[expando]=null,_off(el,"mousedown",this._onTapStart),_off(el,"touchstart",this._onTapStart),_off(el,"pointerdown",this._onTapStart),this.nativeDraggable&&(_off(el,"dragover",this),_off(el,"dragenter",this)),Array.prototype.forEach.call(el.querySelectorAll("[draggable]"),function(el){el.removeAttribute("draggable")}),touchDragOverListeners.splice(touchDragOverListeners.indexOf(this._onDragOver),1),this._onDrop(),this.el=el=null}},_on(document,"touchmove",function(evt){Sortable.active&&evt.preventDefault()}),Sortable.utils={on:_on,off:_off,css:_css,find:_find,is:function(el,selector){return!!_closest(el,selector,el)},extend:_extend,throttle:_throttle,closest:_closest,toggleClass:_toggleClass,clone:_clone,index:_index,nextTick:_nextTick,cancelNextTick:_cancelNextTick},Sortable.create=function(el,options){return new Sortable(el,options)},Sortable.version="1.7.0",Sortable})}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Icon=__webpack_require__(18),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),VolumeModal=(function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers),function(_React$Component){function VolumeModal(props){return _classCallCheck(this,VolumeModal),_possibleConstructorReturn(this,(VolumeModal.__proto__||Object.getPrototypeOf(VolumeModal)).call(this,props))}return _inherits(VolumeModal,_React$Component),_createClass(VolumeModal,[{key:"changeVolume",value:function(e){var slider=e.target,sliderY=e.clientY-slider.getBoundingClientRect().top,sliderHeight=slider.getBoundingClientRect().height,percent=100-parseInt(sliderY/sliderHeight*100);this.props.mopidyActions.setVolume(percent)}},{key:"toggleMute",value:function(e){this.props.mopidyActions.setMute(!this.props.mute)}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("div",null,_react2.default.createElement("a",{className:"toggle-mute",onClick:function(e){return _this2.toggleMute(e)}},this.props.mute?_react2.default.createElement(_reactFontawesome2.default,{className:"muted",name:"volume-off"}):_react2.default.createElement(_reactFontawesome2.default,{name:"volume-down"})),_react2.default.createElement("div",{className:this.props.mute?"slider vertical disabled":"slider vertical",onClick:function(e){return _this2.changeVolume(e)}},_react2.default.createElement("div",{className:"track"},_react2.default.createElement("div",{className:"progress",style:{height:this.props.volume+"%"}}))))}}]),VolumeModal}(_react2.default.Component));exports.default=VolumeModal},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_helpers=__webpack_require__(1),_Icon=(_interopRequireWildcard(_helpers),__webpack_require__(18)),AuthorizationModal_Send=(_interopRequireDefault(_Icon),function(_React$Component){function AuthorizationModal_Send(props){return _classCallCheck(this,AuthorizationModal_Send),_possibleConstructorReturn(this,(AuthorizationModal_Send.__proto__||Object.getPrototypeOf(AuthorizationModal_Send)).call(this,props))}return _inherits(AuthorizationModal_Send,_React$Component),_createClass(AuthorizationModal_Send,[{key:"handleClick",value:function(e,connection_id){return e.preventDefault(),this.props.pusherActions.sendAuthorization(connection_id,this.props.authorization,this.props.me),this.props.uiActions.closeModal(),!1}},{key:"renderConnectionsList",value:function(){var _this2=this,connections=[];for(var connection_id in this.props.connections)this.props.connections.hasOwnProperty(connection_id)&&connection_id!==this.props.connection_id&&connections.push(this.props.connections[connection_id]);return connections.length<=0?_react2.default.createElement("div",{className:"no-results"},"No peer connections available"):_react2.default.createElement("div",{className:"list small pusher-connection-list"},connections.map(function(connection,index){return _react2.default.createElement("div",{className:"list-item connection",key:connection.connection_id,onClick:function(e){return _this2.handleClick(e,connection.connection_id)}},connection.username," ",_react2.default.createElement("span",{className:"grey-text"},"(",connection.ip,")"))}))}},{key:"render",value:function(){return _react2.default.createElement("div",null,_react2.default.createElement("h1",null,"Share Spotify authentication"),_react2.default.createElement("h2",{className:"grey-text"},"Send your authentication tokens to another client. When the recipient client imports this, their Iris will have full access to your Spotify account (",this.props.me.id,")."),this.renderConnectionsList())}}]),AuthorizationModal_Send}(_react2.default.Component)),mapStateToProps=function(state,ownProps){return{me:state.spotify.me,authorization:state.spotify.authorization,connection_id:state.pusher.connection_id,connections:state.pusher.connections}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(AuthorizationModal_Send)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_actions=(__webpack_require__(3),__webpack_require__(6),__webpack_require__(2),__webpack_require__(4)),_helpers=(_interopRequireWildcard(_actions),__webpack_require__(1)),_Icon=(_interopRequireWildcard(_helpers),__webpack_require__(18)),_Thumbnail=(_interopRequireDefault(_Icon),__webpack_require__(15)),_Thumbnail2=_interopRequireDefault(_Thumbnail),_class=function(_React$Component){function _class(props){return _classCallCheck(this,_class),_possibleConstructorReturn(this,(_class.__proto__||Object.getPrototypeOf(_class)).call(this,props))}return _inherits(_class,_React$Component),_createClass(_class,[{key:"handleImport",value:function(e){this.props.spotifyActions.importAuthorization(this.props.data),this.props.uiActions.closeModal()}},{key:"render",value:function(){var _this2=this;if(!this.props.data||!this.props.data.user||!this.props.data.authorization)return null;var user=this.props.data.user;return _react2.default.createElement("div",null,_react2.default.createElement("h1",null,"Spotify authorization received"),_react2.default.createElement("h2",{className:"grey-text"},user.display_name?user.display_name:user.id," has shared their Spotify authorization with you. Importing this will overwrite your existing Spotify Authorization."),_react2.default.createElement("div",{className:"user-details"},_react2.default.createElement(_Thumbnail2.default,{images:user.images,circle:!0}),_react2.default.createElement("h2",null,user.display_name?user.display_name:user.id),_react2.default.createElement("ul",{className:"details"},_react2.default.createElement("li",null,user.id),_react2.default.createElement("li",null,user.followers.total," followers"))),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{onClick:function(e){return _this2.props.uiActions.closeModal()}},"Ignore"),_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.handleImport(e)}},"Import authorization")))}}]),_class}(_react2.default.Component);exports.default=_class},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),Notifications=function(_React$Component){function Notifications(props){return _classCallCheck(this,Notifications),_possibleConstructorReturn(this,(Notifications.__proto__||Object.getPrototypeOf(Notifications)).call(this,props))}return _inherits(Notifications,_React$Component),_createClass(Notifications,[{key:"renderNotifications",value:function(){var _this2=this;return!this.props.notifications||this.props.notifications.length<=0?null:_react2.default.createElement("span",null,this.props.notifications.map(function(notification){switch(notification.type){case"shortcut":return _react2.default.createElement("div",{className:"shortcut-notification",key:notification.key},_react2.default.createElement(_reactFontawesome2.default,{name:notification.content}));default:return _react2.default.createElement("div",{className:notification.type+" notification",key:notification.key,"data-key":notification.key},_react2.default.createElement(_reactFontawesome2.default,{name:"close",className:"close-button",onClick:function(e){return _this2.props.uiActions.removeNotification(notification.key)}}),notification.title?_react2.default.createElement("h4",null,notification.title):null,_react2.default.createElement("p",{className:"content",dangerouslySetInnerHTML:{__html:notification.content}}),notification.description?_react2.default.createElement("p",{className:"description",dangerouslySetInnerHTML:{__html:notification.description}}):null)}}))}},{key:"renderProcess",value:function(process){var _this3=this,progress=0;switch(process.data.total&&process.data.remaining&&(progress=((process.data.total-process.data.remaining)/process.data.total*100).toFixed()),process.status){case"running":return _react2.default.createElement("div",{className:"process notification",key:process.key},_react2.default.createElement("div",{className:"loader"},_react2.default.createElement("div",{className:"progress"},_react2.default.createElement("div",{className:"fill",style:{width:progress+"%"}}))),process.message,_react2.default.createElement(_reactFontawesome2.default,{name:"close",className:"close-button",onClick:function(e){_this3.props.uiActions.cancelProcess(process.key)}}));case"cancelling":return _react2.default.createElement("div",{className:"process notification cancelling",key:process.key},_react2.default.createElement("div",{className:"loader"}),"Cancelling");case"cancelled":case"finished":return null}}},{key:"renderProcesses",value:function(){var _this4=this;if(!this.props.processes||this.props.processes.length<=0)return null;var processes=[];for(var key in this.props.processes)this.props.processes.hasOwnProperty(key)&&processes.push(this.props.processes[key]);return _react2.default.createElement("span",null,processes.map(function(process){return _this4.renderProcess(process)}))}},{key:"renderLoader",value:function(){if(!this.props.load_queue)return null;var load_queue=this.props.load_queue,load_count=0;for(var key in load_queue)load_queue.hasOwnProperty(key)&&load_count++;if(load_count>0){var className="loading ";return className+=load_count>20?"high":load_count>5?"medium":"low",_react2.default.createElement("div",{className:className})}return null}},{key:"render",value:function(){return _react2.default.createElement("div",{className:"notifications"},this.renderLoader(),this.renderNotifications(),this.renderProcesses())}}]),Notifications}(_react2.default.Component);exports.default=Notifications},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),DebugInfo=function(_React$Component){function DebugInfo(props){return _classCallCheck(this,DebugInfo),_possibleConstructorReturn(this,(DebugInfo.__proto__||Object.getPrototypeOf(DebugInfo)).call(this,props))}return _inherits(DebugInfo,_React$Component),_createClass(DebugInfo,[{key:"renderLoadQueue",value:function(){if(!this.props.ui.load_queue)return null;var queue=(this.props.ui.load_queue,[]);return _react2.default.createElement("div",{className:"item"},queue)}},{key:"renderLoadQueue",value:function(){if(!this.props.ui.load_queue)return null;var load_queue=this.props.ui.load_queue,queue=[];for(var key in load_queue)load_queue.hasOwnProperty(key)&&queue.push(_react2.default.createElement("div",{key:key},load_queue[key]));return queue.length>0?_react2.default.createElement("div",{className:"item"},_react2.default.createElement("br",null),queue):null}},{key:"render",value:function(){return _react2.default.createElement("div",{className:"debug-info"},_react2.default.createElement("div",{className:"item"},"Albums: ",this.props.core.albums?Object.keys(this.props.core.albums).length:"0"),_react2.default.createElement("div",{className:"item"},"Artists: ",this.props.core.artists?Object.keys(this.props.core.artists).length:"0"),_react2.default.createElement("div",{className:"item"},"Playlists: ",this.props.core.playlists?Object.keys(this.props.core.playlists).length:"0"),_react2.default.createElement("div",{className:"item"},"Tracks: ",this.props.core.tracks?Object.keys(this.props.core.tracks).length:"0"),_react2.default.createElement("div",{className:"item"},"Users: ",this.props.core.users?Object.keys(this.props.core.users).length:"0"),_react2.default.createElement("div",{className:"item"},"Notifications: ",this.props.ui.notifications?Object.keys(this.props.ui.notifications).length:"0"),_react2.default.createElement("div",{className:"item"},"Processes: ",this.props.ui.processes?Object.keys(this.props.ui.processes).length:"0"),_react2.default.createElement("div",{className:"item"},"Enqueue batches: ",this.props.mopidy.enqueue_uris_batches?this.props.mopidy.enqueue_uris_batches.length:"0"),_react2.default.createElement("br",null),_react2.default.createElement("div",{className:"item"},"Slim mode: ",this.props.ui.slim_mode?"on":"off"),_react2.default.createElement("div",{className:"item"},"Test mode: ",this.props.ui.test_mode?"on":"off"),_react2.default.createElement("div",{className:"item"},"Touch: ",helpers.isTouchDevice()?"on":"off"),_react2.default.createElement("div",{className:"item"},"Selected tracks: ",this.props.ui.selected_tracks.length,_react2.default.createElement("br",null),this.props.ui.selected_tracks.map(function(track_key,index){return _react2.default.createElement("div",{key:track_key+"_"+index},track_key)})),this.renderLoadQueue())}}]),DebugInfo}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{core:state.core,ui:state.ui,mopidy:state.mopidy}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DebugInfo)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Header=__webpack_require__(16),_TrackList=(_interopRequireDefault(_Header),__webpack_require__(27)),_TrackList2=_interopRequireDefault(_TrackList),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Parallax=__webpack_require__(41),_ArtistSentence=(_interopRequireDefault(_Parallax),__webpack_require__(26)),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_ArtistGrid=__webpack_require__(52),_FollowButton=(_interopRequireDefault(_ArtistGrid),__webpack_require__(59)),_FollowButton2=_interopRequireDefault(_FollowButton),_Dater=__webpack_require__(43),_Dater2=_interopRequireDefault(_Dater),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_ContextMenuTrigger=__webpack_require__(37),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),Album=function(_React$Component){function Album(props){return _classCallCheck(this,Album),_possibleConstructorReturn(this,(Album.__proto__||Object.getPrototypeOf(Album)).call(this,props))}return _inherits(Album,_React$Component),_createClass(Album,[{key:"componentDidMount",value:function(){this.loadAlbum()}},{key:"handleContextMenu",value:function(e){e.preventDefault();var data={uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(e,data,"album","click")}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?this.loadAlbum(nextProps):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(this.props.params.uri)&&this.loadAlbum(nextProps)}},{key:"handleContextMenu",value:function(e){var data={e:e,context:"album",items:[this.props.album],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"loadAlbum",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;switch(helpers.uriSource(props.params.uri)){case"spotify":props.album&&props.album.tracks&&props.album.artists_uris?console.info("Loading album from index"):this.props.spotifyActions.getAlbum(props.params.uri),this.props.spotifyActions.following(props.params.uri);break;default:props.mopidy_connected&&(props.album&&props.album.tracks?console.info("Loading album from index"):this.props.mopidyActions.getAlbum(props.params.uri))}}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.album.tracks_more,{parent_type:"album",parent_key:this.props.album.uri,records_type:"track"})}},{key:"play",value:function(){this.props.mopidyActions.playURIs([this.props.params.uri],this.props.params.uri)}},{key:"inLibrary",value:function(){var library=helpers.uriSource(this.props.params.uri)+"_library_albums";return this.props[library]&&this.props[library].indexOf(this.props.params.uri)>-1}},{key:"render",value:function(){var _this2=this;if(helpers.isLoading(this.props.load_queue,["spotify_albums/"+helpers.getFromUri("albumid",this.props.params.uri)]))return _react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}));if(!this.props.album)return null;var artists=[];if(this.props.album.artists_uris&&this.props.artists)for(var i=0;i<this.props.album.artists_uris.length;i++){var uri=this.props.album.artists_uris[i];this.props.artists.hasOwnProperty(uri)&&artists.push(this.props.artists[uri])}var tracks=[];if(this.props.album.tracks_uris&&this.props.tracks)for(var i=0;i<this.props.album.tracks_uris.length;i++){var uri=this.props.album.tracks_uris[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}return _react2.default.createElement("div",{className:"view album-view content-wrapper"},_react2.default.createElement("div",{className:"thumbnail-wrapper"},_react2.default.createElement(_Thumbnail2.default,{size:"large",canZoom:!0,images:this.props.album.images})),_react2.default.createElement("div",{className:"title"},_react2.default.createElement("h1",null,this.props.album.name),_react2.default.createElement("ul",{className:"details"},this.props.slim_mode?null:_react2.default.createElement("li",{className:"has-tooltip"},_react2.default.createElement(_reactFontawesome2.default,{name:helpers.sourceIcon(this.props.params.uri)}),_react2.default.createElement("span",{className:"tooltip"},helpers.uriSource(this.props.params.uri)," ",this.props.album.album_type?this.props.album.album_type:"album")),!this.props.slim_mode&&artists.length>0?_react2.default.createElement("li",null,_react2.default.createElement(_ArtistSentence2.default,{artists:artists})):null,this.props.album.date?_react2.default.createElement("li",null,_react2.default.createElement(_Dater2.default,{type:"date",data:this.props.album.date})):null,_react2.default.createElement("li",null,tracks?_react2.default.createElement("span",null,tracks.length," tracks, ",_react2.default.createElement(_Dater2.default,{type:"total-time",data:tracks})):"0 tracks, 0 mins"))),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),"spotify"==helpers.uriSource(this.props.params.uri)?_react2.default.createElement(_FollowButton2.default,{className:"secondary",uri:this.props.params.uri,addText:"Add to library",removeText:"Remove from library",is_following:this.inLibrary()}):null,_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}})),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{className:"album-track-list",tracks:tracks,uri:this.props.params.uri}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.album.tracks_more,loadMore:function(){return _this2.loadMore()}})))}}]),Album}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,tracks:state.core.tracks,artists:state.core.artists,album:!(!state.core.albums||void 0===state.core.albums[uri])&&state.core.albums[uri],albums:state.core.albums,spotify_library_albums:state.spotify.library_albums,local_library_albums:state.mopidy.library_albums,spotify_authorized:state.spotify.authorization,mopidy_connected:state.mopidy.connected}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Album)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Header=__webpack_require__(16),_TrackList=(_interopRequireDefault(_Header),__webpack_require__(27)),_TrackList2=_interopRequireDefault(_TrackList),_AlbumGrid=__webpack_require__(60),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Parallax=__webpack_require__(41),_Parallax2=_interopRequireDefault(_Parallax),_ArtistGrid=__webpack_require__(52),_ArtistGrid2=_interopRequireDefault(_ArtistGrid),_RelatedArtists=__webpack_require__(399),_RelatedArtists2=_interopRequireDefault(_RelatedArtists),_FollowButton=__webpack_require__(59),_FollowButton2=_interopRequireDefault(_FollowButton),_ContextMenuTrigger=__webpack_require__(37),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_DropdownField=__webpack_require__(61),_DropdownField2=_interopRequireDefault(_DropdownField),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(31),lastfmActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions5),Artist=function(_React$Component){function Artist(props){return _classCallCheck(this,Artist),_possibleConstructorReturn(this,(Artist.__proto__||Object.getPrototypeOf(Artist)).call(this,props))}return _inherits(Artist,_React$Component),_createClass(Artist,[{key:"componentDidMount",value:function(){this.loadArtist()}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?this.loadArtist(nextProps):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(this.props.params.uri)&&this.loadArtist(nextProps)}},{key:"handleContextMenu",value:function(e){var data={e:e,context:"artist",items:[this.props.artist],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"loadArtist",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;switch(helpers.uriSource(props.params.uri)){case"spotify":props.artist&&props.artist.albums_uris&&props.artist.related_artists_uris||this.props.spotifyActions.getArtist(props.params.uri,!0),this.props.spotifyActions.following(props.params.uri);break;default:props.mopidy_connected&&(props.artist&&props.artist.images||this.props.mopidyActions.getArtist(props.params.uri))}}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.artist.albums_more,{parent_type:"artist",parent_key:this.props.params.uri,records_type:"album"})}},{key:"inLibrary",value:function(){var library=helpers.uriSource(this.props.params.uri)+"_library_artists";return this.props[library]&&this.props[library].indexOf(this.props.params.uri)>-1}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={artist_albums_sort_reverse:reverse,artist_albums_sort:value};this.props.uiActions.set(data)}},{key:"renderSubViewMenu",value:function(){return _react2.default.createElement("div",{className:"sub-views"},_react2.default.createElement(_reactRouter.Link,{className:"option",activeClassName:"active",to:global.baseURL+"artist/"+this.props.params.uri},_react2.default.createElement("h4",null,"Overview")),this.props.artist.related_artists_uris?_react2.default.createElement(_reactRouter.Link,{className:"option",activeClassName:"active",to:global.baseURL+"artist/"+this.props.params.uri+"/related-artists"},_react2.default.createElement("h4",null,"Related artists")):null,_react2.default.createElement(_reactRouter.Link,{className:"option",activeClassName:"active",to:global.baseURL+"artist/"+this.props.params.uri+"/about"},_react2.default.createElement("h4",null,"About")))}},{key:"renderBody",value:function(){var _this2=this;if(helpers.isLoading(this.props.load_queue,["spotify_artists/"+helpers.getFromUri("artistid",this.props.params.uri),"lastfm_method=artist.getInfo"]))return _react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}));var related_artists=(helpers.uriSource(this.props.params.uri),[]);if(this.props.artist.related_artists_uris)for(var i=0;i<this.props.artist.related_artists_uris.length;i++){var uri=this.props.artist.related_artists_uris[i];this.props.artists.hasOwnProperty(uri)&&related_artists.push(this.props.artists[uri])}var albums=[];if(this.props.artist.albums_uris){for(var i=0;i<this.props.artist.albums_uris.length;i++){var uri=this.props.artist.albums_uris[i];this.props.albums.hasOwnProperty(uri)&&albums.push(this.props.albums[uri])}albums=helpers.sortItems(albums,this.props.sort,this.props.sort_reverse)}switch(this.props.params.sub_view){case"related-artists":return _react2.default.createElement("div",{className:"body related-artists"},_react2.default.createElement("section",{className:"grid-wrapper no-top-padding"},_react2.default.createElement(_ArtistGrid2.default,{artists:related_artists})));case"about":return _react2.default.createElement("div",{className:"body about"},_react2.default.createElement("div",{className:"col w40 tiles artist-stats"},this.props.artist.images?_react2.default.createElement("div",{className:"tile thumbnail-wrapper"},_react2.default.createElement(_Thumbnail2.default,{size:"huge",canZoom:!0,images:this.props.artist.images})):null,this.props.artist.images_additional?_react2.default.createElement("div",{className:"tile thumbnail-wrapper"},_react2.default.createElement(_Thumbnail2.default,{size:"huge",canZoom:!0,images:this.props.artist.images_additional})):null,this.props.artist.followers?_react2.default.createElement("div",{className:"tile"},_react2.default.createElement("span",{className:"content"},_react2.default.createElement(_reactFontawesome2.default,{name:"users"}),this.props.artist.followers.total.toLocaleString()," followers")):null,this.props.artist.popularity?_react2.default.createElement("div",{className:"tile"},_react2.default.createElement("span",{className:"content"},_react2.default.createElement(_reactFontawesome2.default,{name:"fire"}),this.props.artist.popularity,"% popularity")):null,this.props.artist.listeners?_react2.default.createElement("div",{className:"tile"},_react2.default.createElement("span",{className:"content"},_react2.default.createElement(_reactFontawesome2.default,{name:"headphones"}),this.props.artist.listeners.toLocaleString()," listeners")):null),_react2.default.createElement("div",{className:"col w60 biography"},_react2.default.createElement("section",null,this.props.artist.bio?_react2.default.createElement("div",{className:"biography-text"},_react2.default.createElement("p",null,this.props.artist.bio.content),_react2.default.createElement("br",null),_react2.default.createElement("div",{className:"grey-text"},"Published: ",this.props.artist.bio.published),_react2.default.createElement("div",{className:"grey-text"},"Origin: ",_react2.default.createElement("a",{href:this.props.artist.bio.links.link.href,target:"_blank"},this.props.artist.bio.links.link.href))):null)));default:var tracks=[];if(this.props.artist.tracks_uris&&this.props.tracks)for(var i=0;i<this.props.artist.tracks_uris.length;i++){var uri=this.props.artist.tracks_uris[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}var sort_options=[{value:"name",label:"Name"},{value:"date",label:"Date"},{value:"tracks_total",label:"Tracks"}];return _react2.default.createElement("div",{className:"body overview"},_react2.default.createElement("div",{className:"top-tracks col w"+(related_artists.length>0?"70":"100")},_react2.default.createElement("h4",null,"Top tracks"),_react2.default.createElement("div",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{className:"artist-track-list",uri:this.props.params.uri,tracks:tracks}))),_react2.default.createElement("div",{className:"col w5"}),related_artists.length>0?_react2.default.createElement("div",{className:"col w25 related-artists"},_react2.default.createElement("h4",null,"Related artists"),_react2.default.createElement("div",{className:"list-wrapper"},_react2.default.createElement(_RelatedArtists2.default,{artists:related_artists.slice(0,6)})),_react2.default.createElement(_reactRouter.Link,{to:global.baseURL+"artist/"+this.props.params.uri+"/related-artists",className:"button grey"},"All related artists")):null,_react2.default.createElement("div",{className:"cf"}),_react2.default.createElement("div",{className:"albums"},_react2.default.createElement("h4",null,"Albums",_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,reverse:this.props.sort_reverse,handleChange:function(val){_this2.setSort(val),_this2.props.uiActions.hideContextMenu()}})),_react2.default.createElement("section",{className:"grid-wrapper no-top-padding"},_react2.default.createElement(_AlbumGrid2.default,{albums:albums}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.artist.albums_more,loadMore:function(){return _this2.loadMore()}}))))}}},{key:"render",value:function(){var _this3=this,scheme=helpers.uriSource(this.props.params.uri);if(this.props.artist&&this.props.artist.images)var image=helpers.sizedImages(this.props.artist.images).huge;else var image=null;if(this.props.artist){var is_spotify="spotify"==scheme;if(this.props.artist.tracks_uris&&this.props.artist.tracks_uris.length>0)var uris_to_play=this.props.artist.tracks_uris;else var uris_to_play=this.props.artist.albums_uris;return _react2.default.createElement("div",{className:"view artist-view"},_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,{image:image}),_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("h1",null,this.props.artist?this.props.artist.name:null),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this3.props.mopidyActions.playURIs(uris_to_play,_this3.props.artist.uri)}},"Play"),is_spotify?_react2.default.createElement(_FollowButton2.default,{className:"white",uri:this.props.params.uri,removeText:"Remove from library",addText:"Add to library",is_following:this.inLibrary()}):null,_react2.default.createElement(_ContextMenuTrigger2.default,{className:"white",onTrigger:function(e){return _this3.handleContextMenu(e)}})),this.renderSubViewMenu())),_react2.default.createElement("div",{className:"content-wrapper"},this.renderBody()))}return _react2.default.createElement("div",{className:"view artist-view"},_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,null),_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("h1",null,_react2.default.createElement("span",{className:"placeholder"})),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"placeholder"}," "),_react2.default.createElement("button",{className:"placeholder"}," ")),this.renderSubViewMenu())),_react2.default.createElement("div",{className:"content-wrapper"},this.renderBody()))}}]),Artist}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,artist:void 0!==state.core.artists[uri]&&state.core.artists[uri],tracks:state.core.tracks,artists:state.core.artists,spotify_library_artists:state.spotify.library_artists,local_library_artists:state.mopidy.library_artists,albums:state.core.albums?state.core.albums:[],sort:state.ui.artist_albums_sort?state.ui.artist_albums_sort:"name",sort_reverse:!!state.ui.artist_albums_sort_reverse,spotify_authorized:state.spotify.authorization,mopidy_connected:state.mopidy.connected}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Artist)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),RelatedArtists=function(_React$Component){function RelatedArtists(props){return _classCallCheck(this,RelatedArtists),_possibleConstructorReturn(this,(RelatedArtists.__proto__||Object.getPrototypeOf(RelatedArtists)).call(this,props))}return _inherits(RelatedArtists,_React$Component),_createClass(RelatedArtists,[{key:"render",value:function(){return this.props.artists?_react2.default.createElement("div",{className:"list related-artist-list"},this.props.artists.map(function(artist,index){return artist.uri?_react2.default.createElement(_URILink2.default,{type:"artist",uri:artist.uri,key:artist.uri,className:"artist"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small",images:artist.images}),_react2.default.createElement("span",{className:"name"},artist.name)):_react2.default.createElement("span",{key:artist.uri,className:"artist"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small",images:artist.images}),_react2.default.createElement("span",{className:"name"},artist.name))})):null}}]),RelatedArtists}(_react2.default.Component);exports.default=RelatedArtists},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=(__webpack_require__(6),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_reactGa=__webpack_require__(30),_reactGa2=_interopRequireDefault(_reactGa),_TrackList=__webpack_require__(27),_TrackList2=_interopRequireDefault(_TrackList),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Dater=__webpack_require__(43),_Dater2=_interopRequireDefault(_Dater),_ConfirmationButton=__webpack_require__(103),_LazyLoadListener=(_interopRequireDefault(_ConfirmationButton),__webpack_require__(28)),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_FollowButton=__webpack_require__(59),_FollowButton2=_interopRequireDefault(_FollowButton),_Header=__webpack_require__(16),_ContextMenuTrigger=(_interopRequireDefault(_Header),__webpack_require__(37)),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions4),Playlist=function(_React$Component){function Playlist(props){return _classCallCheck(this,Playlist),_possibleConstructorReturn(this,(Playlist.__proto__||Object.getPrototypeOf(Playlist)).call(this,props))}return _inherits(Playlist,_React$Component),_createClass(Playlist,[{key:"componentDidMount",value:function(){this.loadPlaylist()}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?this.loadPlaylist(nextProps):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(this.props.params.uri)&&this.loadPlaylist(nextProps)}},{key:"handleContextMenu",value:function(e){var data={e:e,context:this.props.playlist.can_edit?"editable-playlist":"playlist",items:[this.props.playlist],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"loadPlaylist",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;if(props.playlist&&props.playlist.tracks&&(0==props.playlist.tracks_total||props.playlist.tracks.length>0))console.info("Loading playlist from index");else switch(helpers.uriSource(props.params.uri)){case"spotify":this.props.spotifyActions.getPlaylist(props.params.uri),this.props.spotifyActions.following(props.params.uri);break;default:props.mopidy_connected&&this.props.mopidyActions.getPlaylist(props.params.uri)}}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.playlist.tracks_more,{parent_type:"playlist",parent_key:this.props.playlist.uri,records_type:"track"})}},{key:"play",value:function(){this.props.mopidyActions.playPlaylist(this.props.playlist.uri)}},{key:"follow",value:function(){_reactGa2.default.event({category:"Playlist",action:"Follow",label:this.props.playlist.uri}),this.props.spotifyActions.toggleFollowingPlaylist(this.props.playlist.uri,"PUT")}},{key:"unfollow",value:function(){_reactGa2.default.event({category:"Playlist",action:"Unfollow",label:this.props.playlist.uri}),this.props.spotifyActions.toggleFollowingPlaylist(this.props.playlist.uri,"DELETE")}},{key:"delete",value:function(){this.props.mopidyActions.deletePlaylist(this.props.playlist.uri)}},{key:"reorderTracks",value:function(indexes,index){this.props.coreActions.reorderPlaylistTracks(this.props.playlist.uri,indexes,index,this.props.playlist.snapshot_id)}},{key:"removeTracks",value:function(tracks_indexes){this.props.coreActions.removeTracksFromPlaylist(this.props.playlist.uri,tracks_indexes)}},{key:"inLibrary",value:function(){var library=helpers.uriSource(this.props.params.uri)+"_library_playlists";return this.props[library]&&this.props[library].indexOf(this.props.params.uri)>-1}},{key:"renderActions",value:function(){var _this2=this;switch(helpers.uriSource(this.props.playlist.uri)){case"m3u":return _react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement("button",{className:"secondary",onClick:function(e){return _this2.props.uiActions.openModal("edit_playlist",{uri:_this2.props.params.uri,name:_this2.props.playlist.name})}},"Edit"),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}}));case"spotify":return this.props.playlist.can_edit?_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement("button",{className:"secondary",onClick:function(e){return _this2.props.uiActions.openModal("edit_playlist",{uri:_this2.props.params.uri,name:_this2.props.playlist.name,public:_this2.props.playlist.public,collaborative:_this2.props.playlist.collaborative,description:_this2.props.playlist.description})}},"Edit"),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}})):_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement(_FollowButton2.default,{className:"secondary",uri:this.props.params.uri,addText:"Add to library",removeText:"Remove from library",is_following:this.inLibrary()}),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}}));default:return _react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}}))}}},{key:"render",value:function(){var _this3=this;if(!this.props.playlist)return null;var context=(helpers.uriSource(this.props.params.uri),"playlist");this.props.playlist.can_edit&&(context="editable-playlist");var user_id=helpers.getFromUri("userid",this.props.params.uri),playlist_id=helpers.getFromUri("playlistid",this.props.params.uri);if(helpers.isLoading(this.props.load_queue,["spotify_users/"+user_id+"/playlists/"+playlist_id+"?"]))return _react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}));var tracks=[];if(this.props.playlist.tracks_uris&&this.props.tracks)for(var i=0;i<this.props.playlist.tracks_uris.length;i++){var uri=this.props.playlist.tracks_uris[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}return _react2.default.createElement("div",{className:"view playlist-view content-wrapper"},_react2.default.createElement("div",{className:"thumbnail-wrapper"},_react2.default.createElement(_Thumbnail2.default,{size:"large",canZoom:!0,images:this.props.playlist.images})),_react2.default.createElement("div",{className:"title"},_react2.default.createElement("h1",null,this.props.playlist.name),this.props.playlist.description?_react2.default.createElement("h2",{className:"description grey-text",dangerouslySetInnerHTML:{__html:this.props.playlist.description}}):null,_react2.default.createElement("ul",{className:"details"},this.props.slim_mode?null:_react2.default.createElement("li",{className:"has-tooltip"},_react2.default.createElement(_reactFontawesome2.default,{name:helpers.sourceIcon(this.props.params.uri)}),_react2.default.createElement("span",{className:"tooltip"},helpers.uriSource(this.props.params.uri)," playlist")),this.props.playlist.owner&&!this.props.slim_mode?_react2.default.createElement("li",null,_react2.default.createElement(_URILink2.default,{type:"user",uri:this.props.playlist.owner.uri},this.props.playlist.owner.id)):null,this.props.playlist.followers?_react2.default.createElement("li",null,this.props.playlist.followers.total.toLocaleString()," followers"):null,this.props.playlist.last_modified?_react2.default.createElement("li",null,"Edited ",_react2.default.createElement(_Dater2.default,{type:"ago",data:this.props.playlist.last_modified})):null,_react2.default.createElement("li",null,this.props.playlist.tracks_total?this.props.playlist.tracks_total:tracks.length," tracks, ",_react2.default.createElement(_Dater2.default,{type:"total-time",data:tracks})))),this.renderActions(),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{uri:this.props.params.uri,className:"playlist-track-list",context:context,tracks:tracks,removeTracks:function(tracks_indexes){return _this3.removeTracks(tracks_indexes)},reorderTracks:function(indexes,index){return _this3.reorderTracks(indexes,index)}}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.playlist.tracks_more,loadMore:function(){return _this3.loadMore()}})))}}]),Playlist}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,tracks:state.core.tracks,playlist:void 0!==state.core.playlists[uri]&&state.core.playlists[uri],spotify_library_playlists:state.spotify.library_playlists,local_library_playlists:state.mopidy.library_playlists,mopidy_connected:state.mopidy.connected,spotify_authorized:state.spotify.authorization,spotify_userid:state.spotify.me.id}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Playlist)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_Thumbnail=(_interopRequireDefault(_reactFontawesome),__webpack_require__(15)),_PlaylistGrid=(_interopRequireDefault(_Thumbnail),__webpack_require__(62)),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_FollowButton=__webpack_require__(59),_FollowButton2=_interopRequireDefault(_FollowButton),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Parallax=__webpack_require__(41),_Parallax2=_interopRequireDefault(_Parallax),_ContextMenuTrigger=__webpack_require__(37),_helpers=(_interopRequireDefault(_ContextMenuTrigger),__webpack_require__(1)),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(9),_actions2=(_interopRequireWildcard(_actions),__webpack_require__(8)),spotifyActions=_interopRequireWildcard(_actions2),User=function(_React$Component){function User(props){return _classCallCheck(this,User),_possibleConstructorReturn(this,(User.__proto__||Object.getPrototypeOf(User)).call(this,props))}return _inherits(User,_React$Component),_createClass(User,[{key:"componentDidMount",value:function(){this.loadUser()}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri&&this.loadUser(nextProps)}},{key:"loadUser",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;props.user||(this.props.spotifyActions.getUser(props.params.uri,!0),this.props.spotifyActions.following(props.params.uri))}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.user.playlists_more,{parent_type:"user",parent_key:this.props.params.uri,records_type:"playlist"})}},{key:"isMe",value:function(){var userid=helpers.getFromUri("userid",this.props.params.uri);return this.props.me&&this.props.me.id&&this.props.me.id==userid}},{key:"render",value:function(){var _this2=this,user_id=helpers.getFromUri("userid",this.props.params.uri);if(helpers.isLoading(this.props.load_queue,["spotify_users/"+user_id,"spotify_users/"+user_id+"/playlists/?"]))return _react2.default.createElement("div",{className:"body-loader"},_react2.default.createElement("div",{className:"loader"}));if(!this.props.user)return null;var playlists=[];if(this.props.user.playlists_uris)for(var i=0;i<this.props.user.playlists_uris.length;i++){var uri=this.props.user.playlists_uris[i];this.props.playlists.hasOwnProperty(uri)&&playlists.push(this.props.playlists[uri])}if(this.props.user&&this.props.user.images)var image=helpers.sizedImages(this.props.user.images).huge;else var image=null;return _react2.default.createElement("div",{className:"view user-view"},_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,{image:image}),_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("h1",null,this.props.user.display_name?this.props.user.display_name:this.props.user.id),_react2.default.createElement("h2",null,_react2.default.createElement("ul",{className:"details"},this.props.user.playlists_total?_react2.default.createElement("li",null,this.props.user.playlists_total?this.props.user.playlists_total.toLocaleString():0," playlists"):null,this.props.user.followers?_react2.default.createElement("li",null,this.props.user.followers.total.toLocaleString()," followers"):null,this.isMe()?_react2.default.createElement("li",null,_react2.default.createElement("span",{className:"blue-text"},"You")):null)),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement(_FollowButton2.default,{className:"primary",uri:this.props.params.uri,addText:"Follow",removeText:"Unfollow"})))),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement("h4",null,"Playlists"),_react2.default.createElement(_PlaylistGrid2.default,{playlists:playlists}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.user.playlists_more,loadMore:function(){return _this2.loadMore()}}))))}}]),User}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{load_queue:state.ui.load_queue,spotify_authorized:state.spotify.authorization,me:state.spotify.me,playlists:state.core.playlists,user:void 0!==state.core.users[uri]&&state.core.users[uri]}},mapDispatchToProps=function(dispatch){return{spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(User)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_reactRouter=__webpack_require__(6),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_TrackList=__webpack_require__(27),_Thumbnail=(_interopRequireDefault(_TrackList),__webpack_require__(15)),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_ArtistGrid=__webpack_require__(52),_FollowButton=(_interopRequireDefault(_ArtistGrid),__webpack_require__(59)),_LastfmLoveButton=(_interopRequireDefault(_FollowButton),__webpack_require__(403)),_LastfmLoveButton2=_interopRequireDefault(_LastfmLoveButton),_Dater=__webpack_require__(43),_Dater2=_interopRequireDefault(_Dater),_LazyLoadListener=__webpack_require__(28),_ContextMenuTrigger=(_interopRequireDefault(_LazyLoadListener),__webpack_require__(37)),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(31),lastfmActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(404),geniusActions=_interopRequireWildcard(_actions5),Track=function(_React$Component){function Track(props){return _classCallCheck(this,Track),_possibleConstructorReturn(this,(Track.__proto__||Object.getPrototypeOf(Track)).call(this,props))}return _inherits(Track,_React$Component),_createClass(Track,[{key:"componentDidMount",value:function(){this.loadTrack()}},{key:"handleContextMenu",value:function(e){e.preventDefault();var data={uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(e,data,"track","click")}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?this.loadTrack(nextProps):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(this.props.params.uri)&&this.loadTrack(nextProps),!this.props.track.artists&&nextProps.track.artists&&(nextProps.lastfm_authorized&&this.props.lastfmActions.getTrack(nextProps.track.uri),nextProps.track.lyrics_results||this.props.geniusActions.findTrackLyrics(nextProps.track))}},{key:"handleContextMenu",value:function(e){var data={e:e,context:"track",items:[this.props.track],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"loadTrack",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;switch(helpers.uriSource(props.params.uri)){case"spotify":props.track||(this.props.spotifyActions.getTrack(props.params.uri),this.props.spotifyActions.following(props.params.uri));break;default:props.mopidy_connected&&(props.track||this.props.mopidyActions.getTrack(props.params.uri))}props.track&&props.track.artists&&(props.lastfm_authorized&&this.props.lastfmActions.getTrack(props.track.uri),props.track&&!props.track.lyrics_results&&this.props.geniusActions.findTrackLyrics(props.track))}},{key:"play",value:function(){this.props.mopidyActions.playURIs([this.props.params.uri],this.props.params.uri)}},{key:"renderLyricsSelector",value:function(){var _this2=this;return this.props.track.lyrics_results?_react2.default.createElement("div",{className:"field lyrics-selector"},_react2.default.createElement("div",{className:"input"},_react2.default.createElement("select",{onChange:function(e){return _this2.props.geniusActions.getTrackLyrics(_this2.props.track.uri,e.target.value)}},this.props.track.lyrics_results.map(function(result){return _react2.default.createElement("option",{key:result.url,value:result.url,defaultValue:result.url==_this2.props.track.lyrics_url},result.title)})),_react2.default.createElement("div",{className:"description"},"Switch to another lyrics seach result"))):_react2.default.createElement("div",{className:"field lyrics-selector"},_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",disabled:"disabled",value:"Loading..."}),_react2.default.createElement("div",{className:"description"},"Switch to another lyrics seach result")))}},{key:"renderLyrics",value:function(){return helpers.isLoading(this.props.load_queue,["genius_"])?_react2.default.createElement("div",{className:"lyrics"},_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}))):this.props.track.lyrics?_react2.default.createElement("div",{className:"lyrics"},_react2.default.createElement("div",{className:"content",dangerouslySetInnerHTML:{__html:this.props.track.lyrics}}),_react2.default.createElement("div",{className:"origin grey-text"},"Origin: ",_react2.default.createElement("a",{href:this.props.track.lyrics_url,target:"_blank"},this.props.track.lyrics_url))):null}},{key:"render",value:function(){var _this3=this;if(helpers.isLoading(this.props.load_queue,["spotify_track/"+helpers.getFromUri("trackid",this.props.params.uri)]))return _react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}));if(!this.props.track)return null;var track=this.props.track;return _react2.default.createElement("div",{className:"view track-view content-wrapper"},this.props.slim_mode?_react2.default.createElement(_Header2.default,{icon:"music",title:"Track",handleContextMenuTrigger:function(e){return _this3.handleContextMenu(e)},uiActions:this.props.uiActions}):null,_react2.default.createElement("div",{className:"thumbnail-wrapper"},_react2.default.createElement(_URILink2.default,{type:"album",uri:track.album.uri},_react2.default.createElement(_Thumbnail2.default,{size:"large",canZoom:!0,images:track.images}))),_react2.default.createElement("div",{className:"title"},_react2.default.createElement("h1",null,track.name),_react2.default.createElement("h2",{className:"grey-text"},track.album?_react2.default.createElement(_reactRouter.Link,{to:global.baseURL+"album/"+track.album.uri},track.album.name):"Unknown album"," by ",_react2.default.createElement(_ArtistSentence2.default,{artists:track.artists})),_react2.default.createElement("ul",{className:"details"},this.props.slim_mode?null:_react2.default.createElement("li",{className:"has-tooltip"},_react2.default.createElement(_reactFontawesome2.default,{name:helpers.sourceIcon(this.props.params.uri)}),_react2.default.createElement("span",{className:"tooltip"},helpers.uriSource(this.props.params.uri)," track")),track.date?_react2.default.createElement("li",null,_react2.default.createElement(_Dater2.default,{type:"date",data:track.date})):null,track.explicit?_react2.default.createElement("li",null,_react2.default.createElement("span",{className:"flag dark"},"EXPLICIT")):null,_react2.default.createElement("li",null,track.disc_number?_react2.default.createElement("span",null,"Disc ",track.disc_number):null,track.disc_number&&track.track_number?_react2.default.createElement("span",null,", "):null,track.track_number?_react2.default.createElement("span",null,"Track ",track.track_number):null),track.duration?_react2.default.createElement("li",null,_react2.default.createElement(_Dater2.default,{type:"length",data:track.duration})):null)),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this3.play()}},"Play"),_react2.default.createElement(_LastfmLoveButton2.default,{uri:this.props.params.uri,artist:this.props.track.artists[0].name,track:this.props.track.name,addText:"Love",removeText:"Unlove",is_loved:this.props.track.userloved}),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this3.handleContextMenu(e)}})),this.renderLyricsSelector(),this.renderLyrics())}}]),Track}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,track:!(!state.core.tracks||void 0===state.core.tracks[uri])&&state.core.tracks[uri],tracks:state.core.tracks,artists:state.core.artists,albums:state.core.albums,spotify_library_albums:state.spotify.library_albums,local_library_albums:state.mopidy.library_albums,lastfm_authorized:state.lastfm.session,spotify_authorized:state.spotify.authorization,mopidy_connected:state.mopidy.connected}},mapDispatchToProps=function(dispatch){var _ref;return _ref={uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)},_defineProperty(_ref,"uiActions",(0,_redux.bindActionCreators)(uiActions,dispatch)),_defineProperty(_ref,"mopidyActions",(0,_redux.bindActionCreators)(mopidyActions,dispatch)),_defineProperty(_ref,"lastfmActions",(0,_redux.bindActionCreators)(lastfmActions,dispatch)),_defineProperty(_ref,"spotifyActions",(0,_redux.bindActionCreators)(spotifyActions,dispatch)),_defineProperty(_ref,"geniusActions",(0,_redux.bindActionCreators)(geniusActions,dispatch)),_ref};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Track)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_reactFontawesome=__webpack_require__(5),_helpers=(_interopRequireDefault(_reactFontawesome),__webpack_require__(1)),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(4)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(31),lastfmActions=_interopRequireWildcard(_actions2),FollowButton=function(_React$Component){function FollowButton(props){return _classCallCheck(this,FollowButton),_possibleConstructorReturn(this,(FollowButton.__proto__||Object.getPrototypeOf(FollowButton)).call(this,props))}return _inherits(FollowButton,_React$Component),_createClass(FollowButton,[{key:"remove",value:function(){this.props.lastfmActions.unloveTrack(this.props.uri,this.props.artist,this.props.track)}},{key:"add",value:function(){this.props.lastfmActions.loveTrack(this.props.uri,this.props.artist,this.props.track)}},{key:"render",value:function(){var _this2=this;if(!this.props.uri)return!1;var className="";return this.props.className&&(className+=" "+this.props.className),this.props.lastfm_authorized?this.props.is_loved&&"0"!==this.props.is_loved?_react2.default.createElement("button",{className:className+" destructive",onClick:function(e){return _this2.remove()}},this.props.removeText):_react2.default.createElement("button",{className:className,onClick:function(e){return _this2.add()}},this.props.addText):_react2.default.createElement("button",{className:className+" disabled",onClick:function(e){return _this2.props.uiActions.createNotification("You must authorize LastFM first","warning")}},this.props.addText)}}]),FollowButton}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,lastfm_authorized:state.lastfm.session}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(FollowButton)},function(module,exports,__webpack_require__){"use strict";(function($){function getTrackLyrics(uri,url){return function(dispatch,getState){dispatch({type:"TRACK_LOADED",track:{uri:uri,lyrics:null,lyrics_url:null}}),sendRequest(dispatch,getState,url).then(function(response){var html=$(response),lyrics=html.find(".lyrics");if(lyrics.length>0){lyrics=lyrics.first(),lyrics.find("a").replaceWith(function(){return this.innerHTML});var lyrics_html=lyrics.html();lyrics_html=lyrics_html.replace(/(\[)/g,'<span class="grey-text">['),lyrics_html=lyrics_html.replace(/(\])/g,"]</span>"),dispatch({type:"TRACK_LOADED",track:{uri:uri,lyrics:lyrics_html,lyrics_url:url}})}},function(error){dispatch(coreActions.handleException("Could not extract track lyrics",error))})}}function findTrackLyrics(track){return function(dispatch,getState){var query="";query+=track.artists[0].name+" ",query+=track.name,query=query.toLowerCase(),query=query.replace(/\([^)]*\) */g,""),query=query.replace(/\([^[]*\] */g,""),query=query.replace(/[^A-Za-z0-9\s]/g,""),sendRequest(dispatch,getState,"search?q="+encodeURIComponent(query)).then(function(response){if(response.response.hits&&response.response.hits.length>0){for(var lyrics_results=[],i=0;i<response.response.hits.length;i++)lyrics_results.push({title:response.response.hits[i].result.full_title,url:response.response.hits[i].result.url});dispatch({type:"TRACK_LOADED",track:{uri:track.uri,lyrics_results:lyrics_results}}),dispatch(getTrackLyrics(track.uri,lyrics_results[0].url))}},function(error){dispatch(coreActions.handleException("Could not get track info",error))})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTrackLyrics=getTrackLyrics,exports.findTrackLyrics=findTrackLyrics;var coreActions=__webpack_require__(22),uiActions=__webpack_require__(4),helpers=__webpack_require__(1),sendRequest=function(dispatch,getState,endpoint){return new Promise(function(resolve,reject){var loader_key=helpers.generateGuid();dispatch(uiActions.startLoading(loader_key,"genius_"+endpoint));var url=endpoint;url.startsWith("http")||(url="https://api.genius.com/"+url);var config={method:"POST",cache:!1,timeout:3e4,headers:{Authorization:"Bearer nBNNEFekix8BOsfPyfK7LtX-CaUz7L7ak92qC3GfMAIQi8eWjuwb4P8SUxK1K-iY"},data:JSON.stringify({url:url}),url:"//"+getState().mopidy.host+":"+getState().mopidy.port+"/iris/http/proxy_request"};$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),resolve(response.response)},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),reject({config:config,xhr:xhr,status:status,error:error})})})}}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_reactRouter=__webpack_require__(6),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Parallax=__webpack_require__(41),_Parallax2=_interopRequireDefault(_Parallax),_TrackList=__webpack_require__(27),_TrackList2=_interopRequireDefault(_TrackList),_Track=__webpack_require__(159),_Dater=(_interopRequireDefault(_Track),__webpack_require__(43)),_Dater2=_interopRequireDefault(_Dater),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions4),Queue=function(_React$Component){function Queue(props){return _classCallCheck(this,Queue),_possibleConstructorReturn(this,(Queue.__proto__||Object.getPrototypeOf(Queue)).call(this,props))}return _inherits(Queue,_React$Component),_createClass(Queue,[{key:"removeTracks",value:function(track_indexes){for(var tlids=[],i=0;i<track_indexes.length;i++){var track=this.props.queue[track_indexes[i]];void 0!==track.tlid&&tlids.push(track.tlid)}tlids.length>0&&this.props.mopidyActions.removeTracks(tlids)}},{key:"playTrack",value:function(track){this.props.mopidyActions.changeTrack(track.tlid)}},{key:"playTracks",value:function(tracks){this.props.mopidyActions.changeTrack(tracks[0].tlid)}},{key:"reorderTracks",value:function(indexes,index){this.props.mopidyActions.reorderTracklist(indexes,index)}},{key:"renderQueueStats",value:function(){return _react2.default.createElement("div",{className:"queue-stats grey-text"},_react2.default.createElement("span",null,this.props.current_tracklist.length," tracks"),"  |  ",this.props.current_tracklist.length>0?_react2.default.createElement(_Dater2.default,{type:"total-time",data:this.props.current_tracklist}):_react2.default.createElement("span",null,"0 mins"))}},{key:"renderArtwork",value:function(image){if(!image)return _react2.default.createElement("span",{className:this.props.radio_enabled?"artwork radio-enabled":"artwork"},this.props.radio_enabled?_react2.default.createElement("img",{className:"radio-overlay",src:"assets/radio-overlay.png"}):null,_react2.default.createElement(_Thumbnail2.default,{circle:this.props.radio_enabled}));var uri=null;return this.props.current_track.album&&this.props.current_track.album.uri&&(uri=this.props.current_track.album.uri),_react2.default.createElement(_URILink2.default,{className:this.props.radio_enabled?"artwork radio-enabled":"artwork",type:"album",uri:uri},this.props.radio_enabled?_react2.default.createElement("img",{className:"radio-overlay",src:"assets/radio-overlay.png"}):null,_react2.default.createElement(_Thumbnail2.default,{image:image,circle:this.props.radio_enabled}))}},{key:"render",value:function(){var _this2=this,current_track=null,tracks=[];if(this.props.queue&&this.props.tracks)for(var i=0;i<this.props.queue.length;i++){var track=this.props.queue[i];this.props.tracks.hasOwnProperty(track.uri)&&(track=Object.assign({},this.props.tracks[track.uri],track)),void 0!==this.props.queue_metadata["tlid_"+track.tlid]&&(track=Object.assign({},track,this.props.queue_metadata["tlid_"+track.tlid],{playing:this.props.current_track&&this.props.current_track.tlid==track.tlid})),this.props.current_track&&this.props.current_track.uri==track.uri&&(current_track=track),tracks.push(track)}var image=null;current_track&&void 0!==current_track.images&&current_track.images&&(image=helpers.sizedImages(current_track.images),image=image.large);var options=_react2.default.createElement("span",null,this.props.spotify_enabled?_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _this2.props.uiActions.openModal("edit_radio")}},_react2.default.createElement(_reactFontawesome2.default,{name:"podcast"}),"  Radio",this.props.radio&&this.props.radio.enabled?_react2.default.createElement("span",{className:"flag blue"},"On"):null):null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _reactRouter.hashHistory.push(global.baseURL+"queue/history")}},_react2.default.createElement(_reactFontawesome2.default,{name:"history"}),"  History"),_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _this2.props.mopidyActions.clearTracklist()}},_react2.default.createElement(_reactFontawesome2.default,{name:"trash"}),"  Clear"),_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _this2.props.uiActions.openModal("add_to_queue",{})}},_react2.default.createElement(_reactFontawesome2.default,{name:"plus"}),"  Add URI"));return _react2.default.createElement("div",{className:"view queue-view"},_react2.default.createElement(_Header2.default,{icon:"play",className:"overlay",title:"Now playing",options:options,uiActions:this.props.uiActions}),_react2.default.createElement(_Parallax2.default,{blur:!0,image:image}),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("div",{className:"current-track"},this.renderArtwork(image),_react2.default.createElement("div",{className:"title"},current_track?_react2.default.createElement(_URILink2.default,{type:"track",uri:current_track.uri},current_track.name):_react2.default.createElement("span",null,"-")),current_track?_react2.default.createElement(_ArtistSentence2.default,{artists:current_track.artists}):_react2.default.createElement(_ArtistSentence2.default,null)),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{show_source_icon:!0,context:"queue",className:"queue-track-list",tracks:tracks,removeTracks:function(track_indexes){return _this2.removeTracks(track_indexes)},playTracks:function(tracks){return _this2.playTracks(tracks)},playTrack:function(track){return _this2.playTrack(track)},reorderTracks:function(indexes,index){return _this2.reorderTracks(indexes,index)}}))))}}]),Queue}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{spotify_enabled:state.spotify.enabled,radio:state.core.radio,radio_enabled:!(!state.core.radio||!state.core.radio.enabled),tracks:state.core.tracks,queue:state.core.queue,queue_tlids:state.core.queue_tlids,queue_metadata:state.core.queue_metadata,current_track:state.core.current_track}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Queue)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_reactRouter=__webpack_require__(6),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_TrackList=__webpack_require__(27),_TrackList2=_interopRequireDefault(_TrackList),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions4),QueueHistory=function(_React$Component){function QueueHistory(props){return _classCallCheck(this,QueueHistory),_possibleConstructorReturn(this,(QueueHistory.__proto__||Object.getPrototypeOf(QueueHistory)).call(this,props))}return _inherits(QueueHistory,_React$Component),_createClass(QueueHistory,[{key:"componentDidMount",value:function(){this.loadHistory()}},{key:"componentWillReceiveProps",value:function(nextProps){!this.props.mopidy_connected&&nextProps.mopidy_connected&&this.loadHistory(nextProps)}},{key:"loadHistory",value:function(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props).mopidy_connected&&this.props.mopidyActions.getQueueHistory()}},{key:"render",value:function(){var options=_react2.default.createElement("span",null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _reactRouter.hashHistory.push(global.baseURL+"queue")}},_react2.default.createElement(_reactFontawesome2.default,{name:"reply"}),"  Back"));return _react2.default.createElement("div",{className:"view queue-history-view"},_react2.default.createElement(_Header2.default,{icon:"play",title:"Playback history",options:options,uiActions:this.props.uiActions}),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_TrackList2.default,{className:"queue-history-track-list",show_source_icon:!0,context:"history",tracks:this.props.queue_history})))}}]),QueueHistory}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,queue_history:state.mopidy.queue_history?state.mopidy.queue_history:[]}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(QueueHistory)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_reactRouter=__webpack_require__(6),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_SpotifyAuthenticationFrame=__webpack_require__(160),_SpotifyAuthenticationFrame2=_interopRequireDefault(_SpotifyAuthenticationFrame),_LastfmAuthenticationFrame=__webpack_require__(408),_LastfmAuthenticationFrame2=_interopRequireDefault(_LastfmAuthenticationFrame),_ConfirmationButton=__webpack_require__(103),_ConfirmationButton2=_interopRequireDefault(_ConfirmationButton),_PusherConnectionList=__webpack_require__(161),_PusherConnectionList2=_interopRequireDefault(_PusherConnectionList),_URISchemesList=__webpack_require__(162),_URISchemesList2=_interopRequireDefault(_URISchemesList),_VersionManager=__webpack_require__(163),_VersionManager2=_interopRequireDefault(_VersionManager),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_Parallax=__webpack_require__(41),_Parallax2=_interopRequireDefault(_Parallax),_Icon=__webpack_require__(18),_Thumbnail=(_interopRequireDefault(_Icon),__webpack_require__(15)),_Thumbnail2=_interopRequireDefault(_Thumbnail),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(31),lastfmActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions6),Settings=function(_React$Component){function Settings(props){_classCallCheck(this,Settings);var _this=_possibleConstructorReturn(this,(Settings.__proto__||Object.getPrototypeOf(Settings)).call(this,props));return _this.state={country:_this.props.core.country,locale:_this.props.core.locale,mopidy_host:_this.props.mopidy.host,mopidy_port:_this.props.mopidy.port,mopidy_ssl:_this.props.mopidy.ssl,pusher_username:_this.props.pusher.username,input_in_focus:null},_this}return _inherits(Settings,_React$Component),_createClass(Settings,[{key:"componentDidMount",value:function(){this.props.lastfm.session&&void 0===this.props.core.users["lastfm:user:"+this.props.lastfm.session.name]&&this.props.lastfmActions.getMe()}},{key:"componentWillReceiveProps",value:function(newProps){var changed=!1,state=this.state;newProps.core.country!=this.state.country&&"country"!=this.state.input_in_focus&&(state.country=newProps.core.country,changed=!0),newProps.core.locale!=this.state.locale&&"locale"!=this.state.input_in_focus&&(state.locale=newProps.core.locale,changed=!0),newProps.pusher.username!=this.state.pusher_username&&"pusher_username"!=this.state.input_in_focus&&(state.pusher_username=newProps.pusher.username,changed=!0),changed&&this.setState(state)}},{key:"resetAllSettings",value:function(){return localStorage.clear(),window.location="#",window.location.reload(!0),!1}},{key:"setConfig",value:function(e){return this.setState({input_in_focus:null}),e.preventDefault(),this.props.mopidyActions.setConfig({host:this.state.mopidy_host,port:this.state.mopidy_port,ssl:this.state.mopidy_ssl}),window.location.reload(!0),!1}},{key:"handleBlur",value:function(name,value){this.setState({input_in_focus:null});var data={};data[name]=value,this.props.coreActions.set(data)}},{key:"handleUsernameChange",value:function(username){this.setState({pusher_username:username.replace(/\W/g,"")})}},{key:"handleUsernameBlur",value:function(e){this.setState({input_in_focus:null}),this.props.pusherActions.setUsername(this.state.pusher_username)}},{key:"renderApplyButton",value:function(){return this.props.mopidy.host==this.state.mopidy_host&&this.props.mopidy.port==this.state.mopidy_port&&this.props.mopidy.ssl==this.state.mopidy_ssl?null:_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("button",{type:"submit",className:"secondary"},"Apply and reload")))}},{key:"renderSpotifyUser",value:function(){var user=this.props.spotify.me;return user?_react2.default.createElement(_URILink2.default,{className:"user",type:"user",uri:user.uri},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small",images:user.images}),_react2.default.createElement("span",{className:"user-name"},user.display_name?user.display_name:user.id,this.props.spotify.authorization?null:_react2.default.createElement("span",{className:"grey-text"},"  (Limited access)"))):_react2.default.createElement(_URILink2.default,{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small"}),_react2.default.createElement("span",{className:"user-name"},"Unknown"))}},{key:"renderLastfmUser",value:function(){var user=this.props.core.users["lastfm:user:"+this.props.lastfm.session.name];return user?_react2.default.createElement("span",{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small",images:user.image}),_react2.default.createElement("span",{className:"user-name"},user.realname?user.realname:user.name)):_react2.default.createElement("span",{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small"}),_react2.default.createElement("span",{className:"user-name"},"Unknown"))}},{key:"renderSendAuthorizationButton",value:function(){var _this2=this;return this.props.spotify.authorization?_react2.default.createElement("button",{onClick:function(e){return _this2.props.uiActions.openModal("send_authorization",{})}},"Share authentication"):null}},{key:"renderServerStatus",value:function(){var colour="grey",icon="question-circle",status="Unknown";return this.props.mopidy.connecting||this.props.pusher.connecting?(icon="plug",status="Connecting..."):this.props.mopidy.connected&&this.props.pusher.connected?this.props.mopidy.connected&&this.props.pusher.connected&&(colour="green",icon="check",status="Connected"):(colour="red",icon="close",status="Disconnected"),_react2.default.createElement("span",{className:colour+"-text"},_react2.default.createElement(_reactFontawesome2.default,{name:icon}),"  ",status)}},{key:"renderSpotifyStatus",value:function(){var colour="grey",icon="question-circle",status="Unknown";return this.props.spotify.connecting?(icon="plug",status="Connecting..."):this.props.spotify.connected?this.props.mopidy.connected&&(colour="green",icon="check",status="Connected"):(colour="red",icon="close",status="Disconnected"),this.props.mopidy.uri_schemes&&this.props.mopidy.uri_schemes.includes("spotify:")||(colour="orange",status+=" (Mopidy-Spotify extension not installed/enabled!)"),_react2.default.createElement("span",{className:colour+"-text"},_react2.default.createElement(_reactFontawesome2.default,{name:icon}),"  ",status)}},{key:"render",value:function(){var _this3=this,options=_react2.default.createElement("span",null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _reactRouter.hashHistory.push(global.baseURL+"settings/debug")}},_react2.default.createElement(_reactFontawesome2.default,{name:"flask"}),"  Debug",this.props.ui&&this.props.ui.test_mode?_react2.default.createElement("span",{className:"flag warning"},"Test mode"):null),_react2.default.createElement("a",{className:"no-hover button",href:"https://github.com/jaedb/Iris/wiki",target:"_blank"},_react2.default.createElement(_reactFontawesome2.default,{name:"question"}),"  Help"));return _react2.default.createElement("div",{className:"view settings-view"},_react2.default.createElement(_Header2.default,{className:"overlay",icon:"cog",title:"Settings",options:options,uiActions:this.props.uiActions}),_react2.default.createElement("div",{className:"intro"},_react2.default.createElement("div",{className:"liner"},_react2.default.createElement(_Parallax2.default,{image:"assets/backgrounds/settings.jpg"}))),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement("h4",{className:"underline"},"Server"),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Status"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},this.renderServerStatus()))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Username"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.handleUsernameChange(e.target.value)},onFocus:function(e){return _this3.setState({input_in_focus:"pusher_username"})},onBlur:function(e){return _this3.handleUsernameBlur(e)},value:this.state.pusher_username}),_react2.default.createElement("div",{className:"description"},"A non-unique string used to identify this client (no special characters)"))),_react2.default.createElement("form",{onSubmit:function(e){return _this3.setConfig(e)}},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Host"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({mopidy_host:e.target.value})},onFocus:function(e){return _this3.setState({input_in_focus:"mopidy_host"})},onBlur:function(e){return _this3.setState({input_in_focus:null})},value:this.state.mopidy_host}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Port"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({mopidy_port:e.target.value})},onFocus:function(e){return _this3.setState({input_in_focus:"mopidy_port"})},onBlur:function(e){return _this3.setState({input_in_focus:null})},value:this.state.mopidy_port}))),_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Encryption"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"ssl",checked:this.state.mopidy_ssl,onChange:function(e){return _this3.setState({mopidy_ssl:!_this3.state.mopidy_ssl})}}),_react2.default.createElement("span",{className:"label has-tooltip"},"Enable SSL",_react2.default.createElement("span",{className:"tooltip"},"Requires SSL proxy"))))),this.renderApplyButton()),_react2.default.createElement("h4",{className:"underline"},"Localization"),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Country"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({country:e.target.value})},onFocus:function(e){return _this3.setState({input_in_focus:"country"})},onBlur:function(e){return _this3.handleBlur("country",e.target.value)},value:this.state.country}),_react2.default.createElement("div",{className:"description"},"An ",_react2.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",target:"_blank"},"ISO 3166-1 alpha-2")," country code (eg ",_react2.default.createElement("em",null,"NZ"),")"))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Locale"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({locale:e.target.value})},onFocus:function(e){return _this3.setState({input_in_focus:"locale"})},onBlur:function(e){return _this3.handleBlur("locale",e.target.value)},value:this.state.locale}),_react2.default.createElement("div",{className:"description"},"Lowercase ",_react2.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_639",target:"_blank"},"ISO 639 language code")," and an uppercase ",_react2.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",target:"_blank"},"ISO 3166-1 alpha-2 country code"),", joined by an underscore (eg ",_react2.default.createElement("em",null,"en_NZ"),")"))),_react2.default.createElement("h4",{className:"underline"},"Spotify"),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Status"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},this.renderSpotifyStatus()))),_react2.default.createElement("div",{className:"field current-user"},_react2.default.createElement("div",{className:"name"},"Current user"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},this.renderSpotifyUser()))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Authorization"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_SpotifyAuthenticationFrame2.default,null),this.renderSendAuthorizationButton(),this.props.spotify.refreshing_token?_react2.default.createElement("button",{className:"working"},"Refreshing..."):_react2.default.createElement("button",{onClick:function(e){return _this3.props.spotifyActions.refreshingToken()}},"Force token refresh"))),_react2.default.createElement("h4",{className:"underline"},"LastFM"),this.props.lastfm.session?_react2.default.createElement("div",{className:"field current-user"},_react2.default.createElement("div",{className:"name"},"Current user"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},this.renderLastfmUser()))):null,_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Authorization"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_LastfmAuthenticationFrame2.default,null))),_react2.default.createElement("h4",{className:"underline"},"Advanced"),_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"UI behavior"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_actions",checked:this.props.ui.clear_tracklist_on_play,onChange:function(e){return _this3.props.uiActions.set({clear_tracklist_on_play:!_this3.props.ui.clear_tracklist_on_play})}}),_react2.default.createElement("span",{className:"label has-tooltip"},"Clear tracklist on play of URI(s)",_react2.default.createElement("span",{className:"tooltip"},"Playing one or more URIs will clear the current play queue first"))),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_actions",checked:this.props.core.anonymise_analytics,onChange:function(e){return _this3.props.coreActions.set({anonymise_analytics:!_this3.props.core.anonymise_analytics})}}),_react2.default.createElement("span",{className:"label has-tooltip"},"Exclude personal data from collection",_react2.default.createElement("span",{className:"tooltip"},"Personal data used for debugging Iris is not collected by Google Analytics"))))),_react2.default.createElement("div",{className:"field pusher-connections"},_react2.default.createElement("div",{className:"name"},"Connections"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},_react2.default.createElement(_PusherConnectionList2.default,null)))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Extensions"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},_react2.default.createElement(_URISchemesList2.default,null)))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Version"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_VersionManager2.default,null))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Reset"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_ConfirmationButton2.default,{className:"destructive",content:"Reset all settings",confirmingContent:"Are you sure?",onConfirm:function(){return _this3.resetAllSettings()}}))),_react2.default.createElement("h4",{className:"underline"},"About"),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",null,_react2.default.createElement("em",null,_react2.default.createElement("a",{href:"https://github.com/jaedb/Iris",target:"_blank"},"Iris"))," is an open-source project by ",_react2.default.createElement("a",{href:"https://github.com/jaedb",target:"_blank"},"James Barnsley"),". It is provided free and with absolutely no warranty. If you paid someone for this software, please let me know.",_react2.default.createElement("br",null),_react2.default.createElement("br",null),"Google Analytics is used to help trace issues and provide valuable insight into how we can continue to make improvements. This may include personal information (eg Spotify Username). For more information, see ",_react2.default.createElement("a",{href:"https://github.com/jaedb/Iris/wiki/Terms-of-use",target:"_blank"},"terms and conditions"),".",_react2.default.createElement("br",null)),_react2.default.createElement("br",null),_react2.default.createElement("br",null),_react2.default.createElement("div",null,_react2.default.createElement("a",{className:"button",href:"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=james%40barnsley%2enz&lc=NZ&item_name=James%20Barnsley&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted",target:"_blank"},_react2.default.createElement(_reactFontawesome2.default,{name:"paypal"})," Donate"),"  ",_react2.default.createElement("a",{className:"button",href:"https://github.com/jaedb/Iris",target:"_blank"},_react2.default.createElement(_reactFontawesome2.default,{name:"github"})," GitHub"),"  ",_react2.default.createElement("a",{className:"button",href:"http://creativecommons.org/licenses/by-nc/4.0/",target:"_blank"},_react2.default.createElement(_reactFontawesome2.default,{name:"creative-commons"})," Licence")))))}}]),Settings}(_react2.default.Component),mapStateToProps=function(state,ownProps){return state},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Settings)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactGa=__webpack_require__(30),_reactFontawesome=(_interopRequireDefault(_reactGa),__webpack_require__(5)),_Thumbnail=(_interopRequireDefault(_reactFontawesome),__webpack_require__(15)),_actions=(_interopRequireDefault(_Thumbnail),__webpack_require__(4)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(31),lastfmActions=_interopRequireWildcard(_actions2),LastfmAuthenticationFrame=function(_React$Component){function LastfmAuthenticationFrame(props){_classCallCheck(this,LastfmAuthenticationFrame);var _this=_possibleConstructorReturn(this,(LastfmAuthenticationFrame.__proto__||Object.getPrototypeOf(LastfmAuthenticationFrame)).call(this,props));return _this.state={authorizing:!1},_this}return _inherits(LastfmAuthenticationFrame,_React$Component),_createClass(LastfmAuthenticationFrame,[{key:"componentDidMount",value:function(){var self=this;window.addEventListener("message",function(event){var data=JSON.parse(event.data);"auth_lastfm"==data.origin&&self.handleMessage(event,data)},!1)}},{key:"handleMessage",value:function(event,data){var authorization_domain=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(event.origin!=authorization_domain)return this.props.uiActions.createNotification("Authorization failed. "+event.origin+" is not the configured authorization_url.","bad"),!1;void 0!==data.error?this.props.uiActions.createNotification(data.message,"bad"):(this.props.lastfmActions.authorizationGranted(data),this.props.lastfmActions.getMe()),this.setState({authorizing:!1})}},{key:"startAuthorization",value:function(){function checkPopup(){void 0!==popup&&popup?popup.closed&&(self.setState({authorizing:!1}),clearInterval(timer)):(self.props.uiActions.createNotification("Popup blocked. Please allow popups and try again.","bad"),self.setState({authorizing:!1}),clearInterval(timer))}var self=this;this.setState({authorizing:!0});var url=this.props.authorization_url+"?action=authorize",popup=window.open(url,"popup","height=580,width=350");popup.name="LastfmAuthenticationWindow";var timer=setInterval(checkPopup,1e3)}},{key:"render",value:function(){var _this2=this;return this.state.authorizing?_react2.default.createElement("button",{className:"working"},"Authorizing..."):this.props.authorized?_react2.default.createElement("button",{className:"destructive",onClick:function(){return _this2.props.lastfmActions.revokeAuthorization()}},"Log out"):_react2.default.createElement("button",{className:"primary",onClick:function(){return _this2.startAuthorization()}},"Log in")}}]),LastfmAuthenticationFrame}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{authorization_url:state.lastfm.authorization_url,authorized:state.lastfm.session,authorizing:state.lastfm.authorizing}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LastfmAuthenticationFrame)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_reactRouter=__webpack_require__(6),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_SpotifyAuthenticationFrame=__webpack_require__(160),_ConfirmationButton=(_interopRequireDefault(_SpotifyAuthenticationFrame),__webpack_require__(103)),_PusherConnectionList=(_interopRequireDefault(_ConfirmationButton),__webpack_require__(161)),_URISchemesList=(_interopRequireDefault(_PusherConnectionList),__webpack_require__(162)),_VersionManager=(_interopRequireDefault(_URISchemesList),__webpack_require__(163)),_Header=(_interopRequireDefault(_VersionManager),__webpack_require__(16)),_Header2=_interopRequireDefault(_Header),_Thumbnail=__webpack_require__(15),_actions=(_interopRequireDefault(_Thumbnail),__webpack_require__(4)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(23),pusherActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions4),Debug=function(_React$Component){function Debug(props){_classCallCheck(this,Debug);var _this=_possibleConstructorReturn(this,(Debug.__proto__||Object.getPrototypeOf(Debug)).call(this,props));return _this.state={mopidy_call:"playlists.asList",mopidy_data:"{}",pusher_data:'{"method":"get_config"}',access_token:_this.props.access_token},_this}return _inherits(Debug,_React$Component),_createClass(Debug,[{key:"callMopidy",value:function(e){e.preventDefault(),this.props.mopidyActions.debug(this.state.mopidy_call,JSON.parse(this.state.mopidy_data))}},{key:"callPusher",value:function(e){e.preventDefault(),this.props.pusherActions.debug(JSON.parse(this.state.pusher_data))}},{key:"render",value:function(){var _this2=this,options=_react2.default.createElement("span",null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _reactRouter.hashHistory.push(global.baseURL+"settings")}},_react2.default.createElement(_reactFontawesome2.default,{name:"reply"}),"  Back"));return _react2.default.createElement("div",{className:"view debugger-view"},_react2.default.createElement(_Header2.default,{icon:"cog",title:"Debugger",options:options,uiActions:this.props.uiActions}),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("h4",{className:"underline"},"User interface"),_react2.default.createElement("form",null,_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Debug"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"debug_info",checked:this.props.test_mode,onChange:function(e){return _this2.props.uiActions.set({test_mode:!_this2.props.test_mode})}}),_react2.default.createElement("span",{className:"label"},"Test mode")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"debug_info",checked:this.props.debug_info,onChange:function(e){return _this2.props.uiActions.set({debug_info:!_this2.props.debug_info})}}),_react2.default.createElement("span",{className:"label"},"Debug info")))),_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Logging"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_actions",checked:this.props.log_actions,onChange:function(e){return _this2.props.uiActions.set({log_actions:!_this2.props.log_actions})}}),_react2.default.createElement("span",{className:"label"},"Log actions")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_mopidy",checked:this.props.log_mopidy,onChange:function(e){return _this2.props.uiActions.set({log_mopidy:!_this2.props.log_mopidy})}}),_react2.default.createElement("span",{className:"label"},"Log Mopidy")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_pusher",checked:this.props.log_pusher,onChange:function(e){return _this2.props.uiActions.set({log_pusher:!_this2.props.log_pusher})}}),_react2.default.createElement("span",{className:"label"},"Log Pusher")))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("a",{className:"button secondary",onClick:function(e){return _this2.props.uiActions.createNotification("Test notification")}},"Create notification"),_react2.default.createElement("a",{className:"button secondary",onClick:function(e){return _this2.props.uiActions.startProcess("test_process","Test process",{total:100,remaining:17})}},"Start process"),_react2.default.createElement("a",{className:"button secondary",onClick:function(e){return _this2.props.uiActions.processFinished("test_process")}},"Stop process")))),_react2.default.createElement("h4",{className:"underline"},"Spotify"),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Access token"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.props.spotifyActions.authorizationGranted({access_token:e.target.value})},value:this.state.access_token}))),_react2.default.createElement("h4",{className:"underline"},"Mopidy"),_react2.default.createElement("form",{onSubmit:function(e){return _this2.callMopidy(e)}},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Call"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({mopidy_call:e.target.value})},value:this.state.mopidy_call}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Data"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("textarea",{onChange:function(e){return _this2.setState({mopidy_data:e.target.value})},value:this.state.mopidy_data}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("button",{type:"submit",className:"secondary"},"Send")))),_react2.default.createElement("h4",{className:"underline"},"Pusher"),_react2.default.createElement("form",{onSubmit:function(e){return _this2.callPusher(e)}},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Examples"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("select",{onChange:function(e){return _this2.setState({pusher_data:e.target.value})}},_react2.default.createElement("option",{value:'{"method":"get_config"}'},"Get config"),_react2.default.createElement("option",{value:'{"method":"get_version"}'},"Get version"),_react2.default.createElement("option",{value:'{"method":"get_connections"}'},"Get connections"),_react2.default.createElement("option",{value:'{"method":"get_radio"}'},"Get radio"),_react2.default.createElement("option",{value:'{"method":"get_queue_metadata"}'},"Get queue metadata"),_react2.default.createElement("option",{value:'{"method":"broadcast","data":{"type":"browser_notification","title":"Testing","body":"This is my message"}}'},"Broadcast to all clients"),_react2.default.createElement("option",{value:'{"method":"deliver_message","data":{"to":"CONNECTION_ID_HERE","message":{"type":"browser_notification","title":"Testing","body":"This is my message"}}}'},"Broadcast to one client"),_react2.default.createElement("option",{value:'{"method":"set_username","data":{"connection_id":"CONNECTION_ID_HERE","username":"NewUsername"}}'},"Change username"),_react2.default.createElement("option",{value:'{"method":"refresh_spotify_token"}'},"Refresh Spotify token"),_react2.default.createElement("option",{value:'{"method":"perform_upgrade"}'},"Perform upgrade (beta)"),_react2.default.createElement("option",{value:'{"method":"proxy_request","data":{"url":"https://jsonplaceholder.typicode.com/posts/1"}}'},"Proxy request")))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Data"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("textarea",{onChange:function(e){return _this2.setState({pusher_data:e.target.value})},value:this.state.pusher_data}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("button",{type:"submit",className:"secondary"},"Send")))),_react2.default.createElement("h4",{className:"underline"},"Response"),_react2.default.createElement("pre",null,this.props.debug_response?JSON.stringify(this.props.debug_response,null,2):null)))}}]),Debug}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{connection_id:state.pusher.connection_id,access_token:state.spotify.access_token?state.spotify.access_token:"",log_actions:!!state.ui.log_actions&&state.ui.log_actions,log_pusher:!!state.ui.log_pusher&&state.ui.log_pusher,log_mopidy:!!state.ui.log_mopidy&&state.ui.log_mopidy,test_mode:!!state.ui.test_mode&&state.ui.test_mode,debug_info:!!state.ui.debug_info&&state.ui.debug_info,debug_response:state.ui.debug_response}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Debug)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=(__webpack_require__(6),__webpack_require__(2)),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_reactGa=__webpack_require__(30),_Header=(_interopRequireDefault(_reactGa),__webpack_require__(16)),_Header2=_interopRequireDefault(_Header),_DropdownField=__webpack_require__(61),_DropdownField2=_interopRequireDefault(_DropdownField),_TrackList=__webpack_require__(27),_TrackList2=_interopRequireDefault(_TrackList),_ArtistGrid=__webpack_require__(52),_ArtistGrid2=_interopRequireDefault(_ArtistGrid),_AlbumGrid=__webpack_require__(60),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_PlaylistGrid=__webpack_require__(62),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_SearchForm=__webpack_require__(411),_SearchForm2=_interopRequireDefault(_SearchForm),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions4),Search=function(_React$Component){function Search(props){return _classCallCheck(this,Search),_possibleConstructorReturn(this,(Search.__proto__||Object.getPrototypeOf(Search)).call(this,props))}return _inherits(Search,_React$Component),_createClass(Search,[{key:"componentDidMount",value:function(){var context="all",term=null;this.props.params&&this.props.params.query&&""!==this.props.params.query&&(context=helpers.getFromUri("searchcontext",this.props.params.query),term=helpers.getFromUri("searchterm",this.props.params.query)),$(document).find(".search-form input").focus(),context&&term&&(this.props.mopidy_connected&&this.props.search_uri_schemes&&this.props.mopidyActions.getSearchResults(context,term),this.props.spotify_connected&&this.props.search_uri_schemes&&this.props.search_uri_schemes.includes("spotify:")&&this.props.spotifyActions.getSearchResults(context,term))}},{key:"componentWillReceiveProps",value:function(newProps){if(this.props.params&&this.props.params.query&&""!==this.props.params.query)var old_term=(helpers.getFromUri("searchcontext",this.props.params.query),helpers.getFromUri("searchterm",this.props.params.query));else var old_term=null;if(newProps.params&&newProps.params.query&&""!==newProps.params.query)var context=helpers.getFromUri("searchcontext",newProps.params.query),term=helpers.getFromUri("searchterm",newProps.params.query);else var context="all",term=null;term&&!this.props.mopidy_connected&&newProps.mopidy_connected&&this.props.mopidyActions.getSearchResults(context,term),term&&!this.props.spotify_connected&&newProps.spotify_connected&&newProps.search_uri_schemes.includes("spotify:")&&this.props.spotifyActions.getSearchResults(context,term),term&&context&&term!==old_term&&(this.props.mopidyActions.clearSearchResults(),this.props.spotifyActions.clearSearchResults(),this.props.mopidy_connected&&this.props.search_uri_schemes&&this.props.mopidyActions.getSearchResults(context,term),this.props.mopidy_connected&&this.props.search_uri_schemes&&this.props.search_uri_schemes.includes("spotify:")&&this.props.spotifyActions.getSearchResults(context,term))}},{key:"loadMore",value:function(type){alert("load more: "+type)}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={search_results_sort_reverse:reverse,search_results_sort:value};this.props.uiActions.set(data)}},{key:"renderResults",value:function(){var _this2=this,context=helpers.getFromUri("searchcontext",this.props.params.query),term=helpers.getFromUri("searchterm",this.props.params.query);context||(context="all");var spotify_search_enabled=this.props.search_settings&&this.props.search_settings.spotify;if("uri"==this.props.sort)var sort_map=this.props.search_uri_schemes;else var sort_map=null;var artists=[];this.props.mopidy_search_results.artists&&(artists=[].concat(_toConsumableArray(artists),_toConsumableArray(helpers.getIndexedRecords(this.props.artists,this.props.mopidy_search_results.artists)))),this.props.spotify_search_results.artists&&(artists=[].concat(_toConsumableArray(artists),_toConsumableArray(helpers.getIndexedRecords(this.props.artists,this.props.spotify_search_results.artists)))),artists=helpers.sortItems(artists,this.props.sort,this.props.sort_reverse,sort_map);var albums=[];this.props.mopidy_search_results.albums&&(albums=[].concat(_toConsumableArray(albums),_toConsumableArray(helpers.getIndexedRecords(this.props.albums,this.props.mopidy_search_results.albums)))),this.props.spotify_search_results.albums&&(albums=[].concat(_toConsumableArray(albums),_toConsumableArray(helpers.getIndexedRecords(this.props.albums,this.props.spotify_search_results.albums)))),albums=helpers.sortItems(albums,this.props.sort,this.props.sort_reverse,sort_map);var playlists=[];this.props.mopidy_search_results.playlists&&(playlists=[].concat(_toConsumableArray(playlists),_toConsumableArray(helpers.getIndexedRecords(this.props.playlists,this.props.mopidy_search_results.playlists)))),this.props.spotify_search_results.playlists&&(playlists=[].concat(_toConsumableArray(playlists),_toConsumableArray(helpers.getIndexedRecords(this.props.playlists,this.props.spotify_search_results.playlists)))),playlists=helpers.sortItems(playlists,this.props.sort,this.props.sort_reverse,sort_map);var tracks=[];switch(this.props.mopidy_search_results.tracks&&(tracks=[].concat(_toConsumableArray(tracks),_toConsumableArray(this.props.mopidy_search_results.tracks))),this.props.spotify_search_results.tracks&&(tracks=[].concat(_toConsumableArray(tracks),_toConsumableArray(this.props.spotify_search_results.tracks))),tracks=helpers.sortItems(tracks,this.props.sort,this.props.sort_reverse,sort_map),context){case"artist":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:all:"+term},"Search"),"  ",_react2.default.createElement(_reactFontawesome2.default,{name:"angle-right"}),"  Artists"),_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_ArtistGrid2.default,{artists:artists,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.artists_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("artists")}})));case"album":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:all:"+term},"Search"),"  ",_react2.default.createElement(_reactFontawesome2.default,{name:"angle-right"}),"  Albums"),_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_AlbumGrid2.default,{albums:albums,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.albums_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("albums")}})));case"playlist":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:all:"+term},"Search"),"  ",_react2.default.createElement(_reactFontawesome2.default,{name:"angle-right"}),"  Playlists"),_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_PlaylistGrid2.default,{playlists:playlists,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.playlists_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("playlists")}})));case"track":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:all:"+term},"Search"),"  ",_react2.default.createElement(_reactFontawesome2.default,{name:"angle-right"}),"  Tracks"),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{tracks:tracks,uri:this.props.params.query,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.tracks_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("tracks")}})));case"all":default:if(artists.length>0)var artists_section=_react2.default.createElement("section",null,_react2.default.createElement("div",{className:"inner"},_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:artist:"+term},_react2.default.createElement("h4",null,"Artists")),_react2.default.createElement(_ArtistGrid2.default,{show_source_icon:!0,artists:artists.slice(0,5)}),artists.length>4?_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:artist:"+term,className:"button grey"},"All artists (",artists.length,")"):null));else var artists_section=null;if(albums.length>0)var albums_section=_react2.default.createElement("section",null,_react2.default.createElement("div",{className:"inner"},_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:album:"+term},_react2.default.createElement("h4",null,"Albums")),_react2.default.createElement(_AlbumGrid2.default,{show_source_icon:!0,albums:albums.slice(0,5)}),albums.length>4?_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:album:"+term,className:"button grey"},"All albums (",albums.length,")"):null));else var albums_section=null;if(playlists.length>0)var playlists_section=_react2.default.createElement("section",null,_react2.default.createElement("div",{className:"inner"},_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:playlist:"+term},_react2.default.createElement("h4",null,"Playlists")),_react2.default.createElement(_PlaylistGrid2.default,{show_source_icon:!0,playlists:playlists.slice(0,5)}),playlists.length>4?_react2.default.createElement(_URILink2.default,{unencoded:!0,type:"search",uri:"search:playlist:"+term,className:"button grey"},"All playlists (",playlists.length,")"):null));else var playlists_section=null;if(tracks.length>0)var tracks_section=_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{tracks:tracks,uri:this.props.params.query,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.tracks_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("tracks")}}));else var tracks_section=null;return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"search-result-sections cf"},artists_section,albums_section,playlists_section),tracks_section)}}},{key:"render",value:function(){var _this3=this,sort_options=[{value:"name",label:"Name"},{value:"artists.name",label:"Artist"},{value:"duration",label:"Duration"},{value:"uri",label:"Source"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,reverse:this.props.sort_reverse,handleChange:function(val){_this3.setSort(val),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _this3.props.uiActions.openModal("search_uri_schemes",{query:_this3.props.params.query})}},_react2.default.createElement(_reactFontawesome2.default,{name:"wrench"}),"  Sources"));return _react2.default.createElement("div",{className:"view search-view"},_react2.default.createElement(_Header2.default,{icon:"search",options:options,uiActions:this.props.uiActions}),_react2.default.createElement(_SearchForm2.default,{query:this.props.params.query?this.props.params.query:"",view:this.props.params.view?this.props.params.view:"all"}),_react2.default.createElement("div",{className:"content-wrapper"},this.renderResults()))}}]),Search}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,spotify_connected:state.spotify.connected,albums:state.core.albums?state.core.albums:[],artists:state.core.artists?state.core.artists:[],playlists:state.core.playlists?state.core.playlists:[],tracks:state.core.tracks?state.core.tracks:[],search_uri_schemes:state.ui.search_uri_schemes?state.ui.search_uri_schemes:[],mopidy_search_results:state.mopidy.search_results?state.mopidy.search_results:{},spotify_search_results:state.spotify.search_results?state.spotify.search_results:{},sort:state.ui.search_results_sort?state.ui.search_results_sort:"name",sort_reverse:!!state.ui.search_results_sort_reverse}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Search)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_reactRouter=__webpack_require__(6),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_helpers=(_interopRequireDefault(_reactFontawesome),__webpack_require__(1)),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),SearchForm=function(_React$Component){function SearchForm(props){_classCallCheck(this,SearchForm);var _this=_possibleConstructorReturn(this,(SearchForm.__proto__||Object.getPrototypeOf(SearchForm)).call(this,props));return _this.state={query:"",in_focus:!1},_this}return _inherits(SearchForm,_React$Component),_createClass(SearchForm,[{key:"componentDidMount",value:function(){if(this.props.query){var query=this.props.query.replace("search:","");this.setState({query:query})}}},{key:"componentWillReceiveProps",value:function(newProps){newProps.query&&newProps.query!=this.state.query&&!this.state.in_focus&&this.setState({query:newProps.query.replace("search:","")})}},{key:"handleSubmit",value:function(e){switch(e.preventDefault(),helpers.uriType(this.state.query)){case"album":_reactRouter.hashHistory.push(global.baseURL+"album/"+encodeURIComponent(this.state.query));break;case"artist":_reactRouter.hashHistory.push(global.baseURL+"artist/"+encodeURIComponent(this.state.query));break;case"playlist":_reactRouter.hashHistory.push(global.baseURL+"playlist/"+encodeURIComponent(this.state.query));break;default:for(var available_views=["artist","album","playlist","track"],view_defined=!1,query=this.state.query,i=0;i<available_views.length;i++)query.startsWith(available_views[i]+":")&&(view_defined=!0);view_defined||(query="all:"+query),_reactRouter.hashHistory.push(global.baseURL+"search/search:"+query)}return!1}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("form",{className:"search-form",onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"text",placeholder:"Search...",onChange:function(e){return _this2.setState({query:e.target.value})},onFocus:function(e){return _this2.setState({in_focus:!0})},onBlur:function(e){return _this2.setState({in_focus:!1})},value:this.state.query})))}}]),SearchForm}(_react2.default.Component),mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapDispatchToProps)(SearchForm)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Header=__webpack_require__(16),_ArtistSentence=(_interopRequireDefault(_Header),__webpack_require__(26)),_ArtistGrid=(_interopRequireDefault(_ArtistSentence),__webpack_require__(52)),_ArtistGrid2=_interopRequireDefault(_ArtistGrid),_AlbumGrid=__webpack_require__(60),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_TrackList=__webpack_require__(27),_TrackList2=_interopRequireDefault(_TrackList),_Parallax=__webpack_require__(41),_Parallax2=_interopRequireDefault(_Parallax),_AddSeedField=__webpack_require__(413),_AddSeedField2=_interopRequireDefault(_AddSeedField),_URILink=__webpack_require__(32),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions),Discover=function(_React$Component){function Discover(props){_classCallCheck(this,Discover);var _this=_possibleConstructorReturn(this,(Discover.__proto__||Object.getPrototypeOf(Discover)).call(this,props));return _this._autocomplete_timer=!1,_this.state={seeds:["spotify:genre:chill"],add_seed:"",adding_seed:!1},_this}return _inherits(Discover,_React$Component),_createClass(Discover,[{key:"componentDidMount",value:function(){this.props.params.seeds?this.handleURLSeeds(this.props.params.seeds):this.props.spotifyActions.getFavorites()}},{key:"componentWillReceiveProps",value:function(newProps,newState){if(newProps.params.seeds!=this.props.params.seeds&&this.handleURLSeeds(newProps.params.seeds),this.props.favorite_artists.length<=0&&newProps.favorite_artists.length>0){var initial_seeds=newProps.favorite_artists.sort(function(){return.5-Math.random()});initial_seeds=initial_seeds.slice(0,2),this.setState({seeds:initial_seeds}),this.getRecommendations(initial_seeds)}}},{key:"handleURLSeeds",value:function(){for(var seeds_string=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.params.seeds,seeds=seeds_string.split("_").join(":").split(","),i=0;i<seeds.length;i++)switch(helpers.uriType(seeds[i])){case"artist":this.props.spotifyActions.getArtist(seeds[i]);break;case"track":this.props.spotifyActions.getTrack(seeds[i])}this.setState({seeds:seeds}),this.getRecommendations(seeds)}},{key:"getRecommendations",value:function(){var seeds=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.seeds;seeds.length>0&&this.props.spotifyActions.getRecommendations(seeds,50)}},{key:"removeSeed",value:function(index){var seeds=this.state.seeds;seeds.splice(index,1),this.setState({seeds:seeds}),this.getRecommendations(seeds)}},{key:"handleSelect",value:function(e,uri){var seeds=this.state.seeds;seeds.push(uri),this.setState({seeds:seeds}),this.getRecommendations(seeds)}},{key:"renderSeeds",value:function(){var _this2=this,seeds_objects=[];if(this.state.seeds.length>0)for(var i=0;i<this.state.seeds.length;i++){var uri=this.state.seeds[i];switch(helpers.uriType(uri)){case"track":void 0!==this.props.tracks[uri]?seeds_objects.push(this.props.tracks[uri]):seeds_objects.push({name:"Loading...",uri:uri});break;case"artist":void 0!==this.props.artists[uri]?seeds_objects.push(this.props.artists[uri]):seeds_objects.push({name:"Loading...",uri:uri});break;case"genre":var name=helpers.getFromUri("genreid",uri);seeds_objects.push({name:(name.charAt(0).toUpperCase()+name.slice(1)).replace("-"," "),uri:uri})}}return _react2.default.createElement("div",{className:"seeds"},seeds_objects.map(function(seed,index){var type=helpers.uriType(seed.uri);return _react2.default.createElement("span",{className:"seed",key:seed.uri},seed.name,_react2.default.createElement(_URILink2.default,{className:"type",type:type,uri:seed.uri},"(",type,")"),_react2.default.createElement(_reactFontawesome2.default,{name:"close",className:"remove",onClick:function(){return _this2.removeSeed(index)}}))}),_react2.default.createElement(_AddSeedField2.default,{onSelect:function(e,uri){return _this2.handleSelect(e,uri)}}))}},{key:"renderResults",value:function(){if(helpers.isLoading(this.props.load_queue,["spotify_recommendations"]))return _react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}));if(!this.props.recommendations||void 0===this.props.recommendations.albums_uris||void 0===this.props.recommendations.artists_uris)return null;var albums=[];if(this.props.recommendations.albums_uris&&this.props.albums)for(var i=0;i<this.props.recommendations.albums_uris.length;i++){var uri=this.props.recommendations.albums_uris[i];this.props.albums.hasOwnProperty(uri)&&albums.push(this.props.albums[uri])}var artists=[];if(this.props.recommendations.artists_uris&&this.props.artists)for(var i=0;i<this.props.recommendations.artists_uris.length;i++){var uri=this.props.recommendations.artists_uris[i];this.props.artists.hasOwnProperty(uri)&&artists.push(this.props.artists[uri])}var tracks=[];if(this.props.recommendations.tracks_uris&&this.props.tracks)for(var i=0;i<this.props.recommendations.tracks_uris.length;i++){var uri=this.props.recommendations.tracks_uris[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}var uri="iris:discover";return this.props.params.seeds&&(uri+=":"+this.props.params.seeds.split(":").join("_")),_react2.default.createElement("div",{className:"content-wrapper recommendations-results"},_react2.default.createElement("section",null,_react2.default.createElement("h4",null,"Artists"),_react2.default.createElement(_ArtistGrid2.default,{single_row:!0,artists:artists})),_react2.default.createElement("section",null,_react2.default.createElement("h4",null,"Albums"),_react2.default.createElement(_AlbumGrid2.default,{single_row:!0,albums:albums})),_react2.default.createElement("section",null,_react2.default.createElement("h4",null,"Tracks"),_react2.default.createElement(_TrackList2.default,{className:"discover-track-list",uri:uri,tracks:tracks})))}},{key:"render",value:function(){return _react2.default.createElement("div",{className:"view discover-view"},_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,{image:"assets/backgrounds/discover.jpg"}),_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("h1",null,"Explore new music"),_react2.default.createElement("h2",{className:"grey-text"},"Add seeds below to build your sound",this.props.params.seeds?null:". Let's start with two of your favorite artists."),this.renderSeeds())),this.renderResults())}}]),Discover}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{albums:state.core.albums,artists:state.core.artists,tracks:state.core.tracks,genres:state.core.genres?state.core.genres:[],authorized:state.spotify.authorization,load_queue:state.ui.load_queue,quick_search_results:state.spotify.quick_search_results?state.spotify.quick_search_results:{artists:[],tracks:[]},recommendations:state.spotify.recommendations?state.spotify.recommendations:{},favorite_artists:state.spotify.favorite_artists?state.spotify.favorite_artists:[],favorite_tracks:state.spotify.favorite_tracks?state.spotify.favorite_tracks:[]}},mapDispatchToProps=function(dispatch){return{spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Discover)},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_ArtistSentence=(__webpack_require__(6),__webpack_require__(26)),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),AddSeedField=function(_React$Component){function AddSeedField(props){_classCallCheck(this,AddSeedField);var _this=_possibleConstructorReturn(this,(AddSeedField.__proto__||Object.getPrototypeOf(AddSeedField)).call(this,props));return _this.state={value:""},_this.id=helpers.generateGuid(),_this.timer=null,_this.handleClick=_this.handleClick.bind(_this),_this}return _inherits(AddSeedField,_React$Component),_createClass(AddSeedField,[{key:"componentDidMount",value:function(){window.addEventListener("click",this.handleClick,!1),this.props.genres||this.props.spotifyActions.getGenres()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("click",this.handleClick,!1)}},{key:"handleClick",value:function(e){$(e.target).closest(".add-seed-field").length<=0&&this.props.spotifyActions.clearAutocompleteResults(this.id)}},{key:"handleChange",value:function(e,value){var self=this;this.setState({value:value}),clearTimeout(this.timer),this.timer=setTimeout(function(){self.setState({searching:!0}),self.props.spotifyActions.getAutocompleteResults(self.id,value,["artist","track","genre"])},500)}},{key:"handleSelect",value:function(e,item){switch(this.setState({value:""}),this.props.onSelect(e,item.uri),this.props.spotifyActions.clearAutocompleteResults(this.id),helpers.uriType(item.uri)){case"artist":this.props.coreActions.artistsLoaded(item);break;case"track":this.props.coreActions.tracksLoaded(item)}}},{key:"results",value:function(){return void 0===this.props.results?null:void 0===this.props.results[this.id]?null:this.props.results[this.id]}},{key:"renderResults",value:function(type){var _this2=this,results=this.results();if(!results||void 0===results[type]||results[type].length<=0)return null;var items=results[type].slice(0,3);return _react2.default.createElement("div",{className:"type"},_react2.default.createElement("h4",{className:"grey-text"},type),items.map(function(item){return _react2.default.createElement("div",{className:"result",key:item.uri,onClick:function(e){return _this2.handleSelect(e,item)}},item.name,"tracks"==type?_react2.default.createElement("span",{className:"grey-text"}," ",_react2.default.createElement(_ArtistSentence2.default,{artists:item.artists,nolinks:!0})):null)}))}},{key:"render",value:function(){var _this3=this,className="field autocomplete-field add-seed-field";return this.results()&&this.results().loading&&(className+=" loading"),_react2.default.createElement("div",{className:className},_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",value:this.state.value,onChange:function(e){return _this3.handleChange(e,e.target.value)},placeholder:this.props.placeholder?this.props.placeholder:"Start typing..."})),_react2.default.createElement("div",{className:"results"},this.renderResults("artists"),this.renderResults("tracks"),this.renderResults("genres")))}}]),AddSeedField}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{genres:state.ui.genres?state.ui.genres:null,results:state.spotify.autocomplete_results?state.spotify.autocomplete_results:{}}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(AddSeedField)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_PlaylistGrid=__webpack_require__(62),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_Parallax=__webpack_require__(41),_Parallax2=_interopRequireDefault(_Parallax),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),DiscoverFeatured=function(_React$Component){function DiscoverFeatured(props){return _classCallCheck(this,DiscoverFeatured),_possibleConstructorReturn(this,(DiscoverFeatured.__proto__||Object.getPrototypeOf(DiscoverFeatured)).call(this,props))}return _inherits(DiscoverFeatured,_React$Component),_createClass(DiscoverFeatured,[{key:"componentDidMount",value:function(){this.props.spotifyActions.getFeaturedPlaylists()}},{key:"playPlaylist",value:function(e,playlist){this.props.mopidyActions.playPlaylist(playlist.uri)}},{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"playlist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"renderIntro",value:function(){var _this2=this,playlist=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return playlist?_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,{image:helpers.sizedImages(playlist.images).huge,blur:!0}),_react2.default.createElement("div",{className:"content cf"},_react2.default.createElement(_reactRouter.Link,{to:global.baseURL+"playlist/"+playlist.uri,onContextMenu:function(e){return _this2.handleContextMenu(e,playlist)}},_react2.default.createElement(_Thumbnail2.default,{images:playlist.images})),_react2.default.createElement(_reactRouter.Link,{to:global.baseURL+"playlist/"+playlist.uri},_react2.default.createElement("h2",null,playlist.name)),playlist.description?_react2.default.createElement("h3",{dangerouslySetInnerHTML:{__html:playlist.description}}):null,_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.playPlaylist(e,playlist)}},"Play")))):_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,null))}},{key:"render",value:function(){if(helpers.isLoading(this.props.load_queue,["spotify_browse/featured-playlists"]))return _react2.default.createElement("div",{className:"view discover-featured-view"},_react2.default.createElement(_Header2.default,{icon:"star",title:"Featured playlists"}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var playlists=[];if(this.props.featured_playlists)for(var i=0;i<this.props.featured_playlists.playlists.length;i++){var uri=this.props.featured_playlists.playlists[i];this.props.playlists.hasOwnProperty(uri)&&playlists.push(this.props.playlists[uri])}var first_playlist=playlists.splice(0,1);return first_playlist&&(first_playlist=first_playlist[0]),_react2.default.createElement("div",{className:"view discover-featured-view"},_react2.default.createElement(_Header2.default,{className:"overlay",icon:"star",title:"Featured playlists"}),this.renderIntro(first_playlist),_react2.default.createElement("section",{className:"content-wrapper grid-wrapper"},playlists?_react2.default.createElement(_PlaylistGrid2.default,{playlists:playlists}):null))}}]),DiscoverFeatured}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,featured_playlists:state.spotify.featured_playlists,playlists:state.core.playlists}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverFeatured)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_CategoryGrid=__webpack_require__(416),_CategoryGrid2=_interopRequireDefault(_CategoryGrid),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions),DiscoverCategories=function(_React$Component){function DiscoverCategories(props){return _classCallCheck(this,DiscoverCategories),_possibleConstructorReturn(this,(DiscoverCategories.__proto__||Object.getPrototypeOf(DiscoverCategories)).call(this,props))}return _inherits(DiscoverCategories,_React$Component),_createClass(DiscoverCategories,[{key:"componentDidMount",value:function(){this.props.spotifyActions.getCategories()}},{key:"render",value:function(){if(helpers.isLoading(this.props.load_queue,["spotify_browse/categories"]))return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,{icon:"grid",title:"Genre / Mood"}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var categories=[];if(this.props.categories)for(var key in this.props.categories)this.props.categories.hasOwnProperty(key)&&categories.push(this.props.categories[key]);return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,{icon:"grid",title:"Genre / Mood"}),_react2.default.createElement("section",{className:"content-wrapper grid-wrapper"},_react2.default.createElement(_CategoryGrid2.default,{categories:categories})))}}]),DiscoverCategories}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{categories:state.core.categories,load_queue:state.ui.load_queue}},mapDispatchToProps=function(dispatch){return{spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverCategories)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_reactRouter=__webpack_require__(6),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_GridItem=__webpack_require__(73),_GridItem2=_interopRequireDefault(_GridItem),CategoryGrid=function(_React$Component){function CategoryGrid(props){return _classCallCheck(this,CategoryGrid),_possibleConstructorReturn(this,(CategoryGrid.__proto__||Object.getPrototypeOf(CategoryGrid)).call(this,props))}return _inherits(CategoryGrid,_React$Component),_createClass(CategoryGrid,[{key:"render",value:function(){if(!this.props.categories)return null;var className="grid category-grid";return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("div",{className:className},this.props.categories.map(function(category){return _react2.default.createElement(_GridItem2.default,{key:category.id,type:"category",item:category,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"discover/categories/"+encodeURIComponent(category.id))}})}))}}]),CategoryGrid}(_react2.default.Component);exports.default=CategoryGrid}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_PlaylistGrid=__webpack_require__(62),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions),DiscoverCategory=function(_React$Component){function DiscoverCategory(props){return _classCallCheck(this,DiscoverCategory),_possibleConstructorReturn(this,(DiscoverCategory.__proto__||Object.getPrototypeOf(DiscoverCategory)).call(this,props))}return _inherits(DiscoverCategory,_React$Component),_createClass(DiscoverCategory,[{key:"componentDidMount",value:function(){this.loadCategory()}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.id!=this.props.params.id&&this.loadCategory()}},{key:"loadCategory",value:function(){this.props.category&&this.props.category.playlists_uris||this.props.spotifyActions.getCategory(this.props.params.id)}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.category.playlists_more,null,{type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED",key:"category:"+this.props.params.id})}},{key:"render",value:function(){var _this2=this;if(helpers.isLoading(this.props.load_queue,["spotify_browse/categories/"]))return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,{icon:"grid",title:this.props.category?this.props.category.name:"Category"}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));if(!this.props.category)return null;var playlists=[];if(this.props.category.playlists_uris)for(var i=0;i<this.props.category.playlists_uris.length;i++){var key=this.props.category.playlists_uris[i];this.props.playlists.hasOwnProperty(key)&&playlists.push(this.props.playlists[key])}return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,{icon:"grid",title:this.props.category.name}),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_PlaylistGrid2.default,{playlists:playlists})),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.category.playlists_more,loadMore:function(){return _this2.loadMore()}})))}}]),DiscoverCategory}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,playlists:state.core.playlists,category:!(!state.core.categories||void 0===state.core.categories["category:"+ownProps.params.id])&&state.core.categories["category:"+ownProps.params.id]}},mapDispatchToProps=function(dispatch){return{spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverCategory)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_AlbumGrid=__webpack_require__(60),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_Parallax=__webpack_require__(41),_Parallax2=_interopRequireDefault(_Parallax),_Thumbnail=__webpack_require__(15),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(26),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),DiscoverNewReleases=function(_React$Component){function DiscoverNewReleases(props){return _classCallCheck(this,DiscoverNewReleases),_possibleConstructorReturn(this,(DiscoverNewReleases.__proto__||Object.getPrototypeOf(DiscoverNewReleases)).call(this,props))}return _inherits(DiscoverNewReleases,_React$Component),_createClass(DiscoverNewReleases,[{key:"componentDidMount",value:function(){this.props.new_releases||this.props.spotifyActions.getNewReleases()}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.new_releases_more,null,{type:"SPOTIFY_NEW_RELEASES_LOADED",key:null})}},{key:"playAlbum",value:function(e,album){this.props.mopidyActions.playURIs([album.uri],album.uri)}},{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"album",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"renderIntro",value:function(){var _this2=this,album=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return album?_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,{image:helpers.sizedImages(album.images).huge,blur:!0}),_react2.default.createElement("div",{className:"content cf"},_react2.default.createElement(_reactRouter.Link,{to:global.baseURL+"album/"+album.uri,onContextMenu:function(e){return _this2.handleContextMenu(e,album)}},_react2.default.createElement(_Thumbnail2.default,{images:album.images})),_react2.default.createElement("h2",null,_react2.default.createElement(_reactRouter.Link,{to:global.baseURL+"album/"+album.uri},album.name)),_react2.default.createElement("h3",null,_react2.default.createElement(_ArtistSentence2.default,{artists:album.artists})),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.playAlbum(e,album)}},"Play")))):_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,null))}},{key:"render",value:function(){var _this3=this;if(helpers.isLoading(this.props.load_queue,["spotify_browse/new-releases"]))return _react2.default.createElement("div",{className:"view discover-new-releases-view"},_react2.default.createElement(_Header2.default,{icon:"leaf",title:"New Releases"}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var albums=[];if(this.props.new_releases)for(var i=0;i<this.props.new_releases.length;i++){var uri=this.props.new_releases[i];this.props.albums.hasOwnProperty(uri)&&albums.push(this.props.albums[uri])}var first_album=albums.splice(0,1);return first_album&&(first_album=first_album[0]),_react2.default.createElement("div",{className:"view discover-new-releases-view"},_react2.default.createElement(_Header2.default,{className:"overlay",icon:"leaf",title:"New Releases"}),this.renderIntro(first_album),_react2.default.createElement("section",{className:"content-wrapper grid-wrapper"},_react2.default.createElement(_AlbumGrid2.default,{albums:albums})),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.new_releases_more,loadMore:function(){return _this3.loadMore()}}))}}]),DiscoverNewReleases}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,albums:state.core.albums,new_releases:state.core.new_releases,new_releases_more:state.core.new_releases_more,new_releases_total:state.core.new_releases_total}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverNewReleases)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_Header=(__webpack_require__(6),__webpack_require__(16)),_Header2=_interopRequireDefault(_Header),_ArtistGrid=__webpack_require__(52),_ArtistGrid2=_interopRequireDefault(_ArtistGrid),_List=__webpack_require__(74),_List2=_interopRequireDefault(_List),_DropdownField=__webpack_require__(61),_DropdownField2=_interopRequireDefault(_DropdownField),_FilterField=__webpack_require__(104),_FilterField2=_interopRequireDefault(_FilterField),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),LibraryArtists=function(_React$Component){function LibraryArtists(props){_classCallCheck(this,LibraryArtists);var _this=_possibleConstructorReturn(this,(LibraryArtists.__proto__||Object.getPrototypeOf(LibraryArtists)).call(this,props));return _this.state={filter:"",limit:50,per_page:50},_this}return _inherits(LibraryArtists,_React$Component),_createClass(LibraryArtists,[{key:"componentDidMount",value:function(){"finished"==this.props.mopidy_library_artists_status||!this.props.mopidy_connected||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryArtists(),"finished"==this.props.spotify_library_artists_status||!this.props.spotify_connected||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryArtists()}},{key:"componentWillReceiveProps",value:function(newProps){!newProps.mopidy_connected||"all"!=newProps.source&&"local"!=newProps.source||(this.props.mopidy_connected||this.props.mopidyActions.getLibraryArtists(),"all"!=this.props.source&&"local"!=this.props.source&&"finished"!=newProps.mopidy_library_artists_status&&this.props.mopidyActions.getLibraryArtists()),!newProps.spotify_connected||"all"!=newProps.source&&"spotify"!=newProps.source||(this.props.spotify_connected||this.props.spotifyActions.getLibraryArtists(),"all"!=this.props.source&&"spotify"!=this.props.source&&"finished"!=newProps.spotify_library_artists_status&&this.props.spotifyActions.getLibraryArtists())}},{key:"handleContextMenu",value:function(e,item){var data={e:e,context:"artist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={library_artists_sort_reverse:reverse,library_artists_sort:value};this.props.uiActions.set(data)}},{key:"renderView",value:function(){var _this2=this,artists=[];if(this.props.mopidy_library_artists&&("all"==this.props.source||"local"==this.props.source))for(var i=0;i<this.props.mopidy_library_artists.length;i++){var uri=this.props.mopidy_library_artists[i],source=helpers.uriSource(uri),artist={uri:uri,source:source};this.props.artists.hasOwnProperty(uri)&&(artist=this.props.artists[uri]),artists.push(artist)}if(this.props.spotify_library_artists&&("all"==this.props.source||"spotify"==this.props.source))for(var i=0;i<this.props.spotify_library_artists.length;i++){var uri=this.props.spotify_library_artists[i];this.props.artists.hasOwnProperty(uri)&&artists.push(this.props.artists[uri])}artists=helpers.sortItems(artists,this.props.sort,this.props.sort_reverse),""!==this.state.filter&&(artists=helpers.applyFilter("name",this.state.filter,artists));var total_artists=artists.length;if(artists=artists.slice(0,this.state.limit),"list"==this.props.view){var columns=[{label:"Name",name:"name"},{label:"Followers",name:"followers.total"},{label:"Popularity",name:"popularity"}];return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_List2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},rows:artists,columns:columns,className:"artist-list",link_prefix:global.baseURL+"artist/"}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.state.limit<total_artists,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_ArtistGrid2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},artists:artists}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.state.limit<total_artists,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}},{key:"render",value:function(){var _this3=this,source_options=[{value:"all",label:"All"},{value:"local",label:"Local"},{value:"spotify",label:"Spotify"}],view_options=[{label:"Thumbnails",value:"thumbnails"},{label:"List",value:"list"}],sort_options=[{label:"Name",value:"name"},{label:"Followers",value:"followers.total"},{label:"Popularity",value:"popularity"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_FilterField2.default,{handleChange:function(value){return _this3.setState({filter:value,limit:_this3.state.per_page})}}),_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,reverse:this.props.sort_reverse,handleChange:function(value){_this3.setSort(value),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"eye",name:"View",value:this.props.view,options:view_options,handleChange:function(value){_this3.props.uiActions.set({library_artists_view:value}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"database",name:"Source",value:this.props.source,options:source_options,handleChange:function(val){_this3.props.uiActions.set({library_artists_source:val}),_this3.props.uiActions.hideContextMenu()}}));return _react2.default.createElement("div",{className:"view library-artists-view"},_react2.default.createElement(_Header2.default,{icon:"mic",title:"My artists",options:options,uiActions:this.props.uiActions}),this.renderView())}}]),LibraryArtists}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,spotify_connected:state.spotify.connected,mopidy_library_artists:state.mopidy.library_artists,mopidy_library_artists_status:void 0!==state.ui.processes.MOPIDY_LIBRARY_ARTISTS_PROCESSOR?state.ui.processes.MOPIDY_LIBRARY_ARTISTS_PROCESSOR.status:null,spotify_library_artists:state.spotify.library_artists,spotify_library_artists_status:void 0!==state.ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR?state.ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR.status:null,artists:state.core.artists,source:state.ui.library_artists_source?state.ui.library_artists_source:"all",sort:state.ui.library_artists_sort?state.ui.library_artists_sort:"name",sort_reverse:!!state.ui.library_artists_sort_reverse,view:state.ui.library_artists_view}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryArtists)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_AlbumGrid=(__webpack_require__(6),__webpack_require__(60)),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_List=__webpack_require__(74),_List2=_interopRequireDefault(_List),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_Thumbnail=__webpack_require__(15),_TrackList=(_interopRequireDefault(_Thumbnail),__webpack_require__(27)),_ArtistSentence=(_interopRequireDefault(_TrackList),__webpack_require__(26)),_DropdownField=(_interopRequireDefault(_ArtistSentence),__webpack_require__(61)),_DropdownField2=_interopRequireDefault(_DropdownField),_FilterField=__webpack_require__(104),_FilterField2=_interopRequireDefault(_FilterField),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions4),LibraryAlbums=function(_React$Component){function LibraryAlbums(props){_classCallCheck(this,LibraryAlbums);var _this=_possibleConstructorReturn(this,(LibraryAlbums.__proto__||Object.getPrototypeOf(LibraryAlbums)).call(this,props));return _this.state={filter:"",limit:50,per_page:50},_this}return _inherits(LibraryAlbums,_React$Component),_createClass(LibraryAlbums,[{key:"componentDidMount",value:function(){"finished"==this.props.mopidy_library_albums_status||"started"==this.props.mopidy_library_albums_status||!this.props.mopidy_connected||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryAlbums(),"finished"==this.props.spotify_library_albums_status||"started"==this.props.spotify_library_albums_status||!this.props.spotify_connected||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryAlbums()}},{key:"componentWillReceiveProps",value:function(newProps){!newProps.mopidy_connected||"all"!=newProps.source&&"local"!=newProps.source||(this.props.mopidy_connected||this.props.mopidyActions.getLibraryAlbums(),"all"!=this.props.source&&"local"!=this.props.source&&"finished"!=newProps.mopidy_library_albums_status&&"started"!=newProps.mopidy_library_albums_status&&this.props.mopidyActions.getLibraryAlbums()),!newProps.spotify_connected||"all"!=newProps.source&&"spotify"!=newProps.source||(this.props.spotify_connected||this.props.spotifyActions.getLibraryAlbums(),"all"!=this.props.source&&"spotify"!=this.props.source&&"finished"!=newProps.spotify_library_albums_status&&"started"!=newProps.spotify_library_albums_status&&this.props.spotifyActions.getLibraryAlbums())}},{key:"handleContextMenu",value:function(e,item){var data={e:e,context:"album",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"moreURIsToLoad",value:function(){var uris=[];if(this.props.albums&&this.props.library_albums)for(var i=0;i<this.props.library_albums.length;i++){var uri=this.props.library_albums[i];if(this.props.albums.hasOwnProperty(uri)||"local"!=helpers.uriSource(uri)||uris.push(uri),uris.length>=50)break}return uris}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={library_albums_sort_reverse:reverse,library_albums_sort:value};this.props.uiActions.set(data)}},{key:"renderView",value:function(){var _this2=this,albums=[];if(this.props.spotify_library_albums&&("all"==this.props.source||"spotify"==this.props.source))for(var i=0;i<this.props.spotify_library_albums.length;i++){var uri=this.props.spotify_library_albums[i];this.props.albums.hasOwnProperty(uri)&&albums.push(this.props.albums[uri])}if(this.props.mopidy_library_albums&&("all"==this.props.source||"local"==this.props.source))for(var i=0;i<this.props.mopidy_library_albums.length;i++){var uri=this.props.mopidy_library_albums[i],source=helpers.uriSource(uri),album={uri:uri,source:source};this.props.albums.hasOwnProperty(uri)&&(album=this.props.albums[uri]),albums.push(album)}albums=helpers.sortItems(albums,this.props.sort,this.props.sort_reverse),this.state.filter&&""!==this.state.filter&&(albums=helpers.applyFilter("name",this.state.filter,albums));var total_albums=albums.length;if(albums=albums.slice(0,this.state.limit),"list"==this.props.view){var columns=[{label:"Name",name:"name"},{label:"Artists",name:"artists"},{label:"Added",name:"added_at"},{label:"Tracks",name:"tracks_total"},{label:"Source",name:"source"}];return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_List2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},rows:albums,columns:columns,className:"album-list",link_prefix:global.baseURL+"album/"}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.state.limit<total_albums,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_AlbumGrid2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},albums:albums}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.state.limit<total_albums,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}},{key:"render",value:function(){var _this3=this,source_options=[{value:"all",label:"All"},{value:"local",label:"Local"},{value:"spotify",label:"Spotify"}],view_options=[{value:"thumbnails",label:"Thumbnails"},{value:"list",label:"List"}],sort_options=[{value:"name",label:"Name"},{value:"artists",label:"Artist"},{value:"added_at",label:"Added"},{value:"tracks_total",label:"Tracks"},{value:"source",label:"Source"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_FilterField2.default,{handleChange:function(value){return _this3.setState({filter:value,limit:_this3.state.per_page})}}),_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,reverse:this.props.sort_reverse,handleChange:function(val){_this3.setSort(val),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"eye",name:"View",value:this.props.view,options:view_options,handleChange:function(val){_this3.props.uiActions.set({library_albums_view:val}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"database",name:"Source",value:this.props.source,options:source_options,handleChange:function(val){_this3.props.uiActions.set({library_albums_source:val}),_this3.props.uiActions.hideContextMenu()}}));return _react2.default.createElement("div",{className:"view library-albums-view"},_react2.default.createElement(_Header2.default,{icon:"cd",title:"My albums",options:options,uiActions:this.props.uiActions}),this.renderView())}}]),LibraryAlbums}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,spotify_connected:state.spotify.connected,load_queue:state.ui.load_queue,albums:state.core.albums,mopidy_library_albums:state.mopidy.library_albums,mopidy_library_albums_status:void 0!==state.ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR?state.ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR.status:null,spotify_library_albums:state.spotify.library_albums,spotify_library_albums_status:void 0!==state.ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR?state.ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR.status:null,view:state.ui.library_albums_view,source:state.ui.library_albums_source?state.ui.library_albums_source:"all",sort:state.ui.library_albums_sort?state.ui.library_albums_sort:"name",sort_reverse:!!state.ui.library_albums_sort_reverse}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryAlbums)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_TrackList=(__webpack_require__(6),__webpack_require__(27)),_TrackList2=_interopRequireDefault(_TrackList),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions2),LibraryTracks=function(_React$Component){function LibraryTracks(props){return _classCallCheck(this,LibraryTracks),_possibleConstructorReturn(this,(LibraryTracks.__proto__||Object.getPrototypeOf(LibraryTracks)).call(this,props))}return _inherits(LibraryTracks,_React$Component),_createClass(LibraryTracks,[{key:"componentDidMount",value:function(){void 0===this.props.library_tracks&&this.props.spotifyActions.getLibraryTracks()}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.library_tracks_more,null,{type:"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE"})}},{key:"render",value:function(){var _this2=this;if(helpers.isLoading(this.props.load_queue,["spotify_me/tracks"]))return _react2.default.createElement("div",{className:"view library-tracks-view"},_react2.default.createElement(_Header2.default,{icon:"music",title:"My tracks"}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var tracks=[];if(this.props.library_tracks&&this.props.tracks)for(var i=0;i<this.props.library_tracks.length;i++){var uri=this.props.library_tracks[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}return _react2.default.createElement("div",{className:"view library-tracks-view"},_react2.default.createElement(_Header2.default,{icon:"music",title:"My tracks"}),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_TrackList2.default,{tracks:tracks}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.library_tracks_more,loadMore:function(){return _this2.loadMore()}})))}}]),LibraryTracks}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,tracks:state.core.tracks,library_tracks:state.spotify.library_tracks,library_tracks_more:state.spotify.library_tracks_more}},mapDispatchToProps=function(dispatch){return{mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryTracks)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactFontawesome=(__webpack_require__(6),__webpack_require__(5)),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_PlaylistGrid=__webpack_require__(62),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_List=__webpack_require__(74),_List2=_interopRequireDefault(_List),_DropdownField=__webpack_require__(61),_DropdownField2=_interopRequireDefault(_DropdownField),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_FilterField=__webpack_require__(104),_FilterField2=_interopRequireDefault(_FilterField),_LazyLoadListener=__webpack_require__(28),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(22),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions4),LibraryPlaylists=function(_React$Component){function LibraryPlaylists(props){_classCallCheck(this,LibraryPlaylists);var _this=_possibleConstructorReturn(this,(LibraryPlaylists.__proto__||Object.getPrototypeOf(LibraryPlaylists)).call(this,props));return _this.state={filter:"",limit:50,per_page:50},_this}return _inherits(LibraryPlaylists,_React$Component),_createClass(LibraryPlaylists,[{key:"componentDidMount",value:function(){this.props.mopidy_library_playlists||!this.props.mopidy_connected||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryPlaylists(),"finished"===this.props.spotify_library_playlists_status||!this.props.spotify_connected||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryPlaylists()}},{key:"componentWillReceiveProps",value:function(newProps){!newProps.mopidy_connected||"all"!=newProps.source&&"local"!=newProps.source||(this.props.mopidy_connected||this.props.mopidyActions.getLibraryPlaylists(),"all"==this.props.source||"local"==this.props.source||newProps.mopidy_library_playlists||this.props.mopidyActions.getLibraryPlaylists()),!newProps.spotify_connected||"all"!=newProps.source&&"spotify"!=newProps.source||(this.props.spotify_connected||this.props.spotifyActions.getLibraryPlaylists(),"all"!=this.props.source&&"spotify"!=this.props.source&&"finished"!==newProps.spotify_library_playlists_status&&this.props.spotifyActions.getLibraryPlaylists())}},{key:"handleContextMenu",value:function(e,item){var data={e:e,context:"playlist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={library_playlists_sort_reverse:reverse,library_playlists_sort:value};this.props.uiActions.set(data)}},{key:"renderView",value:function(){var _this2=this,playlists=[];if(this.props.spotify_library_playlists&&("all"==this.props.source||"spotify"==this.props.source))for(var i=0;i<this.props.spotify_library_playlists.length;i++){var uri=this.props.spotify_library_playlists[i];this.props.playlists.hasOwnProperty(uri)&&playlists.push(this.props.playlists[uri])}if(this.props.mopidy_library_playlists&&("all"==this.props.source||"local"==this.props.source))for(var i=0;i<this.props.mopidy_library_playlists.length;i++){var uri=this.props.mopidy_library_playlists[i];this.props.playlists.hasOwnProperty(uri)&&playlists.push(this.props.playlists[uri])}playlists=helpers.sortItems(playlists,this.props.sort,this.props.sort_reverse),playlists=helpers.removeDuplicates(playlists),""!==this.state.filter&&(playlists=helpers.applyFilter("name",this.state.filter,playlists));var total_playlists=playlists.length;if(playlists=playlists.slice(0,this.state.limit),"list"==this.props.view){if(this.props.slim_mode)var columns=[{label:"Name",name:"name"},{label:"Tracks",name:"tracks_total"}];else var columns=[{label:"Name",name:"name"},{label:"Owner",name:"owner"},{label:"Tracks",name:"tracks_total"},{label:"Editable",name:"can_edit"},{label:"Source",name:"source"}];return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_List2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},rows:playlists,columns:columns,className:"playlist-list",link_prefix:global.baseURL+"playlist/"}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.state.limit<total_playlists,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_PlaylistGrid2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},playlists:playlists}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.state.limit<total_playlists,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}},{key:"render",value:function(){var _this3=this,source_options=[{value:"all",label:"All"},{value:"local",label:"Local"},{value:"spotify",label:"Spotify"}],view_options=[{value:"thumbnails",label:"Thumbnails"},{value:"list",label:"List"}],sort_options=[{value:"name",label:"Name"},{value:"can_edit",label:"Editable"},{value:"owner.id",label:"Owner"},{value:"tracks.total",label:"Tracks"},{value:"source",label:"Source"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_FilterField2.default,{handleChange:function(value){return _this3.setState({filter:value})}}),_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,reverse:this.props.sort_reverse,handleChange:function(val){_this3.setSort(val),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"eye",name:"View",value:this.props.view,options:view_options,handleChange:function(val){_this3.props.uiActions.set({library_playlists_view:val}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"database",name:"Source",value:this.props.source,options:source_options,handleChange:function(val){_this3.props.uiActions.set({library_playlists_source:val}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement("button",{className:"no-hover",onClick:function(){return _this3.props.uiActions.openModal("create_playlist",{})}},_react2.default.createElement(_reactFontawesome2.default,{name:"plus"}),"  New"));return _react2.default.createElement("div",{className:"view library-playlists-view"},_react2.default.createElement(_Header2.default,{icon:"playlist",title:"My playlists",options:options,uiActions:this.props.uiActions}),this.renderView())}}]),LibraryPlaylists}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{slim_mode:state.ui.slim_mode,mopidy_connected:state.mopidy.connected,spotify_connected:state.spotify.connected,mopidy_library_playlists:state.mopidy.library_playlists,mopidy_library_playlists_status:void 0!==state.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR?state.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR.status:null,spotify_library_playlists:state.spotify.library_playlists,spotify_library_playlists_status:void 0!==state.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR?state.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status:null,load_queue:state.ui.load_queue,me_id:!!state.spotify.me&&state.spotify.me.id,view:state.ui.library_playlists_view,source:state.ui.library_playlists_source?state.ui.library_playlists_source:"all",sort:state.ui.library_playlists_sort?state.ui.library_playlists_sort:"name",sort_reverse:!!state.ui.library_playlists_sort_reverse,playlists:state.core.playlists}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryPlaylists)}).call(exports,__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)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:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(3),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(6),_reactFontawesome=__webpack_require__(5),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),_Header=__webpack_require__(16),_Header2=_interopRequireDefault(_Header),_List=__webpack_require__(74),_List2=_interopRequireDefault(_List),_TrackList=__webpack_require__(27),_TrackList2=_interopRequireDefault(_TrackList),_GridItem=__webpack_require__(73),_GridItem2=_interopRequireDefault(_GridItem),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(4),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(9),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(8),spotifyActions=_interopRequireWildcard(_actions3),LibraryBrowse=function(_React$Component){function LibraryBrowse(props){return _classCallCheck(this,LibraryBrowse),_possibleConstructorReturn(this,(LibraryBrowse.__proto__||Object.getPrototypeOf(LibraryBrowse)).call(this,props))}return _inherits(LibraryBrowse,_React$Component),_createClass(LibraryBrowse,[{key:"componentDidMount",value:function(){this.loadDirectory()}},{key:"componentWillReceiveProps",value:function(nextProps){!this.props.mopidy_connected&&nextProps.mopidy_connected&&this.loadDirectory(nextProps),nextProps.params.uri!=this.props.params.uri&&this.loadDirectory(nextProps)}},{key:"loadDirectory",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;if(props.mopidy_connected){var uri=null;void 0!==props.params.uri&&(uri=props.params.uri),this.props.mopidyActions.getDirectory(uri)}}},{key:"playAll",value:function(e){var tracks=this.arrangeDirectory().tracks,tracks_uris=helpers.arrayOf("uri",tracks);this.props.mopidyActions.playURIs(tracks_uris,this.props.params.uri),this.props.uiActions.hideContextMenu()}},{key:"goBack",value:function(e){window.history.back(),this.props.uiActions.hideContextMenu()}},{key:"arrangeDirectory",value:function(){for(var directory=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.directory,folders=[],tracks=[],i=0;i<directory.length;i++)directory[i].type&&"track"==directory[i].type?tracks.push(directory[i]):folders.push(Object.assign({},directory[i],{uri:directory[i].uri}));return{folders:folders,tracks:tracks}}},{key:"renderDirectory",value:function(){var _this2=this,title="Browse",uri_exploded=this.props.params.uri.split(":");if(uri_exploded.length>0&&(title=uri_exploded[0],title=title.charAt(0).toUpperCase()+title.slice(1)),!this.props.directory||helpers.isLoading(this.props.load_queue,["mopidy_browse"]))return _react2.default.createElement("div",{className:"view library-local-view"},_react2.default.createElement(_Header2.default,{icon:"music",title:title,uiActions:this.props.uiActions}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var items=this.arrangeDirectory(this.props.directory),options=_react2.default.createElement("span",null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _this2.playAll(e)}},_react2.default.createElement(_reactFontawesome2.default,{name:"play"}),"  Play all"),_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _this2.goBack(e)}},_react2.default.createElement(_reactFontawesome2.default,{name:"reply"}),"  Back"));return _react2.default.createElement("div",{className:"view library-local-view"},_react2.default.createElement(_Header2.default,{icon:"music",title:title,options:options,uiActions:this.props.uiActions}),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_List2.default,{nocontext:!0,columns:[{name:"name",width:"100"}],rows:items.folders,className:"library-local-directory-list",link_prefix:global.baseURL+"library/browse/"}),_react2.default.createElement(_TrackList2.default,{tracks:items.tracks,className:"library-local-track-list",noheader:!0})))}},{key:"renderIndex",value:function(){var grid_items=[];if(this.props.directory)for(var i=0;i<this.props.directory.length;i++){var directory=this.props.directory[i];switch(directory.name){case"Dirble":directory.icons=["assets/backgrounds/browse-dirble.jpg"];break;case"Files":case"Local media":directory.icons=["assets/backgrounds/browse-folders.jpg"];break;case"Spotify":case"Spotify Browse":directory.icons=["assets/backgrounds/browse-spotify.jpg"];break;case"Spotify Tunigo":case"Tunigo":directory.icons=["assets/backgrounds/browse-tunigo.jpg"];break;case"TuneIn":directory.icons=["assets/backgrounds/browse-tunein.jpg"];break;case"SoundCloud":directory.icons=["assets/backgrounds/browse-soundcloud.jpg"];break;case"iTunes Store: Podcasts":directory.icons=["assets/backgrounds/browse-itunes.jpg"];break;case"Soma FM":directory.icons=["assets/backgrounds/browse-somafm.jpg"];break;default:directory.icons=["assets/backgrounds/browse-default.jpg"]}grid_items.push({name:directory.name,link:global.baseURL+"library/browse/"+encodeURIComponent(directory.uri),icons:directory.icons})}return _react2.default.createElement("div",{className:"view library-local-view"},_react2.default.createElement(_Header2.default,{icon:"folder",title:"Browse"}),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement("div",{className:"grid category-grid"},grid_items.map(function(item,index){return _react2.default.createElement(_GridItem2.default,{item:item,key:index,onClick:function(e){return _reactRouter.hashHistory.push(item.link)}})}))))}},{key:"render",value:function(){return void 0!==this.props.params.uri&&this.props.params.uri?this.renderDirectory():this.renderIndex()}}]),LibraryBrowse}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,mopidy_connected:state.mopidy.connected,directory:state.mopidy.directory}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryBrowse)}).call(exports,__webpack_require__(12))},function(module,exports){}]);
//# sourceMappingURL=app.min.js.map