From 34e7daa507db181cbd4d55a58c0e11a560f6bfb6 Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Sun, 18 Nov 2018 12:56:27 +1300 Subject: [PATCH] Releasing 3.31.1 --- mopidy_iris/static/app.min.css | 102 +++++++++++++++++++----------- mopidy_iris/static/app.min.js | 52 +++++++-------- mopidy_iris/static/app.min.js.map | 2 +- mopidy_iris/static/index.html | 2 +- 4 files changed, 92 insertions(+), 66 deletions(-) diff --git a/mopidy_iris/static/app.min.css b/mopidy_iris/static/app.min.css index d44e79f8..37297023 100644 --- a/mopidy_iris/static/app.min.css +++ b/mopidy_iris/static/app.min.css @@ -3676,8 +3676,8 @@ input[type="submit"] { opacity: 0; } .context-menu__section--submenu .context-menu__item { width: 100%; } - .context-menu__section--submenu .context-menu__item--close-submenu { - opacity: 0.5; } + .context-menu__section--submenu .context-menu__item__link--close-submenu { + color: #a3a19f; } .context-menu__section--submenu .context-menu__item__label .icon { margin-bottom: 0.4em; padding-right: 6px; } @@ -3745,6 +3745,8 @@ input[type="submit"] { width: 200px; overflow-x: hidden; border-radius: 3px; } + .context-menu--closing { + display: none; } .context-menu__section { background: none; overflow: visible; } @@ -3758,29 +3760,48 @@ input[type="submit"] { display: none; } } @media (max-width: 800px) { .context-menu { + animation-delay: 0; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; + animation-name: fadein; + animation-duration: 0.2s; + animation-timing-function: linear; + animation-iteration-count: 1; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; margin: 0 !important; - animation-name: fadein; - animation-duration: 0.2s; - animation-timing-function: linear; - animation-iteration-count: 1; } + text-align: center; } @keyframes fadein { 0% { opacity: 0; - transform: translateY(20px); } + transform: translateY(40px); } 100% { opacity: 1; transform: translateY(0px); } } + .context-menu--closing { + animation-delay: 0; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; + animation-name: fadeout; + animation-duration: 0.2s; + animation-timing-function: linear; + animation-iteration-count: 1; } + @keyframes fadeout { + 0% { + opacity: 1; + transform: translateY(0px); } + 100% { + opacity: 0; + transform: translateY(40px); } } .context-menu__background { position: absolute; top: 0; right: 0; bottom: 0; left: 0; - background-image: linear-gradient(rgba(10, 10, 10, 0) 10%, rgba(10, 10, 10, 0.6) 15%, rgba(10, 10, 10, 0.95) 20%); + background-image: linear-gradient(rgba(24, 24, 24, 0) 0%, rgba(24, 24, 24, 0.95) 20%); z-index: 1; } .context-menu__title { padding: 16px 22px; @@ -3813,11 +3834,11 @@ input[type="submit"] { font-weight: 200; text-transform: capitalize; } .context-menu__section { - width: 300px; position: absolute; top: 20%; - left: 50%; - margin-left: -150px; + left: 0; + right: 0; + padding: 0 10%; max-height: 80%; overflow: auto; } .context-menu__section--submenu { @@ -3829,15 +3850,14 @@ input[type="submit"] { * The following is for buttons automatically pulled from * a page header, so we don't have classname control **/ } - .context-menu__section--items .button, - .context-menu__section--items > span { + .context-menu__section--items .button { display: block; text-decoration: none; display: block; margin: 0; width: auto !important; box-sizing: border-box; - text-align: left; + text-align: center; text-transform: none; font-weight: 700; font-size: 1.2rem; @@ -3845,17 +3865,16 @@ input[type="submit"] { background: none; transform: none; padding: 16px 22px; } - .context-menu__section--items .button .icon, - .context-menu__section--items > span .icon { + .context-menu__section--items .button .icon { display: none; } - .context-menu__section--items .button:before { - display: none !important; } - .context-menu__section--items .button:focus, .context-menu__section--items .button:active { - -webkit-transition: none !important; - -moz-transition: none !important; - -o-transition: none !important; - transition: none !important; - background: #08d58f !important; } + .context-menu__section--items .button:before { + display: none !important; } + .context-menu__section--items .button:focus, .context-menu__section--items .button:active { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + transition: none !important; + background: #08d58f !important; } .context-menu__divider { display: none; } .context-menu__item { @@ -3877,11 +3896,6 @@ input[type="submit"] { -o-transition: none !important; transition: none !important; background: #08d58f !important; } } - @media (max-width: 340px) { - .context-menu__section { - width: 90%; - left: 5%; - margin-left: 0; } } .context-menu-trigger { display: inline-block; @@ -4629,7 +4643,7 @@ input[type="submit"] { .playback-controls .control .icon { font-size: 0.9em; margin-bottom: 0; } - .playback-controls .control.active { + .playback-controls .control--active { color: #08d58f !important; } .playback-controls .control:hover { opacity: 1; } @@ -4729,22 +4743,23 @@ input[type="submit"] { width: 100vw; height: 100vh; z-index: 99; } - .playback-controls.expanded { - height: 135px; } - .playback-controls.expanded section.settings { + .playback-controls--expanded { + height: 135px; + max-height: 100%; } + .playback-controls--expanded section.settings { display: block; right: 0; bottom: 90px; padding-right: 10px; text-align: right; width: 100px; } - .playback-controls.expanded section.volume { + .playback-controls--expanded section.volume { width: auto; display: block; right: 100px; left: 10px; bottom: 88px; } - .playback-controls.expanded section.progress { + .playback-controls--expanded section.progress { display: block; bottom: 55px; left: -15px; @@ -5458,6 +5473,9 @@ main header { pointer-events: none; width: 300px; } .notifications .notification { + animation-delay: 0; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; animation-name: fadein; animation-duration: 0.2s; animation-timing-function: linear; @@ -5562,6 +5580,9 @@ main header { bottom: 0; opacity: 0.35; } .notifications .notification.closing, .notifications .notification.finishing { + animation-delay: 0; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; animation-name: fadeout; animation-duration: 0.2s; animation-timing-function: linear; @@ -5701,7 +5722,7 @@ main header { opacity: 0.15; } #context-menu .dropdown-field { - padding: 16px 20px; } + padding: 16px 0; } #context-menu .dropdown-field:active, #context-menu .dropdown-field:focus { background: none !important; } #context-menu .dropdown-field .label { @@ -6722,8 +6743,10 @@ main .track-view { position: relative; z-index: 2; } @media (max-width: 800px) { - .queue-view .current-track .artwork { - width: 80%; } } + .queue-view .current-track { + padding-bottom: 20px; } + .queue-view .current-track .artwork { + width: 80%; } } .search-view .search-form { position: absolute; @@ -7118,6 +7141,9 @@ main .track-view { padding: 20px; } } .modal { + animation-delay: 0; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; animation-name: fadein; animation-duration: 0.2s; animation-timing-function: linear; diff --git a/mopidy_iris/static/app.min.js b/mopidy_iris/static/app.min.js index 75ecfa6a..a2b6e1df 100644 --- a/mopidy_iris/static/app.min.js +++ b/mopidy_iris/static/app.min.js @@ -1,4 +1,4 @@ -!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=105)}([function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(106)},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},exports.debounce=function(fn,wait,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||fn.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,wait),callNow&&fn.apply(context,args)}},exports.throttle=function(fn,delay){var lastCall=0;return function(){var now=(new Date).getTime();if(!(now-lastCall1&&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.digestMopidyImages=function(mopidy,images){for(var digested=[],i=0;i0&&void 0!==arguments[0]?arguments[0]:"numeric")){var date=(new Date).valueOf().toString(),random_number=Math.floor(100*Math.random()).toString();return parseInt(date+random_number)}return"xxxxxxxxxx".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&&formatImages(track.images).small},exports.formatImages=function(data){var sizes={formatted:!0,small:null,medium:null,large:null,huge:null};if(!data)return sizes;if(Array.isArray(data)){if(data.length<=0)return sizes;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=records[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var record=_step2.value;formatted.push(formatTrack(record))}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}return formatted},exports.formatAlbums=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=records[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var record=_step3.value;formatted.push(formatAlbum(record))}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}return formatted},exports.formatArtists=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=records[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var record=_step4.value;formatted.push(formatArtist(record))}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4.return&&_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}return formatted},exports.formatPlaylists=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion5=!0,_didIteratorError5=!1,_iteratorError5=void 0;try{for(var _step5,_iterator5=records[Symbol.iterator]();!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=!0){var record=_step5.value;formatted.push(formatTrack(record))}}catch(err){_didIteratorError5=!0,_iteratorError5=err}finally{try{!_iteratorNormalCompletion5&&_iterator5.return&&_iterator5.return()}finally{if(_didIteratorError5)throw _iteratorError5}}return formatted},exports.formatUsers=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion6=!0,_didIteratorError6=!1,_iteratorError6=void 0;try{for(var _step6,_iterator6=records[Symbol.iterator]();!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=!0){var record=_step6.value;formatted.push(formatUser(record))}}catch(err){_didIteratorError6=!0,_iteratorError6=err}finally{try{!_iteratorNormalCompletion6&&_iterator6.return&&_iterator6.return()}finally{if(_didIteratorError6)throw _iteratorError6}}return formatted},exports.formatAlbum=function(data){var album={},fields=["uri","provider","name","type","added_at","release_date","popularity","images","artists_uris","tracks_uris","artists"],_iteratorNormalCompletion7=!0,_didIteratorError7=!1,_iteratorError7=void 0;try{for(var _step7,_iterator7=fields[Symbol.iterator]();!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=!0){var field=_step7.value;data.hasOwnProperty(field)&&(album[field]=data[field])}}catch(err){_didIteratorError7=!0,_iteratorError7=err}finally{try{!_iteratorNormalCompletion7&&_iterator7.return&&_iterator7.return()}finally{if(_didIteratorError7)throw _iteratorError7}}return album.images&&!album.images.formatted&&(album.images=formatImages(album.images)),data.date&&!album.date&&(album.release_date=data.date),data.album_type&&(album.type=data.album_type),void 0===album.provider&&void 0!==album.uri&&(album.provider=uriSource(album.uri)),album}),formatArtist=exports.formatArtist=function(data){var artist={},fields=["uri","provider","mbid","name","type","images","popularity","followers","listeners","added_at","biography","biography_link","biography_publish_date","related_artists_uris","albums_uris","albums_total","albums_more","tracks_uris","tracks_total","tracks_more"],_iteratorNormalCompletion8=!0,_didIteratorError8=!1,_iteratorError8=void 0;try{for(var _step8,_iterator8=fields[Symbol.iterator]();!(_iteratorNormalCompletion8=(_step8=_iterator8.next()).done);_iteratorNormalCompletion8=!0){var field=_step8.value;data.hasOwnProperty(field)&&(artist[field]=data[field])}}catch(err){_didIteratorError8=!0,_iteratorError8=err}finally{try{!_iteratorNormalCompletion8&&_iterator8.return&&_iterator8.return()}finally{if(_didIteratorError8)throw _iteratorError8}}return data.images&&(artist.images=[formatImages(artist.images)]),data.followers&&void 0!==data.followers.total&&(artist.followers=data.followers.total),data.bio&&(data.bio.content&&!artist.biography&&(artist.biography=data.bio.content),data.bio.links&&data.bio.links.link&&data.bio.links.link.href&&!artist.biography_link&&(artist.biography_link=data.bio.links.link.href),data.bio.published&&!artist.biography_publish_date&&(artist.biography_publish_date=data.bio.published)),void 0===artist.provider&&void 0!==artist.uri&&(artist.provider=uriSource(artist.uri)),artist},formatUser=(exports.formatPlaylist=function(data){var playlist={},fields=["uri","snapshot_id","provider","type","name","description","images","popularity","followers","added_at","last_modified_date","can_edit","owner","user_uri","tracks_uris","tracks_total","tracks_more"],_iteratorNormalCompletion9=!0,_didIteratorError9=!1,_iteratorError9=void 0;try{for(var _step9,_iterator9=fields[Symbol.iterator]();!(_iteratorNormalCompletion9=(_step9=_iterator9.next()).done);_iteratorNormalCompletion9=!0){var field=_step9.value;data.hasOwnProperty(field)&&(playlist[field]=data[field])}}catch(err){_didIteratorError9=!0,_iteratorError9=err}finally{try{!_iteratorNormalCompletion9&&_iterator9.return&&_iterator9.return()}finally{if(_didIteratorError9)throw _iteratorError9}}return playlist.images&&!playlist.images.formatted&&(playlist.images=formatImages(playlist.images)),data.followers&&void 0!==data.followers.total&&(playlist.followers=data.followers.total),data.tracks&&void 0!==data.tracks.total&&(playlist.tracks_total=data.tracks.total),data.owner&&(playlist.owner={id:data.owner.id,uri:data.owner.uri,name:data.owner.display_name?data.owner.display_name:null},playlist.user_uri=data.owner.uri),playlist.uri=upgradeSpotifyPlaylistUri(playlist.uri),void 0===playlist.provider&&void 0!==playlist.uri&&(playlist.provider=uriSource(playlist.uri)),playlist},exports.formatUser=function(data){var user={},fields=["id","uri","provider","name","images","followers","playlists_uris","playlists_total","playlists_more"],_iteratorNormalCompletion10=!0,_didIteratorError10=!1,_iteratorError10=void 0;try{for(var _step10,_iterator10=fields[Symbol.iterator]();!(_iteratorNormalCompletion10=(_step10=_iterator10.next()).done);_iteratorNormalCompletion10=!0){var field=_step10.value;data.hasOwnProperty(field)&&(user[field]=data[field])}}catch(err){_didIteratorError10=!0,_iteratorError10=err}finally{try{!_iteratorNormalCompletion10&&_iterator10.return&&_iterator10.return()}finally{if(_didIteratorError10)throw _iteratorError10}}return!user.images&&data.image?user.images=formatImages(data.image):!user.images&&data.avatar?user.images=formatImages(data.avatar):user.images&&!user.images.formatted&&(user.images=formatImages(user.images)),data.followers&&void 0!==data.followers.total&&(user.followers=data.followers.total),data.realname&&(user.name=data.realname),data.display_name&&!user.name&&(user.name=data.display_name),data.id&&!user.name&&(user.name=data.id),void 0===user.provider&&void 0!==user.uri&&(user.provider=uriSource(user.uri)),user}),formatTrack=exports.formatTrack=function(data){var track={},fields=["uri","tlid","provider","name","images","release_date","disc_number","track_number","duration","followers","popularity","userloved","is_explicit","is_local","lyrics","lyrics_path","lyrics_results","artists","album"];data&&data.track&&isObject(data.track)&&(data.added_by&&(data.track.added_by=data.added_by),data.added_at&&(data.track.added_at=data.added_at),data.tlid&&(data.track.tlid=data.tlid),data=data.track);var _iteratorNormalCompletion11=!0,_didIteratorError11=!1,_iteratorError11=void 0;try{for(var _step11,_iterator11=fields[Symbol.iterator]();!(_iteratorNormalCompletion11=(_step11=_iterator11.next()).done);_iteratorNormalCompletion11=!0){var field=_step11.value;data.hasOwnProperty(field)&&(track[field]=data[field])}}catch(err){_didIteratorError11=!0,_iteratorError11=err}finally{try{!_iteratorNormalCompletion11&&_iterator11.return&&_iterator11.return()}finally{if(_didIteratorError11)throw _iteratorError11}}return data.followers&&data.followers.total&&(track.followers=data.followers.total),void 0===track.duration&&void 0!==data.duration_ms?track.duration=data.duration_ms:void 0===track.duration&&void 0!==data.length&&(track.duration=data.length),void 0===track.track_number&&void 0!==data.track_no&&(track.track_number=data.track_no),void 0===track.disc_number&&void 0!==data.disc_no&&(track.disc_number=data.disc_no),void 0===track.release_date&&void 0!==data.date&&(track.release_date=data.date),void 0===track.explicit&&void 0!==data.explicit&&(track.is_explicit=data.explicit),data.album&&data.album.images&&(void 0!==track.images&&track.images.formatted||(track.images=formatImages(data.album.images))),void 0===track.provider&&void 0!==track.uri&&(track.provider=uriSource(track.uri)),track},uriSource=(exports.formatClient=function(data){var client={},fields=["id","connected","name","host_name","volume","mute","latency","power_on_command","power_off_command"],_iteratorNormalCompletion12=!0,_didIteratorError12=!1,_iteratorError12=void 0;try{for(var _step12,_iterator12=fields[Symbol.iterator]();!(_iteratorNormalCompletion12=(_step12=_iterator12.next()).done);_iteratorNormalCompletion12=!0){var field=_step12.value;data.hasOwnProperty(field)&&(client[field]=data[field])}}catch(err){_didIteratorError12=!0,_iteratorError12=err}finally{try{!_iteratorNormalCompletion12&&_iterator12.return&&_iterator12.return()}finally{if(_didIteratorError12)throw _iteratorError12}}return data.config&&(void 0===client.latency&&void 0!==data.config.latency&&(client.latency=data.config.latency),!client.name&&data.config.name&&(client.name=data.config.name),data.config.volume&&(data.config.volume.percent&&(client.volume=data.config.volume.percent),data.config.volume.muted&&(client.mute=data.config.volume.muted))),void 0===client.name&&data.host&&data.host.name&&(client.name=data.host.name),client},exports.formatGroup=function(data){var group={},fields=["id","name","mute","stream_id","clients_ids"],_iteratorNormalCompletion13=!0,_didIteratorError13=!1,_iteratorError13=void 0;try{for(var _step13,_iterator13=fields[Symbol.iterator]();!(_iteratorNormalCompletion13=(_step13=_iterator13.next()).done);_iteratorNormalCompletion13=!0){var field=_step13.value;data.hasOwnProperty(field)&&(group[field]=data[field])}}catch(err){_didIteratorError13=!0,_iteratorError13=err}finally{try{!_iteratorNormalCompletion13&&_iterator13.return&&_iterator13.return()}finally{if(_didIteratorError13)throw _iteratorError13}}return void 0!==group.name&&""!==group.name||(group.name="Group "+data.id.substring(0,3)),void 0===group.mute&&void 0!==data.mute&&(group.mute=data.mute),group},exports.collate=function(obj){var indexes=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(obj=Object.assign({},obj),void 0!==obj.artists_uris&&(obj.artists=[]),void 0!==obj.albums_uris&&(obj.albums=[]),void 0!==obj.tracks_uris&&(obj.tracks=[]),void 0!==obj.users_uris&&(obj.users=[]),void 0!==obj.playlists_uris&&(obj.playlists=[]),void 0!==obj.related_artists_uris&&(obj.related_artists=[]),void 0!==obj.clients_ids&&(obj.clients=[]),indexes.artists){if(obj.artists_uris){var _iteratorNormalCompletion14=!0,_didIteratorError14=!1,_iteratorError14=void 0;try{for(var _step14,_iterator14=obj.artists_uris[Symbol.iterator]();!(_iteratorNormalCompletion14=(_step14=_iterator14.next()).done);_iteratorNormalCompletion14=!0){var uri=_step14.value;indexes.artists[uri]&&obj.artists.push(indexes.artists[uri])}}catch(err){_didIteratorError14=!0,_iteratorError14=err}finally{try{!_iteratorNormalCompletion14&&_iterator14.return&&_iterator14.return()}finally{if(_didIteratorError14)throw _iteratorError14}}}if(obj.related_artists_uris){var _iteratorNormalCompletion15=!0,_didIteratorError15=!1,_iteratorError15=void 0;try{for(var _step15,_iterator15=obj.related_artists_uris[Symbol.iterator]();!(_iteratorNormalCompletion15=(_step15=_iterator15.next()).done);_iteratorNormalCompletion15=!0){var uri=_step15.value;indexes.artists[uri]&&obj.related_artists.push(indexes.artists[uri])}}catch(err){_didIteratorError15=!0,_iteratorError15=err}finally{try{!_iteratorNormalCompletion15&&_iterator15.return&&_iterator15.return()}finally{if(_didIteratorError15)throw _iteratorError15}}}obj.artist_uri&&indexes.artists[obj.artist_uri]&&(obj.artist=indexes.artists[obj.artist_uri])}if(indexes.albums){if(obj.albums_uris){var _iteratorNormalCompletion16=!0,_didIteratorError16=!1,_iteratorError16=void 0;try{for(var _step16,_iterator16=obj.albums_uris[Symbol.iterator]();!(_iteratorNormalCompletion16=(_step16=_iterator16.next()).done);_iteratorNormalCompletion16=!0){var uri=_step16.value;indexes.albums[uri]&&obj.albums.push(indexes.albums[uri])}}catch(err){_didIteratorError16=!0,_iteratorError16=err}finally{try{!_iteratorNormalCompletion16&&_iterator16.return&&_iterator16.return()}finally{if(_didIteratorError16)throw _iteratorError16}}}obj.album_uri&&indexes.albums[obj.album_uri]&&(obj.album=indexes.albums[obj.album_uri])}if(indexes.tracks){if(obj.tracks_uris){var _iteratorNormalCompletion17=!0,_didIteratorError17=!1,_iteratorError17=void 0;try{for(var _step17,_iterator17=obj.tracks_uris[Symbol.iterator]();!(_iteratorNormalCompletion17=(_step17=_iterator17.next()).done);_iteratorNormalCompletion17=!0){var uri=_step17.value;indexes.tracks[uri]&&obj.tracks.push(indexes.tracks[uri])}}catch(err){_didIteratorError17=!0,_iteratorError17=err}finally{try{!_iteratorNormalCompletion17&&_iterator17.return&&_iterator17.return()}finally{if(_didIteratorError17)throw _iteratorError17}}}obj.track_uri&&indexes.tracks[obj.track_uri]&&(obj.track=indexes.tracks[obj.track_uri])}if(indexes.users){if(obj.users_uris){var _iteratorNormalCompletion18=!0,_didIteratorError18=!1,_iteratorError18=void 0;try{for(var _step18,_iterator18=obj.users_uris[Symbol.iterator]();!(_iteratorNormalCompletion18=(_step18=_iterator18.next()).done);_iteratorNormalCompletion18=!0){var uri=_step18.value;indexes.users[uri]&&obj.users.push(indexes.users[uri])}}catch(err){_didIteratorError18=!0,_iteratorError18=err}finally{try{!_iteratorNormalCompletion18&&_iterator18.return&&_iterator18.return()}finally{if(_didIteratorError18)throw _iteratorError18}}}obj.user_uri&&indexes.users[obj.user_uri]&&(obj.user=indexes.users[obj.user_uri])}if(indexes.playlists){if(obj.playlists_uris){var _iteratorNormalCompletion19=!0,_didIteratorError19=!1,_iteratorError19=void 0;try{for(var _step19,_iterator19=obj.playlists_uris[Symbol.iterator]();!(_iteratorNormalCompletion19=(_step19=_iterator19.next()).done);_iteratorNormalCompletion19=!0){var uri=_step19.value;indexes.playlists[uri]&&obj.playlists.push(indexes.playlists[uri])}}catch(err){_didIteratorError19=!0,_iteratorError19=err}finally{try{!_iteratorNormalCompletion19&&_iterator19.return&&_iterator19.return()}finally{if(_didIteratorError19)throw _iteratorError19}}}obj.playlist_uri&&indexes.playlists[obj.playlist_uri]&&(obj.playlist=indexes.playlists[obj.playlist_uri])}if(indexes.clients&&obj.clients_ids){var _iteratorNormalCompletion20=!0,_didIteratorError20=!1,_iteratorError20=void 0;try{for(var _step20,_iterator20=obj.clients_ids[Symbol.iterator]();!(_iteratorNormalCompletion20=(_step20=_iterator20.next()).done);_iteratorNormalCompletion20=!0){var id=_step20.value;indexes.clients[id]&&obj.clients.push(indexes.clients[id])}}catch(err){_didIteratorError20=!0,_iteratorError20=err}finally{try{!_iteratorNormalCompletion20&&_iterator20.return&&_iterator20.return()}finally{if(_didIteratorError20)throw _iteratorError20}}}return obj},exports.uriSource=function(uri){return!!uri&&uri.split(":")[0]}),isObject=(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"searchtype":if("search"==exploded[0])return exploded[1];break;case"searchterm":if("search"==exploded[0])return exploded[2]}return null},exports.uriType=function(uri){if(!uri)return null;var exploded=uri.split(":");if("m3u"==exploded[0])return"playlist";if("iris"==exploded[0])switch(exploded[1]){case"search":case"discover":case"browse":return exploded[1]}switch(exploded[1]){case"track":case"artist":case"album":case"playlist":case"genre":return exploded[1];case"user":return exploded.length>3&&"playlist"==exploded[3]?"playlist":exploded[1]}},exports.indexFriendlyUri=function(uri){var output=encodeURI(uri);return output=output.replace("'","%27")},exports.arrayOf=function(property,items){var array=[],_iteratorNormalCompletion21=!0,_didIteratorError21=!1,_iteratorError21=void 0;try{for(var _step21,_iterator21=items[Symbol.iterator]();!(_iteratorNormalCompletion21=(_step21=_iterator21.next()).done);_iteratorNormalCompletion21=!0){var item=_step21.value;array.push(item[property])}}catch(err){_didIteratorError21=!0,_iteratorError21=err}finally{try{!_iteratorNormalCompletion21&&_iterator21.return&&_iterator21.return()}finally{if(_didIteratorError21)throw _iteratorError21}}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 singular=arguments.length>3&&void 0!==arguments[3]&&arguments[3],results=[],i=0;ib_value.toLowerCase()?1:a_value.toLowerCase()parseInt(b_value)?1:parseInt(a_value)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.shuffle=function(array){var j,x,i;for(i=array.length-1;i>0;i--)j=Math.floor(Math.random()*(i+1)),x=array[i],array[i]=array[j],array[j]=x;return array},exports.isNumeric=function(value){return!isNaN(parseFloat(value))&&isFinite(value)},exports.isObject=function(value){return value instanceof Object&&value.constructor===Object}),upgradeSpotifyPlaylistUris=(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;i0&&void 0!==arguments[0]?arguments[0]:["jaedb.github.io"],hostname=window.location.hostname;return hosts.includes(hostname)},exports.getIndexedRecords=function(index,uris){var records=[];!uris instanceof Array&&(uris=[uris]);for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null,smooth_scroll=arguments.length>1&&void 0!==arguments[1]&&arguments[1],main=document.getElementById("main");smooth_scroll||main.classList.remove("smooth-scroll"),target?document.getElementById(target).scrollIntoView():main.scrollTo(0,0),smooth_scroll||main.classList.add("smooth-scroll")},exports.upgradeSpotifyPlaylistUris=function(uris){var upgraded=[],_iteratorNormalCompletion22=!0,_didIteratorError22=!1,_iteratorError22=void 0;try{for(var _step22,_iterator22=uris[Symbol.iterator]();!(_iteratorNormalCompletion22=(_step22=_iterator22.next()).done);_iteratorNormalCompletion22=!0){var uri=_step22.value;uri.includes("spotify:user:")&&(uri=uri.replace(/spotify:user:([^:]*?):/i,"spotify:")),upgraded.push(uri)}}catch(err){_didIteratorError22=!0,_iteratorError22=err}finally{try{!_iteratorNormalCompletion22&&_iterator22.return&&_iterator22.return()}finally{if(_didIteratorError22)throw _iteratorError22}}return upgraded}),upgradeSpotifyPlaylistUri=exports.upgradeSpotifyPlaylistUri=function(uri){return upgradeSpotifyPlaylistUris([uri])[0]}},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__createStore__=__webpack_require__(72),__WEBPACK_IMPORTED_MODULE_1__combineReducers__=__webpack_require__(139),__WEBPACK_IMPORTED_MODULE_2__bindActionCreators__=__webpack_require__(140),__WEBPACK_IMPORTED_MODULE_3__applyMiddleware__=__webpack_require__(141),__WEBPACK_IMPORTED_MODULE_4__compose__=__webpack_require__(76);__webpack_require__(75);__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,exports,__webpack_require__){"use strict";function setWindowTitle(){return{type:"SET_WINDOW_TITLE",title:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,play_state:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}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 installPrompt(event){return{type:"INSTALL_PROMPT",event:event}}function createBrowserNotification(data){return{type:"BROWSER_NOTIFICATION",data:data}}function createNotification(data){return data.message&&(data.content=data.message),{type:"CREATE_NOTIFICATION",notification:Object.assign({key:helpers.generateGuid(),duration:5,type:"default",title:null,content:null,description:null,sticky:!1,closing:!1,render_content:!1},data)}}function closeNotification(key){return{type:"CLOSE_NOTIFICATION",key:key}}function removeNotification(key){return{type:"REMOVE_NOTIFICATION",key:key,manual:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}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 processFinishing(key){return{type:"PROCESS_FINISHING",key:key}}function processFinished(key){return{type:"PROCESS_FINISHED",key:key}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setWindowTitle=setWindowTitle,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.installPrompt=installPrompt,exports.createBrowserNotification=createBrowserNotification,exports.createNotification=createNotification,exports.closeNotification=closeNotification,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.processFinishing=processFinishing,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,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__components_Provider__=__webpack_require__(120),__WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__=__webpack_require__(70),__WEBPACK_IMPORTED_MODULE_2__connect_connect__=__webpack_require__(124);__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 _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;i1&&void 0!==arguments[1]?arguments[1]:{},response_callback:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,error_callback:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}function connect(){return{type:"MOPIDY_CONNECT"}}function connecting(){return{type:"MOPIDY_CONNECTING"}}function disconnect(){return{type:"MOPIDY_DISCONNECT"}}function debug(call,value){return{type:"MOPIDY_DEBUG",call:call,value:value}}function restartStarted(){return{type:"MOPIDY_RESTART_STARTED"}}function restartFinished(){return{type:"MOPIDY_RESTART_FINISHED"}}function upgradeStarted(){return{type:"MOPIDY_UPGRADE_STARTED"}}function upgradeFinished(){return{type:"MOPIDY_UPGRADE_FINISHED"}}function localScanStarted(){return{type:"MOPIDY_LOCAL_SCAN_STARTED"}}function localScanFinished(){return{type:"MOPIDY_LOCAL_SCAN_FINISHED"}}function getPlayState(){return{type:"MOPIDY_GET_PLAY_STATE"}}function play(){return{type:"MOPIDY_PLAY"}}function pause(){return{type:"MOPIDY_PAUSE"}}function stop(){return{type:"MOPIDY_STOP"}}function next(){return{type:"MOPIDY_NEXT"}}function previous(){return{type:"MOPIDY_PREVIOUS"}}function getMute(){return{type:"MOPIDY_GET_MUTE"}}function setMute(mute){return{type:"MOPIDY_SET_MUTE",mute:mute}}function getVolume(){return{type:"MOPIDY_GET_VOLUME"}}function setVolume(volume){return{type:"MOPIDY_SET_VOLUME",volume:volume}}function getConsume(){return{type:"MOPIDY_GET_CONSUME"}}function setConsume(consume){return{type:"MOPIDY_SET_CONSUME",consume:consume}}function getRepeat(){return{type:"MOPIDY_GET_REPEAT"}}function setRepeat(repeat){return{type:"MOPIDY_SET_REPEAT",repeat:repeat}}function getRandom(){return{type:"MOPIDY_GET_RANDOM"}}function setRandom(random){return{type:"MOPIDY_SET_RANDOM",random:random}}function getTimePosition(){return{type:"MOPIDY_GET_TIME_POSITION"}}function setTimePosition(time_position){return{type:"MOPIDY_SET_TIME_POSITION",time_position:parseInt(time_position)}}function timePosition(time_position){return{type:"MOPIDY_TIME_POSITION",time_position:parseInt(time_position)}}function getUriSchemes(){return{type:"MOPIDY_GET_URI_SCHEMES"}}function getCurrentTrack(){return{type:"MOPIDY_GET_CURRENT_TRACK"}}function currentTrackLoaded(tl_track){return{type:"MOPIDY_CURRENT_TRACK_LOADED",tl_track:tl_track}}function getNextTrack(){return{type:"MOPIDY_GET_NEXT_TRACK"}}function clearCurrentTrack(){return{type:"CLEAR_CURRENT_TRACK"}}function getQueue(){return{type:"MOPIDY_GET_QUEUE"}}function changeTrack(tlid){return{type:"MOPIDY_CHANGE_TRACK",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,shuffle:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function playAlbum(uri){return{type:"MOPIDY_PLAY_ALBUM",uri:uri}}function removeTracks(tlids){return{type:"MOPIDY_REMOVE_TRACKS",tlids: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{type:"MOPIDY_CLEAR_TRACKLIST"}}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",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function clearLibraryArtists(){return{type:"MOPIDY_CLEAR_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",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function clearLibraryAlbums(){return{type:"MOPIDY_CLEAR_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{type:"MOPIDY_GET_QUEUE_HISTORY"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=set,exports.request=request,exports.connect=connect,exports.connecting=connecting,exports.disconnect=disconnect,exports.debug=debug,exports.restartStarted=restartStarted,exports.restartFinished=restartFinished,exports.upgradeStarted=upgradeStarted,exports.upgradeFinished=upgradeFinished,exports.localScanStarted=localScanStarted,exports.localScanFinished=localScanFinished,exports.getPlayState=getPlayState,exports.play=play,exports.pause=pause,exports.stop=stop,exports.next=next,exports.previous=previous,exports.getMute=getMute,exports.setMute=setMute,exports.getVolume=getVolume,exports.setVolume=setVolume,exports.getConsume=getConsume,exports.setConsume=setConsume,exports.getRepeat=getRepeat,exports.setRepeat=setRepeat,exports.getRandom=getRandom,exports.setRandom=setRandom,exports.getTimePosition=getTimePosition,exports.setTimePosition=setTimePosition,exports.timePosition=timePosition,exports.getUriSchemes=getUriSchemes,exports.getCurrentTrack=getCurrentTrack,exports.currentTrackLoaded=currentTrackLoaded,exports.getNextTrack=getNextTrack,exports.clearCurrentTrack=clearCurrentTrack,exports.getQueue=getQueue,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.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.clearLibraryArtists=clearLibraryArtists,exports.getArtist=getArtist,exports.getArtists=getArtists,exports.getAlbum=getAlbum,exports.getAlbums=getAlbums,exports.getLibraryAlbums=getLibraryAlbums,exports.clearLibraryAlbums=clearLibraryAlbums,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";(function($,global){function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){request(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){request(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().spotify.country,url+="&limit="+limit,url+="&offset="+offset,request(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){var playlists=[],_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=response.playlists.items[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var playlist=_step.value;playlists.push(Object.assign({},helpers.formatPlaylist(playlist),{can_edit:getState().spotify.me&&playlist.owner.id==getState().spotify.me.id,tracks_total:playlist.tracks.total}))}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}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.processFinishing("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().spotify.country,request(dispatch,getState,endpoint).then(function(response){var genres=[];if(genre_included){var available_genres=getState().spotify.genres;if(available_genres)for(var i=0;i0&&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?"playlists/"+helpers.getFromUri("playlistid",uri)+"/followers/contains?ids="+getState().spotify.me.id:"playlists/"+helpers.getFromUri("playlistid",uri)+"/followers"}request(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;i0&&(artist_ids+=","),artist_ids+=helpers.getFromUri("artistid",radio.seed_artists[i]);request(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;i0&&(track_ids+=","),track_ids+=helpers.getFromUri("trackid",radio.seed_tracks[i]);request(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(request(dispatch,getState,"me/top/artists?limit="+limit+"&time_range="+term),request(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,tunabilities=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(dispatch,getState){dispatch({type:"CLEAR_SPOTIFY_RECOMMENDATIONS"});for(var artists_ids=[],tracks_ids=[],genres=[],i=0;i1&&void 0!==arguments[1]&&arguments[1];return function(dispatch,getState){var artist={},requests=[request(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(request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/top-tracks?country="+getState().spotify.country).then(function(response){Object.assign(artist,response)},function(error){dispatch(coreActions.handleException("Could not load artist's top tracks",error))})),requests.push(request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/related-artists").then(function(response){dispatch(coreActions.artistsLoaded(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(coreActions.artistLoaded(artist)),full&&request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/albums?market="+getState().spotify.country).then(function(response){dispatch({type:"SPOTIFY_ARTIST_ALBUMS_LOADED",artist_uri:uri,data:response})},function(error){dispatch(coreActions.handleException("Could not load artist's albums",error))})})}}function getArtists(uris){return function(dispatch,getState){for(var ids="",i=0;i3&&void 0!==arguments[3]?arguments[3]:"GET",data=arguments.length>4&&void 0!==arguments[4]&&arguments[4],loader_key=helpers.generateGuid();return dispatch(uiActions.startLoading(loader_key,"spotify_"+endpoint)),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)),$.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__(9))},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;i2&&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,show_notification:!(arguments.length>3&&void 0!==arguments[3])||arguments[3]}}function debugResponse(response){return{type:"DEBUG",response:response}}function set(data){return{type:"CORE_SET",data:data}}function clearCurrentTrack(){return{type:"CLEAR_CURRENT_TRACK"}}function cachebustHttpStream(){return{type:"CACHEBUST_HTTP_STREAM"}}function loadTrack(uri){return{type:"LOAD_TRACK",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadAlbum(uri){return{type:"LOAD_ALBUM",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadArtist(uri){return{type:"LOAD_ARTIST",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadPlaylist(uri){return{type:"LOAD_PLAYLIST",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadUser(uri){return{type:"LOAD_USER",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadUserPlaylists(uri){return{type:"LOAD_USER_PLAYLISTS",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function trackLoaded(track){return tracksLoaded([track])}function tracksLoaded(tracks){return{type:"TRACKS_LOADED",tracks:tracks}}function artistLoaded(artist){return artistsLoaded([artist])}function artistsLoaded(artists){return{type:"ARTISTS_LOADED",artists:artists}}function albumLoaded(album){return albumsLoaded([album])}function albumsLoaded(albums){return{type:"ALBUMS_LOADED",albums:albums}}function playlistLoaded(playlist){return playlistsLoaded([playlist])}function playlistsLoaded(playlists){return{type:"PLAYLISTS_LOADED",playlists:playlists}}function userLoaded(user){return usersLoaded([user])}function usersLoaded(users){return{type:"USERS_LOADED",users:users}}function userPlaylistsLoaded(uri,playlists){return{type:"USER_PLAYLISTS_LOADED",uri:uri,playlists:playlists,more:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,total:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}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 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],image=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_SAVE_PLAYLIST",key:uri,name:name,description:""==description?null:description,image:image,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"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBroadcasts=getBroadcasts,exports.startSearch=startSearch,exports.handleException=handleException,exports.debugResponse=debugResponse,exports.set=set,exports.clearCurrentTrack=clearCurrentTrack,exports.cachebustHttpStream=cachebustHttpStream,exports.loadTrack=loadTrack,exports.loadAlbum=loadAlbum,exports.loadArtist=loadArtist,exports.loadPlaylist=loadPlaylist,exports.loadUser=loadUser,exports.loadUserPlaylists=loadUserPlaylists,exports.trackLoaded=trackLoaded,exports.tracksLoaded=tracksLoaded,exports.artistLoaded=artistLoaded,exports.artistsLoaded=artistsLoaded,exports.albumLoaded=albumLoaded,exports.albumsLoaded=albumsLoaded,exports.playlistLoaded=playlistLoaded,exports.playlistsLoaded=playlistsLoaded,exports.userLoaded=userLoaded,exports.usersLoaded=usersLoaded,exports.userPlaylistsLoaded=userPlaylistsLoaded,exports.loadedMore=loadedMore,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;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__(7),mopidyActions=__webpack_require__(6)}).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;i0&&(images=images[0]);var size="medium";if(this.props.size&&(size=this.props.size),images[size])return images[size]}return null}},{key:"render",value:function(){var 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&&image&&(zoom_icon=_react2.default.createElement(_Link2.default,{className:"zoom",to:global.baseURL+"image-zoom?url="+image},_react2.default.createElement(_Icon2.default,{name:"search"}))),_react2.default.createElement("div",{className:class_name},_react2.default.createElement("div",{className:"image loaded",style:{backgroundImage:'url("'+(image||__webpack_require__(276))+'")'}}),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)}).call(exports,__webpack_require__(9))},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__Router__=__webpack_require__(155);__webpack_require__.d(__webpack_exports__,"Router",function(){return __WEBPACK_IMPORTED_MODULE_0__Router__.a});var __WEBPACK_IMPORTED_MODULE_1__Link__=__webpack_require__(84);__webpack_require__.d(__webpack_exports__,"Link",function(){return __WEBPACK_IMPORTED_MODULE_1__Link__.a});var __WEBPACK_IMPORTED_MODULE_2__IndexLink__=__webpack_require__(167);__webpack_require__.d(__webpack_exports__,"IndexLink",function(){return __WEBPACK_IMPORTED_MODULE_2__IndexLink__.a});var __WEBPACK_IMPORTED_MODULE_3__withRouter__=__webpack_require__(168);__webpack_require__.d(__webpack_exports__,"withRouter",function(){return __WEBPACK_IMPORTED_MODULE_3__withRouter__.a});var __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__=__webpack_require__(169);__webpack_require__.d(__webpack_exports__,"IndexRedirect",function(){return __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__.a});var __WEBPACK_IMPORTED_MODULE_5__IndexRoute__=__webpack_require__(170);__webpack_require__.d(__webpack_exports__,"IndexRoute",function(){return __WEBPACK_IMPORTED_MODULE_5__IndexRoute__.a});var __WEBPACK_IMPORTED_MODULE_6__Redirect__=__webpack_require__(85);__webpack_require__.d(__webpack_exports__,"Redirect",function(){return __WEBPACK_IMPORTED_MODULE_6__Redirect__.a});var __WEBPACK_IMPORTED_MODULE_7__Route__=__webpack_require__(171);__webpack_require__.d(__webpack_exports__,"Route",function(){return __WEBPACK_IMPORTED_MODULE_7__Route__.a});var __WEBPACK_IMPORTED_MODULE_8__RouteUtils__=__webpack_require__(29);__webpack_require__.d(__webpack_exports__,"createRoutes",function(){return __WEBPACK_IMPORTED_MODULE_8__RouteUtils__.b});var __WEBPACK_IMPORTED_MODULE_9__RouterContext__=__webpack_require__(53);__webpack_require__.d(__webpack_exports__,"RouterContext",function(){return __WEBPACK_IMPORTED_MODULE_9__RouterContext__.a});var __WEBPACK_IMPORTED_MODULE_10__PropTypes__=__webpack_require__(55);__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__(172);__webpack_require__.d(__webpack_exports__,"match",function(){return __WEBPACK_IMPORTED_MODULE_11__match__.a});var __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__=__webpack_require__(89);__webpack_require__.d(__webpack_exports__,"useRouterHistory",function(){return __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__.a});var __WEBPACK_IMPORTED_MODULE_13__PatternUtils__=__webpack_require__(35);__webpack_require__.d(__webpack_exports__,"formatPattern",function(){return __WEBPACK_IMPORTED_MODULE_13__PatternUtils__.a});var __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__=__webpack_require__(177);__webpack_require__.d(__webpack_exports__,"applyRouterMiddleware",function(){return __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__.a});var __WEBPACK_IMPORTED_MODULE_15__browserHistory__=__webpack_require__(178);__webpack_require__.d(__webpack_exports__,"browserHistory",function(){return __WEBPACK_IMPORTED_MODULE_15__browserHistory__.a});var __WEBPACK_IMPORTED_MODULE_16__hashHistory__=__webpack_require__(181);__webpack_require__.d(__webpack_exports__,"hashHistory",function(){return __WEBPACK_IMPORTED_MODULE_16__hashHistory__.a});var __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__=__webpack_require__(86);__webpack_require__.d(__webpack_exports__,"createMemoryHistory",function(){return __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__.a})},function(module,exports,__webpack_require__){"use strict";function setPort(port){return{type:"PUSHER_SET_PORT",port:port}}function setUsername(username){var force=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"PUSHER_SET_USERNAME",username:username.replace(/[\W_]+/g,""),force:force}}function connect(){return{type:"PUSHER_CONNECT"}}function disconnect(){return{type:"PUSHER_DISCONNECT"}}function upgrade(){return{type:"PUSHER_UPGRADE"}}function reload(){return{type:"PUSHER_RELOAD"}}function restart(){return{type:"PUSHER_RESTART"}}function localScan(){return{type:"PUSHER_LOCAL_SCAN"}}function getConnections(){return{type:"PUSHER_GET_CONNECTIONS"}}function connectionAdded(connection){return{type:"PUSHER_CONNECTION_ADDED",connection:connection}}function connectionChanged(connection){return{type:"PUSHER_CONNECTION_CHANGED",connection:connection}}function connectionRemoved(connection){return{type:"PUSHER_CONNECTION_REMOVED",connection:connection}}function request(method){return{type:"PUSHER_REQUEST",method:method,params:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,response_callback:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,error_callback:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}function getConfig(){return{type:"PUSHER_GET_CONFIG"}}function getVersion(){return{type:"PUSHER_GET_VERSION"}}function deliverBroadcast(method,params){return{type:"PUSHER_DELIVER_BROADCAST",data:{method:method,params:params}}}function deliverMessage(recipient,method,params){return{type:"PUSHER_DELIVER_MESSAGE",data:{recipient:recipient,method:method,params:params}}}function getRadio(){return{type:"PUSHER_GET_RADIO"}}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 radioStarted(radio){return{type:"PUSHER_RADIO_STARTED",radio:radio}}function radioChanged(radio){return{type:"PUSHER_RADIO_CHANGED",radio:radio}}function radioStopped(){return{type:"PUSHER_RADIO_STOPPED"}}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 queueMetadataChanged(queue_metadata){return{type:"PUSHER_QUEUE_METADATA_CHANGED",queue_metadata: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}}function getCommands(){return{type:"PUSHER_GET_COMMANDS"}}function setCommand(command){return{type:"PUSHER_SET_COMMAND",command:command}}function removeCommand(id){return{type:"PUSHER_REMOVE_COMMAND",id:id}}function sendCommand(id){return{type:"PUSHER_SEND_COMMAND",id:id,notify:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function commandsUpdated(commands){return{type:"PUSHER_COMMANDS_UPDATED",commands:commands}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setPort=setPort,exports.setUsername=setUsername,exports.connect=connect,exports.disconnect=disconnect,exports.upgrade=upgrade,exports.reload=reload,exports.restart=restart,exports.localScan=localScan,exports.getConnections=getConnections,exports.connectionAdded=connectionAdded,exports.connectionChanged=connectionChanged,exports.connectionRemoved=connectionRemoved,exports.request=request,exports.getConfig=getConfig,exports.getVersion=getVersion,exports.deliverBroadcast=deliverBroadcast,exports.deliverMessage=deliverMessage,exports.getRadio=getRadio,exports.startRadio=startRadio,exports.updateRadio=updateRadio,exports.stopRadio=stopRadio,exports.radioStarted=radioStarted,exports.radioChanged=radioChanged,exports.radioStopped=radioStopped,exports.debug=debug,exports.getQueueMetadata=getQueueMetadata,exports.queueMetadataChanged=queueMetadataChanged,exports.addQueueMetadata=addQueueMetadata,exports.getCommands=getCommands,exports.setCommand=setCommand,exports.removeCommand=removeCommand,exports.sendCommand=sendCommand,exports.commandsUpdated=commandsUpdated},function(module,exports,__webpack_require__){!function(root,factory){module.exports=factory(__webpack_require__(0),__webpack_require__(196))}("undefined"!=typeof self&&self,function(__WEBPACK_EXTERNAL_MODULE_11__,__WEBPACK_EXTERNAL_MODULE_12__){return 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);i1?_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(configsOrTrackingId,options){if(options&&!0===options.testMode)_testMode=!0;else{if("undefined"==typeof window)return!1;(0,_loadGA2.default)(options)}return Array.isArray(configsOrTrackingId)?configsOrTrackingId.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(configsOrTrackingId,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)))),window.ga}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,title){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()");var extraFields={};if(title&&(extraFields.title=title),"function"==typeof ga&&(_gaCommand(trackerNames,"send",_extends({hitType:"pageview",page:path},extraFields)),_debug)){(0,_log2.default)("called ga('send', 'pageview', path);");var extraLog="";title&&(extraLog=" and title: "+title),(0,_log2.default)("with path: "+path+extraLog)}}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.testModeAPI=exports.OutboundLink=exports.plugin=void 0;var _extends=Object.assign||function(target){for(var i=1;i0&&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(options){!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=g,m.parentNode.insertBefore(a,m)}(window,document,"script",options&&options.gaAddress?options.gaAddress:"https://www.google-analytics.com/analytics.js","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";Object.defineProperty(exports,"__esModule",{value:!0});var gaCalls=exports.gaCalls=[];exports.default={calls:gaCalls,ga:function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];gaCalls.push([].concat(args))}}},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 _extends=Object.assign||function(target){for(var i=1;i1&&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.digestMopidyImages=function(mopidy,images){for(var digested=[],i=0;i0&&void 0!==arguments[0]?arguments[0]:"numeric")){var date=(new Date).valueOf().toString(),random_number=Math.floor(100*Math.random()).toString();return parseInt(date+random_number)}return"xxxxxxxxxx".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&&formatImages(track.images).small},exports.formatImages=function(data){var sizes={formatted:!0,small:null,medium:null,large:null,huge:null};if(!data)return sizes;if(Array.isArray(data)){if(data.length<=0)return sizes;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=records[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var record=_step2.value;formatted.push(formatTrack(record))}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}return formatted},exports.formatAlbums=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=records[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var record=_step3.value;formatted.push(formatAlbum(record))}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}return formatted},exports.formatArtists=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=records[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var record=_step4.value;formatted.push(formatArtist(record))}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4.return&&_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}return formatted},exports.formatPlaylists=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion5=!0,_didIteratorError5=!1,_iteratorError5=void 0;try{for(var _step5,_iterator5=records[Symbol.iterator]();!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=!0){var record=_step5.value;formatted.push(formatTrack(record))}}catch(err){_didIteratorError5=!0,_iteratorError5=err}finally{try{!_iteratorNormalCompletion5&&_iterator5.return&&_iterator5.return()}finally{if(_didIteratorError5)throw _iteratorError5}}return formatted},exports.formatUsers=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion6=!0,_didIteratorError6=!1,_iteratorError6=void 0;try{for(var _step6,_iterator6=records[Symbol.iterator]();!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=!0){var record=_step6.value;formatted.push(formatUser(record))}}catch(err){_didIteratorError6=!0,_iteratorError6=err}finally{try{!_iteratorNormalCompletion6&&_iterator6.return&&_iterator6.return()}finally{if(_didIteratorError6)throw _iteratorError6}}return formatted},exports.formatAlbum=function(data){var album={},fields=["uri","provider","name","type","added_at","release_date","popularity","images","artists_uris","tracks_uris","artists"],_iteratorNormalCompletion7=!0,_didIteratorError7=!1,_iteratorError7=void 0;try{for(var _step7,_iterator7=fields[Symbol.iterator]();!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=!0){var field=_step7.value;data.hasOwnProperty(field)&&(album[field]=data[field])}}catch(err){_didIteratorError7=!0,_iteratorError7=err}finally{try{!_iteratorNormalCompletion7&&_iterator7.return&&_iterator7.return()}finally{if(_didIteratorError7)throw _iteratorError7}}return album.images&&!album.images.formatted&&(album.images=formatImages(album.images)),data.date&&!album.date&&(album.release_date=data.date),data.album_type&&(album.type=data.album_type),void 0===album.provider&&void 0!==album.uri&&(album.provider=uriSource(album.uri)),album}),formatArtist=exports.formatArtist=function(data){var artist={},fields=["uri","provider","mbid","name","type","images","popularity","followers","listeners","added_at","biography","biography_link","biography_publish_date","related_artists_uris","albums_uris","albums_total","albums_more","tracks_uris","tracks_total","tracks_more"],_iteratorNormalCompletion8=!0,_didIteratorError8=!1,_iteratorError8=void 0;try{for(var _step8,_iterator8=fields[Symbol.iterator]();!(_iteratorNormalCompletion8=(_step8=_iterator8.next()).done);_iteratorNormalCompletion8=!0){var field=_step8.value;data.hasOwnProperty(field)&&(artist[field]=data[field])}}catch(err){_didIteratorError8=!0,_iteratorError8=err}finally{try{!_iteratorNormalCompletion8&&_iterator8.return&&_iterator8.return()}finally{if(_didIteratorError8)throw _iteratorError8}}return data.images&&(artist.images=[formatImages(artist.images)]),data.followers&&void 0!==data.followers.total&&(artist.followers=data.followers.total),data.bio&&(data.bio.content&&!artist.biography&&(artist.biography=data.bio.content),data.bio.links&&data.bio.links.link&&data.bio.links.link.href&&!artist.biography_link&&(artist.biography_link=data.bio.links.link.href),data.bio.published&&!artist.biography_publish_date&&(artist.biography_publish_date=data.bio.published)),void 0===artist.provider&&void 0!==artist.uri&&(artist.provider=uriSource(artist.uri)),artist},formatUser=(exports.formatPlaylist=function(data){var playlist={},fields=["uri","snapshot_id","provider","type","name","description","images","popularity","followers","added_at","last_modified_date","can_edit","owner","user_uri","tracks_uris","tracks_total","tracks_more"],_iteratorNormalCompletion9=!0,_didIteratorError9=!1,_iteratorError9=void 0;try{for(var _step9,_iterator9=fields[Symbol.iterator]();!(_iteratorNormalCompletion9=(_step9=_iterator9.next()).done);_iteratorNormalCompletion9=!0){var field=_step9.value;data.hasOwnProperty(field)&&(playlist[field]=data[field])}}catch(err){_didIteratorError9=!0,_iteratorError9=err}finally{try{!_iteratorNormalCompletion9&&_iterator9.return&&_iterator9.return()}finally{if(_didIteratorError9)throw _iteratorError9}}return playlist.images&&!playlist.images.formatted&&(playlist.images=formatImages(playlist.images)),data.followers&&void 0!==data.followers.total&&(playlist.followers=data.followers.total),data.tracks&&void 0!==data.tracks.total&&(playlist.tracks_total=data.tracks.total),data.owner&&(playlist.owner={id:data.owner.id,uri:data.owner.uri,name:data.owner.display_name?data.owner.display_name:null},playlist.user_uri=data.owner.uri),playlist.uri=upgradeSpotifyPlaylistUri(playlist.uri),void 0===playlist.provider&&void 0!==playlist.uri&&(playlist.provider=uriSource(playlist.uri)),playlist},exports.formatUser=function(data){var user={},fields=["id","uri","provider","name","images","followers","playlists_uris","playlists_total","playlists_more"],_iteratorNormalCompletion10=!0,_didIteratorError10=!1,_iteratorError10=void 0;try{for(var _step10,_iterator10=fields[Symbol.iterator]();!(_iteratorNormalCompletion10=(_step10=_iterator10.next()).done);_iteratorNormalCompletion10=!0){var field=_step10.value;data.hasOwnProperty(field)&&(user[field]=data[field])}}catch(err){_didIteratorError10=!0,_iteratorError10=err}finally{try{!_iteratorNormalCompletion10&&_iterator10.return&&_iterator10.return()}finally{if(_didIteratorError10)throw _iteratorError10}}return!user.images&&data.image?user.images=formatImages(data.image):!user.images&&data.avatar?user.images=formatImages(data.avatar):user.images&&!user.images.formatted&&(user.images=formatImages(user.images)),data.followers&&void 0!==data.followers.total&&(user.followers=data.followers.total),data.realname&&(user.name=data.realname),data.display_name&&!user.name&&(user.name=data.display_name),data.id&&!user.name&&(user.name=data.id),void 0===user.provider&&void 0!==user.uri&&(user.provider=uriSource(user.uri)),user}),formatTrack=exports.formatTrack=function(data){var track={},fields=["uri","tlid","provider","name","images","release_date","disc_number","track_number","duration","followers","popularity","userloved","is_explicit","is_local","lyrics","lyrics_path","lyrics_results","artists","album"];data&&data.track&&isObject(data.track)&&(data.added_by&&(data.track.added_by=data.added_by),data.added_at&&(data.track.added_at=data.added_at),data.tlid&&(data.track.tlid=data.tlid),data=data.track);var _iteratorNormalCompletion11=!0,_didIteratorError11=!1,_iteratorError11=void 0;try{for(var _step11,_iterator11=fields[Symbol.iterator]();!(_iteratorNormalCompletion11=(_step11=_iterator11.next()).done);_iteratorNormalCompletion11=!0){var field=_step11.value;data.hasOwnProperty(field)&&(track[field]=data[field])}}catch(err){_didIteratorError11=!0,_iteratorError11=err}finally{try{!_iteratorNormalCompletion11&&_iterator11.return&&_iterator11.return()}finally{if(_didIteratorError11)throw _iteratorError11}}return data.followers&&data.followers.total&&(track.followers=data.followers.total),void 0===track.duration&&void 0!==data.duration_ms?track.duration=data.duration_ms:void 0===track.duration&&void 0!==data.length&&(track.duration=data.length),void 0===track.track_number&&void 0!==data.track_no&&(track.track_number=data.track_no),void 0===track.disc_number&&void 0!==data.disc_no&&(track.disc_number=data.disc_no),void 0===track.release_date&&void 0!==data.date&&(track.release_date=data.date),void 0===track.explicit&&void 0!==data.explicit&&(track.is_explicit=data.explicit),data.album&&data.album.images&&(void 0!==track.images&&track.images.formatted||(track.images=formatImages(data.album.images))),void 0===track.provider&&void 0!==track.uri&&(track.provider=uriSource(track.uri)),track},uriSource=(exports.formatClient=function(data){var client={},fields=["id","connected","name","host_name","volume","mute","latency","power_on_command","power_off_command"],_iteratorNormalCompletion12=!0,_didIteratorError12=!1,_iteratorError12=void 0;try{for(var _step12,_iterator12=fields[Symbol.iterator]();!(_iteratorNormalCompletion12=(_step12=_iterator12.next()).done);_iteratorNormalCompletion12=!0){var field=_step12.value;data.hasOwnProperty(field)&&(client[field]=data[field])}}catch(err){_didIteratorError12=!0,_iteratorError12=err}finally{try{!_iteratorNormalCompletion12&&_iterator12.return&&_iterator12.return()}finally{if(_didIteratorError12)throw _iteratorError12}}return data.config&&(void 0===client.latency&&void 0!==data.config.latency&&(client.latency=data.config.latency),!client.name&&data.config.name&&(client.name=data.config.name),data.config.volume&&(data.config.volume.percent&&(client.volume=data.config.volume.percent),data.config.volume.muted&&(client.mute=data.config.volume.muted))),void 0===client.name&&data.host&&data.host.name&&(client.name=data.host.name),client},exports.formatGroup=function(data){var group={},fields=["id","name","mute","stream_id","clients_ids"],_iteratorNormalCompletion13=!0,_didIteratorError13=!1,_iteratorError13=void 0;try{for(var _step13,_iterator13=fields[Symbol.iterator]();!(_iteratorNormalCompletion13=(_step13=_iterator13.next()).done);_iteratorNormalCompletion13=!0){var field=_step13.value;data.hasOwnProperty(field)&&(group[field]=data[field])}}catch(err){_didIteratorError13=!0,_iteratorError13=err}finally{try{!_iteratorNormalCompletion13&&_iterator13.return&&_iterator13.return()}finally{if(_didIteratorError13)throw _iteratorError13}}return void 0!==group.name&&""!==group.name||(group.name="Group "+data.id.substring(0,3)),void 0===group.mute&&void 0!==data.mute&&(group.mute=data.mute),group},exports.collate=function(obj){var indexes=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(obj=Object.assign({},obj),void 0!==obj.artists_uris&&(obj.artists=[]),void 0!==obj.albums_uris&&(obj.albums=[]),void 0!==obj.tracks_uris&&(obj.tracks=[]),void 0!==obj.users_uris&&(obj.users=[]),void 0!==obj.playlists_uris&&(obj.playlists=[]),void 0!==obj.related_artists_uris&&(obj.related_artists=[]),void 0!==obj.clients_ids&&(obj.clients=[]),indexes.artists){if(obj.artists_uris){var _iteratorNormalCompletion14=!0,_didIteratorError14=!1,_iteratorError14=void 0;try{for(var _step14,_iterator14=obj.artists_uris[Symbol.iterator]();!(_iteratorNormalCompletion14=(_step14=_iterator14.next()).done);_iteratorNormalCompletion14=!0){var uri=_step14.value;indexes.artists[uri]&&obj.artists.push(indexes.artists[uri])}}catch(err){_didIteratorError14=!0,_iteratorError14=err}finally{try{!_iteratorNormalCompletion14&&_iterator14.return&&_iterator14.return()}finally{if(_didIteratorError14)throw _iteratorError14}}}if(obj.related_artists_uris){var _iteratorNormalCompletion15=!0,_didIteratorError15=!1,_iteratorError15=void 0;try{for(var _step15,_iterator15=obj.related_artists_uris[Symbol.iterator]();!(_iteratorNormalCompletion15=(_step15=_iterator15.next()).done);_iteratorNormalCompletion15=!0){var uri=_step15.value;indexes.artists[uri]&&obj.related_artists.push(indexes.artists[uri])}}catch(err){_didIteratorError15=!0,_iteratorError15=err}finally{try{!_iteratorNormalCompletion15&&_iterator15.return&&_iterator15.return()}finally{if(_didIteratorError15)throw _iteratorError15}}}obj.artist_uri&&indexes.artists[obj.artist_uri]&&(obj.artist=indexes.artists[obj.artist_uri])}if(indexes.albums){if(obj.albums_uris){var _iteratorNormalCompletion16=!0,_didIteratorError16=!1,_iteratorError16=void 0;try{for(var _step16,_iterator16=obj.albums_uris[Symbol.iterator]();!(_iteratorNormalCompletion16=(_step16=_iterator16.next()).done);_iteratorNormalCompletion16=!0){var uri=_step16.value;indexes.albums[uri]&&obj.albums.push(indexes.albums[uri])}}catch(err){_didIteratorError16=!0,_iteratorError16=err}finally{try{!_iteratorNormalCompletion16&&_iterator16.return&&_iterator16.return()}finally{if(_didIteratorError16)throw _iteratorError16}}}obj.album_uri&&indexes.albums[obj.album_uri]&&(obj.album=indexes.albums[obj.album_uri])}if(indexes.tracks){if(obj.tracks_uris){var _iteratorNormalCompletion17=!0,_didIteratorError17=!1,_iteratorError17=void 0;try{for(var _step17,_iterator17=obj.tracks_uris[Symbol.iterator]();!(_iteratorNormalCompletion17=(_step17=_iterator17.next()).done);_iteratorNormalCompletion17=!0){var uri=_step17.value;indexes.tracks[uri]&&obj.tracks.push(indexes.tracks[uri])}}catch(err){_didIteratorError17=!0,_iteratorError17=err}finally{try{!_iteratorNormalCompletion17&&_iterator17.return&&_iterator17.return()}finally{if(_didIteratorError17)throw _iteratorError17}}}obj.track_uri&&indexes.tracks[obj.track_uri]&&(obj.track=indexes.tracks[obj.track_uri])}if(indexes.users){if(obj.users_uris){var _iteratorNormalCompletion18=!0,_didIteratorError18=!1,_iteratorError18=void 0;try{for(var _step18,_iterator18=obj.users_uris[Symbol.iterator]();!(_iteratorNormalCompletion18=(_step18=_iterator18.next()).done);_iteratorNormalCompletion18=!0){var uri=_step18.value;indexes.users[uri]&&obj.users.push(indexes.users[uri])}}catch(err){_didIteratorError18=!0,_iteratorError18=err}finally{try{!_iteratorNormalCompletion18&&_iterator18.return&&_iterator18.return()}finally{if(_didIteratorError18)throw _iteratorError18}}}obj.user_uri&&indexes.users[obj.user_uri]&&(obj.user=indexes.users[obj.user_uri])}if(indexes.playlists){if(obj.playlists_uris){var _iteratorNormalCompletion19=!0,_didIteratorError19=!1,_iteratorError19=void 0;try{for(var _step19,_iterator19=obj.playlists_uris[Symbol.iterator]();!(_iteratorNormalCompletion19=(_step19=_iterator19.next()).done);_iteratorNormalCompletion19=!0){var uri=_step19.value;indexes.playlists[uri]&&obj.playlists.push(indexes.playlists[uri])}}catch(err){_didIteratorError19=!0,_iteratorError19=err}finally{try{!_iteratorNormalCompletion19&&_iterator19.return&&_iterator19.return()}finally{if(_didIteratorError19)throw _iteratorError19}}}obj.playlist_uri&&indexes.playlists[obj.playlist_uri]&&(obj.playlist=indexes.playlists[obj.playlist_uri])}if(indexes.clients&&obj.clients_ids){var _iteratorNormalCompletion20=!0,_didIteratorError20=!1,_iteratorError20=void 0;try{for(var _step20,_iterator20=obj.clients_ids[Symbol.iterator]();!(_iteratorNormalCompletion20=(_step20=_iterator20.next()).done);_iteratorNormalCompletion20=!0){var id=_step20.value;indexes.clients[id]&&obj.clients.push(indexes.clients[id])}}catch(err){_didIteratorError20=!0,_iteratorError20=err}finally{try{!_iteratorNormalCompletion20&&_iterator20.return&&_iterator20.return()}finally{if(_didIteratorError20)throw _iteratorError20}}}return obj},exports.uriSource=function(uri){return!!uri&&uri.split(":")[0]}),isObject=(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"searchtype":if("search"==exploded[0])return exploded[1];break;case"searchterm":if("search"==exploded[0])return exploded[2]}return null},exports.uriType=function(uri){if(!uri)return null;var exploded=uri.split(":");if("m3u"==exploded[0])return"playlist";if("iris"==exploded[0])switch(exploded[1]){case"search":case"discover":case"browse":return exploded[1]}switch(exploded[1]){case"track":case"artist":case"album":case"playlist":case"genre":return exploded[1];case"user":return exploded.length>3&&"playlist"==exploded[3]?"playlist":exploded[1]}},exports.indexFriendlyUri=function(uri){var output=encodeURI(uri);return output=output.replace("'","%27")},exports.arrayOf=function(property,items){var array=[],_iteratorNormalCompletion21=!0,_didIteratorError21=!1,_iteratorError21=void 0;try{for(var _step21,_iterator21=items[Symbol.iterator]();!(_iteratorNormalCompletion21=(_step21=_iterator21.next()).done);_iteratorNormalCompletion21=!0){var item=_step21.value;array.push(item[property])}}catch(err){_didIteratorError21=!0,_iteratorError21=err}finally{try{!_iteratorNormalCompletion21&&_iterator21.return&&_iterator21.return()}finally{if(_didIteratorError21)throw _iteratorError21}}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 singular=arguments.length>3&&void 0!==arguments[3]&&arguments[3],results=[],i=0;ib_value.toLowerCase()?1:a_value.toLowerCase()parseInt(b_value)?1:parseInt(a_value)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.shuffle=function(array){var j,x,i;for(i=array.length-1;i>0;i--)j=Math.floor(Math.random()*(i+1)),x=array[i],array[i]=array[j],array[j]=x;return array},exports.isNumeric=function(value){return!isNaN(parseFloat(value))&&isFinite(value)},exports.isObject=function(value){return value instanceof Object&&value.constructor===Object}),upgradeSpotifyPlaylistUris=(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;i0&&void 0!==arguments[0]?arguments[0]:["jaedb.github.io"],hostname=window.location.hostname;return hosts.includes(hostname)},exports.getIndexedRecords=function(index,uris){var records=[];!uris instanceof Array&&(uris=[uris]);for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null,smooth_scroll=arguments.length>1&&void 0!==arguments[1]&&arguments[1],main=document.getElementById("main");smooth_scroll||main.classList.remove("smooth-scroll"),target?document.getElementById(target).scrollIntoView():main.scrollTo(0,0),smooth_scroll||main.classList.add("smooth-scroll")},exports.upgradeSpotifyPlaylistUris=function(uris){var upgraded=[],_iteratorNormalCompletion22=!0,_didIteratorError22=!1,_iteratorError22=void 0;try{for(var _step22,_iterator22=uris[Symbol.iterator]();!(_iteratorNormalCompletion22=(_step22=_iterator22.next()).done);_iteratorNormalCompletion22=!0){var uri=_step22.value;uri.includes("spotify:user:")&&(uri=uri.replace(/spotify:user:([^:]*?):/i,"spotify:")),upgraded.push(uri)}}catch(err){_didIteratorError22=!0,_iteratorError22=err}finally{try{!_iteratorNormalCompletion22&&_iterator22.return&&_iterator22.return()}finally{if(_didIteratorError22)throw _iteratorError22}}return upgraded}),upgradeSpotifyPlaylistUri=exports.upgradeSpotifyPlaylistUri=function(uri){return upgradeSpotifyPlaylistUris([uri])[0]}},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__createStore__=__webpack_require__(74),__WEBPACK_IMPORTED_MODULE_1__combineReducers__=__webpack_require__(134),__WEBPACK_IMPORTED_MODULE_2__bindActionCreators__=__webpack_require__(135),__WEBPACK_IMPORTED_MODULE_3__applyMiddleware__=__webpack_require__(136),__WEBPACK_IMPORTED_MODULE_4__compose__=__webpack_require__(78);__webpack_require__(77);__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,exports,__webpack_require__){"use strict";function setWindowTitle(){return{type:"SET_WINDOW_TITLE",title:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,play_state:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}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 removeContextMenu(){return{type:"REMOVE_CONTEXT_MENU"}}function showTouchContextMenu(data){return{type:"SHOW_TOUCH_CONTEXT_MENU",data:data}}function hideTouchContextMenu(){return{type:"HIDE_TOUCH_CONTEXT_MENU"}}function removeTouchContextMenu(){return{type:"REMOVE_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 installPrompt(event){return{type:"INSTALL_PROMPT",event:event}}function createBrowserNotification(data){return{type:"BROWSER_NOTIFICATION",data:data}}function createNotification(data){return data.message&&(data.content=data.message),{type:"CREATE_NOTIFICATION",notification:Object.assign({key:helpers.generateGuid(),duration:5,type:"default",title:null,content:null,description:null,sticky:!1,closing:!1,render_content:!1},data)}}function closeNotification(key){return{type:"CLOSE_NOTIFICATION",key:key}}function removeNotification(key){return{type:"REMOVE_NOTIFICATION",key:key,manual:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}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 processFinishing(key){return{type:"PROCESS_FINISHING",key:key}}function processFinished(key){return{type:"PROCESS_FINISHED",key:key}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setWindowTitle=setWindowTitle,exports.setSelectedTracks=setSelectedTracks,exports.showContextMenu=showContextMenu,exports.setSlimMode=setSlimMode,exports.hideContextMenu=hideContextMenu,exports.removeContextMenu=removeContextMenu,exports.showTouchContextMenu=showTouchContextMenu,exports.hideTouchContextMenu=hideTouchContextMenu,exports.removeTouchContextMenu=removeTouchContextMenu,exports.lazyLoading=lazyLoading,exports.toggleSidebar=toggleSidebar,exports.dragStart=dragStart,exports.dragActive=dragActive,exports.dragEnd=dragEnd,exports.set=set,exports.installPrompt=installPrompt,exports.createBrowserNotification=createBrowserNotification,exports.createNotification=createNotification,exports.closeNotification=closeNotification,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.processFinishing=processFinishing,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,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__components_Provider__=__webpack_require__(115),__WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__=__webpack_require__(72),__WEBPACK_IMPORTED_MODULE_2__connect_connect__=__webpack_require__(119);__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 _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;i1&&void 0!==arguments[1]?arguments[1]:{},response_callback:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,error_callback:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}function connect(){return{type:"MOPIDY_CONNECT"}}function connecting(){return{type:"MOPIDY_CONNECTING"}}function disconnect(){return{type:"MOPIDY_DISCONNECT"}}function debug(call,value){return{type:"MOPIDY_DEBUG",call:call,value:value}}function restartStarted(){return{type:"MOPIDY_RESTART_STARTED"}}function restartFinished(){return{type:"MOPIDY_RESTART_FINISHED"}}function upgradeStarted(){return{type:"MOPIDY_UPGRADE_STARTED"}}function upgradeFinished(){return{type:"MOPIDY_UPGRADE_FINISHED"}}function localScanStarted(){return{type:"MOPIDY_LOCAL_SCAN_STARTED"}}function localScanFinished(){return{type:"MOPIDY_LOCAL_SCAN_FINISHED"}}function getPlayState(){return{type:"MOPIDY_GET_PLAY_STATE"}}function play(){return{type:"MOPIDY_PLAY"}}function pause(){return{type:"MOPIDY_PAUSE"}}function stop(){return{type:"MOPIDY_STOP"}}function next(){return{type:"MOPIDY_NEXT"}}function previous(){return{type:"MOPIDY_PREVIOUS"}}function getMute(){return{type:"MOPIDY_GET_MUTE"}}function setMute(mute){return{type:"MOPIDY_SET_MUTE",mute:mute}}function getVolume(){return{type:"MOPIDY_GET_VOLUME"}}function setVolume(volume){return{type:"MOPIDY_SET_VOLUME",volume:volume}}function getConsume(){return{type:"MOPIDY_GET_CONSUME"}}function setConsume(consume){return{type:"MOPIDY_SET_CONSUME",consume:consume}}function getRepeat(){return{type:"MOPIDY_GET_REPEAT"}}function setRepeat(repeat){return{type:"MOPIDY_SET_REPEAT",repeat:repeat}}function getRandom(){return{type:"MOPIDY_GET_RANDOM"}}function setRandom(random){return{type:"MOPIDY_SET_RANDOM",random:random}}function getTimePosition(){return{type:"MOPIDY_GET_TIME_POSITION"}}function setTimePosition(time_position){return{type:"MOPIDY_SET_TIME_POSITION",time_position:parseInt(time_position)}}function timePosition(time_position){return{type:"MOPIDY_TIME_POSITION",time_position:parseInt(time_position)}}function getUriSchemes(){return{type:"MOPIDY_GET_URI_SCHEMES"}}function getCurrentTrack(){return{type:"MOPIDY_GET_CURRENT_TRACK"}}function currentTrackLoaded(tl_track){return{type:"MOPIDY_CURRENT_TRACK_LOADED",tl_track:tl_track}}function getNextTrack(){return{type:"MOPIDY_GET_NEXT_TRACK"}}function clearCurrentTrack(){return{type:"CLEAR_CURRENT_TRACK"}}function getQueue(){return{type:"MOPIDY_GET_QUEUE"}}function changeTrack(tlid){return{type:"MOPIDY_CHANGE_TRACK",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,shuffle:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function playAlbum(uri){return{type:"MOPIDY_PLAY_ALBUM",uri:uri}}function removeTracks(tlids){return{type:"MOPIDY_REMOVE_TRACKS",tlids: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{type:"MOPIDY_CLEAR_TRACKLIST"}}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",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function clearLibraryArtists(){return{type:"MOPIDY_CLEAR_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",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function clearLibraryAlbums(){return{type:"MOPIDY_CLEAR_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{type:"MOPIDY_GET_QUEUE_HISTORY"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=set,exports.request=request,exports.connect=connect,exports.connecting=connecting,exports.disconnect=disconnect,exports.debug=debug,exports.restartStarted=restartStarted,exports.restartFinished=restartFinished,exports.upgradeStarted=upgradeStarted,exports.upgradeFinished=upgradeFinished,exports.localScanStarted=localScanStarted,exports.localScanFinished=localScanFinished,exports.getPlayState=getPlayState,exports.play=play,exports.pause=pause,exports.stop=stop,exports.next=next,exports.previous=previous,exports.getMute=getMute,exports.setMute=setMute,exports.getVolume=getVolume,exports.setVolume=setVolume,exports.getConsume=getConsume,exports.setConsume=setConsume,exports.getRepeat=getRepeat,exports.setRepeat=setRepeat,exports.getRandom=getRandom,exports.setRandom=setRandom,exports.getTimePosition=getTimePosition,exports.setTimePosition=setTimePosition,exports.timePosition=timePosition,exports.getUriSchemes=getUriSchemes,exports.getCurrentTrack=getCurrentTrack,exports.currentTrackLoaded=currentTrackLoaded,exports.getNextTrack=getNextTrack,exports.clearCurrentTrack=clearCurrentTrack,exports.getQueue=getQueue,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.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.clearLibraryArtists=clearLibraryArtists,exports.getArtist=getArtist,exports.getArtists=getArtists,exports.getAlbum=getAlbum,exports.getAlbums=getAlbums,exports.getLibraryAlbums=getLibraryAlbums,exports.clearLibraryAlbums=clearLibraryAlbums,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";(function($,global){function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){request(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){request(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().spotify.country,url+="&limit="+limit,url+="&offset="+offset,request(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){var playlists=[],_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=response.playlists.items[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var playlist=_step.value;playlists.push(Object.assign({},helpers.formatPlaylist(playlist),{can_edit:getState().spotify.me&&playlist.owner.id==getState().spotify.me.id,tracks_total:playlist.tracks.total}))}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}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.processFinishing("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().spotify.country,request(dispatch,getState,endpoint).then(function(response){var genres=[];if(genre_included){var available_genres=getState().spotify.genres;if(available_genres)for(var i=0;i0&&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?"playlists/"+helpers.getFromUri("playlistid",uri)+"/followers/contains?ids="+getState().spotify.me.id:"playlists/"+helpers.getFromUri("playlistid",uri)+"/followers"}request(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;i0&&(artist_ids+=","),artist_ids+=helpers.getFromUri("artistid",radio.seed_artists[i]);request(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;i0&&(track_ids+=","),track_ids+=helpers.getFromUri("trackid",radio.seed_tracks[i]);request(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(request(dispatch,getState,"me/top/artists?limit="+limit+"&time_range="+term),request(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,tunabilities=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(dispatch,getState){dispatch({type:"CLEAR_SPOTIFY_RECOMMENDATIONS"});for(var artists_ids=[],tracks_ids=[],genres=[],i=0;i1&&void 0!==arguments[1]&&arguments[1];return function(dispatch,getState){var artist={},requests=[request(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(request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/top-tracks?country="+getState().spotify.country).then(function(response){Object.assign(artist,response)},function(error){dispatch(coreActions.handleException("Could not load artist's top tracks",error))})),requests.push(request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/related-artists").then(function(response){dispatch(coreActions.artistsLoaded(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(coreActions.artistLoaded(artist)),full&&request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/albums?market="+getState().spotify.country).then(function(response){dispatch({type:"SPOTIFY_ARTIST_ALBUMS_LOADED",artist_uri:uri,data:response})},function(error){dispatch(coreActions.handleException("Could not load artist's albums",error))})})}}function getArtists(uris){return function(dispatch,getState){for(var ids="",i=0;i3&&void 0!==arguments[3]?arguments[3]:"GET",data=arguments.length>4&&void 0!==arguments[4]&&arguments[4],loader_key=helpers.generateGuid();return dispatch(uiActions.startLoading(loader_key,"spotify_"+endpoint)),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)),$.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__(9))},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;i2&&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,show_notification:!(arguments.length>3&&void 0!==arguments[3])||arguments[3]}}function debugResponse(response){return{type:"DEBUG",response:response}}function set(data){return{type:"CORE_SET",data:data}}function clearCurrentTrack(){return{type:"CLEAR_CURRENT_TRACK"}}function cachebustHttpStream(){return{type:"CACHEBUST_HTTP_STREAM"}}function loadTrack(uri){return{type:"LOAD_TRACK",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadAlbum(uri){return{type:"LOAD_ALBUM",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadArtist(uri){return{type:"LOAD_ARTIST",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadPlaylist(uri){return{type:"LOAD_PLAYLIST",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadUser(uri){return{type:"LOAD_USER",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadUserPlaylists(uri){return{type:"LOAD_USER_PLAYLISTS",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function trackLoaded(track){return tracksLoaded([track])}function tracksLoaded(tracks){return{type:"TRACKS_LOADED",tracks:tracks}}function artistLoaded(artist){return artistsLoaded([artist])}function artistsLoaded(artists){return{type:"ARTISTS_LOADED",artists:artists}}function albumLoaded(album){return albumsLoaded([album])}function albumsLoaded(albums){return{type:"ALBUMS_LOADED",albums:albums}}function playlistLoaded(playlist){return playlistsLoaded([playlist])}function playlistsLoaded(playlists){return{type:"PLAYLISTS_LOADED",playlists:playlists}}function userLoaded(user){return usersLoaded([user])}function usersLoaded(users){return{type:"USERS_LOADED",users:users}}function userPlaylistsLoaded(uri,playlists){return{type:"USER_PLAYLISTS_LOADED",uri:uri,playlists:playlists,more:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,total:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}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 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],image=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_SAVE_PLAYLIST",key:uri,name:name,description:""==description?null:description,image:image,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"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBroadcasts=getBroadcasts,exports.startSearch=startSearch,exports.handleException=handleException,exports.debugResponse=debugResponse,exports.set=set,exports.clearCurrentTrack=clearCurrentTrack,exports.cachebustHttpStream=cachebustHttpStream,exports.loadTrack=loadTrack,exports.loadAlbum=loadAlbum,exports.loadArtist=loadArtist,exports.loadPlaylist=loadPlaylist,exports.loadUser=loadUser,exports.loadUserPlaylists=loadUserPlaylists,exports.trackLoaded=trackLoaded,exports.tracksLoaded=tracksLoaded,exports.artistLoaded=artistLoaded,exports.artistsLoaded=artistsLoaded,exports.albumLoaded=albumLoaded,exports.albumsLoaded=albumsLoaded,exports.playlistLoaded=playlistLoaded,exports.playlistsLoaded=playlistsLoaded,exports.userLoaded=userLoaded,exports.usersLoaded=usersLoaded,exports.userPlaylistsLoaded=userPlaylistsLoaded,exports.loadedMore=loadedMore,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;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__(7),mopidyActions=__webpack_require__(6)}).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;i0&&(images=images[0]);var size="medium";if(this.props.size&&(size=this.props.size),images[size])return images[size]}return null}},{key:"render",value:function(){var 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&&image&&(zoom_icon=_react2.default.createElement(_Link2.default,{className:"zoom",to:global.baseURL+"image-zoom?url="+image},_react2.default.createElement(_Icon2.default,{name:"search"}))),_react2.default.createElement("div",{className:class_name},_react2.default.createElement("div",{className:"image loaded",style:{backgroundImage:'url("'+(image||__webpack_require__(262))+'")'}}),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)}).call(exports,__webpack_require__(9))},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__Router__=__webpack_require__(150);__webpack_require__.d(__webpack_exports__,"Router",function(){return __WEBPACK_IMPORTED_MODULE_0__Router__.a});var __WEBPACK_IMPORTED_MODULE_1__Link__=__webpack_require__(85);__webpack_require__.d(__webpack_exports__,"Link",function(){return __WEBPACK_IMPORTED_MODULE_1__Link__.a});var __WEBPACK_IMPORTED_MODULE_2__IndexLink__=__webpack_require__(158);__webpack_require__.d(__webpack_exports__,"IndexLink",function(){return __WEBPACK_IMPORTED_MODULE_2__IndexLink__.a});var __WEBPACK_IMPORTED_MODULE_3__withRouter__=__webpack_require__(159);__webpack_require__.d(__webpack_exports__,"withRouter",function(){return __WEBPACK_IMPORTED_MODULE_3__withRouter__.a});var __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__=__webpack_require__(160);__webpack_require__.d(__webpack_exports__,"IndexRedirect",function(){return __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__.a});var __WEBPACK_IMPORTED_MODULE_5__IndexRoute__=__webpack_require__(161);__webpack_require__.d(__webpack_exports__,"IndexRoute",function(){return __WEBPACK_IMPORTED_MODULE_5__IndexRoute__.a});var __WEBPACK_IMPORTED_MODULE_6__Redirect__=__webpack_require__(86);__webpack_require__.d(__webpack_exports__,"Redirect",function(){return __WEBPACK_IMPORTED_MODULE_6__Redirect__.a});var __WEBPACK_IMPORTED_MODULE_7__Route__=__webpack_require__(162);__webpack_require__.d(__webpack_exports__,"Route",function(){return __WEBPACK_IMPORTED_MODULE_7__Route__.a});var __WEBPACK_IMPORTED_MODULE_8__RouteUtils__=__webpack_require__(29);__webpack_require__.d(__webpack_exports__,"createRoutes",function(){return __WEBPACK_IMPORTED_MODULE_8__RouteUtils__.b});var __WEBPACK_IMPORTED_MODULE_9__RouterContext__=__webpack_require__(55);__webpack_require__.d(__webpack_exports__,"RouterContext",function(){return __WEBPACK_IMPORTED_MODULE_9__RouterContext__.a});var __WEBPACK_IMPORTED_MODULE_10__PropTypes__=__webpack_require__(57);__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__(163);__webpack_require__.d(__webpack_exports__,"match",function(){return __WEBPACK_IMPORTED_MODULE_11__match__.a});var __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__=__webpack_require__(90);__webpack_require__.d(__webpack_exports__,"useRouterHistory",function(){return __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__.a});var __WEBPACK_IMPORTED_MODULE_13__PatternUtils__=__webpack_require__(35);__webpack_require__.d(__webpack_exports__,"formatPattern",function(){return __WEBPACK_IMPORTED_MODULE_13__PatternUtils__.a});var __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__=__webpack_require__(168);__webpack_require__.d(__webpack_exports__,"applyRouterMiddleware",function(){return __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__.a});var __WEBPACK_IMPORTED_MODULE_15__browserHistory__=__webpack_require__(169);__webpack_require__.d(__webpack_exports__,"browserHistory",function(){return __WEBPACK_IMPORTED_MODULE_15__browserHistory__.a});var __WEBPACK_IMPORTED_MODULE_16__hashHistory__=__webpack_require__(172);__webpack_require__.d(__webpack_exports__,"hashHistory",function(){return __WEBPACK_IMPORTED_MODULE_16__hashHistory__.a});var __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__=__webpack_require__(87);__webpack_require__.d(__webpack_exports__,"createMemoryHistory",function(){return __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__.a})},function(module,exports,__webpack_require__){"use strict";function setPort(port){return{type:"PUSHER_SET_PORT",port:port}}function setUsername(username){var force=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"PUSHER_SET_USERNAME",username:username.replace(/[\W_]+/g,""),force:force}}function connect(){return{type:"PUSHER_CONNECT"}}function disconnect(){return{type:"PUSHER_DISCONNECT"}}function upgrade(){return{type:"PUSHER_UPGRADE"}}function reload(){return{type:"PUSHER_RELOAD"}}function restart(){return{type:"PUSHER_RESTART"}}function localScan(){return{type:"PUSHER_LOCAL_SCAN"}}function getConnections(){return{type:"PUSHER_GET_CONNECTIONS"}}function connectionAdded(connection){return{type:"PUSHER_CONNECTION_ADDED",connection:connection}}function connectionChanged(connection){return{type:"PUSHER_CONNECTION_CHANGED",connection:connection}}function connectionRemoved(connection){return{type:"PUSHER_CONNECTION_REMOVED",connection:connection}}function request(method){return{type:"PUSHER_REQUEST",method:method,params:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,response_callback:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,error_callback:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}function getConfig(){return{type:"PUSHER_GET_CONFIG"}}function getVersion(){return{type:"PUSHER_GET_VERSION"}}function deliverBroadcast(method,params){return{type:"PUSHER_DELIVER_BROADCAST",data:{method:method,params:params}}}function deliverMessage(recipient,method,params){return{type:"PUSHER_DELIVER_MESSAGE",data:{recipient:recipient,method:method,params:params}}}function getRadio(){return{type:"PUSHER_GET_RADIO"}}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 radioStarted(radio){return{type:"PUSHER_RADIO_STARTED",radio:radio}}function radioChanged(radio){return{type:"PUSHER_RADIO_CHANGED",radio:radio}}function radioStopped(){return{type:"PUSHER_RADIO_STOPPED"}}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 queueMetadataChanged(queue_metadata){return{type:"PUSHER_QUEUE_METADATA_CHANGED",queue_metadata: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}}function getCommands(){return{type:"PUSHER_GET_COMMANDS"}}function setCommand(command){return{type:"PUSHER_SET_COMMAND",command:command}}function removeCommand(id){return{type:"PUSHER_REMOVE_COMMAND",id:id}}function sendCommand(id){return{type:"PUSHER_SEND_COMMAND",id:id,notify:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function commandsUpdated(commands){return{type:"PUSHER_COMMANDS_UPDATED",commands:commands}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setPort=setPort,exports.setUsername=setUsername,exports.connect=connect,exports.disconnect=disconnect,exports.upgrade=upgrade,exports.reload=reload,exports.restart=restart,exports.localScan=localScan,exports.getConnections=getConnections,exports.connectionAdded=connectionAdded,exports.connectionChanged=connectionChanged,exports.connectionRemoved=connectionRemoved,exports.request=request,exports.getConfig=getConfig,exports.getVersion=getVersion,exports.deliverBroadcast=deliverBroadcast,exports.deliverMessage=deliverMessage,exports.getRadio=getRadio,exports.startRadio=startRadio,exports.updateRadio=updateRadio,exports.stopRadio=stopRadio,exports.radioStarted=radioStarted,exports.radioChanged=radioChanged,exports.radioStopped=radioStopped,exports.debug=debug,exports.getQueueMetadata=getQueueMetadata,exports.queueMetadataChanged=queueMetadataChanged,exports.addQueueMetadata=addQueueMetadata,exports.getCommands=getCommands,exports.setCommand=setCommand,exports.removeCommand=removeCommand,exports.sendCommand=sendCommand,exports.commandsUpdated=commandsUpdated},function(module,exports,__webpack_require__){module.exports=__webpack_require__(116)()},function(module,exports,__webpack_require__){!function(root,factory){module.exports=factory(__webpack_require__(0),__webpack_require__(14))}("undefined"!=typeof self&&self,function(__WEBPACK_EXTERNAL_MODULE_11__,__WEBPACK_EXTERNAL_MODULE_12__){return 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);i1?_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(configsOrTrackingId,options){if(options&&!0===options.testMode)_testMode=!0;else{if("undefined"==typeof window)return!1;(0,_loadGA2.default)(options)}return Array.isArray(configsOrTrackingId)?configsOrTrackingId.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(configsOrTrackingId,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)))),window.ga}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,title){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()");var extraFields={};if(title&&(extraFields.title=title),"function"==typeof ga&&(_gaCommand(trackerNames,"send",_extends({hitType:"pageview",page:path},extraFields)),_debug)){(0,_log2.default)("called ga('send', 'pageview', path);");var extraLog="";title&&(extraLog=" and title: "+title),(0,_log2.default)("with path: "+path+extraLog)}}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.testModeAPI=exports.OutboundLink=exports.plugin=void 0;var _extends=Object.assign||function(target){for(var i=1;i0&&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(options){!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=g,m.parentNode.insertBefore(a,m)}(window,document,"script",options&&options.gaAddress?options.gaAddress:"https://www.google-analytics.com/analytics.js","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";Object.defineProperty(exports,"__esModule",{value:!0});var gaCalls=exports.gaCalls=[];exports.default={calls:gaCalls,ga:function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];gaCalls.push([].concat(args))}}},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 _extends=Object.assign||function(target){for(var i=1;iExpr.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="";i1?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-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}];i1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:" "===tokens[i-2].type?"*":""})).replace(rtrim,"$1"),matcher,i0,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+~]|"+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?"�":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="",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="";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=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i2&&"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="","#"===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="",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;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;i1?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)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):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-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-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=isFunction(fns[tuple[4]])&&fns[tuple[4]];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&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&&(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,isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith)),tuples[1][3].add(resolve(0,newDefer,isFunction(onFulfilled)?onFulfilled:Identity)),tuples[2][3].add(resolve(0,newDefer,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[3-i][3].disable,tuples[0][2].lock,tuples[0][3].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()||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"===toType(key)){chainable=!0;for(i in key)access(elems,fn,i,key[i],!0,emptyGet,raw)}else if(void 0!==value&&(chainable=!0,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(;i1,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\x20\t\r\n\f]+)/i,rscriptType=/^$|^module$|\/(?:java|ecma)script/i,wrapMap={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_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="",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=1))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&("click"!==event.type||!0!==cur.disabled)){for(matchedHandlers=[],matchedSelectors={},i=0;i-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\x20\t\r\n\f]*)[^>]*)\/>/gi,rnoInnerhtml=/\s*$/g;jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1>")},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;i0&&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(;i1)}}),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){isFunction(props)?(callback=props,props=["*"]):props=props.match(rnothtmlwhite);for(var prop,index=0,length=props.length;index1)},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(isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if(classes=classesToArray(value),classes.length)for(;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(isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if(classes=classesToArray(value),classes.length)for(;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,isValidValue="string"===type||Array.isArray(value);return"boolean"==typeof stateVal&&isValidValue?stateVal?this.addClass(value):this.removeClass(value):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(isValidValue)for(i=0,self=jQuery(this),classNames=classesToArray(value);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,valueIsFunction,elem=this[0];{if(arguments.length)return valueIsFunction=isFunction(value),this.each(function(i){var val;1===this.nodeType&&(val=valueIsFunction?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-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})}),support.focusin="onfocusin"in window;var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,stopPropagationCallback=function(e){e.stopPropagation()};jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=lastElement=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&&!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();)lastElement=cur,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&&isFunction(elem[type])&&!isWindow(elem)&&(tmp=elem[ontype],tmp&&(elem[ontype]=null),jQuery.event.triggered=type,event.isPropagationStopped()&&lastElement.addEventListener(type,stopPropagationCallback),elem[type](),event.isPropagationStopped()&&lastElement.removeEventListener(type,stopPropagationCallback),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)}}),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=Date.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=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&&(s.processData||"string"==typeof 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 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]&&(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 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 htmlIsFunction=isFunction(html);return this.each(function(i){jQuery(this).wrapAll(htmlIsFunction?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.ontimeout=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=xhr.ontimeout=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("