From 5390066780f034d186e80147a085e8a99d97b847 Mon Sep 17 00:00:00 2001 From: Ana Date: Thu, 26 May 2022 19:25:56 +0100 Subject: [PATCH] New tiles Fix Soma FM tile not showing and added Jellyfin and podcasts tiles --- mopidy_iris/static/app.js | 10 +++++++++- mopidy_iris/static/app.min.js | 2 +- .../assets/backgrounds/browse-jellyfin.jpg | Bin 0 -> 35178 bytes .../assets/backgrounds/browse-podcasts.jpg | Bin 0 -> 84871 bytes 4 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 mopidy_iris/static/assets/backgrounds/browse-jellyfin.jpg create mode 100644 mopidy_iris/static/assets/backgrounds/browse-podcasts.jpg 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 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 E*-zstf&c&j literal 0 HcmV?d00001 diff --git a/mopidy_iris/static/assets/backgrounds/browse-podcasts.jpg b/mopidy_iris/static/assets/backgrounds/browse-podcasts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..62e64996e3cdbdaf8ff9354b2fe1391c4364d2cc GIT binary patch literal 84871 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 Q)%0)w09pS4(9w_o*%otB;{X5v literal 0 HcmV?d00001