diff --git a/mopidy_iris/static/app.js b/mopidy_iris/static/app.js index 1e3d6fdb..d16bd7e5 100644 --- a/mopidy_iris/static/app.js +++ b/mopidy_iris/static/app.js @@ -188341,8 +188341,16 @@ var Browse = /*#__PURE__*/function (_React$Component) { subdirectory.icons = ['/iris/assets/backgrounds/browse-itunes.jpg']; break; - case 'Soma FM': + case 'SomaFM': subdirectory.icons = ['/iris/assets/backgrounds/browse-somafm.jpg']; + break; + + case 'Jellyfin': + subdirectory.icons = ['/iris/assets/backgrounds/browse-jellyfin.jpg']; + break; + + case 'Podcasts': + subdirectory.icons = ['/iris/assets/backgrounds/browse-podcasts.jpg']; break; case 'Tidal': diff --git a/mopidy_iris/static/app.min.js b/mopidy_iris/static/app.min.js index 27920932..bd8deb31 100644 --- a/mopidy_iris/static/app.min.js +++ b/mopidy_iris/static/app.min.js @@ -138,4 +138,4 @@ function r(e){return"[object Object]"===Object.prototype.toString.call(e)}functi * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var r=n(0),i=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var a=Symbol.for;i=a("react.element"),t.Fragment=a("react.fragment")}var o=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s=Object.prototype.hasOwnProperty,c={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,a={},u=null,l=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(l=t.ref),t)s.call(t,r)&&!c.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:i,type:e,key:u,ref:l,props:a,_owner:o.current}}t.jsx=u,t.jsxs=u},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"FILE",(function(){return tr})),n.d(r,"URL",(function(){return nr})),n.d(r,"TEXT",(function(){return rr})),n.d(r,"HTML",(function(){return ir}));var i={};n.r(i),n.d(i,"FunctionToString",(function(){return zr})),n.d(i,"InboundFilters",(function(){return di}));var a=n(0),o=n.n(a),s=n(119),c=n.n(s),u=n(2),l=n(42),f=n(22);function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var n=0;n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function M(e,t){var n=void 0!==e.version?e.version:-1,r=(e.debug,void 0===e.stateReconciler?j:e.stateReconciler),i=e.getStoredState||C,a=void 0!==e.timeout?e.timeout:5e3,o=null,s=!1,c=!0,u=function(e){return e._persist.rehydrated&&o&&!c&&o.update(e),e};return function(l,f){var d=l||{},p=d._persist,h=L(d,["_persist"]);if("persist/PERSIST"===f.type){var m=!1,b=function(t,n){m||(f.rehydrate(e.key,t,n),m=!0)};if(a&&setTimeout((function(){!m&&b(void 0,new Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),a),c=!1,o||(o=x(e)),p)return I({},t(h,f),{_persist:p});if("function"!=typeof f.rehydrate||"function"!=typeof f.register)throw new Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return f.register(e.key),i(e).then((function(t){(e.migrate||function(e,t){return Promise.resolve(e)})(t,n).then((function(e){b(e)}),(function(e){b(void 0,e)}))}),(function(e){b(void 0,e)})),I({},t(h,f),{_persist:{version:n,rehydrated:!1}})}if("persist/PURGE"===f.type)return s=!0,f.result(function(e){var t=e.storage,n="".concat(void 0!==e.keyPrefix?e.keyPrefix:"persist:").concat(e.key);return t.removeItem(n,N)}(e)),I({},t(h,f),{_persist:p});if("persist/FLUSH"===f.type)return f.result(o&&o.flush()),I({},t(h,f),{_persist:p});if("persist/PAUSE"===f.type)c=!0;else if(f.type===E){if(s)return I({},h,{_persist:I({},p,{rehydrated:!0})});if(f.key===e.key){var y=t(h,f),v=f.payload,g=I({},!1!==r&&void 0!==v?r(v,l,y,e):y,{_persist:I({},p,{rehydrated:!0})});return u(g)}}if(!p)return t(l,f);var _=t(h,f);return _===h?l:u(I({},_,{_persist:p}))}}function U(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:H,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case k:return z({},e,{registry:[].concat(U(e.registry),[t.key])});case E:var n=e.registry.indexOf(t.key),r=U(e.registry);return r.splice(n,1),z({},e,{registry:r,bootstrapped:0===r.length});default:return e}};var V=n(32),Y=n.n(V);function G(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(i){return"function"==typeof i?i(n,r,e):t(i)}}}}var W=G();W.withExtraArgument=G;var K=W,Q=n(5),X=n(8);function J(e){return function(e){if(Array.isArray(e))return $(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return $(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function we(e){return function(e){if(Array.isArray(e))return ke(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Ee(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,t){if(e){if("string"==typeof e)return ke(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ke(e,t):void 0}}function ke(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0)return t.dispatch(Fe.setLoading(f,!0)),void a();t.dispatch(Fe.restoreItemsFromColdStore([e]));var n=g(e);if(n.length>0){var r=n.map((function(e){return Y.a.getItem(e)}));Promise.all(r).then((function(e){t.dispatch(Fe.restoreItemsFromColdStore(Object(ne.compact)(e)))}))}}))},Ve=n(14),Ye=n(1);function Ge(e){return function(e){if(Array.isArray(e))return We(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return We(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return We(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function We(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},r=e.getState(),i=r.core,a=r.ui,s=a.allow_reporting,c=a.log_actions,u=(r.mopidy,r.spotify);if(window.localForage=Y.a,window._store=e,c){var l=["START_LOADING","STOP_LOADING"];l.includes(n.type)}switch(n.type){case"HANDLE_EXCEPTION":var f=e.getState(),d={core:Xe({},f.core),ui:Xe({},f.ui),spotify:Xe({},f.spotify),mopidy:Xe({},f.mopidy),pusher:Xe({},f.pusher)},p=n.message,h=n.description;if(!h)if(n.data.xhr&&n.data.xhr.responseText){var m=JSON.parse(n.data.xhr.responseText);m.error&&m.error.message&&(h=m.error.message)}else n.data.xhr&&(h="".concat(n.data.xhr.status," ").concat(n.data.xhr.statusText));delete d.core.albums,delete d.core.artists,delete d.core.playlists,delete d.core.users,delete d.core.queue_metadata,delete d.core.current_tracklist,delete d.spotify.library_albums,delete d.spotify.library_artists,delete d.spotify.library_playlists,delete d.spotify.autocomplete_results,delete d.mopidy.library_albums,delete d.mopidy.library_artists,delete d.mopidy.library_playlists;var b=Xe(Xe({},n.data),{},{message:p,description:h,state:d});s&&Re.a.event({category:"Error",action:p,label:h,nonInteraction:!0}),n.show_notification&&e.dispatch(Ze.createNotification({content:p,level:"error",description:h})),console.error(p,h,b);break;case"UNSUPPORTED_ACTION":e.dispatch(Object(Ve.handleException)("Action failed (".concat(n.name,")"),{description:"Not supported on this type of object"}));break;case"PLAY_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Play",label:n.uri}),t(n);break;case"SAVE_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Save",label:n.key}),t(n);break;case"CREATE_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Create",label:+n.name}),t(n);break;case"REORDER_PLAYLIST_TRACKS":s&&Re.a.event({category:"Playlist",action:"Reorder tracks",label:n.key}),t(n);break;case"ADD_PLAYLIST_TRACKS":s&&Re.a.event({category:"Playlist",action:"Add tracks",label:n.playlist_uri}),t(n);break;case"REMOVE_PLAYLIST_TRACKS":s&&Re.a.event({category:"Playlist",action:"Remove tracks",label:n.playlist_uri}),t(n);break;case"DELETE_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Delete",label:n.uri}),t(n);break;case"START_SEARCH":var y=n.query,v=e.getState(),g=v.ui,_=g.allow_reporting,w=g.uri_schemes_search_enabled,E=void 0===w?[]:w,k=g.search_settings;_&&Re.a.event({category:"Search",action:"Started",label:"".concat(y.type,": ").concat(y.term)}),t(n),E.includes("spotify:")&&(k&&!k.spotify||e.dispatch(tt.getSearchResults(y))),e.dispatch(et.getSearchResults(y,100,E.filter((function(e){return"spotify:"!==e}))));break;case"SEARCH_RESULTS_LOADED":var O=n.query,S=O.term,A=O.type,j=n.resultType,x=n.results,T=e.getState(),C=T.core,P=(C=void 0===C?{}:C).search_results,N=(P=void 0===P?{}:P).query,D=(N=void 0===N?{}:N).term,I=N.type,R=Ke(P,["query"]),L=Xe({query:{term:S,type:A}},S===D&&A===I?R:{});L[j]=[].concat(Ge(L[j]||[]),Ge(x)),t(Xe(Xe({},n),{},{search_results:L}));break;case"PLAYLIST_TRACKS_ADDED":var M=n.key,U=n.tracks_uris,F=e.getState(),z=F.core.items[M];switch(e.dispatch(Ze.createNotification({content:o.a.createElement(Ye.a,{path:"actions.added_tracks_to",count:U.length,contentAfter:!0},o.a.createElement(Le.a,{type:"playlist",uri:M},z?z.name:"playlist"))})),Object(Q.p)(M)){case"spotify":e.dispatch(tt.getPlaylist(M,{}));break;case"m3u":e.dispatch(et.getPlaylist(M,{}))}t(n);break;case"PLAYLIST_TRACKS_REORDERED":var B=n.key,H=n.snapshot_id,q=n.insert_before,V=Xe({},i.items[B]),G=Object.assign([],V.tracks);q>n.range_start&&(q-=n.range_length);var W=G.splice(n.range_start,n.range_length);W.reverse();for(var K=0;Ke.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(a,o){var s=Object(Q.a)(),c={jsonrpc:"2.0",id:s,method:n};i&&(c.params=i),e.getState().ui.log_pusher&&console.log("Pusher log (outgoing)",c),t.send(JSON.stringify(c)),e.dispatch(bt.startLoading(s,"pusher_".concat(n))),setTimeout((function(){e.dispatch(bt.stopLoading(s)),o({id:s,code:32300,message:"Request timed out"})}),3e4),r[s]={resolve:a,reject:o}}))};return function(a){return function(o){return function(s){var c=a.getState().pusher;switch(s.type){case"PUSHER_CONNECT":null!=t&&t.close(),clearTimeout(n),a.dispatch({type:"PUSHER_CONNECTING"});var u=a.getState().mopidy,l=u.host,f=u.port,d=u.ssl,p="ws".concat(d||"https:"===window.location.protocol?"s":"","://");p+="".concat(l,":").concat(f,"/iris/ws/"),(t=new WebSocket(p)).onopen=function(){a.dispatch({type:"PUSHER_CONNECTED"})},t.onclose=function(e){a.dispatch({type:"PUSHER_DISCONNECTED"}),n=setTimeout((function(){a.dispatch(yt.connect())}),5e3)},t.onerror=function(e){1===t.readyState&&a.dispatch(mt.handleException("Pusher websocket error",e,e.type))},t.onmessage=function(e){!function(e,t,n){t.getState().ui.log_pusher&&console.log("Pusher log (incoming)",n);var i=null;if(n.id?i=n.id:n.error&&n.error.id&&(i=n.error.id),i)void 0!==r[i]?(t.dispatch(bt.stopLoading(i)),void 0!==n.error?r[i].reject(n.error):r[i].resolve(n.result)):t.dispatch(mt.handleException("Pusher: Response received with no matching request",n));else if(void 0!==n.error)t.dispatch(mt.handleException("Pusher: ".concat(n.error.message),n,void 0!==n.error.data&&void 0!==n.error.data.description?n.error.data.description:null));else{var a=n.params?n.params:{};switch(n.method){case"connection_added":t.dispatch(yt.connectionAdded(a.connection));break;case"connection_changed":t.dispatch(yt.connectionChanged(a.connection));break;case"connection_removed":t.dispatch(yt.connectionRemoved(a.connection));break;case"queue_metadata_changed":t.dispatch(yt.queueMetadataChanged(a.queue_metadata));break;case"spotify_token_changed":t.dispatch(_t.tokenChanged(a.spotify_token));break;case"share_config_received":t.dispatch(bt.openModal("import-config",{context:"pushed",config:a}));break;case"shared_config_changed":t.dispatch(yt.sharedConfig(a.shared_config));break;case"notification":t.dispatch(bt.createNotification(a.notification));break;case"radio_started":t.dispatch(yt.radioStarted(a.radio));break;case"radio_changed":t.dispatch(yt.radioChanged(a.radio));break;case"radio_stopped":t.dispatch(yt.radioStopped());break;case"commands_changed":t.dispatch(yt.commandsUpdated(a.commands));break;case"pinned_changed":t.dispatch(yt.pinnedUpdated(a.pinned));break;case"reload":window.location.reload(!0);break;case"local_scan_started":t.dispatch(bt.updateProcess("local_scan",{content:"Scanning local library"}));break;case"local_scan_updated":t.dispatch(bt.updateProcess("local_scan",{content:"Scanning local library",data:{},description:a.output}));break;case"local_scan_finished":t.dispatch(bt.processFinished("local_scan",{content:"Local scan finished",description:a.output,sticky:!0}));break;case"local_scan_error":t.dispatch(bt.processFinished("local_scan",{level:"error",content:"Local scan failed",description:a.error,sticky:!0}));break;case"upgrade_started":t.dispatch(bt.updateProcess("upgrade",{content:"Upgrading"}));break;case"upgrade_updated":t.dispatch(bt.updateProcess("upgrade",{content:"Upgrading",data:{},description:a.output}));break;case"upgrade_finished":t.dispatch(bt.updateProcess("upgrade",{content:"Restarting to complete upgrade"}));break;case"upgrade_error":t.dispatch(bt.processFinished("upgrade",{level:"error",content:"Upgrade failed",description:a.error,sticky:!0}));break;case"restart_started":t.dispatch(bt.removeProcess("upgrade",{content:"Restarting"}));break;case"restart_updated":t.dispatch(bt.updateProcess("upgrade",{content:"Restarting",data:{},description:a.output}));break;case"restart_error":t.dispatch(bt.processFinished("upgrade",{level:"error",content:"Restart failed",description:a.error,sticky:!0}));break;case"test_started":t.dispatch(bt.updateProcess("test",{content:"Running test",data:{},description:a.output}));break;case"test_updated":t.dispatch(bt.updateProcess("test",{content:"Running test"}));break;case"test_finished":t.dispatch(bt.processFinished("test",{content:"Test finished",description:a.output,sticky:!0}));break;case"test_error":t.dispatch(bt.removeProcess("test",{level:"error",content:a.message,description:a.error}))}}}(0,a,JSON.parse(e.data))};break;case"PUSHER_CONNECTED":a.getState().ui.allow_reporting&&Re.a.event({category:"Pusher",action:"Connected",label:s.username}),clearTimeout(n),a.dispatch(yt.updateConnection()),a.dispatch(yt.getConfig()),a.dispatch(yt.getSharedConfig()),a.dispatch(yt.getRadio()),a.dispatch(yt.getCommands()),a.dispatch(yt.getPinned()),a.dispatch(yt.getQueueMetadata()),setTimeout((function(){a.dispatch(yt.getVersion())}),500),o(s);break;case"PUSHER_REQUEST":i(a,s.method,s.params).then((function(t){s.response_callback&&s.response_callback.call(e,t)}),(function(t){s.error_callback?s.error_callback.call(e,t):a.dispatch(mt.handleException("Pusher request failed",t,s.method,s))}));break;case"PUSHER_DELIVER_MESSAGE":i(a,"send_message",s.data).then((function(e){a.dispatch(bt.createNotification({content:"Message delivered"}))}),(function(e){a.dispatch(mt.handleException("Could not deliver message",e))}));break;case"PUSHER_DELIVER_BROADCAST":i(a,"broadcast",s.data);break;case"PUSHER_SET_USERNAME":a.dispatch(yt.updateConnection({username:s.username})),o(s);break;case"PUSHER_UPDATE_CONNECTION":var h=pt({username:a.getState().pusher.username,client_id:a.getState().pusher.client_id},s.connection?s.connection:{});i(a,"update_connection",h).then((function(e){e.type="PUSHER_CONNECTION_UPDATED",a.dispatch(e)}),(function(e){a.dispatch(mt.handleException("Could not update connection",e))})),o(s);break;case"PUSHER_GET_QUEUE_METADATA":i(a,"get_queue_metadata").then((function(e){e.type="PUSHER_QUEUE_METADATA",a.dispatch(e)}),(function(e){a.dispatch(mt.handleException("Could not load queue metadata",e))}));break;case"PUSHER_ADD_QUEUE_METADATA":i(a,"add_queue_metadata",{tlids:s.tlids,added_from:s.from_uri,added_by:c.username});break;case"PUSHER_GET_VERSION":i(a,"get_version").then((function(e){a.dispatch({type:"PUSHER_VERSION",version:e.version})}),(function(e){a.dispatch(mt.handleException("Could not load version",e))}));break;case"PUSHER_GET_CONFIG":i(a,"get_config").then((function(e){a.dispatch({type:"PUSHER_CONFIG",config:e.config})}),(function(e){a.dispatch(mt.handleException("Could not load config",e))}));break;case"PUSHER_GET_SHARED_CONFIG":i(a,"get_shared_config").then((function(e){a.dispatch({type:"PUSHER_SHARED_CONFIG",shared_config:e.shared_config})}),(function(e){a.dispatch(mt.handleException("Could not load shared config",e))}));break;case"PUSHER_SET_SHARED_CONFIG":var m=s.shared_config;i(a,"set_shared_config",{shared_config:m}).then((function(){}),(function(e){a.dispatch(mt.handleException("Could not share to server",e))})),o(s);break;case"PUSHER_GET_CONNECTIONS":i(a,"get_connections").then((function(e){a.dispatch({type:"PUSHER_CONNECTIONS",connections:e.connections})}),(function(e){a.dispatch(mt.handleException("Could not load connections",e))})),o(s);break;case"PUSHER_GET_PINNED":i(a,"get_pinned").then((function(e){a.dispatch(yt.pinnedUpdated(e.pinned))}),(function(e){})),o(s);break;case"PUSHER_ADD_PINNED":a.dispatch(yt.setPinned([].concat(lt(c.pinned),[s.item]))),a.dispatch(mt.itemLoaded({uri:s.item.uri,is_pinned:!0}));break;case"PUSHER_SET_PINNED":i(a,"set_pinned",{pinned:s.pinned}).then((function(e){}),(function(e){a.dispatch(mt.handleException("Could not pin URI",e))})),o(s);break;case"PUSHER_REMOVE_PINNED":var b=c.pinned.filter((function(e){return e.uri!==s.uri}));a.dispatch(mt.itemLoaded({uri:s.uri,is_pinned:!1})),i(a,"set_pinned",{pinned:b}).then((function(e){}),(function(e){a.dispatch(mt.handleException("Could not unpin URI",e))})),o(s);break;case"PUSHER_GET_COMMANDS":i(a,"get_commands").then((function(e){a.dispatch(yt.commandsUpdated(e.commands))}),(function(){})),o(s);break;case"PUSHER_SET_COMMAND":var y=pt(pt({},c.commands),{},ht({},s.command.id,pt(pt({},c.commands[s.command.id]||{}),s.command)));a.dispatch(yt.setCommands(y));break;case"PUSHER_SET_COMMANDS":i(a,"set_commands",{commands:s.commands}).then((function(){}),(function(e){a.dispatch(mt.handleException("Could not set commands",e))})),o(s);break;case"PUSHER_REMOVE_COMMAND":var v=pt({},c.commands);delete v[s.id],i(a,"set_commands",{commands:v}).then((function(){}),(function(e){a.dispatch(mt.handleException("Could not remove command",e))})),o(s);break;case"PUSHER_RUN_COMMAND":var g="command_".concat(s.id);s.notify&&a.dispatch(bt.startProcess(g,{content:"Running command"})),i(a,"run_command",{id:s.id}).then((function(){a.dispatch(bt.removeProcess(g)),s.notify&&a.dispatch(bt.createNotification({key:g,content:"Command sent"}))}),(function(e){a.dispatch(bt.removeProcess(g)),a.dispatch(mt.handleException("Could not run command",e))}));break;case"PUSHER_GET_RADIO":i(a,"get_radio").then((function(e){a.dispatch({type:"PUSHER_RADIO_LOADED",radio:e.radio}),e.radio.enabled&&a.dispatch(_t.resolveRadioSeeds(e.radio))}),(function(e){a.dispatch(mt.handleException("Could not load radio",e))}));break;case"PUSHER_START_RADIO":case"PUSHER_UPDATE_RADIO":Object(ut.a)({category:"Pusher",action:"Start radio",label:s.uris.join()}),a.dispatch(bt.startProcess(s.type,{content:"".concat("PUSHER_UPDATE_RADIO"===s.type?"Updating":"Starting"," radio")}));for(var _={reset:"PUSHER_START_RADIO"===s.type,seed_artists:[],seed_genres:[],seed_tracks:[]},w=0;we.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(i,a){var o,s=Object(Q.a)(),c="mopidy_".concat(n,"_").concat((null==r?void 0:r.uri)||"","_").concat((null==r||null===(o=r.uris)||void 0===o?void 0:o.join("_"))||"");e.dispatch(Dt.startLoading(s,c));var u=function(){var o=zt(n,t);if(o){var c=setTimeout((function(){e.dispatch(Dt.stopLoading(s)),a(new Error("Request timed out"))}),3e4);o(r).then((function(t){clearTimeout(c),e.dispatch(Dt.stopLoading(s)),i(t)}),(function(t){clearTimeout(c),e.dispatch(Dt.stopLoading(s)),a(t)}))}else e.dispatch(Dt.stopLoading(s)),console.warn("Mopidy request aborted. Either Mopidy is not connected or the request method is invalid. Check the request and your server settings.",{call:n,value:r,socket:t,controller:o})};t&&e.getState().mopidy.connected?u():setTimeout((function(){return u()}),2e3)}))};return function(i){return function(a){return function(o){switch(o.type){case"MOPIDY_CONNECT":null!=t&&t.close(),i.dispatch({type:"MOPIDY_CONNECTING"});var s=i.getState().mopidy,c=s.ssl,u=s.host,l=s.port;try{t=new kt.a({webSocketUrl:"ws".concat(c?"s":"","://").concat(u,":").concat(l,"/mopidy/ws/"),callingConvention:"by-position-or-by-name"})}catch(e){console.error(e);break}t.on((function(e,t){return function(e,t,r,i){switch(t.getState().ui.log_mopidy,r){case"state:online":t.dispatch({type:"MOPIDY_CONNECTED"}),t.dispatch(Pt.getCurrentTrack()),t.dispatch(Pt.getPlayState()),t.dispatch(Pt.getVolume()),t.dispatch(Pt.getMute()),t.dispatch(Pt.getConsume()),t.dispatch(Pt.getRandom()),t.dispatch(Pt.getRepeat()),t.dispatch(Pt.getQueue()),t.dispatch(Pt.getTimePosition()),t.dispatch(Pt.getUriSchemes()),t.dispatch(Pt.getStreamTitle()),n=setInterval((function(){"playing"===t.getState().mopidy.play_state&&!0===t.getState().ui.window_focus&&t.dispatch(Pt.getTimePosition())}),1e4);break;case"state:offline":t.dispatch({type:"MOPIDY_DISCONNECTED"}),t.dispatch(Pt.clearCurrentTrack()),clearInterval(n);break;case"event:tracklistChanged":t.dispatch(Pt.getQueue()),setTimeout((function(){t.dispatch(Pt.getNextTrack())}),1e3);break;case"event:playbackStateChanged":t.dispatch({type:"MOPIDY_PLAY_STATE",play_state:i.new_state}),t.dispatch(Pt.getTimePosition());break;case"event:seeked":t.dispatch({type:"MOPIDY_TIME_POSITION",time_position:i.time_position});break;case"event:trackPlaybackEnded":t.dispatch(Pt.clearCurrentTrack()),t.dispatch({type:"MOPIDY_TIME_POSITION",time_position:0});break;case"event:trackPlaybackStarted":i.tl_track&&(t.dispatch(Pt.currentTrackLoaded(i.tl_track)),setTimeout((function(){t.dispatch(Pt.getNextTrack())}),1e3));break;case"event:volumeChanged":t.dispatch({type:"MOPIDY_VOLUME",volume:i.volume});break;case"event:muteChanged":t.dispatch({type:"MOPIDY_MUTE",mute:i.mute});break;case"event:optionsChanged":t.dispatch(Pt.getConsume()),t.dispatch(Pt.getRandom()),t.dispatch(Pt.getRepeat());break;case"event:streamTitleChanged":t.dispatch(Nt.streamTitleChanged(i.title))}}(0,i,e,t)}));break;case"MOPIDY_CONNECTED":i.getState().ui.allow_reporting&&Re.a.event({category:"Mopidy",action:"Connected",label:Object(Ot.sha256)(window.location.hostname)}),a(o);break;case"MOPIDY_DISCONNECT":null!=t&&t.close(),t=null,i.dispatch({type:"MOPIDY_DISCONNECTED"});break;case"MOPIDY_DISCONNECTED":Object(Q.j)("favicon_error.png");break;case"MOPIDY_DEBUG":r(i,o.call,o.value).then((function(e){i.dispatch({type:"DEBUG",response:e})}));break;case"MOPIDY_UPDATE_SERVER":var f=i.getState().mopidy.servers,d=Tt(Tt({},f[o.server.id]||{}),o.server);d.url="http".concat(d.ssl?"s":"","://").concat(d.host,":").concat(d.port),i.dispatch(Pt.updateServers(Tt(Tt({},f),{},Ct({},d.id,d))));break;case"MOPIDY_SET_CURRENT_SERVER":var p,h=o.server,m=i.getState().mopidy.servers,b=null;if(!(b=o.server.id?m[o.server.id]||void 0:Object(ne.find)(m,(function(e){return e.url===h.url})))){var y=Pt.addServer(h);i.dispatch(y),b=y.server}i.dispatch(Pt.set({current_server:h.id||(null===(p=b)||void 0===p?void 0:p.id),host:h.host,port:h.port,ssl:h.ssl,connected:!1,connecting:!1})),setTimeout((function(){i.dispatch(Pt.connect()),i.dispatch(Rt.connect())}),250),a(o);break;case"MOPIDY_GET_SERVER_STATE":var v=Tt({},i.getState().mopidy.servers[o.id]);if(!v.host||!v.port||""===v.host||""===v.port)break;var g="http".concat(v.ssl?"s":"","://").concat(v.host,":").concat(v.port);fetch("".concat(g,"/iris/http/get_server_state")).then((function(e){return e.json()})).then((function(e){var t=e.result;if(v=Tt(Tt({},v),t),t.current_track){var n=t.current_track.images?Object(ge.n)(Object(ge.c)(v,t.current_track.images)):null;v.current_track=Object(ge.r)(Tt(Tt({},t.current_track),{},{images:n}))}i.dispatch(Pt.updateServer(v))})).catch((function(e){i.dispatch(Nt.handleException("Could not fetch server",e,g,!1))}));break;case"MOPIDY_REMOVE_SERVER":var _=Tt({},i.getState().mopidy.servers);delete _[o.id],i.dispatch(Pt.updateServers(_));break;case"SET_WINDOW_FOCUS":a(o);break;case"MOPIDY_REQUEST":r(i,o.method,o.params).then((function(e){o.response_callback&&o.response_callback(e)}),(function(e){o.error_callback?o.error_callback(e):i.dispatch(Nt.handleException("Mopidy request failed",e,o.method,o))}));break;case"MOPIDY_PLAY_STATE":i.dispatch(Dt.setWindowTitle(null,o.play_state)),"playing"==o.play_state?Object(Q.j)("favicon.png"):Object(Q.j)("favicon_paused.png"),a(o);break;case"MOPIDY_GET_PLAY_STATE":r(i,"playback.getState").then((function(e){i.dispatch({type:"MOPIDY_PLAY_STATE",play_state:e})}));break;case"MOPIDY_PLAY":r(i,"playback.play").then((function(e){i.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"playing"})})),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username+("paused"==i.getState().mopidy.play_state?" resumed":" started")," playback"),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}));break;case"MOPIDY_PAUSE":r(i,"playback.pause").then((function(e){i.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"paused"}),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," paused playback"),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}))}));break;case"MOPIDY_PREVIOUS":i.dispatch(Dt.setCurrentTrackTransition("previous")),r(i,"playback.previous");break;case"MOPIDY_NEXT":i.dispatch(Dt.setCurrentTrackTransition("next")),r(i,"playback.next").then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username,' skipped "').concat(i.getState().core.current_track.name,'"'),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}))}));break;case"MOPIDY_STOP":r(i,"playback.stop").then((function(e){i.dispatch(Pt.clearCurrentTrack()),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," stopped playback"),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}))}));break;case"MOPIDY_CHANGE_TRACK":r(i,"playback.play",{tlid:o.tlid}).then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," changed track")}}))}));break;case"MOPIDY_REMOVE_TRACKS":r(i,"tracklist.remove",{criteria:{tlid:o.tlids}}).then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," removed ").concat(o.tlids.length," tracks")}}))}));break;case"MOPIDY_GET_REPEAT":r(i,"tracklist.getRepeat").then((function(e){i.dispatch({type:"MOPIDY_REPEAT",repeat:e})}));break;case"MOPIDY_SET_REPEAT":r(i,"tracklist.setRepeat",[o.repeat]);break;case"MOPIDY_GET_RANDOM":r(i,"tracklist.getRandom").then((function(e){i.dispatch({type:"MOPIDY_RANDOM",random:e})}));break;case"MOPIDY_SET_RANDOM":r(i,"tracklist.setRandom",[o.random]);break;case"MOPIDY_GET_CONSUME":r(i,"tracklist.getConsume").then((function(e){i.dispatch({type:"MOPIDY_CONSUME",consume:e})}));break;case"MOPIDY_SET_CONSUME":r(i,"tracklist.setConsume",[o.consume]);break;case"MOPIDY_GET_MUTE":r(i,"mixer.getMute").then((function(e){i.dispatch({type:"MOPIDY_MUTE",mute:e})}));break;case"MOPIDY_SET_MUTE":r(i,"mixer.setMute",[o.mute]).then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username+(o.mute?" muted":" unmuted")," playback")}}))}));break;case"MOPIDY_GET_VOLUME":r(i,"mixer.getVolume").then((function(e){i.dispatch({type:"MOPIDY_VOLUME",volume:e})}));break;case"MOPIDY_SET_VOLUME":r(i,"mixer.setVolume",{volume:o.volume}).then((function(e){i.dispatch({type:"MOPIDY_VOLUME",volume:o.volume})}));break;case"MOPIDY_SET_TIME_POSITION":r(i,"playback.seek",{time_position:o.time_position}).then((function(e){i.dispatch({type:"MOPIDY_TIME_POSITION",time_position:o.time_position})}));break;case"MOPIDY_GET_TIME_POSITION":r(i,"playback.getTimePosition").then((function(e){i.dispatch({type:"MOPIDY_TIME_POSITION",time_position:e})}));break;case"MOPIDY_GET_URI_SCHEMES":r(i,"getUriSchemes").then((function(e){var t=["http","https","mms","rtmp","rtmps","rtsp","sc","yt"],n=e.filter((function(e){return-1===t.indexOf(e)}));n=n.map((function(e){return"".concat(e,":")})),i.dispatch(It.set({enabled:n.includes("spotify:")})),i.dispatch(Lt.set({enabled:n.includes("gmusic:")})),void 0===i.getState().ui.uri_schemes_search_enabled&&i.dispatch(Dt.set({uri_schemes_search_enabled:n})),i.dispatch({type:"MOPIDY_URI_SCHEMES",uri_schemes:n})}));break;case"MOPIDY_PLAY_PLAYLIST":console.debug(o);var w=i.getState().core.items[o.uri],E=Object(St.d)(i.getState(),"playlist_tracks"),k=E.sortField,O=E.sortReverse;if(w&&w.tracks){i.dispatch(Pt.playURIs(Tt({uris:Object(X.b)("uri",Object(X.g)(w.tracks.filter((function(e){return!1!==(null==e?void 0:e.is_playable)})),k,O)),from:{uri:null==w?void 0:w.uri,name:null==w?void 0:w.name,type:"playlist"}},o)));break}i.dispatch(Nt.loadPlaylist(o.uri,{full:!0,callbackAction:{name:"play",shuffle:o.shuffle}}));break;case"MOPIDY_PLAY_ALBUM":var S=i.getState().core.items[o.uri],A=Object(St.d)(i.getState(),"playlist_tracks"),j=A.sortField,x=A.sortReverse;if(S&&S.tracks){i.dispatch(Pt.playURIs(Tt({uris:Object(X.b)("uri",Object(X.g)(S.tracks.filter((function(e){return!1!==(null==e?void 0:e.is_playable)})),j,x)),from:{uri:null==S?void 0:S.uri,name:null==S?void 0:S.name,type:"album"}},o)));break}i.dispatch(Nt.loadAlbum(o.uri,{full:!0,callbackAction:{name:"play",shuffle:o.shuffle}}));break;case"MOPIDY_ENQUEUE_PLAYLIST":var T=i.getState().core.items[o.uri];if(T&&T.tracks){i.dispatch(Pt.enqueueURIs(Tt({uris:Object(X.b)("uri",T.tracks)},o)));break}i.dispatch(Nt.loadPlaylist(o.uri,!1,Tt({name:"enqueue"},o)));break;case"MOPIDY_ENQUEUE_ALBUM":var C=i.getState().core.items[o.uri];if(C&&C.tracks){i.dispatch(Pt.enqueueURIs(Tt({uris:Object(X.b)("uri",C.tracks)},o)));break}i.dispatch(Nt.loadAlbum(o.uri,!1,Tt({name:"enqueue"},o)));break;case"MOPIDY_ENQUEUE_URIS":if(!o.uris||o.uris.length<=0){e.props.uiActions.createNotification({content:"No URIs to enqueue",level:"warning"});break}var P=o.uris.length,N=o.at_position;if(o.play_next){var D=i.getState().core,I=D.current_track,R=D.queue;if(I)for(var L=0;L0){i.dispatch(Pt.changeTrack(e[0].tlid));for(var t=[],n=0;n0&&setTimeout((function(){i.dispatch(Pt.enqueueURIs({uris:F,at_position:1,from:U}))}),100)}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Adding tracks failed"),e))}));break;case"MOPIDY_REORDER_TRACKLIST":r(i,"tracklist.move",{start:o.range_start,end:o.range_start+o.range_length,to_position:o.insert_before}).then((function(){}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Reorder failed"),e))}));break;case"MOPIDY_CLEAR_TRACKLIST":r(i,"tracklist.clear").then((function(){i.dispatch(Nt.clearCurrentTrack()),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," cleared the playback queue")}}))}));break;case"MOPIDY_SHUFFLE_TRACKLIST":r(i,"tracklist.shuffle",{start:1}).then((function(){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," shuffled the playback queue")}}))}));break;case"MOPIDY_GET_SEARCH_RESULTS":var H=o.uri_schemes,q=void 0===H?[]:H,V=o.query,Y=void 0===V?{}:V,G="all"===Y.type?["artists","albums","tracks","playlists"]:[Y.type],W=[];q.forEach((function(e){return G.forEach((function(t){var n={type:Y.type,term:Y.term,requestType:t,uri_scheme:e,data:{uris:[e]}};switch(t){case"tracks":n.data.query={any:[Y.term]};break;case"artists":n.data.query={artist:[Y.term]};break;case"albums":n.data.query={album:[Y.term]};break;case"playlists":n.method="playlists.asList",n.data={}}W.push(n)}))})),W.length&&(i.dispatch(Dt.startProcess(o.type,{content:Object(Ye.b)("services.mopidy.searching"),total:W.length,remaining:W.length})),function e(t,n){var i=n.shift(),a=i.type,o=i.term,s=i.requestType,c=i.uri_scheme,u=i.method,l=void 0===u?"library.search":u,f=i.data,d="MOPIDY_GET_SEARCH_RESULTS",p=t.getState().ui.processes[d];if(p&&"cancelling"===p.status)t.dispatch(Dt.processCancelled("MOPIDY_GET_SEARCH_RESULTS"));else{t.dispatch(Dt.updateProcess(d,{content:Object(Ye.b)("services.mopidy.searching",{provider:Object(Q.m)(c.replace(":","")),type:s}),remaining:n.length}));var h={albums:function(e){var t=e[0],n={};return t.albums&&t.albums.forEach((function(e){e.uri&&(n[e.uri]=Tt(Tt({},n[e.uri]),Object(ge.e)(e)))})),t.tracks&&t.tracks.forEach((function(e){e.album&&e.album.uri&&(n[e.album.uri]=Tt(Tt({},n[e.album.uri]),Object(ge.e)(e.album)))})),Object(X.d)(n)},artists:function(e){var t=e[0],n={};return t.artists&&t.artists.forEach((function(e){e.uri&&(n[e.uri]=Tt(Tt({},n[e.uri]),Object(ge.g)(e)))})),t.tracks&&t.tracks.forEach((function(e){e.artists&&e.artists.forEach((function(e){e&&e.uri&&(n[e.uri]=Tt(Tt({},n[e.uri]),Object(ge.g)(e)))}))})),Object(X.d)(n)},playlists:function(e){var t=e.filter((function(e){return!!e.uri.includes(c)&&e.name.toLowerCase().includes(o.toLowerCase())}));return t.map((function(e){return Tt(Tt({},Object(ge.o)(e)),{},{uri:e.uri})}))},tracks:function(e){var t=e[0].tracks,n=void 0===t?[]:t;return Object(ge.s)(n)}};r(t,l,f).then((function(r){r.length>0&&t.dispatch(Nt.searchResultsLoaded({term:o,type:a},s,h[s](r))),n.length?e(t,n):t.dispatch(Dt.processFinished(d))}))}}(i,W));break;case"MOPIDY_GET_URIS":var K=o.uris;r(i,"library.lookup",{uris:K}).then((function(e){e&&Object(X.d)(e).forEach((function(e){i.dispatch(Nt["load".concat(e.___model__)](e.uri))}))}));break;case"MOPIDY_GET_PLAYLIST":var J=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Object(ge.o)(Tt(Tt({can_edit:!0,provider:"mopidy"},e),{},{uri:o.uri,type:"playlist"}));e.tracks&&t?(i.dispatch(Nt.itemLoaded(Tt(Tt({},n),{},{tracks:void 0,loading:"tracks"}))),r(i,"library.lookup",{uris:Object(X.b)("uri",e.tracks)}).then((function(t){var r=e.tracks.map((function(e){var n=t[e.uri];return Tt(Tt({},e),n.length?n[0]:{})}));n.tracks=Object(ge.v)(Object(ge.s)(r)),i.dispatch(Nt.itemLoaded(n))}))):i.dispatch(Nt.itemLoaded(n)),n.images||i.dispatch(Pt.getImages([n.uri]))};r(i,"playlists.lookup",{uri:o.uri}).then((function(e){e?J(e):r(i,"library.lookup",{uris:[o.uri]}).then((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e[o.uri];t&&J(Tt({tracks:t,can_edit:!1},o.options.name?{name:o.options.name}:{}),!1)}))}));break;case"MOPIDY_ADD_PLAYLIST_TRACKS":r(i,"playlists.lookup",{uri:o.key}).then((function(e){if(e){var t=o.tracks_uris.map((function(e){return{__model__:"Track",uri:e}})),n=Tt({},e);n.tracks?n.tracks=[].concat(At(n.tracks),At(t)):n.tracks=t,r(i,"playlists.save",{playlist:n}).then((function(){i.dispatch({type:"PLAYLIST_TRACKS_ADDED",key:o.key,tracks_uris:o.tracks_uris})}))}else i.dispatch(Nt.handleException(Object(Ye.b)("errors.uri_not_found",{uri:o.key})))}));break;case"MOPIDY_REMOVE_PLAYLIST_TRACKS":var $=Object.assign([],o.tracks_indexes);$.sort((function(e,t){return t-e})),r(i,"playlists.lookup",{uri:o.key}).then((function(e){for(var t=Tt({},e),n=0;n<$.length;n++)t.tracks.splice($[n],1);r(i,"playlists.save",{playlist:t}).then((function(e){i.dispatch({type:"PLAYLIST_TRACKS_REMOVED",key:o.key,tracks_indexes:o.tracks_indexes})}))}));break;case"MOPIDY_SAVE_PLAYLIST":r(i,"playlists.lookup",{uri:o.key}).then((function(e){var t=Tt(Tt({},e),{},{name:o.name});r(i,"playlists.save",{playlist:t}).then((function(e){if(e){var t=Tt(Tt({},i.getState().core.items[o.key]),{},{uri:e.uri,name:e.name});o.key!==t.uri&&(i.dispatch(Nt.removeItem(o.key,t.uri)),i.dispatch(Nt.removePinned(o.key)),i.dispatch(Nt.addPinned(t))),i.dispatch(Nt.itemLoaded(t)),i.dispatch(Dt.createNotification({content:"Playlist saved"}))}}))}));break;case"MOPIDY_REORDER_PLAYLIST_TRACKS":r(i,"playlists.lookup",{uri:o.key}).then((function(e){var t=Tt({},e),n=Object.assign([],t.tracks),a=[],s=o.range_start,c=o.range_length,u=o.insert_before;u>s&&(u-=c);for(var l=0;l=0){var t=Object(X.a)("tlid",e,i.getState().core.queue,!0);t&&t.uri&&(i.dispatch({type:"NEXT_TRACK_LOADED",uri:t.uri}),i.dispatch(Nt.loadTrack(t.uri)))}}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Could not get next track"),e))}));break;case"MOPIDY_GET_TRACKS":var te=o.uris,re=o.options,ie=re.full,ae=re.lyrics;r(i,"library.lookup",{uris:te}).then((function(e){if(e){var t=Object(ne.compact)(Object(X.d)(e).map((function(e){return e.length?Object(ge.r)(e[0]):null})));i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Pt.getImages(Object(X.b)("uri",t))),t.forEach((function(e){ie&&i.getState().lastfm.authorization&&i.dispatch(Mt.getTrack(e.uri)),ae&&i.getState().genius.authorization&&i.dispatch(Ut.findTrackLyrics(e.uri))}))}}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Could not get track"),e))}));break;case"MOPIDY_GET_STREAM_TITLE":r(i,"playback.getStreamTitle").then((function(e){e&&i.dispatch(Nt.streamTitleLoaded(e))}));break;case"VIEW__GET_RANDOM_TRACKS":r(i,"library.browse",{uri:"local:directory?type=track"}).then((function(e){if(e&&e.length){var t=Object(ne.sampleSize)(Object(X.b)("uri",e),o.limit);r(i,"library.lookup",{uris:t}).then((function(e){if(e){var n=Object(X.d)(e).map((function(e){return e[0]})),r=i.getState().core.view||{};i.dispatch(Nt.viewDataLoaded({random_tracks:[].concat(At(r.random_tracks?r.random_tracks:[]),At(n)),uris:[].concat(At(r.uris?r.uris:[]),At(t))}))}}))}}));break;case"MOPIDY_GET_IMAGES":var oe=o.uris;if(!oe)break;r(i,"library.getImages",{uris:oe}).then((function(e){var t=[];Object.keys(e).forEach((function(n){var r=e[n];r?t.push({uri:n,images:Object(ge.n)(Object(ge.c)(i.getState().mopidy,r))}):i.dispatch(Mt.getImages(n))})),t.length&&i.dispatch(Nt.itemsLoaded(t))})),a(o);break;case"MOPIDY_GET_DIRECTORY":var se=o.uri?decodeURIComponent(o.uri):null;i.dispatch({type:"MOPIDY_DIRECTORY_LOADING",uri:se});var ce=function(e){var t=[],n=[],a=[],o=[];e.forEach((function(e){"Track"===e.__model__?t.push(Object(ge.r)(e)):"Ref"===e.__model__&&"track"===e.type?(t.push(Object(ge.r)(Tt(Tt({},e),{},{loading:!0}))),a.push(e.uri)):"Ref"===e.__model__&&"album"===e.type?(n.push(Object(ge.e)(Tt(Tt({},e),{},{loading:!0}))),o.push(e.uri)):"Ref"===e.__model__&&"artist"===e.type?(n.push(Object(ge.g)(Tt(Tt({},e),{},{loading:!0}))),o.push(e.uri)):"Ref"===e.__model__&&"playlist"===e.type?e.uri.indexOf("tidal:mood")>-1||e.uri.indexOf("tidal:genre")>-1?n.push(Tt(Tt({},e),{},{type:"directory"})):(n.push(Object(ge.o)(Tt(Tt({},e),{},{loading:!0}))),o.push(e.uri)):n.push(e)})),i.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{uri:se,tracks:t,subdirectories:n}}),a.length&&r(i,"library.lookup",{uris:a}).then((function(e){var t=Object.values(e).map((function(e){return e.length>0?Object(ge.r)(e[0]):void 0}));i.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{uri:se,tracks:t.filter((function(e){return e instanceof Object}))}})})),o.length&&r(i,"library.getImages",{uris:o}).then((function(e){var t=n.map((function(t){var n=e[t.uri]||void 0;return n&&(n=Object(ge.n)(Object(ge.c)(i.getState().mopidy,n))),Tt(Tt({},t),{},{images:n})}));i.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{uri:se,subdirectories:t}})}))},ue=function(){return r(i,"library.browse",{uri:se}).then((function(e){return ce(e)}))};se?r(i,"library.lookup",{uris:[se]}).then((function(e){var t=e[se],n=void 0===t?[]:t;!n.length||se.startsWith("file:")?ue():ce(n)})):ue();break;case"MOPIDY_DIRECTORY":i.getState().ui.allow_reporting&&o.data&&Re.a.event({category:"Directory",action:"Load",label:o.data.uri}),a(o);break;case"MOPIDY_GET_LIBRARY_ARTISTS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),r(i,"library.browse",{uri:o.uri}).then((function(e){e.length||(i.dispatch(Nt.libraryLoaded({uri:"mopidy:library:artists",type:"artists",items_uris:[]})),i.dispatch(Dt.processFinished(o.type)));var t=e.map((function(e){return Tt(Tt({},Object(ge.g)(e)),{},{uri:e.uri.replace("local:directory?albumartist=","").replace("local:directory?artist=","")})}));i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"artists",items_uris:Object(X.b)("uri",t)})),i.dispatch(Dt.processFinished(o.type))}));break;case"MOPIDY_GET_LIBRARY_PLAYLISTS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),"m3u:playlists"===o.uri?r(i,"playlists.asList").then((function(e){var t=[],n=Object(X.b)("uri",e).filter((function(e){return e.indexOf("m3u")>-1}));i.dispatch(Dt.updateProcess(o.type,{total:n.length,remaining:n.length})),n.length?n.forEach((function(e,a){r(i,"playlists.lookup",{uri:e}).then((function(e){e&&t.push(Object(ge.o)({name:e.name,uri:e.uri,can_edit:"m3u"===Object(Q.p)(e.uri),last_modified:e.last_modified,tracks_total:e.tracks?e.tracks.length:null})),i.dispatch(Dt.updateProcess(o.type,{remaining:n.length-a-1})),a===n.length-1&&(i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:Object(X.b)("uri",t)})),i.dispatch(Dt.processFinished(o.type)))}))})):(i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:[]})),i.dispatch(Dt.stopLoading("mopidy:library:playlists")),i.dispatch(Dt.processFinished(o.type)))})):r(i,"library.browse",{uri:o.uri}).then((function(e){var t=[];i.dispatch(Dt.updateProcess(o.type,{total:e.length,remaining:e.length})),e.length?e.forEach((function(n,a){r(i,"library.lookup",{uris:[n.uri]}).then((function(r){r&&t.push(Object(ge.o)({name:n.name,uri:n.uri,can_edit:"m3u"===Object(Q.p)(n.uri),last_modified:n.last_modified,tracks:Object(ge.s)(r[n.uri])})),i.dispatch(Dt.updateProcess(o.type,{remaining:e.length-a-1})),a===e.length-1&&(i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:Object(X.b)("uri",t)})),i.dispatch(Dt.processFinished(o.type)))}))})):(i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:[]})),i.dispatch(Dt.stopLoading("mopidy:library:playlists")),i.dispatch(Dt.processFinished(o.type)))}));break;case"MOPIDY_GET_LIBRARY_ALBUMS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),r(i,"library.browse",{uri:o.uri}).then((function(e){var t=Object(X.b)("uri",e);i.dispatch(Dt.updateProcess(o.type,{remaining:t.length,total:t.length}));!function n(){if(t.length){var a=t.splice(0,10),s=i.getState().ui.processes[o.type];if(s&&"cancelling"===s.status)return i.dispatch(Dt.processCancelled(o.type)),void i.dispatch(Dt.stopLoading(o.uri));i.dispatch(Dt.updateProcess(o.type,{remaining:t.length})),r(i,"library.lookup",{uris:a}).then((function(e){var t=[];Object(X.d)(e).forEach((function(e){e.length<=0?console.info("Ignoring item; no results in lookup"):t.push(Tt({artists:e[0].artists?Object(ge.h)(e[0].artists):null,tracks:Object(ge.s)(e),last_modified:e[0].last_modified},Object(ge.e)(e[0].album)))})),t.length&&i.dispatch(Nt.itemsLoaded(t)),n()}))}else i.dispatch(Dt.processFinished(o.type)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"albums",items_uris:Object(X.b)("uri",e)}))}()}));break;case"MOPIDY_GET_LIBRARY_TRACKS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),r(i,"library.browse",{uri:o.uri}).then((function(e){var t=Object(X.b)("uri",e);i.dispatch(Dt.updateProcess(o.type,{remaining:t.length,total:t.length}));!function n(){if(t.length){var a=t.splice(0,100),s=i.getState().ui.processes[o.type];if(s&&"cancelling"===s.status)return i.dispatch(Dt.processCancelled(o.type)),void i.dispatch(Dt.stopLoading("mopidy:library:tracks"));i.dispatch(Dt.updateProcess(o.type,{remaining:t.length})),r(i,"library.lookup",{uris:a}).then((function(e){var t=Object(ne.compact)(Object(X.d)(e).map((function(e){return e.length?Object(ge.r)(e[0]):null})));t.length&&i.dispatch(Nt.itemsLoaded(t)),n()}))}else i.dispatch(Dt.processFinished(o.type)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"tracks",items_uris:Object(X.b)("uri",e)}))}()}));break;default:a(o)}}}}}(),Ht=n(14),qt=n(4),Vt=n(34),Yt=function(e){return function(t){return function(n){switch(n.type){case"LASTFM_ME_LOADED":var r=Object(ge.t)(n.me);Object.assign(r,{uri:"lastfm:user:".concat(r.name)}),e.dispatch(Ht.userLoaded(r)),n.me=r,t(n);break;case"LASTFM_IMPORT_AUTHORIZATION":setTimeout((function(){e.dispatch(Vt.getMe())}),100),t(n);break;case"LASTFM_AUTHORIZATION_REVOKED":e.getState().ui.allow_reporting&&Re.a.event({category:"LastFM",action:"Authorization revoked"}),e.dispatch(qt.createNotification({content:"Logout successful",description:"If you have shared your authorization, make sure you revoke your token",sticky:!0,links:[{url:"https://www.last.fm/settings/applications",text:"Authorized apps",new_window:!0}]})),t(n);break;default:return t(n)}}}},Gt=n(14),Wt=n(52),Kt=function(e){return function(t){return function(n){switch(n.type){case"GENIUS_ME_LOADED":e.dispatch(Gt.userLoaded(n.me)),t(n);break;case"GENIUS_IMPORT_AUTHORIZATION":setTimeout((function(){e.dispatch(Wt.getMe())}),100),t(n);break;default:return t(n)}}}};function Qt(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Xt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function Xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e.dispatch({type:"ARTISTS_LOADED",artists:n.artists}),n.artists_uris=Object(X.b)("uri",n.artists)),n.tracks.length>0&&(e.dispatch({type:"TRACKS_LOADED",tracks:n.tracks}),n.tracks_uris=Object(X.b)("uri",n.tracks)),t(n);break;case"SPOTIFY_TRACK_LOADED":e.dispatch({type:"TRACKS_LOADED",tracks:[n.data]}),t(n);break;case"SPOTIFY_ME_LOADED":var f=$t({},Object(ge.t)(n.me));if("Anonymous"==e.getState().pusher.username&&e.dispatch(rn.setUsername(f.name)),e.getState().ui.allow_reporting){var d=Object(Ot.sha256)(f.id);Re.a.set({userId:d}),Re.a.event({category:"Spotify",action:"Authorization verified",label:d})}e.dispatch(en.userLoaded(f)),t($t($t({},n),{},{me:f}));break;default:return t(n)}}}};function on(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=cn(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function sn(e){return function(e){if(Array.isArray(e))return un(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||cn(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cn(e,t){if(e){if("string"==typeof e)return un(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?un(e,t):void 0}}function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(a,o){var s=Object(Q.a)(8),c={jsonrpc:"2.0",id:s,method:n};i&&(c.params=i),e.getState().ui.log_snapcast&&console.log("Snapcast log (outgoing)",c),t.send(JSON.stringify(c)),e.dispatch(hn.startLoading(s,"snapcast_".concat(n)));setTimeout((function(){e.dispatch(hn.stopLoading(s)),o({id:s,code:32300,message:"Request timed out"})}),3e4);r[s]={resolve:a,reject:o}}))};return function(a){return function(o){return function(s){var c=a.getState().snapcast;switch(s.type){case"SNAPCAST_CONNECT":t&&t.close(),clearTimeout(n),a.dispatch({type:"SNAPCAST_CONNECTING"});var u=a.getState().snapcast,l=u.host,f=u.port,d=u.ssl;try{t=new WebSocket("ws".concat(d?"s":"","://").concat(l,":").concat(f,"/jsonrpc"))}catch(e){console.error(e);break}t.onopen=function(){a.dispatch({type:"SNAPCAST_CONNECTED"})},t.onclose=function(e){a.dispatch({type:"SNAPCAST_DISCONNECTED"}),a.getState().snapcast.enabled&&(clearTimeout(n),n=setTimeout((function(){a.dispatch(mn.connect())}),5e3))},t.onerror=function(e){1==t.readyState&&a.dispatch(pn.handleException("Snapcast websocket error",e,e.type))},t.onmessage=function(e){!function e(t,n,i){if(n.getState().ui.log_snapcast&&console.log("Snapcast log (incoming)",i),Array.isArray(i))i.map((function(r){return e(t,n,r)}));else{var a=null;if(i.id?a=i.id:i.error&&i.error.id&&(a=i.error.id),a)void 0!==r[a]?(n.dispatch(hn.stopLoading(a)),void 0!==i.error?r[a].reject(i.error):r[a].resolve(i.result)):n.dispatch(pn.handleException("Snapcast: Response received with no matching request",i));else switch(i.method){case"Client.OnConnect":case"Client.OnDisconnect":n.dispatch(mn.clientLoaded(i.params.client));break;case"Client.OnVolumeChanged":case"Client.OnLatencyChanged":case"Client.OnNameChanged":n.dispatch(mn.clientLoaded(i.params));break;case"Group.OnMute":case"Group.OnNameChanged":case"Group.OnStreamChanged":n.dispatch(mn.groupLoaded(i.params));break;case"Stream.OnUpdate":case"Stream.OnProperties":n.dispatch(mn.streamLoaded(i.params));break;case"Server.OnUpdate":n.dispatch(mn.serverLoaded(i.params.server.server)),n.dispatch(mn.groupsLoaded(i.params.server.groups,!0)),n.dispatch(mn.streamsLoaded(i.params.server.streams,!0))}}}(t,a,JSON.parse(e.data))};break;case"SNAPCAST_CONNECTED":a.getState().ui.allow_reporting&&Re.a.event({category:"Snapcast",action:"Connected",label:Object(Ot.sha256)(window.location.hostname)}),a.dispatch(mn.getServer()),o(s);break;case"SNAPCAST_DISCONNECT":null!=t&&t.close(),t=null,clearTimeout(n);break;case"SNAPCAST_SET_CONNECTION":a.dispatch(mn.serverLoaded({})),a.dispatch(mn.clientsLoaded([])),a.dispatch(mn.groupsLoaded([])),a.dispatch(mn.streamsLoaded([])),a.dispatch(mn.set(s.data)),a.getState().snapcast.enabled&&setTimeout((function(){a.dispatch(mn.connect())}),250);break;case"SNAPCAST_DEBUG":i(a,s.message.method,s.message.data).then((function(e){a.dispatch({type:"DEBUG",response:e})}),(function(e){a.dispatch(pn.handleException("Could not debug",e,e.message))}));break;case"SNAPCAST_REQUEST":i(a,s.method,s.params).then((function(t){s.response_callback&&s.response_callback.call(e,t)}),(function(t){s.error_callback?s.error_callback.call(e,t):a.dispatch(pn.handleException("Snapcast request failed",t,s.method,s))}));break;case"SNAPCAST_SET_ENABLED":a.dispatch(mn.set({enabled:s.enabled})),s.enabled?a.dispatch(mn.connect()):(a.dispatch(mn.set({streaming_enabled:!1})),a.dispatch(mn.disconnect()));break;case"SNAPCAST_GET_SERVER":i(a,"Server.GetStatus").then((function(e){a.dispatch(mn.serverLoaded(e.server.server,!0)),a.dispatch(mn.groupsLoaded(e.server.groups,!0)),a.dispatch(mn.streamsLoaded(e.server.streams,!0))}),(function(e){a.dispatch(pn.handleException("Could not get Snapcast server",e))}));break;case"SNAPCAST_GROUPS_LOADED":var p=fn({},c.groups),h=[],m=s.groups.map((function(e){var t=Object(ge.m)(e);return p[t.id]&&(t=fn(fn({},p[t.id]),t)),e.clients&&(t.clients_ids=Object(X.b)("id",e.clients),h=[].concat(sn(h),sn(e.clients))),void 0!==t.name&&""!==t.name||(t.name="Group ".concat(t.id.substring(0,3))),t}));s.groups=m,h.length>0&&a.dispatch(mn.clientsLoaded(h,s.flush)),o(s);break;case"SNAPCAST_CLIENTS_LOADED":var b,y=s.flush?{}:fn({},c.clients),v=on(s.clients);try{for(v.s();!(b=v.n()).done;){var g=b.value,_=Object(ge.k)(g);y[_.id]=fn(fn({},y[_.id]),_)}}catch(e){v.e(e)}finally{v.f()}o(fn(fn({},s),{},{clients:y}));break;case"SNAPCAST_SET_CLIENT_NAME":var w=c.clients[s.id],E={id:s.id,name:s.name};i(a,"Client.SetName",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,name:e.name}))}));break;case"SNAPCAST_SET_CLIENT_MUTE":w=a.getState().snapcast.clients[s.id],E={id:s.id,volume:{muted:s.mute,percent:w.volume}};i(a,"Client.SetVolume",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,volume:e.volume.percent,mute:e.volume.muted}))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_VOLUME":w=c.clients[s.id],E={id:s.id,volume:{muted:w.mute,percent:s.volume}};i(a,"Client.SetVolume",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,volume:e.volume.percent}))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_LATENCY":w=a.getState().snapcast.clients[s.id],E={id:s.id,latency:s.latency};i(a,"Client.SetLatency",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,latency:e.latency}))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_GROUP":var k=(S=c.groups[s.group_id]).clients_ids,O=k.indexOf(s.id);O<=-1?k.push(s.id):k.splice(O,1);E={id:s.group_id,clients:k};i(a,"Group.SetClients",E).then((function(e){a.dispatch(mn.groupsLoaded(e.server.groups,!0))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_DELETE_CLIENT":i(a,"Server.DeleteClient",{id:s.id}).then((function(e){a.dispatch(mn.groupsLoaded(e.server.groups,!0))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_GROUP_NAME":var S=c.groups[s.id];E={id:s.id,name:s.name};i(a,"Group.SetName",E).then((function(e){a.dispatch(mn.groupLoaded({id:s.id,name:e.name}))}));break;case"SNAPCAST_SET_GROUP_STREAM":S=a.getState().snapcast.groups[s.id],E={id:s.id,stream_id:s.stream_id};i(a,"Group.SetStream",E).then((function(e){a.dispatch(mn.groupLoaded({id:s.id,stream_id:s.stream_id}))}),(function(e){a.dispatch(pn.handleException("Could not change stream",e,e.message))}));break;case"SNAPCAST_SET_GROUP_MUTE":S=a.getState().snapcast.groups[s.id],E={id:s.id,mute:s.mute};i(a,"Group.SetMute",E).then((function(e){a.dispatch(mn.groupLoaded({id:s.id,mute:e.mute}))}),(function(e){a.dispatch(pn.handleException("Could not toggle mute",e,e.message))}));break;case"SNAPCAST_SET_GROUP_VOLUME":var A,j=[],x=(S=c.groups[s.id],s.percent-s.old_percent),T=on(S.clients_ids);try{for(T.s();!(A=T.n()).done;){var C=A.value,P=(w=c.clients[C]).volume,N=P+x;(x>0&&P<100||x<0&&P>0)&&j.push({id:w.id,volume:N})}}catch(e){T.e(e)}finally{T.f()}for(var D=0,I=j;D100&&(L=100),a.dispatch(mn.setClientVolume(R.id,L))}a.dispatch(mn.groupLoaded({id:s.id,volume:s.percent}));break;case"SNAPCAST_CONTROL_STREAM":var M=s.id,U=s.command;i(a,"Stream.Control",{id:M,command:U}).then((function(){}),(function(e){a.dispatch(pn.handleException("Could not control stream",e,e.message))}));break;default:return o(s)}}}}}();function yn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vn(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"CORE_SET":return ee(ee({},e),t.data);case"CURRENT_TRACK_LOADED":return ee(ee({},e),{},{current_track:t.track,current_track_uri:t.uri});case"CLEAR_CURRENT_TRACK":return ee(ee({},e),{},{current_track:null,current_track_uri:null,stream_title:null});case"NEXT_TRACK_LOADED":return ee(ee({},e),{},{next_track_uri:t.uri});case"QUEUE_LOADED":return ee(ee({},e),{},{queue:t.tracks});case"PUSHER_QUEUE_METADATA":case"PUSHER_QUEUE_METADATA_CHANGED":for(var n=Object.assign([],e.current_tracklist),r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"LAZY_LOADING":return oe(oe({},e),{},{lazy_loading:t.start});case"SET_SLIM_MODE":return oe(oe({},e),{},{slim_mode:t.slim_mode});case"SET_WINDOW_FOCUS":return oe(oe({},e),{},{window_focus:t.window_focus});case"DEBUG":return oe(oe({},e),{},{debug_response:t.response});case"UI_SET":return oe(oe({},e),t.data);case"UI_SET_SORT":return oe(oe({},e),{},{sort:oe(oe({},e.sort),{},se({},t.key,t.sort))});case"SET_WINDOW_TITLE":return t.title?oe(oe({},e),{},{window_title:t.title}):e;case"TOGGLE_SIDEBAR":var n=!e.sidebar_open;return void 0!==t.new_state&&(n=t.new_state),oe(oe({},e),{},{sidebar_open:n});case"SET_CURRENT_TRACK_TRANSITION":return oe(oe({},e),{},{current_track_transition:t.current_track_transition});case"SET_SELECTED_TRACKS":return oe(oe({},e),{},{selected_tracks:Object.assign([],t.keys)});case"ICON_LOADED":var r=oe({},e.icons);return r[t.key]=t.icon,oe(oe({},e),{},{icons:r});case"INSTALL_PROMPT":return oe(oe({},e),{},{install_prompt:t.event});case"SHOW_CONTEXT_MENU":return oe(oe({},e),{},{context_menu:t.data});case"HIDE_CONTEXT_MENU":return oe(oe({},e),{},{context_menu:oe(oe({},e.context_menu),{},{closing:!0})});case"REMOVE_CONTEXT_MENU":return oe(oe({},e),{},{context_menu:null});case"SHOW_TOUCH_CONTEXT_MENU":return oe(oe({},e),{},{touch_context_menu:t.data});case"HIDE_TOUCH_CONTEXT_MENU":return oe(oe({},e),{},{touch_context_menu:oe(oe({},e.touch_context_menu),{},{closing:!0})});case"REMOVE_TOUCH_CONTEXT_MENU":return oe(oe({},e),{},{touch_context_menu:null});case"OPEN_MODAL":return oe(oe({},e),{},{modal:t.modal_state});case"CLOSE_MODAL":return oe(oe({},e),{},{modal:null});case"CREATE_NOTIFICATION":return(i=oe({},e.notifications))[t.notification.key]=t.notification,oe(oe({},e),{},{notifications:i});case"CLOSE_NOTIFICATION":return(i=oe({},e.notifications))[t.key]&&(i[t.key].closing=!0),oe(oe({},e),{},{notifications:i});case"REMOVE_NOTIFICATION":var i;return delete(i=oe({},e.notifications))[t.key],oe(oe({},e),{},{notifications:i});case"START_LOADING":return oe(oe({},e),{},{load_queue:oe(oe({},e.load_queue||{}),{},se({},t.key,t.source||t.key))});case"STOP_LOADING":return oe(oe({},e),{},{load_queue:Object(ne.omit)(e.load_queue,t.keys)});case"START_PROCESS":case"UPDATE_PROCESS":var a=oe({},e.processes||[]);return a[t.key]=oe(oe(oe({key:t.key},a[t.key]||{status:"running",notification:!0}),"START_PROCESS"===t.type?{status:"running",remaining:0,total:0}:{}),t.process),oe(oe({},e),{},{processes:a});case"CANCEL_PROCESS":var o=oe({},e.processes?e.processes:{});return t.keys.forEach((function(e){o[e]&&(o[e]=oe(oe({},o[e]),{},{status:"cancelling",total:void 0,remaining:void 0}))})),oe(oe({},e),{},{processes:o});case"PROCESS_CANCELLED":return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{status:"cancelled"})),oe(oe({},e),{},{processes:s});case"PROCESS_FINISHED":return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{status:"finished"})),oe(oe({},e),{},{processes:s});case"CLOSE_PROCESS":return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{closing:!0})),oe(oe({},e),{},{processes:s});case"REMOVE_PROCESS":var s;return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{status:"completed",closing:!1})),oe(oe({},e),{},{processes:s});case"SUPPRESS_BROADCAST":return oe(oe({},e),{},{suppressed_broadcasts:[].concat(re(e.suppressed_broadcasts||[]),[t.key])});default:return e}})),mopidy:M(Rn,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"MOPIDY_SET":return he(he({},e),t.data);case"MOPIDY_UPDATE_SERVERS":return he(he({},e),{},{servers:t.servers});case"MOPIDY_CONNECT":case"MOPIDY_CONNECTING":return he(he({},e),{},{connected:!1,connecting:!0});case"MOPIDY_CONNECTED":return he(he({},e),{},{connected:!0,connecting:!1,restart_running:!1,upgrade_running:!1});case"MOPIDY_DISCONNECTED":return he(he({},e),{},{connected:!1,connecting:!1});case"MOPIDY_CHANGE_TRACK":return he(he({},e),{},{tlid:t.tlid});case"MOPIDY_URI_SCHEMES":return he(he({},e),{},{uri_schemes:t.uri_schemes});case"MOPIDY_RESTART_STARTED":return he(he({},e),{},{restart_running:!0});case"MOPIDY_RESTART_FINISHED":return he(he({},e),{},{restart_running:!1});case"MOPIDY_UPGRADE_STARTED":return he(he({},e),{},{upgrade_running:!0});case"MOPIDY_UPGRADE_FINISHED":return he(he({},e),{},{upgrade_running:!1});case"MOPIDY_LOCAL_SCAN_STARTED":return he(he({},e),{},{local_scan_running:!0});case"MOPIDY_LOCAL_SCAN_FINISHED":return he(he({},e),{},{local_scan_running:!1});case"MOPIDY_PLAY_STATE":return he(he({},e),{},{play_state:t.play_state});case"MOPIDY_CONSUME":return he(he({},e),{},{consume:t.consume});case"MOPIDY_RANDOM":return he(he({},e),{},{random:t.random});case"MOPIDY_REPEAT":return he(he({},e),{},{repeat:t.repeat});case"MOPIDY_VOLUME":return he(he({},e),{},{volume:t.volume});case"MOPIDY_MUTE":return he(he({},e),{},{mute:t.mute});case"MOPIDY_TIME_POSITION":return he(he({},e),{},{time_position:t.time_position});case"MOPIDY_QUEUE_HISTORY":for(var n=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SPOTIFY_SET":return Se(Se({},e),t.data);case"PUSHER_SPOTIFY_TOKEN":return e.authorization?e:Se(Se({},e),{},{authorizing:!1,authorization:!1,access_token:t.data.access_token,token_expiry:t.data.token_expiry});case"SPOTIFY_AUTHORIZATION_GRANTED":return Se(Se({},e),{},{enabled:!0,authorizing:!1,authorization:t.data,access_token:t.data.access_token,refresh_token:t.data.refresh_token,token_expiry:t.data.token_expiry});case"SPOTIFY_AUTHORIZATION_REVOKED":return Se(Se({},e),{},{authorizing:!1,authorization:!1,access_token:!1,refresh_token:!1,token_expiry:0,me:!1});case"SPOTIFY_IMPORT_AUTHORIZATION":return Se(Se({},e),{},{authorizing:!1,authorization:t.authorization,access_token:t.authorization.access_token,refresh_token:t.authorization.refresh_token,token_expiry:t.authorization.token_expiry,me:t.me});case"SPOTIFY_TOKEN_REFRESHING":return Se(Se({},e),{},{refreshing_token:!0});case"SPOTIFY_TOKEN_REFRESHED":return Se(Se({},e),{},{refreshing_token:!1,access_token:t.data.access_token,token_expiry:t.data.token_expiry});case"SPOTIFY_TOKEN_CHANGED":return Se(Se({},e),{},{access_token:t.spotify_token.access_token,token_expiry:t.spotify_token.token_expiry});case"SPOTIFY_ME_LOADED":return Se(Se({},e),{},{me:t.me});case"SPOTIFY_FEATURED_PLAYLISTS_LOADED":return Se(Se({},e),{},{featured_playlists:t.data});case"SPOTIFY_NEW_RELEASES_LOADED":var n=[];return e.new_releases&&(n=Object.assign([],e.new_releases)),Se(Se({},e),{},{new_releases:Object(X.e)([].concat(we(n),we(t.uris))),new_releases_more:t.more,new_releases_total:t.total});case"SPOTIFY_DISCOVER_LOADED":return t.data?Se(Se({},e),{},{discover:[].concat(we(e.discover),[t.data])}):Se(Se({},e),{},{discover:[]});case"CLEAR_SPOTIFY_RECOMMENDATIONS":return Se(Se({},e),{},{recommendations:{artists_uris:[],albums_uris:[],tracks_uris:[]}});case"SPOTIFY_RECOMMENDATIONS_LOADED":return Se(Se({},e),{},{recommendations:{artists_uris:t.artists_uris,albums_uris:t.albums_uris,tracks_uris:t.tracks_uris}});case"SPOTIFY_FAVORITES_LOADED":return Se(Se({},e),{},{favorite_artists:t.artists_uris,favorite_tracks:t.tracks_uris});case"SPOTIFY_AUTOCOMPLETE_LOADING":return(r=e.autocomplete_results)[t.field_id]={loading:!0},Se(Se({},e),{},{autocomplete_results:r});case"SPOTIFY_AUTOCOMPLETE_LOADED":return(r=e.autocomplete_results)[t.field_id]=t.results,r[t.field_id].loading=!1,Se(Se({},e),{},{autocomplete_results:r});case"SPOTIFY_AUTOCOMPLETE_CLEAR":var r;return void 0!==(r=e.autocomplete_results)[t.field_id]&&delete r[t.field_id],Se(Se({},e),{},{autocomplete_results:r});case"SPOTIFY_GENRES_LOADED":return Se(Se({},e),{},{genres:t.genres});case"SPOTIFY_CATEGORIES_LOADED":var i,a=Se({},e.categories),o=_e(t.categories);try{for(o.s();!(i=o.n()).done;){var s=i.value;a[s.uri]=s}}catch(e){o.e(e)}finally{o.f()}return Se(Se({},e),{},{categories:a});case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":var c=t.data.items,u=[];return c&&(c=Object(ge.s)(c),u=Object(X.b)("uri",c),e.library_tracks&&(u=[].concat(we(e.library_tracks),we(u)))),Se(Se({},e),{},{library_tracks:Object(X.e)(u),library_tracks_more:t.data.next});default:return e}})),pusher:M(In,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"PUSHER_CONNECT":case"PUSHER_CONNECTING":return ue(ue({},e),{},{connected:!1,connecting:!0});case"PUSHER_CONNECTED":return ue(ue({},e),{},{connected:!0,connecting:!1,connection_id:t.connection_id,client_id:t.client_id,username:t.username});case"PUSHER_DISCONNECTED":return ue(ue({},e),{},{connected:!1,connecting:!1});case"PUSHER_SET":return ue(ue({},e),t.data);case"PUSHER_SET_PORT":return ue(ue({},e),{},{port:t.port});case"PUSHER_SET_USERNAME":return ue(ue({},e),{},{username:t.username});case"PUSHER_CONNECTIONS":for(var n={},r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"GENIUS_SET":return De(De({},e),t.data);case"GENIUS_ME_LOADED":return De(De({},e),{},{me:t.me});case"GENIUS_AUTHORIZATION_GRANTED":return De(De({},e),{},{authorizing:!1,authorization:t.data,authorization_code:t.data.authorization_code,access_token:t.data.access_token});case"GENIUS_AUTHORIZATION_REVOKED":return De(De({},e),{},{authorizing:!1,authorization:void 0,authorization_code:void 0,access_token:void 0,me:void 0});case"GENIUS_IMPORT_AUTHORIZATION":return De(De({},e),{},{authorizing:!1,authorization:t.authorization,authorization_code:t.authorization.authorization_code,access_token:t.authorization.access_token,me:void 0});default:return e}})),lastfm:M(Nn,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"LASTFM_CONNECT":case"LASTFM_CONNECTING":return ye(ye({},e),{},{connected:!1,connecting:!0});case"LASTFM_CONNECTED":return ye(ye({},e),{},{connected:!0,connecting:!1});case"LASTFM_SET":return ye(ye({},e),t.data);case"LASTFM_ME_LOADED":return ye(ye({},e),{},{me:t.me});case"LASTFM_AUTHORIZATION_GRANTED":return ye(ye({},e),{},{authorizing:!1,authorization:t.data.session});case"LASTFM_AUTHORIZATION_REVOKED":return ye(ye({},e),{},{authorizing:!1,authorization:!1,me:void 0});case"LASTFM_IMPORT_AUTHORIZATION":return ye(ye({},e),{},{authorizing:!1,authorization:t.authorization,me:void 0});default:return e}})),snapcast:M(Dn,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SNAPCAST_SET":return Ce(Ce({},e),t.data);case"SNAPCAST_CONNECTED":return Ce(Ce({},e),{},{connected:!0,connecting:!1});case"SNAPCAST_CONNECTING":return Ce(Ce({},e),{},{connecting:!0,connected:!1});case"SNAPCAST_DISCONNECTED":return Ce(Ce({},e),{},{connected:!1,connecting:!1});case"SNAPCAST_SERVER_LOADED":return Ce(Ce({},e),{},{server:t.server});case"SNAPCAST_CLIENTS_LOADED":return Ce(Ce({},e),{},{clients:t.clients});case"SNAPCAST_CLIENT_DELETED":var n=Ce({},e.clients);return delete n[t.key],Ce(Ce({},e),{},{clients:n});case"SNAPCAST_GROUPS_LOADED":if(t.flush)var r={};else r=Ce({},e.groups);var i,a=je(t.groups);try{for(a.s();!(i=a.n()).done;){var o=i.value;r[o.id]=Ce(Ce({},r[o.id]?r[o.id]:{}),o)}}catch(e){a.e(e)}finally{a.f()}return Ce(Ce({},e),{},{groups:r});case"SNAPCAST_STREAMS_LOADED":var s,c=t.flush?{}:Ce({},e.streams),u=je(t.streams);try{for(u.s();!(s=u.n()).done;){var l=s.value;c[l.id]=Ce(Ce({},c[l.id]||{}),l)}}catch(e){u.e(e)}finally{u.f()}return Ce(Ce({},e),{},{streams:c});default:return e}}))}),Fn=Object(w.d)((function(e,t){var n=e;if("RESET_STATE"===t.type){var r=t.stateKeysToReset,i={};r.forEach((function(e){i[e]=wn[e]})),n=vn(vn({},e),i)}return Un(n,t)}),wn,Object(w.a)(K,nt,ct,Bt,wt,an,Yt,Kt,bn)),zn=(En=Fn,Sn=On||!1,An=Object(w.d)(q,H,kn&&kn.enhancer?kn.enhancer:void 0),jn=function(e){An.dispatch({type:k,key:e})},xn=function(e,t,n){var r={type:E,payload:t,err:n,key:e};En.dispatch(r),An.dispatch(r),Sn&&Tn.getState().bootstrapped&&(Sn(),Sn=!1)},Tn=z({},An,{purge:function(){var e=[];return En.dispatch({type:"persist/PURGE",result:function(t){e.push(t)}}),Promise.all(e)},flush:function(){var e=[];return En.dispatch({type:"persist/FLUSH",result:function(t){e.push(t)}}),Promise.all(e)},pause:function(){En.dispatch({type:"persist/PAUSE"})},persist:function(){En.dispatch({type:"persist/PERSIST",register:jn,rehydrate:xn})}}),kn&&kn.manualPersist||Tn.persist(),Tn),Bn=n(614);function Hn(e){var t=null;return function(){return null==t&&(t=e()),t}}function qn(e,t){for(var n=0;n0}},{key:"leave",value:function(e){var t,n,r=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),n=e,t.filter((function(e){return e!==n}))),r>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}])&&qn(t.prototype,n),r&&qn(t,r),e}(),Gn=Hn((function(){return/firefox/i.test(navigator.userAgent)})),Wn=Hn((function(){return Boolean(window.safari)}));function Kn(e,t){for(var n=0;ne))return n[s];u=s-1}}var f=e-t[o=Math.max(0,u)],d=f*f;return n[o]+r[o]*f+i[o]*d+a[o]*f*d}}])&&Kn(t.prototype,n),r&&Kn(t,r),e}();function Jn(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var n=t.getBoundingClientRect(),r=n.top;return{x:n.left,y:r}}function $n(e){return{x:e.clientX,y:e.clientY}}function Zn(e,t,n,r,i){var a,o,s,c="IMG"===(a=t).nodeName&&(Gn()||!(null!==(o=document.documentElement)&&void 0!==o&&o.contains(a))),u=Jn(c?e:t),l={x:n.x-u.x,y:n.y-u.y},f=e.offsetWidth,d=e.offsetHeight,p=r.anchorX,h=r.anchorY,m=function(e,t,n,r){var i=e?t.width:n,a=e?t.height:r;return Wn()&&e&&(a/=window.devicePixelRatio,i/=window.devicePixelRatio),{dragPreviewWidth:i,dragPreviewHeight:a}}(c,t,f,d),b=m.dragPreviewWidth,y=m.dragPreviewHeight,v=i.offsetX,g=i.offsetY,_=0===g||g;return{x:0===v||v?v:new Xn([0,.5,1],[l.x,l.x/f*b,l.x+b-f]).interpolate(p),y:_?g:(s=new Xn([0,.5,1],[l.y,l.y/d*y,l.y+y-d]).interpolate(h),Wn()&&c&&(s+=(window.devicePixelRatio-1)*y),s)}}var er,tr="__NATIVE_FILE__",nr="__NATIVE_URL__",rr="__NATIVE_TEXT__",ir="__NATIVE_HTML__";function ar(e,t,n){var r=t.reduce((function(t,n){return t||e.getData(n)}),"");return null!=r?r:n}function or(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sr=(or(er={},tr,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items},dataTransfer:function(e){return e}},matchesTypes:["Files"]}),or(er,ir,{exposeProperties:{html:function(e,t){return ar(e,t,"")},dataTransfer:function(e){return e}},matchesTypes:["Html","text/html"]}),or(er,nr,{exposeProperties:{urls:function(e,t){return ar(e,t,"").split("\n")},dataTransfer:function(e){return e}},matchesTypes:["Url","text/uri-list"]}),or(er,rr,{exposeProperties:{text:function(e,t){return ar(e,t,"")},dataTransfer:function(e){return e}},matchesTypes:["Text","text/plain"]}),er);function cr(e,t){for(var n=0;n-1}))}))[0]||null}function dr(e,t){for(var n=0;n0&&i.actions.hover(t,{clientOffset:$n(e)}),t.some((function(e){return i.monitor.canDropOnTarget(e)}))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())))})),vr(this,"handleTopDragOverCapture",(function(){i.dragOverTargetIds=[]})),vr(this,"handleTopDragOver",(function(e){var t=i.dragOverTargetIds;if(i.dragOverTargetIds=[],!i.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));i.altKeyPressed=e.altKey,i.lastClientOffset=$n(e),null===i.hoverRafId&&"undefined"!=typeof requestAnimationFrame&&(i.hoverRafId=requestAnimationFrame((function(){i.monitor.isDragging()&&i.actions.hover(t||[],{clientOffset:i.lastClientOffset}),i.hoverRafId=null}))),(t||[]).some((function(e){return i.monitor.canDropOnTarget(e)}))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())):i.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))})),vr(this,"handleTopDragLeaveCapture",(function(e){i.isDraggingNativeItem()&&e.preventDefault(),i.enterLeaveCounter.leave(e.target)&&i.isDraggingNativeItem()&&setTimeout((function(){return i.endDragNativeItem()}),0)})),vr(this,"handleTopDropCapture",(function(e){var t;(i.dropTargetIds=[],i.isDraggingNativeItem())?(e.preventDefault(),null===(t=i.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)):fr(e.dataTransfer)&&e.preventDefault();i.enterLeaveCounter.reset()})),vr(this,"handleTopDrop",(function(e){var t=i.dropTargetIds;i.dropTargetIds=[],i.actions.hover(t,{clientOffset:$n(e)}),i.actions.drop({dropEffect:i.getCurrentDropEffect()}),i.isDraggingNativeItem()?i.endDragNativeItem():i.monitor.isDragging()&&i.actions.endDrag()})),vr(this,"handleSelectStart",(function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))})),this.options=new hr(n,r),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new Yn(this.isNodeInDocument)}var t,n,i;return t=e,(n=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(e=this.dragStartSourceIds)||void 0===e?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(t=this.dragOverTargetIds)||void 0===t?void 0:t.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{key:"teardown",value:function(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null===(e=this.window)||void 0===e||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,n){var r=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,n);var i=function(t){return r.handleDragStart(t,e)},a=function(e){return r.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",i),t.addEventListener("selectstart",a),function(){r.sourceNodes.delete(e),r.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",i),t.removeEventListener("selectstart",a),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=function(t){return n.handleDragEnter(t,e)},i=function(t){return n.handleDragOver(t,e)},a=function(t){return n.handleDrop(t,e)};return t.addEventListener("dragenter",r),t.addEventListener("dragover",i),t.addEventListener("drop",a),function(){t.removeEventListener("dragenter",r),t.removeEventListener("dragover",i),t.removeEventListener("drop",a)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return br({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return br({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(r).some((function(t){return r[t]===e}))}},{key:"beginDragNativeItem",value:function(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){var n=new lr(sr[e]);return n.loadDataTransfer(t),n}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((function(){var e;return null===(e=t.rootElement)||void 0===e?void 0:e.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}},{key:"clearCurrentDragSourceNode",value:function(){var e;return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.rootElement&&(null===(e=this.window)||void 0===e||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}}])&&yr(t.prototype,n),i&&yr(t,i),e}(),wr=function(e,t,n){return new _r(e,t,n)},Er=n(16);!function(e){e.mouse="mouse",e.touch="touch",e.keyboard="keyboard"}(gr||(gr={}));var kr=1,Or=0;function Sr(e){return void 0===e.button||e.button===Or}function Ar(e){return!!e.targetTouches}function jr(e,t){return Ar(e)?function(e,t){return 1===e.targetTouches.length?jr(e.targetTouches[0]):t&&1===e.touches.length&&e.touches[0].target===t.target?jr(e.touches[0]):void 0}(e,t):{x:e.clientX,y:e.clientY}}var xr=function(){var e=!1;try{addEventListener("test",(function(){}),Object.defineProperty({},"passive",{get:function(){return e=!0,!0}}))}catch(e){}return e}();function Tr(e,t){for(var n=0;n=i[o].start)&&(null==i[o].end||a<=i[o].end))return!0;return!1}(i._mouseClientOffset.x||0,i._mouseClientOffset.y||0,u.x,u.y,i.options.scrollAngleRanges))i._isScrolling=!0;else if(!i.monitor.isDragging()&&i._mouseClientOffset.hasOwnProperty("x")&&o&&(t=i._mouseClientOffset.x||0,n=i._mouseClientOffset.y||0,r=u.x,a=u.y,Math.sqrt(Math.pow(Math.abs(r-t),2)+Math.pow(Math.abs(a-n),2))>(i.options.touchSlop?i.options.touchSlop:0))&&(i.moveStartSourceIds=void 0,i.actions.beginDrag(o,{clientOffset:i._mouseClientOffset,getSourceClientOffset:i.getSourceClientOffset,publishSource:!1})),i.monitor.isDragging()){var l=i.sourceNodes.get(i.monitor.getSourceId());i.installSourceNodeRemovalObserver(l),i.actions.publishDragSource(),e.cancelable&&e.preventDefault();var f=(s||[]).map((function(e){return i.targetNodes.get(e)})).filter((function(e){return!!e})),d=i.options.getDropTargetElementsAtPoint?i.options.getDropTargetElementsAtPoint(u.x,u.y,f):i.document.elementsFromPoint(u.x,u.y),p=[];for(var h in d)if(d.hasOwnProperty(h)){var m=d[h];for(p.push(m);m;)(m=m.parentElement)&&-1===p.indexOf(m)&&p.push(m)}var b=p.filter((function(e){return f.indexOf(e)>-1})).map((function(e){return i._getDropTargetId(e)})).filter((function(e){return!!e})).filter((function(e,t,n){return n.indexOf(e)===t}));if(c)for(var y in i.targetNodes){var v=i.targetNodes.get(y);if(l&&v&&v.contains(l)&&-1===b.indexOf(y)){b.unshift(y);break}}b.reverse(),i.actions.hover(b,{clientOffset:u})}}})),Ir(this,"_getDropTargetId",(function(e){for(var t=i.targetNodes.keys(),n=t.next();!1===n.done;){var r=n.value;if(e===i.targetNodes.get(r))return r;n=t.next()}})),Ir(this,"handleTopMoveEndCapture",(function(e){i._isScrolling=!1,i.lastTargetTouchFallback=void 0,function(e){return void 0===e.buttons||0==(e.buttons&kr)}(e)&&(i.monitor.isDragging()&&!i.monitor.didDrop()?(e.cancelable&&e.preventDefault(),i._mouseClientOffset={},i.uninstallSourceNodeRemovalObserver(),i.actions.drop(),i.actions.endDrag()):i.moveStartSourceIds=void 0)})),Ir(this,"handleCancelOnEscape",(function(e){"Escape"===e.key&&i.monitor.isDragging()&&(i._mouseClientOffset={},i.uninstallSourceNodeRemovalObserver(),i.actions.endDrag())})),this.options=new Nr(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(gr.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(gr.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(gr.keyboard)}var t,n,r;return t=e,(n=[{key:"profile",value:function(){var e;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:(null===(e=this.dragOverTargetIds)||void 0===e?void 0:e.length)||0}}},{key:"document",get:function(){return this.options.document}},{key:"setup",value:function(){var t=this.options.rootElement;t&&(Object(Er.a)(!e.isSetUp,"Cannot have two Touch backends at the same time."),e.isSetUp=!0,this.addEventListener(t,"start",this.getTopMoveStartHandler()),this.addEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(t,"move",this.handleTopMove),this.addEventListener(t,"move",this.handleTopMoveCapture,!0),this.addEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(t,"keydown",this.handleCancelOnEscape,!0))}},{key:"teardown",value:function(){var t=this.options.rootElement;t&&(e.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(t,"start",this.handleTopMoveStart),this.removeEventListener(t,"move",this.handleTopMoveCapture,!0),this.removeEventListener(t,"move",this.handleTopMove),this.removeEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(t,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}},{key:"addEventListener",value:function(e,t,n,r){var i=xr?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var a=Rr[r][t];a&&e.addEventListener(a,n,i)}))}},{key:"removeEventListener",value:function(e,t,n,r){var i=xr?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var a=Rr[r][t];a&&e.removeEventListener(a,n,i)}))}},{key:"connectDragSource",value:function(e,t){var n=this,r=this.handleMoveStart.bind(this,e);return this.sourceNodes.set(e,t),this.addEventListener(t,"start",r),function(){n.sourceNodes.delete(e),n.removeEventListener(t,"start",r)}}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=this.options.rootElement;if(!this.document||!r)return function(){};var i=function(i){if(n.document&&r&&n.monitor.isDragging()){var a;switch(i.type){case Rr.mouse.move:a={x:i.clientX,y:i.clientY};break;case Rr.touch.move:a={x:i.touches[0].clientX,y:i.touches[0].clientY}}var o=null!=a?n.document.elementFromPoint(a.x,a.y):void 0,s=o&&t.contains(o);return o===t||s?n.handleMove(i,e):void 0}};return this.addEventListener(this.document.body,"move",i),this.targetNodes.set(e,t),function(){n.document&&(n.targetNodes.delete(e),n.removeEventListener(n.document.body,"move",i))}}},{key:"getTopMoveStartHandler",value:function(){return this.options.delayTouchStart||this.options.delayMouseStart?this.handleTopMoveStartDelay:this.handleTopMoveStart}},{key:"installSourceNodeRemovalObserver",value:function(e){var t=this;this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=e,this.draggedSourceNodeRemovalObserver=new MutationObserver((function(){e&&!e.parentElement&&(t.resurrectSourceNode(),t.uninstallSourceNodeRemovalObserver())})),e&&e.parentElement&&this.draggedSourceNodeRemovalObserver.observe(e.parentElement,{childList:!0})}},{key:"resurrectSourceNode",value:function(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}},{key:"uninstallSourceNodeRemovalObserver",value:function(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}}])&&Dr(t.prototype,n),r&&Dr(t,r),e}();Ir(Lr,"isSetUp",void 0);var Mr,Ur,Fr=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Lr(e,t,n)},zr=function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(){Mr=Function.prototype.toString,Function.prototype.toString=function(){for(var e=[],t=0;t=0?Object(Br.d)(this._breadcrumbs,[n]).slice(-t):Object(Br.d)(this._breadcrumbs,[n]),this._notifyScopeListeners(),this},e.prototype.clearBreadcrumbs=function(){return this._breadcrumbs=[],this._notifyScopeListeners(),this},e.prototype.applyToEvent=function(e,t){var n;if(this._extra&&Object.keys(this._extra).length&&(e.extra=Object(Br.a)(Object(Br.a)({},this._extra),e.extra)),this._tags&&Object.keys(this._tags).length&&(e.tags=Object(Br.a)(Object(Br.a)({},this._tags),e.tags)),this._user&&Object.keys(this._user).length&&(e.user=Object(Br.a)(Object(Br.a)({},this._user),e.user)),this._contexts&&Object.keys(this._contexts).length&&(e.contexts=Object(Br.a)(Object(Br.a)({},this._contexts),e.contexts)),this._level&&(e.level=this._level),this._transactionName&&(e.transaction=this._transactionName),this._span){e.contexts=Object(Br.a)({trace:this._span.getTraceContext()},e.contexts);var r=null===(n=this._span.transaction)||void 0===n?void 0:n.name;r&&(e.tags=Object(Br.a)({transaction:r},e.tags))}return this._applyFingerprint(e),e.breadcrumbs=Object(Br.d)(e.breadcrumbs||[],this._breadcrumbs),e.breadcrumbs=e.breadcrumbs.length>0?e.breadcrumbs:void 0,this._notifyEventProcessors(Object(Br.d)(Wr(),this._eventProcessors),e,t)},e.prototype._notifyEventProcessors=function(e,t,n,r){var i=this;return void 0===r&&(r=0),new Vr((function(a,o){var s=e[r];if(null===t||"function"!=typeof s)a(t);else{var c=s(Object(Br.a)({},t),n);Object(Hr.m)(c)?c.then((function(t){return i._notifyEventProcessors(e,t,n,r+1).then(a)})).then(null,o):i._notifyEventProcessors(e,c,n,r+1).then(a).then(null,o)}}))},e.prototype._notifyScopeListeners=function(){var e=this;this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((function(t){t(e)})),this._notifyingListeners=!1)},e.prototype._applyFingerprint=function(e){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],this._fingerprint&&(e.fingerprint=e.fingerprint.concat(this._fingerprint)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint},e}();function Wr(){var e=Object(Yr.e)();return e.__SENTRY__=e.__SENTRY__||{},e.__SENTRY__.globalEventProcessors=e.__SENTRY__.globalEventProcessors||[],e.__SENTRY__.globalEventProcessors}function Kr(e){Wr().push(e)}var Qr=Object(Yr.e)(),Xr="Sentry Logger ",Jr=function(){function e(){this._enabled=!1}return e.prototype.disable=function(){this._enabled=!1},e.prototype.enable=function(){this._enabled=!0},e.prototype.log=function(){for(var e=[],t=0;t1&&(l=d.slice(0,-1).join("/"),f=d.pop()),f){var p=f.match(/^\d+/);p&&(f=p[0])}this._fromComponents({host:s,pass:o,path:l,projectId:f,port:u,protocol:r,user:i})},e.prototype._fromComponents=function(e){this.protocol=e.protocol,this.user=e.user,this.pass=e.pass||"",this.host=e.host,this.port=e.port||"",this.path=e.path||"",this.projectId=e.projectId},e.prototype._validate=function(){var e=this;if(["protocol","user","host","projectId"].forEach((function(t){if(!e[t])throw new hi("Invalid Dsn: "+t+" missing")})),!this.projectId.match(/^\d+$/))throw new hi("Invalid Dsn: Invalid projectId "+this.projectId);if("http"!==this.protocol&&"https"!==this.protocol)throw new hi("Invalid Dsn: Invalid protocol "+this.protocol);if(this.port&&isNaN(parseInt(this.port,10)))throw new hi("Invalid Dsn: Invalid port "+this.port)},e}(),yi=[];function vi(e){var t={};return function(e){var t=e.defaultIntegrations&&Object(Br.d)(e.defaultIntegrations)||[],n=e.integrations,r=[];if(Array.isArray(n)){var i=n.map((function(e){return e.name})),a=[];t.forEach((function(e){-1===i.indexOf(e.name)&&-1===a.indexOf(e.name)&&(r.push(e),a.push(e.name))})),n.forEach((function(e){-1===a.indexOf(e.name)&&(r.push(e),a.push(e.name))}))}else"function"==typeof n?(r=n(t),r=Array.isArray(r)?r:[r]):r=Object(Br.d)(t);var o=r.map((function(e){return e.name}));return-1!==o.indexOf("Debug")&&r.push.apply(r,Object(Br.d)(r.splice(o.indexOf("Debug"),1))),r}(e).forEach((function(e){t[e.name]=e,function(e){-1===yi.indexOf(e.name)&&(e.setupOnce(Kr,oi),yi.push(e.name),Zr.log("Integration installed: "+e.name))}(e)})),t}var gi,_i=function(){function e(e,t){this._integrations={},this._processing=0,this._backend=new e(t),this._options=t,t.dsn&&(this._dsn=new bi(t.dsn))}return e.prototype.captureException=function(e,t,n){var r=this,i=t&&t.event_id;return this._process(this._getBackend().eventFromException(e,t).then((function(e){return r._captureEvent(e,t,n)})).then((function(e){i=e}))),i},e.prototype.captureMessage=function(e,t,n,r){var i=this,a=n&&n.event_id,o=Object(Hr.i)(e)?this._getBackend().eventFromMessage(""+e,t,n):this._getBackend().eventFromException(e,n);return this._process(o.then((function(e){return i._captureEvent(e,n,r)})).then((function(e){a=e}))),a},e.prototype.captureEvent=function(e,t,n){var r=t&&t.event_id;return this._process(this._captureEvent(e,t,n).then((function(e){r=e}))),r},e.prototype.captureSession=function(e){e.release?this._sendSession(e):Zr.warn("Discarded session because of missing release")},e.prototype.getDsn=function(){return this._dsn},e.prototype.getOptions=function(){return this._options},e.prototype.flush=function(e){var t=this;return this._isClientProcessing(e).then((function(n){return t._getBackend().getTransport().close(e).then((function(e){return n&&e}))}))},e.prototype.close=function(e){var t=this;return this.flush(e).then((function(e){return t.getOptions().enabled=!1,e}))},e.prototype.setupIntegrations=function(){this._isEnabled()&&(this._integrations=vi(this._options))},e.prototype.getIntegration=function(e){try{return this._integrations[e.id]||null}catch(t){return Zr.warn("Cannot retrieve integration "+e.id+" from the current Client"),null}},e.prototype._updateSessionFromEvent=function(e,t){var n,r,i,a=!1,o=!1,s=t.exception&&t.exception.values;if(s){o=!0;try{for(var c=Object(Br.e)(s),u=c.next();!u.done;u=c.next()){var l=u.value.mechanism;if(l&&!1===l.handled){a=!0;break}}}catch(e){n={error:e}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}}var f=t.user;if(!e.userAgent){var d=t.request?t.request.headers:{};for(var p in d)if("user-agent"===p.toLowerCase()){i=d[p];break}}e.update(Object(Br.a)(Object(Br.a)({},a&&{status:$r.Crashed}),{user:f,userAgent:i,errors:e.errors+Number(o||a)}))},e.prototype._sendSession=function(e){this._getBackend().sendSession(e)},e.prototype._isClientProcessing=function(e){var t=this;return new Vr((function(n){var r=0,i=setInterval((function(){0==t._processing?(clearInterval(i),n(!0)):(r+=1,e&&r>=e&&(clearInterval(i),n(!1)))}),1)}))},e.prototype._getBackend=function(){return this._backend},e.prototype._isEnabled=function(){return!1!==this.getOptions().enabled&&void 0!==this._dsn},e.prototype._prepareEvent=function(e,t,n){var r=this,i=this.getOptions().normalizeDepth,a=void 0===i?3:i,o=Object(Br.a)(Object(Br.a)({},e),{event_id:e.event_id||(n&&n.event_id?n.event_id:Object(Yr.i)()),timestamp:e.timestamp||Object(qr.a)()});this._applyClientOptions(o),this._applyIntegrationsMetadata(o);var s=t;n&&n.captureContext&&(s=Gr.clone(s).update(n.captureContext));var c=Vr.resolve(o);return s&&(c=s.applyToEvent(o,n)),c.then((function(e){return"number"==typeof a&&a>0?r._normalizeEvent(e,a):e}))},e.prototype._normalizeEvent=function(e,t){if(!e)return null;var n=Object(Br.a)(Object(Br.a)(Object(Br.a)(Object(Br.a)(Object(Br.a)({},e),e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map((function(e){return Object(Br.a)(Object(Br.a)({},e),e.data&&{data:Object(ti.d)(e.data,t)})}))}),e.user&&{user:Object(ti.d)(e.user,t)}),e.contexts&&{contexts:Object(ti.d)(e.contexts,t)}),e.extra&&{extra:Object(ti.d)(e.extra,t)});return e.contexts&&e.contexts.trace&&(n.contexts.trace=e.contexts.trace),n},e.prototype._applyClientOptions=function(e){var t=this.getOptions(),n=t.environment,r=t.release,i=t.dist,a=t.maxValueLength,o=void 0===a?250:a;"environment"in e||(e.environment="environment"in t?n:"production"),void 0===e.release&&void 0!==r&&(e.release=r),void 0===e.dist&&void 0!==i&&(e.dist=i),e.message&&(e.message=Object(li.d)(e.message,o));var s=e.exception&&e.exception.values&&e.exception.values[0];s&&s.value&&(s.value=Object(li.d)(s.value,o));var c=e.request;c&&c.url&&(c.url=Object(li.d)(c.url,o))},e.prototype._applyIntegrationsMetadata=function(e){var t=e.sdk,n=Object.keys(this._integrations);t&&n.length>0&&(t.integrations=n)},e.prototype._sendEvent=function(e){this._getBackend().sendEvent(e)},e.prototype._captureEvent=function(e,t,n){return this._processEvent(e,t,n).then((function(e){return e.event_id}),(function(e){Zr.error(e)}))},e.prototype._processEvent=function(e,t,n){var r=this,i=this.getOptions(),a=i.beforeSend,o=i.sampleRate;if(!this._isEnabled())return Vr.reject(new hi("SDK not enabled, will not send event."));var s="transaction"===e.type;return!s&&"number"==typeof o&&Math.random()>o?Vr.reject(new hi("This event has been sampled, will not send event.")):this._prepareEvent(e,n,t).then((function(e){if(null===e)throw new hi("An event processor returned null, will not send event.");if(t&&t.data&&!0===t.data.__sentry__||s||!a)return e;var n=a(e,t);if(void 0===n)throw new hi("`beforeSend` method has to return `null` or a valid event.");return Object(Hr.m)(n)?n.then((function(e){return e}),(function(e){throw new hi("beforeSend rejected with "+e)})):n})).then((function(e){if(null===e)throw new hi("`beforeSend` returned `null`, will not send event.");var t=n&&n.getSession&&n.getSession();return!s&&t&&r._updateSessionFromEvent(t,e),r._sendEvent(e),e})).then(null,(function(e){if(e instanceof hi)throw e;throw r.captureException(e,{data:{__sentry__:!0},originalException:e}),new hi("Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: "+e)}))},e.prototype._process=function(e){var t=this;this._processing+=1,e.then((function(e){return t._processing-=1,e}),(function(e){return t._processing-=1,e}))},e}();!function(e){e.Unknown="unknown",e.Skipped="skipped",e.Success="success",e.RateLimit="rate_limit",e.Invalid="invalid",e.Failed="failed"}(gi||(gi={})),function(e){e.fromHttpCode=function(t){return t>=200&&t<300?e.Success:429===t?e.RateLimit:t>=400&&t<500?e.Invalid:t>=500?e.Failed:e.Unknown}}(gi||(gi={}));var wi,Ei=function(){function e(){}return e.prototype.sendEvent=function(e){return Vr.resolve({reason:"NoopTransport: Event has been skipped because no Dsn is configured.",status:gi.Skipped})},e.prototype.close=function(e){return Vr.resolve(!0)},e}(),ki=function(){function e(e){this._options=e,this._options.dsn||Zr.warn("No DSN provided, backend will not do anything."),this._transport=this._setupTransport()}return e.prototype.eventFromException=function(e,t){throw new hi("Backend has to implement `eventFromException` method")},e.prototype.eventFromMessage=function(e,t,n){throw new hi("Backend has to implement `eventFromMessage` method")},e.prototype.sendEvent=function(e){this._transport.sendEvent(e).then(null,(function(e){Zr.error("Error while sending event: "+e)}))},e.prototype.sendSession=function(e){this._transport.sendSession?this._transport.sendSession(e).then(null,(function(e){Zr.error("Error while sending session: "+e)})):Zr.warn("Dropping session because custom transport doesn't implement sendSession")},e.prototype.getTransport=function(){return this._transport},e.prototype._setupTransport=function(){return new Ei},e}();function Oi(){if(!("fetch"in Object(Yr.e)()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(e){return!1}}function Si(e){return e&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Ai(){if(!Oi())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch(e){return!1}}!function(e){e.Fatal="fatal",e.Error="error",e.Warning="warning",e.Log="log",e.Info="info",e.Debug="debug",e.Critical="critical"}(wi||(wi={})),function(e){e.fromString=function(t){switch(t){case"debug":return e.Debug;case"info":return e.Info;case"warn":case"warning":return e.Warning;case"error":return e.Error;case"fatal":return e.Fatal;case"critical":return e.Critical;case"log":default:return e.Log}}}(wi||(wi={}));var ji=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,xi=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,Ti=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,Ci=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Pi=/\((\S*)(?::(\d+))(?::(\d+))\)/,Ni=/Minified React error #\d+;/i;function Di(e){var t=null,n=0;e&&("number"==typeof e.framesToPop?n=e.framesToPop:Ni.test(e.message)&&(n=1));try{if(t=function(e){if(!e||!e.stacktrace)return null;for(var t,n=e.stacktrace,r=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,i=/ line (\d+), column (\d+)\s*(?:in (?:]+)>|([^)]+))\((.*)\))? in (.*):\s*$/i,a=n.split("\n"),o=[],s=0;s eval")>-1&&(t=Ci.exec(n[3]))?(n[1]=n[1]||"eval",n[3]=t[1],n[4]=t[2],n[5]=""):0!==o||n[5]||void 0===e.columnNumber||(i[0].column=e.columnNumber+1),r={url:n[3],func:n[1]||"?",args:n[2]?n[2].split(","):[],line:n[4]?+n[4]:null,column:n[5]?+n[5]:null}}!r.func&&r.line&&(r.func="?"),i.push(r)}if(!i.length)return null;return{message:Ri(e),name:e.name,stack:i}}(e))return Ii(t,n)}catch(e){}return{message:Ri(e),name:e&&e.name,stack:[],failed:!0}}function Ii(e,t){try{return Object(Br.a)(Object(Br.a)({},e),{stack:e.stack.slice(t)})}catch(t){return e}}function Ri(e){var t=e&&e.message;return t?t.error&&"string"==typeof t.error.message?t.error.message:t:"No error message"}function Li(e){var t=Ui(e.stack),n={type:e.name,value:e.message};return t&&t.length&&(n.stacktrace={frames:t}),void 0===n.type&&""===n.value&&(n.value="Unrecoverable error caught"),n}function Mi(e){return{exception:{values:[Li(e)]}}}function Ui(e){if(!e||!e.length)return[];var t=e,n=t[0].func||"",r=t[t.length-1].func||"";return-1===n.indexOf("captureMessage")&&-1===n.indexOf("captureException")||(t=t.slice(1)),-1!==r.indexOf("sentryWrapped")&&(t=t.slice(0,-1)),t.slice(0,50).map((function(e){return{colno:null===e.column?void 0:e.column,filename:e.url||t[0].url,function:e.func||"?",in_app:!0,lineno:null===e.line?void 0:e.line}})).reverse()}function Fi(e,t,n){var r;if(void 0===n&&(n={}),Object(Hr.e)(e)&&e.error)return r=Mi(Di(e=e.error));if(Object(Hr.a)(e)||Object(Hr.b)(e)){var i=e,a=i.name||(Object(Hr.a)(i)?"DOMError":"DOMException"),o=i.message?a+": "+i.message:a;return r=zi(o,t,n),Object(Yr.b)(r,o),"code"in i&&(r.tags=Object(Br.a)(Object(Br.a)({},r.tags),{"DOMException.code":""+i.code})),r}return Object(Hr.d)(e)?r=Mi(Di(e)):Object(Hr.h)(e)||Object(Hr.f)(e)?(r=function(e,t,n){var r={exception:{values:[{type:Object(Hr.f)(e)?e.constructor.name:n?"UnhandledRejection":"Error",value:"Non-Error "+(n?"promise rejection":"exception")+" captured with keys: "+Object(ti.b)(e)}]},extra:{__serialized__:Object(ti.e)(e)}};if(t){var i=Ui(Di(t).stack);r.stacktrace={frames:i}}return r}(e,t,n.rejection),Object(Yr.a)(r,{synthetic:!0}),r):(r=zi(e,t,n),Object(Yr.b)(r,""+e,void 0),Object(Yr.a)(r,{synthetic:!0}),r)}function zi(e,t,n){void 0===n&&(n={});var r={message:e};if(n.attachStacktrace&&t){var i=Ui(Di(t).stack);r.stacktrace={frames:i}}return r}function Bi(e,t){return{body:JSON.stringify({sent_at:(new Date).toISOString()})+"\n"+JSON.stringify({type:"session"})+"\n"+JSON.stringify(e),type:"session",url:t.getEnvelopeEndpointWithUrlEncodedAuth()}}function Hi(e,t){var n="transaction"===e.type,r={body:JSON.stringify(e),type:e.type||"event",url:n?t.getEnvelopeEndpointWithUrlEncodedAuth():t.getStoreEndpointWithUrlEncodedAuth()};if(n){var i=JSON.stringify({event_id:e.event_id,sent_at:(new Date).toISOString()})+"\n"+JSON.stringify({type:e.type})+"\n"+r.body;r.body=i}return r}var qi=function(){function e(e){this.dsn=e,this._dsnObject=new bi(e)}return e.prototype.getDsn=function(){return this._dsnObject},e.prototype.getBaseApiEndpoint=function(){var e=this._dsnObject,t=e.protocol?e.protocol+":":"",n=e.port?":"+e.port:"";return t+"//"+e.host+n+(e.path?"/"+e.path:"")+"/api/"},e.prototype.getStoreEndpoint=function(){return this._getIngestEndpoint("store")},e.prototype.getStoreEndpointWithUrlEncodedAuth=function(){return this.getStoreEndpoint()+"?"+this._encodedAuth()},e.prototype.getEnvelopeEndpointWithUrlEncodedAuth=function(){return this._getEnvelopeEndpoint()+"?"+this._encodedAuth()},e.prototype.getStoreEndpointPath=function(){var e=this._dsnObject;return(e.path?"/"+e.path:"")+"/api/"+e.projectId+"/store/"},e.prototype.getRequestHeaders=function(e,t){var n=this._dsnObject,r=["Sentry sentry_version=7"];return r.push("sentry_client="+e+"/"+t),r.push("sentry_key="+n.user),n.pass&&r.push("sentry_secret="+n.pass),{"Content-Type":"application/json","X-Sentry-Auth":r.join(", ")}},e.prototype.getReportDialogEndpoint=function(e){void 0===e&&(e={});var t=this._dsnObject,n=this.getBaseApiEndpoint()+"embed/error-page/",r=[];for(var i in r.push("dsn="+t.toString()),e)if("user"===i){if(!e.user)continue;e.user.name&&r.push("name="+encodeURIComponent(e.user.name)),e.user.email&&r.push("email="+encodeURIComponent(e.user.email))}else r.push(encodeURIComponent(i)+"="+encodeURIComponent(e[i]));return r.length?n+"?"+r.join("&"):n},e.prototype._getEnvelopeEndpoint=function(){return this._getIngestEndpoint("envelope")},e.prototype._getIngestEndpoint=function(e){return""+this.getBaseApiEndpoint()+this._dsnObject.projectId+"/"+e+"/"},e.prototype._encodedAuth=function(){var e={sentry_key:this._dsnObject.user,sentry_version:"7"};return Object(ti.f)(e)},e}(),Vi=function(){function e(e){this._limit=e,this._buffer=[]}return e.prototype.isReady=function(){return void 0===this._limit||this.length()0&&n(!1)}),e);Vr.all(t._buffer).then((function(){clearTimeout(r),n(!0)})).then(null,(function(){n(!0)}))}))},e}(),Yi=function(){function e(e){this.options=e,this._buffer=new Vi(30),this._rateLimits={},this._api=new qi(this.options.dsn),this.url=this._api.getStoreEndpointWithUrlEncodedAuth()}return e.prototype.sendEvent=function(e){throw new hi("Transport Class has to implement `sendEvent` method")},e.prototype.close=function(e){return this._buffer.drain(e)},e.prototype._handleResponse=function(e){var t=e.requestType,n=e.response,r=e.headers,i=e.resolve,a=e.reject,o=gi.fromHttpCode(n.status);this._handleRateLimit(r)&&Zr.warn("Too many requests, backing off till: "+this._disabledUntil(t)),o!==gi.Success?a(n):i({status:o})},e.prototype._disabledUntil=function(e){return this._rateLimits[e]||this._rateLimits.all},e.prototype._isRateLimited=function(e){return this._disabledUntil(e)>new Date(Date.now())},e.prototype._handleRateLimit=function(e){var t,n,r,i,a=Date.now(),o=e["x-sentry-rate-limits"],s=e["retry-after"];if(o){try{for(var c=Object(Br.e)(o.trim().split(",")),u=c.next();!u.done;u=c.next()){var l=u.value.split(":",2),f=parseInt(l[0],10),d=1e3*(isNaN(f)?60:f);try{for(var p=(r=void 0,Object(Br.e)(l[1].split(";"))),h=p.next();!h.done;h=p.next()){var m=h.value;this._rateLimits[m||"all"]=new Date(a+d)}}catch(e){r={error:e}}finally{try{h&&!h.done&&(i=p.return)&&i.call(p)}finally{if(r)throw r.error}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=c.return)&&n.call(c)}finally{if(t)throw t.error}}return!0}return!!s&&(this._rateLimits.all=new Date(a+Object(Yr.g)(a,s)),!0)},e}(),Gi=Object(Yr.e)(),Wi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(Br.b)(t,e),t.prototype.sendEvent=function(e){return this._sendRequest(Hi(e,this._api),e)},t.prototype.sendSession=function(e){return this._sendRequest(Bi(e,this._api),e)},t.prototype._sendRequest=function(e,t){var n=this;if(this._isRateLimited(e.type))return Promise.reject({event:t,type:e.type,reason:"Transport locked till "+this._disabledUntil(e.type)+" due to too many requests.",status:429});var r={body:e.body,method:"POST",referrerPolicy:Ai()?"origin":""};return void 0!==this.options.fetchParameters&&Object.assign(r,this.options.fetchParameters),void 0!==this.options.headers&&(r.headers=this.options.headers),this._buffer.add(new Vr((function(t,i){Gi.fetch(e.url,r).then((function(r){var a={"x-sentry-rate-limits":r.headers.get("X-Sentry-Rate-Limits"),"retry-after":r.headers.get("Retry-After")};n._handleResponse({requestType:e.type,response:r,headers:a,resolve:t,reject:i})})).catch(i)})))},t}(Yi),Ki=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(Br.b)(t,e),t.prototype.sendEvent=function(e){return this._sendRequest(Hi(e,this._api),e)},t.prototype.sendSession=function(e){return this._sendRequest(Bi(e,this._api),e)},t.prototype._sendRequest=function(e,t){var n=this;return this._isRateLimited(e.type)?Promise.reject({event:t,type:e.type,reason:"Transport locked till "+this._disabledUntil(e.type)+" due to too many requests.",status:429}):this._buffer.add(new Vr((function(t,r){var i=new XMLHttpRequest;for(var a in i.onreadystatechange=function(){if(4===i.readyState){var a={"x-sentry-rate-limits":i.getResponseHeader("X-Sentry-Rate-Limits"),"retry-after":i.getResponseHeader("Retry-After")};n._handleResponse({requestType:e.type,response:i,headers:a,resolve:t,reject:r})}},i.open("POST",e.url),n.options.headers)n.options.headers.hasOwnProperty(a)&&i.setRequestHeader(a,n.options.headers[a]);i.send(e.body)})))},t}(Yi),Qi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(Br.b)(t,e),t.prototype.eventFromException=function(e,t){return function(e,t,n){var r=Fi(t,n&&n.syntheticException||void 0,{attachStacktrace:e.attachStacktrace});return Object(Yr.a)(r,{handled:!0,type:"generic"}),r.level=wi.Error,n&&n.event_id&&(r.event_id=n.event_id),Vr.resolve(r)}(this._options,e,t)},t.prototype.eventFromMessage=function(e,t,n){return void 0===t&&(t=wi.Info),function(e,t,n,r){void 0===n&&(n=wi.Info);var i=zi(t,r&&r.syntheticException||void 0,{attachStacktrace:e.attachStacktrace});return i.level=n,r&&r.event_id&&(i.event_id=r.event_id),Vr.resolve(i)}(this._options,e,t,n)},t.prototype._setupTransport=function(){if(!this._options.dsn)return e.prototype._setupTransport.call(this);var t=Object(Br.a)(Object(Br.a)({},this._options.transportOptions),{dsn:this._options.dsn});return this._options.transport?new this._options.transport(t):Oi()?new Wi(t):new Ki(t)},t}(ki);function Xi(e){for(var t=[],n=1;n0}function ta(){Zi+=1,setTimeout((function(){Zi-=1}))}function na(e,t,n){if(void 0===t&&(t={}),"function"!=typeof e)return e;try{if(e.__sentry__)return e;if(e.__sentry_wrapped__)return e.__sentry_wrapped__}catch(t){return e}var r=function(){var r=Array.prototype.slice.call(arguments);try{n&&"function"==typeof n&&n.apply(this,arguments);var i=r.map((function(e){return na(e,t)}));return e.handleEvent?e.handleEvent.apply(this,i):e.apply(this,i)}catch(e){throw ta(),$i((function(n){n.addEventProcessor((function(e){var n=Object(Br.a)({},e);return t.mechanism&&(Object(Yr.b)(n,void 0,void 0),Object(Yr.a)(n,t.mechanism)),n.extra=Object(Br.a)(Object(Br.a)({},n.extra),{arguments:r}),n})),Ji(e)})),e}};try{for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i])}catch(e){}e.prototype=e.prototype||{},r.prototype=e.prototype,Object.defineProperty(e,"__sentry_wrapped__",{enumerable:!1,value:r}),Object.defineProperties(r,{__sentry__:{enumerable:!1,value:!0},__sentry_original__:{enumerable:!1,value:e}});try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get:function(){return e.name}})}catch(e){}return r}function ra(e){if(void 0===e&&(e={}),e.eventId)if(e.dsn){var t=document.createElement("script");t.async=!0,t.src=new qi(e.dsn).getReportDialogEndpoint(e),e.onLoad&&(t.onload=e.onLoad),(document.head||document.body).appendChild(t)}else Zr.error("Missing dsn option in showReportDialog call");else Zr.error("Missing eventId option in showReportDialog call")}var ia,aa=n(152),oa=Object(Yr.e)(),sa={},ca={};function ua(e){if(!ca[e])switch(ca[e]=!0,e){case"console":!function(){if(!("console"in oa))return;["debug","info","warn","error","log","assert"].forEach((function(e){e in oa.console&&Object(ti.c)(oa.console,e,(function(t){return function(){for(var n=[],r=0;r2?t[2]:void 0;if(r){var i=ia,a=String(r);ia=a,fa("history",{from:i,to:a})}return e.apply(this,t)}}oa.onpopstate=function(){for(var e=[],t=0;t"}0!==t.length&&oi().addBreadcrumb({category:"ui."+e.name,message:t},{event:e.event,name:e.name})},e.prototype._xhrBreadcrumb=function(e){if(e.endTimestamp){if(e.xhr.__sentry_own_request__)return;var t=e.xhr.__sentry_xhr__||{},n=t.method,r=t.url,i=t.status_code,a=t.body;oi().addBreadcrumb({category:"xhr",data:{method:n,url:r,status_code:i},type:"http"},{xhr:e.xhr,input:a})}else;},e.prototype._fetchBreadcrumb=function(e){e.endTimestamp&&(e.fetchData.url.match(/sentry_key/)&&"POST"===e.fetchData.method||(e.error?oi().addBreadcrumb({category:"fetch",data:e.fetchData,level:wi.Error,type:"http"},{data:e.error,input:e.args}):oi().addBreadcrumb({category:"fetch",data:Object(Br.a)(Object(Br.a)({},e.fetchData),{status_code:e.response.status}),type:"http"},{input:e.args,response:e.response})))},e.prototype._historyBreadcrumb=function(e){var t=Object(Yr.e)(),n=e.from,r=e.to,i=Object(Yr.h)(t.location.href),a=Object(Yr.h)(n),o=Object(Yr.h)(r);a.path||(a=i),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),i.protocol===a.protocol&&i.host===a.host&&(n=a.relative),oi().addBreadcrumb({category:"navigation",data:{from:n,to:r}})},e.id="Breadcrumbs",e}(),ka=function(e){function t(t){return void 0===t&&(t={}),e.call(this,Qi,t)||this}return Object(Br.b)(t,e),t.prototype.showReportDialog=function(e){void 0===e&&(e={}),Object(Yr.e)().document&&(this._isEnabled()?ra(Object(Br.a)(Object(Br.a)({},e),{dsn:e.dsn||this.getDsn()})):Zr.error("Trying to call showReportDialog with Sentry Client disabled"))},t.prototype._prepareEvent=function(t,n,r){return t.platform=t.platform||"javascript",t.sdk=Object(Br.a)(Object(Br.a)({},t.sdk),{name:"sentry.javascript.browser",packages:Object(Br.d)(t.sdk&&t.sdk.packages||[],[{name:"npm:@sentry/browser",version:"5.27.6"}]),version:"5.27.6"}),e.prototype._prepareEvent.call(this,t,n,r)},t.prototype._sendEvent=function(t){var n=this.getIntegration(Ea);n&&n.addSentryBreadcrumb(t),e.prototype._sendEvent.call(this,t)},t}(_i),Oa=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Sa=function(){function e(t){this.name=e.id,this._options=Object(Br.a)({XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0},t)}return e.prototype.setupOnce=function(){var e=Object(Yr.e)();(this._options.setTimeout&&Object(ti.c)(e,"setTimeout",this._wrapTimeFunction.bind(this)),this._options.setInterval&&Object(ti.c)(e,"setInterval",this._wrapTimeFunction.bind(this)),this._options.requestAnimationFrame&&Object(ti.c)(e,"requestAnimationFrame",this._wrapRAF.bind(this)),this._options.XMLHttpRequest&&"XMLHttpRequest"in e&&Object(ti.c)(XMLHttpRequest.prototype,"send",this._wrapXHR.bind(this)),this._options.eventTarget)&&(Array.isArray(this._options.eventTarget)?this._options.eventTarget:Oa).forEach(this._wrapEventTarget.bind(this))},e.prototype._wrapTimeFunction=function(e){return function(){for(var t=[],n=0;n0?t:Object(Yr.f)();return 0===e.exception.values[0].stacktrace.frames.length&&e.exception.values[0].stacktrace.frames.push({colno:i,filename:o,function:"?",in_app:!0,lineno:a}),e},e.id="GlobalHandlers",e}(),ja=function(){function e(t){void 0===t&&(t={}),this.name=e.id,this._key=t.key||"cause",this._limit=t.limit||5}return e.prototype.setupOnce=function(){Kr((function(t,n){var r=oi().getIntegration(e);return r?r._handler(t,n):t}))},e.prototype._handler=function(e,t){if(!(e.exception&&e.exception.values&&t&&Object(Hr.g)(t.originalException,Error)))return e;var n=this._walkErrorTree(t.originalException,this._key);return e.exception.values=Object(Br.d)(n,e.exception.values),e},e.prototype._walkErrorTree=function(e,t,n){if(void 0===n&&(n=[]),!Object(Hr.g)(e[t],Error)||n.length+1>=this._limit)return n;var r=Li(Di(e[t]));return this._walkErrorTree(e[t],t,Object(Br.d)([r],n))},e.id="LinkedErrors",e}(),xa=Object(Yr.e)(),Ta=function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(){Kr((function(t){var n,r,i;if(oi().getIntegration(e)){if(!xa.navigator&&!xa.location&&!xa.document)return t;var a=(null===(n=t.request)||void 0===n?void 0:n.url)||(null===(r=xa.location)||void 0===r?void 0:r.href),o=(xa.document||{}).referrer,s=(xa.navigator||{}).userAgent,c=Object(Br.a)(Object(Br.a)(Object(Br.a)({},null===(i=t.request)||void 0===i?void 0:i.headers),o&&{Referer:o}),s&&{"User-Agent":s}),u=Object(Br.a)(Object(Br.a)({},a&&{url:a}),{headers:c});return Object(Br.a)(Object(Br.a)({},t),{request:u})}return t}))},e.id="UserAgent",e}(),Ca=[new i.InboundFilters,new i.FunctionToString,new Sa,new Ea,new Aa,new ja,new Ta];function Pa(e){if(void 0===e&&(e={}),void 0===e.defaultIntegrations&&(e.defaultIntegrations=Ca),void 0===e.release){var t=Object(Yr.e)();t.SENTRY_RELEASE&&t.SENTRY_RELEASE.id&&(e.release=t.SENTRY_RELEASE.id)}void 0===e.autoSessionTracking&&(e.autoSessionTracking=!1),function(e,t){!0===t.debug&&Zr.enable();var n=oi(),r=new e(t);n.bindClient(r)}(ka,e),e.autoSessionTracking&&function(){var e=Object(Yr.e)(),t=oi(),n="complete"===document.readyState,r=!1,i=function(){r&&n&&t.endSession()},a=function(){n=!0,i(),e.removeEventListener("load",a)};t.startSession(),n||e.addEventListener("load",a);try{var o=new PerformanceObserver((function(e,t){e.getEntries().forEach((function(e){"first-contentful-paint"===e.name&&e.startTimee.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1e3&&(f=100)),o.a.createElement("div",{className:"slider slider--playback-progress slider--".concat(s)},o.a.createElement("input",{type:"range",min:"0",max:"100",value:f,className:"slider__input",onChange:l}),o.a.createElement("div",{className:"slider__track slider__track--".concat(t)},o.a.createElement("div",{className:"slider__track__progress slider__track__progress--".concat(t),style:{width:"".concat(f,"%")}})))},to=n(83),no=n(84),ro=n(287),io=n(43),ao=n(35),oo=n(19),so=function(e,t,n){var r=Object(a.useRef)();Object(a.useEffect)((function(){r.current=e}),[e]),Object(a.useEffect)((function(){function e(){r.current()}var i=n?setInterval(e,t):setTimeout(e,t);return function(){return n?clearInterval(i):clearTimeout(i)}}),[t])};function co(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function uo(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&d>=0&&o.a.createElement("div",{className:"loader__progress-text"},"".concat(f-d," / ").concat(f)))):o.a.createElement("div",{className:h},o.a.createElement("div",{className:"loader__offline"},o.a.createElement(Da.b,{name:"wifi_off"}),o.a.createElement("p",null,o.a.createElement(Ye.a,{path:"errors.need_to_be_online"}))))})),yo=n(34),vo=n(15),go=n(148),_o=n(288);function wo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Eo(e){for(var t=1;t0?Object(ge.d)(h.join(",")):"",b=Object(ne.compact)(l.map((function(e){return e.can_edit?Eo(Eo({},e),{},{is_pinned:!1}):null})));return b=Object(X.g)(b,"name"),b=Object(X.g)(b,"is_pinned",!0),o.a.createElement("div",{className:"context-menu__section context-menu__section--submenu"},o.a.createElement("div",{className:"context-menu__item context-menu__item--functional"},o.a.createElement("a",{className:"context-menu__item__link",onClick:s},o.a.createElement("span",{className:"context-menu__item__label"},o.a.createElement(Da.b,{name:"arrow_back"}),o.a.createElement("span",null,o.a.createElement(Ye.a,{path:"actions.back"}))))),o.a.createElement("div",{className:"context-menu__item context-menu__item--functional"},o.a.createElement(Na.a,{className:"context-menu__item__link",to:"/modal/create-playlist/".concat(m)},o.a.createElement("span",{className:"context-menu__item__label"},o.a.createElement(Da.b,{name:"add"}),o.a.createElement("span",null,o.a.createElement(Ye.a,{path:"context_menu.add_to_playlist.new_playlist"}))))),f?o.a.createElement("div",{className:"context-menu__item context-menu__item--loader"},o.a.createElement(Loader,{className:"context-menu__item",mini:!0,loading:!0})):o.a.createElement(o.a.Fragment,null,b.length>0?b.map((function(e){var t=e.is_pinned?"em":"span";return o.a.createElement(t,{className:"context-menu__item",key:e.uri},o.a.createElement("a",{className:"context-menu__item__link",onClick:function(){return t=e.uri,p(Object(Ja.hideContextMenu)()),void p(Object(Ve.addTracksToPlaylist)(t,h));var t}},o.a.createElement("span",{className:"context-menu__item__label"},e.name)))})):o.a.createElement("span",{className:"context-menu__item"},o.a.createElement("span",{className:"context-menu__item mid_grey-text"},o.a.createElement("span",{className:"context-menu__item__link context-menu__item__link--inactive"},o.a.createElement(Ye.a,{path:"context_menu.add_to_playlist.no_playlists"}))))))};function So(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ao(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ao(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ao(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nwindow.innerWidth-174&&(h.left="auto",h.right=10),(null==t?void 0:t.position_y)>window.innerHeight-200&&(h.top="auto",h.bottom=10),o.a.createElement("div",{id:"context-menu",className:m,style:h,ref:c},o.a.createElement("div",{className:"context-menu__section context-menu__section--items"},"custom"!==(null==t?void 0:t.type)&&o.a.createElement(jo,{context_menu:t}),o.a.createElement(_o.a,{context_menu:t,onSubmenu:function(){return f(!0)}})),l&&o.a.createElement(Oo,{context_menu:t,allPlaylists:r,onClose:function(){return f(!1)},loading:n,providers:i}),o.a.createElement("div",{className:"context-menu__background",onClick:s}))}))),No=n(52),Do=n(36),Io=n(61),Ro=function(e){var t=e.item,n=t.key,r=t.type,i=t.level,a=t.title,s=t.content,c=t.description,l=t.links,f=(t.configuration,t.duration),d=t.closing,p=(e.importConfiguration,Object(u.c)()),h=Ja.removeNotification;switch(r){case"shortcut":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--shortcut".concat(d?" closing":""),"data-duration":f},o.a.createElement(Da.b,{name:s}),a&&o.a.createElement("h4",{className:"notification__title"},a)));default:return o.a.createElement("div",{className:"notification__wrapper",key:n},o.a.createElement("div",{className:"notification notification--".concat(i).concat(d?" closing":""),"data-key":n,"data-duration":f},o.a.createElement(Da.b,{name:"close",className:"notification__close-button",onClick:function(){return p(h(n,!0))}}),a&&o.a.createElement("h4",{className:"notification__title"},a),s&&o.a.createElement("div",{className:"notification__content"},s),c&&o.a.createElement("div",{className:"notification__description"},c),l&&o.a.createElement("div",{className:"notification__actions"},l.map((function(e,t){return o.a.createElement(Wa.b,{type:"secondary",className:"notification__actions__item",href:e.url,target:e.new_window?"_blank":"self",key:t,tracking:{category:"NotificationLink",action:"Click",label:e.text}},e.text)})))))}},Lo=function(){var e=Object(u.d)((function(e){return e.ui.notifications})),t=Object(X.d)(e),n=Object(u.c)(),r=function(e,t){t.ui&&n(Ja.set(t.ui)),t.spotify&&n(vo.importAuthorization(t.spotify.authorization,t.spotify.me)),t.snapcast&&(n(Do.set(t.snapcast)),setTimeout((function(){return n(Do.connect())}),100)),t.lastfm&&n(yo.importAuthorization(t.lastfm.authorization,t.lastfm.me)),t.genius&&n(No.importAuthorization(t.genius.authorization,t.genius.me)),n(Ja.removeNotification(e,!0)),n(Ja.createNotification({content:Object(Ye.b)("modal.shared_config.imported")}))};return t&&t.length?o.a.createElement(Io.a,null,t.map((function(e){return o.a.createElement(Ro,{key:"".concat(e.key,"_").concat(e.status),item:e,importConfiguration:r})}))):null},Mo=function(e){var t=e.item,n=t.total,r=t.remaining,i=t.level,a=void 0===i?"info":i,s=t.content,c=t.description,u=t.status,l=t.closing,f=e.cancelProcess,d=e.closeProcess,p=0;switch(n&&r&&(p=((n-r)/n).toFixed(4)),u){case"running":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--".concat(a," notification--process").concat(l?" closing":"")},o.a.createElement(bo,{progress:p,loading:!0,mini:!0,white:!0}),s&&""!==s&&o.a.createElement("div",{className:"notification__content"},s),c&&""!==c&&o.a.createElement("div",{className:"notification__description"},c),o.a.createElement(Da.b,{name:"close",className:"notification__close-button",onClick:f})));case"finished":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--".concat(a," notification--process").concat(l?" closing":"")},o.a.createElement(Da.b,{className:"notification__icon",name:"error"===a?"close":"check"}),s&&""!==s&&o.a.createElement("div",{className:"notification__content"},s),c&&""!==c&&o.a.createElement("div",{className:"notification__description"},c),o.a.createElement(Da.b,{name:"close",className:"notification__close-button",onClick:d})));case"cancelling":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--".concat(a," notification--process cancelling").concat(l?" closing":"")},o.a.createElement(bo,{progress:p,loading:!0,mini:!0,white:!0}),s&&""!==s&&o.a.createElement("div",{className:"notification__content"},s),c&&""!==c&&o.a.createElement("div",{className:"notification__description"},c),o.a.createElement(Da.b,{name:"close",className:"notification__close-button"})));default:return null}},Uo=function(){var e=Object(u.c)(),t=Object(u.d)((function(e){return e.ui.processes})),n=Object(X.d)(t).filter((function(e){return e.notification&&"cancelled"!==e.status&&"completed"!==e.status}));if(!n||!n.length)return null;var r=Ja.cancelProcess,i=Ja.closeProcess;return o.a.createElement(o.a.Fragment,null,n.map((function(t){return o.a.createElement(Mo,{key:"".concat(t.key,"_").concat(t.status),item:t,closeProcess:function(){return e(i(t.key))},cancelProcess:function(){return e(r(t.key))}})})))},Fo=function(){return o.a.createElement("div",{className:"notifications"},o.a.createElement(Lo,null),o.a.createElement(Uo,null))},zo=function(){var e=Object(u.d)((function(e){return e.ui.slim_mode})),t=Object(u.c)();return window.addEventListener("resize",(function(){Math.max(document.documentElement.clientWidth,window.innerWidth||0)<=800?e||t(Object(Ja.setSlimMode)(!0)):e&&t(Object(Ja.setSlimMode)(!1))}),!1),null},Bo=n(289);var Ho=function(){var e,t,n="".concat((new Date).getTime());try{return(e=window.localStorage).setItem(n,n),t=e.getItem(n)===n,e.removeItem(n),t&&e}catch(e){return!1}}(),qo=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Ho){var n=Ho.getItem(e);return n?JSON.parse(n):t}return console.warn("localStorage not available. Using default value for '".concat(e,"'.")),t},Vo=function(e){var t=new Image;return t.src=e,t.complete};function Yo(e){return(Yo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Go(e,t){for(var n=0;n0?o.a.createElement("div",{className:"debug-info-item"},n.map((function(e,t){return o.a.createElement("div",{key:"".concat(e,"_").concat(t)},e)}))):o.a.createElement("div",{className:"debug-info-item mid_grey-text"},"Nothing loading")})),$o(Xo(t),"render",(function(){var e=t.localStorageSize(),n=t.props,r=n.items,i=void 0===r?{}:r,a=n.notifications,s=void 0===a?{}:a,c=n.processes,u=void 0===c?{}:c,l=n.slim_mode,f=n.test_mode,d=n.selected_tracks,p=void 0===d?[]:d,h=n.enqueue_uris_batches,m=void 0===h?[]:h;return o.a.createElement("div",{className:"debug-info"},o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("div",{className:"debug-info-item"},"Version: ".concat(version)),o.a.createElement("div",{className:"debug-info-item"},"Build: ".concat(build)),o.a.createElement("div",{className:"debug-info-item"},"Dimensions: ","".concat(document.documentElement.clientWidth," (").concat(window.innerWidth,")w "),"".concat(document.documentElement.clientHeight," (").concat(window.innerHeight,")h ")),o.a.createElement("div",{className:"debug-info-item"},"Pixel ratio: ".concat(window.devicePixelRatio))),o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("h5",null,"State"),o.a.createElement("div",{className:"debug-info-item"},"Items: ".concat(Object.keys(i).length)),o.a.createElement("div",{className:"debug-info-item"},"Coldstore items: ".concat(t.state.localForageLength)),o.a.createElement("div",{className:"debug-info-item"},"Notifications: ".concat(Object.keys(s).length)),o.a.createElement("div",{className:"debug-info-item"},"Processes: ".concat(Object.keys(u).length)),o.a.createElement("div",{className:"debug-info-item"},"Enqueue batches: ".concat(m.length)),o.a.createElement("div",{className:"debug-info-item"},"Cached URLs: ".concat(Object.keys(qo("cache")).length))),o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("h5",null,"Config"),o.a.createElement("div",{className:"debug-info-item"},"Slim mode: ".concat(l?"on":"off")),o.a.createElement("div",{className:"debug-info-item"},"Test mode: ".concat(f?"on":"off")),o.a.createElement("div",{className:"debug-info-item"},"Touch: ".concat(Object(Q.g)()?"on":"off")),o.a.createElement("div",{className:"debug-info-item"},"LocalStorage usage: ".concat(e.used,"kb (~").concat(e.percent,"%)")),o.a.createElement("div",{className:"debug-info-item"},"Selected tracks: ".concat(p.length),o.a.createElement("br",null),p.map((function(e,t){return o.a.createElement("div",{key:"".concat(e,"_").concat(t)},e)})))),o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("h5",null,"Load queue"),t.renderLoadQueue()))})),t.state={localForageLength:0},t}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this;Y.a.length().then((function(t){return e.setState({localForageLength:t})}))}},{key:"localStorageSize",value:function(){var e="";for(var t in window.localStorage)window.localStorage.hasOwnProperty(t)&&(e+=window.localStorage[t]);var n=0;return""!==e&&(n=(16*e.length/8192).toFixed(2)),{used:n,percent:(n/5e3*100).toFixed(2)}}}])&&Go(t.prototype,n),r&&Go(t,r),a}(o.a.Component),es=Object(u.b)((function(e){var t=e.core.items,n=e.ui,r=n.notifications,i=n.processes,a=n.slim_mode,o=n.test_mode,s=n.selected_tracks,c=n.load_queue;return{items:t,notifications:r,processes:i,slim_mode:a,test_mode:o,selected_tracks:s,enqueue_uris_batches:e.mopidy.enqueue_uris_batches,load_queue:c}}),(function(e){return{uiActions:Object(w.b)(Ja,e)}}))(Zo),ts=n(51);function ns(e){return(ns="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rs(e){return function(e){if(Array.isArray(e))return ys(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||bs(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function is(e,t,n){return(is="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ls(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function as(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&os(e,t)}function os(e,t){return(os=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ss(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ls(e);if(t){var i=ls(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return cs(this,n)}}function cs(e,t){return!t||"object"!==ns(t)&&"function"!=typeof t?us(e):t}function us(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ls(e){return(ls=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function fs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ds(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function bs(e,t){if(e){if("string"==typeof e)return ys(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ys(e,t):void 0}}function ys(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:-1,r=new Date;n<0&&(n=3650),r.setTime(r.getTime()+24*n*60*60*1e3);var i="expires="+r.toUTCString();document.cookie=e+"="+t+";"+i+";sameSite=Strict;path=/"}var _s=function(){function e(t,n){fs(this,e),hs(this,"sec",0),hs(this,"usec",0),this.sec=t,this.usec=n}return ps(e,[{key:"setMilliseconds",value:function(e){this.sec=Math.floor(e/1e3),this.usec=Math.floor(1e3*e)%1e6}},{key:"getMilliseconds",value:function(){return 1e3*this.sec+this.usec/1e3}}]),e}(),ws=function(){function e(t){fs(this,e),hs(this,"type",0),hs(this,"id",0),hs(this,"refersTo",0),hs(this,"received",new _s(0,0)),hs(this,"sent",new _s(0,0)),hs(this,"size",0)}return ps(e,[{key:"deserialize",value:function(e){var t=new DataView(e);this.type=t.getUint16(0,!0),this.id=t.getUint16(2,!0),this.refersTo=t.getUint16(4,!0),this.received=new _s(t.getInt32(6,!0),t.getInt32(10,!0)),this.sent=new _s(t.getInt32(14,!0),t.getInt32(18,!0)),this.size=t.getUint32(22,!0)}},{key:"serialize",value:function(){this.size=26+this.getSize();var e=new ArrayBuffer(this.size),t=new DataView(e);return t.setUint16(0,this.type,!0),t.setUint16(2,this.id,!0),t.setUint16(4,this.refersTo,!0),t.setInt32(6,this.sent.sec,!0),t.setInt32(10,this.sent.usec,!0),t.setInt32(14,this.received.sec,!0),t.setInt32(18,this.received.usec,!0),t.setUint32(22,this.size,!0),e}},{key:"getSize",value:function(){return 0}}]),e}(),Es=function(e){as(n,e);var t=ss(n);function n(e){var r;return fs(this,n),hs(us(r=t.call(this,e)),"codec",""),hs(us(r),"payload",void 0),r.payload=new ArrayBuffer(0),e&&r.deserialize(e),r.type=1,r}return ps(n,[{key:"deserialize",value:function(e){is(ls(n.prototype),"deserialize",this).call(this,e);var t=new DataView(e),r=t.getInt32(26,!0),i=new TextDecoder("utf-8");this.codec=i.decode(e.slice(30,30+r));var a=t.getInt32(30+r,!0);this.payload=e.slice(34+r,34+r+a)}}]),n}(ws),ks=function(e){as(n,e);var t=ss(n);function n(e){var r;return fs(this,n),hs(us(r=t.call(this,e)),"latency",new _s(0,0)),e&&r.deserialize(e),r.type=4,r}return ps(n,[{key:"deserialize",value:function(e){is(ls(n.prototype),"deserialize",this).call(this,e);var t=new DataView(e);this.latency=new _s(t.getInt32(26,!0),t.getInt32(30,!0))}},{key:"serialize",value:function(){var e=is(ls(n.prototype),"serialize",this).call(this),t=new DataView(e);return t.setInt32(26,this.latency.sec,!0),t.setInt32(30,this.latency.usec,!0),e}},{key:"getSize",value:function(){return 8}}]),n}(ws),Os=function(e){as(n,e);var t=ss(n);function n(e){var r;return fs(this,n),hs(us(r=t.call(this,e)),"json",void 0),e&&r.deserialize(e),r}return ps(n,[{key:"deserialize",value:function(e){is(ls(n.prototype),"deserialize",this).call(this,e);var t=new DataView(e).getUint32(26,!0),r=new TextDecoder;this.json=JSON.parse(r.decode(e.slice(30,30+t)))}},{key:"serialize",value:function(){var e=is(ls(n.prototype),"serialize",this).call(this),t=new DataView(e),r=JSON.stringify(this.json);t.setUint32(26,r.length,!0);for(var i=(new TextEncoder).encode(r),a=0;athis.payloadSize()/n&&(t=this.payloadSize()/n-this.idx);var r=this.idx*n;this.idx+=t;var i=r+t*n;return this.payload.slice(r,i)}},{key:"getFrameCount",value:function(){return this.payloadSize()/this.sampleFormat.frameSize()}},{key:"isEndOfChunk",value:function(){return this.idx>=this.getFrameCount()}},{key:"startMs",value:function(){return this.timestamp.getMilliseconds()+this.idx/this.sampleFormat.rate*1e3}},{key:"duration",value:function(){return(this.getFrameCount()-this.idx)/this.sampleFormat.rate*1e3}},{key:"payloadSize",value:function(){return this.payload.byteLength}},{key:"clearPayload",value:function(){this.payload=new ArrayBuffer(0)}},{key:"addPayload",value:function(e){for(var t=new ArrayBuffer(this.payload.byteLength+e.byteLength),n=new DataView(t),r=new DataView(this.payload),i=new DataView(e),a=0;a0;){if(!(this.timeProvider.serverNow()-this.chunks[0].timestamp.getMilliseconds()>5e3+this.bufferMs))break;this.chunks.shift()}}},{key:"getNextBuffer",value:function(e,t){this.chunk||(this.chunk=this.chunks.shift());var n=e.length,r=new Float32Array(n),i=new Float32Array(n),a=0,o=0,s=this.timeProvider.serverTime(t);if(this.chunk){var c=s-this.chunk.startMs(),u=n/this.sampleFormat.msRate(),l=Math.floor(Date.now()/1e3);if(this.lastLog!=l&&(this.lastLog=l),c<-u);else{if(Math.abs(c)>5){for(;this.chunk&&c>this.chunk.duration()&&(this.chunk=this.chunks.shift(),this.chunk);)c=s-this.chunk.startMs();if(this.chunk){if(c>0)this.chunk.readFrames(Math.floor(c*this.chunk.sampleFormat.msRate()));else if(c<0){var f=Math.floor(-c*this.chunk.sampleFormat.msRate());r.fill(0,0,f),i.fill(0,0,f),a=f,o=f}c=0}}var d=0,p=0;c>.1?d=Math.ceil(c):c<-.1&&(d=Math.floor(c));var h=n+d-a;for(0!=d&&(p=Math.ceil((n+d-a)/(Math.abs(d)+1)));a0?o--:(r[o+1]=r[o],i[o+1]=i[o],o++)),o++;m.isEndOfChunk()&&(this.chunk=this.chunks.shift())}0!=d&&a==h&&(a=n)}}a0&&void 0!==arguments[0]?arguments[0]:void 0;fs(this,e),hs(this,"diffBuffer",new Array),hs(this,"diff",0),hs(this,"ctx",void 0),t&&this.setAudioContext(t)}return ps(e,[{key:"setAudioContext",value:function(e){this.ctx=e,this.reset()}},{key:"reset",value:function(){this.diffBuffer.length=0,this.diff=0}},{key:"setDiff",value:function(e,t){if(0==this.now())this.reset();else{this.diffBuffer.push((e-t)/2)>100&&this.diffBuffer.shift();var n=rs(this.diffBuffer);n.sort(),this.diff=n[Math.floor(n.length/2)]}}},{key:"now",value:function(){if(this.ctx){var e=this.ctx.getOutputTimestamp?this.ctx.getOutputTimestamp().contextTime:void 0;return 1e3*(void 0!==e?e:this.ctx.currentTime)}return window.performance.now()}},{key:"nowSec",value:function(){return this.now()/1e3}},{key:"serverNow",value:function(){return this.serverTime(this.now())}},{key:"serverTime",value:function(e){return e+this.diff}}]),e}(),Cs=function(){function e(){fs(this,e),hs(this,"rate",48e3),hs(this,"channels",2),hs(this,"bits",16)}return ps(e,[{key:"msRate",value:function(){return this.rate/1e3}},{key:"toString",value:function(){return this.rate+":"+this.bits+":"+this.channels}},{key:"sampleSize",value:function(){return 24==this.bits?4:this.bits/8}},{key:"frameSize",value:function(){return this.channels*this.sampleSize()}},{key:"durationMs",value:function(e){return e/this.frameSize()*this.msRate()}}]),e}(),Ps=function(){function e(){fs(this,e)}return ps(e,[{key:"setHeader",value:function(e){return new Cs}},{key:"decode",value:function(e){return null}}]),e}(),Ns=function(e){as(n,e);var t=ss(n);function n(){return fs(this,n),t.apply(this,arguments)}return ps(n,[{key:"setHeader",value:function(e){var t=new DataView(e);if(e.byteLength<12)return null;if(1330664787!=t.getUint32(0,!0))return null;var n=new Cs;return n.rate=t.getUint32(4,!0),n.bits=t.getUint16(8,!0),n.channels=t.getUint16(10,!0),n}},{key:"decode",value:function(e){return null}}]),n}(Ps),Ds=function(e){as(n,e);var t=ss(n);function n(){var e;if(fs(this,n),hs(us(e=t.call(this)),"sampleFormat",void 0),hs(us(e),"decoder",void 0),hs(us(e),"header",null),hs(us(e),"flacChunk",void 0),hs(us(e),"pcmChunk",void 0),hs(us(e),"cacheInfo",{isCachedChunk:!1,cachedBlocks:0}),e.decoder=vs.create_libflac_decoder(!0),e.decoder){vs.init_decoder_stream(e.decoder,e.read_callback_fn.bind(us(e)),e.write_callback_fn.bind(us(e)),e.error_callback_fn.bind(us(e)),e.metadata_callback_fn.bind(us(e)),!1);vs.setOptions(e.decoder,{analyseSubframes:!0,analyseResiduals:!0})}return e.sampleFormat=new Cs,e.flacChunk=new ArrayBuffer(0),e}return ps(n,[{key:"decode",value:function(e){for(this.flacChunk=e.payload.slice(0),this.pcmChunk=e,this.pcmChunk.clearPayload(),this.cacheInfo={cachedBlocks:0,isCachedChunk:!0};this.flacChunk.byteLength&&vs.FLAC__stream_decoder_process_single(this.decoder);)vs.FLAC__stream_decoder_get_state(this.decoder);if(this.cacheInfo.cachedBlocks>0){var t=this.cacheInfo.cachedBlocks/this.sampleFormat.msRate();this.pcmChunk.timestamp.setMilliseconds(this.pcmChunk.timestamp.getMilliseconds()-t)}return this.pcmChunk}},{key:"read_callback_fn",value:function(e){if(this.header){var t=new Uint8Array(this.header);return this.header=null,{buffer:t,readDataLength:t.byteLength,error:!1}}if(this.flacChunk){this.cacheInfo.isCachedChunk=!1;var n=new Uint8Array(this.flacChunk.slice(0,Math.min(e,this.flacChunk.byteLength)));return this.flacChunk=this.flacChunk.slice(n.byteLength),{buffer:n,readDataLength:n.byteLength,error:!1}}return{buffer:new Uint8Array(0),readDataLength:0,error:!1}}},{key:"write_callback_fn",value:function(e,t){this.cacheInfo.isCachedChunk&&(this.cacheInfo.cachedBlocks+=t.blocksize);for(var n=new ArrayBuffer(t.bitsPerSample/8*t.channels*t.blocksize),r=new DataView(n),i=0;i1&&void 0!==arguments[1]?arguments[1]:"";if(window.localStorage){var n=window.localStorage.getItem(e);return null!==n?n:(window.localStorage.setItem(e,t),t)}var r,i=e+"=",a=decodeURIComponent(document.cookie),o=a.split(";"),s=ms(o);try{for(s.s();!(r=s.n()).done;){var c=r.value;if(0==(c=c.trimLeft()).indexOf(i))return c.substring(i.length,c.length)}}catch(e){s.e(e)}finally{s.f()}return gs(e,t),t}("uniqueId","xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))),e.sendMessage(t),e.syncTime(),e.syncHandle=window.setInterval((function(){return e.syncTime()}),1e3)},this.streamsocket.onerror=function(e){console.error("error:",e)},this.streamsocket.onclose=function(){window.clearInterval(e.syncHandle),setTimeout((function(){return e.connect()}),1e3)}}},{key:"onMessage",value:function(e){var t=new DataView(e.data).getUint16(0,!0);if(1==t){var n=new Es(e.data);"flac"==n.codec?this.decoder=new Ds:"pcm"==n.codec?this.decoder=new Rs:"opus"==n.codec?(this.decoder=new Ns,alert("Codec not supported: "+n.codec)):alert("Codec not supported: "+n.codec),this.decoder&&(this.sampleFormat=this.decoder.setHeader(n.payload),2!=this.sampleFormat.channels||16!=this.sampleFormat.bits?alert("Stream must be stereo with 16 bit depth, actual format: "+this.sampleFormat.toString()):(0!=this.bufferDurationMs&&(this.bufferFrameCount=Math.floor(this.bufferDurationMs*this.sampleFormat.msRate())),window.AudioContext&&(this.stopAudio(),this.setupAudioContext()),this.ctx.resume(),this.timeProvider.setAudioContext(this.ctx),this.gainNode.gain.value=this.serverSettings.muted?0:this.serverSettings.volumePercent/100,this.stream=new xs(this.timeProvider,this.sampleFormat,this.bufferMs),this.latency=(void 0!==this.ctx.baseLatency?this.ctx.baseLatency:0)+(void 0!==this.ctx.outputLatency?this.ctx.outputLatency:0),this.play()))}else if(2==t){var r=new js(e.data,this.sampleFormat);if(this.decoder){var i=this.decoder.decode(r);i&&this.stream.addChunk(i)}}else if(3==t)this.serverSettings=new As(e.data),this.gainNode.gain.value=this.serverSettings.muted?0:this.serverSettings.volumePercent/100,this.bufferMs=this.serverSettings.bufferMs-this.serverSettings.latency;else if(4==t&&this.timeProvider){var a=new ks(e.data);this.timeProvider.setDiff(a.latency.getMilliseconds(),this.timeProvider.now()-a.sent.getMilliseconds())}}},{key:"sendMessage",value:function(e){e.sent=new _s(0,0),e.sent.setMilliseconds(this.timeProvider.now()),e.id=++this.msgId,this.streamsocket.readyState==this.streamsocket.OPEN&&this.streamsocket.send(e.serialize())}},{key:"syncTime",value:function(){var e=new ks;e.latency.setMilliseconds(this.timeProvider.now()),this.sendMessage(e)}},{key:"stopAudio",value:function(){for(this.ctx.suspend();this.audioBuffers.length>0;){var e=this.audioBuffers.pop();e.onended=function(){},e.source.stop()}for(;this.freeBuffers.length>0;)this.freeBuffers.pop()}},{key:"stop",value:function(){window.clearInterval(this.syncHandle),this.stopAudio(),[WebSocket.OPEN,WebSocket.CONNECTING].includes(this.streamsocket.readyState)&&(this.streamsocket.onclose=function(){},this.streamsocket.close())}},{key:"play",value:function(){this.playTime=this.timeProvider.nowSec()+.1;for(var e=1;e<=this.audioBufferCount;++e)this.playNext()}},{key:"playNext",value:function(){var e=this,t=this.freeBuffers.pop()||this.ctx.createBuffer(this.sampleFormat.channels,this.bufferFrameCount,this.sampleFormat.rate),n=1e3*(this.playTime+this.latency)-this.bufferMs;this.stream.getNextBuffer(t,n);var r=this.ctx.createBufferSource(),i=new Is(t,this.playTime,r,this.gainNode);this.audioBuffers.push(i),i.num=++this.bufferNum,i.onended=function(t){e.freeBuffers.push(e.audioBuffers.splice(e.audioBuffers.indexOf(t),1)[0].buffer),e.playNext()},i.start(),this.playTime+=this.bufferFrameCount/this.sampleFormat.rate}}]),e}();function Ms(e){return(Ms="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Us(e,t){return(Us=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Hs(e);if(t){var i=Hs(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return zs(this,n)}}function zs(e,t){return!t||"object"!==Ms(t)&&"function"!=typeof t?Bs(e):t}function Bs(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hs(e){return(Hs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Vs=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Us(e,t)}(n,e);var t=Fs(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),qs(Bs(r=t.call(this,e)),"start",(function(){var e=r.props,t=e.host,n=e.port,i=e.ssl;if(r.snapstream)r.snapstream.play();else{var a="".concat(i?"wss":"ws","://").concat(t,":").concat(n);r.snapstream=new Ls(a)}})),qs(Bs(r),"stop",(function(){r.snapstream&&(r.snapstream.stop(),r.snapstream=null)})),qs(Bs(r),"componentDidUpdate",(function(e){var t=e.streaming_enabled,n=r.props,i=n.enabled,a=n.streaming_enabled;!t&&i&&a&&r.start(),i&&a||r.stop()})),qs(Bs(r),"render",(function(){return null})),e.enabled&&e.streaming_enabled&&r.start(),r}return n}(o.a.Component),Ys=Object(u.b)((function(e){var t=e.snapcast;return{enabled:t.enabled,streaming_enabled:t.streaming_enabled,host:t.host,port:t.port,ssl:t.ssl,username:e.pusher.username}}),(function(e){return{coreActions:Object(w.b)(Ve,e)}}))(Vs),Gs=n(150),Ws=n.n(Gs),Ks=n(46),Qs=Object(u.b)((function(e){return{loading:Object(St.g)(["(.*)(follow)|(me/albums)(.*)"])(e),spotify_authorized:e.spotify.authorization}}),(function(e){return{uiActions:Object(w.b)(Ja,e),spotifyActions:Object(w.b)(vo,e)}}))((function(e){var t=e.spotifyActions.following,n=e.uiActions.createNotification,r=e.uri,i=e.addText,a=e.removeText,s=e.spotify_authorized,c=e.is_following,u=e.loading;return r?s?!0===c?o.a.createElement(Wa.a,{type:"destructive",working:u,onClick:function(){return t(r,"DELETE")},tracking:{category:"FollowButton",action:"Remove"}},a||Object(Ye.b)("actions.remove_from_library")):o.a.createElement(Wa.a,{onClick:function(){return t(r,"PUT")},working:u,tracking:{category:"FollowButton",action:"Add"}},i||Object(Ye.b)("actions.add_to_library")):o.a.createElement(Wa.a,{disabled:!0,working:u,onClick:function(){return n({content:Object(Ye.b)("errors.authorization_required",{provider:Object(Ye.b)("services.spotify.title")}),level:"warning"})},tracking:{category:"FollowButton",action:"Add (disabled)"}},i||Object(Ye.b)("actions.add_to_library")):null})),Xs=function(e){var t=parseInt(e,10);return t>1e6?(t/=1e6,t=Math.round(10*t)/10,t="".concat(t,"m")):t>1e3?(t/=1e3,t=Math.round(10*t)/10,t="".concat(t,"k")):t=t.toLocaleString(),t},Js=n(44),$s=n(24);function Zs(e){return(Zs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ec(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?o.a.createElement("li",null,o.a.createElement(ao.a,{items:m.artists,type:"artist"})):null,m.release_date?o.a.createElement("li",null,o.a.createElement(io.a,{type:"date",data:m.release_date})):null,m.tracks?o.a.createElement("li",null,Object(Ye.b)("specs.tracks",{count:m.tracks.length})):null,!_&&m.tracks?o.a.createElement("li",null,o.a.createElement(io.a,{type:"total-time",data:m.tracks})):null,!_&&m.play_count?o.a.createElement("li",null,Object(Ye.b)("specs.plays",{count:Xs(m.play_count)})):null,!_&&m.listeners?o.a.createElement("li",null,Object(Ye.b)("specs.listeners",{count:Xs(m.listeners)})):null)),o.a.createElement("div",{className:"actions"},o.a.createElement(Wa.b,{type:"primary",onClick:function(){l(n({uris:[p],from:{uri:p,name:null==m?void 0:m.name,type:"album"}}))},tracking:{category:"Album",action:"Play"}},o.a.createElement(Ye.a,{path:"actions.play"})),"spotify"===Object(Q.p)(p)&&o.a.createElement(Qs,{uri:p,is_following:m.in_library}),o.a.createElement(Js.a,{onTrigger:function(e){return l(s({e:e,item:m,type:"album"}))}})),o.a.createElement("section",{className:"list-wrapper"},o.a.createElement("h4",{className:"no-bottom-margin"},o.a.createElement(Ye.a,{path:"album.tracks.title"}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(sc,{initialValue:E,handleChange:k,onSubmit:c}),o.a.createElement($s.a,{icon:"swap_vert",name:"Sort",value:v,valueAsLabel:!0,options:S,selected_icon:v?g?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(e){var t=!1;null!==e&&v===e&&(t=!g),l(r("album_tracks",e,t)),l(c())}}))),o.a.createElement(Ks.a,{context:Object(ge.l)(uc(uc({},m),{},{can_drag:!0})),className:"album-track-list",tracks:O})),m.wiki?o.a.createElement("section",{className:"wiki"},o.a.createElement("h4",{className:"wiki__title"},Object(Ye.b)("album.wiki.title")),o.a.createElement("div",{className:"wiki__text"},o.a.createElement("p",{dangerouslySetInnerHTML:{__html:Ws()(m.wiki)}}),o.a.createElement("br",null),o.a.createElement("div",{className:"mid_grey-text"},o.a.createElement(Ye.a,{path:"album.wiki.published",date:m.wiki_publish_date})))):null)},hc=n(149);function mc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bc(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?"70":"100")},v&&o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.overview.top_tracks"})),o.a.createElement("div",{className:"list-wrapper"},o.a.createElement(Ks.a,{context:Object(ge.l)(t),className:"artist-track-list",uri:y,tracks:v?v.slice(0,10):[]}))),o.a.createElement("div",{className:"col col--w5"}),g&&g.length>0&&o.a.createElement("div",{className:"col col--w25 related-artists"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.overview.related_artists.title"})),o.a.createElement("div",{className:"list-wrapper"},o.a.createElement(_c,{artists:g.slice(0,6)})),o.a.createElement(Wa.b,{to:"/artist/".concat(Object(ge.d)(y),"/related-artists"),scrollTo:"#sub-views-menu"},o.a.createElement(Ye.a,{path:"artist.overview.related_artists.more"}))),o.a.createElement("div",{className:"cf"}),o.a.createElement("div",{className:"albums"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.overview.albums",count:_?_.length:0}),w&&o.a.createElement(bo,{loading:!0,mini:!0}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(sc,{initialValue:s,handleChange:c,onSubmit:function(){r(Object(Ja.hideContextMenu)())}}),o.a.createElement($s.a,{icon:"swap_vert",name:"Sort",value:m,valueAsLabel:!0,options:E,selected_icon:m?b?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(e){var t=!1;null!==e&&m===e&&(t=!b),r(Object(Ja.setSort)("artist_albums",e,t)),r(Object(Ja.hideContextMenu)())}}),o.a.createElement($s.a,{icon:"filter_list",name:"Filter",value:f,valueAsLabel:!0,options:k,handleChange:d}))),o.a.createElement("section",{className:"grid-wrapper no-top-padding"},o.a.createElement(gc.a,{items:_}))))};function Oc(e){return function(e){if(Array.isArray(e))return jc(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Ac(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Sc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Ac(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ac(e,t){if(e){if("string"==typeof e)return jc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jc(e,t):void 0}}function jc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n10&&o.a.createElement(Na.a,{exact:!0,history:e,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/".concat(Object(ge.d)(r),"/tracks"),scrollTo:"#sub-views-menu"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.tracks.title"}))),s.related_artists&&o.a.createElement(Na.a,{exact:!0,history:e,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/".concat(Object(ge.d)(r),"/related-artists"),scrollTo:"#sub-views-menu"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.related_artists.title"}))),o.a.createElement(Na.a,{exact:!0,history:e,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/".concat(Object(ge.d)(r),"/about"),scrollTo:"#sub-views-menu"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.about.title"})))))),o.a.createElement("div",{className:"content-wrapper"},o.a.createElement(f.c,null,o.a.createElement(f.a,{exact:!0,path:"/artist/:id/related-artists"},o.a.createElement(Tc,{artist:s})),o.a.createElement(f.a,{exact:!0,path:"/artist/:id/tracks"},o.a.createElement(xc,{artist:s})),o.a.createElement(f.a,{exact:!0,path:"/artist/:id/about"},o.a.createElement(vc,{artist:s})),o.a.createElement(f.a,{exact:!0,path:"/artist/:id/:name?"},o.a.createElement(kc,{artist:s,albums:l})))))};function Pc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nc(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&o.a.createElement("li",null,o.a.createElement(io.a,{type:"total-time",data:C.tracks})),!t&&void 0!==C.followers&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.followers",count:Xs(C.followers)})),!t&&C.last_modified_date&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.edited",date:Object(io.b)("ago",C.last_modified_date)})))),o.a.createElement(Lc,{encodedUri:g,playlist:C,onPlay:function(){return b({uri:w})},handleContextMenu:function(e){return p({e:e,item:C,type:"playlist"})}}),o.a.createElement("h4",{className:"no-bottom-margin"},o.a.createElement(Ye.a,{path:"playlist.tracks.title"}),N&&o.a.createElement(bo,{loading:!0,mini:!0}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(sc,{initialValue:k,handleChange:O,onSubmit:h}),o.a.createElement($s.a,{icon:"swap_vert",name:"Sort",value:j,valueAsLabel:!0,options:R,selected_icon:j?x?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(e){var t=!1;null!==e&&j===e&&(t=!x),l("playlist_tracks",e,t),h()}}))),o.a.createElement("section",{className:"list-wrapper no-top-padding"},o.a.createElement(Ks.a,{context:Object(ge.l)(Nc(Nc({},C),{},{context:D})),className:"playlist-track-list",tracks:I,removeTracks:function(e){s(w,e)},reorderTracks:function(e,t){var n=C.snapshot_id,r=C.tracks;if("sort_id"===j&&""===k){if(x){var a=r.length-1;t=a-t+1,e=e.map((function(e){return a-e}))}i(w,e,t,n)}else m({content:Object(Ye.b)("errors.cannot_reorder.title"),description:Object(Ye.b)("errors.cannot_reorder.description"),level:"error"})}})))}));function Uc(e){return(Uc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fc(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zc(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:e.props.user,n=e.props.uiActions.setWindowTitle;n(t?Object(Ye.b)("user.title_window",{name:t.name}):Object(Ye.b)("user.title"))})),Gc(Vc(e),"loadMore",(function(){var t=e.props,n=t.uri,r=t.spotifyActions.getMore,i=t.user;r((i=void 0===i?{}:i).playlists_more,{parent_type:"user",parent_key:n,records_type:"playlist"})})),Gc(Vc(e),"isMe",(function(){var t=e.props,n=t.uri,r=t.me,i=(r=void 0===r?{}:r).id;return i&&i===Object(Q.b)("userid",n)})),Gc(Vc(e),"render",(function(){var t=e.props,n=t.uri,r=t.loading,i=t.user,a=t.playlists,s=t.slim_mode;if(r)return o.a.createElement(bo,{body:!0,loading:!0});if(!i)return o.a.createElement(ts.a,{type:"not-found",title:"Not found"},o.a.createElement("p",null,o.a.createElement(Ye.a,{path:"errors.uri_not_found",uri:n})));var c=i.images?i.images.huge:null;return o.a.createElement("div",{className:"view user-view preserve-3d"},o.a.createElement("div",{className:"intro preserve-3d"},o.a.createElement(yc,{image:c,blur:!0}),o.a.createElement("div",{className:"liner"},o.a.createElement("div",{className:"heading"},o.a.createElement("div",{className:"heading__thumbnail"},o.a.createElement(oo.a,{size:"medium",circle:!0,canZoom:!0,image:c,type:"user"})),o.a.createElement("div",{className:"heading__content"},o.a.createElement("h1",null,i.name),o.a.createElement("div",{className:"heading__content__details"},o.a.createElement("div",{className:"actions"},o.a.createElement(Qs,{className:"primary",uri:i.uri}),o.a.createElement(Js.a,{onTrigger:e.handleContextMenu})),o.a.createElement("h2",null,o.a.createElement("ul",{className:"details details--one-line"},!s&&o.a.createElement("li",{className:"source"},o.a.createElement(Da.a,{uri:i.uri})),a&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.playlists",count:Xs(a.length)})),i.followers&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.followers",count:Xs(i.followers)})),e.isMe()&&o.a.createElement("li",null,o.a.createElement("span",{className:"blue-text"},o.a.createElement(Ye.a,{path:"user.you"})))))))))),o.a.createElement("div",{className:"content-wrapper"},o.a.createElement("section",{className:"grid-wrapper"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"playlist.title_plural"})),o.a.createElement(gc.a,{items:a}))))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uri,n=e.coreActions.loadUser;this.setWindowTitle(),n(t,{full:!0})}}])&&zc(t.prototype,n),r&&zc(t,r),a}(o.a.Component),Kc=Object(u.b)((function(e,t){var n=Object(ge.b)(t.match.params.uri),r=Object(St.g)(["(.*)".concat(n,"(.*)")]),i=Object(St.e)(n)(e),a=null;i&&i.playlists_uris&&(a=Object(St.e)(i.playlists_uris)(e));return{uri:n,me:e.spotify.me,spotify_authorized:e.spotify.authorization,user:i,playlists:a,loading:r(e)}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),spotifyActions:Object(w.b)(vo,e)}}))(Wc),Qc=n(25),Xc=Object(u.b)((function(e){return{loading:Object(St.g)(["love","unlove"])(e),lastfm_authorized:e.lastfm.authorization}}),(function(e){return{uiActions:Object(w.b)(Ja,e),lastfmActions:Object(w.b)(yo,e)}}))((function(e){var t=e.uri,n=e.artist,r=e.track,i=e.addText,a=e.removeText,s=e.is_loved,c=e.lastfm_authorized,u=e.uiActions.createNotification,l=e.lastfmActions,f=l.unloveTrack,d=l.loveTrack,p=e.loading;return!!t&&(c?s&&"0"!==s?o.a.createElement(Wa.b,{type:"destructive",onClick:function(){return f(t,n,r)},working:p,tracking:{category:"Lastfm",action:"Unlove"}},a||Object(Ye.b)("services.lastfm.unlove")):o.a.createElement(Wa.b,{onClick:function(){return d(t,n,r)},working:p,tracking:{category:"Lastfm",action:"Love"}},i||Object(Ye.b)("services.lastfm.love")):o.a.createElement(Wa.b,{disabled:!0,onClick:function(){u({content:Object(Ye.b)("errors.authorization_required",{provider:Object(Ye.b)("services.lastfm.title")}),level:"warning"})},working:p,tracking:{category:"Lastfm",action:"Love",label:"Disabled"}},i||Object(Ye.b)("services.lastfm.love")))})),Jc=function(e){var t=e.onChange,n=e.value,r=e.options;return o.a.createElement("div",{className:"select-field"},o.a.createElement("select",{onChange:function(e){return t(e.target.value)},value:n},r.map((function(e){return o.a.createElement("option",{value:e.value,key:e.key||e.value},e.label)}))),o.a.createElement(Da.b,{name:"arrow_drop_down",className:"select-field__icon"}))};function $c(e){return($c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zc(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eu(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:e.props.track,n=e.props.uiActions.setWindowTitle;if(t){var r="";if(r)for(var i=0;i0&&o.a.createElement(Ye.a,{path:"track.disc_number",number:i.disc_number}),i.disc_number>0&&i.track_number>0&&o.a.createElement("span",null,", "),i.track_number&&o.a.createElement(Ye.a,{path:"track.track_number",number:i.track_number})),i.duration&&o.a.createElement("li",null,o.a.createElement(io.a,{type:"length",data:i.duration})),i.popularity&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.popularity",percent:i.popularity})))),o.a.createElement("div",{className:"actions"},o.a.createElement(Wa.b,{type:"primary",onClick:e.play,tracking:{category:"Track",action:"Play"}},o.a.createElement(Ye.a,{path:"actions.play"})),o.a.createElement(Xc,{uri:r,artist:i.artists?i.artists[0].name:null,track:i.name,is_loved:i.userloved}),o.a.createElement(Js.a,{onTrigger:e.handleContextMenu})),o.a.createElement(uu,{loading:f,authorized:u,getTrackLyrics:l,track:i})):a?o.a.createElement(bo,{body:!0,loading:!0}):o.a.createElement(ts.a,{type:"not-found",title:"Not found"},o.a.createElement("p",null,Object(Ye.b)("errors.uri_not_found",{uri:r})))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uri,n=e.track;(0,e.coreActions.loadTrack)(t,{full:!0,lyrics:!0}),n&&this.setWindowTitle(n)}}])&&eu(t.prototype,n),r&&eu(t,r),a}(o.a.Component),fu=Object(u.b)((function(e,t){var n=Object(ge.b)(t.match.params.uri),r=Object(St.g)(["(.*)".concat(n,"(.*)"),"^((?!genius).)*$","^((?!contains).)*$"]),i=Object(St.g)(["^genius_(.*)lyrics_".concat(n,"$")]),a=Object(St.e)(n);return{uri:n,slim_mode:e.ui.slim_mode,loading:r(e),loadingLyrics:i(e),track:a(e),spotify_library_albums:e.spotify.library_albums,local_library_albums:e.mopidy.library_albums,lastfm_authorized:e.lastfm.authorization,spotify_authorized:e.spotify.authorization,genius_authorized:e.genius.authorization}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),lastfmActions:Object(w.b)(yo,e),spotifyActions:Object(w.b)(vo,e),geniusActions:Object(w.b)(No,e)}}))(lu);function du(e){return(du="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pu(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hu(e,t){for(var n=0;n0&&o.a.createElement("span",null,", "),o.a.createElement(ju,{item:e}))})),"radio"===(null==t?void 0:t.type)&&o.a.createElement("span",{className:"flag flag--blue"},o.a.createElement(Ye.a,{path:"now_playing.current_track.radio"}))))},Tu=Object(u.b)((function(e){var t=e.core,n=t.current_track,r=t.stream_title,i=t.items,a=t.queue,o=t.queue_metadata,s=[],c={};return a&&i&&a.forEach((function(e){var t=Ou(Ou({},e),{},{playing:n&&n.tlid===e.tlid});i[t.uri]&&(t=Ou(Ou({},i[t.uri]),t)),void 0!==o["tlid_".concat(t.tlid)]&&(t=Ou(Ou({},t),o["tlid_".concat(t.tlid)])),t.playing&&(c=t),s.push(t)})),{theme:e.ui.theme,spotify_enabled:e.spotify.enabled,radio:e.core.radio,radio_enabled:!(!e.core.radio||!e.core.radio.enabled),queue_tracks:s,current_track_uri:e.core.current_track_uri,current_track:c,added_from:c&&c.added_from?c.added_from:null,stream_title:r}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),pusherActions:Object(w.b)(Ga,e),spotifyActions:Object(w.b)(vo,e),mopidyActions:Object(w.b)(Fa,e)}}))((function(e){var t=e.queue_tracks,n=e.added_from,r=e.current_track,i=e.stream_title,s=e.theme,c=e.current_track_uri,u=e.spotify_enabled,l=e.uiActions,f=e.mopidyActions,d=f.removeTracks,p=f.changeTrack,h=f.reorderTracklist,m=f.clearTracklist,b=f.shuffleTracklist;Object(a.useEffect)((function(){return l.setWindowTitle(Object(Ye.b)("now_playing.title"))}),[]);var y=null;r&&c&&void 0!==r.images&&r.images&&(y=r.images.large);var v=o.a.createElement(o.a.Fragment,null,u&&o.a.createElement(Wa.b,{noHover:!0,discrete:!0,to:"/modal/radio"},o.a.createElement(Da.b,{name:"radio"}),o.a.createElement(Ye.a,{path:"now_playing.context_actions.radio"})),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,to:"/queue/history"},o.a.createElement(Da.b,{name:"history"}),o.a.createElement(Ye.a,{path:"now_playing.context_actions.history"})),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,to:"/modal/add-uri"},o.a.createElement(Da.b,{name:"playlist_add"}),o.a.createElement(Ye.a,{path:"actions.add"})));return o.a.createElement("div",{className:"view queue-view preserve-3d"},o.a.createElement(Qc.a,{options:v,uiActions:l},o.a.createElement(Da.b,{name:"play_arrow",type:"material"}),o.a.createElement(Ye.a,{path:"now_playing.title"})),"dark"===s&&o.a.createElement(yc,{image:y,blur:!0}),o.a.createElement("div",{className:"content-wrapper"},o.a.createElement("div",{className:"current-track"},o.a.createElement(Au,{image:y,album_uri:r&&r.album&&r.album.uri}),o.a.createElement("div",{className:"current-track__details"},o.a.createElement("div",{className:"current-track__title"},i&&o.a.createElement("span",null,i),!i&&r&&o.a.createElement(Le.a,{type:"track",uri:r.uri},r.name),!i&&!r&&o.a.createElement("span",null,"-")),o.a.createElement(ao.a,{className:"current-track__artists",items:r?r.artists:null}),n&&o.a.createElement(xu,{from:n}),o.a.createElement("div",{className:"current-track__queue-details"},o.a.createElement("ul",{className:"details"},o.a.createElement("li",null,"".concat(t.length," tracks")),o.a.createElement("li",null,o.a.createElement(io.a,{type:"total-time",data:t})),t.length>0&&o.a.createElement("li",null,o.a.createElement("a",{onClick:b},o.a.createElement(Da.b,{name:"shuffle"}),o.a.createElement(Ye.a,{path:"now_playing.current_track.shuffle"}))),t.length>0&&o.a.createElement("li",null,o.a.createElement("a",{onClick:m},o.a.createElement(Da.b,{name:"delete_sweep"}),o.a.createElement(Ye.a,{path:"now_playing.current_track.clear"}))))))),o.a.createElement("section",{className:"list-wrapper"},o.a.createElement(Ks.a,{context:{uri:"iris:queue",name:"Queue",type:"queue",can_edit:!0},show_source_icon:!0,className:"queue-track-list",tracks:t,removeTracks:function(e){for(var n=[],r=0;r0&&d(n)},playTracks:function(e){return p(e[0].tlid)},playTrack:function(e){return p(e.tlid)},reorderTracks:function(e,t){return h(e,t)}}))))}));function Cu(e){return(Cu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pu(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Nu(e,t){for(var n=0;n0&&o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Ks.a,{context:{uri:"iris:queue-history",name:"Queue history",type:"track",context:"history"},className:"queue-history-track-list",tracks:n,show_source_icon:!0})))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("queue_history.title")),this.loadHistory()}}])&&Nu(t.prototype,n),r&&Nu(t,r),a}(o.a.Component),zu=Object(u.b)((function(e){return{tracks:Object(St.l)(e)}}),(function(e){return{uiActions:Object(w.b)(Ja,e),pusherActions:Object(w.b)(Ga,e),spotifyActions:Object(w.b)(vo,e),mopidyActions:Object(w.b)(Fa,e)}}))(Fu);function Bu(e){return(Bu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hu(e,t){for(var n=0;n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function tl(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1?e[i]={uri:t}:r.push({uri:t})})),s([].concat(e,r))};return o.a.createElement(gl.ReactSortable,{options:{animation:150},className:"sources-priority-field",list:i,setList:s,onSort:function(){c(Object(Ja.set)({uri_schemes_priority:i.map((function(e){return e.uri}))}))}},i.map((function(e){var t=e.uri,n=Object(Q.m)(t.replace(":","").replace("+"," "));return o.a.createElement("span",{className:"source flag flag--grey",key:"uri_scheme_".concat(t)},o.a.createElement(Da.b,{name:"drag_indicator"}),n)})))};function kl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ol(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?(i>r&&(i=r),u>r/2&&(u=r/2)):((i=-i)<-r&&(i=-r),l=!0,(c=50-(s=Math.round(i/r*100/2)))<0&&(c=0),(u=s)>r/2&&(u=r/2)),o.a.createElement("span",{className:"latency-control"},o.a.createElement("div",{className:"slider__wrapper"},o.a.createElement("div",{className:"slider slider--latency"},o.a.createElement("input",{type:"range",min:-r,max:r,className:"slider__input",value:i,onChange:function(e){return a(parseInt(e.target.value,10))}}),o.a.createElement("div",{className:"zero"}),o.a.createElement("div",{className:"slider__track"},o.a.createElement("div",{className:"slider__track__progress slider__track__progress--".concat(l?"negative":"positive"),style:{width:"".concat(u,"%"),left:"".concat(c,"%")}})))),o.a.createElement(Tl.a,{className:"tiny",type:"number",onChange:a,value:String(i),autosave:!0}))};function af(e){return function(e){if(Array.isArray(e))return of(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return of(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return of(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function of(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var a={};for(var o in r)if(r.hasOwnProperty(o)&&r[o].enabled){var s=r[o],c=s.value.max,u=s.value.min;s.convert_to_decimal&&(c/=100,u/=100),a["".concat(o,"_max")]=c.toString(),a["".concat(o,"_min")]=u.toString()}i(n,50,a)}})),Gf(Vf(t),"playTracks",(function(){var e=t.props;(0,e.mopidyActions.playURIs)({uris:e.recommendations.tracks_uris,from:{uri:t.uri()}})})),Gf(Vf(t),"removeSeed",(function(e){var n=t.state.seeds;n.splice(e,1),t.setState({seeds:n})})),Gf(Vf(t),"handleSelect",(function(e,n){var r=t.state.seeds;r.push(n),t.setState({seeds:r})})),Gf(Vf(t),"renderSeeds",(function(){var e=t.props.items,n=t.state.seeds,r=[];if(n.length>0)for(var i=0;i0&&(i=e.images[0]):i=e.images),o.a.createElement("div",{className:"seed".concat(e.images?" has-thumbnail":""),key:e.uri},i&&o.a.createElement(Le.a,{className:"thumbnail-wrapper",type:r,uri:e.uri},o.a.createElement(oo.a,{images:i,circle:"artist"===e.type,size:"small"})),o.a.createElement("div",{className:"seed__details"},o.a.createElement("div",{className:"seed__label"},o.a.createElement("span",{className:"seed__label__text"},Object(Q.m)(r)),o.a.createElement(Da.b,{name:"close",className:"seed__label__remove",onClick:function(){return t.removeSeed(n)}})),o.a.createElement("div",{className:"seed__label__name"},e.name)))})))})),Gf(Vf(t),"setTunability",(function(e,n){var r=t.state.tunabilities;r[e].value=n,t.setState({tunabilities:r})})),Gf(Vf(t),"toggleTunability",(function(e){var n=t.state.tunabilities;n[e].enabled=!n[e].enabled,t.setState({tunabilities:n})})),Gf(Vf(t),"renderTunabilities",(function(){var e=[],n=[];for(var r in t.state.tunabilities)if(t.state.tunabilities.hasOwnProperty(r)){var i=Ff(Ff({},t.state.tunabilities[r]),{},{name:r});i.enabled?n.push(i):e.push({label:Object(Q.m)(i.name),value:i.name})}return o.a.createElement("div",{className:"tunabilities"},n.map((function(e){return o.a.createElement("div",{className:"field tunability range",key:e.name},o.a.createElement("div",{className:"tunability__label"},Object(Q.m)(e.name),o.a.createElement("span",{className:"remove",onClick:function(){return t.toggleTunability(e.name)}},o.a.createElement(Da.b,{name:"close"}))),o.a.createElement("div",{className:"tunability__input"},o.a.createElement(Rf.a,{disabled:!e.enabled,minValue:e.min,maxValue:e.max,value:e.value,onChange:function(n){return t.setTunability(e.name,n)}})))})))})),Gf(Vf(t),"renderResults",(function(){var e=t.props,n=e.recommendations,r=(n=void 0===n?{}:n).tracks_uris,i=n.albums_uris,a=n.artists_uris,s=e.items;if(void 0===!i||void 0===a)return o.a.createElement("div",{className:"content-wrapper recommendations-results"});var c=Object(ne.compact)(r.map((function(e){return s[e]}))),u=Object(ne.compact)(a.map((function(e){return s[e]}))),l=Object(ne.compact)(i.map((function(e){return s[e]})));return c.length<=0&&u.length<=0&&l.length<=0?null:o.a.createElement("div",{className:"content-wrapper recommendations-results"},o.a.createElement("section",{className:"col col--w70 tracks"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"discover.recommendations.tracks"}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(Js.a,{onTrigger:t.handleContextMenu}),o.a.createElement(Wa.b,{type:"primary",onClick:t.playTracks,tracking:{category:"DiscoverRecommendations",action:"Play"}},o.a.createElement(Ye.a,{path:"actions.play_all"})))),o.a.createElement(Ks.a,{source:{uri:t.uri(),name:"Recommendations",type:"recommendations"},className:"discover-track-list",tracks:c})),o.a.createElement("div",{className:"col col--w5"}),o.a.createElement("div",{className:"col col--w25 others"},o.a.createElement("section",null,o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"discover.recommendations.artists"})),o.a.createElement(_c,{artists:u,uiActions:Ja})),o.a.createElement("br",null),o.a.createElement("br",null),o.a.createElement("section",null,o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"discover.recommendations.albums"})),o.a.createElement(gc.a,{items:l,mini:!0}))))})),Gf(Vf(t),"render",(function(){var e=t.props,n=e.load_queue,r=e.theme,i=t.state,a=i.tunabilities,s=i.seeds,c=Object(Q.e)(n,["spotify_recommendations"]),u=[];for(var l in t.state.tunabilities)if(a.hasOwnProperty(l)){var f=Ff(Ff({},a[l]),{},{name:l});f.enabled||u.push({label:Object(Q.m)(f.name),value:f.name})}return o.a.createElement("div",{className:"view discover-view preserve-3d"},"dark"===r&&o.a.createElement(yc,{image:"/iris/assets/backgrounds/discover.jpg"}),o.a.createElement("div",{className:"intro preserve-3d"},o.a.createElement("div",{className:"intro__liner"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"discover.recommendations.body_title"})),o.a.createElement("h2",null,o.a.createElement(Ye.a,{path:"discover.recommendations.body_subtitle"})),o.a.createElement("div",{className:"intro__parameters"},t.renderSeeds(),t.renderTunabilities(),s.length>5&&o.a.createElement("p",{className:"message error"},o.a.createElement(Ye.a,{path:"discover.recommendations.too_many_seeds"}))),o.a.createElement("div",{className:"intro__actions"},o.a.createElement(Lf.a,{onSelect:function(e,n){return t.handleSelect(e,n)}}),o.a.createElement($s.a,{className:"add-properties",name:"Properties",options:u,no_status_icon:!0,button:"default",handleChange:t.toggleTunability}),o.a.createElement("div",{className:"intro__actions__separator"}),o.a.createElement(Wa.b,{className:"submit",type:"primary",size:"large",working:c,onClick:t.getRecommendations,tracking:{category:"DiscoverRecommendations",action:"Submit"}},o.a.createElement(Da.b,{name:"explore"}),o.a.createElement(Ye.a,{path:"discover.recommendations.find_recommendations",afterContent:!0}," "))))),t.renderResults())})),t._autocomplete_timer=!1,t.state={add_seed:"",adding_seed:!1,seeds:[],tunabilities:{acousticness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},danceability:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},energy:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},instrumentalness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},key:{enabled:!1,min:0,max:11,value:{min:3,max:8}},liveness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},loudness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},popularity:{enabled:!1,min:0,max:100,value:{min:0,max:100}},speechiness:{enabled:!1,convert_to_decimal:!0,description:"The presence of spoken words in a track",min:0,max:100,value:{min:25,max:75}},tempo:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},valence:{enabled:!1,convert_to_decimal:!0,description:"The musical positiveness conveyed by a track",min:0,max:100,value:{min:25,max:75}}}},t}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uiActions.setWindowTitle,n=e.match.params.uri;t(Object(Ye.b)("discover.recommendations.title")),n&&this.handleURLSeeds()}}])&&zf(t.prototype,n),r&&zf(t,r),a}(o.a.Component),Kf=Object(u.b)((function(e){return{theme:e.ui.theme,items:e.core.items,genres:e.core.genres?e.core.genres:[],authorized:e.spotify.authorization,load_queue:e.ui.load_queue,quick_search_results:e.spotify.quick_search_results?e.spotify.quick_search_results:{artists:[],tracks:[]},recommendations:e.spotify.recommendations?e.spotify.recommendations:{}}}),(function(e){return{uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e),coreActions:Object(w.b)(Ve,e)}}))(Wf);function Qf(e){return(Qf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xf(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jf(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);no-s-Math.max(document.documentElement.clientHeight,window.innerHeight||0)/2&&this.setState({listening:!1},(function(){r()}))}}])&&hd(t.prototype,n),r&&hd(t,r),a}(o.a.Component);function wd(e){return(wd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ed(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kd(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.images,n=(t=void 0===t?{}:t).large;return o.a.createElement("div",{className:"intro preserve-3d"},o.a.createElement(yc,{image:n,blur:!0}))})),Td(jd(e),"render",(function(){var t=e.props,n=t.loading,r=t.albums,i=t.more,a=t.uiActions;if(n)return o.a.createElement("div",{className:"view discover-new-releases-view"},o.a.createElement(Qc.a,null,o.a.createElement(Da.b,{name:"new_releases",type:"material"}),o.a.createElement(Ye.a,{path:"discover.new_releases.title"})),o.a.createElement(bo,{body:!0,loading:!0}));var s=o.a.createElement(Wa.b,{noHover:!0,onClick:e.refresh,tracking:{category:"DiscoverFeatured",action:"Refresh"}},o.a.createElement(Da.b,{name:"refresh"}),o.a.createElement(Ye.a,{path:"actions.refresh"}));return o.a.createElement("div",{className:"view discover-new-releases-view preserve-3d"},o.a.createElement(Qc.a,{options:s,uiActions:a},o.a.createElement(Da.b,{name:"new_releases",type:"material"}),o.a.createElement(Ye.a,{path:"discover.new_releases.title"})),o.a.createElement("section",{className:"content-wrapper grid-wrapper"},o.a.createElement(gc.a,{items:r})),o.a.createElement(_d,{loadKey:i,showLoader:i,loadMore:e.loadMore}))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.new_releases,n=e.uiActions.setWindowTitle,r=e.spotifyActions.getNewReleases;n(Object(Ye.b)("discover.new_releases.title")),t||r()}}])&&kd(t.prototype,n),r&&kd(t,r),a}(o.a.Component),Pd=Object(St.g)(["(.*)new-releases(.*)offset=0(.*)"]),Nd=Object(u.b)((function(e){var t=e.ui.theme,n=e.spotify,r=n.new_releases,i=n.new_releases_more,a=n.new_releases_total,o=Object(St.e)(r);return{uris:r,loading:Pd(e),albums:o(e),more:i,total:a,theme:t}}),(function(e){return{uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(Cd),Dd=function(){return o.a.createElement(f.c,null,o.a.createElement(f.a,{exact:!0,path:"/discover/recommendations/:uri?",component:Kf}),o.a.createElement(f.a,{exact:!0,path:"/discover/featured",component:od}),o.a.createElement(f.a,{exact:!0,path:"/discover/categories/:uri",component:dd}),o.a.createElement(f.a,{exact:!0,path:"/discover/categories",component:ud}),o.a.createElement(f.a,{exact:!0,path:"/discover/new-releases",component:Nd}))},Id=n(109),Rd=n(616),Ld=Object(a.memo)((function(e){return void 0===e.popularity||null===e.popularity?null:o.a.createElement("span",{className:"popularity"},o.a.createElement("span",{className:"popularity-bars"},o.a.createElement("span",{className:"bar".concat(e.popularity>10?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>30?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>50?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>70?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>90?" filled":"")})),o.a.createElement("span",{className:"popularity-value"},o.a.createElement(Ye.a,{path:"specs.popularity",percent:e.popularity})))}));function Md(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ud(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ud(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ud(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e[t];switch(t){case"tracks":var r=e.tracks_total;return r||n?o.a.createElement(Ye.a,{path:"specs.tracks",count:Xs(r||n.length)}):null;case"artists":var i=e.artists_total,a=e.artists_uris;return Array.isArray(n)?o.a.createElement(ao.a,{items:n,type:"artist"}):i||a?o.a.createElement(Ye.a,{path:"specs.artists",count:Xs(i||a.length)}):null;case"albums":var s=e.albums_total,c=e.albums_uris;return s||c?o.a.createElement(Ye.a,{path:"specs.albums",count:s||c.length}):null;case"source":return o.a.createElement(Da.a,{uri:e.uri,fixedWidth:!0})}if(!n)return null;switch(t){case"followers":return o.a.createElement(Ye.a,{path:"specs.followers",count:Xs(n)});case"listeners":return o.a.createElement(Ye.a,{path:"specs.listeners",count:Xs(n)});case"added_at":return o.a.createElement(Ye.a,{path:"specs.added_ago",time:Object(io.b)("ago",n)});case"last_modified":return o.a.createElement(Ye.a,{path:"specs.updated_ago",time:Object(io.b)("ago",n)});case"owner":return o.a.createElement(Le.a,{type:"user",uri:n.uri},n.id);case"popularity":return o.a.createElement(Ld,{full:!0,popularity:n})}return!0===n?o.a.createElement(Da.b,{name:"check"}):"number"==typeof n?o.a.createElement("span",null,n.toLocaleString()):n},zd=function(e){var t,n=e.item,r=e.middle_column,i=e.right_column,s=e.details,c=e.thumbnail,l=e.nocontext,d=e.getLink;if(!n)return null;var p=Object(u.c)(),h=Object(u.d)((function(e){return e.spotify.access_token})),m=Object(f.f)(),b=Object(f.g)(),y=Md(Object(Rd.a)({type:(null==n||null===(t=n.type)||void 0===t?void 0:t.toUpperCase())||"UNKNOWN",item:{item:n,context:n}}),2),v=(y[0],y[1]);Object(a.useEffect)((function(){if(!n.images)switch(n.type){case"artist":h&&p(vo.getArtistImages(n));break;case"album":p(Fa.getImages([n.uri]))}}),[n.images]);var g=function(e){e.preventDefault(),p(Ja.showContextMenu({e:e,type:n.type,item:n}))},_="list__item";return n.type&&(_+=" list__item--".concat(n.type)),n.loading&&(_+=" list__item--loading"),r&&(_+=" list__item--has-middle-column"),c&&(_+=" list__item--has-thumbnail"),s&&(_+=" list__item--has-details"),o.a.createElement("div",{className:_,onContextMenu:g,onClick:function(e){var t="",r=d?d(n):void 0;r?t=r:n.link?t=n.link:(t="/".concat(n.type,"/").concat(Object(ge.d)(n.uri)),n.name&&"artist"!==n.type&&(t+="/".concat(encodeURIComponent(n.name)))),"a"!==e.target.tagName.toLowerCase()&&(Object(Na.b)({location:b,history:m}),e.preventDefault(),m.push(t))},ref:Object(Q.g)()?void 0:v},i&&!l&&o.a.createElement("div",{className:"list__item__column list__item__column--right"},i.map((function(e){return o.a.createElement("span",{className:"list__item__column__item list__item__column__item--".concat(e.replace(".","_")),key:"".concat(e)},Fd(n,e))})),!l&&o.a.createElement(Js.a,{className:"list__item__column__item list__item__column__item--context-menu-trigger subtle",onTrigger:g})),o.a.createElement("div",{className:"list__item__column list__item__column--name"},c&&o.a.createElement(oo.a,{className:"list__item__column__item list__item__column__item--thumbnail",images:n.images,size:"small"}),o.a.createElement("div",{className:"list__item__column__item list__item__column__item--name"},void 0!==n.name?Fd(n,"name"):o.a.createElement("span",{className:"grey-text"},n.uri)),s?o.a.createElement("ul",{className:"list__item__column__item list__item__column__item--details details"},s.map((function(e){var t=Fd(n,e);return t?o.a.createElement("li",{className:"details__item details__item--".concat(e.replace(".","_")),key:e},t):null}))):null),r&&o.a.createElement("div",{className:"list__item__column list__item__column--middle"},r.map((function(e){return o.a.createElement("span",{className:"list__item__column__item list__item__column__item--".concat(e.replace(".","_")),key:e},Fd(n,e))}))))};function Bd(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var Hd=function(e){var t=e.items,n=e.className,r=void 0===n?"":n,i=Bd(e,["items","className"]);return t&&t.length?o.a.createElement(Id.a,{className:"list ".concat(r),items:t,itemComponent:zd,itemProps:i,chunkSize:10}):null};function qd(e){return(qd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Gd(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yd(e){return function(e){if(Array.isArray(e))return Wd(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Gd(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gd(e,t){if(e){if("string"==typeof e)return Wd(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wd(e,t):void 0}}function Wd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"artists",{forceRefetch:e})}))})),ep($d(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.view,a=e.loading_progress,s=t.state.filter,c=t.props.artists;return a?o.a.createElement(bo,{body:!0,loading:!0,progress:a}):(n&&(c=Object(X.g)(c,n,r)),""!==s&&(c=Object(X.a)("name",s,c)),"list"===i?o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Hd,{items:c,details:["albums","followers"],right_column:["source"],thumbnail:!0})):o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(gc.a,{items:c})))})),ep($d(t),"render",(function(){var e=t.props,n=e.loading_progress,r=e.providers,i=e.sortField,a=e.sortReverse,s=[{value:"thumbnails",label:Object(Ye.b)("fields.filters.thumbnails")},{value:"list",label:Object(Ye.b)("fields.filters.list")}],c=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"followers",label:Object(Ye.b)("fields.filters.followers")},{value:"popularity",label:Object(Ye.b)("fields.filters.popularity")}],u=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:t.state.filter,handleChange:function(e){return t.setState({filter:e,limit:t.state.per_page})},onSubmit:function(e){return t.props.uiActions.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:i,valueAsLabel:!0,options:c,selected_icon:i?a?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"visibility",name:Object(Ye.b)("fields.view"),value:t.props.view,valueAsLabel:!0,options:s,handleChange:function(e){t.props.uiActions.set({library_artists_view:e}),t.props.uiActions.hideContextMenu()}}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),value:t.props.source,valueAsLabel:!0,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(Yd(r.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){t.props.uiActions.set({library_artists_source:e}),t.props.uiActions.hideContextMenu()}}),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:n?t.cancelRefresh:t.refresh,tracking:{category:"LibraryArtists",action:"Refresh"}},n?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),n?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})));return o.a.createElement("div",{className:"view library-artists-view"},o.a.createElement(Qc.a,{options:u,uiActions:t.props.uiActions},o.a.createElement(Da.b,{name:"recent_actors",type:"material"}),o.a.createElement(Ye.a,{path:"library.artists.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.artists.title")),this.getLibraries()}}])&&Kd(t.prototype,n),r&&Kd(t,r),a}(o.a.Component),rp=Object(St.f)("artists"),ip=Object(St.h)(tp),ap=Object(St.i)("artists"),op=Object(u.b)((function(e){var t=Vd(Object(St.d)(e,"library_artists",null),2),n=t[0],r=t[1];return{loading_progress:ip(e),uri_schemes:e.mopidy.uri_schemes,providers:ap(e),artists:rp(e,"artists"),source:Object(St.b)(e,"artists"),sortField:n,sortReverse:r,view:e.ui.library_artists_view}}),(function(e){return{uiActions:Object(w.b)(Ja,e),coreActions:Object(w.b)(Ve,e)}}))(np);function sp(e){return(sp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||lp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function up(e){return function(e){if(Array.isArray(e))return fp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||lp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lp(e,t){if(e){if("string"==typeof e)return fp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fp(e,t):void 0}}function fp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"albums",{forceRefetch:e})}))})),vp(bp(t),"onSortChange",(function(e){var n=t.props,r=n.sortField,i=n.sortReverse,a=n.uiActions,o=a.setSort,s=a.hideContextMenu,c=!1;null!==e&&r===e&&(c=!i),o("library_albums",e,c),s()})),vp(bp(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.view,a=e.loading_progress,s=t.state.filter,c=t.props.albums;return a?o.a.createElement(bo,{body:!0,loading:!0,progress:a}):(n&&(c=Object(X.g)(c,n,r)),s&&""!==s&&(c=Object(X.a)("name",s,c)),"list"===i?o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Hd,{items:c,details:["artists","tracks","followers"],right_column:["source"],thumbnail:!0})):o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(gc.a,{items:c})))})),vp(bp(t),"render",(function(){var e=t.props,n=e.view,r=e.source,i=e.providers,a=e.sortField,s=e.sortReverse,c=e.uiActions,u=e.loading_progress,l=t.state,f=l.filter,d=l.per_page,p=[{value:"thumbnails",label:Object(Ye.b)("fields.filters.thumbnails")},{value:"list",label:Object(Ye.b)("fields.filters.list")}],h=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"artist",label:Object(Ye.b)("fields.filters.artist")},{value:"last_modified",label:Object(Ye.b)("fields.filters.updated")},{value:"tracks",label:Object(Ye.b)("fields.filters.tracks")},{value:"uri",label:Object(Ye.b)("fields.filters.source")}],m=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:f,handleChange:function(e){return t.setState({filter:e,limit:d})},onSubmit:function(){return c.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:a,valueAsLabel:!0,options:h,selected_icon:a?s?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"visibility",name:Object(Ye.b)("fields.view"),value:n,valueAsLabel:!0,options:p,handleChange:function(e){c.set({library_albums_view:e}),c.hideContextMenu()}}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),value:r,valueAsLabel:!0,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(up(i.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){c.set({library_albums_source:e}),c.hideContextMenu()}}),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:u?t.cancelRefresh:t.refresh,tracking:{category:"LibraryAlbums",action:"Refresh"}},u?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),u?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})));return o.a.createElement("div",{className:"view library-albums-view"},o.a.createElement(Qc.a,{options:m,uiActions:c},o.a.createElement(Da.b,{name:"album",type:"material"}),o.a.createElement(Ye.a,{path:"library.albums.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.albums.title")),this.getLibraries()}}])&&dp(t.prototype,n),r&&dp(t,r),a}(o.a.Component),wp=Object(St.f)("albums"),Ep=Object(St.h)(gp),kp=Object(St.i)("albums"),Op=Object(u.b)((function(e){var t=cp(Object(St.d)(e,"library_albums",null),2),n=t[0],r=t[1];return{loading_progress:Ep(e),uri_schemes:e.mopidy.uri_schemes,albums:wp(e,"albums"),providers:kp(e),view:e.ui.library_albums_view,source:Object(St.b)(e,"albums"),sortField:n,sortReverse:r}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(_p);function Sp(e){return(Sp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ap(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||xp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jp(e){return function(e){if(Array.isArray(e))return Tp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||xp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xp(e,t){if(e){if("string"==typeof e)return Tp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tp(e,t):void 0}}function Tp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"tracks",{forceRefetch:e})}))})),Lp(Ip(t),"handleContextMenu",(function(e,n){(0,t.props.uiActions.showContextMenu)({e:e,context:"album",uris:[n.uri],items:[n]})})),Lp(Ip(t),"onSortChange",(function(e){var n=t.props,r=n.sortField,i=n.sortReverse,a=n.uiActions,o=a.setSort,s=a.hideContextMenu,c=!1;null!==e&&r===e&&(c=!i),o("library_tracks",e,c),s()})),Lp(Ip(t),"playAll",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.mopidyActions.playURIs,a=e.uiActions.hideContextMenu,o=t.props.tracks,s=t.state.filter;o&&o.length&&(n&&(o=Object(X.g)(o,n,r)),s&&""!==s&&(o=Object(X.a)("name",s,o)),i({uris:Object(X.b)("uri",o)}),a())})),Lp(Ip(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.loading_progress,a=t.state.filter,s=t.props.tracks;return i?o.a.createElement(bo,{body:!0,loading:!0,progress:i}):(n&&(s=Object(X.g)(s,n,r)),a&&""!==a&&(s=Object(X.a)("name",a,s)),o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Ks.a,{context:{name:"Tracks"},tracks:s})))})),Lp(Ip(t),"render",(function(){var e=t.props,n=e.source,r=e.providers,i=e.sortField,a=e.sortReverse,s=e.uiActions,c=e.loading_progress,u=t.state.filter,l=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"artist",label:Object(Ye.b)("fields.filters.artist")},{value:"album",label:Object(Ye.b)("fields.filters.album")}],f=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:u,handleChange:function(e){return t.setState({filter:e})},onSubmit:function(){return s.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:i,valueAsLabel:!0,options:l,selected_icon:i?a?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),value:n,valueAsLabel:!0,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(jp(r.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){s.set({library_tracks_source:e}),s.hideContextMenu()}}),o.a.createElement(Wa.b,{onClick:t.playAll,noHover:!0,discrete:!0,tracking:{category:"LibraryTracks",action:"Play"}},o.a.createElement(Da.b,{name:"play_circle_filled"}),o.a.createElement(Ye.a,{path:"actions.play_all"})),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:c?t.cancelRefresh:t.refresh,tracking:{category:"LibraryTracks",action:"Refresh"}},c?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),c?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})));return o.a.createElement("div",{className:"view library-tracks-view"},o.a.createElement(Qc.a,{options:f,uiActions:s},o.a.createElement(Da.b,{name:"album",type:"material"}),o.a.createElement(Ye.a,{path:"library.tracks.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.tracks.title")),this.getLibraries()}}])&&Cp(t.prototype,n),r&&Cp(t,r),a}(o.a.Component),Fp=Object(St.f)("tracks"),zp=Object(St.h)(Mp),Bp=Object(St.i)("tracks"),Hp=Object(u.b)((function(e){var t=Ap(Object(St.d)(e,"library_tracks",null),2),n=t[0],r=t[1];return{loading_progress:zp(e),mopidy_uri_schemes:e.mopidy.uri_schemes,tracks:Fp(e,"tracks"),view:e.ui.library_tracks_view,source:Object(St.b)(e,"tracks"),providers:Bp(e),sortField:n,sortReverse:r}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(Up);function qp(e){return(qp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Gp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yp(e){return function(e){if(Array.isArray(e))return Wp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Gp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gp(e,t){if(e){if("string"==typeof e)return Wp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wp(e,t):void 0}}function Wp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"playlists",{forceRefetch:e})}))})),eh($p(t),"onSortChange",(function(e){var n=t.props,r=n.sortField,i=n.sortReverse,a=n.uiActions,o=a.setSort,s=a.hideContextMenu,c=!1;null!==e&&r===e&&(c=!i),o("library_playlists",e,c),s()})),eh($p(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.view,a=e.loading_progress,s=e.playlists,c=t.state.filter;if(a)return o.a.createElement(bo,{body:!0,loading:!0,progress:a});var u=Yp(s);return n&&(u=Object(X.g)(u,n,r)),u=Object(X.e)(u),""!==c&&(u=Object(X.a)("name",c,u)),"list"===i?o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Hd,{items:u,thumbnail:!0,details:["owner","tracks","last_modified"],right_column:["source"]})):o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(gc.a,{items:u}))})),eh($p(t),"render",(function(){var e=t.props,n=e.uiActions,r=e.providers,i=e.source,a=e.sortField,s=e.sortReverse,c=e.view,u=e.loading_progress,l=t.state.filter,f=[{value:"thumbnails",label:Object(Ye.b)("fields.filters.thumbnails")},{value:"list",label:Object(Ye.b)("fields.filters.list")}],d=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"last_modified",label:Object(Ye.b)("fields.filters.updated")},{value:"can_edit",label:Object(Ye.b)("fields.filters.editable")},{value:"owner",label:Object(Ye.b)("fields.filters.owner")},{value:"tracks",label:Object(Ye.b)("fields.filters.tracks")},{value:"source",label:Object(Ye.b)("fields.filters.source")}],p=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:l,handleChange:function(e){return t.setState({filter:e})},onSubmit:function(){return n.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:a,valueAsLabel:!0,options:d,selected_icon:a?s?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"visibility",name:Object(Ye.b)("fields.view"),valueAsLabel:!0,value:c,options:f,handleChange:function(e){n.set({library_playlists_view:e}),n.hideContextMenu()}}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),valueAsLabel:!0,value:i,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(Yp(r.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){n.set({library_playlists_source:e}),n.hideContextMenu()}}),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:u?t.cancelRefresh:t.refresh,tracking:{category:"LibraryAlbums",action:"Refresh"}},u?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),u?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})),o.a.createElement(Wa.b,{to:"/modal/create-playlist",noHover:!0,discrete:!0,tracking:{category:"Playlist",action:"Create"}},o.a.createElement(Da.b,{name:"add_box"}),o.a.createElement(Ye.a,{path:"actions.add"})));return o.a.createElement("div",{className:"view library-playlists-view"},o.a.createElement(Qc.a,{options:p,uiActions:n},o.a.createElement(Da.b,{name:"queue_music",type:"material"}),o.a.createElement(Ye.a,{path:"library.playlists.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.playlists.title")),this.getLibraries()}}])&&Kp(t.prototype,n),r&&Kp(t,r),a}(o.a.Component),rh=Object(St.f)("playlists"),ih=Object(St.h)(th),ah=Object(St.i)("playlists"),oh=Object(u.b)((function(e){var t=e.spotify.me,n=(t=void 0===t?{}:t).id,r=Vp(Object(St.d)(e,"library_playlists",null),2),i=r[0],a=r[1];return{slim_mode:e.ui.slim_mode,providers:ah(e),playlists:rh(e,"playlists"),loading_progress:ih(e),source:Object(St.b)(e,"playlists"),me_id:n,view:e.ui.library_playlists_view,sortField:i,sortReverse:a}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(nh);function sh(e){return(sh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ch(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return uh(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return uh(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function uh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?"s":""})),o.a.createElement("form",{onSubmit:function(e){return e.preventDefault(),!(!i.name||""===i.name)&&(n(Ve.createPlaylist(Kh(Kh({},i),{},{tracks_uris:t}))),n(Ja.closeModal()),!1)}},o.a.createElement("div",{className:"field radio white"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.provider"})),o.a.createElement("div",{className:"input"},o.a.createElement("label",null,o.a.createElement("input",{type:"radio",name:"scheme",value:"m3u",checked:"m3u"===i.scheme,onChange:function(e){return l({scheme:e.target.value})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"services.mopidy.title"}))),o.a.createElement("label",null,o.a.createElement("input",{type:"radio",name:"scheme",value:"spotify",disabled:!c,checked:"spotify"===i.scheme,onChange:function(e){return l({scheme:e.target.value})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"services.spotify.title"}))))),function(){switch(i.scheme){case"spotify":return o.a.createElement("div",null,o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.name"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:function(e){return l({name:e})},value:i.name}))),o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.description"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:function(e){return l({description:e})},value:i.description}))),o.a.createElement("div",{className:"field checkbox white"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.options.label"})),o.a.createElement("div",{className:"input"},o.a.createElement("label",null,o.a.createElement("input",{type:"checkbox",name:"public",checked:i.public,onChange:function(){return l({public:!i.public})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.options.public"}))),o.a.createElement("label",null,o.a.createElement("input",{type:"checkbox",name:"collaborative",checked:i.collaborative,onChange:function(){return l({collaborative:!i.collaborative})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.options.collaborative"}))))));default:return o.a.createElement("div",null,o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.name"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:function(e){return l({name:e})},value:i.name}))))}}(),o.a.createElement("div",{className:"actions centered-text"},o.a.createElement(Wa.b,{type:"primary",size:"large",submit:!0,tracking:{category:"CreatePlaylist",action:"Submit"}},o.a.createElement(Ye.a,{path:"modal.edit_playlist.create_playlist"})))))};function Zh(e){return(Zh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function em(e){return function(e){if(Array.isArray(e))return tm(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return tm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tm(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=5&&(s=s.slice(0,5),t.setState({error_message:Object(Ye.b)("modal.edit_radio.too_many_seeds")}));for(var c=0;c-1?t.setState({error_message:Object(Ye.b)("modal.edit_radio.too_many_seeds")}):(o.push(s[c]),a(s[c]))}t.setState({seeds:o,uri:""})}else t.setState({error_message:Object(Ye.b)("errors.required")})})),cm(om(t),"removeSeed",(function(e){var n=t.state.seeds.filter((function(t){return t!==e}));t.setState({seeds:n})})),cm(om(t),"mapSeeds",(function(){var e=t.state.seeds,n=t.props.items;return e?e.slice(0,5).map((function(e){return n[e]||{uri:e,unresolved:!0}})):[]})),cm(om(t),"render",(function(){var e=t.state,n=e.enabled,r=e.uri,i=e.error_message,a=t.mapSeeds();return o.a.createElement(Lh.a,{className:"modal--edit-radio"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"modal.edit_radio.title"})),o.a.createElement("h2",{className:"mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.edit_radio.subtitle"})),o.a.createElement("form",{onSubmit:function(e){n?t.handleUpdate(e):t.handleStart(e)}},o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"fields.uri"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:t.onUriChange,value:r}),o.a.createElement("span",{className:"button discrete add-uri no-hover",onClick:function(e){return t.addSeed(e)}},o.a.createElement(Da.b,{name:"add"}),o.a.createElement(Ye.a,{path:"actions.add"})),i&&o.a.createElement("span",{className:"description error"},i))),o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"fields.items_to_add.label"})),o.a.createElement("div",{className:"input"},a.length?o.a.createElement("div",{className:"list"},a.map((function(e,n){return o.a.createElement(um,{key:"".concat(e,"_").concat(n),seed:e,remove:t.removeSeed})}))):o.a.createElement("div",{className:"text mid_grey-text"},o.a.createElement(Ye.a,{path:"fields.items_to_add.placeholder"})))),o.a.createElement("div",{className:"actions centered-text"},n&&o.a.createElement(Wa.b,{type:"destructive",size:"large",onClick:function(e){return t.handleStop(e)},tracking:{category:"Radio",action:"Stop"}},o.a.createElement(Ye.a,{path:"actions.add"})),n?o.a.createElement(Wa.b,{type:"primary",size:"large",onClick:function(e){return t.handleUpdate(e)},tracking:{category:"Radio",action:"Update"}},o.a.createElement(Ye.a,{path:"actions.save"})):o.a.createElement(Wa.b,{type:"primary",size:"large",onClick:function(e){return t.handleStart(e)},tracking:{category:"Radio",action:"Start"}},o.a.createElement(Ye.a,{path:"actions.start"})))))})),t.state={enabled:!1,seeds:[],uri:"",error_message:null},t}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uiActions.setWindowTitle,n=e.radio;t(Object(Ye.b)("modal.edit_radio.title")),n&&n.enabled&&this.loadRadio(n)}},{key:"handleStart",value:function(e){e.preventDefault();for(var t=!0,n=this.mapSeeds(),r=0;re.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(n);try{for(a.s();!(r=a.n()).done;){var o=r.value;e("SERVER"===o?Object(Ga.setSharedConfig)(i):Object(Ga.deliverMessage)(o,"share_config_received",i))}}catch(e){a.e(e)}finally{a.f()}e(Object(Ja.createNotification)({content:Object(Ye.b)("modal.shared_config.shared")})),e(Object(Ja.closeModal)())};return o.a.createElement(Lh.a,{className:"modal--share-configuration"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"modal.shared_config.push.title"})),o.a.createElement("h2",null,o.a.createElement(Ye.a,{path:"modal.shared_config.push.subtitle"})),o.a.createElement("form",{onSubmit:b},o.a.createElement("div",{className:"field checkbox white"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.shared_config.recipients"})),o.a.createElement(Hm,{selected:n,onChange:function(e){r((function(t){var n=Um(t);if(n.includes(e)){var r=n.indexOf(e);n.splice(r,1)}else n.push(e);return n}))}})),o.a.createElement("div",{className:"field checkbox checkbox--block"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.label"})),o.a.createElement("div",{className:"input"},Object(ne.map)(m,(function(e,t){var n;return o.a.createElement("div",{className:"checkbox-group__item",key:t},o.a.createElement("label",null,o.a.createElement("input",{type:"checkbox",name:t,checked:s.indexOf(t)>-1,onChange:function(){return e=t,void c((function(t){var n=Um(t);if(n.includes(e)){var r=n.indexOf(e);n.splice(r,1)}else n.push(e);return n}));var e}}),o.a.createElement("div",{className:"label"},o.a.createElement("div",null,o.a.createElement("div",{className:"title"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(t,".label")})),o.a.createElement("div",{className:"description mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(t,".description"),name:(null===(n=e.me)||void 0===n?void 0:n.name)||"Unknown"}))))))})))),o.a.createElement("div",{className:"actions centered-text"},o.a.createElement(Wa.b,{type:"primary",size:"large",disabled:n.length<=0,onClick:b,tracking:{category:"ShareConfiguration",action:"Send"}},o.a.createElement(Ye.a,{path:"actions.send"})))))};function Vm(e){return function(e){if(Array.isArray(e))return Wm(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Gm(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ym(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Gm(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gm(e,t){if(e){if("string"==typeof e)return Wm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wm(e,t):void 0}}function Wm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1,onChange:function(){return function(e){s((function(t){return t.indexOf(e)>-1?t.filter((function(t){return t!==e})):[].concat(Vm(t),[e])}))}(e)}}),o.a.createElement("div",{className:"label"},o.a.createElement("div",null,o.a.createElement("div",{className:"title"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(e,".label")})),o.a.createElement("div",{className:"description mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(e,".description"),name:(null===(t=d[e].me)||void 0===t?void 0:t.name)||"Unknown"}))))))})))),o.a.createElement("div",{className:"actions centered-text"},o.a.createElement(Wa.b,{type:"primary",size:"large",disabled:i.length<=0,onClick:p,tracking:{category:"ImportConfiguration",action:"Import"}},o.a.createElement(Ye.a,{path:"modal.shared_config.import_now"})))))};function Qm(e){return(Qm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jm(e,t){return(Jm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $m(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tb(e);if(t){var i=tb(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return Zm(this,n)}}function Zm(e,t){return!t||"object"!==Qm(t)&&"function"!=typeof t?eb(e):t}function eb(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tb(e){return(tb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jm(e,t)}(n,e);var t=$m(n);function n(){var e;Xm(this,n);for(var r=arguments.length,i=new Array(r),a=0;a0?o.a.createElement("div",{className:"list small playlists"},i.map((function(t){return o.a.createElement("div",{className:"list__item",key:t.uri,onClick:function(){return e.playlistSelected(t.uri)}},o.a.createElement(oo.a,{images:t.images,size:"small"}),o.a.createElement("h4",{className:"list__item__name"},t.name),o.a.createElement("ul",{className:"list__item__details details"},o.a.createElement("li",null,o.a.createElement(Da.b,{type:"fontawesome",className:"source",name:Object(Q.k)(t.uri)})),o.a.createElement("li",{className:"mid_grey-text"},"".concat(t.tracks_total||0," tracks"))))}))):o.a.createElement("div",{className:"no-results"},o.a.createElement(Ye.a,{path:"modal.add_to_playlist.no_playlists"}))})),nb(eb(e),"render",(function(){var t=e.props.uris;return o.a.createElement(Lh.a,{className:"modal--add-to-playlist"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"modal.add_to_playlist.title"})),o.a.createElement("h2",{className:"mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.add_to_playlist.subtitle",count:t.length,plural:t.length>1?"s":""})),e.renderList())})),e}return n}(o.a.Component),ib=Object(St.f)("playlists",!1),ab=Object(St.h)(["MOPIDY_GET_LIBRARY_PLAYLISTS","SPOTIFY_GET_LIBRARY_PLAYLISTS"]),ob=Object(St.i)("playlists"),sb=Object(u.b)((function(e,t){var n,r=e.spotify,i=r.me,a=(i=void 0===i?{}:i).id,o=r.access_token,s=null===(n=t.match.params)||void 0===n?void 0:n.uris;return{uris:s?Object(ge.b)(s).split(","):[],providers:ob(e),playlists:ib(e,"playlists"),spotify_available:o,loading_progress:ab(e),me_id:a}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(rb);function cb(e){return(cb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ub(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function lb(e,t){for(var n=0;n"]]},{label:"previous",keysets:[[","],["<"]]},{label:"volume_up",keysets:[["="]]},{label:"volume_down",keysets:[["-"]]},{label:"mute",keysets:[["0"]]},{label:"snapcast_volume_up",keysets:[["n","="]]},{label:"snapcast_volume_down",keysets:[["n","="]]},{label:"snapcast_mute",keysets:[["n","0"]]},{label:"exit",keysets:[["esc"]]}],jb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_b(e,t)}(a,e);var t,n,r,i=wb(a);function a(){var e;vb(this,a);for(var t=arguments.length,n=new Array(t),r=0;r1&&" + ")})),0===n&&e.keysets.length>1&&" or ")})),o.a.createElement("span",{className:"description"},Object(Ye.b)("modal.hotkeys_info.keys.".concat(e.label))))}))))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)("Hotkeys")}}])&&gb(t.prototype,n),r&&gb(t,r),a}(o.a.Component),xb=Object(u.b)((function(){return{}}),(function(e){return{uiActions:Object(w.b)(Ja,e)}}))(jb),Tb=Object(a.memo)((function(e){return o.a.createElement("div",{className:"colour-field"},["","white","mid_grey","grey","dark_grey","black","turquoise","green","blue","light_blue","yellow","orange","red"].map((function(t){var n="white";switch(t){case"yellow":case"white":case"light_blue":n="black"}return o.a.createElement("div",{key:t,className:"colour-field__option ".concat(t?"".concat(t,"-background "):"").concat(e.colour==t?"colour-field__option--selected":""),onClick:function(n){return e.onChange(t)}},e.colour==t?o.a.createElement(Da.b,{name:"check",className:"colour-field__option__icon ".concat(n,"-text")}):null)})))})),Cb=Object(a.memo)((function(e){var t=e.icons?e.icons:["3d_rotation","ac_unit","access_alarm","access_alarms","access_time","accessibility","accessible","account_balance","account_balance_wallet","account_box","account_circle","adb","add","add_a_photo","add_alarm","add_alert","add_box","add_circle","add_circle_outline","add_location","add_shopping_cart","add_to_photos","add_to_queue","adjust","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airplanemode_active","airplanemode_inactive","airplay","airport_shuttle","alarm","alarm_add","alarm_off","alarm_on","album","all_inclusive","all_out","android","announcement","apps","archive","arrow_back","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_upward","art_track","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assistant","assistant_photo","attach_file","attach_money","attachment","audiotrack","autorenew","av_timer","backspace","backup","battery_alert","battery_charging_full","battery_full","battery_std","battery_unknown","beach_access","beenhere","block","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_searching","blur_circular","blur_linear","blur_off","blur_on","book","bookmark","bookmark_border","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","branding_watermark","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_auto","brightness_high","brightness_low","brightness_medium","broken_image","brush","bubble_chart","bug_report","build","burst_mode","business","business_center","cached","cake","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_rear","camera_roll","cancel","card_giftcard","card_membership","card_travel","casino","cast","cast_connected","center_focus_strong","center_focus_weak","change_history","chat","chat_bubble","chat_bubble_outline","check","check_box","check_box_outline_blank","check_circle","chevron_left","chevron_right","child_care","child_friendly","chrome_reader_mode","class","clear","clear_all","close","closed_caption","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","code","collections","collections_bookmark","color_lens","colorize","comment","compare","compare_arrows","computer","confirmation_number","contact_mail","contact_phone","contacts","content_copy","content_cut","content_paste","control_point","control_point_duplicate","copyright","create","create_new_folder","credit_card","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","dashboard","data_usage","date_range","dehaze","delete","delete_forever","delete_sweep","description","desktop_mac","desktop_windows","details","developer_board","developer_mode","device_hub","devices","devices_other","dialer_sip","dialpad","directions","directions_bike","directions_boat","directions_bus","directions_car","directions_railway","directions_run","directions_subway","directions_transit","directions_walk","disc_full","dns","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","dock","domain","done","done_all","donut_large","donut_small","drafts","drag_handle","drive_eta","dvr","edit","edit_location","eject","email","enhanced_encryption","equalizer","error","error_outline","euro_symbol","ev_station","event","event_available","event_busy","event_note","event_seat","exit_to_app","expand_less","expand_more","explicit","explore","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","face","fast_forward","fast_rewind","favorite","favorite_border","featured_play_list","featured_video","feedback","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_download","file_upload","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_none","filter_tilt_shift","filter_vintage","find_in_page","find_replace","fingerprint","first_page","fitness_center","flag","flare","flash_auto","flash_off","flash_on","flight","flight_land","flight_takeoff","flip","flip_to_back","flip_to_front","folder","folder_open","folder_shared","folder_special","font_download","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underlined","forum","forward","forward_10","forward_30","forward_5","free_breakfast","fullscreen","fullscreen_exit","functions","g_translate","gamepad","games","gavel","gesture","get_app","gif","golf_course","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grain","graphic_eq","grid_off","grid_on","group","group_add","group_work","hd","hdr_off","hdr_on","hdr_strong","hdr_weak","headset","headset_mic","healing","hearing","help","help_outline","high_quality","highlight","highlight_off","history","home","hot_tub","hotel","hourglass_empty","hourglass_full","http","https","image","image_aspect_ratio","import_contacts","import_export","important_devices","inbox","indeterminate_check_box","info","info_outline","input","insert_chart","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","invert_colors","invert_colors_off","iso","keyboard","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","kitchen","label","label_outline","landscape","language","laptop","laptop_chromebook","laptop_mac","laptop_windows","last_page","launch","layers","layers_clear","leak_add","leak_remove","lens","library_add","library_books","library_music","lightbulb_outline","line_style","line_weight","linear_scale","link","linked_camera","list","live_help","live_tv","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_post_office","local_printshop","local_see","local_shipping","local_taxi","location_city","location_disabled","location_off","location_on","location_searching","lock","lock_open","lock_outline","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_priority","loyalty","mail","mail_outline","map","markunread","markunread_mailbox","memory","menu","merge_type","message","mic","mic_none","mic_off","mms","mode_comment","mode_edit","monetization_on","money_off","monochrome_photos","mood","mood_bad","more","more_horiz","more_vert","motorcycle","mouse","move_to_inbox","movie","movie_creation","movie_filter","multiline_chart","music_note","music_video","my_location","nature","nature_people","navigate_before","navigate_next","navigation","near_me","network_cell","network_check","network_locked","network_wifi","new_releases","next_week","nfc","no_encryption","no_sim","not_interested","note","note_add","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","offline_pin","ondemand_video","opacity","open_in_browser","open_in_new","open_with","pages","pageview","palette","pan_tool","panorama","panorama_fish_eye","panorama_horizontal","panorama_vertical","panorama_wide_angle","party_mode","pause","pause_circle_filled","pause_circle_outline","payment","people","people_outline","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_add","person_outline","person_pin","person_pin_circle","personal_video","pets","phone","phone_android","phone_bluetooth_speaker","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_setup","photo","photo_album","photo_camera","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","picture_as_pdf","picture_in_picture","picture_in_picture_alt","pie_chart","pie_chart_outlined","pin_drop","place","play_arrow","play_circle_filled","play_circle_outline","play_for_work","playlist_add","playlist_add_check","playlist_play","plus_one","poll","polymer","pool","portable_wifi_off","portrait","power","power_input","power_settings_new","pregnant_woman","present_to_all","print","priority_high","public","publish","query_builder","question_answer","queue","queue_music","queue_play_next","radio","radio_button_checked","radio_button_unchecked","rate_review","receipt","recent_actors","record_voice_over","redeem","redo","refresh","remove","remove_circle","remove_circle_outline","remove_from_queue","remove_red_eye","remove_shopping_cart","reorder","repeat","repeat_one","replay","replay_10","replay_30","replay_5","reply","reply_all","report","report_problem","restaurant","restaurant_menu","restore","restore_page","ring_volume","room","room_service","rotate_90_degrees_ccw","rotate_left","rotate_right","rounded_corner","router","rowing","rss_feed","rv_hookup","satellite","save","scanner","schedule","school","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","screen_share","sd_card","sd_storage","search","security","select_all","send","sentiment_dissatisfied","sentiment_neutral","sentiment_satisfied","sentiment_very_dissatisfied","sentiment_very_satisfied","settings","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_system_daydream","settings_voice","share","shop","shop_two","shopping_basket","shopping_cart","short_text","show_chart","shuffle","signal_cellular_4_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_null","signal_cellular_off","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_off","sim_card","sim_card_alert","skip_next","skip_previous","slideshow","slow_motion_video","smartphone","smoke_free","smoking_rooms","sms","sms_failed","snooze","sort","sort_by_alpha","spa","space_bar","speaker","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","spellcheck","star","star_border","star_half","stars","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","stop","stop_screen_share","storage","store","store_mall_directory","straighten","streetview","strikethrough_s","style","subdirectory_arrow_left","subdirectory_arrow_right","subject","subscriptions","subtitles","subway","supervisor_account","surround_sound","swap_calls","swap_horiz","swap_vert","swap_vertical_circle","switch_camera","switch_video","sync","sync_disabled","sync_problem","system_update","system_update_alt","tab","tab_unselected","tablet","tablet_android","tablet_mac","tag_faces","tap_and_play","terrain","text_fields","text_format","textsms","texture","theaters","thumb_down","thumb_up","thumbs_up_down","time_to_leave","timelapse","timeline","timer","timer_10","timer_3","timer_off","title","toc","today","toll","tonality","touch_app","toys","track_changes","traffic","train","tram","transfer_within_a_station","transform","translate","trending_down","trending_flat","trending_up","tune","turned_in","turned_in_not","tv","unarchive","undo","unfold_less","unfold_more","update","usb","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vibration","video_call","video_label","video_library","videocam","videocam_off","videogame_asset","view_agenda","view_array","view_carousel","view_column","view_comfy","view_compact","view_day","view_headline","view_list","view_module","view_quilt","view_stream","view_week","vignette","visibility","visibility_off","voice_chat","voicemail","volume_down","volume_mute","volume_off","volume_up","vpn_key","vpn_lock","wallpaper","warning","watch","watch_later","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_sunny","wc","web","web_asset","weekend","whatshot","widgets","wifi","wifi_lock","wifi_tethering","work","wrap_text","youtube_searched_for","zoom_in","zoom_out","zoom_out_map"];return o.a.createElement("div",{className:"icon-field"},t.map((function(t){return o.a.createElement("div",{key:t,className:"icon-field__option ".concat(e.icon==t?"icon-field__option--selected":""),onClick:function(n){return e.onChange(t)}},o.a.createElement(Da.b,{name:t,className:"icon-field__option__icon"}))})))}));function Pb(e){return(Pb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Nb(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function Bb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.seekTime,i=t.props,a=i.mopidyActions,o=i.time_position;switch(e){case"seekbackward":var s=o-3e4;return s<=0&&(s=0),a.setTimePosition(s);case"seekforward":return a.setTimePosition(o+3e4);case"seekto":return a.setTimePosition(1e3*r);default:return a[e]()}})),ly(cy(t),"render",(function(){var e=t.state.audioRef;return o.a.createElement("audio",{id:"media-session",src:"/iris/assets/silence.mp3",autoPlay:!0,loop:!0,style:{display:"none"},ref:e})})),t.state={current_track:null,stream_title:null,audioRef:o.a.createRef()},t}return t=a,r=[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.current_track,r=e.stream_title,i=void 0===r?null:r,a=e.play_state,o=e.time_position;if(n){var s=n.name,c=n.album,u=void 0===c?{}:c,l=n.artists,f=void 0===l?[]:l,d=n.images,p=void 0===d?{}:d;if(n.duration&&"setPositionState"in navigator.mediaSession){var h=Math.round(n.duration/1e3),m=Math.round(o/1e3),b={duration:h,position:m>h?h:m,playbackRate:1};try{navigator.mediaSession.setPositionState(b)}catch(e){console.error("Failed to set MediaSession position",{newPositionState:b,error:e})}}navigator.mediaSession.metadata=new window.MediaMetadata({title:i||s||"Unknown track",artist:f.length?f[0].name:"Unknown artist",album:u.name||"Unknown album",artwork:[].concat(ny(p.small?[{src:p.small,sizes:"96x96",type:"image/png"}]:[]),ny(p.medium?[{src:p.medium,sizes:"256x256",type:"image/png"}]:[]),ny(p.huge?[{src:p.huge,sizes:"512x512",type:"image/png"}]:[]))})}if(navigator.mediaSession.playbackState!==a){navigator.mediaSession.playbackState=a;var y=t.audioRef.current;y&&("paused"===a?y.pause():y.play())}return ty(ty({},t),{},{current_track:n,stream_title:i})}}],(n=[{key:"componentDidMount",value:function(){var e=this,t=navigator.mediaSession;t.setActionHandler("play",(function(){return e.actionHandler("play")})),t.setActionHandler("pause",(function(){return e.actionHandler("pause")})),t.setActionHandler("seekto",(function(t){return e.actionHandler("seekto",t)})),t.setActionHandler("previoustrack",(function(){return e.actionHandler("previous")})),t.setActionHandler("nexttrack",(function(){return e.actionHandler("next")}))}}])&&iy(t.prototype,n),r&&iy(t,r),a}(o.a.Component),dy=Object(u.b)((function(e){var t=e.core,n=t.items,r=t.current_track,i=t.stream_title;return{current_track:r?n[r.uri]||r:{},stream_title:i,play_state:e.mopidy.play_state,time_position:e.mopidy.time_position,volume:e.mopidy.volume,mute:e.mopidy.mute}}),(function(e){return{mopidyActions:Object(w.b)(Fa,e)}}))(fy);function py(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return hy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hy(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{publishSource:!0},r=n.publishSource,i=void 0===r||r,o=n.clientOffset,s=n.getSourceClientOffset,c=e.getMonitor(),u=e.getRegistry();e.dispatch(l(o)),v(t,c,u);var f=w(t,c);if(null!==f){var d=null;if(o){if(!s)throw new Error("getSourceClientOffset must be defined");g(s),d=s(f)}e.dispatch(l(o,d));var p=u.getSource(f),h=p.beginDrag(c,f);if(null!=h){_(h),u.pinSource(f);var m=u.getSourceType(f);return{type:a,payload:{itemType:m,item:h,sourceId:f,clientOffset:o||null,sourceClientOffset:d||null,isSourcePublic:!!i}}}}else e.dispatch(b)}}function v(e,t,n){Object(r.a)(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach((function(e){Object(r.a)(n.getSource(e),"Expected sourceIds to be registered.")}))}function g(e){Object(r.a)("function"==typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}function _(e){Object(r.a)(h(e),"Item must be an object.")}function w(e,t){for(var n=null,r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function E(e){return function(){if(e.getMonitor().isDragging())return{type:o}}}function k(e,t){return null===t?null===e:Array.isArray(e)?e.some((function(e){return e===t})):e===t}function O(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.clientOffset;S(t);var i=t.slice(0),a=e.getMonitor(),o=e.getRegistry();A(i,a,o);var c=a.getItemType();return j(i,o,c),x(i,a,o),{type:s,payload:{targetIds:i,clientOffset:r||null}}}}function S(e){Object(r.a)(Array.isArray(e),"Expected targetIds to be an array.")}function A(e,t,n){Object(r.a)(t.isDragging(),"Cannot call hover while not dragging."),Object(r.a)(!t.didDrop(),"Cannot call hover after drop.");for(var i=0;i=0;r--){var i=e[r];k(t.getTargetType(i),n)||e.splice(r,1)}}function x(e,t,n){e.forEach((function(e){n.getTarget(e).hover(t,e)}))}function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function C(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=e.getMonitor(),r=e.getRegistry();D(n);var i=R(n);i.forEach((function(i,a){var o=I(i,a,r,n),s={type:c,payload:{dropResult:C(C({},t),o)}};e.dispatch(s)}))}}function D(e){Object(r.a)(e.isDragging(),"Cannot call drop while not dragging."),Object(r.a)(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function I(e,t,n,i){var a=n.getTarget(e),o=a?a.drop(i,e):void 0;return function(e){Object(r.a)(void 0===e||h(e),"Drop result must either be an object or undefined.")}(o),void 0===o&&(o=0===t?{}:i.getDropResult()),o}function R(e){var t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function L(e){return function(){var t=e.getMonitor(),n=e.getRegistry();!function(e){Object(r.a)(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);var i=t.getSourceId();null!=i&&(n.getSource(i,!0).endDrag(t,i),n.unpinSource());return{type:u}}}function M(e,t){for(var n=0;n0;r.backend&&(e&&!r.isSetUp?(r.backend.setup(),r.isSetUp=!0):!e&&r.isSetUp&&(r.backend.teardown(),r.isSetUp=!1))})),this.store=t,this.monitor=n,t.subscribe(this.handleRefCountChange)}var t,n,r;return t=e,(n=[{key:"receiveBackend",value:function(e){this.backend=e}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.monitor.registry}},{key:"getActions",value:function(){var e=this,t=this.store.dispatch,n=function(e){return{beginDrag:y(e),publishDragSource:E(e),hover:O(e),drop:N(e),endDrag:L(e)}}(this);return Object.keys(n).reduce((function(r,i){var a,o=n[i];return r[i]=(a=o,function(){for(var n=arguments.length,r=new Array(n),i=0;i2&&void 0!==arguments[2]?arguments[2]:G;if(e.length!==t.length)return!1;for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:$,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case i:case a:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case s:return W(e.clientOffset,n.clientOffset)?e:X(X({},e),{},{clientOffset:n.clientOffset});case u:case c:return $;default:return e}}var ee="dnd-core/ADD_SOURCE",te="dnd-core/ADD_TARGET",ne="dnd-core/REMOVE_SOURCE",re="dnd-core/REMOVE_TARGET";function ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:se,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case a:return ae(ae({},e),{},{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case o:return ae(ae({},e),{},{isSourcePublic:!0});case s:return ae(ae({},e),{},{targetIds:n.targetIds});case re:return-1===e.targetIds.indexOf(n.targetId)?e:ae(ae({},e),{},{targetIds:p(e.targetIds,n.targetId)});case c:return ae(ae({},e),{},{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case u:return ae(ae({},e),{},{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function ue(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case ee:case te:return e+1;case ne:case re:return e-1;default:return e}}var le=[],fe=[];function de(e,t){return e!==le&&(e===fe||void 0===t||(n=e,t.filter((function(e){return n.indexOf(e)>-1}))).length>0);var n}function pe(){var e=arguments.length>1?arguments[1]:void 0;switch(e.type){case s:break;case ee:case te:case re:case ne:return le;case a:case o:case u:case c:default:return fe}var t=e.payload,n=t.targetIds,r=void 0===n?[]:n,i=t.prevTargetIds,l=void 0===i?[]:i,f=m(r,l),d=f.length>0||!K(r,l);if(!d)return le;var p=l[l.length-1],h=r[r.length-1];return p!==h&&(p&&f.push(p),h&&f.push(h)),f}function he(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e+1}function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function be(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return{dirtyHandlerIds:pe(e.dirtyHandlerIds,{type:t.type,payload:be(be({},t.payload),{},{prevTargetIds:d(e,"dragOperation.targetIds",[])})}),dragOffset:Z(e.dragOffset,t),refCount:ue(e.refCount,t),dragOperation:ce(e.dragOperation,t),stateId:he(e.stateId)}}function ge(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{handlerIds:void 0},i=n.handlerIds;Object(r.a)("function"==typeof e,"listener must be a function."),Object(r.a)(void 0===i||Array.isArray(i),"handlerIds, when specified, must be an array of strings.");var a=this.store.getState().stateId,o=function(){var n=t.store.getState(),r=n.stateId;try{r===a||r===a+1&&!de(n.dirtyHandlerIds,i)||e()}finally{a=r}};return this.store.subscribe(o)}},{key:"subscribeToOffsetChange",value:function(e){var t=this;Object(r.a)("function"==typeof e,"listener must be a function.");var n=this.store.getState().dragOffset;return this.store.subscribe((function(){var r=t.store.getState().dragOffset;r!==n&&(n=r,e())}))}},{key:"canDragSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e);return Object(r.a)(t,"Expected to find a valid source. sourceId=".concat(e)),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){if(!e)return!1;var t=this.registry.getTarget(e);return Object(r.a)(t,"Expected to find a valid target. targetId=".concat(e)),!(!this.isDragging()||this.didDrop())&&k(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e,!0);return Object(r.a)(t,"Expected to find a valid source. sourceId=".concat(e)),!(!this.isDragging()||!this.isSourcePublic())&&this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e)}},{key:"isOverTarget",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shallow:!1};if(!e)return!1;var n=t.shallow;if(!this.isDragging())return!1;var r=this.registry.getTargetType(e),i=this.getItemType();if(i&&!k(r,i))return!1;var a=this.getTargetIds();if(!a.length)return!1;var o=a.indexOf(e);return n?o===a.length-1:o>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return e=this.store.getState().dragOffset,r=e.clientOffset,i=e.initialClientOffset,a=e.initialSourceClientOffset,r&&i&&a?ge((n=a,{x:(t=r).x+n.x,y:t.y+n.y}),i):null;var e,t,n,r,i,a}},{key:"getDifferenceFromInitialOffset",value:function(){return e=this.store.getState().dragOffset,t=e.clientOffset,n=e.initialClientOffset,t&&n?ge(t,n):null;var e,t,n}}])&&_e(t.prototype,n),i&&_e(t,i),e}(),Oe=0;function Se(e){return(Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ae(e,t){t&&Array.isArray(e)?e.forEach((function(e){return Ae(e,!1)})):Object(r.a)("string"==typeof e||"symbol"===Se(e),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(Ee||(Ee={}));var je=n(207),xe=[],Te=[],Ce=je.a.makeRequestCallFromTimer((function(){if(Te.length)throw Te.shift()}));function Pe(e){var t;(t=xe.length?xe.pop():new Ne).task=e,Object(je.a)(t)}var Ne=function(){function e(){}return e.prototype.call=function(){try{this.task.call()}catch(e){Pe.onerror?Pe.onerror(e):(Te.push(e),Ce())}finally{this.task=null,xe[xe.length]=this}},e}();function De(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]&&arguments[1];Object(r.a)(this.isSourceId(e),"Expected a valid source ID.");var n=t&&e===this.pinnedSourceId,i=n?this.pinnedSource:this.dragSources.get(e);return i}},{key:"getTarget",value:function(e){return Object(r.a)(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}},{key:"getSourceType",value:function(e){return Object(r.a)(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}},{key:"getTargetType",value:function(e){return Object(r.a)(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}},{key:"isSourceId",value:function(e){return Ue(e)===Ee.SOURCE}},{key:"isTargetId",value:function(e){return Ue(e)===Ee.TARGET}},{key:"removeSource",value:function(e){var t=this;Object(r.a)(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:ne,payload:{sourceId:e}}}(e)),Pe((function(){t.dragSources.delete(e),t.types.delete(e)}))}},{key:"removeTarget",value:function(e){Object(r.a)(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:re,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}},{key:"pinSource",value:function(e){var t=this.getSource(e);Object(r.a)(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){Object(r.a)(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}},{key:"addHandler",value:function(e,t,n){var r=Me(e);return this.types.set(r,t),e===Ee.SOURCE?this.dragSources.set(r,n):e===Ee.TARGET&&this.dropTargets.set(r,n),r}}])&&De(t.prototype,n),i&&De(t,i),e}();function Be(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=He(r),a=new ke(i,new ze(i)),o=new F(i,a),s=e(o,t,n);return o.receiveBackend(s),o}function He(e){var t="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return Y(ve,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}},,,,,,function(e,t,n){"use strict";function r(e,t,n){var r=n.getRegistry(),i=r.addTarget(e,t);return[i,function(){return r.removeTarget(i)}]}function i(e,t,n){var r=n.getRegistry(),i=r.addSource(e,t);return[i,function(){return r.removeSource(i)}]}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return c}));var r=n(55),i=n(122),a={nowSeconds:function(){return Date.now()/1e3}};var o=Object(i.b)()?function(){try{return Object(i.a)(e,"perf_hooks").performance}catch(e){return}}():function(){var e=Object(r.e)().performance;if(e&&e.now)return{now:function(){return e.now()},timeOrigin:Date.now()-e.now()}}(),s=void 0===o?a:{nowSeconds:function(){return(o.timeOrigin+o.now())/1e3}},c=a.nowSeconds.bind(a);s.nowSeconds.bind(s),function(){var e=Object(r.e)().performance;if(e)e.timeOrigin?e.timeOrigin:e.timing&&e.timing.navigationStart||Date.now()}()}).call(this,n(183)(e))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return p}));var r=n(295),i=n(0),a=n(606),o=n(205),s=["children"];function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,a=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){s=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(s)throw i}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var f=0,d=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__"),p=Object(i.memo)((function(e){var t=e.children,n=c(function(e){if("manager"in e){return[{dragDropManager:e.manager},!1]}var t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h(),n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=t;i[d]||(i[d]={dragDropManager:Object(a.a)(e,t,n,r)});return i[d]}(e.backend,e.context,e.options,e.debugMode),n=!e.context;return[t,n]}(l(e,s)),2),u=n[0],p=n[1];return Object(i.useEffect)((function(){if(p){var e=h();return++f,function(){0==--f&&(e[d]=null)}}}),[]),Object(r.jsx)(o.a.Provider,Object.assign({value:u},{children:t}),void 0)}));function h(){return void 0!==e?e:window}}).call(this,n(68))},function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n(612),i=n(56),a=n(60),o=n(16),s=n(0);function c(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function M(e,t){var n=void 0!==e.version?e.version:-1,r=(e.debug,void 0===e.stateReconciler?j:e.stateReconciler),i=e.getStoredState||C,a=void 0!==e.timeout?e.timeout:5e3,o=null,s=!1,c=!0,u=function(e){return e._persist.rehydrated&&o&&!c&&o.update(e),e};return function(l,f){var d=l||{},p=d._persist,h=L(d,["_persist"]);if("persist/PERSIST"===f.type){var m=!1,b=function(t,n){m||(f.rehydrate(e.key,t,n),m=!0)};if(a&&setTimeout((function(){!m&&b(void 0,new Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),a),c=!1,o||(o=x(e)),p)return I({},t(h,f),{_persist:p});if("function"!=typeof f.rehydrate||"function"!=typeof f.register)throw new Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return f.register(e.key),i(e).then((function(t){(e.migrate||function(e,t){return Promise.resolve(e)})(t,n).then((function(e){b(e)}),(function(e){b(void 0,e)}))}),(function(e){b(void 0,e)})),I({},t(h,f),{_persist:{version:n,rehydrated:!1}})}if("persist/PURGE"===f.type)return s=!0,f.result(function(e){var t=e.storage,n="".concat(void 0!==e.keyPrefix?e.keyPrefix:"persist:").concat(e.key);return t.removeItem(n,N)}(e)),I({},t(h,f),{_persist:p});if("persist/FLUSH"===f.type)return f.result(o&&o.flush()),I({},t(h,f),{_persist:p});if("persist/PAUSE"===f.type)c=!0;else if(f.type===E){if(s)return I({},h,{_persist:I({},p,{rehydrated:!0})});if(f.key===e.key){var y=t(h,f),v=f.payload,g=I({},!1!==r&&void 0!==v?r(v,l,y,e):y,{_persist:I({},p,{rehydrated:!0})});return u(g)}}if(!p)return t(l,f);var _=t(h,f);return _===h?l:u(I({},_,{_persist:p}))}}function U(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:H,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case k:return z({},e,{registry:[].concat(U(e.registry),[t.key])});case E:var n=e.registry.indexOf(t.key),r=U(e.registry);return r.splice(n,1),z({},e,{registry:r,bootstrapped:0===r.length});default:return e}};var V=n(32),Y=n.n(V);function G(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(i){return"function"==typeof i?i(n,r,e):t(i)}}}}var W=G();W.withExtraArgument=G;var K=W,Q=n(5),X=n(8);function J(e){return function(e){if(Array.isArray(e))return $(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return $(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function we(e){return function(e){if(Array.isArray(e))return ke(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Ee(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,t){if(e){if("string"==typeof e)return ke(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ke(e,t):void 0}}function ke(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0)return t.dispatch(Fe.setLoading(f,!0)),void a();t.dispatch(Fe.restoreItemsFromColdStore([e]));var n=g(e);if(n.length>0){var r=n.map((function(e){return Y.a.getItem(e)}));Promise.all(r).then((function(e){t.dispatch(Fe.restoreItemsFromColdStore(Object(ne.compact)(e)))}))}}))},Ve=n(14),Ye=n(1);function Ge(e){return function(e){if(Array.isArray(e))return We(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return We(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return We(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function We(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},r=e.getState(),i=r.core,a=r.ui,s=a.allow_reporting,c=a.log_actions,u=(r.mopidy,r.spotify);if(window.localForage=Y.a,window._store=e,c){var l=["START_LOADING","STOP_LOADING"];l.includes(n.type)}switch(n.type){case"HANDLE_EXCEPTION":var f=e.getState(),d={core:Xe({},f.core),ui:Xe({},f.ui),spotify:Xe({},f.spotify),mopidy:Xe({},f.mopidy),pusher:Xe({},f.pusher)},p=n.message,h=n.description;if(!h)if(n.data.xhr&&n.data.xhr.responseText){var m=JSON.parse(n.data.xhr.responseText);m.error&&m.error.message&&(h=m.error.message)}else n.data.xhr&&(h="".concat(n.data.xhr.status," ").concat(n.data.xhr.statusText));delete d.core.albums,delete d.core.artists,delete d.core.playlists,delete d.core.users,delete d.core.queue_metadata,delete d.core.current_tracklist,delete d.spotify.library_albums,delete d.spotify.library_artists,delete d.spotify.library_playlists,delete d.spotify.autocomplete_results,delete d.mopidy.library_albums,delete d.mopidy.library_artists,delete d.mopidy.library_playlists;var b=Xe(Xe({},n.data),{},{message:p,description:h,state:d});s&&Re.a.event({category:"Error",action:p,label:h,nonInteraction:!0}),n.show_notification&&e.dispatch(Ze.createNotification({content:p,level:"error",description:h})),console.error(p,h,b);break;case"UNSUPPORTED_ACTION":e.dispatch(Object(Ve.handleException)("Action failed (".concat(n.name,")"),{description:"Not supported on this type of object"}));break;case"PLAY_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Play",label:n.uri}),t(n);break;case"SAVE_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Save",label:n.key}),t(n);break;case"CREATE_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Create",label:+n.name}),t(n);break;case"REORDER_PLAYLIST_TRACKS":s&&Re.a.event({category:"Playlist",action:"Reorder tracks",label:n.key}),t(n);break;case"ADD_PLAYLIST_TRACKS":s&&Re.a.event({category:"Playlist",action:"Add tracks",label:n.playlist_uri}),t(n);break;case"REMOVE_PLAYLIST_TRACKS":s&&Re.a.event({category:"Playlist",action:"Remove tracks",label:n.playlist_uri}),t(n);break;case"DELETE_PLAYLIST":s&&Re.a.event({category:"Playlist",action:"Delete",label:n.uri}),t(n);break;case"START_SEARCH":var y=n.query,v=e.getState(),g=v.ui,_=g.allow_reporting,w=g.uri_schemes_search_enabled,E=void 0===w?[]:w,k=g.search_settings;_&&Re.a.event({category:"Search",action:"Started",label:"".concat(y.type,": ").concat(y.term)}),t(n),E.includes("spotify:")&&(k&&!k.spotify||e.dispatch(tt.getSearchResults(y))),e.dispatch(et.getSearchResults(y,100,E.filter((function(e){return"spotify:"!==e}))));break;case"SEARCH_RESULTS_LOADED":var O=n.query,S=O.term,A=O.type,j=n.resultType,x=n.results,T=e.getState(),C=T.core,P=(C=void 0===C?{}:C).search_results,N=(P=void 0===P?{}:P).query,D=(N=void 0===N?{}:N).term,I=N.type,R=Ke(P,["query"]),L=Xe({query:{term:S,type:A}},S===D&&A===I?R:{});L[j]=[].concat(Ge(L[j]||[]),Ge(x)),t(Xe(Xe({},n),{},{search_results:L}));break;case"PLAYLIST_TRACKS_ADDED":var M=n.key,U=n.tracks_uris,F=e.getState(),z=F.core.items[M];switch(e.dispatch(Ze.createNotification({content:o.a.createElement(Ye.a,{path:"actions.added_tracks_to",count:U.length,contentAfter:!0},o.a.createElement(Le.a,{type:"playlist",uri:M},z?z.name:"playlist"))})),Object(Q.p)(M)){case"spotify":e.dispatch(tt.getPlaylist(M,{}));break;case"m3u":e.dispatch(et.getPlaylist(M,{}))}t(n);break;case"PLAYLIST_TRACKS_REORDERED":var B=n.key,H=n.snapshot_id,q=n.insert_before,V=Xe({},i.items[B]),G=Object.assign([],V.tracks);q>n.range_start&&(q-=n.range_length);var W=G.splice(n.range_start,n.range_length);W.reverse();for(var K=0;Ke.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(a,o){var s=Object(Q.a)(),c={jsonrpc:"2.0",id:s,method:n};i&&(c.params=i),e.getState().ui.log_pusher&&console.log("Pusher log (outgoing)",c),t.send(JSON.stringify(c)),e.dispatch(bt.startLoading(s,"pusher_".concat(n))),setTimeout((function(){e.dispatch(bt.stopLoading(s)),o({id:s,code:32300,message:"Request timed out"})}),3e4),r[s]={resolve:a,reject:o}}))};return function(a){return function(o){return function(s){var c=a.getState().pusher;switch(s.type){case"PUSHER_CONNECT":null!=t&&t.close(),clearTimeout(n),a.dispatch({type:"PUSHER_CONNECTING"});var u=a.getState().mopidy,l=u.host,f=u.port,d=u.ssl,p="ws".concat(d||"https:"===window.location.protocol?"s":"","://");p+="".concat(l,":").concat(f,"/iris/ws/"),(t=new WebSocket(p)).onopen=function(){a.dispatch({type:"PUSHER_CONNECTED"})},t.onclose=function(e){a.dispatch({type:"PUSHER_DISCONNECTED"}),n=setTimeout((function(){a.dispatch(yt.connect())}),5e3)},t.onerror=function(e){1===t.readyState&&a.dispatch(mt.handleException("Pusher websocket error",e,e.type))},t.onmessage=function(e){!function(e,t,n){t.getState().ui.log_pusher&&console.log("Pusher log (incoming)",n);var i=null;if(n.id?i=n.id:n.error&&n.error.id&&(i=n.error.id),i)void 0!==r[i]?(t.dispatch(bt.stopLoading(i)),void 0!==n.error?r[i].reject(n.error):r[i].resolve(n.result)):t.dispatch(mt.handleException("Pusher: Response received with no matching request",n));else if(void 0!==n.error)t.dispatch(mt.handleException("Pusher: ".concat(n.error.message),n,void 0!==n.error.data&&void 0!==n.error.data.description?n.error.data.description:null));else{var a=n.params?n.params:{};switch(n.method){case"connection_added":t.dispatch(yt.connectionAdded(a.connection));break;case"connection_changed":t.dispatch(yt.connectionChanged(a.connection));break;case"connection_removed":t.dispatch(yt.connectionRemoved(a.connection));break;case"queue_metadata_changed":t.dispatch(yt.queueMetadataChanged(a.queue_metadata));break;case"spotify_token_changed":t.dispatch(_t.tokenChanged(a.spotify_token));break;case"share_config_received":t.dispatch(bt.openModal("import-config",{context:"pushed",config:a}));break;case"shared_config_changed":t.dispatch(yt.sharedConfig(a.shared_config));break;case"notification":t.dispatch(bt.createNotification(a.notification));break;case"radio_started":t.dispatch(yt.radioStarted(a.radio));break;case"radio_changed":t.dispatch(yt.radioChanged(a.radio));break;case"radio_stopped":t.dispatch(yt.radioStopped());break;case"commands_changed":t.dispatch(yt.commandsUpdated(a.commands));break;case"pinned_changed":t.dispatch(yt.pinnedUpdated(a.pinned));break;case"reload":window.location.reload(!0);break;case"local_scan_started":t.dispatch(bt.updateProcess("local_scan",{content:"Scanning local library"}));break;case"local_scan_updated":t.dispatch(bt.updateProcess("local_scan",{content:"Scanning local library",data:{},description:a.output}));break;case"local_scan_finished":t.dispatch(bt.processFinished("local_scan",{content:"Local scan finished",description:a.output,sticky:!0}));break;case"local_scan_error":t.dispatch(bt.processFinished("local_scan",{level:"error",content:"Local scan failed",description:a.error,sticky:!0}));break;case"upgrade_started":t.dispatch(bt.updateProcess("upgrade",{content:"Upgrading"}));break;case"upgrade_updated":t.dispatch(bt.updateProcess("upgrade",{content:"Upgrading",data:{},description:a.output}));break;case"upgrade_finished":t.dispatch(bt.updateProcess("upgrade",{content:"Restarting to complete upgrade"}));break;case"upgrade_error":t.dispatch(bt.processFinished("upgrade",{level:"error",content:"Upgrade failed",description:a.error,sticky:!0}));break;case"restart_started":t.dispatch(bt.removeProcess("upgrade",{content:"Restarting"}));break;case"restart_updated":t.dispatch(bt.updateProcess("upgrade",{content:"Restarting",data:{},description:a.output}));break;case"restart_error":t.dispatch(bt.processFinished("upgrade",{level:"error",content:"Restart failed",description:a.error,sticky:!0}));break;case"test_started":t.dispatch(bt.updateProcess("test",{content:"Running test",data:{},description:a.output}));break;case"test_updated":t.dispatch(bt.updateProcess("test",{content:"Running test"}));break;case"test_finished":t.dispatch(bt.processFinished("test",{content:"Test finished",description:a.output,sticky:!0}));break;case"test_error":t.dispatch(bt.removeProcess("test",{level:"error",content:a.message,description:a.error}))}}}(0,a,JSON.parse(e.data))};break;case"PUSHER_CONNECTED":a.getState().ui.allow_reporting&&Re.a.event({category:"Pusher",action:"Connected",label:s.username}),clearTimeout(n),a.dispatch(yt.updateConnection()),a.dispatch(yt.getConfig()),a.dispatch(yt.getSharedConfig()),a.dispatch(yt.getRadio()),a.dispatch(yt.getCommands()),a.dispatch(yt.getPinned()),a.dispatch(yt.getQueueMetadata()),setTimeout((function(){a.dispatch(yt.getVersion())}),500),o(s);break;case"PUSHER_REQUEST":i(a,s.method,s.params).then((function(t){s.response_callback&&s.response_callback.call(e,t)}),(function(t){s.error_callback?s.error_callback.call(e,t):a.dispatch(mt.handleException("Pusher request failed",t,s.method,s))}));break;case"PUSHER_DELIVER_MESSAGE":i(a,"send_message",s.data).then((function(e){a.dispatch(bt.createNotification({content:"Message delivered"}))}),(function(e){a.dispatch(mt.handleException("Could not deliver message",e))}));break;case"PUSHER_DELIVER_BROADCAST":i(a,"broadcast",s.data);break;case"PUSHER_SET_USERNAME":a.dispatch(yt.updateConnection({username:s.username})),o(s);break;case"PUSHER_UPDATE_CONNECTION":var h=pt({username:a.getState().pusher.username,client_id:a.getState().pusher.client_id},s.connection?s.connection:{});i(a,"update_connection",h).then((function(e){e.type="PUSHER_CONNECTION_UPDATED",a.dispatch(e)}),(function(e){a.dispatch(mt.handleException("Could not update connection",e))})),o(s);break;case"PUSHER_GET_QUEUE_METADATA":i(a,"get_queue_metadata").then((function(e){e.type="PUSHER_QUEUE_METADATA",a.dispatch(e)}),(function(e){a.dispatch(mt.handleException("Could not load queue metadata",e))}));break;case"PUSHER_ADD_QUEUE_METADATA":i(a,"add_queue_metadata",{tlids:s.tlids,added_from:s.from_uri,added_by:c.username});break;case"PUSHER_GET_VERSION":i(a,"get_version").then((function(e){a.dispatch({type:"PUSHER_VERSION",version:e.version})}),(function(e){a.dispatch(mt.handleException("Could not load version",e))}));break;case"PUSHER_GET_CONFIG":i(a,"get_config").then((function(e){a.dispatch({type:"PUSHER_CONFIG",config:e.config})}),(function(e){a.dispatch(mt.handleException("Could not load config",e))}));break;case"PUSHER_GET_SHARED_CONFIG":i(a,"get_shared_config").then((function(e){a.dispatch({type:"PUSHER_SHARED_CONFIG",shared_config:e.shared_config})}),(function(e){a.dispatch(mt.handleException("Could not load shared config",e))}));break;case"PUSHER_SET_SHARED_CONFIG":var m=s.shared_config;i(a,"set_shared_config",{shared_config:m}).then((function(){}),(function(e){a.dispatch(mt.handleException("Could not share to server",e))})),o(s);break;case"PUSHER_GET_CONNECTIONS":i(a,"get_connections").then((function(e){a.dispatch({type:"PUSHER_CONNECTIONS",connections:e.connections})}),(function(e){a.dispatch(mt.handleException("Could not load connections",e))})),o(s);break;case"PUSHER_GET_PINNED":i(a,"get_pinned").then((function(e){a.dispatch(yt.pinnedUpdated(e.pinned))}),(function(e){})),o(s);break;case"PUSHER_ADD_PINNED":a.dispatch(yt.setPinned([].concat(lt(c.pinned),[s.item]))),a.dispatch(mt.itemLoaded({uri:s.item.uri,is_pinned:!0}));break;case"PUSHER_SET_PINNED":i(a,"set_pinned",{pinned:s.pinned}).then((function(e){}),(function(e){a.dispatch(mt.handleException("Could not pin URI",e))})),o(s);break;case"PUSHER_REMOVE_PINNED":var b=c.pinned.filter((function(e){return e.uri!==s.uri}));a.dispatch(mt.itemLoaded({uri:s.uri,is_pinned:!1})),i(a,"set_pinned",{pinned:b}).then((function(e){}),(function(e){a.dispatch(mt.handleException("Could not unpin URI",e))})),o(s);break;case"PUSHER_GET_COMMANDS":i(a,"get_commands").then((function(e){a.dispatch(yt.commandsUpdated(e.commands))}),(function(){})),o(s);break;case"PUSHER_SET_COMMAND":var y=pt(pt({},c.commands),{},ht({},s.command.id,pt(pt({},c.commands[s.command.id]||{}),s.command)));a.dispatch(yt.setCommands(y));break;case"PUSHER_SET_COMMANDS":i(a,"set_commands",{commands:s.commands}).then((function(){}),(function(e){a.dispatch(mt.handleException("Could not set commands",e))})),o(s);break;case"PUSHER_REMOVE_COMMAND":var v=pt({},c.commands);delete v[s.id],i(a,"set_commands",{commands:v}).then((function(){}),(function(e){a.dispatch(mt.handleException("Could not remove command",e))})),o(s);break;case"PUSHER_RUN_COMMAND":var g="command_".concat(s.id);s.notify&&a.dispatch(bt.startProcess(g,{content:"Running command"})),i(a,"run_command",{id:s.id}).then((function(){a.dispatch(bt.removeProcess(g)),s.notify&&a.dispatch(bt.createNotification({key:g,content:"Command sent"}))}),(function(e){a.dispatch(bt.removeProcess(g)),a.dispatch(mt.handleException("Could not run command",e))}));break;case"PUSHER_GET_RADIO":i(a,"get_radio").then((function(e){a.dispatch({type:"PUSHER_RADIO_LOADED",radio:e.radio}),e.radio.enabled&&a.dispatch(_t.resolveRadioSeeds(e.radio))}),(function(e){a.dispatch(mt.handleException("Could not load radio",e))}));break;case"PUSHER_START_RADIO":case"PUSHER_UPDATE_RADIO":Object(ut.a)({category:"Pusher",action:"Start radio",label:s.uris.join()}),a.dispatch(bt.startProcess(s.type,{content:"".concat("PUSHER_UPDATE_RADIO"===s.type?"Updating":"Starting"," radio")}));for(var _={reset:"PUSHER_START_RADIO"===s.type,seed_artists:[],seed_genres:[],seed_tracks:[]},w=0;we.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(i,a){var o,s=Object(Q.a)(),c="mopidy_".concat(n,"_").concat((null==r?void 0:r.uri)||"","_").concat((null==r||null===(o=r.uris)||void 0===o?void 0:o.join("_"))||"");e.dispatch(Dt.startLoading(s,c));var u=function(){var o=zt(n,t);if(o){var c=setTimeout((function(){e.dispatch(Dt.stopLoading(s)),a(new Error("Request timed out"))}),3e4);o(r).then((function(t){clearTimeout(c),e.dispatch(Dt.stopLoading(s)),i(t)}),(function(t){clearTimeout(c),e.dispatch(Dt.stopLoading(s)),a(t)}))}else e.dispatch(Dt.stopLoading(s)),console.warn("Mopidy request aborted. Either Mopidy is not connected or the request method is invalid. Check the request and your server settings.",{call:n,value:r,socket:t,controller:o})};t&&e.getState().mopidy.connected?u():setTimeout((function(){return u()}),2e3)}))};return function(i){return function(a){return function(o){switch(o.type){case"MOPIDY_CONNECT":null!=t&&t.close(),i.dispatch({type:"MOPIDY_CONNECTING"});var s=i.getState().mopidy,c=s.ssl,u=s.host,l=s.port;try{t=new kt.a({webSocketUrl:"ws".concat(c?"s":"","://").concat(u,":").concat(l,"/mopidy/ws/"),callingConvention:"by-position-or-by-name"})}catch(e){console.error(e);break}t.on((function(e,t){return function(e,t,r,i){switch(t.getState().ui.log_mopidy,r){case"state:online":t.dispatch({type:"MOPIDY_CONNECTED"}),t.dispatch(Pt.getCurrentTrack()),t.dispatch(Pt.getPlayState()),t.dispatch(Pt.getVolume()),t.dispatch(Pt.getMute()),t.dispatch(Pt.getConsume()),t.dispatch(Pt.getRandom()),t.dispatch(Pt.getRepeat()),t.dispatch(Pt.getQueue()),t.dispatch(Pt.getTimePosition()),t.dispatch(Pt.getUriSchemes()),t.dispatch(Pt.getStreamTitle()),n=setInterval((function(){"playing"===t.getState().mopidy.play_state&&!0===t.getState().ui.window_focus&&t.dispatch(Pt.getTimePosition())}),1e4);break;case"state:offline":t.dispatch({type:"MOPIDY_DISCONNECTED"}),t.dispatch(Pt.clearCurrentTrack()),clearInterval(n);break;case"event:tracklistChanged":t.dispatch(Pt.getQueue()),setTimeout((function(){t.dispatch(Pt.getNextTrack())}),1e3);break;case"event:playbackStateChanged":t.dispatch({type:"MOPIDY_PLAY_STATE",play_state:i.new_state}),t.dispatch(Pt.getTimePosition());break;case"event:seeked":t.dispatch({type:"MOPIDY_TIME_POSITION",time_position:i.time_position});break;case"event:trackPlaybackEnded":t.dispatch(Pt.clearCurrentTrack()),t.dispatch({type:"MOPIDY_TIME_POSITION",time_position:0});break;case"event:trackPlaybackStarted":i.tl_track&&(t.dispatch(Pt.currentTrackLoaded(i.tl_track)),setTimeout((function(){t.dispatch(Pt.getNextTrack())}),1e3));break;case"event:volumeChanged":t.dispatch({type:"MOPIDY_VOLUME",volume:i.volume});break;case"event:muteChanged":t.dispatch({type:"MOPIDY_MUTE",mute:i.mute});break;case"event:optionsChanged":t.dispatch(Pt.getConsume()),t.dispatch(Pt.getRandom()),t.dispatch(Pt.getRepeat());break;case"event:streamTitleChanged":t.dispatch(Nt.streamTitleChanged(i.title))}}(0,i,e,t)}));break;case"MOPIDY_CONNECTED":i.getState().ui.allow_reporting&&Re.a.event({category:"Mopidy",action:"Connected",label:Object(Ot.sha256)(window.location.hostname)}),a(o);break;case"MOPIDY_DISCONNECT":null!=t&&t.close(),t=null,i.dispatch({type:"MOPIDY_DISCONNECTED"});break;case"MOPIDY_DISCONNECTED":Object(Q.j)("favicon_error.png");break;case"MOPIDY_DEBUG":r(i,o.call,o.value).then((function(e){i.dispatch({type:"DEBUG",response:e})}));break;case"MOPIDY_UPDATE_SERVER":var f=i.getState().mopidy.servers,d=Tt(Tt({},f[o.server.id]||{}),o.server);d.url="http".concat(d.ssl?"s":"","://").concat(d.host,":").concat(d.port),i.dispatch(Pt.updateServers(Tt(Tt({},f),{},Ct({},d.id,d))));break;case"MOPIDY_SET_CURRENT_SERVER":var p,h=o.server,m=i.getState().mopidy.servers,b=null;if(!(b=o.server.id?m[o.server.id]||void 0:Object(ne.find)(m,(function(e){return e.url===h.url})))){var y=Pt.addServer(h);i.dispatch(y),b=y.server}i.dispatch(Pt.set({current_server:h.id||(null===(p=b)||void 0===p?void 0:p.id),host:h.host,port:h.port,ssl:h.ssl,connected:!1,connecting:!1})),setTimeout((function(){i.dispatch(Pt.connect()),i.dispatch(Rt.connect())}),250),a(o);break;case"MOPIDY_GET_SERVER_STATE":var v=Tt({},i.getState().mopidy.servers[o.id]);if(!v.host||!v.port||""===v.host||""===v.port)break;var g="http".concat(v.ssl?"s":"","://").concat(v.host,":").concat(v.port);fetch("".concat(g,"/iris/http/get_server_state")).then((function(e){return e.json()})).then((function(e){var t=e.result;if(v=Tt(Tt({},v),t),t.current_track){var n=t.current_track.images?Object(ge.n)(Object(ge.c)(v,t.current_track.images)):null;v.current_track=Object(ge.r)(Tt(Tt({},t.current_track),{},{images:n}))}i.dispatch(Pt.updateServer(v))})).catch((function(e){i.dispatch(Nt.handleException("Could not fetch server",e,g,!1))}));break;case"MOPIDY_REMOVE_SERVER":var _=Tt({},i.getState().mopidy.servers);delete _[o.id],i.dispatch(Pt.updateServers(_));break;case"SET_WINDOW_FOCUS":a(o);break;case"MOPIDY_REQUEST":r(i,o.method,o.params).then((function(e){o.response_callback&&o.response_callback(e)}),(function(e){o.error_callback?o.error_callback(e):i.dispatch(Nt.handleException("Mopidy request failed",e,o.method,o))}));break;case"MOPIDY_PLAY_STATE":i.dispatch(Dt.setWindowTitle(null,o.play_state)),"playing"==o.play_state?Object(Q.j)("favicon.png"):Object(Q.j)("favicon_paused.png"),a(o);break;case"MOPIDY_GET_PLAY_STATE":r(i,"playback.getState").then((function(e){i.dispatch({type:"MOPIDY_PLAY_STATE",play_state:e})}));break;case"MOPIDY_PLAY":r(i,"playback.play").then((function(e){i.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"playing"})})),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username+("paused"==i.getState().mopidy.play_state?" resumed":" started")," playback"),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}));break;case"MOPIDY_PAUSE":r(i,"playback.pause").then((function(e){i.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"paused"}),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," paused playback"),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}))}));break;case"MOPIDY_PREVIOUS":i.dispatch(Dt.setCurrentTrackTransition("previous")),r(i,"playback.previous");break;case"MOPIDY_NEXT":i.dispatch(Dt.setCurrentTrackTransition("next")),r(i,"playback.next").then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username,' skipped "').concat(i.getState().core.current_track.name,'"'),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}))}));break;case"MOPIDY_STOP":r(i,"playback.stop").then((function(e){i.dispatch(Pt.clearCurrentTrack()),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," stopped playback"),icon:!!i.getState().core.current_track&&Object(ge.u)(i.getState().core.current_track,i.getState().core)}}))}));break;case"MOPIDY_CHANGE_TRACK":r(i,"playback.play",{tlid:o.tlid}).then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," changed track")}}))}));break;case"MOPIDY_REMOVE_TRACKS":r(i,"tracklist.remove",{criteria:{tlid:o.tlids}}).then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," removed ").concat(o.tlids.length," tracks")}}))}));break;case"MOPIDY_GET_REPEAT":r(i,"tracklist.getRepeat").then((function(e){i.dispatch({type:"MOPIDY_REPEAT",repeat:e})}));break;case"MOPIDY_SET_REPEAT":r(i,"tracklist.setRepeat",[o.repeat]);break;case"MOPIDY_GET_RANDOM":r(i,"tracklist.getRandom").then((function(e){i.dispatch({type:"MOPIDY_RANDOM",random:e})}));break;case"MOPIDY_SET_RANDOM":r(i,"tracklist.setRandom",[o.random]);break;case"MOPIDY_GET_CONSUME":r(i,"tracklist.getConsume").then((function(e){i.dispatch({type:"MOPIDY_CONSUME",consume:e})}));break;case"MOPIDY_SET_CONSUME":r(i,"tracklist.setConsume",[o.consume]);break;case"MOPIDY_GET_MUTE":r(i,"mixer.getMute").then((function(e){i.dispatch({type:"MOPIDY_MUTE",mute:e})}));break;case"MOPIDY_SET_MUTE":r(i,"mixer.setMute",[o.mute]).then((function(e){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username+(o.mute?" muted":" unmuted")," playback")}}))}));break;case"MOPIDY_GET_VOLUME":r(i,"mixer.getVolume").then((function(e){i.dispatch({type:"MOPIDY_VOLUME",volume:e})}));break;case"MOPIDY_SET_VOLUME":r(i,"mixer.setVolume",{volume:o.volume}).then((function(e){i.dispatch({type:"MOPIDY_VOLUME",volume:o.volume})}));break;case"MOPIDY_SET_TIME_POSITION":r(i,"playback.seek",{time_position:o.time_position}).then((function(e){i.dispatch({type:"MOPIDY_TIME_POSITION",time_position:o.time_position})}));break;case"MOPIDY_GET_TIME_POSITION":r(i,"playback.getTimePosition").then((function(e){i.dispatch({type:"MOPIDY_TIME_POSITION",time_position:e})}));break;case"MOPIDY_GET_URI_SCHEMES":r(i,"getUriSchemes").then((function(e){var t=["http","https","mms","rtmp","rtmps","rtsp","sc","yt"],n=e.filter((function(e){return-1===t.indexOf(e)}));n=n.map((function(e){return"".concat(e,":")})),i.dispatch(It.set({enabled:n.includes("spotify:")})),i.dispatch(Lt.set({enabled:n.includes("gmusic:")})),void 0===i.getState().ui.uri_schemes_search_enabled&&i.dispatch(Dt.set({uri_schemes_search_enabled:n})),i.dispatch({type:"MOPIDY_URI_SCHEMES",uri_schemes:n})}));break;case"MOPIDY_PLAY_PLAYLIST":console.debug(o);var w=i.getState().core.items[o.uri],E=Object(St.d)(i.getState(),"playlist_tracks"),k=E.sortField,O=E.sortReverse;if(w&&w.tracks){i.dispatch(Pt.playURIs(Tt({uris:Object(X.b)("uri",Object(X.g)(w.tracks.filter((function(e){return!1!==(null==e?void 0:e.is_playable)})),k,O)),from:{uri:null==w?void 0:w.uri,name:null==w?void 0:w.name,type:"playlist"}},o)));break}i.dispatch(Nt.loadPlaylist(o.uri,{full:!0,callbackAction:{name:"play",shuffle:o.shuffle}}));break;case"MOPIDY_PLAY_ALBUM":var S=i.getState().core.items[o.uri],A=Object(St.d)(i.getState(),"playlist_tracks"),j=A.sortField,x=A.sortReverse;if(S&&S.tracks){i.dispatch(Pt.playURIs(Tt({uris:Object(X.b)("uri",Object(X.g)(S.tracks.filter((function(e){return!1!==(null==e?void 0:e.is_playable)})),j,x)),from:{uri:null==S?void 0:S.uri,name:null==S?void 0:S.name,type:"album"}},o)));break}i.dispatch(Nt.loadAlbum(o.uri,{full:!0,callbackAction:{name:"play",shuffle:o.shuffle}}));break;case"MOPIDY_ENQUEUE_PLAYLIST":var T=i.getState().core.items[o.uri];if(T&&T.tracks){i.dispatch(Pt.enqueueURIs(Tt({uris:Object(X.b)("uri",T.tracks)},o)));break}i.dispatch(Nt.loadPlaylist(o.uri,!1,Tt({name:"enqueue"},o)));break;case"MOPIDY_ENQUEUE_ALBUM":var C=i.getState().core.items[o.uri];if(C&&C.tracks){i.dispatch(Pt.enqueueURIs(Tt({uris:Object(X.b)("uri",C.tracks)},o)));break}i.dispatch(Nt.loadAlbum(o.uri,!1,Tt({name:"enqueue"},o)));break;case"MOPIDY_ENQUEUE_URIS":if(!o.uris||o.uris.length<=0){e.props.uiActions.createNotification({content:"No URIs to enqueue",level:"warning"});break}var P=o.uris.length,N=o.at_position;if(o.play_next){var D=i.getState().core,I=D.current_track,R=D.queue;if(I)for(var L=0;L0){i.dispatch(Pt.changeTrack(e[0].tlid));for(var t=[],n=0;n0&&setTimeout((function(){i.dispatch(Pt.enqueueURIs({uris:F,at_position:1,from:U}))}),100)}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Adding tracks failed"),e))}));break;case"MOPIDY_REORDER_TRACKLIST":r(i,"tracklist.move",{start:o.range_start,end:o.range_start+o.range_length,to_position:o.insert_before}).then((function(){}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Reorder failed"),e))}));break;case"MOPIDY_CLEAR_TRACKLIST":r(i,"tracklist.clear").then((function(){i.dispatch(Nt.clearCurrentTrack()),i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," cleared the playback queue")}}))}));break;case"MOPIDY_SHUFFLE_TRACKLIST":r(i,"tracklist.shuffle",{start:1}).then((function(){i.dispatch(Rt.deliverBroadcast("notification",{notification:{content:"".concat(i.getState().pusher.username," shuffled the playback queue")}}))}));break;case"MOPIDY_GET_SEARCH_RESULTS":var H=o.uri_schemes,q=void 0===H?[]:H,V=o.query,Y=void 0===V?{}:V,G="all"===Y.type?["artists","albums","tracks","playlists"]:[Y.type],W=[];q.forEach((function(e){return G.forEach((function(t){var n={type:Y.type,term:Y.term,requestType:t,uri_scheme:e,data:{uris:[e]}};switch(t){case"tracks":n.data.query={any:[Y.term]};break;case"artists":n.data.query={artist:[Y.term]};break;case"albums":n.data.query={album:[Y.term]};break;case"playlists":n.method="playlists.asList",n.data={}}W.push(n)}))})),W.length&&(i.dispatch(Dt.startProcess(o.type,{content:Object(Ye.b)("services.mopidy.searching"),total:W.length,remaining:W.length})),function e(t,n){var i=n.shift(),a=i.type,o=i.term,s=i.requestType,c=i.uri_scheme,u=i.method,l=void 0===u?"library.search":u,f=i.data,d="MOPIDY_GET_SEARCH_RESULTS",p=t.getState().ui.processes[d];if(p&&"cancelling"===p.status)t.dispatch(Dt.processCancelled("MOPIDY_GET_SEARCH_RESULTS"));else{t.dispatch(Dt.updateProcess(d,{content:Object(Ye.b)("services.mopidy.searching",{provider:Object(Q.m)(c.replace(":","")),type:s}),remaining:n.length}));var h={albums:function(e){var t=e[0],n={};return t.albums&&t.albums.forEach((function(e){e.uri&&(n[e.uri]=Tt(Tt({},n[e.uri]),Object(ge.e)(e)))})),t.tracks&&t.tracks.forEach((function(e){e.album&&e.album.uri&&(n[e.album.uri]=Tt(Tt({},n[e.album.uri]),Object(ge.e)(e.album)))})),Object(X.d)(n)},artists:function(e){var t=e[0],n={};return t.artists&&t.artists.forEach((function(e){e.uri&&(n[e.uri]=Tt(Tt({},n[e.uri]),Object(ge.g)(e)))})),t.tracks&&t.tracks.forEach((function(e){e.artists&&e.artists.forEach((function(e){e&&e.uri&&(n[e.uri]=Tt(Tt({},n[e.uri]),Object(ge.g)(e)))}))})),Object(X.d)(n)},playlists:function(e){var t=e.filter((function(e){return!!e.uri.includes(c)&&e.name.toLowerCase().includes(o.toLowerCase())}));return t.map((function(e){return Tt(Tt({},Object(ge.o)(e)),{},{uri:e.uri})}))},tracks:function(e){var t=e[0].tracks,n=void 0===t?[]:t;return Object(ge.s)(n)}};r(t,l,f).then((function(r){r.length>0&&t.dispatch(Nt.searchResultsLoaded({term:o,type:a},s,h[s](r))),n.length?e(t,n):t.dispatch(Dt.processFinished(d))}))}}(i,W));break;case"MOPIDY_GET_URIS":var K=o.uris;r(i,"library.lookup",{uris:K}).then((function(e){e&&Object(X.d)(e).forEach((function(e){i.dispatch(Nt["load".concat(e.___model__)](e.uri))}))}));break;case"MOPIDY_GET_PLAYLIST":var J=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Object(ge.o)(Tt(Tt({can_edit:!0,provider:"mopidy"},e),{},{uri:o.uri,type:"playlist"}));e.tracks&&t?(i.dispatch(Nt.itemLoaded(Tt(Tt({},n),{},{tracks:void 0,loading:"tracks"}))),r(i,"library.lookup",{uris:Object(X.b)("uri",e.tracks)}).then((function(t){var r=e.tracks.map((function(e){var n=t[e.uri];return Tt(Tt({},e),n.length?n[0]:{})}));n.tracks=Object(ge.v)(Object(ge.s)(r)),i.dispatch(Nt.itemLoaded(n))}))):i.dispatch(Nt.itemLoaded(n)),n.images||i.dispatch(Pt.getImages([n.uri]))};r(i,"playlists.lookup",{uri:o.uri}).then((function(e){e?J(e):r(i,"library.lookup",{uris:[o.uri]}).then((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e[o.uri];t&&J(Tt({tracks:t,can_edit:!1},o.options.name?{name:o.options.name}:{}),!1)}))}));break;case"MOPIDY_ADD_PLAYLIST_TRACKS":r(i,"playlists.lookup",{uri:o.key}).then((function(e){if(e){var t=o.tracks_uris.map((function(e){return{__model__:"Track",uri:e}})),n=Tt({},e);n.tracks?n.tracks=[].concat(At(n.tracks),At(t)):n.tracks=t,r(i,"playlists.save",{playlist:n}).then((function(){i.dispatch({type:"PLAYLIST_TRACKS_ADDED",key:o.key,tracks_uris:o.tracks_uris})}))}else i.dispatch(Nt.handleException(Object(Ye.b)("errors.uri_not_found",{uri:o.key})))}));break;case"MOPIDY_REMOVE_PLAYLIST_TRACKS":var $=Object.assign([],o.tracks_indexes);$.sort((function(e,t){return t-e})),r(i,"playlists.lookup",{uri:o.key}).then((function(e){for(var t=Tt({},e),n=0;n<$.length;n++)t.tracks.splice($[n],1);r(i,"playlists.save",{playlist:t}).then((function(e){i.dispatch({type:"PLAYLIST_TRACKS_REMOVED",key:o.key,tracks_indexes:o.tracks_indexes})}))}));break;case"MOPIDY_SAVE_PLAYLIST":r(i,"playlists.lookup",{uri:o.key}).then((function(e){var t=Tt(Tt({},e),{},{name:o.name});r(i,"playlists.save",{playlist:t}).then((function(e){if(e){var t=Tt(Tt({},i.getState().core.items[o.key]),{},{uri:e.uri,name:e.name});o.key!==t.uri&&(i.dispatch(Nt.removeItem(o.key,t.uri)),i.dispatch(Nt.removePinned(o.key)),i.dispatch(Nt.addPinned(t))),i.dispatch(Nt.itemLoaded(t)),i.dispatch(Dt.createNotification({content:"Playlist saved"}))}}))}));break;case"MOPIDY_REORDER_PLAYLIST_TRACKS":r(i,"playlists.lookup",{uri:o.key}).then((function(e){var t=Tt({},e),n=Object.assign([],t.tracks),a=[],s=o.range_start,c=o.range_length,u=o.insert_before;u>s&&(u-=c);for(var l=0;l=0){var t=Object(X.a)("tlid",e,i.getState().core.queue,!0);t&&t.uri&&(i.dispatch({type:"NEXT_TRACK_LOADED",uri:t.uri}),i.dispatch(Nt.loadTrack(t.uri)))}}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Could not get next track"),e))}));break;case"MOPIDY_GET_TRACKS":var te=o.uris,re=o.options,ie=re.full,ae=re.lyrics;r(i,"library.lookup",{uris:te}).then((function(e){if(e){var t=Object(ne.compact)(Object(X.d)(e).map((function(e){return e.length?Object(ge.r)(e[0]):null})));i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Pt.getImages(Object(X.b)("uri",t))),t.forEach((function(e){ie&&i.getState().lastfm.authorization&&i.dispatch(Mt.getTrack(e.uri)),ae&&i.getState().genius.authorization&&i.dispatch(Ut.findTrackLyrics(e.uri))}))}}),(function(e){i.dispatch(Nt.handleException("Mopidy: ".concat(e.message?e.message:"Could not get track"),e))}));break;case"MOPIDY_GET_STREAM_TITLE":r(i,"playback.getStreamTitle").then((function(e){e&&i.dispatch(Nt.streamTitleLoaded(e))}));break;case"VIEW__GET_RANDOM_TRACKS":r(i,"library.browse",{uri:"local:directory?type=track"}).then((function(e){if(e&&e.length){var t=Object(ne.sampleSize)(Object(X.b)("uri",e),o.limit);r(i,"library.lookup",{uris:t}).then((function(e){if(e){var n=Object(X.d)(e).map((function(e){return e[0]})),r=i.getState().core.view||{};i.dispatch(Nt.viewDataLoaded({random_tracks:[].concat(At(r.random_tracks?r.random_tracks:[]),At(n)),uris:[].concat(At(r.uris?r.uris:[]),At(t))}))}}))}}));break;case"MOPIDY_GET_IMAGES":var oe=o.uris;if(!oe)break;r(i,"library.getImages",{uris:oe}).then((function(e){var t=[];Object.keys(e).forEach((function(n){var r=e[n];r?t.push({uri:n,images:Object(ge.n)(Object(ge.c)(i.getState().mopidy,r))}):i.dispatch(Mt.getImages(n))})),t.length&&i.dispatch(Nt.itemsLoaded(t))})),a(o);break;case"MOPIDY_GET_DIRECTORY":var se=o.uri?decodeURIComponent(o.uri):null;i.dispatch({type:"MOPIDY_DIRECTORY_LOADING",uri:se});var ce=function(e){var t=[],n=[],a=[],o=[];e.forEach((function(e){"Track"===e.__model__?t.push(Object(ge.r)(e)):"Ref"===e.__model__&&"track"===e.type?(t.push(Object(ge.r)(Tt(Tt({},e),{},{loading:!0}))),a.push(e.uri)):"Ref"===e.__model__&&"album"===e.type?(n.push(Object(ge.e)(Tt(Tt({},e),{},{loading:!0}))),o.push(e.uri)):"Ref"===e.__model__&&"artist"===e.type?(n.push(Object(ge.g)(Tt(Tt({},e),{},{loading:!0}))),o.push(e.uri)):"Ref"===e.__model__&&"playlist"===e.type?e.uri.indexOf("tidal:mood")>-1||e.uri.indexOf("tidal:genre")>-1?n.push(Tt(Tt({},e),{},{type:"directory"})):(n.push(Object(ge.o)(Tt(Tt({},e),{},{loading:!0}))),o.push(e.uri)):n.push(e)})),i.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{uri:se,tracks:t,subdirectories:n}}),a.length&&r(i,"library.lookup",{uris:a}).then((function(e){var t=Object.values(e).map((function(e){return e.length>0?Object(ge.r)(e[0]):void 0}));i.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{uri:se,tracks:t.filter((function(e){return e instanceof Object}))}})})),o.length&&r(i,"library.getImages",{uris:o}).then((function(e){var t=n.map((function(t){var n=e[t.uri]||void 0;return n&&(n=Object(ge.n)(Object(ge.c)(i.getState().mopidy,n))),Tt(Tt({},t),{},{images:n})}));i.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{uri:se,subdirectories:t}})}))},ue=function(){return r(i,"library.browse",{uri:se}).then((function(e){return ce(e)}))};se?r(i,"library.lookup",{uris:[se]}).then((function(e){var t=e[se],n=void 0===t?[]:t;!n.length||se.startsWith("file:")?ue():ce(n)})):ue();break;case"MOPIDY_DIRECTORY":i.getState().ui.allow_reporting&&o.data&&Re.a.event({category:"Directory",action:"Load",label:o.data.uri}),a(o);break;case"MOPIDY_GET_LIBRARY_ARTISTS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),r(i,"library.browse",{uri:o.uri}).then((function(e){e.length||(i.dispatch(Nt.libraryLoaded({uri:"mopidy:library:artists",type:"artists",items_uris:[]})),i.dispatch(Dt.processFinished(o.type)));var t=e.map((function(e){return Tt(Tt({},Object(ge.g)(e)),{},{uri:e.uri.replace("local:directory?albumartist=","").replace("local:directory?artist=","")})}));i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"artists",items_uris:Object(X.b)("uri",t)})),i.dispatch(Dt.processFinished(o.type))}));break;case"MOPIDY_GET_LIBRARY_PLAYLISTS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),"m3u:playlists"===o.uri?r(i,"playlists.asList").then((function(e){var t=[],n=Object(X.b)("uri",e).filter((function(e){return e.indexOf("m3u")>-1}));i.dispatch(Dt.updateProcess(o.type,{total:n.length,remaining:n.length})),n.length?n.forEach((function(e,a){r(i,"playlists.lookup",{uri:e}).then((function(e){e&&t.push(Object(ge.o)({name:e.name,uri:e.uri,can_edit:"m3u"===Object(Q.p)(e.uri),last_modified:e.last_modified,tracks_total:e.tracks?e.tracks.length:null})),i.dispatch(Dt.updateProcess(o.type,{remaining:n.length-a-1})),a===n.length-1&&(i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:Object(X.b)("uri",t)})),i.dispatch(Dt.processFinished(o.type)))}))})):(i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:[]})),i.dispatch(Dt.stopLoading("mopidy:library:playlists")),i.dispatch(Dt.processFinished(o.type)))})):r(i,"library.browse",{uri:o.uri}).then((function(e){var t=[];i.dispatch(Dt.updateProcess(o.type,{total:e.length,remaining:e.length})),e.length?e.forEach((function(n,a){r(i,"library.lookup",{uris:[n.uri]}).then((function(r){r&&t.push(Object(ge.o)({name:n.name,uri:n.uri,can_edit:"m3u"===Object(Q.p)(n.uri),last_modified:n.last_modified,tracks:Object(ge.s)(r[n.uri])})),i.dispatch(Dt.updateProcess(o.type,{remaining:e.length-a-1})),a===e.length-1&&(i.dispatch(Nt.itemsLoaded(t)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:Object(X.b)("uri",t)})),i.dispatch(Dt.processFinished(o.type)))}))})):(i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"playlists",items_uris:[]})),i.dispatch(Dt.stopLoading("mopidy:library:playlists")),i.dispatch(Dt.processFinished(o.type)))}));break;case"MOPIDY_GET_LIBRARY_ALBUMS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),r(i,"library.browse",{uri:o.uri}).then((function(e){var t=Object(X.b)("uri",e);i.dispatch(Dt.updateProcess(o.type,{remaining:t.length,total:t.length}));!function n(){if(t.length){var a=t.splice(0,10),s=i.getState().ui.processes[o.type];if(s&&"cancelling"===s.status)return i.dispatch(Dt.processCancelled(o.type)),void i.dispatch(Dt.stopLoading(o.uri));i.dispatch(Dt.updateProcess(o.type,{remaining:t.length})),r(i,"library.lookup",{uris:a}).then((function(e){var t=[];Object(X.d)(e).forEach((function(e){e.length<=0?console.info("Ignoring item; no results in lookup"):t.push(Tt({artists:e[0].artists?Object(ge.h)(e[0].artists):null,tracks:Object(ge.s)(e),last_modified:e[0].last_modified},Object(ge.e)(e[0].album)))})),t.length&&i.dispatch(Nt.itemsLoaded(t)),n()}))}else i.dispatch(Dt.processFinished(o.type)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"albums",items_uris:Object(X.b)("uri",e)}))}()}));break;case"MOPIDY_GET_LIBRARY_TRACKS":i.dispatch(Dt.startProcess(o.type,{notification:!1})),r(i,"library.browse",{uri:o.uri}).then((function(e){var t=Object(X.b)("uri",e);i.dispatch(Dt.updateProcess(o.type,{remaining:t.length,total:t.length}));!function n(){if(t.length){var a=t.splice(0,100),s=i.getState().ui.processes[o.type];if(s&&"cancelling"===s.status)return i.dispatch(Dt.processCancelled(o.type)),void i.dispatch(Dt.stopLoading("mopidy:library:tracks"));i.dispatch(Dt.updateProcess(o.type,{remaining:t.length})),r(i,"library.lookup",{uris:a}).then((function(e){var t=Object(ne.compact)(Object(X.d)(e).map((function(e){return e.length?Object(ge.r)(e[0]):null})));t.length&&i.dispatch(Nt.itemsLoaded(t)),n()}))}else i.dispatch(Dt.processFinished(o.type)),i.dispatch(Nt.libraryLoaded({uri:o.uri,type:"tracks",items_uris:Object(X.b)("uri",e)}))}()}));break;default:a(o)}}}}}(),Ht=n(14),qt=n(4),Vt=n(34),Yt=function(e){return function(t){return function(n){switch(n.type){case"LASTFM_ME_LOADED":var r=Object(ge.t)(n.me);Object.assign(r,{uri:"lastfm:user:".concat(r.name)}),e.dispatch(Ht.userLoaded(r)),n.me=r,t(n);break;case"LASTFM_IMPORT_AUTHORIZATION":setTimeout((function(){e.dispatch(Vt.getMe())}),100),t(n);break;case"LASTFM_AUTHORIZATION_REVOKED":e.getState().ui.allow_reporting&&Re.a.event({category:"LastFM",action:"Authorization revoked"}),e.dispatch(qt.createNotification({content:"Logout successful",description:"If you have shared your authorization, make sure you revoke your token",sticky:!0,links:[{url:"https://www.last.fm/settings/applications",text:"Authorized apps",new_window:!0}]})),t(n);break;default:return t(n)}}}},Gt=n(14),Wt=n(52),Kt=function(e){return function(t){return function(n){switch(n.type){case"GENIUS_ME_LOADED":e.dispatch(Gt.userLoaded(n.me)),t(n);break;case"GENIUS_IMPORT_AUTHORIZATION":setTimeout((function(){e.dispatch(Wt.getMe())}),100),t(n);break;default:return t(n)}}}};function Qt(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Xt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function Xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e.dispatch({type:"ARTISTS_LOADED",artists:n.artists}),n.artists_uris=Object(X.b)("uri",n.artists)),n.tracks.length>0&&(e.dispatch({type:"TRACKS_LOADED",tracks:n.tracks}),n.tracks_uris=Object(X.b)("uri",n.tracks)),t(n);break;case"SPOTIFY_TRACK_LOADED":e.dispatch({type:"TRACKS_LOADED",tracks:[n.data]}),t(n);break;case"SPOTIFY_ME_LOADED":var f=$t({},Object(ge.t)(n.me));if("Anonymous"==e.getState().pusher.username&&e.dispatch(rn.setUsername(f.name)),e.getState().ui.allow_reporting){var d=Object(Ot.sha256)(f.id);Re.a.set({userId:d}),Re.a.event({category:"Spotify",action:"Authorization verified",label:d})}e.dispatch(en.userLoaded(f)),t($t($t({},n),{},{me:f}));break;default:return t(n)}}}};function on(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=cn(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function sn(e){return function(e){if(Array.isArray(e))return un(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||cn(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cn(e,t){if(e){if("string"==typeof e)return un(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?un(e,t):void 0}}function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(a,o){var s=Object(Q.a)(8),c={jsonrpc:"2.0",id:s,method:n};i&&(c.params=i),e.getState().ui.log_snapcast&&console.log("Snapcast log (outgoing)",c),t.send(JSON.stringify(c)),e.dispatch(hn.startLoading(s,"snapcast_".concat(n)));setTimeout((function(){e.dispatch(hn.stopLoading(s)),o({id:s,code:32300,message:"Request timed out"})}),3e4);r[s]={resolve:a,reject:o}}))};return function(a){return function(o){return function(s){var c=a.getState().snapcast;switch(s.type){case"SNAPCAST_CONNECT":t&&t.close(),clearTimeout(n),a.dispatch({type:"SNAPCAST_CONNECTING"});var u=a.getState().snapcast,l=u.host,f=u.port,d=u.ssl;try{t=new WebSocket("ws".concat(d?"s":"","://").concat(l,":").concat(f,"/jsonrpc"))}catch(e){console.error(e);break}t.onopen=function(){a.dispatch({type:"SNAPCAST_CONNECTED"})},t.onclose=function(e){a.dispatch({type:"SNAPCAST_DISCONNECTED"}),a.getState().snapcast.enabled&&(clearTimeout(n),n=setTimeout((function(){a.dispatch(mn.connect())}),5e3))},t.onerror=function(e){1==t.readyState&&a.dispatch(pn.handleException("Snapcast websocket error",e,e.type))},t.onmessage=function(e){!function e(t,n,i){if(n.getState().ui.log_snapcast&&console.log("Snapcast log (incoming)",i),Array.isArray(i))i.map((function(r){return e(t,n,r)}));else{var a=null;if(i.id?a=i.id:i.error&&i.error.id&&(a=i.error.id),a)void 0!==r[a]?(n.dispatch(hn.stopLoading(a)),void 0!==i.error?r[a].reject(i.error):r[a].resolve(i.result)):n.dispatch(pn.handleException("Snapcast: Response received with no matching request",i));else switch(i.method){case"Client.OnConnect":case"Client.OnDisconnect":n.dispatch(mn.clientLoaded(i.params.client));break;case"Client.OnVolumeChanged":case"Client.OnLatencyChanged":case"Client.OnNameChanged":n.dispatch(mn.clientLoaded(i.params));break;case"Group.OnMute":case"Group.OnNameChanged":case"Group.OnStreamChanged":n.dispatch(mn.groupLoaded(i.params));break;case"Stream.OnUpdate":case"Stream.OnProperties":n.dispatch(mn.streamLoaded(i.params));break;case"Server.OnUpdate":n.dispatch(mn.serverLoaded(i.params.server.server)),n.dispatch(mn.groupsLoaded(i.params.server.groups,!0)),n.dispatch(mn.streamsLoaded(i.params.server.streams,!0))}}}(t,a,JSON.parse(e.data))};break;case"SNAPCAST_CONNECTED":a.getState().ui.allow_reporting&&Re.a.event({category:"Snapcast",action:"Connected",label:Object(Ot.sha256)(window.location.hostname)}),a.dispatch(mn.getServer()),o(s);break;case"SNAPCAST_DISCONNECT":null!=t&&t.close(),t=null,clearTimeout(n);break;case"SNAPCAST_SET_CONNECTION":a.dispatch(mn.serverLoaded({})),a.dispatch(mn.clientsLoaded([])),a.dispatch(mn.groupsLoaded([])),a.dispatch(mn.streamsLoaded([])),a.dispatch(mn.set(s.data)),a.getState().snapcast.enabled&&setTimeout((function(){a.dispatch(mn.connect())}),250);break;case"SNAPCAST_DEBUG":i(a,s.message.method,s.message.data).then((function(e){a.dispatch({type:"DEBUG",response:e})}),(function(e){a.dispatch(pn.handleException("Could not debug",e,e.message))}));break;case"SNAPCAST_REQUEST":i(a,s.method,s.params).then((function(t){s.response_callback&&s.response_callback.call(e,t)}),(function(t){s.error_callback?s.error_callback.call(e,t):a.dispatch(pn.handleException("Snapcast request failed",t,s.method,s))}));break;case"SNAPCAST_SET_ENABLED":a.dispatch(mn.set({enabled:s.enabled})),s.enabled?a.dispatch(mn.connect()):(a.dispatch(mn.set({streaming_enabled:!1})),a.dispatch(mn.disconnect()));break;case"SNAPCAST_GET_SERVER":i(a,"Server.GetStatus").then((function(e){a.dispatch(mn.serverLoaded(e.server.server,!0)),a.dispatch(mn.groupsLoaded(e.server.groups,!0)),a.dispatch(mn.streamsLoaded(e.server.streams,!0))}),(function(e){a.dispatch(pn.handleException("Could not get Snapcast server",e))}));break;case"SNAPCAST_GROUPS_LOADED":var p=fn({},c.groups),h=[],m=s.groups.map((function(e){var t=Object(ge.m)(e);return p[t.id]&&(t=fn(fn({},p[t.id]),t)),e.clients&&(t.clients_ids=Object(X.b)("id",e.clients),h=[].concat(sn(h),sn(e.clients))),void 0!==t.name&&""!==t.name||(t.name="Group ".concat(t.id.substring(0,3))),t}));s.groups=m,h.length>0&&a.dispatch(mn.clientsLoaded(h,s.flush)),o(s);break;case"SNAPCAST_CLIENTS_LOADED":var b,y=s.flush?{}:fn({},c.clients),v=on(s.clients);try{for(v.s();!(b=v.n()).done;){var g=b.value,_=Object(ge.k)(g);y[_.id]=fn(fn({},y[_.id]),_)}}catch(e){v.e(e)}finally{v.f()}o(fn(fn({},s),{},{clients:y}));break;case"SNAPCAST_SET_CLIENT_NAME":var w=c.clients[s.id],E={id:s.id,name:s.name};i(a,"Client.SetName",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,name:e.name}))}));break;case"SNAPCAST_SET_CLIENT_MUTE":w=a.getState().snapcast.clients[s.id],E={id:s.id,volume:{muted:s.mute,percent:w.volume}};i(a,"Client.SetVolume",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,volume:e.volume.percent,mute:e.volume.muted}))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_VOLUME":w=c.clients[s.id],E={id:s.id,volume:{muted:w.mute,percent:s.volume}};i(a,"Client.SetVolume",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,volume:e.volume.percent}))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_LATENCY":w=a.getState().snapcast.clients[s.id],E={id:s.id,latency:s.latency};i(a,"Client.SetLatency",E).then((function(e){a.dispatch(mn.clientLoaded({id:s.id,latency:e.latency}))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_GROUP":var k=(S=c.groups[s.group_id]).clients_ids,O=k.indexOf(s.id);O<=-1?k.push(s.id):k.splice(O,1);E={id:s.group_id,clients:k};i(a,"Group.SetClients",E).then((function(e){a.dispatch(mn.groupsLoaded(e.server.groups,!0))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_DELETE_CLIENT":i(a,"Server.DeleteClient",{id:s.id}).then((function(e){a.dispatch(mn.groupsLoaded(e.server.groups,!0))}),(function(e){a.dispatch(pn.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_GROUP_NAME":var S=c.groups[s.id];E={id:s.id,name:s.name};i(a,"Group.SetName",E).then((function(e){a.dispatch(mn.groupLoaded({id:s.id,name:e.name}))}));break;case"SNAPCAST_SET_GROUP_STREAM":S=a.getState().snapcast.groups[s.id],E={id:s.id,stream_id:s.stream_id};i(a,"Group.SetStream",E).then((function(e){a.dispatch(mn.groupLoaded({id:s.id,stream_id:s.stream_id}))}),(function(e){a.dispatch(pn.handleException("Could not change stream",e,e.message))}));break;case"SNAPCAST_SET_GROUP_MUTE":S=a.getState().snapcast.groups[s.id],E={id:s.id,mute:s.mute};i(a,"Group.SetMute",E).then((function(e){a.dispatch(mn.groupLoaded({id:s.id,mute:e.mute}))}),(function(e){a.dispatch(pn.handleException("Could not toggle mute",e,e.message))}));break;case"SNAPCAST_SET_GROUP_VOLUME":var A,j=[],x=(S=c.groups[s.id],s.percent-s.old_percent),T=on(S.clients_ids);try{for(T.s();!(A=T.n()).done;){var C=A.value,P=(w=c.clients[C]).volume,N=P+x;(x>0&&P<100||x<0&&P>0)&&j.push({id:w.id,volume:N})}}catch(e){T.e(e)}finally{T.f()}for(var D=0,I=j;D100&&(L=100),a.dispatch(mn.setClientVolume(R.id,L))}a.dispatch(mn.groupLoaded({id:s.id,volume:s.percent}));break;case"SNAPCAST_CONTROL_STREAM":var M=s.id,U=s.command;i(a,"Stream.Control",{id:M,command:U}).then((function(){}),(function(e){a.dispatch(pn.handleException("Could not control stream",e,e.message))}));break;default:return o(s)}}}}}();function yn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vn(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"CORE_SET":return ee(ee({},e),t.data);case"CURRENT_TRACK_LOADED":return ee(ee({},e),{},{current_track:t.track,current_track_uri:t.uri});case"CLEAR_CURRENT_TRACK":return ee(ee({},e),{},{current_track:null,current_track_uri:null,stream_title:null});case"NEXT_TRACK_LOADED":return ee(ee({},e),{},{next_track_uri:t.uri});case"QUEUE_LOADED":return ee(ee({},e),{},{queue:t.tracks});case"PUSHER_QUEUE_METADATA":case"PUSHER_QUEUE_METADATA_CHANGED":for(var n=Object.assign([],e.current_tracklist),r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"LAZY_LOADING":return oe(oe({},e),{},{lazy_loading:t.start});case"SET_SLIM_MODE":return oe(oe({},e),{},{slim_mode:t.slim_mode});case"SET_WINDOW_FOCUS":return oe(oe({},e),{},{window_focus:t.window_focus});case"DEBUG":return oe(oe({},e),{},{debug_response:t.response});case"UI_SET":return oe(oe({},e),t.data);case"UI_SET_SORT":return oe(oe({},e),{},{sort:oe(oe({},e.sort),{},se({},t.key,t.sort))});case"SET_WINDOW_TITLE":return t.title?oe(oe({},e),{},{window_title:t.title}):e;case"TOGGLE_SIDEBAR":var n=!e.sidebar_open;return void 0!==t.new_state&&(n=t.new_state),oe(oe({},e),{},{sidebar_open:n});case"SET_CURRENT_TRACK_TRANSITION":return oe(oe({},e),{},{current_track_transition:t.current_track_transition});case"SET_SELECTED_TRACKS":return oe(oe({},e),{},{selected_tracks:Object.assign([],t.keys)});case"ICON_LOADED":var r=oe({},e.icons);return r[t.key]=t.icon,oe(oe({},e),{},{icons:r});case"INSTALL_PROMPT":return oe(oe({},e),{},{install_prompt:t.event});case"SHOW_CONTEXT_MENU":return oe(oe({},e),{},{context_menu:t.data});case"HIDE_CONTEXT_MENU":return oe(oe({},e),{},{context_menu:oe(oe({},e.context_menu),{},{closing:!0})});case"REMOVE_CONTEXT_MENU":return oe(oe({},e),{},{context_menu:null});case"SHOW_TOUCH_CONTEXT_MENU":return oe(oe({},e),{},{touch_context_menu:t.data});case"HIDE_TOUCH_CONTEXT_MENU":return oe(oe({},e),{},{touch_context_menu:oe(oe({},e.touch_context_menu),{},{closing:!0})});case"REMOVE_TOUCH_CONTEXT_MENU":return oe(oe({},e),{},{touch_context_menu:null});case"OPEN_MODAL":return oe(oe({},e),{},{modal:t.modal_state});case"CLOSE_MODAL":return oe(oe({},e),{},{modal:null});case"CREATE_NOTIFICATION":return(i=oe({},e.notifications))[t.notification.key]=t.notification,oe(oe({},e),{},{notifications:i});case"CLOSE_NOTIFICATION":return(i=oe({},e.notifications))[t.key]&&(i[t.key].closing=!0),oe(oe({},e),{},{notifications:i});case"REMOVE_NOTIFICATION":var i;return delete(i=oe({},e.notifications))[t.key],oe(oe({},e),{},{notifications:i});case"START_LOADING":return oe(oe({},e),{},{load_queue:oe(oe({},e.load_queue||{}),{},se({},t.key,t.source||t.key))});case"STOP_LOADING":return oe(oe({},e),{},{load_queue:Object(ne.omit)(e.load_queue,t.keys)});case"START_PROCESS":case"UPDATE_PROCESS":var a=oe({},e.processes||[]);return a[t.key]=oe(oe(oe({key:t.key},a[t.key]||{status:"running",notification:!0}),"START_PROCESS"===t.type?{status:"running",remaining:0,total:0}:{}),t.process),oe(oe({},e),{},{processes:a});case"CANCEL_PROCESS":var o=oe({},e.processes?e.processes:{});return t.keys.forEach((function(e){o[e]&&(o[e]=oe(oe({},o[e]),{},{status:"cancelling",total:void 0,remaining:void 0}))})),oe(oe({},e),{},{processes:o});case"PROCESS_CANCELLED":return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{status:"cancelled"})),oe(oe({},e),{},{processes:s});case"PROCESS_FINISHED":return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{status:"finished"})),oe(oe({},e),{},{processes:s});case"CLOSE_PROCESS":return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{closing:!0})),oe(oe({},e),{},{processes:s});case"REMOVE_PROCESS":var s;return(s=oe({},e.processes?e.processes:{}))[t.key]&&(s[t.key]=oe(oe({},s[t.key]),{},{status:"completed",closing:!1})),oe(oe({},e),{},{processes:s});case"SUPPRESS_BROADCAST":return oe(oe({},e),{},{suppressed_broadcasts:[].concat(re(e.suppressed_broadcasts||[]),[t.key])});default:return e}})),mopidy:M(Rn,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"MOPIDY_SET":return he(he({},e),t.data);case"MOPIDY_UPDATE_SERVERS":return he(he({},e),{},{servers:t.servers});case"MOPIDY_CONNECT":case"MOPIDY_CONNECTING":return he(he({},e),{},{connected:!1,connecting:!0});case"MOPIDY_CONNECTED":return he(he({},e),{},{connected:!0,connecting:!1,restart_running:!1,upgrade_running:!1});case"MOPIDY_DISCONNECTED":return he(he({},e),{},{connected:!1,connecting:!1});case"MOPIDY_CHANGE_TRACK":return he(he({},e),{},{tlid:t.tlid});case"MOPIDY_URI_SCHEMES":return he(he({},e),{},{uri_schemes:t.uri_schemes});case"MOPIDY_RESTART_STARTED":return he(he({},e),{},{restart_running:!0});case"MOPIDY_RESTART_FINISHED":return he(he({},e),{},{restart_running:!1});case"MOPIDY_UPGRADE_STARTED":return he(he({},e),{},{upgrade_running:!0});case"MOPIDY_UPGRADE_FINISHED":return he(he({},e),{},{upgrade_running:!1});case"MOPIDY_LOCAL_SCAN_STARTED":return he(he({},e),{},{local_scan_running:!0});case"MOPIDY_LOCAL_SCAN_FINISHED":return he(he({},e),{},{local_scan_running:!1});case"MOPIDY_PLAY_STATE":return he(he({},e),{},{play_state:t.play_state});case"MOPIDY_CONSUME":return he(he({},e),{},{consume:t.consume});case"MOPIDY_RANDOM":return he(he({},e),{},{random:t.random});case"MOPIDY_REPEAT":return he(he({},e),{},{repeat:t.repeat});case"MOPIDY_VOLUME":return he(he({},e),{},{volume:t.volume});case"MOPIDY_MUTE":return he(he({},e),{},{mute:t.mute});case"MOPIDY_TIME_POSITION":return he(he({},e),{},{time_position:t.time_position});case"MOPIDY_QUEUE_HISTORY":for(var n=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SPOTIFY_SET":return Se(Se({},e),t.data);case"PUSHER_SPOTIFY_TOKEN":return e.authorization?e:Se(Se({},e),{},{authorizing:!1,authorization:!1,access_token:t.data.access_token,token_expiry:t.data.token_expiry});case"SPOTIFY_AUTHORIZATION_GRANTED":return Se(Se({},e),{},{enabled:!0,authorizing:!1,authorization:t.data,access_token:t.data.access_token,refresh_token:t.data.refresh_token,token_expiry:t.data.token_expiry});case"SPOTIFY_AUTHORIZATION_REVOKED":return Se(Se({},e),{},{authorizing:!1,authorization:!1,access_token:!1,refresh_token:!1,token_expiry:0,me:!1});case"SPOTIFY_IMPORT_AUTHORIZATION":return Se(Se({},e),{},{authorizing:!1,authorization:t.authorization,access_token:t.authorization.access_token,refresh_token:t.authorization.refresh_token,token_expiry:t.authorization.token_expiry,me:t.me});case"SPOTIFY_TOKEN_REFRESHING":return Se(Se({},e),{},{refreshing_token:!0});case"SPOTIFY_TOKEN_REFRESHED":return Se(Se({},e),{},{refreshing_token:!1,access_token:t.data.access_token,token_expiry:t.data.token_expiry});case"SPOTIFY_TOKEN_CHANGED":return Se(Se({},e),{},{access_token:t.spotify_token.access_token,token_expiry:t.spotify_token.token_expiry});case"SPOTIFY_ME_LOADED":return Se(Se({},e),{},{me:t.me});case"SPOTIFY_FEATURED_PLAYLISTS_LOADED":return Se(Se({},e),{},{featured_playlists:t.data});case"SPOTIFY_NEW_RELEASES_LOADED":var n=[];return e.new_releases&&(n=Object.assign([],e.new_releases)),Se(Se({},e),{},{new_releases:Object(X.e)([].concat(we(n),we(t.uris))),new_releases_more:t.more,new_releases_total:t.total});case"SPOTIFY_DISCOVER_LOADED":return t.data?Se(Se({},e),{},{discover:[].concat(we(e.discover),[t.data])}):Se(Se({},e),{},{discover:[]});case"CLEAR_SPOTIFY_RECOMMENDATIONS":return Se(Se({},e),{},{recommendations:{artists_uris:[],albums_uris:[],tracks_uris:[]}});case"SPOTIFY_RECOMMENDATIONS_LOADED":return Se(Se({},e),{},{recommendations:{artists_uris:t.artists_uris,albums_uris:t.albums_uris,tracks_uris:t.tracks_uris}});case"SPOTIFY_FAVORITES_LOADED":return Se(Se({},e),{},{favorite_artists:t.artists_uris,favorite_tracks:t.tracks_uris});case"SPOTIFY_AUTOCOMPLETE_LOADING":return(r=e.autocomplete_results)[t.field_id]={loading:!0},Se(Se({},e),{},{autocomplete_results:r});case"SPOTIFY_AUTOCOMPLETE_LOADED":return(r=e.autocomplete_results)[t.field_id]=t.results,r[t.field_id].loading=!1,Se(Se({},e),{},{autocomplete_results:r});case"SPOTIFY_AUTOCOMPLETE_CLEAR":var r;return void 0!==(r=e.autocomplete_results)[t.field_id]&&delete r[t.field_id],Se(Se({},e),{},{autocomplete_results:r});case"SPOTIFY_GENRES_LOADED":return Se(Se({},e),{},{genres:t.genres});case"SPOTIFY_CATEGORIES_LOADED":var i,a=Se({},e.categories),o=_e(t.categories);try{for(o.s();!(i=o.n()).done;){var s=i.value;a[s.uri]=s}}catch(e){o.e(e)}finally{o.f()}return Se(Se({},e),{},{categories:a});case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":var c=t.data.items,u=[];return c&&(c=Object(ge.s)(c),u=Object(X.b)("uri",c),e.library_tracks&&(u=[].concat(we(e.library_tracks),we(u)))),Se(Se({},e),{},{library_tracks:Object(X.e)(u),library_tracks_more:t.data.next});default:return e}})),pusher:M(In,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"PUSHER_CONNECT":case"PUSHER_CONNECTING":return ue(ue({},e),{},{connected:!1,connecting:!0});case"PUSHER_CONNECTED":return ue(ue({},e),{},{connected:!0,connecting:!1,connection_id:t.connection_id,client_id:t.client_id,username:t.username});case"PUSHER_DISCONNECTED":return ue(ue({},e),{},{connected:!1,connecting:!1});case"PUSHER_SET":return ue(ue({},e),t.data);case"PUSHER_SET_PORT":return ue(ue({},e),{},{port:t.port});case"PUSHER_SET_USERNAME":return ue(ue({},e),{},{username:t.username});case"PUSHER_CONNECTIONS":for(var n={},r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"GENIUS_SET":return De(De({},e),t.data);case"GENIUS_ME_LOADED":return De(De({},e),{},{me:t.me});case"GENIUS_AUTHORIZATION_GRANTED":return De(De({},e),{},{authorizing:!1,authorization:t.data,authorization_code:t.data.authorization_code,access_token:t.data.access_token});case"GENIUS_AUTHORIZATION_REVOKED":return De(De({},e),{},{authorizing:!1,authorization:void 0,authorization_code:void 0,access_token:void 0,me:void 0});case"GENIUS_IMPORT_AUTHORIZATION":return De(De({},e),{},{authorizing:!1,authorization:t.authorization,authorization_code:t.authorization.authorization_code,access_token:t.authorization.access_token,me:void 0});default:return e}})),lastfm:M(Nn,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"LASTFM_CONNECT":case"LASTFM_CONNECTING":return ye(ye({},e),{},{connected:!1,connecting:!0});case"LASTFM_CONNECTED":return ye(ye({},e),{},{connected:!0,connecting:!1});case"LASTFM_SET":return ye(ye({},e),t.data);case"LASTFM_ME_LOADED":return ye(ye({},e),{},{me:t.me});case"LASTFM_AUTHORIZATION_GRANTED":return ye(ye({},e),{},{authorizing:!1,authorization:t.data.session});case"LASTFM_AUTHORIZATION_REVOKED":return ye(ye({},e),{},{authorizing:!1,authorization:!1,me:void 0});case"LASTFM_IMPORT_AUTHORIZATION":return ye(ye({},e),{},{authorizing:!1,authorization:t.authorization,me:void 0});default:return e}})),snapcast:M(Dn,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SNAPCAST_SET":return Ce(Ce({},e),t.data);case"SNAPCAST_CONNECTED":return Ce(Ce({},e),{},{connected:!0,connecting:!1});case"SNAPCAST_CONNECTING":return Ce(Ce({},e),{},{connecting:!0,connected:!1});case"SNAPCAST_DISCONNECTED":return Ce(Ce({},e),{},{connected:!1,connecting:!1});case"SNAPCAST_SERVER_LOADED":return Ce(Ce({},e),{},{server:t.server});case"SNAPCAST_CLIENTS_LOADED":return Ce(Ce({},e),{},{clients:t.clients});case"SNAPCAST_CLIENT_DELETED":var n=Ce({},e.clients);return delete n[t.key],Ce(Ce({},e),{},{clients:n});case"SNAPCAST_GROUPS_LOADED":if(t.flush)var r={};else r=Ce({},e.groups);var i,a=je(t.groups);try{for(a.s();!(i=a.n()).done;){var o=i.value;r[o.id]=Ce(Ce({},r[o.id]?r[o.id]:{}),o)}}catch(e){a.e(e)}finally{a.f()}return Ce(Ce({},e),{},{groups:r});case"SNAPCAST_STREAMS_LOADED":var s,c=t.flush?{}:Ce({},e.streams),u=je(t.streams);try{for(u.s();!(s=u.n()).done;){var l=s.value;c[l.id]=Ce(Ce({},c[l.id]||{}),l)}}catch(e){u.e(e)}finally{u.f()}return Ce(Ce({},e),{},{streams:c});default:return e}}))}),Fn=Object(w.d)((function(e,t){var n=e;if("RESET_STATE"===t.type){var r=t.stateKeysToReset,i={};r.forEach((function(e){i[e]=wn[e]})),n=vn(vn({},e),i)}return Un(n,t)}),wn,Object(w.a)(K,nt,ct,Bt,wt,an,Yt,Kt,bn)),zn=(En=Fn,Sn=On||!1,An=Object(w.d)(q,H,kn&&kn.enhancer?kn.enhancer:void 0),jn=function(e){An.dispatch({type:k,key:e})},xn=function(e,t,n){var r={type:E,payload:t,err:n,key:e};En.dispatch(r),An.dispatch(r),Sn&&Tn.getState().bootstrapped&&(Sn(),Sn=!1)},Tn=z({},An,{purge:function(){var e=[];return En.dispatch({type:"persist/PURGE",result:function(t){e.push(t)}}),Promise.all(e)},flush:function(){var e=[];return En.dispatch({type:"persist/FLUSH",result:function(t){e.push(t)}}),Promise.all(e)},pause:function(){En.dispatch({type:"persist/PAUSE"})},persist:function(){En.dispatch({type:"persist/PERSIST",register:jn,rehydrate:xn})}}),kn&&kn.manualPersist||Tn.persist(),Tn),Bn=n(614);function Hn(e){var t=null;return function(){return null==t&&(t=e()),t}}function qn(e,t){for(var n=0;n0}},{key:"leave",value:function(e){var t,n,r=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),n=e,t.filter((function(e){return e!==n}))),r>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}])&&qn(t.prototype,n),r&&qn(t,r),e}(),Gn=Hn((function(){return/firefox/i.test(navigator.userAgent)})),Wn=Hn((function(){return Boolean(window.safari)}));function Kn(e,t){for(var n=0;ne))return n[s];u=s-1}}var f=e-t[o=Math.max(0,u)],d=f*f;return n[o]+r[o]*f+i[o]*d+a[o]*f*d}}])&&Kn(t.prototype,n),r&&Kn(t,r),e}();function Jn(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var n=t.getBoundingClientRect(),r=n.top;return{x:n.left,y:r}}function $n(e){return{x:e.clientX,y:e.clientY}}function Zn(e,t,n,r,i){var a,o,s,c="IMG"===(a=t).nodeName&&(Gn()||!(null!==(o=document.documentElement)&&void 0!==o&&o.contains(a))),u=Jn(c?e:t),l={x:n.x-u.x,y:n.y-u.y},f=e.offsetWidth,d=e.offsetHeight,p=r.anchorX,h=r.anchorY,m=function(e,t,n,r){var i=e?t.width:n,a=e?t.height:r;return Wn()&&e&&(a/=window.devicePixelRatio,i/=window.devicePixelRatio),{dragPreviewWidth:i,dragPreviewHeight:a}}(c,t,f,d),b=m.dragPreviewWidth,y=m.dragPreviewHeight,v=i.offsetX,g=i.offsetY,_=0===g||g;return{x:0===v||v?v:new Xn([0,.5,1],[l.x,l.x/f*b,l.x+b-f]).interpolate(p),y:_?g:(s=new Xn([0,.5,1],[l.y,l.y/d*y,l.y+y-d]).interpolate(h),Wn()&&c&&(s+=(window.devicePixelRatio-1)*y),s)}}var er,tr="__NATIVE_FILE__",nr="__NATIVE_URL__",rr="__NATIVE_TEXT__",ir="__NATIVE_HTML__";function ar(e,t,n){var r=t.reduce((function(t,n){return t||e.getData(n)}),"");return null!=r?r:n}function or(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sr=(or(er={},tr,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items},dataTransfer:function(e){return e}},matchesTypes:["Files"]}),or(er,ir,{exposeProperties:{html:function(e,t){return ar(e,t,"")},dataTransfer:function(e){return e}},matchesTypes:["Html","text/html"]}),or(er,nr,{exposeProperties:{urls:function(e,t){return ar(e,t,"").split("\n")},dataTransfer:function(e){return e}},matchesTypes:["Url","text/uri-list"]}),or(er,rr,{exposeProperties:{text:function(e,t){return ar(e,t,"")},dataTransfer:function(e){return e}},matchesTypes:["Text","text/plain"]}),er);function cr(e,t){for(var n=0;n-1}))}))[0]||null}function dr(e,t){for(var n=0;n0&&i.actions.hover(t,{clientOffset:$n(e)}),t.some((function(e){return i.monitor.canDropOnTarget(e)}))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())))})),vr(this,"handleTopDragOverCapture",(function(){i.dragOverTargetIds=[]})),vr(this,"handleTopDragOver",(function(e){var t=i.dragOverTargetIds;if(i.dragOverTargetIds=[],!i.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));i.altKeyPressed=e.altKey,i.lastClientOffset=$n(e),null===i.hoverRafId&&"undefined"!=typeof requestAnimationFrame&&(i.hoverRafId=requestAnimationFrame((function(){i.monitor.isDragging()&&i.actions.hover(t||[],{clientOffset:i.lastClientOffset}),i.hoverRafId=null}))),(t||[]).some((function(e){return i.monitor.canDropOnTarget(e)}))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())):i.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))})),vr(this,"handleTopDragLeaveCapture",(function(e){i.isDraggingNativeItem()&&e.preventDefault(),i.enterLeaveCounter.leave(e.target)&&i.isDraggingNativeItem()&&setTimeout((function(){return i.endDragNativeItem()}),0)})),vr(this,"handleTopDropCapture",(function(e){var t;(i.dropTargetIds=[],i.isDraggingNativeItem())?(e.preventDefault(),null===(t=i.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)):fr(e.dataTransfer)&&e.preventDefault();i.enterLeaveCounter.reset()})),vr(this,"handleTopDrop",(function(e){var t=i.dropTargetIds;i.dropTargetIds=[],i.actions.hover(t,{clientOffset:$n(e)}),i.actions.drop({dropEffect:i.getCurrentDropEffect()}),i.isDraggingNativeItem()?i.endDragNativeItem():i.monitor.isDragging()&&i.actions.endDrag()})),vr(this,"handleSelectStart",(function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))})),this.options=new hr(n,r),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new Yn(this.isNodeInDocument)}var t,n,i;return t=e,(n=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(e=this.dragStartSourceIds)||void 0===e?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(t=this.dragOverTargetIds)||void 0===t?void 0:t.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{key:"teardown",value:function(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null===(e=this.window)||void 0===e||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,n){var r=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,n);var i=function(t){return r.handleDragStart(t,e)},a=function(e){return r.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",i),t.addEventListener("selectstart",a),function(){r.sourceNodes.delete(e),r.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",i),t.removeEventListener("selectstart",a),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=function(t){return n.handleDragEnter(t,e)},i=function(t){return n.handleDragOver(t,e)},a=function(t){return n.handleDrop(t,e)};return t.addEventListener("dragenter",r),t.addEventListener("dragover",i),t.addEventListener("drop",a),function(){t.removeEventListener("dragenter",r),t.removeEventListener("dragover",i),t.removeEventListener("drop",a)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return br({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return br({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(r).some((function(t){return r[t]===e}))}},{key:"beginDragNativeItem",value:function(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){var n=new lr(sr[e]);return n.loadDataTransfer(t),n}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((function(){var e;return null===(e=t.rootElement)||void 0===e?void 0:e.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}},{key:"clearCurrentDragSourceNode",value:function(){var e;return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.rootElement&&(null===(e=this.window)||void 0===e||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}}])&&yr(t.prototype,n),i&&yr(t,i),e}(),wr=function(e,t,n){return new _r(e,t,n)},Er=n(16);!function(e){e.mouse="mouse",e.touch="touch",e.keyboard="keyboard"}(gr||(gr={}));var kr=1,Or=0;function Sr(e){return void 0===e.button||e.button===Or}function Ar(e){return!!e.targetTouches}function jr(e,t){return Ar(e)?function(e,t){return 1===e.targetTouches.length?jr(e.targetTouches[0]):t&&1===e.touches.length&&e.touches[0].target===t.target?jr(e.touches[0]):void 0}(e,t):{x:e.clientX,y:e.clientY}}var xr=function(){var e=!1;try{addEventListener("test",(function(){}),Object.defineProperty({},"passive",{get:function(){return e=!0,!0}}))}catch(e){}return e}();function Tr(e,t){for(var n=0;n=i[o].start)&&(null==i[o].end||a<=i[o].end))return!0;return!1}(i._mouseClientOffset.x||0,i._mouseClientOffset.y||0,u.x,u.y,i.options.scrollAngleRanges))i._isScrolling=!0;else if(!i.monitor.isDragging()&&i._mouseClientOffset.hasOwnProperty("x")&&o&&(t=i._mouseClientOffset.x||0,n=i._mouseClientOffset.y||0,r=u.x,a=u.y,Math.sqrt(Math.pow(Math.abs(r-t),2)+Math.pow(Math.abs(a-n),2))>(i.options.touchSlop?i.options.touchSlop:0))&&(i.moveStartSourceIds=void 0,i.actions.beginDrag(o,{clientOffset:i._mouseClientOffset,getSourceClientOffset:i.getSourceClientOffset,publishSource:!1})),i.monitor.isDragging()){var l=i.sourceNodes.get(i.monitor.getSourceId());i.installSourceNodeRemovalObserver(l),i.actions.publishDragSource(),e.cancelable&&e.preventDefault();var f=(s||[]).map((function(e){return i.targetNodes.get(e)})).filter((function(e){return!!e})),d=i.options.getDropTargetElementsAtPoint?i.options.getDropTargetElementsAtPoint(u.x,u.y,f):i.document.elementsFromPoint(u.x,u.y),p=[];for(var h in d)if(d.hasOwnProperty(h)){var m=d[h];for(p.push(m);m;)(m=m.parentElement)&&-1===p.indexOf(m)&&p.push(m)}var b=p.filter((function(e){return f.indexOf(e)>-1})).map((function(e){return i._getDropTargetId(e)})).filter((function(e){return!!e})).filter((function(e,t,n){return n.indexOf(e)===t}));if(c)for(var y in i.targetNodes){var v=i.targetNodes.get(y);if(l&&v&&v.contains(l)&&-1===b.indexOf(y)){b.unshift(y);break}}b.reverse(),i.actions.hover(b,{clientOffset:u})}}})),Ir(this,"_getDropTargetId",(function(e){for(var t=i.targetNodes.keys(),n=t.next();!1===n.done;){var r=n.value;if(e===i.targetNodes.get(r))return r;n=t.next()}})),Ir(this,"handleTopMoveEndCapture",(function(e){i._isScrolling=!1,i.lastTargetTouchFallback=void 0,function(e){return void 0===e.buttons||0==(e.buttons&kr)}(e)&&(i.monitor.isDragging()&&!i.monitor.didDrop()?(e.cancelable&&e.preventDefault(),i._mouseClientOffset={},i.uninstallSourceNodeRemovalObserver(),i.actions.drop(),i.actions.endDrag()):i.moveStartSourceIds=void 0)})),Ir(this,"handleCancelOnEscape",(function(e){"Escape"===e.key&&i.monitor.isDragging()&&(i._mouseClientOffset={},i.uninstallSourceNodeRemovalObserver(),i.actions.endDrag())})),this.options=new Nr(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(gr.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(gr.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(gr.keyboard)}var t,n,r;return t=e,(n=[{key:"profile",value:function(){var e;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:(null===(e=this.dragOverTargetIds)||void 0===e?void 0:e.length)||0}}},{key:"document",get:function(){return this.options.document}},{key:"setup",value:function(){var t=this.options.rootElement;t&&(Object(Er.a)(!e.isSetUp,"Cannot have two Touch backends at the same time."),e.isSetUp=!0,this.addEventListener(t,"start",this.getTopMoveStartHandler()),this.addEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(t,"move",this.handleTopMove),this.addEventListener(t,"move",this.handleTopMoveCapture,!0),this.addEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(t,"keydown",this.handleCancelOnEscape,!0))}},{key:"teardown",value:function(){var t=this.options.rootElement;t&&(e.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(t,"start",this.handleTopMoveStart),this.removeEventListener(t,"move",this.handleTopMoveCapture,!0),this.removeEventListener(t,"move",this.handleTopMove),this.removeEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(t,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}},{key:"addEventListener",value:function(e,t,n,r){var i=xr?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var a=Rr[r][t];a&&e.addEventListener(a,n,i)}))}},{key:"removeEventListener",value:function(e,t,n,r){var i=xr?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var a=Rr[r][t];a&&e.removeEventListener(a,n,i)}))}},{key:"connectDragSource",value:function(e,t){var n=this,r=this.handleMoveStart.bind(this,e);return this.sourceNodes.set(e,t),this.addEventListener(t,"start",r),function(){n.sourceNodes.delete(e),n.removeEventListener(t,"start",r)}}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=this.options.rootElement;if(!this.document||!r)return function(){};var i=function(i){if(n.document&&r&&n.monitor.isDragging()){var a;switch(i.type){case Rr.mouse.move:a={x:i.clientX,y:i.clientY};break;case Rr.touch.move:a={x:i.touches[0].clientX,y:i.touches[0].clientY}}var o=null!=a?n.document.elementFromPoint(a.x,a.y):void 0,s=o&&t.contains(o);return o===t||s?n.handleMove(i,e):void 0}};return this.addEventListener(this.document.body,"move",i),this.targetNodes.set(e,t),function(){n.document&&(n.targetNodes.delete(e),n.removeEventListener(n.document.body,"move",i))}}},{key:"getTopMoveStartHandler",value:function(){return this.options.delayTouchStart||this.options.delayMouseStart?this.handleTopMoveStartDelay:this.handleTopMoveStart}},{key:"installSourceNodeRemovalObserver",value:function(e){var t=this;this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=e,this.draggedSourceNodeRemovalObserver=new MutationObserver((function(){e&&!e.parentElement&&(t.resurrectSourceNode(),t.uninstallSourceNodeRemovalObserver())})),e&&e.parentElement&&this.draggedSourceNodeRemovalObserver.observe(e.parentElement,{childList:!0})}},{key:"resurrectSourceNode",value:function(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}},{key:"uninstallSourceNodeRemovalObserver",value:function(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}}])&&Dr(t.prototype,n),r&&Dr(t,r),e}();Ir(Lr,"isSetUp",void 0);var Mr,Ur,Fr=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Lr(e,t,n)},zr=function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(){Mr=Function.prototype.toString,Function.prototype.toString=function(){for(var e=[],t=0;t=0?Object(Br.d)(this._breadcrumbs,[n]).slice(-t):Object(Br.d)(this._breadcrumbs,[n]),this._notifyScopeListeners(),this},e.prototype.clearBreadcrumbs=function(){return this._breadcrumbs=[],this._notifyScopeListeners(),this},e.prototype.applyToEvent=function(e,t){var n;if(this._extra&&Object.keys(this._extra).length&&(e.extra=Object(Br.a)(Object(Br.a)({},this._extra),e.extra)),this._tags&&Object.keys(this._tags).length&&(e.tags=Object(Br.a)(Object(Br.a)({},this._tags),e.tags)),this._user&&Object.keys(this._user).length&&(e.user=Object(Br.a)(Object(Br.a)({},this._user),e.user)),this._contexts&&Object.keys(this._contexts).length&&(e.contexts=Object(Br.a)(Object(Br.a)({},this._contexts),e.contexts)),this._level&&(e.level=this._level),this._transactionName&&(e.transaction=this._transactionName),this._span){e.contexts=Object(Br.a)({trace:this._span.getTraceContext()},e.contexts);var r=null===(n=this._span.transaction)||void 0===n?void 0:n.name;r&&(e.tags=Object(Br.a)({transaction:r},e.tags))}return this._applyFingerprint(e),e.breadcrumbs=Object(Br.d)(e.breadcrumbs||[],this._breadcrumbs),e.breadcrumbs=e.breadcrumbs.length>0?e.breadcrumbs:void 0,this._notifyEventProcessors(Object(Br.d)(Wr(),this._eventProcessors),e,t)},e.prototype._notifyEventProcessors=function(e,t,n,r){var i=this;return void 0===r&&(r=0),new Vr((function(a,o){var s=e[r];if(null===t||"function"!=typeof s)a(t);else{var c=s(Object(Br.a)({},t),n);Object(Hr.m)(c)?c.then((function(t){return i._notifyEventProcessors(e,t,n,r+1).then(a)})).then(null,o):i._notifyEventProcessors(e,c,n,r+1).then(a).then(null,o)}}))},e.prototype._notifyScopeListeners=function(){var e=this;this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((function(t){t(e)})),this._notifyingListeners=!1)},e.prototype._applyFingerprint=function(e){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],this._fingerprint&&(e.fingerprint=e.fingerprint.concat(this._fingerprint)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint},e}();function Wr(){var e=Object(Yr.e)();return e.__SENTRY__=e.__SENTRY__||{},e.__SENTRY__.globalEventProcessors=e.__SENTRY__.globalEventProcessors||[],e.__SENTRY__.globalEventProcessors}function Kr(e){Wr().push(e)}var Qr=Object(Yr.e)(),Xr="Sentry Logger ",Jr=function(){function e(){this._enabled=!1}return e.prototype.disable=function(){this._enabled=!1},e.prototype.enable=function(){this._enabled=!0},e.prototype.log=function(){for(var e=[],t=0;t1&&(l=d.slice(0,-1).join("/"),f=d.pop()),f){var p=f.match(/^\d+/);p&&(f=p[0])}this._fromComponents({host:s,pass:o,path:l,projectId:f,port:u,protocol:r,user:i})},e.prototype._fromComponents=function(e){this.protocol=e.protocol,this.user=e.user,this.pass=e.pass||"",this.host=e.host,this.port=e.port||"",this.path=e.path||"",this.projectId=e.projectId},e.prototype._validate=function(){var e=this;if(["protocol","user","host","projectId"].forEach((function(t){if(!e[t])throw new hi("Invalid Dsn: "+t+" missing")})),!this.projectId.match(/^\d+$/))throw new hi("Invalid Dsn: Invalid projectId "+this.projectId);if("http"!==this.protocol&&"https"!==this.protocol)throw new hi("Invalid Dsn: Invalid protocol "+this.protocol);if(this.port&&isNaN(parseInt(this.port,10)))throw new hi("Invalid Dsn: Invalid port "+this.port)},e}(),yi=[];function vi(e){var t={};return function(e){var t=e.defaultIntegrations&&Object(Br.d)(e.defaultIntegrations)||[],n=e.integrations,r=[];if(Array.isArray(n)){var i=n.map((function(e){return e.name})),a=[];t.forEach((function(e){-1===i.indexOf(e.name)&&-1===a.indexOf(e.name)&&(r.push(e),a.push(e.name))})),n.forEach((function(e){-1===a.indexOf(e.name)&&(r.push(e),a.push(e.name))}))}else"function"==typeof n?(r=n(t),r=Array.isArray(r)?r:[r]):r=Object(Br.d)(t);var o=r.map((function(e){return e.name}));return-1!==o.indexOf("Debug")&&r.push.apply(r,Object(Br.d)(r.splice(o.indexOf("Debug"),1))),r}(e).forEach((function(e){t[e.name]=e,function(e){-1===yi.indexOf(e.name)&&(e.setupOnce(Kr,oi),yi.push(e.name),Zr.log("Integration installed: "+e.name))}(e)})),t}var gi,_i=function(){function e(e,t){this._integrations={},this._processing=0,this._backend=new e(t),this._options=t,t.dsn&&(this._dsn=new bi(t.dsn))}return e.prototype.captureException=function(e,t,n){var r=this,i=t&&t.event_id;return this._process(this._getBackend().eventFromException(e,t).then((function(e){return r._captureEvent(e,t,n)})).then((function(e){i=e}))),i},e.prototype.captureMessage=function(e,t,n,r){var i=this,a=n&&n.event_id,o=Object(Hr.i)(e)?this._getBackend().eventFromMessage(""+e,t,n):this._getBackend().eventFromException(e,n);return this._process(o.then((function(e){return i._captureEvent(e,n,r)})).then((function(e){a=e}))),a},e.prototype.captureEvent=function(e,t,n){var r=t&&t.event_id;return this._process(this._captureEvent(e,t,n).then((function(e){r=e}))),r},e.prototype.captureSession=function(e){e.release?this._sendSession(e):Zr.warn("Discarded session because of missing release")},e.prototype.getDsn=function(){return this._dsn},e.prototype.getOptions=function(){return this._options},e.prototype.flush=function(e){var t=this;return this._isClientProcessing(e).then((function(n){return t._getBackend().getTransport().close(e).then((function(e){return n&&e}))}))},e.prototype.close=function(e){var t=this;return this.flush(e).then((function(e){return t.getOptions().enabled=!1,e}))},e.prototype.setupIntegrations=function(){this._isEnabled()&&(this._integrations=vi(this._options))},e.prototype.getIntegration=function(e){try{return this._integrations[e.id]||null}catch(t){return Zr.warn("Cannot retrieve integration "+e.id+" from the current Client"),null}},e.prototype._updateSessionFromEvent=function(e,t){var n,r,i,a=!1,o=!1,s=t.exception&&t.exception.values;if(s){o=!0;try{for(var c=Object(Br.e)(s),u=c.next();!u.done;u=c.next()){var l=u.value.mechanism;if(l&&!1===l.handled){a=!0;break}}}catch(e){n={error:e}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}}var f=t.user;if(!e.userAgent){var d=t.request?t.request.headers:{};for(var p in d)if("user-agent"===p.toLowerCase()){i=d[p];break}}e.update(Object(Br.a)(Object(Br.a)({},a&&{status:$r.Crashed}),{user:f,userAgent:i,errors:e.errors+Number(o||a)}))},e.prototype._sendSession=function(e){this._getBackend().sendSession(e)},e.prototype._isClientProcessing=function(e){var t=this;return new Vr((function(n){var r=0,i=setInterval((function(){0==t._processing?(clearInterval(i),n(!0)):(r+=1,e&&r>=e&&(clearInterval(i),n(!1)))}),1)}))},e.prototype._getBackend=function(){return this._backend},e.prototype._isEnabled=function(){return!1!==this.getOptions().enabled&&void 0!==this._dsn},e.prototype._prepareEvent=function(e,t,n){var r=this,i=this.getOptions().normalizeDepth,a=void 0===i?3:i,o=Object(Br.a)(Object(Br.a)({},e),{event_id:e.event_id||(n&&n.event_id?n.event_id:Object(Yr.i)()),timestamp:e.timestamp||Object(qr.a)()});this._applyClientOptions(o),this._applyIntegrationsMetadata(o);var s=t;n&&n.captureContext&&(s=Gr.clone(s).update(n.captureContext));var c=Vr.resolve(o);return s&&(c=s.applyToEvent(o,n)),c.then((function(e){return"number"==typeof a&&a>0?r._normalizeEvent(e,a):e}))},e.prototype._normalizeEvent=function(e,t){if(!e)return null;var n=Object(Br.a)(Object(Br.a)(Object(Br.a)(Object(Br.a)(Object(Br.a)({},e),e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map((function(e){return Object(Br.a)(Object(Br.a)({},e),e.data&&{data:Object(ti.d)(e.data,t)})}))}),e.user&&{user:Object(ti.d)(e.user,t)}),e.contexts&&{contexts:Object(ti.d)(e.contexts,t)}),e.extra&&{extra:Object(ti.d)(e.extra,t)});return e.contexts&&e.contexts.trace&&(n.contexts.trace=e.contexts.trace),n},e.prototype._applyClientOptions=function(e){var t=this.getOptions(),n=t.environment,r=t.release,i=t.dist,a=t.maxValueLength,o=void 0===a?250:a;"environment"in e||(e.environment="environment"in t?n:"production"),void 0===e.release&&void 0!==r&&(e.release=r),void 0===e.dist&&void 0!==i&&(e.dist=i),e.message&&(e.message=Object(li.d)(e.message,o));var s=e.exception&&e.exception.values&&e.exception.values[0];s&&s.value&&(s.value=Object(li.d)(s.value,o));var c=e.request;c&&c.url&&(c.url=Object(li.d)(c.url,o))},e.prototype._applyIntegrationsMetadata=function(e){var t=e.sdk,n=Object.keys(this._integrations);t&&n.length>0&&(t.integrations=n)},e.prototype._sendEvent=function(e){this._getBackend().sendEvent(e)},e.prototype._captureEvent=function(e,t,n){return this._processEvent(e,t,n).then((function(e){return e.event_id}),(function(e){Zr.error(e)}))},e.prototype._processEvent=function(e,t,n){var r=this,i=this.getOptions(),a=i.beforeSend,o=i.sampleRate;if(!this._isEnabled())return Vr.reject(new hi("SDK not enabled, will not send event."));var s="transaction"===e.type;return!s&&"number"==typeof o&&Math.random()>o?Vr.reject(new hi("This event has been sampled, will not send event.")):this._prepareEvent(e,n,t).then((function(e){if(null===e)throw new hi("An event processor returned null, will not send event.");if(t&&t.data&&!0===t.data.__sentry__||s||!a)return e;var n=a(e,t);if(void 0===n)throw new hi("`beforeSend` method has to return `null` or a valid event.");return Object(Hr.m)(n)?n.then((function(e){return e}),(function(e){throw new hi("beforeSend rejected with "+e)})):n})).then((function(e){if(null===e)throw new hi("`beforeSend` returned `null`, will not send event.");var t=n&&n.getSession&&n.getSession();return!s&&t&&r._updateSessionFromEvent(t,e),r._sendEvent(e),e})).then(null,(function(e){if(e instanceof hi)throw e;throw r.captureException(e,{data:{__sentry__:!0},originalException:e}),new hi("Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: "+e)}))},e.prototype._process=function(e){var t=this;this._processing+=1,e.then((function(e){return t._processing-=1,e}),(function(e){return t._processing-=1,e}))},e}();!function(e){e.Unknown="unknown",e.Skipped="skipped",e.Success="success",e.RateLimit="rate_limit",e.Invalid="invalid",e.Failed="failed"}(gi||(gi={})),function(e){e.fromHttpCode=function(t){return t>=200&&t<300?e.Success:429===t?e.RateLimit:t>=400&&t<500?e.Invalid:t>=500?e.Failed:e.Unknown}}(gi||(gi={}));var wi,Ei=function(){function e(){}return e.prototype.sendEvent=function(e){return Vr.resolve({reason:"NoopTransport: Event has been skipped because no Dsn is configured.",status:gi.Skipped})},e.prototype.close=function(e){return Vr.resolve(!0)},e}(),ki=function(){function e(e){this._options=e,this._options.dsn||Zr.warn("No DSN provided, backend will not do anything."),this._transport=this._setupTransport()}return e.prototype.eventFromException=function(e,t){throw new hi("Backend has to implement `eventFromException` method")},e.prototype.eventFromMessage=function(e,t,n){throw new hi("Backend has to implement `eventFromMessage` method")},e.prototype.sendEvent=function(e){this._transport.sendEvent(e).then(null,(function(e){Zr.error("Error while sending event: "+e)}))},e.prototype.sendSession=function(e){this._transport.sendSession?this._transport.sendSession(e).then(null,(function(e){Zr.error("Error while sending session: "+e)})):Zr.warn("Dropping session because custom transport doesn't implement sendSession")},e.prototype.getTransport=function(){return this._transport},e.prototype._setupTransport=function(){return new Ei},e}();function Oi(){if(!("fetch"in Object(Yr.e)()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(e){return!1}}function Si(e){return e&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Ai(){if(!Oi())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch(e){return!1}}!function(e){e.Fatal="fatal",e.Error="error",e.Warning="warning",e.Log="log",e.Info="info",e.Debug="debug",e.Critical="critical"}(wi||(wi={})),function(e){e.fromString=function(t){switch(t){case"debug":return e.Debug;case"info":return e.Info;case"warn":case"warning":return e.Warning;case"error":return e.Error;case"fatal":return e.Fatal;case"critical":return e.Critical;case"log":default:return e.Log}}}(wi||(wi={}));var ji=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,xi=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,Ti=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,Ci=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Pi=/\((\S*)(?::(\d+))(?::(\d+))\)/,Ni=/Minified React error #\d+;/i;function Di(e){var t=null,n=0;e&&("number"==typeof e.framesToPop?n=e.framesToPop:Ni.test(e.message)&&(n=1));try{if(t=function(e){if(!e||!e.stacktrace)return null;for(var t,n=e.stacktrace,r=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,i=/ line (\d+), column (\d+)\s*(?:in (?:]+)>|([^)]+))\((.*)\))? in (.*):\s*$/i,a=n.split("\n"),o=[],s=0;s eval")>-1&&(t=Ci.exec(n[3]))?(n[1]=n[1]||"eval",n[3]=t[1],n[4]=t[2],n[5]=""):0!==o||n[5]||void 0===e.columnNumber||(i[0].column=e.columnNumber+1),r={url:n[3],func:n[1]||"?",args:n[2]?n[2].split(","):[],line:n[4]?+n[4]:null,column:n[5]?+n[5]:null}}!r.func&&r.line&&(r.func="?"),i.push(r)}if(!i.length)return null;return{message:Ri(e),name:e.name,stack:i}}(e))return Ii(t,n)}catch(e){}return{message:Ri(e),name:e&&e.name,stack:[],failed:!0}}function Ii(e,t){try{return Object(Br.a)(Object(Br.a)({},e),{stack:e.stack.slice(t)})}catch(t){return e}}function Ri(e){var t=e&&e.message;return t?t.error&&"string"==typeof t.error.message?t.error.message:t:"No error message"}function Li(e){var t=Ui(e.stack),n={type:e.name,value:e.message};return t&&t.length&&(n.stacktrace={frames:t}),void 0===n.type&&""===n.value&&(n.value="Unrecoverable error caught"),n}function Mi(e){return{exception:{values:[Li(e)]}}}function Ui(e){if(!e||!e.length)return[];var t=e,n=t[0].func||"",r=t[t.length-1].func||"";return-1===n.indexOf("captureMessage")&&-1===n.indexOf("captureException")||(t=t.slice(1)),-1!==r.indexOf("sentryWrapped")&&(t=t.slice(0,-1)),t.slice(0,50).map((function(e){return{colno:null===e.column?void 0:e.column,filename:e.url||t[0].url,function:e.func||"?",in_app:!0,lineno:null===e.line?void 0:e.line}})).reverse()}function Fi(e,t,n){var r;if(void 0===n&&(n={}),Object(Hr.e)(e)&&e.error)return r=Mi(Di(e=e.error));if(Object(Hr.a)(e)||Object(Hr.b)(e)){var i=e,a=i.name||(Object(Hr.a)(i)?"DOMError":"DOMException"),o=i.message?a+": "+i.message:a;return r=zi(o,t,n),Object(Yr.b)(r,o),"code"in i&&(r.tags=Object(Br.a)(Object(Br.a)({},r.tags),{"DOMException.code":""+i.code})),r}return Object(Hr.d)(e)?r=Mi(Di(e)):Object(Hr.h)(e)||Object(Hr.f)(e)?(r=function(e,t,n){var r={exception:{values:[{type:Object(Hr.f)(e)?e.constructor.name:n?"UnhandledRejection":"Error",value:"Non-Error "+(n?"promise rejection":"exception")+" captured with keys: "+Object(ti.b)(e)}]},extra:{__serialized__:Object(ti.e)(e)}};if(t){var i=Ui(Di(t).stack);r.stacktrace={frames:i}}return r}(e,t,n.rejection),Object(Yr.a)(r,{synthetic:!0}),r):(r=zi(e,t,n),Object(Yr.b)(r,""+e,void 0),Object(Yr.a)(r,{synthetic:!0}),r)}function zi(e,t,n){void 0===n&&(n={});var r={message:e};if(n.attachStacktrace&&t){var i=Ui(Di(t).stack);r.stacktrace={frames:i}}return r}function Bi(e,t){return{body:JSON.stringify({sent_at:(new Date).toISOString()})+"\n"+JSON.stringify({type:"session"})+"\n"+JSON.stringify(e),type:"session",url:t.getEnvelopeEndpointWithUrlEncodedAuth()}}function Hi(e,t){var n="transaction"===e.type,r={body:JSON.stringify(e),type:e.type||"event",url:n?t.getEnvelopeEndpointWithUrlEncodedAuth():t.getStoreEndpointWithUrlEncodedAuth()};if(n){var i=JSON.stringify({event_id:e.event_id,sent_at:(new Date).toISOString()})+"\n"+JSON.stringify({type:e.type})+"\n"+r.body;r.body=i}return r}var qi=function(){function e(e){this.dsn=e,this._dsnObject=new bi(e)}return e.prototype.getDsn=function(){return this._dsnObject},e.prototype.getBaseApiEndpoint=function(){var e=this._dsnObject,t=e.protocol?e.protocol+":":"",n=e.port?":"+e.port:"";return t+"//"+e.host+n+(e.path?"/"+e.path:"")+"/api/"},e.prototype.getStoreEndpoint=function(){return this._getIngestEndpoint("store")},e.prototype.getStoreEndpointWithUrlEncodedAuth=function(){return this.getStoreEndpoint()+"?"+this._encodedAuth()},e.prototype.getEnvelopeEndpointWithUrlEncodedAuth=function(){return this._getEnvelopeEndpoint()+"?"+this._encodedAuth()},e.prototype.getStoreEndpointPath=function(){var e=this._dsnObject;return(e.path?"/"+e.path:"")+"/api/"+e.projectId+"/store/"},e.prototype.getRequestHeaders=function(e,t){var n=this._dsnObject,r=["Sentry sentry_version=7"];return r.push("sentry_client="+e+"/"+t),r.push("sentry_key="+n.user),n.pass&&r.push("sentry_secret="+n.pass),{"Content-Type":"application/json","X-Sentry-Auth":r.join(", ")}},e.prototype.getReportDialogEndpoint=function(e){void 0===e&&(e={});var t=this._dsnObject,n=this.getBaseApiEndpoint()+"embed/error-page/",r=[];for(var i in r.push("dsn="+t.toString()),e)if("user"===i){if(!e.user)continue;e.user.name&&r.push("name="+encodeURIComponent(e.user.name)),e.user.email&&r.push("email="+encodeURIComponent(e.user.email))}else r.push(encodeURIComponent(i)+"="+encodeURIComponent(e[i]));return r.length?n+"?"+r.join("&"):n},e.prototype._getEnvelopeEndpoint=function(){return this._getIngestEndpoint("envelope")},e.prototype._getIngestEndpoint=function(e){return""+this.getBaseApiEndpoint()+this._dsnObject.projectId+"/"+e+"/"},e.prototype._encodedAuth=function(){var e={sentry_key:this._dsnObject.user,sentry_version:"7"};return Object(ti.f)(e)},e}(),Vi=function(){function e(e){this._limit=e,this._buffer=[]}return e.prototype.isReady=function(){return void 0===this._limit||this.length()0&&n(!1)}),e);Vr.all(t._buffer).then((function(){clearTimeout(r),n(!0)})).then(null,(function(){n(!0)}))}))},e}(),Yi=function(){function e(e){this.options=e,this._buffer=new Vi(30),this._rateLimits={},this._api=new qi(this.options.dsn),this.url=this._api.getStoreEndpointWithUrlEncodedAuth()}return e.prototype.sendEvent=function(e){throw new hi("Transport Class has to implement `sendEvent` method")},e.prototype.close=function(e){return this._buffer.drain(e)},e.prototype._handleResponse=function(e){var t=e.requestType,n=e.response,r=e.headers,i=e.resolve,a=e.reject,o=gi.fromHttpCode(n.status);this._handleRateLimit(r)&&Zr.warn("Too many requests, backing off till: "+this._disabledUntil(t)),o!==gi.Success?a(n):i({status:o})},e.prototype._disabledUntil=function(e){return this._rateLimits[e]||this._rateLimits.all},e.prototype._isRateLimited=function(e){return this._disabledUntil(e)>new Date(Date.now())},e.prototype._handleRateLimit=function(e){var t,n,r,i,a=Date.now(),o=e["x-sentry-rate-limits"],s=e["retry-after"];if(o){try{for(var c=Object(Br.e)(o.trim().split(",")),u=c.next();!u.done;u=c.next()){var l=u.value.split(":",2),f=parseInt(l[0],10),d=1e3*(isNaN(f)?60:f);try{for(var p=(r=void 0,Object(Br.e)(l[1].split(";"))),h=p.next();!h.done;h=p.next()){var m=h.value;this._rateLimits[m||"all"]=new Date(a+d)}}catch(e){r={error:e}}finally{try{h&&!h.done&&(i=p.return)&&i.call(p)}finally{if(r)throw r.error}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=c.return)&&n.call(c)}finally{if(t)throw t.error}}return!0}return!!s&&(this._rateLimits.all=new Date(a+Object(Yr.g)(a,s)),!0)},e}(),Gi=Object(Yr.e)(),Wi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(Br.b)(t,e),t.prototype.sendEvent=function(e){return this._sendRequest(Hi(e,this._api),e)},t.prototype.sendSession=function(e){return this._sendRequest(Bi(e,this._api),e)},t.prototype._sendRequest=function(e,t){var n=this;if(this._isRateLimited(e.type))return Promise.reject({event:t,type:e.type,reason:"Transport locked till "+this._disabledUntil(e.type)+" due to too many requests.",status:429});var r={body:e.body,method:"POST",referrerPolicy:Ai()?"origin":""};return void 0!==this.options.fetchParameters&&Object.assign(r,this.options.fetchParameters),void 0!==this.options.headers&&(r.headers=this.options.headers),this._buffer.add(new Vr((function(t,i){Gi.fetch(e.url,r).then((function(r){var a={"x-sentry-rate-limits":r.headers.get("X-Sentry-Rate-Limits"),"retry-after":r.headers.get("Retry-After")};n._handleResponse({requestType:e.type,response:r,headers:a,resolve:t,reject:i})})).catch(i)})))},t}(Yi),Ki=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(Br.b)(t,e),t.prototype.sendEvent=function(e){return this._sendRequest(Hi(e,this._api),e)},t.prototype.sendSession=function(e){return this._sendRequest(Bi(e,this._api),e)},t.prototype._sendRequest=function(e,t){var n=this;return this._isRateLimited(e.type)?Promise.reject({event:t,type:e.type,reason:"Transport locked till "+this._disabledUntil(e.type)+" due to too many requests.",status:429}):this._buffer.add(new Vr((function(t,r){var i=new XMLHttpRequest;for(var a in i.onreadystatechange=function(){if(4===i.readyState){var a={"x-sentry-rate-limits":i.getResponseHeader("X-Sentry-Rate-Limits"),"retry-after":i.getResponseHeader("Retry-After")};n._handleResponse({requestType:e.type,response:i,headers:a,resolve:t,reject:r})}},i.open("POST",e.url),n.options.headers)n.options.headers.hasOwnProperty(a)&&i.setRequestHeader(a,n.options.headers[a]);i.send(e.body)})))},t}(Yi),Qi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(Br.b)(t,e),t.prototype.eventFromException=function(e,t){return function(e,t,n){var r=Fi(t,n&&n.syntheticException||void 0,{attachStacktrace:e.attachStacktrace});return Object(Yr.a)(r,{handled:!0,type:"generic"}),r.level=wi.Error,n&&n.event_id&&(r.event_id=n.event_id),Vr.resolve(r)}(this._options,e,t)},t.prototype.eventFromMessage=function(e,t,n){return void 0===t&&(t=wi.Info),function(e,t,n,r){void 0===n&&(n=wi.Info);var i=zi(t,r&&r.syntheticException||void 0,{attachStacktrace:e.attachStacktrace});return i.level=n,r&&r.event_id&&(i.event_id=r.event_id),Vr.resolve(i)}(this._options,e,t,n)},t.prototype._setupTransport=function(){if(!this._options.dsn)return e.prototype._setupTransport.call(this);var t=Object(Br.a)(Object(Br.a)({},this._options.transportOptions),{dsn:this._options.dsn});return this._options.transport?new this._options.transport(t):Oi()?new Wi(t):new Ki(t)},t}(ki);function Xi(e){for(var t=[],n=1;n0}function ta(){Zi+=1,setTimeout((function(){Zi-=1}))}function na(e,t,n){if(void 0===t&&(t={}),"function"!=typeof e)return e;try{if(e.__sentry__)return e;if(e.__sentry_wrapped__)return e.__sentry_wrapped__}catch(t){return e}var r=function(){var r=Array.prototype.slice.call(arguments);try{n&&"function"==typeof n&&n.apply(this,arguments);var i=r.map((function(e){return na(e,t)}));return e.handleEvent?e.handleEvent.apply(this,i):e.apply(this,i)}catch(e){throw ta(),$i((function(n){n.addEventProcessor((function(e){var n=Object(Br.a)({},e);return t.mechanism&&(Object(Yr.b)(n,void 0,void 0),Object(Yr.a)(n,t.mechanism)),n.extra=Object(Br.a)(Object(Br.a)({},n.extra),{arguments:r}),n})),Ji(e)})),e}};try{for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i])}catch(e){}e.prototype=e.prototype||{},r.prototype=e.prototype,Object.defineProperty(e,"__sentry_wrapped__",{enumerable:!1,value:r}),Object.defineProperties(r,{__sentry__:{enumerable:!1,value:!0},__sentry_original__:{enumerable:!1,value:e}});try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get:function(){return e.name}})}catch(e){}return r}function ra(e){if(void 0===e&&(e={}),e.eventId)if(e.dsn){var t=document.createElement("script");t.async=!0,t.src=new qi(e.dsn).getReportDialogEndpoint(e),e.onLoad&&(t.onload=e.onLoad),(document.head||document.body).appendChild(t)}else Zr.error("Missing dsn option in showReportDialog call");else Zr.error("Missing eventId option in showReportDialog call")}var ia,aa=n(152),oa=Object(Yr.e)(),sa={},ca={};function ua(e){if(!ca[e])switch(ca[e]=!0,e){case"console":!function(){if(!("console"in oa))return;["debug","info","warn","error","log","assert"].forEach((function(e){e in oa.console&&Object(ti.c)(oa.console,e,(function(t){return function(){for(var n=[],r=0;r2?t[2]:void 0;if(r){var i=ia,a=String(r);ia=a,fa("history",{from:i,to:a})}return e.apply(this,t)}}oa.onpopstate=function(){for(var e=[],t=0;t"}0!==t.length&&oi().addBreadcrumb({category:"ui."+e.name,message:t},{event:e.event,name:e.name})},e.prototype._xhrBreadcrumb=function(e){if(e.endTimestamp){if(e.xhr.__sentry_own_request__)return;var t=e.xhr.__sentry_xhr__||{},n=t.method,r=t.url,i=t.status_code,a=t.body;oi().addBreadcrumb({category:"xhr",data:{method:n,url:r,status_code:i},type:"http"},{xhr:e.xhr,input:a})}else;},e.prototype._fetchBreadcrumb=function(e){e.endTimestamp&&(e.fetchData.url.match(/sentry_key/)&&"POST"===e.fetchData.method||(e.error?oi().addBreadcrumb({category:"fetch",data:e.fetchData,level:wi.Error,type:"http"},{data:e.error,input:e.args}):oi().addBreadcrumb({category:"fetch",data:Object(Br.a)(Object(Br.a)({},e.fetchData),{status_code:e.response.status}),type:"http"},{input:e.args,response:e.response})))},e.prototype._historyBreadcrumb=function(e){var t=Object(Yr.e)(),n=e.from,r=e.to,i=Object(Yr.h)(t.location.href),a=Object(Yr.h)(n),o=Object(Yr.h)(r);a.path||(a=i),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),i.protocol===a.protocol&&i.host===a.host&&(n=a.relative),oi().addBreadcrumb({category:"navigation",data:{from:n,to:r}})},e.id="Breadcrumbs",e}(),ka=function(e){function t(t){return void 0===t&&(t={}),e.call(this,Qi,t)||this}return Object(Br.b)(t,e),t.prototype.showReportDialog=function(e){void 0===e&&(e={}),Object(Yr.e)().document&&(this._isEnabled()?ra(Object(Br.a)(Object(Br.a)({},e),{dsn:e.dsn||this.getDsn()})):Zr.error("Trying to call showReportDialog with Sentry Client disabled"))},t.prototype._prepareEvent=function(t,n,r){return t.platform=t.platform||"javascript",t.sdk=Object(Br.a)(Object(Br.a)({},t.sdk),{name:"sentry.javascript.browser",packages:Object(Br.d)(t.sdk&&t.sdk.packages||[],[{name:"npm:@sentry/browser",version:"5.27.6"}]),version:"5.27.6"}),e.prototype._prepareEvent.call(this,t,n,r)},t.prototype._sendEvent=function(t){var n=this.getIntegration(Ea);n&&n.addSentryBreadcrumb(t),e.prototype._sendEvent.call(this,t)},t}(_i),Oa=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Sa=function(){function e(t){this.name=e.id,this._options=Object(Br.a)({XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0},t)}return e.prototype.setupOnce=function(){var e=Object(Yr.e)();(this._options.setTimeout&&Object(ti.c)(e,"setTimeout",this._wrapTimeFunction.bind(this)),this._options.setInterval&&Object(ti.c)(e,"setInterval",this._wrapTimeFunction.bind(this)),this._options.requestAnimationFrame&&Object(ti.c)(e,"requestAnimationFrame",this._wrapRAF.bind(this)),this._options.XMLHttpRequest&&"XMLHttpRequest"in e&&Object(ti.c)(XMLHttpRequest.prototype,"send",this._wrapXHR.bind(this)),this._options.eventTarget)&&(Array.isArray(this._options.eventTarget)?this._options.eventTarget:Oa).forEach(this._wrapEventTarget.bind(this))},e.prototype._wrapTimeFunction=function(e){return function(){for(var t=[],n=0;n0?t:Object(Yr.f)();return 0===e.exception.values[0].stacktrace.frames.length&&e.exception.values[0].stacktrace.frames.push({colno:i,filename:o,function:"?",in_app:!0,lineno:a}),e},e.id="GlobalHandlers",e}(),ja=function(){function e(t){void 0===t&&(t={}),this.name=e.id,this._key=t.key||"cause",this._limit=t.limit||5}return e.prototype.setupOnce=function(){Kr((function(t,n){var r=oi().getIntegration(e);return r?r._handler(t,n):t}))},e.prototype._handler=function(e,t){if(!(e.exception&&e.exception.values&&t&&Object(Hr.g)(t.originalException,Error)))return e;var n=this._walkErrorTree(t.originalException,this._key);return e.exception.values=Object(Br.d)(n,e.exception.values),e},e.prototype._walkErrorTree=function(e,t,n){if(void 0===n&&(n=[]),!Object(Hr.g)(e[t],Error)||n.length+1>=this._limit)return n;var r=Li(Di(e[t]));return this._walkErrorTree(e[t],t,Object(Br.d)([r],n))},e.id="LinkedErrors",e}(),xa=Object(Yr.e)(),Ta=function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(){Kr((function(t){var n,r,i;if(oi().getIntegration(e)){if(!xa.navigator&&!xa.location&&!xa.document)return t;var a=(null===(n=t.request)||void 0===n?void 0:n.url)||(null===(r=xa.location)||void 0===r?void 0:r.href),o=(xa.document||{}).referrer,s=(xa.navigator||{}).userAgent,c=Object(Br.a)(Object(Br.a)(Object(Br.a)({},null===(i=t.request)||void 0===i?void 0:i.headers),o&&{Referer:o}),s&&{"User-Agent":s}),u=Object(Br.a)(Object(Br.a)({},a&&{url:a}),{headers:c});return Object(Br.a)(Object(Br.a)({},t),{request:u})}return t}))},e.id="UserAgent",e}(),Ca=[new i.InboundFilters,new i.FunctionToString,new Sa,new Ea,new Aa,new ja,new Ta];function Pa(e){if(void 0===e&&(e={}),void 0===e.defaultIntegrations&&(e.defaultIntegrations=Ca),void 0===e.release){var t=Object(Yr.e)();t.SENTRY_RELEASE&&t.SENTRY_RELEASE.id&&(e.release=t.SENTRY_RELEASE.id)}void 0===e.autoSessionTracking&&(e.autoSessionTracking=!1),function(e,t){!0===t.debug&&Zr.enable();var n=oi(),r=new e(t);n.bindClient(r)}(ka,e),e.autoSessionTracking&&function(){var e=Object(Yr.e)(),t=oi(),n="complete"===document.readyState,r=!1,i=function(){r&&n&&t.endSession()},a=function(){n=!0,i(),e.removeEventListener("load",a)};t.startSession(),n||e.addEventListener("load",a);try{var o=new PerformanceObserver((function(e,t){e.getEntries().forEach((function(e){"first-contentful-paint"===e.name&&e.startTimee.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1e3&&(f=100)),o.a.createElement("div",{className:"slider slider--playback-progress slider--".concat(s)},o.a.createElement("input",{type:"range",min:"0",max:"100",value:f,className:"slider__input",onChange:l}),o.a.createElement("div",{className:"slider__track slider__track--".concat(t)},o.a.createElement("div",{className:"slider__track__progress slider__track__progress--".concat(t),style:{width:"".concat(f,"%")}})))},to=n(83),no=n(84),ro=n(287),io=n(43),ao=n(35),oo=n(19),so=function(e,t,n){var r=Object(a.useRef)();Object(a.useEffect)((function(){r.current=e}),[e]),Object(a.useEffect)((function(){function e(){r.current()}var i=n?setInterval(e,t):setTimeout(e,t);return function(){return n?clearInterval(i):clearTimeout(i)}}),[t])};function co(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function uo(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&d>=0&&o.a.createElement("div",{className:"loader__progress-text"},"".concat(f-d," / ").concat(f)))):o.a.createElement("div",{className:h},o.a.createElement("div",{className:"loader__offline"},o.a.createElement(Da.b,{name:"wifi_off"}),o.a.createElement("p",null,o.a.createElement(Ye.a,{path:"errors.need_to_be_online"}))))})),yo=n(34),vo=n(15),go=n(148),_o=n(288);function wo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Eo(e){for(var t=1;t0?Object(ge.d)(h.join(",")):"",b=Object(ne.compact)(l.map((function(e){return e.can_edit?Eo(Eo({},e),{},{is_pinned:!1}):null})));return b=Object(X.g)(b,"name"),b=Object(X.g)(b,"is_pinned",!0),o.a.createElement("div",{className:"context-menu__section context-menu__section--submenu"},o.a.createElement("div",{className:"context-menu__item context-menu__item--functional"},o.a.createElement("a",{className:"context-menu__item__link",onClick:s},o.a.createElement("span",{className:"context-menu__item__label"},o.a.createElement(Da.b,{name:"arrow_back"}),o.a.createElement("span",null,o.a.createElement(Ye.a,{path:"actions.back"}))))),o.a.createElement("div",{className:"context-menu__item context-menu__item--functional"},o.a.createElement(Na.a,{className:"context-menu__item__link",to:"/modal/create-playlist/".concat(m)},o.a.createElement("span",{className:"context-menu__item__label"},o.a.createElement(Da.b,{name:"add"}),o.a.createElement("span",null,o.a.createElement(Ye.a,{path:"context_menu.add_to_playlist.new_playlist"}))))),f?o.a.createElement("div",{className:"context-menu__item context-menu__item--loader"},o.a.createElement(Loader,{className:"context-menu__item",mini:!0,loading:!0})):o.a.createElement(o.a.Fragment,null,b.length>0?b.map((function(e){var t=e.is_pinned?"em":"span";return o.a.createElement(t,{className:"context-menu__item",key:e.uri},o.a.createElement("a",{className:"context-menu__item__link",onClick:function(){return t=e.uri,p(Object(Ja.hideContextMenu)()),void p(Object(Ve.addTracksToPlaylist)(t,h));var t}},o.a.createElement("span",{className:"context-menu__item__label"},e.name)))})):o.a.createElement("span",{className:"context-menu__item"},o.a.createElement("span",{className:"context-menu__item mid_grey-text"},o.a.createElement("span",{className:"context-menu__item__link context-menu__item__link--inactive"},o.a.createElement(Ye.a,{path:"context_menu.add_to_playlist.no_playlists"}))))))};function So(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ao(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ao(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ao(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nwindow.innerWidth-174&&(h.left="auto",h.right=10),(null==t?void 0:t.position_y)>window.innerHeight-200&&(h.top="auto",h.bottom=10),o.a.createElement("div",{id:"context-menu",className:m,style:h,ref:c},o.a.createElement("div",{className:"context-menu__section context-menu__section--items"},"custom"!==(null==t?void 0:t.type)&&o.a.createElement(jo,{context_menu:t}),o.a.createElement(_o.a,{context_menu:t,onSubmenu:function(){return f(!0)}})),l&&o.a.createElement(Oo,{context_menu:t,allPlaylists:r,onClose:function(){return f(!1)},loading:n,providers:i}),o.a.createElement("div",{className:"context-menu__background",onClick:s}))}))),No=n(52),Do=n(36),Io=n(61),Ro=function(e){var t=e.item,n=t.key,r=t.type,i=t.level,a=t.title,s=t.content,c=t.description,l=t.links,f=(t.configuration,t.duration),d=t.closing,p=(e.importConfiguration,Object(u.c)()),h=Ja.removeNotification;switch(r){case"shortcut":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--shortcut".concat(d?" closing":""),"data-duration":f},o.a.createElement(Da.b,{name:s}),a&&o.a.createElement("h4",{className:"notification__title"},a)));default:return o.a.createElement("div",{className:"notification__wrapper",key:n},o.a.createElement("div",{className:"notification notification--".concat(i).concat(d?" closing":""),"data-key":n,"data-duration":f},o.a.createElement(Da.b,{name:"close",className:"notification__close-button",onClick:function(){return p(h(n,!0))}}),a&&o.a.createElement("h4",{className:"notification__title"},a),s&&o.a.createElement("div",{className:"notification__content"},s),c&&o.a.createElement("div",{className:"notification__description"},c),l&&o.a.createElement("div",{className:"notification__actions"},l.map((function(e,t){return o.a.createElement(Wa.b,{type:"secondary",className:"notification__actions__item",href:e.url,target:e.new_window?"_blank":"self",key:t,tracking:{category:"NotificationLink",action:"Click",label:e.text}},e.text)})))))}},Lo=function(){var e=Object(u.d)((function(e){return e.ui.notifications})),t=Object(X.d)(e),n=Object(u.c)(),r=function(e,t){t.ui&&n(Ja.set(t.ui)),t.spotify&&n(vo.importAuthorization(t.spotify.authorization,t.spotify.me)),t.snapcast&&(n(Do.set(t.snapcast)),setTimeout((function(){return n(Do.connect())}),100)),t.lastfm&&n(yo.importAuthorization(t.lastfm.authorization,t.lastfm.me)),t.genius&&n(No.importAuthorization(t.genius.authorization,t.genius.me)),n(Ja.removeNotification(e,!0)),n(Ja.createNotification({content:Object(Ye.b)("modal.shared_config.imported")}))};return t&&t.length?o.a.createElement(Io.a,null,t.map((function(e){return o.a.createElement(Ro,{key:"".concat(e.key,"_").concat(e.status),item:e,importConfiguration:r})}))):null},Mo=function(e){var t=e.item,n=t.total,r=t.remaining,i=t.level,a=void 0===i?"info":i,s=t.content,c=t.description,u=t.status,l=t.closing,f=e.cancelProcess,d=e.closeProcess,p=0;switch(n&&r&&(p=((n-r)/n).toFixed(4)),u){case"running":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--".concat(a," notification--process").concat(l?" closing":"")},o.a.createElement(bo,{progress:p,loading:!0,mini:!0,white:!0}),s&&""!==s&&o.a.createElement("div",{className:"notification__content"},s),c&&""!==c&&o.a.createElement("div",{className:"notification__description"},c),o.a.createElement(Da.b,{name:"close",className:"notification__close-button",onClick:f})));case"finished":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--".concat(a," notification--process").concat(l?" closing":"")},o.a.createElement(Da.b,{className:"notification__icon",name:"error"===a?"close":"check"}),s&&""!==s&&o.a.createElement("div",{className:"notification__content"},s),c&&""!==c&&o.a.createElement("div",{className:"notification__description"},c),o.a.createElement(Da.b,{name:"close",className:"notification__close-button",onClick:d})));case"cancelling":return o.a.createElement("div",{className:"notification__wrapper"},o.a.createElement("div",{className:"notification notification--".concat(a," notification--process cancelling").concat(l?" closing":"")},o.a.createElement(bo,{progress:p,loading:!0,mini:!0,white:!0}),s&&""!==s&&o.a.createElement("div",{className:"notification__content"},s),c&&""!==c&&o.a.createElement("div",{className:"notification__description"},c),o.a.createElement(Da.b,{name:"close",className:"notification__close-button"})));default:return null}},Uo=function(){var e=Object(u.c)(),t=Object(u.d)((function(e){return e.ui.processes})),n=Object(X.d)(t).filter((function(e){return e.notification&&"cancelled"!==e.status&&"completed"!==e.status}));if(!n||!n.length)return null;var r=Ja.cancelProcess,i=Ja.closeProcess;return o.a.createElement(o.a.Fragment,null,n.map((function(t){return o.a.createElement(Mo,{key:"".concat(t.key,"_").concat(t.status),item:t,closeProcess:function(){return e(i(t.key))},cancelProcess:function(){return e(r(t.key))}})})))},Fo=function(){return o.a.createElement("div",{className:"notifications"},o.a.createElement(Lo,null),o.a.createElement(Uo,null))},zo=function(){var e=Object(u.d)((function(e){return e.ui.slim_mode})),t=Object(u.c)();return window.addEventListener("resize",(function(){Math.max(document.documentElement.clientWidth,window.innerWidth||0)<=800?e||t(Object(Ja.setSlimMode)(!0)):e&&t(Object(Ja.setSlimMode)(!1))}),!1),null},Bo=n(289);var Ho=function(){var e,t,n="".concat((new Date).getTime());try{return(e=window.localStorage).setItem(n,n),t=e.getItem(n)===n,e.removeItem(n),t&&e}catch(e){return!1}}(),qo=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Ho){var n=Ho.getItem(e);return n?JSON.parse(n):t}return console.warn("localStorage not available. Using default value for '".concat(e,"'.")),t},Vo=function(e){var t=new Image;return t.src=e,t.complete};function Yo(e){return(Yo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Go(e,t){for(var n=0;n0?o.a.createElement("div",{className:"debug-info-item"},n.map((function(e,t){return o.a.createElement("div",{key:"".concat(e,"_").concat(t)},e)}))):o.a.createElement("div",{className:"debug-info-item mid_grey-text"},"Nothing loading")})),$o(Xo(t),"render",(function(){var e=t.localStorageSize(),n=t.props,r=n.items,i=void 0===r?{}:r,a=n.notifications,s=void 0===a?{}:a,c=n.processes,u=void 0===c?{}:c,l=n.slim_mode,f=n.test_mode,d=n.selected_tracks,p=void 0===d?[]:d,h=n.enqueue_uris_batches,m=void 0===h?[]:h;return o.a.createElement("div",{className:"debug-info"},o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("div",{className:"debug-info-item"},"Version: ".concat(version)),o.a.createElement("div",{className:"debug-info-item"},"Build: ".concat(build)),o.a.createElement("div",{className:"debug-info-item"},"Dimensions: ","".concat(document.documentElement.clientWidth," (").concat(window.innerWidth,")w "),"".concat(document.documentElement.clientHeight," (").concat(window.innerHeight,")h ")),o.a.createElement("div",{className:"debug-info-item"},"Pixel ratio: ".concat(window.devicePixelRatio))),o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("h5",null,"State"),o.a.createElement("div",{className:"debug-info-item"},"Items: ".concat(Object.keys(i).length)),o.a.createElement("div",{className:"debug-info-item"},"Coldstore items: ".concat(t.state.localForageLength)),o.a.createElement("div",{className:"debug-info-item"},"Notifications: ".concat(Object.keys(s).length)),o.a.createElement("div",{className:"debug-info-item"},"Processes: ".concat(Object.keys(u).length)),o.a.createElement("div",{className:"debug-info-item"},"Enqueue batches: ".concat(m.length)),o.a.createElement("div",{className:"debug-info-item"},"Cached URLs: ".concat(Object.keys(qo("cache")).length))),o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("h5",null,"Config"),o.a.createElement("div",{className:"debug-info-item"},"Slim mode: ".concat(l?"on":"off")),o.a.createElement("div",{className:"debug-info-item"},"Test mode: ".concat(f?"on":"off")),o.a.createElement("div",{className:"debug-info-item"},"Touch: ".concat(Object(Q.g)()?"on":"off")),o.a.createElement("div",{className:"debug-info-item"},"LocalStorage usage: ".concat(e.used,"kb (~").concat(e.percent,"%)")),o.a.createElement("div",{className:"debug-info-item"},"Selected tracks: ".concat(p.length),o.a.createElement("br",null),p.map((function(e,t){return o.a.createElement("div",{key:"".concat(e,"_").concat(t)},e)})))),o.a.createElement("div",{className:"debug-info-section"},o.a.createElement("h5",null,"Load queue"),t.renderLoadQueue()))})),t.state={localForageLength:0},t}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this;Y.a.length().then((function(t){return e.setState({localForageLength:t})}))}},{key:"localStorageSize",value:function(){var e="";for(var t in window.localStorage)window.localStorage.hasOwnProperty(t)&&(e+=window.localStorage[t]);var n=0;return""!==e&&(n=(16*e.length/8192).toFixed(2)),{used:n,percent:(n/5e3*100).toFixed(2)}}}])&&Go(t.prototype,n),r&&Go(t,r),a}(o.a.Component),es=Object(u.b)((function(e){var t=e.core.items,n=e.ui,r=n.notifications,i=n.processes,a=n.slim_mode,o=n.test_mode,s=n.selected_tracks,c=n.load_queue;return{items:t,notifications:r,processes:i,slim_mode:a,test_mode:o,selected_tracks:s,enqueue_uris_batches:e.mopidy.enqueue_uris_batches,load_queue:c}}),(function(e){return{uiActions:Object(w.b)(Ja,e)}}))(Zo),ts=n(51);function ns(e){return(ns="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rs(e){return function(e){if(Array.isArray(e))return ys(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||bs(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function is(e,t,n){return(is="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ls(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function as(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&os(e,t)}function os(e,t){return(os=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ss(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ls(e);if(t){var i=ls(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return cs(this,n)}}function cs(e,t){return!t||"object"!==ns(t)&&"function"!=typeof t?us(e):t}function us(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ls(e){return(ls=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function fs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ds(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function bs(e,t){if(e){if("string"==typeof e)return ys(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ys(e,t):void 0}}function ys(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:-1,r=new Date;n<0&&(n=3650),r.setTime(r.getTime()+24*n*60*60*1e3);var i="expires="+r.toUTCString();document.cookie=e+"="+t+";"+i+";sameSite=Strict;path=/"}var _s=function(){function e(t,n){fs(this,e),hs(this,"sec",0),hs(this,"usec",0),this.sec=t,this.usec=n}return ps(e,[{key:"setMilliseconds",value:function(e){this.sec=Math.floor(e/1e3),this.usec=Math.floor(1e3*e)%1e6}},{key:"getMilliseconds",value:function(){return 1e3*this.sec+this.usec/1e3}}]),e}(),ws=function(){function e(t){fs(this,e),hs(this,"type",0),hs(this,"id",0),hs(this,"refersTo",0),hs(this,"received",new _s(0,0)),hs(this,"sent",new _s(0,0)),hs(this,"size",0)}return ps(e,[{key:"deserialize",value:function(e){var t=new DataView(e);this.type=t.getUint16(0,!0),this.id=t.getUint16(2,!0),this.refersTo=t.getUint16(4,!0),this.received=new _s(t.getInt32(6,!0),t.getInt32(10,!0)),this.sent=new _s(t.getInt32(14,!0),t.getInt32(18,!0)),this.size=t.getUint32(22,!0)}},{key:"serialize",value:function(){this.size=26+this.getSize();var e=new ArrayBuffer(this.size),t=new DataView(e);return t.setUint16(0,this.type,!0),t.setUint16(2,this.id,!0),t.setUint16(4,this.refersTo,!0),t.setInt32(6,this.sent.sec,!0),t.setInt32(10,this.sent.usec,!0),t.setInt32(14,this.received.sec,!0),t.setInt32(18,this.received.usec,!0),t.setUint32(22,this.size,!0),e}},{key:"getSize",value:function(){return 0}}]),e}(),Es=function(e){as(n,e);var t=ss(n);function n(e){var r;return fs(this,n),hs(us(r=t.call(this,e)),"codec",""),hs(us(r),"payload",void 0),r.payload=new ArrayBuffer(0),e&&r.deserialize(e),r.type=1,r}return ps(n,[{key:"deserialize",value:function(e){is(ls(n.prototype),"deserialize",this).call(this,e);var t=new DataView(e),r=t.getInt32(26,!0),i=new TextDecoder("utf-8");this.codec=i.decode(e.slice(30,30+r));var a=t.getInt32(30+r,!0);this.payload=e.slice(34+r,34+r+a)}}]),n}(ws),ks=function(e){as(n,e);var t=ss(n);function n(e){var r;return fs(this,n),hs(us(r=t.call(this,e)),"latency",new _s(0,0)),e&&r.deserialize(e),r.type=4,r}return ps(n,[{key:"deserialize",value:function(e){is(ls(n.prototype),"deserialize",this).call(this,e);var t=new DataView(e);this.latency=new _s(t.getInt32(26,!0),t.getInt32(30,!0))}},{key:"serialize",value:function(){var e=is(ls(n.prototype),"serialize",this).call(this),t=new DataView(e);return t.setInt32(26,this.latency.sec,!0),t.setInt32(30,this.latency.usec,!0),e}},{key:"getSize",value:function(){return 8}}]),n}(ws),Os=function(e){as(n,e);var t=ss(n);function n(e){var r;return fs(this,n),hs(us(r=t.call(this,e)),"json",void 0),e&&r.deserialize(e),r}return ps(n,[{key:"deserialize",value:function(e){is(ls(n.prototype),"deserialize",this).call(this,e);var t=new DataView(e).getUint32(26,!0),r=new TextDecoder;this.json=JSON.parse(r.decode(e.slice(30,30+t)))}},{key:"serialize",value:function(){var e=is(ls(n.prototype),"serialize",this).call(this),t=new DataView(e),r=JSON.stringify(this.json);t.setUint32(26,r.length,!0);for(var i=(new TextEncoder).encode(r),a=0;athis.payloadSize()/n&&(t=this.payloadSize()/n-this.idx);var r=this.idx*n;this.idx+=t;var i=r+t*n;return this.payload.slice(r,i)}},{key:"getFrameCount",value:function(){return this.payloadSize()/this.sampleFormat.frameSize()}},{key:"isEndOfChunk",value:function(){return this.idx>=this.getFrameCount()}},{key:"startMs",value:function(){return this.timestamp.getMilliseconds()+this.idx/this.sampleFormat.rate*1e3}},{key:"duration",value:function(){return(this.getFrameCount()-this.idx)/this.sampleFormat.rate*1e3}},{key:"payloadSize",value:function(){return this.payload.byteLength}},{key:"clearPayload",value:function(){this.payload=new ArrayBuffer(0)}},{key:"addPayload",value:function(e){for(var t=new ArrayBuffer(this.payload.byteLength+e.byteLength),n=new DataView(t),r=new DataView(this.payload),i=new DataView(e),a=0;a0;){if(!(this.timeProvider.serverNow()-this.chunks[0].timestamp.getMilliseconds()>5e3+this.bufferMs))break;this.chunks.shift()}}},{key:"getNextBuffer",value:function(e,t){this.chunk||(this.chunk=this.chunks.shift());var n=e.length,r=new Float32Array(n),i=new Float32Array(n),a=0,o=0,s=this.timeProvider.serverTime(t);if(this.chunk){var c=s-this.chunk.startMs(),u=n/this.sampleFormat.msRate(),l=Math.floor(Date.now()/1e3);if(this.lastLog!=l&&(this.lastLog=l),c<-u);else{if(Math.abs(c)>5){for(;this.chunk&&c>this.chunk.duration()&&(this.chunk=this.chunks.shift(),this.chunk);)c=s-this.chunk.startMs();if(this.chunk){if(c>0)this.chunk.readFrames(Math.floor(c*this.chunk.sampleFormat.msRate()));else if(c<0){var f=Math.floor(-c*this.chunk.sampleFormat.msRate());r.fill(0,0,f),i.fill(0,0,f),a=f,o=f}c=0}}var d=0,p=0;c>.1?d=Math.ceil(c):c<-.1&&(d=Math.floor(c));var h=n+d-a;for(0!=d&&(p=Math.ceil((n+d-a)/(Math.abs(d)+1)));a0?o--:(r[o+1]=r[o],i[o+1]=i[o],o++)),o++;m.isEndOfChunk()&&(this.chunk=this.chunks.shift())}0!=d&&a==h&&(a=n)}}a0&&void 0!==arguments[0]?arguments[0]:void 0;fs(this,e),hs(this,"diffBuffer",new Array),hs(this,"diff",0),hs(this,"ctx",void 0),t&&this.setAudioContext(t)}return ps(e,[{key:"setAudioContext",value:function(e){this.ctx=e,this.reset()}},{key:"reset",value:function(){this.diffBuffer.length=0,this.diff=0}},{key:"setDiff",value:function(e,t){if(0==this.now())this.reset();else{this.diffBuffer.push((e-t)/2)>100&&this.diffBuffer.shift();var n=rs(this.diffBuffer);n.sort(),this.diff=n[Math.floor(n.length/2)]}}},{key:"now",value:function(){if(this.ctx){var e=this.ctx.getOutputTimestamp?this.ctx.getOutputTimestamp().contextTime:void 0;return 1e3*(void 0!==e?e:this.ctx.currentTime)}return window.performance.now()}},{key:"nowSec",value:function(){return this.now()/1e3}},{key:"serverNow",value:function(){return this.serverTime(this.now())}},{key:"serverTime",value:function(e){return e+this.diff}}]),e}(),Cs=function(){function e(){fs(this,e),hs(this,"rate",48e3),hs(this,"channels",2),hs(this,"bits",16)}return ps(e,[{key:"msRate",value:function(){return this.rate/1e3}},{key:"toString",value:function(){return this.rate+":"+this.bits+":"+this.channels}},{key:"sampleSize",value:function(){return 24==this.bits?4:this.bits/8}},{key:"frameSize",value:function(){return this.channels*this.sampleSize()}},{key:"durationMs",value:function(e){return e/this.frameSize()*this.msRate()}}]),e}(),Ps=function(){function e(){fs(this,e)}return ps(e,[{key:"setHeader",value:function(e){return new Cs}},{key:"decode",value:function(e){return null}}]),e}(),Ns=function(e){as(n,e);var t=ss(n);function n(){return fs(this,n),t.apply(this,arguments)}return ps(n,[{key:"setHeader",value:function(e){var t=new DataView(e);if(e.byteLength<12)return null;if(1330664787!=t.getUint32(0,!0))return null;var n=new Cs;return n.rate=t.getUint32(4,!0),n.bits=t.getUint16(8,!0),n.channels=t.getUint16(10,!0),n}},{key:"decode",value:function(e){return null}}]),n}(Ps),Ds=function(e){as(n,e);var t=ss(n);function n(){var e;if(fs(this,n),hs(us(e=t.call(this)),"sampleFormat",void 0),hs(us(e),"decoder",void 0),hs(us(e),"header",null),hs(us(e),"flacChunk",void 0),hs(us(e),"pcmChunk",void 0),hs(us(e),"cacheInfo",{isCachedChunk:!1,cachedBlocks:0}),e.decoder=vs.create_libflac_decoder(!0),e.decoder){vs.init_decoder_stream(e.decoder,e.read_callback_fn.bind(us(e)),e.write_callback_fn.bind(us(e)),e.error_callback_fn.bind(us(e)),e.metadata_callback_fn.bind(us(e)),!1);vs.setOptions(e.decoder,{analyseSubframes:!0,analyseResiduals:!0})}return e.sampleFormat=new Cs,e.flacChunk=new ArrayBuffer(0),e}return ps(n,[{key:"decode",value:function(e){for(this.flacChunk=e.payload.slice(0),this.pcmChunk=e,this.pcmChunk.clearPayload(),this.cacheInfo={cachedBlocks:0,isCachedChunk:!0};this.flacChunk.byteLength&&vs.FLAC__stream_decoder_process_single(this.decoder);)vs.FLAC__stream_decoder_get_state(this.decoder);if(this.cacheInfo.cachedBlocks>0){var t=this.cacheInfo.cachedBlocks/this.sampleFormat.msRate();this.pcmChunk.timestamp.setMilliseconds(this.pcmChunk.timestamp.getMilliseconds()-t)}return this.pcmChunk}},{key:"read_callback_fn",value:function(e){if(this.header){var t=new Uint8Array(this.header);return this.header=null,{buffer:t,readDataLength:t.byteLength,error:!1}}if(this.flacChunk){this.cacheInfo.isCachedChunk=!1;var n=new Uint8Array(this.flacChunk.slice(0,Math.min(e,this.flacChunk.byteLength)));return this.flacChunk=this.flacChunk.slice(n.byteLength),{buffer:n,readDataLength:n.byteLength,error:!1}}return{buffer:new Uint8Array(0),readDataLength:0,error:!1}}},{key:"write_callback_fn",value:function(e,t){this.cacheInfo.isCachedChunk&&(this.cacheInfo.cachedBlocks+=t.blocksize);for(var n=new ArrayBuffer(t.bitsPerSample/8*t.channels*t.blocksize),r=new DataView(n),i=0;i1&&void 0!==arguments[1]?arguments[1]:"";if(window.localStorage){var n=window.localStorage.getItem(e);return null!==n?n:(window.localStorage.setItem(e,t),t)}var r,i=e+"=",a=decodeURIComponent(document.cookie),o=a.split(";"),s=ms(o);try{for(s.s();!(r=s.n()).done;){var c=r.value;if(0==(c=c.trimLeft()).indexOf(i))return c.substring(i.length,c.length)}}catch(e){s.e(e)}finally{s.f()}return gs(e,t),t}("uniqueId","xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))),e.sendMessage(t),e.syncTime(),e.syncHandle=window.setInterval((function(){return e.syncTime()}),1e3)},this.streamsocket.onerror=function(e){console.error("error:",e)},this.streamsocket.onclose=function(){window.clearInterval(e.syncHandle),setTimeout((function(){return e.connect()}),1e3)}}},{key:"onMessage",value:function(e){var t=new DataView(e.data).getUint16(0,!0);if(1==t){var n=new Es(e.data);"flac"==n.codec?this.decoder=new Ds:"pcm"==n.codec?this.decoder=new Rs:"opus"==n.codec?(this.decoder=new Ns,alert("Codec not supported: "+n.codec)):alert("Codec not supported: "+n.codec),this.decoder&&(this.sampleFormat=this.decoder.setHeader(n.payload),2!=this.sampleFormat.channels||16!=this.sampleFormat.bits?alert("Stream must be stereo with 16 bit depth, actual format: "+this.sampleFormat.toString()):(0!=this.bufferDurationMs&&(this.bufferFrameCount=Math.floor(this.bufferDurationMs*this.sampleFormat.msRate())),window.AudioContext&&(this.stopAudio(),this.setupAudioContext()),this.ctx.resume(),this.timeProvider.setAudioContext(this.ctx),this.gainNode.gain.value=this.serverSettings.muted?0:this.serverSettings.volumePercent/100,this.stream=new xs(this.timeProvider,this.sampleFormat,this.bufferMs),this.latency=(void 0!==this.ctx.baseLatency?this.ctx.baseLatency:0)+(void 0!==this.ctx.outputLatency?this.ctx.outputLatency:0),this.play()))}else if(2==t){var r=new js(e.data,this.sampleFormat);if(this.decoder){var i=this.decoder.decode(r);i&&this.stream.addChunk(i)}}else if(3==t)this.serverSettings=new As(e.data),this.gainNode.gain.value=this.serverSettings.muted?0:this.serverSettings.volumePercent/100,this.bufferMs=this.serverSettings.bufferMs-this.serverSettings.latency;else if(4==t&&this.timeProvider){var a=new ks(e.data);this.timeProvider.setDiff(a.latency.getMilliseconds(),this.timeProvider.now()-a.sent.getMilliseconds())}}},{key:"sendMessage",value:function(e){e.sent=new _s(0,0),e.sent.setMilliseconds(this.timeProvider.now()),e.id=++this.msgId,this.streamsocket.readyState==this.streamsocket.OPEN&&this.streamsocket.send(e.serialize())}},{key:"syncTime",value:function(){var e=new ks;e.latency.setMilliseconds(this.timeProvider.now()),this.sendMessage(e)}},{key:"stopAudio",value:function(){for(this.ctx.suspend();this.audioBuffers.length>0;){var e=this.audioBuffers.pop();e.onended=function(){},e.source.stop()}for(;this.freeBuffers.length>0;)this.freeBuffers.pop()}},{key:"stop",value:function(){window.clearInterval(this.syncHandle),this.stopAudio(),[WebSocket.OPEN,WebSocket.CONNECTING].includes(this.streamsocket.readyState)&&(this.streamsocket.onclose=function(){},this.streamsocket.close())}},{key:"play",value:function(){this.playTime=this.timeProvider.nowSec()+.1;for(var e=1;e<=this.audioBufferCount;++e)this.playNext()}},{key:"playNext",value:function(){var e=this,t=this.freeBuffers.pop()||this.ctx.createBuffer(this.sampleFormat.channels,this.bufferFrameCount,this.sampleFormat.rate),n=1e3*(this.playTime+this.latency)-this.bufferMs;this.stream.getNextBuffer(t,n);var r=this.ctx.createBufferSource(),i=new Is(t,this.playTime,r,this.gainNode);this.audioBuffers.push(i),i.num=++this.bufferNum,i.onended=function(t){e.freeBuffers.push(e.audioBuffers.splice(e.audioBuffers.indexOf(t),1)[0].buffer),e.playNext()},i.start(),this.playTime+=this.bufferFrameCount/this.sampleFormat.rate}}]),e}();function Ms(e){return(Ms="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Us(e,t){return(Us=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Hs(e);if(t){var i=Hs(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return zs(this,n)}}function zs(e,t){return!t||"object"!==Ms(t)&&"function"!=typeof t?Bs(e):t}function Bs(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hs(e){return(Hs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Vs=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Us(e,t)}(n,e);var t=Fs(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),qs(Bs(r=t.call(this,e)),"start",(function(){var e=r.props,t=e.host,n=e.port,i=e.ssl;if(r.snapstream)r.snapstream.play();else{var a="".concat(i?"wss":"ws","://").concat(t,":").concat(n);r.snapstream=new Ls(a)}})),qs(Bs(r),"stop",(function(){r.snapstream&&(r.snapstream.stop(),r.snapstream=null)})),qs(Bs(r),"componentDidUpdate",(function(e){var t=e.streaming_enabled,n=r.props,i=n.enabled,a=n.streaming_enabled;!t&&i&&a&&r.start(),i&&a||r.stop()})),qs(Bs(r),"render",(function(){return null})),e.enabled&&e.streaming_enabled&&r.start(),r}return n}(o.a.Component),Ys=Object(u.b)((function(e){var t=e.snapcast;return{enabled:t.enabled,streaming_enabled:t.streaming_enabled,host:t.host,port:t.port,ssl:t.ssl,username:e.pusher.username}}),(function(e){return{coreActions:Object(w.b)(Ve,e)}}))(Vs),Gs=n(150),Ws=n.n(Gs),Ks=n(46),Qs=Object(u.b)((function(e){return{loading:Object(St.g)(["(.*)(follow)|(me/albums)(.*)"])(e),spotify_authorized:e.spotify.authorization}}),(function(e){return{uiActions:Object(w.b)(Ja,e),spotifyActions:Object(w.b)(vo,e)}}))((function(e){var t=e.spotifyActions.following,n=e.uiActions.createNotification,r=e.uri,i=e.addText,a=e.removeText,s=e.spotify_authorized,c=e.is_following,u=e.loading;return r?s?!0===c?o.a.createElement(Wa.a,{type:"destructive",working:u,onClick:function(){return t(r,"DELETE")},tracking:{category:"FollowButton",action:"Remove"}},a||Object(Ye.b)("actions.remove_from_library")):o.a.createElement(Wa.a,{onClick:function(){return t(r,"PUT")},working:u,tracking:{category:"FollowButton",action:"Add"}},i||Object(Ye.b)("actions.add_to_library")):o.a.createElement(Wa.a,{disabled:!0,working:u,onClick:function(){return n({content:Object(Ye.b)("errors.authorization_required",{provider:Object(Ye.b)("services.spotify.title")}),level:"warning"})},tracking:{category:"FollowButton",action:"Add (disabled)"}},i||Object(Ye.b)("actions.add_to_library")):null})),Xs=function(e){var t=parseInt(e,10);return t>1e6?(t/=1e6,t=Math.round(10*t)/10,t="".concat(t,"m")):t>1e3?(t/=1e3,t=Math.round(10*t)/10,t="".concat(t,"k")):t=t.toLocaleString(),t},Js=n(44),$s=n(24);function Zs(e){return(Zs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ec(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?o.a.createElement("li",null,o.a.createElement(ao.a,{items:m.artists,type:"artist"})):null,m.release_date?o.a.createElement("li",null,o.a.createElement(io.a,{type:"date",data:m.release_date})):null,m.tracks?o.a.createElement("li",null,Object(Ye.b)("specs.tracks",{count:m.tracks.length})):null,!_&&m.tracks?o.a.createElement("li",null,o.a.createElement(io.a,{type:"total-time",data:m.tracks})):null,!_&&m.play_count?o.a.createElement("li",null,Object(Ye.b)("specs.plays",{count:Xs(m.play_count)})):null,!_&&m.listeners?o.a.createElement("li",null,Object(Ye.b)("specs.listeners",{count:Xs(m.listeners)})):null)),o.a.createElement("div",{className:"actions"},o.a.createElement(Wa.b,{type:"primary",onClick:function(){l(n({uris:[p],from:{uri:p,name:null==m?void 0:m.name,type:"album"}}))},tracking:{category:"Album",action:"Play"}},o.a.createElement(Ye.a,{path:"actions.play"})),"spotify"===Object(Q.p)(p)&&o.a.createElement(Qs,{uri:p,is_following:m.in_library}),o.a.createElement(Js.a,{onTrigger:function(e){return l(s({e:e,item:m,type:"album"}))}})),o.a.createElement("section",{className:"list-wrapper"},o.a.createElement("h4",{className:"no-bottom-margin"},o.a.createElement(Ye.a,{path:"album.tracks.title"}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(sc,{initialValue:E,handleChange:k,onSubmit:c}),o.a.createElement($s.a,{icon:"swap_vert",name:"Sort",value:v,valueAsLabel:!0,options:S,selected_icon:v?g?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(e){var t=!1;null!==e&&v===e&&(t=!g),l(r("album_tracks",e,t)),l(c())}}))),o.a.createElement(Ks.a,{context:Object(ge.l)(uc(uc({},m),{},{can_drag:!0})),className:"album-track-list",tracks:O})),m.wiki?o.a.createElement("section",{className:"wiki"},o.a.createElement("h4",{className:"wiki__title"},Object(Ye.b)("album.wiki.title")),o.a.createElement("div",{className:"wiki__text"},o.a.createElement("p",{dangerouslySetInnerHTML:{__html:Ws()(m.wiki)}}),o.a.createElement("br",null),o.a.createElement("div",{className:"mid_grey-text"},o.a.createElement(Ye.a,{path:"album.wiki.published",date:m.wiki_publish_date})))):null)},hc=n(149);function mc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bc(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?"70":"100")},v&&o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.overview.top_tracks"})),o.a.createElement("div",{className:"list-wrapper"},o.a.createElement(Ks.a,{context:Object(ge.l)(t),className:"artist-track-list",uri:y,tracks:v?v.slice(0,10):[]}))),o.a.createElement("div",{className:"col col--w5"}),g&&g.length>0&&o.a.createElement("div",{className:"col col--w25 related-artists"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.overview.related_artists.title"})),o.a.createElement("div",{className:"list-wrapper"},o.a.createElement(_c,{artists:g.slice(0,6)})),o.a.createElement(Wa.b,{to:"/artist/".concat(Object(ge.d)(y),"/related-artists"),scrollTo:"#sub-views-menu"},o.a.createElement(Ye.a,{path:"artist.overview.related_artists.more"}))),o.a.createElement("div",{className:"cf"}),o.a.createElement("div",{className:"albums"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.overview.albums",count:_?_.length:0}),w&&o.a.createElement(bo,{loading:!0,mini:!0}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(sc,{initialValue:s,handleChange:c,onSubmit:function(){r(Object(Ja.hideContextMenu)())}}),o.a.createElement($s.a,{icon:"swap_vert",name:"Sort",value:m,valueAsLabel:!0,options:E,selected_icon:m?b?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(e){var t=!1;null!==e&&m===e&&(t=!b),r(Object(Ja.setSort)("artist_albums",e,t)),r(Object(Ja.hideContextMenu)())}}),o.a.createElement($s.a,{icon:"filter_list",name:"Filter",value:f,valueAsLabel:!0,options:k,handleChange:d}))),o.a.createElement("section",{className:"grid-wrapper no-top-padding"},o.a.createElement(gc.a,{items:_}))))};function Oc(e){return function(e){if(Array.isArray(e))return jc(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Ac(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Sc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Ac(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ac(e,t){if(e){if("string"==typeof e)return jc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jc(e,t):void 0}}function jc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n10&&o.a.createElement(Na.a,{exact:!0,history:e,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/".concat(Object(ge.d)(r),"/tracks"),scrollTo:"#sub-views-menu"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.tracks.title"}))),s.related_artists&&o.a.createElement(Na.a,{exact:!0,history:e,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/".concat(Object(ge.d)(r),"/related-artists"),scrollTo:"#sub-views-menu"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.related_artists.title"}))),o.a.createElement(Na.a,{exact:!0,history:e,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/".concat(Object(ge.d)(r),"/about"),scrollTo:"#sub-views-menu"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"artist.about.title"})))))),o.a.createElement("div",{className:"content-wrapper"},o.a.createElement(f.c,null,o.a.createElement(f.a,{exact:!0,path:"/artist/:id/related-artists"},o.a.createElement(Tc,{artist:s})),o.a.createElement(f.a,{exact:!0,path:"/artist/:id/tracks"},o.a.createElement(xc,{artist:s})),o.a.createElement(f.a,{exact:!0,path:"/artist/:id/about"},o.a.createElement(vc,{artist:s})),o.a.createElement(f.a,{exact:!0,path:"/artist/:id/:name?"},o.a.createElement(kc,{artist:s,albums:l})))))};function Pc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nc(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&o.a.createElement("li",null,o.a.createElement(io.a,{type:"total-time",data:C.tracks})),!t&&void 0!==C.followers&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.followers",count:Xs(C.followers)})),!t&&C.last_modified_date&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.edited",date:Object(io.b)("ago",C.last_modified_date)})))),o.a.createElement(Lc,{encodedUri:g,playlist:C,onPlay:function(){return b({uri:w})},handleContextMenu:function(e){return p({e:e,item:C,type:"playlist"})}}),o.a.createElement("h4",{className:"no-bottom-margin"},o.a.createElement(Ye.a,{path:"playlist.tracks.title"}),N&&o.a.createElement(bo,{loading:!0,mini:!0}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(sc,{initialValue:k,handleChange:O,onSubmit:h}),o.a.createElement($s.a,{icon:"swap_vert",name:"Sort",value:j,valueAsLabel:!0,options:R,selected_icon:j?x?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(e){var t=!1;null!==e&&j===e&&(t=!x),l("playlist_tracks",e,t),h()}}))),o.a.createElement("section",{className:"list-wrapper no-top-padding"},o.a.createElement(Ks.a,{context:Object(ge.l)(Nc(Nc({},C),{},{context:D})),className:"playlist-track-list",tracks:I,removeTracks:function(e){s(w,e)},reorderTracks:function(e,t){var n=C.snapshot_id,r=C.tracks;if("sort_id"===j&&""===k){if(x){var a=r.length-1;t=a-t+1,e=e.map((function(e){return a-e}))}i(w,e,t,n)}else m({content:Object(Ye.b)("errors.cannot_reorder.title"),description:Object(Ye.b)("errors.cannot_reorder.description"),level:"error"})}})))}));function Uc(e){return(Uc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fc(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zc(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:e.props.user,n=e.props.uiActions.setWindowTitle;n(t?Object(Ye.b)("user.title_window",{name:t.name}):Object(Ye.b)("user.title"))})),Gc(Vc(e),"loadMore",(function(){var t=e.props,n=t.uri,r=t.spotifyActions.getMore,i=t.user;r((i=void 0===i?{}:i).playlists_more,{parent_type:"user",parent_key:n,records_type:"playlist"})})),Gc(Vc(e),"isMe",(function(){var t=e.props,n=t.uri,r=t.me,i=(r=void 0===r?{}:r).id;return i&&i===Object(Q.b)("userid",n)})),Gc(Vc(e),"render",(function(){var t=e.props,n=t.uri,r=t.loading,i=t.user,a=t.playlists,s=t.slim_mode;if(r)return o.a.createElement(bo,{body:!0,loading:!0});if(!i)return o.a.createElement(ts.a,{type:"not-found",title:"Not found"},o.a.createElement("p",null,o.a.createElement(Ye.a,{path:"errors.uri_not_found",uri:n})));var c=i.images?i.images.huge:null;return o.a.createElement("div",{className:"view user-view preserve-3d"},o.a.createElement("div",{className:"intro preserve-3d"},o.a.createElement(yc,{image:c,blur:!0}),o.a.createElement("div",{className:"liner"},o.a.createElement("div",{className:"heading"},o.a.createElement("div",{className:"heading__thumbnail"},o.a.createElement(oo.a,{size:"medium",circle:!0,canZoom:!0,image:c,type:"user"})),o.a.createElement("div",{className:"heading__content"},o.a.createElement("h1",null,i.name),o.a.createElement("div",{className:"heading__content__details"},o.a.createElement("div",{className:"actions"},o.a.createElement(Qs,{className:"primary",uri:i.uri}),o.a.createElement(Js.a,{onTrigger:e.handleContextMenu})),o.a.createElement("h2",null,o.a.createElement("ul",{className:"details details--one-line"},!s&&o.a.createElement("li",{className:"source"},o.a.createElement(Da.a,{uri:i.uri})),a&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.playlists",count:Xs(a.length)})),i.followers&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.followers",count:Xs(i.followers)})),e.isMe()&&o.a.createElement("li",null,o.a.createElement("span",{className:"blue-text"},o.a.createElement(Ye.a,{path:"user.you"})))))))))),o.a.createElement("div",{className:"content-wrapper"},o.a.createElement("section",{className:"grid-wrapper"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"playlist.title_plural"})),o.a.createElement(gc.a,{items:a}))))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uri,n=e.coreActions.loadUser;this.setWindowTitle(),n(t,{full:!0})}}])&&zc(t.prototype,n),r&&zc(t,r),a}(o.a.Component),Kc=Object(u.b)((function(e,t){var n=Object(ge.b)(t.match.params.uri),r=Object(St.g)(["(.*)".concat(n,"(.*)")]),i=Object(St.e)(n)(e),a=null;i&&i.playlists_uris&&(a=Object(St.e)(i.playlists_uris)(e));return{uri:n,me:e.spotify.me,spotify_authorized:e.spotify.authorization,user:i,playlists:a,loading:r(e)}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),spotifyActions:Object(w.b)(vo,e)}}))(Wc),Qc=n(25),Xc=Object(u.b)((function(e){return{loading:Object(St.g)(["love","unlove"])(e),lastfm_authorized:e.lastfm.authorization}}),(function(e){return{uiActions:Object(w.b)(Ja,e),lastfmActions:Object(w.b)(yo,e)}}))((function(e){var t=e.uri,n=e.artist,r=e.track,i=e.addText,a=e.removeText,s=e.is_loved,c=e.lastfm_authorized,u=e.uiActions.createNotification,l=e.lastfmActions,f=l.unloveTrack,d=l.loveTrack,p=e.loading;return!!t&&(c?s&&"0"!==s?o.a.createElement(Wa.b,{type:"destructive",onClick:function(){return f(t,n,r)},working:p,tracking:{category:"Lastfm",action:"Unlove"}},a||Object(Ye.b)("services.lastfm.unlove")):o.a.createElement(Wa.b,{onClick:function(){return d(t,n,r)},working:p,tracking:{category:"Lastfm",action:"Love"}},i||Object(Ye.b)("services.lastfm.love")):o.a.createElement(Wa.b,{disabled:!0,onClick:function(){u({content:Object(Ye.b)("errors.authorization_required",{provider:Object(Ye.b)("services.lastfm.title")}),level:"warning"})},working:p,tracking:{category:"Lastfm",action:"Love",label:"Disabled"}},i||Object(Ye.b)("services.lastfm.love")))})),Jc=function(e){var t=e.onChange,n=e.value,r=e.options;return o.a.createElement("div",{className:"select-field"},o.a.createElement("select",{onChange:function(e){return t(e.target.value)},value:n},r.map((function(e){return o.a.createElement("option",{value:e.value,key:e.key||e.value},e.label)}))),o.a.createElement(Da.b,{name:"arrow_drop_down",className:"select-field__icon"}))};function $c(e){return($c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zc(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eu(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:e.props.track,n=e.props.uiActions.setWindowTitle;if(t){var r="";if(r)for(var i=0;i0&&o.a.createElement(Ye.a,{path:"track.disc_number",number:i.disc_number}),i.disc_number>0&&i.track_number>0&&o.a.createElement("span",null,", "),i.track_number&&o.a.createElement(Ye.a,{path:"track.track_number",number:i.track_number})),i.duration&&o.a.createElement("li",null,o.a.createElement(io.a,{type:"length",data:i.duration})),i.popularity&&o.a.createElement("li",null,o.a.createElement(Ye.a,{path:"specs.popularity",percent:i.popularity})))),o.a.createElement("div",{className:"actions"},o.a.createElement(Wa.b,{type:"primary",onClick:e.play,tracking:{category:"Track",action:"Play"}},o.a.createElement(Ye.a,{path:"actions.play"})),o.a.createElement(Xc,{uri:r,artist:i.artists?i.artists[0].name:null,track:i.name,is_loved:i.userloved}),o.a.createElement(Js.a,{onTrigger:e.handleContextMenu})),o.a.createElement(uu,{loading:f,authorized:u,getTrackLyrics:l,track:i})):a?o.a.createElement(bo,{body:!0,loading:!0}):o.a.createElement(ts.a,{type:"not-found",title:"Not found"},o.a.createElement("p",null,Object(Ye.b)("errors.uri_not_found",{uri:r})))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uri,n=e.track;(0,e.coreActions.loadTrack)(t,{full:!0,lyrics:!0}),n&&this.setWindowTitle(n)}}])&&eu(t.prototype,n),r&&eu(t,r),a}(o.a.Component),fu=Object(u.b)((function(e,t){var n=Object(ge.b)(t.match.params.uri),r=Object(St.g)(["(.*)".concat(n,"(.*)"),"^((?!genius).)*$","^((?!contains).)*$"]),i=Object(St.g)(["^genius_(.*)lyrics_".concat(n,"$")]),a=Object(St.e)(n);return{uri:n,slim_mode:e.ui.slim_mode,loading:r(e),loadingLyrics:i(e),track:a(e),spotify_library_albums:e.spotify.library_albums,local_library_albums:e.mopidy.library_albums,lastfm_authorized:e.lastfm.authorization,spotify_authorized:e.spotify.authorization,genius_authorized:e.genius.authorization}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),lastfmActions:Object(w.b)(yo,e),spotifyActions:Object(w.b)(vo,e),geniusActions:Object(w.b)(No,e)}}))(lu);function du(e){return(du="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pu(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hu(e,t){for(var n=0;n0&&o.a.createElement("span",null,", "),o.a.createElement(ju,{item:e}))})),"radio"===(null==t?void 0:t.type)&&o.a.createElement("span",{className:"flag flag--blue"},o.a.createElement(Ye.a,{path:"now_playing.current_track.radio"}))))},Tu=Object(u.b)((function(e){var t=e.core,n=t.current_track,r=t.stream_title,i=t.items,a=t.queue,o=t.queue_metadata,s=[],c={};return a&&i&&a.forEach((function(e){var t=Ou(Ou({},e),{},{playing:n&&n.tlid===e.tlid});i[t.uri]&&(t=Ou(Ou({},i[t.uri]),t)),void 0!==o["tlid_".concat(t.tlid)]&&(t=Ou(Ou({},t),o["tlid_".concat(t.tlid)])),t.playing&&(c=t),s.push(t)})),{theme:e.ui.theme,spotify_enabled:e.spotify.enabled,radio:e.core.radio,radio_enabled:!(!e.core.radio||!e.core.radio.enabled),queue_tracks:s,current_track_uri:e.core.current_track_uri,current_track:c,added_from:c&&c.added_from?c.added_from:null,stream_title:r}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),pusherActions:Object(w.b)(Ga,e),spotifyActions:Object(w.b)(vo,e),mopidyActions:Object(w.b)(Fa,e)}}))((function(e){var t=e.queue_tracks,n=e.added_from,r=e.current_track,i=e.stream_title,s=e.theme,c=e.current_track_uri,u=e.spotify_enabled,l=e.uiActions,f=e.mopidyActions,d=f.removeTracks,p=f.changeTrack,h=f.reorderTracklist,m=f.clearTracklist,b=f.shuffleTracklist;Object(a.useEffect)((function(){return l.setWindowTitle(Object(Ye.b)("now_playing.title"))}),[]);var y=null;r&&c&&void 0!==r.images&&r.images&&(y=r.images.large);var v=o.a.createElement(o.a.Fragment,null,u&&o.a.createElement(Wa.b,{noHover:!0,discrete:!0,to:"/modal/radio"},o.a.createElement(Da.b,{name:"radio"}),o.a.createElement(Ye.a,{path:"now_playing.context_actions.radio"})),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,to:"/queue/history"},o.a.createElement(Da.b,{name:"history"}),o.a.createElement(Ye.a,{path:"now_playing.context_actions.history"})),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,to:"/modal/add-uri"},o.a.createElement(Da.b,{name:"playlist_add"}),o.a.createElement(Ye.a,{path:"actions.add"})));return o.a.createElement("div",{className:"view queue-view preserve-3d"},o.a.createElement(Qc.a,{options:v,uiActions:l},o.a.createElement(Da.b,{name:"play_arrow",type:"material"}),o.a.createElement(Ye.a,{path:"now_playing.title"})),"dark"===s&&o.a.createElement(yc,{image:y,blur:!0}),o.a.createElement("div",{className:"content-wrapper"},o.a.createElement("div",{className:"current-track"},o.a.createElement(Au,{image:y,album_uri:r&&r.album&&r.album.uri}),o.a.createElement("div",{className:"current-track__details"},o.a.createElement("div",{className:"current-track__title"},i&&o.a.createElement("span",null,i),!i&&r&&o.a.createElement(Le.a,{type:"track",uri:r.uri},r.name),!i&&!r&&o.a.createElement("span",null,"-")),o.a.createElement(ao.a,{className:"current-track__artists",items:r?r.artists:null}),n&&o.a.createElement(xu,{from:n}),o.a.createElement("div",{className:"current-track__queue-details"},o.a.createElement("ul",{className:"details"},o.a.createElement("li",null,"".concat(t.length," tracks")),o.a.createElement("li",null,o.a.createElement(io.a,{type:"total-time",data:t})),t.length>0&&o.a.createElement("li",null,o.a.createElement("a",{onClick:b},o.a.createElement(Da.b,{name:"shuffle"}),o.a.createElement(Ye.a,{path:"now_playing.current_track.shuffle"}))),t.length>0&&o.a.createElement("li",null,o.a.createElement("a",{onClick:m},o.a.createElement(Da.b,{name:"delete_sweep"}),o.a.createElement(Ye.a,{path:"now_playing.current_track.clear"}))))))),o.a.createElement("section",{className:"list-wrapper"},o.a.createElement(Ks.a,{context:{uri:"iris:queue",name:"Queue",type:"queue",can_edit:!0},show_source_icon:!0,className:"queue-track-list",tracks:t,removeTracks:function(e){for(var n=[],r=0;r0&&d(n)},playTracks:function(e){return p(e[0].tlid)},playTrack:function(e){return p(e.tlid)},reorderTracks:function(e,t){return h(e,t)}}))))}));function Cu(e){return(Cu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pu(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Nu(e,t){for(var n=0;n0&&o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Ks.a,{context:{uri:"iris:queue-history",name:"Queue history",type:"track",context:"history"},className:"queue-history-track-list",tracks:n,show_source_icon:!0})))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("queue_history.title")),this.loadHistory()}}])&&Nu(t.prototype,n),r&&Nu(t,r),a}(o.a.Component),zu=Object(u.b)((function(e){return{tracks:Object(St.l)(e)}}),(function(e){return{uiActions:Object(w.b)(Ja,e),pusherActions:Object(w.b)(Ga,e),spotifyActions:Object(w.b)(vo,e),mopidyActions:Object(w.b)(Fa,e)}}))(Fu);function Bu(e){return(Bu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hu(e,t){for(var n=0;n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function tl(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1?e[i]={uri:t}:r.push({uri:t})})),s([].concat(e,r))};return o.a.createElement(gl.ReactSortable,{options:{animation:150},className:"sources-priority-field",list:i,setList:s,onSort:function(){c(Object(Ja.set)({uri_schemes_priority:i.map((function(e){return e.uri}))}))}},i.map((function(e){var t=e.uri,n=Object(Q.m)(t.replace(":","").replace("+"," "));return o.a.createElement("span",{className:"source flag flag--grey",key:"uri_scheme_".concat(t)},o.a.createElement(Da.b,{name:"drag_indicator"}),n)})))};function kl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ol(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?(i>r&&(i=r),u>r/2&&(u=r/2)):((i=-i)<-r&&(i=-r),l=!0,(c=50-(s=Math.round(i/r*100/2)))<0&&(c=0),(u=s)>r/2&&(u=r/2)),o.a.createElement("span",{className:"latency-control"},o.a.createElement("div",{className:"slider__wrapper"},o.a.createElement("div",{className:"slider slider--latency"},o.a.createElement("input",{type:"range",min:-r,max:r,className:"slider__input",value:i,onChange:function(e){return a(parseInt(e.target.value,10))}}),o.a.createElement("div",{className:"zero"}),o.a.createElement("div",{className:"slider__track"},o.a.createElement("div",{className:"slider__track__progress slider__track__progress--".concat(l?"negative":"positive"),style:{width:"".concat(u,"%"),left:"".concat(c,"%")}})))),o.a.createElement(Tl.a,{className:"tiny",type:"number",onChange:a,value:String(i),autosave:!0}))};function af(e){return function(e){if(Array.isArray(e))return of(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return of(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return of(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function of(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var a={};for(var o in r)if(r.hasOwnProperty(o)&&r[o].enabled){var s=r[o],c=s.value.max,u=s.value.min;s.convert_to_decimal&&(c/=100,u/=100),a["".concat(o,"_max")]=c.toString(),a["".concat(o,"_min")]=u.toString()}i(n,50,a)}})),Gf(Vf(t),"playTracks",(function(){var e=t.props;(0,e.mopidyActions.playURIs)({uris:e.recommendations.tracks_uris,from:{uri:t.uri()}})})),Gf(Vf(t),"removeSeed",(function(e){var n=t.state.seeds;n.splice(e,1),t.setState({seeds:n})})),Gf(Vf(t),"handleSelect",(function(e,n){var r=t.state.seeds;r.push(n),t.setState({seeds:r})})),Gf(Vf(t),"renderSeeds",(function(){var e=t.props.items,n=t.state.seeds,r=[];if(n.length>0)for(var i=0;i0&&(i=e.images[0]):i=e.images),o.a.createElement("div",{className:"seed".concat(e.images?" has-thumbnail":""),key:e.uri},i&&o.a.createElement(Le.a,{className:"thumbnail-wrapper",type:r,uri:e.uri},o.a.createElement(oo.a,{images:i,circle:"artist"===e.type,size:"small"})),o.a.createElement("div",{className:"seed__details"},o.a.createElement("div",{className:"seed__label"},o.a.createElement("span",{className:"seed__label__text"},Object(Q.m)(r)),o.a.createElement(Da.b,{name:"close",className:"seed__label__remove",onClick:function(){return t.removeSeed(n)}})),o.a.createElement("div",{className:"seed__label__name"},e.name)))})))})),Gf(Vf(t),"setTunability",(function(e,n){var r=t.state.tunabilities;r[e].value=n,t.setState({tunabilities:r})})),Gf(Vf(t),"toggleTunability",(function(e){var n=t.state.tunabilities;n[e].enabled=!n[e].enabled,t.setState({tunabilities:n})})),Gf(Vf(t),"renderTunabilities",(function(){var e=[],n=[];for(var r in t.state.tunabilities)if(t.state.tunabilities.hasOwnProperty(r)){var i=Ff(Ff({},t.state.tunabilities[r]),{},{name:r});i.enabled?n.push(i):e.push({label:Object(Q.m)(i.name),value:i.name})}return o.a.createElement("div",{className:"tunabilities"},n.map((function(e){return o.a.createElement("div",{className:"field tunability range",key:e.name},o.a.createElement("div",{className:"tunability__label"},Object(Q.m)(e.name),o.a.createElement("span",{className:"remove",onClick:function(){return t.toggleTunability(e.name)}},o.a.createElement(Da.b,{name:"close"}))),o.a.createElement("div",{className:"tunability__input"},o.a.createElement(Rf.a,{disabled:!e.enabled,minValue:e.min,maxValue:e.max,value:e.value,onChange:function(n){return t.setTunability(e.name,n)}})))})))})),Gf(Vf(t),"renderResults",(function(){var e=t.props,n=e.recommendations,r=(n=void 0===n?{}:n).tracks_uris,i=n.albums_uris,a=n.artists_uris,s=e.items;if(void 0===!i||void 0===a)return o.a.createElement("div",{className:"content-wrapper recommendations-results"});var c=Object(ne.compact)(r.map((function(e){return s[e]}))),u=Object(ne.compact)(a.map((function(e){return s[e]}))),l=Object(ne.compact)(i.map((function(e){return s[e]})));return c.length<=0&&u.length<=0&&l.length<=0?null:o.a.createElement("div",{className:"content-wrapper recommendations-results"},o.a.createElement("section",{className:"col col--w70 tracks"},o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"discover.recommendations.tracks"}),o.a.createElement("div",{className:"actions-wrapper"},o.a.createElement(Js.a,{onTrigger:t.handleContextMenu}),o.a.createElement(Wa.b,{type:"primary",onClick:t.playTracks,tracking:{category:"DiscoverRecommendations",action:"Play"}},o.a.createElement(Ye.a,{path:"actions.play_all"})))),o.a.createElement(Ks.a,{source:{uri:t.uri(),name:"Recommendations",type:"recommendations"},className:"discover-track-list",tracks:c})),o.a.createElement("div",{className:"col col--w5"}),o.a.createElement("div",{className:"col col--w25 others"},o.a.createElement("section",null,o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"discover.recommendations.artists"})),o.a.createElement(_c,{artists:u,uiActions:Ja})),o.a.createElement("br",null),o.a.createElement("br",null),o.a.createElement("section",null,o.a.createElement("h4",null,o.a.createElement(Ye.a,{path:"discover.recommendations.albums"})),o.a.createElement(gc.a,{items:l,mini:!0}))))})),Gf(Vf(t),"render",(function(){var e=t.props,n=e.load_queue,r=e.theme,i=t.state,a=i.tunabilities,s=i.seeds,c=Object(Q.e)(n,["spotify_recommendations"]),u=[];for(var l in t.state.tunabilities)if(a.hasOwnProperty(l)){var f=Ff(Ff({},a[l]),{},{name:l});f.enabled||u.push({label:Object(Q.m)(f.name),value:f.name})}return o.a.createElement("div",{className:"view discover-view preserve-3d"},"dark"===r&&o.a.createElement(yc,{image:"/iris/assets/backgrounds/discover.jpg"}),o.a.createElement("div",{className:"intro preserve-3d"},o.a.createElement("div",{className:"intro__liner"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"discover.recommendations.body_title"})),o.a.createElement("h2",null,o.a.createElement(Ye.a,{path:"discover.recommendations.body_subtitle"})),o.a.createElement("div",{className:"intro__parameters"},t.renderSeeds(),t.renderTunabilities(),s.length>5&&o.a.createElement("p",{className:"message error"},o.a.createElement(Ye.a,{path:"discover.recommendations.too_many_seeds"}))),o.a.createElement("div",{className:"intro__actions"},o.a.createElement(Lf.a,{onSelect:function(e,n){return t.handleSelect(e,n)}}),o.a.createElement($s.a,{className:"add-properties",name:"Properties",options:u,no_status_icon:!0,button:"default",handleChange:t.toggleTunability}),o.a.createElement("div",{className:"intro__actions__separator"}),o.a.createElement(Wa.b,{className:"submit",type:"primary",size:"large",working:c,onClick:t.getRecommendations,tracking:{category:"DiscoverRecommendations",action:"Submit"}},o.a.createElement(Da.b,{name:"explore"}),o.a.createElement(Ye.a,{path:"discover.recommendations.find_recommendations",afterContent:!0}," "))))),t.renderResults())})),t._autocomplete_timer=!1,t.state={add_seed:"",adding_seed:!1,seeds:[],tunabilities:{acousticness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},danceability:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},energy:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},instrumentalness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},key:{enabled:!1,min:0,max:11,value:{min:3,max:8}},liveness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},loudness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},popularity:{enabled:!1,min:0,max:100,value:{min:0,max:100}},speechiness:{enabled:!1,convert_to_decimal:!0,description:"The presence of spoken words in a track",min:0,max:100,value:{min:25,max:75}},tempo:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},valence:{enabled:!1,convert_to_decimal:!0,description:"The musical positiveness conveyed by a track",min:0,max:100,value:{min:25,max:75}}}},t}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uiActions.setWindowTitle,n=e.match.params.uri;t(Object(Ye.b)("discover.recommendations.title")),n&&this.handleURLSeeds()}}])&&zf(t.prototype,n),r&&zf(t,r),a}(o.a.Component),Kf=Object(u.b)((function(e){return{theme:e.ui.theme,items:e.core.items,genres:e.core.genres?e.core.genres:[],authorized:e.spotify.authorization,load_queue:e.ui.load_queue,quick_search_results:e.spotify.quick_search_results?e.spotify.quick_search_results:{artists:[],tracks:[]},recommendations:e.spotify.recommendations?e.spotify.recommendations:{}}}),(function(e){return{uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e),coreActions:Object(w.b)(Ve,e)}}))(Wf);function Qf(e){return(Qf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xf(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jf(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);no-s-Math.max(document.documentElement.clientHeight,window.innerHeight||0)/2&&this.setState({listening:!1},(function(){r()}))}}])&&hd(t.prototype,n),r&&hd(t,r),a}(o.a.Component);function wd(e){return(wd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ed(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kd(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.images,n=(t=void 0===t?{}:t).large;return o.a.createElement("div",{className:"intro preserve-3d"},o.a.createElement(yc,{image:n,blur:!0}))})),Td(jd(e),"render",(function(){var t=e.props,n=t.loading,r=t.albums,i=t.more,a=t.uiActions;if(n)return o.a.createElement("div",{className:"view discover-new-releases-view"},o.a.createElement(Qc.a,null,o.a.createElement(Da.b,{name:"new_releases",type:"material"}),o.a.createElement(Ye.a,{path:"discover.new_releases.title"})),o.a.createElement(bo,{body:!0,loading:!0}));var s=o.a.createElement(Wa.b,{noHover:!0,onClick:e.refresh,tracking:{category:"DiscoverFeatured",action:"Refresh"}},o.a.createElement(Da.b,{name:"refresh"}),o.a.createElement(Ye.a,{path:"actions.refresh"}));return o.a.createElement("div",{className:"view discover-new-releases-view preserve-3d"},o.a.createElement(Qc.a,{options:s,uiActions:a},o.a.createElement(Da.b,{name:"new_releases",type:"material"}),o.a.createElement(Ye.a,{path:"discover.new_releases.title"})),o.a.createElement("section",{className:"content-wrapper grid-wrapper"},o.a.createElement(gc.a,{items:r})),o.a.createElement(_d,{loadKey:i,showLoader:i,loadMore:e.loadMore}))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.new_releases,n=e.uiActions.setWindowTitle,r=e.spotifyActions.getNewReleases;n(Object(Ye.b)("discover.new_releases.title")),t||r()}}])&&kd(t.prototype,n),r&&kd(t,r),a}(o.a.Component),Pd=Object(St.g)(["(.*)new-releases(.*)offset=0(.*)"]),Nd=Object(u.b)((function(e){var t=e.ui.theme,n=e.spotify,r=n.new_releases,i=n.new_releases_more,a=n.new_releases_total,o=Object(St.e)(r);return{uris:r,loading:Pd(e),albums:o(e),more:i,total:a,theme:t}}),(function(e){return{uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(Cd),Dd=function(){return o.a.createElement(f.c,null,o.a.createElement(f.a,{exact:!0,path:"/discover/recommendations/:uri?",component:Kf}),o.a.createElement(f.a,{exact:!0,path:"/discover/featured",component:od}),o.a.createElement(f.a,{exact:!0,path:"/discover/categories/:uri",component:dd}),o.a.createElement(f.a,{exact:!0,path:"/discover/categories",component:ud}),o.a.createElement(f.a,{exact:!0,path:"/discover/new-releases",component:Nd}))},Id=n(109),Rd=n(616),Ld=Object(a.memo)((function(e){return void 0===e.popularity||null===e.popularity?null:o.a.createElement("span",{className:"popularity"},o.a.createElement("span",{className:"popularity-bars"},o.a.createElement("span",{className:"bar".concat(e.popularity>10?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>30?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>50?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>70?" filled":"")}),o.a.createElement("span",{className:"bar".concat(e.popularity>90?" filled":"")})),o.a.createElement("span",{className:"popularity-value"},o.a.createElement(Ye.a,{path:"specs.popularity",percent:e.popularity})))}));function Md(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ud(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ud(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ud(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e[t];switch(t){case"tracks":var r=e.tracks_total;return r||n?o.a.createElement(Ye.a,{path:"specs.tracks",count:Xs(r||n.length)}):null;case"artists":var i=e.artists_total,a=e.artists_uris;return Array.isArray(n)?o.a.createElement(ao.a,{items:n,type:"artist"}):i||a?o.a.createElement(Ye.a,{path:"specs.artists",count:Xs(i||a.length)}):null;case"albums":var s=e.albums_total,c=e.albums_uris;return s||c?o.a.createElement(Ye.a,{path:"specs.albums",count:s||c.length}):null;case"source":return o.a.createElement(Da.a,{uri:e.uri,fixedWidth:!0})}if(!n)return null;switch(t){case"followers":return o.a.createElement(Ye.a,{path:"specs.followers",count:Xs(n)});case"listeners":return o.a.createElement(Ye.a,{path:"specs.listeners",count:Xs(n)});case"added_at":return o.a.createElement(Ye.a,{path:"specs.added_ago",time:Object(io.b)("ago",n)});case"last_modified":return o.a.createElement(Ye.a,{path:"specs.updated_ago",time:Object(io.b)("ago",n)});case"owner":return o.a.createElement(Le.a,{type:"user",uri:n.uri},n.id);case"popularity":return o.a.createElement(Ld,{full:!0,popularity:n})}return!0===n?o.a.createElement(Da.b,{name:"check"}):"number"==typeof n?o.a.createElement("span",null,n.toLocaleString()):n},zd=function(e){var t,n=e.item,r=e.middle_column,i=e.right_column,s=e.details,c=e.thumbnail,l=e.nocontext,d=e.getLink;if(!n)return null;var p=Object(u.c)(),h=Object(u.d)((function(e){return e.spotify.access_token})),m=Object(f.f)(),b=Object(f.g)(),y=Md(Object(Rd.a)({type:(null==n||null===(t=n.type)||void 0===t?void 0:t.toUpperCase())||"UNKNOWN",item:{item:n,context:n}}),2),v=(y[0],y[1]);Object(a.useEffect)((function(){if(!n.images)switch(n.type){case"artist":h&&p(vo.getArtistImages(n));break;case"album":p(Fa.getImages([n.uri]))}}),[n.images]);var g=function(e){e.preventDefault(),p(Ja.showContextMenu({e:e,type:n.type,item:n}))},_="list__item";return n.type&&(_+=" list__item--".concat(n.type)),n.loading&&(_+=" list__item--loading"),r&&(_+=" list__item--has-middle-column"),c&&(_+=" list__item--has-thumbnail"),s&&(_+=" list__item--has-details"),o.a.createElement("div",{className:_,onContextMenu:g,onClick:function(e){var t="",r=d?d(n):void 0;r?t=r:n.link?t=n.link:(t="/".concat(n.type,"/").concat(Object(ge.d)(n.uri)),n.name&&"artist"!==n.type&&(t+="/".concat(encodeURIComponent(n.name)))),"a"!==e.target.tagName.toLowerCase()&&(Object(Na.b)({location:b,history:m}),e.preventDefault(),m.push(t))},ref:Object(Q.g)()?void 0:v},i&&!l&&o.a.createElement("div",{className:"list__item__column list__item__column--right"},i.map((function(e){return o.a.createElement("span",{className:"list__item__column__item list__item__column__item--".concat(e.replace(".","_")),key:"".concat(e)},Fd(n,e))})),!l&&o.a.createElement(Js.a,{className:"list__item__column__item list__item__column__item--context-menu-trigger subtle",onTrigger:g})),o.a.createElement("div",{className:"list__item__column list__item__column--name"},c&&o.a.createElement(oo.a,{className:"list__item__column__item list__item__column__item--thumbnail",images:n.images,size:"small"}),o.a.createElement("div",{className:"list__item__column__item list__item__column__item--name"},void 0!==n.name?Fd(n,"name"):o.a.createElement("span",{className:"grey-text"},n.uri)),s?o.a.createElement("ul",{className:"list__item__column__item list__item__column__item--details details"},s.map((function(e){var t=Fd(n,e);return t?o.a.createElement("li",{className:"details__item details__item--".concat(e.replace(".","_")),key:e},t):null}))):null),r&&o.a.createElement("div",{className:"list__item__column list__item__column--middle"},r.map((function(e){return o.a.createElement("span",{className:"list__item__column__item list__item__column__item--".concat(e.replace(".","_")),key:e},Fd(n,e))}))))};function Bd(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var Hd=function(e){var t=e.items,n=e.className,r=void 0===n?"":n,i=Bd(e,["items","className"]);return t&&t.length?o.a.createElement(Id.a,{className:"list ".concat(r),items:t,itemComponent:zd,itemProps:i,chunkSize:10}):null};function qd(e){return(qd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Gd(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yd(e){return function(e){if(Array.isArray(e))return Wd(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Gd(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gd(e,t){if(e){if("string"==typeof e)return Wd(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wd(e,t):void 0}}function Wd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"artists",{forceRefetch:e})}))})),ep($d(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.view,a=e.loading_progress,s=t.state.filter,c=t.props.artists;return a?o.a.createElement(bo,{body:!0,loading:!0,progress:a}):(n&&(c=Object(X.g)(c,n,r)),""!==s&&(c=Object(X.a)("name",s,c)),"list"===i?o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Hd,{items:c,details:["albums","followers"],right_column:["source"],thumbnail:!0})):o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(gc.a,{items:c})))})),ep($d(t),"render",(function(){var e=t.props,n=e.loading_progress,r=e.providers,i=e.sortField,a=e.sortReverse,s=[{value:"thumbnails",label:Object(Ye.b)("fields.filters.thumbnails")},{value:"list",label:Object(Ye.b)("fields.filters.list")}],c=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"followers",label:Object(Ye.b)("fields.filters.followers")},{value:"popularity",label:Object(Ye.b)("fields.filters.popularity")}],u=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:t.state.filter,handleChange:function(e){return t.setState({filter:e,limit:t.state.per_page})},onSubmit:function(e){return t.props.uiActions.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:i,valueAsLabel:!0,options:c,selected_icon:i?a?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"visibility",name:Object(Ye.b)("fields.view"),value:t.props.view,valueAsLabel:!0,options:s,handleChange:function(e){t.props.uiActions.set({library_artists_view:e}),t.props.uiActions.hideContextMenu()}}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),value:t.props.source,valueAsLabel:!0,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(Yd(r.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){t.props.uiActions.set({library_artists_source:e}),t.props.uiActions.hideContextMenu()}}),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:n?t.cancelRefresh:t.refresh,tracking:{category:"LibraryArtists",action:"Refresh"}},n?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),n?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})));return o.a.createElement("div",{className:"view library-artists-view"},o.a.createElement(Qc.a,{options:u,uiActions:t.props.uiActions},o.a.createElement(Da.b,{name:"recent_actors",type:"material"}),o.a.createElement(Ye.a,{path:"library.artists.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.artists.title")),this.getLibraries()}}])&&Kd(t.prototype,n),r&&Kd(t,r),a}(o.a.Component),rp=Object(St.f)("artists"),ip=Object(St.h)(tp),ap=Object(St.i)("artists"),op=Object(u.b)((function(e){var t=Vd(Object(St.d)(e,"library_artists",null),2),n=t[0],r=t[1];return{loading_progress:ip(e),uri_schemes:e.mopidy.uri_schemes,providers:ap(e),artists:rp(e,"artists"),source:Object(St.b)(e,"artists"),sortField:n,sortReverse:r,view:e.ui.library_artists_view}}),(function(e){return{uiActions:Object(w.b)(Ja,e),coreActions:Object(w.b)(Ve,e)}}))(np);function sp(e){return(sp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||lp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function up(e){return function(e){if(Array.isArray(e))return fp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||lp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lp(e,t){if(e){if("string"==typeof e)return fp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fp(e,t):void 0}}function fp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"albums",{forceRefetch:e})}))})),vp(bp(t),"onSortChange",(function(e){var n=t.props,r=n.sortField,i=n.sortReverse,a=n.uiActions,o=a.setSort,s=a.hideContextMenu,c=!1;null!==e&&r===e&&(c=!i),o("library_albums",e,c),s()})),vp(bp(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.view,a=e.loading_progress,s=t.state.filter,c=t.props.albums;return a?o.a.createElement(bo,{body:!0,loading:!0,progress:a}):(n&&(c=Object(X.g)(c,n,r)),s&&""!==s&&(c=Object(X.a)("name",s,c)),"list"===i?o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Hd,{items:c,details:["artists","tracks","followers"],right_column:["source"],thumbnail:!0})):o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(gc.a,{items:c})))})),vp(bp(t),"render",(function(){var e=t.props,n=e.view,r=e.source,i=e.providers,a=e.sortField,s=e.sortReverse,c=e.uiActions,u=e.loading_progress,l=t.state,f=l.filter,d=l.per_page,p=[{value:"thumbnails",label:Object(Ye.b)("fields.filters.thumbnails")},{value:"list",label:Object(Ye.b)("fields.filters.list")}],h=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"artist",label:Object(Ye.b)("fields.filters.artist")},{value:"last_modified",label:Object(Ye.b)("fields.filters.updated")},{value:"tracks",label:Object(Ye.b)("fields.filters.tracks")},{value:"uri",label:Object(Ye.b)("fields.filters.source")}],m=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:f,handleChange:function(e){return t.setState({filter:e,limit:d})},onSubmit:function(){return c.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:a,valueAsLabel:!0,options:h,selected_icon:a?s?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"visibility",name:Object(Ye.b)("fields.view"),value:n,valueAsLabel:!0,options:p,handleChange:function(e){c.set({library_albums_view:e}),c.hideContextMenu()}}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),value:r,valueAsLabel:!0,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(up(i.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){c.set({library_albums_source:e}),c.hideContextMenu()}}),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:u?t.cancelRefresh:t.refresh,tracking:{category:"LibraryAlbums",action:"Refresh"}},u?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),u?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})));return o.a.createElement("div",{className:"view library-albums-view"},o.a.createElement(Qc.a,{options:m,uiActions:c},o.a.createElement(Da.b,{name:"album",type:"material"}),o.a.createElement(Ye.a,{path:"library.albums.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.albums.title")),this.getLibraries()}}])&&dp(t.prototype,n),r&&dp(t,r),a}(o.a.Component),wp=Object(St.f)("albums"),Ep=Object(St.h)(gp),kp=Object(St.i)("albums"),Op=Object(u.b)((function(e){var t=cp(Object(St.d)(e,"library_albums",null),2),n=t[0],r=t[1];return{loading_progress:Ep(e),uri_schemes:e.mopidy.uri_schemes,albums:wp(e,"albums"),providers:kp(e),view:e.ui.library_albums_view,source:Object(St.b)(e,"albums"),sortField:n,sortReverse:r}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(_p);function Sp(e){return(Sp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ap(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||xp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jp(e){return function(e){if(Array.isArray(e))return Tp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||xp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xp(e,t){if(e){if("string"==typeof e)return Tp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tp(e,t):void 0}}function Tp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"tracks",{forceRefetch:e})}))})),Lp(Ip(t),"handleContextMenu",(function(e,n){(0,t.props.uiActions.showContextMenu)({e:e,context:"album",uris:[n.uri],items:[n]})})),Lp(Ip(t),"onSortChange",(function(e){var n=t.props,r=n.sortField,i=n.sortReverse,a=n.uiActions,o=a.setSort,s=a.hideContextMenu,c=!1;null!==e&&r===e&&(c=!i),o("library_tracks",e,c),s()})),Lp(Ip(t),"playAll",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.mopidyActions.playURIs,a=e.uiActions.hideContextMenu,o=t.props.tracks,s=t.state.filter;o&&o.length&&(n&&(o=Object(X.g)(o,n,r)),s&&""!==s&&(o=Object(X.a)("name",s,o)),i({uris:Object(X.b)("uri",o)}),a())})),Lp(Ip(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.loading_progress,a=t.state.filter,s=t.props.tracks;return i?o.a.createElement(bo,{body:!0,loading:!0,progress:i}):(n&&(s=Object(X.g)(s,n,r)),a&&""!==a&&(s=Object(X.a)("name",a,s)),o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Ks.a,{context:{name:"Tracks"},tracks:s})))})),Lp(Ip(t),"render",(function(){var e=t.props,n=e.source,r=e.providers,i=e.sortField,a=e.sortReverse,s=e.uiActions,c=e.loading_progress,u=t.state.filter,l=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"artist",label:Object(Ye.b)("fields.filters.artist")},{value:"album",label:Object(Ye.b)("fields.filters.album")}],f=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:u,handleChange:function(e){return t.setState({filter:e})},onSubmit:function(){return s.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:i,valueAsLabel:!0,options:l,selected_icon:i?a?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),value:n,valueAsLabel:!0,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(jp(r.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){s.set({library_tracks_source:e}),s.hideContextMenu()}}),o.a.createElement(Wa.b,{onClick:t.playAll,noHover:!0,discrete:!0,tracking:{category:"LibraryTracks",action:"Play"}},o.a.createElement(Da.b,{name:"play_circle_filled"}),o.a.createElement(Ye.a,{path:"actions.play_all"})),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:c?t.cancelRefresh:t.refresh,tracking:{category:"LibraryTracks",action:"Refresh"}},c?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),c?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})));return o.a.createElement("div",{className:"view library-tracks-view"},o.a.createElement(Qc.a,{options:f,uiActions:s},o.a.createElement(Da.b,{name:"album",type:"material"}),o.a.createElement(Ye.a,{path:"library.tracks.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.tracks.title")),this.getLibraries()}}])&&Cp(t.prototype,n),r&&Cp(t,r),a}(o.a.Component),Fp=Object(St.f)("tracks"),zp=Object(St.h)(Mp),Bp=Object(St.i)("tracks"),Hp=Object(u.b)((function(e){var t=Ap(Object(St.d)(e,"library_tracks",null),2),n=t[0],r=t[1];return{loading_progress:zp(e),mopidy_uri_schemes:e.mopidy.uri_schemes,tracks:Fp(e,"tracks"),view:e.ui.library_tracks_view,source:Object(St.b)(e,"tracks"),providers:Bp(e),sortField:n,sortReverse:r}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(Up);function qp(e){return(qp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Gp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yp(e){return function(e){if(Array.isArray(e))return Wp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Gp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gp(e,t){if(e){if("string"==typeof e)return Wp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wp(e,t):void 0}}function Wp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]&&arguments[0],n=t.props,r=n.source,i=n.providers,a=n.coreActions.loadLibrary,o=[];"all"===r?o=i.map((function(e){return e.uri})):o.push(r),o.forEach((function(t){return a(t,"playlists",{forceRefetch:e})}))})),eh($p(t),"onSortChange",(function(e){var n=t.props,r=n.sortField,i=n.sortReverse,a=n.uiActions,o=a.setSort,s=a.hideContextMenu,c=!1;null!==e&&r===e&&(c=!i),o("library_playlists",e,c),s()})),eh($p(t),"renderView",(function(){var e=t.props,n=e.sortField,r=e.sortReverse,i=e.view,a=e.loading_progress,s=e.playlists,c=t.state.filter;if(a)return o.a.createElement(bo,{body:!0,loading:!0,progress:a});var u=Yp(s);return n&&(u=Object(X.g)(u,n,r)),u=Object(X.e)(u),""!==c&&(u=Object(X.a)("name",c,u)),"list"===i?o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(Hd,{items:u,thumbnail:!0,details:["owner","tracks","last_modified"],right_column:["source"]})):o.a.createElement("section",{className:"content-wrapper"},o.a.createElement(gc.a,{items:u}))})),eh($p(t),"render",(function(){var e=t.props,n=e.uiActions,r=e.providers,i=e.source,a=e.sortField,s=e.sortReverse,c=e.view,u=e.loading_progress,l=t.state.filter,f=[{value:"thumbnails",label:Object(Ye.b)("fields.filters.thumbnails")},{value:"list",label:Object(Ye.b)("fields.filters.list")}],d=[{value:null,label:Object(Ye.b)("fields.filters.as_loaded")},{value:"name",label:Object(Ye.b)("fields.filters.name")},{value:"last_modified",label:Object(Ye.b)("fields.filters.updated")},{value:"can_edit",label:Object(Ye.b)("fields.filters.editable")},{value:"owner",label:Object(Ye.b)("fields.filters.owner")},{value:"tracks",label:Object(Ye.b)("fields.filters.tracks")},{value:"source",label:Object(Ye.b)("fields.filters.source")}],p=o.a.createElement(o.a.Fragment,null,o.a.createElement(sc,{initialValue:l,handleChange:function(e){return t.setState({filter:e})},onSubmit:function(){return n.hideContextMenu()}}),o.a.createElement($s.a,{icon:"swap_vert",name:Object(Ye.b)("fields.sort"),value:a,valueAsLabel:!0,options:d,selected_icon:a?s?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:t.onSortChange}),o.a.createElement($s.a,{icon:"visibility",name:Object(Ye.b)("fields.view"),valueAsLabel:!0,value:c,options:f,handleChange:function(e){n.set({library_playlists_view:e}),n.hideContextMenu()}}),o.a.createElement($s.a,{icon:"cloud",name:Object(Ye.b)("fields.source"),valueAsLabel:!0,value:i,options:[{value:"all",label:Object(Ye.b)("fields.filters.all")}].concat(Yp(r.map((function(e){return{value:e.uri,label:e.title}})))),handleChange:function(e){n.set({library_playlists_source:e}),n.hideContextMenu()}}),o.a.createElement(Wa.b,{noHover:!0,discrete:!0,onClick:u?t.cancelRefresh:t.refresh,tracking:{category:"LibraryAlbums",action:"Refresh"}},u?o.a.createElement(Da.b,{name:"close"}):o.a.createElement(Da.b,{name:"refresh"}),u?o.a.createElement(Ye.a,{path:"actions.cancel"}):o.a.createElement(Ye.a,{path:"actions.refresh"})),o.a.createElement(Wa.b,{to:"/modal/create-playlist",noHover:!0,discrete:!0,tracking:{category:"Playlist",action:"Create"}},o.a.createElement(Da.b,{name:"add_box"}),o.a.createElement(Ye.a,{path:"actions.add"})));return o.a.createElement("div",{className:"view library-playlists-view"},o.a.createElement(Qc.a,{options:p,uiActions:n},o.a.createElement(Da.b,{name:"queue_music",type:"material"}),o.a.createElement(Ye.a,{path:"library.playlists.title"})),t.renderView())})),t.state={filter:""},t}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)(Object(Ye.b)("library.playlists.title")),this.getLibraries()}}])&&Kp(t.prototype,n),r&&Kp(t,r),a}(o.a.Component),rh=Object(St.f)("playlists"),ih=Object(St.h)(th),ah=Object(St.i)("playlists"),oh=Object(u.b)((function(e){var t=e.spotify.me,n=(t=void 0===t?{}:t).id,r=Vp(Object(St.d)(e,"library_playlists",null),2),i=r[0],a=r[1];return{slim_mode:e.ui.slim_mode,providers:ah(e),playlists:rh(e,"playlists"),loading_progress:ih(e),source:Object(St.b)(e,"playlists"),me_id:n,view:e.ui.library_playlists_view,sortField:i,sortReverse:a}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(nh);function sh(e){return(sh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ch(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return uh(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return uh(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function uh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?"s":""})),o.a.createElement("form",{onSubmit:function(e){return e.preventDefault(),!(!i.name||""===i.name)&&(n(Ve.createPlaylist(Kh(Kh({},i),{},{tracks_uris:t}))),n(Ja.closeModal()),!1)}},o.a.createElement("div",{className:"field radio white"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.provider"})),o.a.createElement("div",{className:"input"},o.a.createElement("label",null,o.a.createElement("input",{type:"radio",name:"scheme",value:"m3u",checked:"m3u"===i.scheme,onChange:function(e){return l({scheme:e.target.value})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"services.mopidy.title"}))),o.a.createElement("label",null,o.a.createElement("input",{type:"radio",name:"scheme",value:"spotify",disabled:!c,checked:"spotify"===i.scheme,onChange:function(e){return l({scheme:e.target.value})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"services.spotify.title"}))))),function(){switch(i.scheme){case"spotify":return o.a.createElement("div",null,o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.name"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:function(e){return l({name:e})},value:i.name}))),o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.description"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:function(e){return l({description:e})},value:i.description}))),o.a.createElement("div",{className:"field checkbox white"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.options.label"})),o.a.createElement("div",{className:"input"},o.a.createElement("label",null,o.a.createElement("input",{type:"checkbox",name:"public",checked:i.public,onChange:function(){return l({public:!i.public})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.options.public"}))),o.a.createElement("label",null,o.a.createElement("input",{type:"checkbox",name:"collaborative",checked:i.collaborative,onChange:function(){return l({collaborative:!i.collaborative})}}),o.a.createElement("span",{className:"label"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.options.collaborative"}))))));default:return o.a.createElement("div",null,o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.edit_playlist.name"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:function(e){return l({name:e})},value:i.name}))))}}(),o.a.createElement("div",{className:"actions centered-text"},o.a.createElement(Wa.b,{type:"primary",size:"large",submit:!0,tracking:{category:"CreatePlaylist",action:"Submit"}},o.a.createElement(Ye.a,{path:"modal.edit_playlist.create_playlist"})))))};function Zh(e){return(Zh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function em(e){return function(e){if(Array.isArray(e))return tm(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return tm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tm(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=5&&(s=s.slice(0,5),t.setState({error_message:Object(Ye.b)("modal.edit_radio.too_many_seeds")}));for(var c=0;c-1?t.setState({error_message:Object(Ye.b)("modal.edit_radio.too_many_seeds")}):(o.push(s[c]),a(s[c]))}t.setState({seeds:o,uri:""})}else t.setState({error_message:Object(Ye.b)("errors.required")})})),cm(om(t),"removeSeed",(function(e){var n=t.state.seeds.filter((function(t){return t!==e}));t.setState({seeds:n})})),cm(om(t),"mapSeeds",(function(){var e=t.state.seeds,n=t.props.items;return e?e.slice(0,5).map((function(e){return n[e]||{uri:e,unresolved:!0}})):[]})),cm(om(t),"render",(function(){var e=t.state,n=e.enabled,r=e.uri,i=e.error_message,a=t.mapSeeds();return o.a.createElement(Lh.a,{className:"modal--edit-radio"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"modal.edit_radio.title"})),o.a.createElement("h2",{className:"mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.edit_radio.subtitle"})),o.a.createElement("form",{onSubmit:function(e){n?t.handleUpdate(e):t.handleStart(e)}},o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"fields.uri"})),o.a.createElement("div",{className:"input"},o.a.createElement(Tl.a,{onChange:t.onUriChange,value:r}),o.a.createElement("span",{className:"button discrete add-uri no-hover",onClick:function(e){return t.addSeed(e)}},o.a.createElement(Da.b,{name:"add"}),o.a.createElement(Ye.a,{path:"actions.add"})),i&&o.a.createElement("span",{className:"description error"},i))),o.a.createElement("div",{className:"field text"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"fields.items_to_add.label"})),o.a.createElement("div",{className:"input"},a.length?o.a.createElement("div",{className:"list"},a.map((function(e,n){return o.a.createElement(um,{key:"".concat(e,"_").concat(n),seed:e,remove:t.removeSeed})}))):o.a.createElement("div",{className:"text mid_grey-text"},o.a.createElement(Ye.a,{path:"fields.items_to_add.placeholder"})))),o.a.createElement("div",{className:"actions centered-text"},n&&o.a.createElement(Wa.b,{type:"destructive",size:"large",onClick:function(e){return t.handleStop(e)},tracking:{category:"Radio",action:"Stop"}},o.a.createElement(Ye.a,{path:"actions.add"})),n?o.a.createElement(Wa.b,{type:"primary",size:"large",onClick:function(e){return t.handleUpdate(e)},tracking:{category:"Radio",action:"Update"}},o.a.createElement(Ye.a,{path:"actions.save"})):o.a.createElement(Wa.b,{type:"primary",size:"large",onClick:function(e){return t.handleStart(e)},tracking:{category:"Radio",action:"Start"}},o.a.createElement(Ye.a,{path:"actions.start"})))))})),t.state={enabled:!1,seeds:[],uri:"",error_message:null},t}return t=a,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.uiActions.setWindowTitle,n=e.radio;t(Object(Ye.b)("modal.edit_radio.title")),n&&n.enabled&&this.loadRadio(n)}},{key:"handleStart",value:function(e){e.preventDefault();for(var t=!0,n=this.mapSeeds(),r=0;re.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(n);try{for(a.s();!(r=a.n()).done;){var o=r.value;e("SERVER"===o?Object(Ga.setSharedConfig)(i):Object(Ga.deliverMessage)(o,"share_config_received",i))}}catch(e){a.e(e)}finally{a.f()}e(Object(Ja.createNotification)({content:Object(Ye.b)("modal.shared_config.shared")})),e(Object(Ja.closeModal)())};return o.a.createElement(Lh.a,{className:"modal--share-configuration"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"modal.shared_config.push.title"})),o.a.createElement("h2",null,o.a.createElement(Ye.a,{path:"modal.shared_config.push.subtitle"})),o.a.createElement("form",{onSubmit:b},o.a.createElement("div",{className:"field checkbox white"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.shared_config.recipients"})),o.a.createElement(Hm,{selected:n,onChange:function(e){r((function(t){var n=Um(t);if(n.includes(e)){var r=n.indexOf(e);n.splice(r,1)}else n.push(e);return n}))}})),o.a.createElement("div",{className:"field checkbox checkbox--block"},o.a.createElement("div",{className:"name"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.label"})),o.a.createElement("div",{className:"input"},Object(ne.map)(m,(function(e,t){var n;return o.a.createElement("div",{className:"checkbox-group__item",key:t},o.a.createElement("label",null,o.a.createElement("input",{type:"checkbox",name:t,checked:s.indexOf(t)>-1,onChange:function(){return e=t,void c((function(t){var n=Um(t);if(n.includes(e)){var r=n.indexOf(e);n.splice(r,1)}else n.push(e);return n}));var e}}),o.a.createElement("div",{className:"label"},o.a.createElement("div",null,o.a.createElement("div",{className:"title"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(t,".label")})),o.a.createElement("div",{className:"description mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(t,".description"),name:(null===(n=e.me)||void 0===n?void 0:n.name)||"Unknown"}))))))})))),o.a.createElement("div",{className:"actions centered-text"},o.a.createElement(Wa.b,{type:"primary",size:"large",disabled:n.length<=0,onClick:b,tracking:{category:"ShareConfiguration",action:"Send"}},o.a.createElement(Ye.a,{path:"actions.send"})))))};function Vm(e){return function(e){if(Array.isArray(e))return Wm(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Gm(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ym(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||Gm(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gm(e,t){if(e){if("string"==typeof e)return Wm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wm(e,t):void 0}}function Wm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1,onChange:function(){return function(e){s((function(t){return t.indexOf(e)>-1?t.filter((function(t){return t!==e})):[].concat(Vm(t),[e])}))}(e)}}),o.a.createElement("div",{className:"label"},o.a.createElement("div",null,o.a.createElement("div",{className:"title"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(e,".label")})),o.a.createElement("div",{className:"description mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.shared_config.config.".concat(e,".description"),name:(null===(t=d[e].me)||void 0===t?void 0:t.name)||"Unknown"}))))))})))),o.a.createElement("div",{className:"actions centered-text"},o.a.createElement(Wa.b,{type:"primary",size:"large",disabled:i.length<=0,onClick:p,tracking:{category:"ImportConfiguration",action:"Import"}},o.a.createElement(Ye.a,{path:"modal.shared_config.import_now"})))))};function Qm(e){return(Qm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jm(e,t){return(Jm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $m(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tb(e);if(t){var i=tb(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return Zm(this,n)}}function Zm(e,t){return!t||"object"!==Qm(t)&&"function"!=typeof t?eb(e):t}function eb(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tb(e){return(tb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jm(e,t)}(n,e);var t=$m(n);function n(){var e;Xm(this,n);for(var r=arguments.length,i=new Array(r),a=0;a0?o.a.createElement("div",{className:"list small playlists"},i.map((function(t){return o.a.createElement("div",{className:"list__item",key:t.uri,onClick:function(){return e.playlistSelected(t.uri)}},o.a.createElement(oo.a,{images:t.images,size:"small"}),o.a.createElement("h4",{className:"list__item__name"},t.name),o.a.createElement("ul",{className:"list__item__details details"},o.a.createElement("li",null,o.a.createElement(Da.b,{type:"fontawesome",className:"source",name:Object(Q.k)(t.uri)})),o.a.createElement("li",{className:"mid_grey-text"},"".concat(t.tracks_total||0," tracks"))))}))):o.a.createElement("div",{className:"no-results"},o.a.createElement(Ye.a,{path:"modal.add_to_playlist.no_playlists"}))})),nb(eb(e),"render",(function(){var t=e.props.uris;return o.a.createElement(Lh.a,{className:"modal--add-to-playlist"},o.a.createElement("h1",null,o.a.createElement(Ye.a,{path:"modal.add_to_playlist.title"})),o.a.createElement("h2",{className:"mid_grey-text"},o.a.createElement(Ye.a,{path:"modal.add_to_playlist.subtitle",count:t.length,plural:t.length>1?"s":""})),e.renderList())})),e}return n}(o.a.Component),ib=Object(St.f)("playlists",!1),ab=Object(St.h)(["MOPIDY_GET_LIBRARY_PLAYLISTS","SPOTIFY_GET_LIBRARY_PLAYLISTS"]),ob=Object(St.i)("playlists"),sb=Object(u.b)((function(e,t){var n,r=e.spotify,i=r.me,a=(i=void 0===i?{}:i).id,o=r.access_token,s=null===(n=t.match.params)||void 0===n?void 0:n.uris;return{uris:s?Object(ge.b)(s).split(","):[],providers:ob(e),playlists:ib(e,"playlists"),spotify_available:o,loading_progress:ab(e),me_id:a}}),(function(e){return{coreActions:Object(w.b)(Ve,e),uiActions:Object(w.b)(Ja,e),mopidyActions:Object(w.b)(Fa,e),spotifyActions:Object(w.b)(vo,e)}}))(rb);function cb(e){return(cb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ub(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function lb(e,t){for(var n=0;n"]]},{label:"previous",keysets:[[","],["<"]]},{label:"volume_up",keysets:[["="]]},{label:"volume_down",keysets:[["-"]]},{label:"mute",keysets:[["0"]]},{label:"snapcast_volume_up",keysets:[["n","="]]},{label:"snapcast_volume_down",keysets:[["n","="]]},{label:"snapcast_mute",keysets:[["n","0"]]},{label:"exit",keysets:[["esc"]]}],jb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_b(e,t)}(a,e);var t,n,r,i=wb(a);function a(){var e;vb(this,a);for(var t=arguments.length,n=new Array(t),r=0;r1&&" + ")})),0===n&&e.keysets.length>1&&" or ")})),o.a.createElement("span",{className:"description"},Object(Ye.b)("modal.hotkeys_info.keys.".concat(e.label))))}))))})),e}return t=a,(n=[{key:"componentDidMount",value:function(){(0,this.props.uiActions.setWindowTitle)("Hotkeys")}}])&&gb(t.prototype,n),r&&gb(t,r),a}(o.a.Component),xb=Object(u.b)((function(){return{}}),(function(e){return{uiActions:Object(w.b)(Ja,e)}}))(jb),Tb=Object(a.memo)((function(e){return o.a.createElement("div",{className:"colour-field"},["","white","mid_grey","grey","dark_grey","black","turquoise","green","blue","light_blue","yellow","orange","red"].map((function(t){var n="white";switch(t){case"yellow":case"white":case"light_blue":n="black"}return o.a.createElement("div",{key:t,className:"colour-field__option ".concat(t?"".concat(t,"-background "):"").concat(e.colour==t?"colour-field__option--selected":""),onClick:function(n){return e.onChange(t)}},e.colour==t?o.a.createElement(Da.b,{name:"check",className:"colour-field__option__icon ".concat(n,"-text")}):null)})))})),Cb=Object(a.memo)((function(e){var t=e.icons?e.icons:["3d_rotation","ac_unit","access_alarm","access_alarms","access_time","accessibility","accessible","account_balance","account_balance_wallet","account_box","account_circle","adb","add","add_a_photo","add_alarm","add_alert","add_box","add_circle","add_circle_outline","add_location","add_shopping_cart","add_to_photos","add_to_queue","adjust","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airplanemode_active","airplanemode_inactive","airplay","airport_shuttle","alarm","alarm_add","alarm_off","alarm_on","album","all_inclusive","all_out","android","announcement","apps","archive","arrow_back","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_upward","art_track","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assistant","assistant_photo","attach_file","attach_money","attachment","audiotrack","autorenew","av_timer","backspace","backup","battery_alert","battery_charging_full","battery_full","battery_std","battery_unknown","beach_access","beenhere","block","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_searching","blur_circular","blur_linear","blur_off","blur_on","book","bookmark","bookmark_border","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","branding_watermark","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_auto","brightness_high","brightness_low","brightness_medium","broken_image","brush","bubble_chart","bug_report","build","burst_mode","business","business_center","cached","cake","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_rear","camera_roll","cancel","card_giftcard","card_membership","card_travel","casino","cast","cast_connected","center_focus_strong","center_focus_weak","change_history","chat","chat_bubble","chat_bubble_outline","check","check_box","check_box_outline_blank","check_circle","chevron_left","chevron_right","child_care","child_friendly","chrome_reader_mode","class","clear","clear_all","close","closed_caption","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","code","collections","collections_bookmark","color_lens","colorize","comment","compare","compare_arrows","computer","confirmation_number","contact_mail","contact_phone","contacts","content_copy","content_cut","content_paste","control_point","control_point_duplicate","copyright","create","create_new_folder","credit_card","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","dashboard","data_usage","date_range","dehaze","delete","delete_forever","delete_sweep","description","desktop_mac","desktop_windows","details","developer_board","developer_mode","device_hub","devices","devices_other","dialer_sip","dialpad","directions","directions_bike","directions_boat","directions_bus","directions_car","directions_railway","directions_run","directions_subway","directions_transit","directions_walk","disc_full","dns","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","dock","domain","done","done_all","donut_large","donut_small","drafts","drag_handle","drive_eta","dvr","edit","edit_location","eject","email","enhanced_encryption","equalizer","error","error_outline","euro_symbol","ev_station","event","event_available","event_busy","event_note","event_seat","exit_to_app","expand_less","expand_more","explicit","explore","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","face","fast_forward","fast_rewind","favorite","favorite_border","featured_play_list","featured_video","feedback","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_download","file_upload","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_none","filter_tilt_shift","filter_vintage","find_in_page","find_replace","fingerprint","first_page","fitness_center","flag","flare","flash_auto","flash_off","flash_on","flight","flight_land","flight_takeoff","flip","flip_to_back","flip_to_front","folder","folder_open","folder_shared","folder_special","font_download","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underlined","forum","forward","forward_10","forward_30","forward_5","free_breakfast","fullscreen","fullscreen_exit","functions","g_translate","gamepad","games","gavel","gesture","get_app","gif","golf_course","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grain","graphic_eq","grid_off","grid_on","group","group_add","group_work","hd","hdr_off","hdr_on","hdr_strong","hdr_weak","headset","headset_mic","healing","hearing","help","help_outline","high_quality","highlight","highlight_off","history","home","hot_tub","hotel","hourglass_empty","hourglass_full","http","https","image","image_aspect_ratio","import_contacts","import_export","important_devices","inbox","indeterminate_check_box","info","info_outline","input","insert_chart","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","invert_colors","invert_colors_off","iso","keyboard","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","kitchen","label","label_outline","landscape","language","laptop","laptop_chromebook","laptop_mac","laptop_windows","last_page","launch","layers","layers_clear","leak_add","leak_remove","lens","library_add","library_books","library_music","lightbulb_outline","line_style","line_weight","linear_scale","link","linked_camera","list","live_help","live_tv","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_post_office","local_printshop","local_see","local_shipping","local_taxi","location_city","location_disabled","location_off","location_on","location_searching","lock","lock_open","lock_outline","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_priority","loyalty","mail","mail_outline","map","markunread","markunread_mailbox","memory","menu","merge_type","message","mic","mic_none","mic_off","mms","mode_comment","mode_edit","monetization_on","money_off","monochrome_photos","mood","mood_bad","more","more_horiz","more_vert","motorcycle","mouse","move_to_inbox","movie","movie_creation","movie_filter","multiline_chart","music_note","music_video","my_location","nature","nature_people","navigate_before","navigate_next","navigation","near_me","network_cell","network_check","network_locked","network_wifi","new_releases","next_week","nfc","no_encryption","no_sim","not_interested","note","note_add","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","offline_pin","ondemand_video","opacity","open_in_browser","open_in_new","open_with","pages","pageview","palette","pan_tool","panorama","panorama_fish_eye","panorama_horizontal","panorama_vertical","panorama_wide_angle","party_mode","pause","pause_circle_filled","pause_circle_outline","payment","people","people_outline","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_add","person_outline","person_pin","person_pin_circle","personal_video","pets","phone","phone_android","phone_bluetooth_speaker","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_setup","photo","photo_album","photo_camera","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","picture_as_pdf","picture_in_picture","picture_in_picture_alt","pie_chart","pie_chart_outlined","pin_drop","place","play_arrow","play_circle_filled","play_circle_outline","play_for_work","playlist_add","playlist_add_check","playlist_play","plus_one","poll","polymer","pool","portable_wifi_off","portrait","power","power_input","power_settings_new","pregnant_woman","present_to_all","print","priority_high","public","publish","query_builder","question_answer","queue","queue_music","queue_play_next","radio","radio_button_checked","radio_button_unchecked","rate_review","receipt","recent_actors","record_voice_over","redeem","redo","refresh","remove","remove_circle","remove_circle_outline","remove_from_queue","remove_red_eye","remove_shopping_cart","reorder","repeat","repeat_one","replay","replay_10","replay_30","replay_5","reply","reply_all","report","report_problem","restaurant","restaurant_menu","restore","restore_page","ring_volume","room","room_service","rotate_90_degrees_ccw","rotate_left","rotate_right","rounded_corner","router","rowing","rss_feed","rv_hookup","satellite","save","scanner","schedule","school","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","screen_share","sd_card","sd_storage","search","security","select_all","send","sentiment_dissatisfied","sentiment_neutral","sentiment_satisfied","sentiment_very_dissatisfied","sentiment_very_satisfied","settings","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_system_daydream","settings_voice","share","shop","shop_two","shopping_basket","shopping_cart","short_text","show_chart","shuffle","signal_cellular_4_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_null","signal_cellular_off","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_off","sim_card","sim_card_alert","skip_next","skip_previous","slideshow","slow_motion_video","smartphone","smoke_free","smoking_rooms","sms","sms_failed","snooze","sort","sort_by_alpha","spa","space_bar","speaker","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","spellcheck","star","star_border","star_half","stars","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","stop","stop_screen_share","storage","store","store_mall_directory","straighten","streetview","strikethrough_s","style","subdirectory_arrow_left","subdirectory_arrow_right","subject","subscriptions","subtitles","subway","supervisor_account","surround_sound","swap_calls","swap_horiz","swap_vert","swap_vertical_circle","switch_camera","switch_video","sync","sync_disabled","sync_problem","system_update","system_update_alt","tab","tab_unselected","tablet","tablet_android","tablet_mac","tag_faces","tap_and_play","terrain","text_fields","text_format","textsms","texture","theaters","thumb_down","thumb_up","thumbs_up_down","time_to_leave","timelapse","timeline","timer","timer_10","timer_3","timer_off","title","toc","today","toll","tonality","touch_app","toys","track_changes","traffic","train","tram","transfer_within_a_station","transform","translate","trending_down","trending_flat","trending_up","tune","turned_in","turned_in_not","tv","unarchive","undo","unfold_less","unfold_more","update","usb","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vibration","video_call","video_label","video_library","videocam","videocam_off","videogame_asset","view_agenda","view_array","view_carousel","view_column","view_comfy","view_compact","view_day","view_headline","view_list","view_module","view_quilt","view_stream","view_week","vignette","visibility","visibility_off","voice_chat","voicemail","volume_down","volume_mute","volume_off","volume_up","vpn_key","vpn_lock","wallpaper","warning","watch","watch_later","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_sunny","wc","web","web_asset","weekend","whatshot","widgets","wifi","wifi_lock","wifi_tethering","work","wrap_text","youtube_searched_for","zoom_in","zoom_out","zoom_out_map"];return o.a.createElement("div",{className:"icon-field"},t.map((function(t){return o.a.createElement("div",{key:t,className:"icon-field__option ".concat(e.icon==t?"icon-field__option--selected":""),onClick:function(n){return e.onChange(t)}},o.a.createElement(Da.b,{name:t,className:"icon-field__option__icon"}))})))}));function Pb(e){return(Pb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Nb(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function Bb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.seekTime,i=t.props,a=i.mopidyActions,o=i.time_position;switch(e){case"seekbackward":var s=o-3e4;return s<=0&&(s=0),a.setTimePosition(s);case"seekforward":return a.setTimePosition(o+3e4);case"seekto":return a.setTimePosition(1e3*r);default:return a[e]()}})),ly(cy(t),"render",(function(){var e=t.state.audioRef;return o.a.createElement("audio",{id:"media-session",src:"/iris/assets/silence.mp3",autoPlay:!0,loop:!0,style:{display:"none"},ref:e})})),t.state={current_track:null,stream_title:null,audioRef:o.a.createRef()},t}return t=a,r=[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.current_track,r=e.stream_title,i=void 0===r?null:r,a=e.play_state,o=e.time_position;if(n){var s=n.name,c=n.album,u=void 0===c?{}:c,l=n.artists,f=void 0===l?[]:l,d=n.images,p=void 0===d?{}:d;if(n.duration&&"setPositionState"in navigator.mediaSession){var h=Math.round(n.duration/1e3),m=Math.round(o/1e3),b={duration:h,position:m>h?h:m,playbackRate:1};try{navigator.mediaSession.setPositionState(b)}catch(e){console.error("Failed to set MediaSession position",{newPositionState:b,error:e})}}navigator.mediaSession.metadata=new window.MediaMetadata({title:i||s||"Unknown track",artist:f.length?f[0].name:"Unknown artist",album:u.name||"Unknown album",artwork:[].concat(ny(p.small?[{src:p.small,sizes:"96x96",type:"image/png"}]:[]),ny(p.medium?[{src:p.medium,sizes:"256x256",type:"image/png"}]:[]),ny(p.huge?[{src:p.huge,sizes:"512x512",type:"image/png"}]:[]))})}if(navigator.mediaSession.playbackState!==a){navigator.mediaSession.playbackState=a;var y=t.audioRef.current;y&&("paused"===a?y.pause():y.play())}return ty(ty({},t),{},{current_track:n,stream_title:i})}}],(n=[{key:"componentDidMount",value:function(){var e=this,t=navigator.mediaSession;t.setActionHandler("play",(function(){return e.actionHandler("play")})),t.setActionHandler("pause",(function(){return e.actionHandler("pause")})),t.setActionHandler("seekto",(function(t){return e.actionHandler("seekto",t)})),t.setActionHandler("previoustrack",(function(){return e.actionHandler("previous")})),t.setActionHandler("nexttrack",(function(){return e.actionHandler("next")}))}}])&&iy(t.prototype,n),r&&iy(t,r),a}(o.a.Component),dy=Object(u.b)((function(e){var t=e.core,n=t.items,r=t.current_track,i=t.stream_title;return{current_track:r?n[r.uri]||r:{},stream_title:i,play_state:e.mopidy.play_state,time_position:e.mopidy.time_position,volume:e.mopidy.volume,mute:e.mopidy.mute}}),(function(e){return{mopidyActions:Object(w.b)(Fa,e)}}))(fy);function py(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return hy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hy(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{publishSource:!0},r=n.publishSource,i=void 0===r||r,o=n.clientOffset,s=n.getSourceClientOffset,c=e.getMonitor(),u=e.getRegistry();e.dispatch(l(o)),v(t,c,u);var f=w(t,c);if(null!==f){var d=null;if(o){if(!s)throw new Error("getSourceClientOffset must be defined");g(s),d=s(f)}e.dispatch(l(o,d));var p=u.getSource(f),h=p.beginDrag(c,f);if(null!=h){_(h),u.pinSource(f);var m=u.getSourceType(f);return{type:a,payload:{itemType:m,item:h,sourceId:f,clientOffset:o||null,sourceClientOffset:d||null,isSourcePublic:!!i}}}}else e.dispatch(b)}}function v(e,t,n){Object(r.a)(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach((function(e){Object(r.a)(n.getSource(e),"Expected sourceIds to be registered.")}))}function g(e){Object(r.a)("function"==typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}function _(e){Object(r.a)(h(e),"Item must be an object.")}function w(e,t){for(var n=null,r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function E(e){return function(){if(e.getMonitor().isDragging())return{type:o}}}function k(e,t){return null===t?null===e:Array.isArray(e)?e.some((function(e){return e===t})):e===t}function O(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.clientOffset;S(t);var i=t.slice(0),a=e.getMonitor(),o=e.getRegistry();A(i,a,o);var c=a.getItemType();return j(i,o,c),x(i,a,o),{type:s,payload:{targetIds:i,clientOffset:r||null}}}}function S(e){Object(r.a)(Array.isArray(e),"Expected targetIds to be an array.")}function A(e,t,n){Object(r.a)(t.isDragging(),"Cannot call hover while not dragging."),Object(r.a)(!t.didDrop(),"Cannot call hover after drop.");for(var i=0;i=0;r--){var i=e[r];k(t.getTargetType(i),n)||e.splice(r,1)}}function x(e,t,n){e.forEach((function(e){n.getTarget(e).hover(t,e)}))}function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function C(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=e.getMonitor(),r=e.getRegistry();D(n);var i=R(n);i.forEach((function(i,a){var o=I(i,a,r,n),s={type:c,payload:{dropResult:C(C({},t),o)}};e.dispatch(s)}))}}function D(e){Object(r.a)(e.isDragging(),"Cannot call drop while not dragging."),Object(r.a)(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function I(e,t,n,i){var a=n.getTarget(e),o=a?a.drop(i,e):void 0;return function(e){Object(r.a)(void 0===e||h(e),"Drop result must either be an object or undefined.")}(o),void 0===o&&(o=0===t?{}:i.getDropResult()),o}function R(e){var t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function L(e){return function(){var t=e.getMonitor(),n=e.getRegistry();!function(e){Object(r.a)(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);var i=t.getSourceId();null!=i&&(n.getSource(i,!0).endDrag(t,i),n.unpinSource());return{type:u}}}function M(e,t){for(var n=0;n0;r.backend&&(e&&!r.isSetUp?(r.backend.setup(),r.isSetUp=!0):!e&&r.isSetUp&&(r.backend.teardown(),r.isSetUp=!1))})),this.store=t,this.monitor=n,t.subscribe(this.handleRefCountChange)}var t,n,r;return t=e,(n=[{key:"receiveBackend",value:function(e){this.backend=e}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.monitor.registry}},{key:"getActions",value:function(){var e=this,t=this.store.dispatch,n=function(e){return{beginDrag:y(e),publishDragSource:E(e),hover:O(e),drop:N(e),endDrag:L(e)}}(this);return Object.keys(n).reduce((function(r,i){var a,o=n[i];return r[i]=(a=o,function(){for(var n=arguments.length,r=new Array(n),i=0;i2&&void 0!==arguments[2]?arguments[2]:G;if(e.length!==t.length)return!1;for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:$,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case i:case a:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case s:return W(e.clientOffset,n.clientOffset)?e:X(X({},e),{},{clientOffset:n.clientOffset});case u:case c:return $;default:return e}}var ee="dnd-core/ADD_SOURCE",te="dnd-core/ADD_TARGET",ne="dnd-core/REMOVE_SOURCE",re="dnd-core/REMOVE_TARGET";function ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:se,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case a:return ae(ae({},e),{},{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case o:return ae(ae({},e),{},{isSourcePublic:!0});case s:return ae(ae({},e),{},{targetIds:n.targetIds});case re:return-1===e.targetIds.indexOf(n.targetId)?e:ae(ae({},e),{},{targetIds:p(e.targetIds,n.targetId)});case c:return ae(ae({},e),{},{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case u:return ae(ae({},e),{},{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function ue(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case ee:case te:return e+1;case ne:case re:return e-1;default:return e}}var le=[],fe=[];function de(e,t){return e!==le&&(e===fe||void 0===t||(n=e,t.filter((function(e){return n.indexOf(e)>-1}))).length>0);var n}function pe(){var e=arguments.length>1?arguments[1]:void 0;switch(e.type){case s:break;case ee:case te:case re:case ne:return le;case a:case o:case u:case c:default:return fe}var t=e.payload,n=t.targetIds,r=void 0===n?[]:n,i=t.prevTargetIds,l=void 0===i?[]:i,f=m(r,l),d=f.length>0||!K(r,l);if(!d)return le;var p=l[l.length-1],h=r[r.length-1];return p!==h&&(p&&f.push(p),h&&f.push(h)),f}function he(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e+1}function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function be(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return{dirtyHandlerIds:pe(e.dirtyHandlerIds,{type:t.type,payload:be(be({},t.payload),{},{prevTargetIds:d(e,"dragOperation.targetIds",[])})}),dragOffset:Z(e.dragOffset,t),refCount:ue(e.refCount,t),dragOperation:ce(e.dragOperation,t),stateId:he(e.stateId)}}function ge(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{handlerIds:void 0},i=n.handlerIds;Object(r.a)("function"==typeof e,"listener must be a function."),Object(r.a)(void 0===i||Array.isArray(i),"handlerIds, when specified, must be an array of strings.");var a=this.store.getState().stateId,o=function(){var n=t.store.getState(),r=n.stateId;try{r===a||r===a+1&&!de(n.dirtyHandlerIds,i)||e()}finally{a=r}};return this.store.subscribe(o)}},{key:"subscribeToOffsetChange",value:function(e){var t=this;Object(r.a)("function"==typeof e,"listener must be a function.");var n=this.store.getState().dragOffset;return this.store.subscribe((function(){var r=t.store.getState().dragOffset;r!==n&&(n=r,e())}))}},{key:"canDragSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e);return Object(r.a)(t,"Expected to find a valid source. sourceId=".concat(e)),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){if(!e)return!1;var t=this.registry.getTarget(e);return Object(r.a)(t,"Expected to find a valid target. targetId=".concat(e)),!(!this.isDragging()||this.didDrop())&&k(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e,!0);return Object(r.a)(t,"Expected to find a valid source. sourceId=".concat(e)),!(!this.isDragging()||!this.isSourcePublic())&&this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e)}},{key:"isOverTarget",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shallow:!1};if(!e)return!1;var n=t.shallow;if(!this.isDragging())return!1;var r=this.registry.getTargetType(e),i=this.getItemType();if(i&&!k(r,i))return!1;var a=this.getTargetIds();if(!a.length)return!1;var o=a.indexOf(e);return n?o===a.length-1:o>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return e=this.store.getState().dragOffset,r=e.clientOffset,i=e.initialClientOffset,a=e.initialSourceClientOffset,r&&i&&a?ge((n=a,{x:(t=r).x+n.x,y:t.y+n.y}),i):null;var e,t,n,r,i,a}},{key:"getDifferenceFromInitialOffset",value:function(){return e=this.store.getState().dragOffset,t=e.clientOffset,n=e.initialClientOffset,t&&n?ge(t,n):null;var e,t,n}}])&&_e(t.prototype,n),i&&_e(t,i),e}(),Oe=0;function Se(e){return(Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ae(e,t){t&&Array.isArray(e)?e.forEach((function(e){return Ae(e,!1)})):Object(r.a)("string"==typeof e||"symbol"===Se(e),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(Ee||(Ee={}));var je=n(207),xe=[],Te=[],Ce=je.a.makeRequestCallFromTimer((function(){if(Te.length)throw Te.shift()}));function Pe(e){var t;(t=xe.length?xe.pop():new Ne).task=e,Object(je.a)(t)}var Ne=function(){function e(){}return e.prototype.call=function(){try{this.task.call()}catch(e){Pe.onerror?Pe.onerror(e):(Te.push(e),Ce())}finally{this.task=null,xe[xe.length]=this}},e}();function De(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]&&arguments[1];Object(r.a)(this.isSourceId(e),"Expected a valid source ID.");var n=t&&e===this.pinnedSourceId,i=n?this.pinnedSource:this.dragSources.get(e);return i}},{key:"getTarget",value:function(e){return Object(r.a)(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}},{key:"getSourceType",value:function(e){return Object(r.a)(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}},{key:"getTargetType",value:function(e){return Object(r.a)(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}},{key:"isSourceId",value:function(e){return Ue(e)===Ee.SOURCE}},{key:"isTargetId",value:function(e){return Ue(e)===Ee.TARGET}},{key:"removeSource",value:function(e){var t=this;Object(r.a)(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:ne,payload:{sourceId:e}}}(e)),Pe((function(){t.dragSources.delete(e),t.types.delete(e)}))}},{key:"removeTarget",value:function(e){Object(r.a)(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:re,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}},{key:"pinSource",value:function(e){var t=this.getSource(e);Object(r.a)(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){Object(r.a)(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}},{key:"addHandler",value:function(e,t,n){var r=Me(e);return this.types.set(r,t),e===Ee.SOURCE?this.dragSources.set(r,n):e===Ee.TARGET&&this.dropTargets.set(r,n),r}}])&&De(t.prototype,n),i&&De(t,i),e}();function Be(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=He(r),a=new ke(i,new ze(i)),o=new F(i,a),s=e(o,t,n);return o.receiveBackend(s),o}function He(e){var t="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return Y(ve,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}},,,,,,function(e,t,n){"use strict";function r(e,t,n){var r=n.getRegistry(),i=r.addTarget(e,t);return[i,function(){return r.removeTarget(i)}]}function i(e,t,n){var r=n.getRegistry(),i=r.addSource(e,t);return[i,function(){return r.removeSource(i)}]}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return c}));var r=n(55),i=n(122),a={nowSeconds:function(){return Date.now()/1e3}};var o=Object(i.b)()?function(){try{return Object(i.a)(e,"perf_hooks").performance}catch(e){return}}():function(){var e=Object(r.e)().performance;if(e&&e.now)return{now:function(){return e.now()},timeOrigin:Date.now()-e.now()}}(),s=void 0===o?a:{nowSeconds:function(){return(o.timeOrigin+o.now())/1e3}},c=a.nowSeconds.bind(a);s.nowSeconds.bind(s),function(){var e=Object(r.e)().performance;if(e)e.timeOrigin?e.timeOrigin:e.timing&&e.timing.navigationStart||Date.now()}()}).call(this,n(183)(e))},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return p}));var r=n(295),i=n(0),a=n(606),o=n(205),s=["children"];function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,a=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){s=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(s)throw i}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var f=0,d=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__"),p=Object(i.memo)((function(e){var t=e.children,n=c(function(e){if("manager"in e){return[{dragDropManager:e.manager},!1]}var t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h(),n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=t;i[d]||(i[d]={dragDropManager:Object(a.a)(e,t,n,r)});return i[d]}(e.backend,e.context,e.options,e.debugMode),n=!e.context;return[t,n]}(l(e,s)),2),u=n[0],p=n[1];return Object(i.useEffect)((function(){if(p){var e=h();return++f,function(){0==--f&&(e[d]=null)}}}),[]),Object(r.jsx)(o.a.Provider,Object.assign({value:u},{children:t}),void 0)}));function h(){return void 0!==e?e:window}}).call(this,n(68))},function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n(612),i=n(56),a=n(60),o=n(16),s=n(0);function c(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n