diff --git a/src/ui/dist/assets/Albums-d39b4558.js b/src/ui/dist/assets/Albums-157252fb.js similarity index 59% rename from src/ui/dist/assets/Albums-d39b4558.js rename to src/ui/dist/assets/Albums-157252fb.js index ea17049c1..aef672ff4 100644 --- a/src/ui/dist/assets/Albums-d39b4558.js +++ b/src/ui/dist/assets/Albums-157252fb.js @@ -1 +1 @@ -import{C as s}from"./CollectionHeader-16e536cf.js";import{_ as t,c as a,g as c,o as n,l as _,m as d,a as p,e as l}from"./index-e23b36b9.js";const r={components:{CollectionHeader:s},name:"Albums"},m=e=>(_("data-v-f1ef2787"),e=e(),d(),e),i={class:"padding-20"},f=m(()=>p("div",{class:"albums"}," Albums ",-1));function u(e,v,b,h,C,x){const o=l("CollectionHeader");return n(),a("div",i,[c(o),f])}const $=t(r,[["render",u],["__scopeId","data-v-f1ef2787"]]);export{$ as default}; +import{C as s}from"./CollectionHeader-f21b5037.js";import{_ as t,c as a,g as c,o as n,l as _,m as d,a as p,e as l}from"./index-fe2c9584.js";const r={components:{CollectionHeader:s},name:"Albums"},m=e=>(_("data-v-f1ef2787"),e=e(),d(),e),i={class:"padding-20"},f=m(()=>p("div",{class:"albums"}," Albums ",-1));function u(e,v,b,h,C,x){const o=l("CollectionHeader");return n(),a("div",i,[c(o),f])}const $=t(r,[["render",u],["__scopeId","data-v-f1ef2787"]]);export{$ as default}; diff --git a/src/ui/dist/assets/Artist-0055545d.js b/src/ui/dist/assets/Artist-0055545d.js deleted file mode 100644 index 5c9ab5052..000000000 --- a/src/ui/dist/assets/Artist-0055545d.js +++ /dev/null @@ -1 +0,0 @@ -import{n as B,o as t,f as r,w as x,b as j,t as v,C as w,_ as F,A as H,q as h,bs as N,aI as R,c as o,bO as q,d as i,g as y,a,h as U,aA as V,F as _,i as g,u as z,bP as D,bJ as J,bZ as M,bY as E,l as O,m as Y,L as W,by as Z,s as G,bp as K}from"./index-e23b36b9.js";import{F as P}from"./FactCard-6c6c11f6.js";import{P as Q}from"./PlaylistHeader-ecbb25e6.js";import{P as X}from"./PlaylistEntry-3951f4a8.js";import{E as ee}from"./ExternalEntry-2fd0cbdd.js";import{s as te}from"./spotify-05acbfc2.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./playerInPicture-af203fdf.js";const ae=B({__name:"Tag",props:{tag:{type:String,required:!0},withHash:{type:Boolean,default:!1}},setup(c){return(b,C)=>(t(),r(w,{class:"tag px-4 py-2 cursor-pointer","with-hover":""},{default:x(()=>[j(v(c.withHash?"#":"")+v(c.tag),1)]),_:1}))}});const se=F(ae,[["__scopeId","data-v-2712639d"]]),k=c=>(O("data-v-49f5db63"),c=c(),Y(),c),le={key:1,class:"fill-page"},oe={key:2,class:"artist p-4"},re={class:"wrap"},ne={class:"artist__data"},ie={class:"upper"},ue={class:"trac__info__details__normal"},de={key:0,class:"mt-0 mb-2 flex flex-row gap-2"},ce={class:"flex flew-row items-center"},pe={class:"font-black text-5xl ml-4"},_e={class:"features flex flex-row gap-4 mt-4 overflow-x-auto"},ve={class:"spotify-infos pt-4 pb-2"},me={class:"meta items-center"},fe={key:0,class:"flex flex-row align-items"},he=k(()=>a("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),ye={class:"font-bold"},ge=k(()=>a("hr",{class:"mb-4"},null,-1)),xe={class:"items"},we={key:0,class:"spotify-suggestions mt-4"},ke=k(()=>a("h2",null,"Top Tracks",-1)),be={class:"items"},Ce=k(()=>a("h2",null,"Related Artists",-1)),Ie={class:"flex flex-row items-center gap-4"},$e={class:"flex flex-col"},Se={class:"font-bold"},Te=B({__name:"Artist",setup(c){const b=J();G();const C=H(()=>b.params.name),e=h(null),m=h(null),u=h(null),f=h("url"),d=h(!1),I=async()=>{const n=await fetch(`/api/artists/${C.value}`);e.value=await n.json(),m.value=null,u.value="",d.value=!1,e.value.metadata.id.length==22&&(u.value="https://open.spotify.com/artist/"+e.value.metadata.id,d.value=!0),f.value="link"},$=async n=>{await fetch(`/api/artists/${C.value}`,{method:"PUT",body:JSON.stringify({spotifyId:n})}),e.value=null,await I()};N(u,()=>{var n,l;if(((l=(n=e.value)==null?void 0:n.metadata)==null?void 0:l.id)==E(u.value,"artist")){f.value="link";return}f.value="save"});const L=()=>{if(f.value=="link"){M(u.value);return}$(E(u.value,"artist"))};return R(I),N(()=>b.params.name,()=>{e.value=null,I()}),(n,l)=>{var S,T,A;return t(),o(_,null,[e.value?(t(),r(q,{key:0,src:e.value.cover,class:"-z-10"},null,8,["src"])):i("",!0),e.value?(t(),o("div",oe,[a("div",re,[a("div",ne,[a("div",ie,[y(U,{src:e.value.cover,class:"max-w-sm rounded-xl",placeholder:"person"},null,8,["src"]),a("div",{class:V([{"justify-end":e.value.metadata,"justify-center":!e.value.metadata},"track__info__details flex flex-col"])},[a("div",ue,[(S=e.value.metadata)!=null&&S.genres?(t(),o("div",de,[(t(!0),o(_,null,g(e.value.metadata.genres,s=>(t(),r(se,{tag:s,"with-hash":""},null,8,["tag"]))),256))])):i("",!0),a("div",ce,[a("h1",pe,v(e.value.name),1)])]),e.value.metadata?(t(),o(_,{key:0},[a("div",_e,[e.value.metadata.followers?(t(),r(P,{key:0,"primary-text":e.value.metadata.followers.toLocaleString(),class:"w-full","secondary-text":"Followers"},null,8,["primary-text"])):i("",!0),e.value.songs.length?(t(),r(P,{key:1,"primary-text":e.value.songs.length,class:"w-full","secondary-text":"Tracks in Your Library"},null,8,["primary-text"])):i("",!0)]),a("div",ve,[a("div",me,[e.value.metadata.popularity?(t(),o("span",fe,[he,a("span",ye,v(e.value.metadata.popularity),1)])):i("",!0)]),y(z(te),{class:V([{enabled:d.value},"spotify-enable"]),onClick:l[0]||(l[0]=s=>d.value=!d.value)},null,8,["class"]),d.value?(t(),r(D,{key:0,modelValue:u.value,"onUpdate:modelValue":l[1]||(l[1]=s=>u.value=s),icon:f.value,onClick:L},null,8,["modelValue","icon"])):i("",!0),a("span",{class:"material-symbols-rounded cursor-pointer",onClick:l[2]||(l[2]=s=>d.value?$(!1):$(!0))},v(d.value?"delete":"search"),1)])],64)):i("",!0)],2)]),y(Q,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),ge,a("div",xe,[(t(!0),o(_,null,g(e.value.songs,s=>Z((t(),r(X,{index:e.value.songs.findIndex(p=>p.source==s.source),selected:m.value==s.id,song:s,"playlist-id":"track","with-album":"","with-cover":"","with-more":"",onClick:p=>m.value==s.id?m.value=-1:m.value=s.id,onUpdate:l[3]||(l[3]=p=>n.$emit("update"))},null,8,["index","selected","song","onClick"])),[[K,!0]])),256))]),e.value.metadata?(t(),o("div",we,[(T=e.value.metadata.topTracks)!=null&&T.length?(t(),r(w,{key:0,class:"p-4"},{default:x(()=>[ke,a("div",be,[(t(!0),o(_,null,g(e.value.metadata.topTracks,(s,p)=>(t(),r(ee,{index:p,song:s,"can-import":"","cannot-add":"","with-album":"","with-cover":"","with-more":"",onUpdate:l[4]||(l[4]=Ae=>n.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):i("",!0),(A=e.value.metadata.related)!=null&&A.length?(t(),r(w,{key:1,class:"p-4 flex flex-col gap-2 related overflow-y-auto"},{default:x(()=>[Ce,(t(!0),o(_,null,g(e.value.metadata.related,s=>(t(),r(w,{class:"cursor-pointer px-4 py-2","with-hover":"",onClick:p=>n.$router.push(`/artist/${s.name}`)},{default:x(()=>[a("div",Ie,[y(U,{src:s.cover,class:"w-8 h-8 rounded-xl",placeholder:"person"},null,8,["src"]),a("div",$e,[a("h3",Se,v(s.name),1)])])]),_:2},1032,["onClick"]))),256))]),_:1})):i("",!0)])):i("",!0)])])])):(t(),o("div",le,[y(W)]))],64)}}});const ze=F(Te,[["__scopeId","data-v-49f5db63"]]);export{ze as default}; diff --git a/src/ui/dist/assets/Artist-0055545d.js.gz b/src/ui/dist/assets/Artist-0055545d.js.gz deleted file mode 100644 index f3d996c41..000000000 Binary files a/src/ui/dist/assets/Artist-0055545d.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Artist-0471b7ab.js b/src/ui/dist/assets/Artist-0471b7ab.js new file mode 100644 index 000000000..d121d9620 --- /dev/null +++ b/src/ui/dist/assets/Artist-0471b7ab.js @@ -0,0 +1 @@ +import{n as B,o as t,f as r,w as x,b as H,t as v,C as w,_ as F,A as j,q as h,G as U,aP as D,c as o,bT as R,d as i,g as y,a,h as V,aH as A,F as _,i as g,u as q,T as z,bO as M,b$ as O,b_ as E,l as G,m as J,L as W,bD as Y,s as K,bv as Q}from"./index-fe2c9584.js";import{F as P}from"./FactCard-89ebd574.js";import{P as X}from"./PlaylistHeader-1850e9b2.js";import{P as Z}from"./PlaylistEntry-a7c7e55a.js";import{E as ee}from"./ExternalEntry-7bdbc9d0.js";import{s as te}from"./spotify-ec009aad.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./playerInPicture-af203fdf.js";const ae=B({__name:"Tag",props:{tag:{type:String,required:!0},withHash:{type:Boolean,default:!1}},setup(c){return(b,$)=>(t(),r(w,{class:"tag px-4 py-2 cursor-pointer","with-hover":""},{default:x(()=>[H(v(c.withHash?"#":"")+v(c.tag),1)]),_:1}))}});const se=F(ae,[["__scopeId","data-v-2712639d"]]),k=c=>(G("data-v-49f5db63"),c=c(),J(),c),le={key:1,class:"fill-page"},oe={key:2,class:"artist p-4"},re={class:"wrap"},ne={class:"artist__data"},ie={class:"upper"},ue={class:"trac__info__details__normal"},de={key:0,class:"mt-0 mb-2 flex flex-row gap-2"},ce={class:"flex flew-row items-center"},pe={class:"font-black text-5xl ml-4"},_e={class:"features flex flex-row gap-4 mt-4 overflow-x-auto"},ve={class:"spotify-infos pt-4 pb-2"},me={class:"meta items-center"},fe={key:0,class:"flex flex-row align-items"},he=k(()=>a("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),ye={class:"font-bold"},ge=k(()=>a("hr",{class:"mb-4"},null,-1)),xe={class:"items"},we={key:0,class:"spotify-suggestions mt-4"},ke=k(()=>a("h2",null,"Top Tracks",-1)),be={class:"items"},$e=k(()=>a("h2",null,"Related Artists",-1)),Ce={class:"flex flex-row items-center gap-4"},Ie={class:"flex flex-col"},Te={class:"font-bold"},Se=B({__name:"Artist",setup(c){const b=M();K();const $=j(()=>b.params.name),e=h(null),m=h(null),u=h(null),f=h("url"),d=h(!1),C=async()=>{const n=await fetch(`/api/artists/${$.value}`);e.value=await n.json(),m.value=null,u.value="",d.value=!1,e.value.metadata.id.length==22&&(u.value="https://open.spotify.com/artist/"+e.value.metadata.id,d.value=!0),f.value="link"},I=async n=>{await fetch(`/api/artists/${$.value}`,{method:"PUT",body:JSON.stringify({spotifyId:n})}),e.value=null,await C()};U(u,()=>{var n,l;if(((l=(n=e.value)==null?void 0:n.metadata)==null?void 0:l.id)==E(u.value,"artist")){f.value="link";return}f.value="save"});const L=()=>{if(f.value=="link"){O(u.value);return}I(E(u.value,"artist"))};return D(C),U(()=>b.params.name,()=>{e.value=null,C()}),(n,l)=>{var T,S,N;return t(),o(_,null,[e.value?(t(),r(R,{key:0,src:e.value.cover,class:"-z-10"},null,8,["src"])):i("",!0),e.value?(t(),o("div",oe,[a("div",re,[a("div",ne,[a("div",ie,[y(V,{src:e.value.cover,class:"max-w-sm rounded-xl",placeholder:"person"},null,8,["src"]),a("div",{class:A([{"justify-end":e.value.metadata,"justify-center":!e.value.metadata},"track__info__details flex flex-col"])},[a("div",ue,[(T=e.value.metadata)!=null&&T.genres?(t(),o("div",de,[(t(!0),o(_,null,g(e.value.metadata.genres,s=>(t(),r(se,{tag:s,"with-hash":""},null,8,["tag"]))),256))])):i("",!0),a("div",ce,[a("h1",pe,v(e.value.name),1)])]),e.value.metadata?(t(),o(_,{key:0},[a("div",_e,[e.value.metadata.followers?(t(),r(P,{key:0,"primary-text":e.value.metadata.followers.toLocaleString(),class:"w-full","secondary-text":"Followers"},null,8,["primary-text"])):i("",!0),e.value.songs.length?(t(),r(P,{key:1,"primary-text":e.value.songs.length,class:"w-full","secondary-text":"Tracks in Your Library"},null,8,["primary-text"])):i("",!0)]),a("div",ve,[a("div",me,[e.value.metadata.popularity?(t(),o("span",fe,[he,a("span",ye,v(e.value.metadata.popularity),1)])):i("",!0)]),y(q(te),{class:A([{enabled:d.value},"spotify-enable"]),onClick:l[0]||(l[0]=s=>d.value=!d.value)},null,8,["class"]),d.value?(t(),r(z,{key:0,modelValue:u.value,"onUpdate:modelValue":l[1]||(l[1]=s=>u.value=s),icon:f.value,onClick:L},null,8,["modelValue","icon"])):i("",!0),a("span",{class:"material-symbols-rounded cursor-pointer",onClick:l[2]||(l[2]=s=>d.value?I(!1):I(!0))},v(d.value?"delete":"search"),1)])],64)):i("",!0)],2)]),y(X,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),ge,a("div",xe,[(t(!0),o(_,null,g(e.value.songs,s=>Y((t(),r(Z,{index:e.value.songs.findIndex(p=>p.source==s.source),selected:m.value==s.id,song:s,"playlist-id":"track","with-album":"","with-cover":"","with-more":"",onClick:p=>m.value==s.id?m.value=-1:m.value=s.id,onUpdate:l[3]||(l[3]=p=>n.$emit("update"))},null,8,["index","selected","song","onClick"])),[[Q,!0]])),256))]),e.value.metadata?(t(),o("div",we,[(S=e.value.metadata.topTracks)!=null&&S.length?(t(),r(w,{key:0,class:"p-4"},{default:x(()=>[ke,a("div",be,[(t(!0),o(_,null,g(e.value.metadata.topTracks,(s,p)=>(t(),r(ee,{index:p,song:s,"can-import":"","cannot-add":"","with-album":"","with-cover":"","with-more":"",onUpdate:l[4]||(l[4]=Ne=>n.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):i("",!0),(N=e.value.metadata.related)!=null&&N.length?(t(),r(w,{key:1,class:"p-4 flex flex-col gap-2 related overflow-y-auto"},{default:x(()=>[$e,(t(!0),o(_,null,g(e.value.metadata.related,s=>(t(),r(w,{class:"cursor-pointer px-4 py-2","with-hover":"",onClick:p=>n.$router.push(`/artist/${s.name}`)},{default:x(()=>[a("div",Ce,[y(V,{src:s.cover,class:"w-8 h-8 rounded-xl",placeholder:"person"},null,8,["src"]),a("div",Ie,[a("h3",Te,v(s.name),1)])])]),_:2},1032,["onClick"]))),256))]),_:1})):i("",!0)])):i("",!0)])])])):(t(),o("div",le,[y(W)]))],64)}}});const qe=F(Se,[["__scopeId","data-v-49f5db63"]]);export{qe as default}; diff --git a/src/ui/dist/assets/Artist-0471b7ab.js.gz b/src/ui/dist/assets/Artist-0471b7ab.js.gz new file mode 100644 index 000000000..9b81cfe5a Binary files /dev/null and b/src/ui/dist/assets/Artist-0471b7ab.js.gz differ diff --git a/src/ui/dist/assets/ArtistItem-e888ed10.js b/src/ui/dist/assets/ArtistItem-1dbe560d.js similarity index 94% rename from src/ui/dist/assets/ArtistItem-e888ed10.js rename to src/ui/dist/assets/ArtistItem-1dbe560d.js index 807065cb2..1efb62db2 100644 --- a/src/ui/dist/assets/ArtistItem-e888ed10.js +++ b/src/ui/dist/assets/ArtistItem-1dbe560d.js @@ -1 +1 @@ -import{_ as w,C as g,o as a,f as h,w as l,g as r,a as e,t as c,c as p,d as y,e as n}from"./index-e23b36b9.js";const v={components:{Card:g},name:"ArtistItem",methods:{follow(s){s.stopPropagation();const o=this.following?"DELETE":"POST";fetch("/api/spotify/following",{method:o,body:JSON.stringify({artistId:this.id})}).then(t=>{t.status==200&&(this.following=!this.following)})}},data(){return{following:!1}},props:{cover:String,name:String,description:String,id:String,showFollowButton:Boolean}},k={class:"item"},B=["src"],C=["innerHTML"];function S(s,o,t,b,_,i){const d=n("add-artist-to-playlist"),m=n("Card"),f=n("router-link");return a(),h(f,{to:"/artist/"+t.name,class:"noLink"},{default:l(()=>[r(m,{class:"wrapper","with-hover":""},{default:l(()=>[r(d,{ref:"import",artist:{id:t.id,name:t.name,href:`https://open.spotify.com/artist/${t.id}`,image:t.cover}},null,8,["artist"]),e("div",k,[e("img",{src:t.cover},null,8,B),e("h4",null,c(t.name),1),e("p",{innerHTML:t.description},null,8,C),t.showFollowButton?(a(),p("button",{key:0,class:"followButton",onClick:o[0]||(o[0]=(...u)=>i.follow&&i.follow(...u))},c(_.following?"Following":"Follow"),1)):y("",!0)])]),_:1})]),_:1},8,["to"])}const I=w(v,[["render",S],["__scopeId","data-v-bb954325"]]);export{I as A}; +import{_ as w,C as g,o as a,f as h,w as l,g as r,a as e,t as c,c as p,d as y,e as n}from"./index-fe2c9584.js";const v={components:{Card:g},name:"ArtistItem",methods:{follow(s){s.stopPropagation();const o=this.following?"DELETE":"POST";fetch("/api/spotify/following",{method:o,body:JSON.stringify({artistId:this.id})}).then(t=>{t.status==200&&(this.following=!this.following)})}},data(){return{following:!1}},props:{cover:String,name:String,description:String,id:String,showFollowButton:Boolean}},k={class:"item"},B=["src"],C=["innerHTML"];function S(s,o,t,b,_,i){const d=n("add-artist-to-playlist"),m=n("Card"),f=n("router-link");return a(),h(f,{to:"/artist/"+t.name,class:"noLink"},{default:l(()=>[r(m,{class:"wrapper","with-hover":""},{default:l(()=>[r(d,{ref:"import",artist:{id:t.id,name:t.name,href:`https://open.spotify.com/artist/${t.id}`,image:t.cover}},null,8,["artist"]),e("div",k,[e("img",{src:t.cover},null,8,B),e("h4",null,c(t.name),1),e("p",{innerHTML:t.description},null,8,C),t.showFollowButton?(a(),p("button",{key:0,class:"followButton",onClick:o[0]||(o[0]=(...u)=>i.follow&&i.follow(...u))},c(_.following?"Following":"Follow"),1)):y("",!0)])]),_:1})]),_:1},8,["to"])}const I=w(v,[["render",S],["__scopeId","data-v-bb954325"]]);export{I as A}; diff --git a/src/ui/dist/assets/ArtistItem-1dbe560d.js.gz b/src/ui/dist/assets/ArtistItem-1dbe560d.js.gz new file mode 100644 index 000000000..98fbb2fa3 Binary files /dev/null and b/src/ui/dist/assets/ArtistItem-1dbe560d.js.gz differ diff --git a/src/ui/dist/assets/ArtistItem-e888ed10.js.gz b/src/ui/dist/assets/ArtistItem-e888ed10.js.gz deleted file mode 100644 index 70dd3f310..000000000 Binary files a/src/ui/dist/assets/ArtistItem-e888ed10.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Artists-62c5f05c.js b/src/ui/dist/assets/Artists-2a83adb2.js similarity index 73% rename from src/ui/dist/assets/Artists-62c5f05c.js rename to src/ui/dist/assets/Artists-2a83adb2.js index c1cee110b..6cebf4a16 100644 --- a/src/ui/dist/assets/Artists-62c5f05c.js +++ b/src/ui/dist/assets/Artists-2a83adb2.js @@ -1 +1 @@ -import{F as p}from"./FullShelf-c00e086a.js";import{A as d}from"./ArtistItem-e888ed10.js";import{C as f}from"./CollectionHeader-16e536cf.js";import{_ as m,c as i,g as n,a as u,w as h,e,o,F as v,i as y,f as A}from"./index-e23b36b9.js";const g={components:{CollectionHeader:f,ArtistItem:d,FullShelf:p},name:"Artists",data(){return fetch("/api/spotify/artists").then(t=>t.json()).then(t=>this.spotifyArtists.push(...t)),{spotifyArtists:[]}}},C={class:"padding-20"},w={class:"artists"};function x(t,F,k,B,r,H){const a=e("CollectionHeader"),c=e("artist-item"),_=e("full-shelf");return o(),i("div",C,[n(a),u("div",w,[n(_,{heading:"Following on Spotify"},{default:h(()=>[(o(!0),i(v,null,y(r.spotifyArtists,(s,l)=>(o(),A(c,{id:s.id,key:l,cover:s.cover,description:s.description,name:s.name,"show-follow-button":""},null,8,["id","cover","description","name"]))),128))]),_:1})])])}const V=m(g,[["render",x],["__scopeId","data-v-0e44c266"]]);export{V as default}; +import{F as p}from"./FullShelf-6722f9a0.js";import{A as d}from"./ArtistItem-1dbe560d.js";import{C as f}from"./CollectionHeader-f21b5037.js";import{_ as m,c as i,g as n,a as u,w as h,e,o,F as v,i as y,f as A}from"./index-fe2c9584.js";const g={components:{CollectionHeader:f,ArtistItem:d,FullShelf:p},name:"Artists",data(){return fetch("/api/spotify/artists").then(t=>t.json()).then(t=>this.spotifyArtists.push(...t)),{spotifyArtists:[]}}},C={class:"padding-20"},w={class:"artists"};function x(t,F,k,B,r,H){const a=e("CollectionHeader"),c=e("artist-item"),_=e("full-shelf");return o(),i("div",C,[n(a),u("div",w,[n(_,{heading:"Following on Spotify"},{default:h(()=>[(o(!0),i(v,null,y(r.spotifyArtists,(s,l)=>(o(),A(c,{id:s.id,key:l,cover:s.cover,description:s.description,name:s.name,"show-follow-button":""},null,8,["id","cover","description","name"]))),128))]),_:1})])])}const V=m(g,[["render",x],["__scopeId","data-v-0e44c266"]]);export{V as default}; diff --git a/src/ui/dist/assets/BigPlayer-1a9916b1.css b/src/ui/dist/assets/BigPlayer-1a9916b1.css new file mode 100644 index 000000000..f167e3e8f --- /dev/null +++ b/src/ui/dist/assets/BigPlayer-1a9916b1.css @@ -0,0 +1 @@ +.settings[data-v-0dc7138d]{position:absolute;bottom:0;left:0;display:flex;flex-direction:row;justify-content:flex-end;padding:10px}.bigPlayer[data-v-0dc7138d]{overflow:hidden}.playlist-overflow[data-v-0dc7138d]{flex:2;height:calc(100% - 220px);margin:100px 0;overflow:hidden}.playlist-overflow .playlist[data-v-0dc7138d]{overflow-y:auto;height:100%;padding:10px 20px}.iconButton[data-v-0dc7138d]{font-size:2em;border-radius:10px;padding:5px;font-variation-settings:"wght" 200}.iconButton[data-v-0dc7138d]:hover{cursor:pointer;background-clip:text;-webkit-background-clip:text;color:transparent;background:var(--bg-hover-lt);color:var(--fg-secondary)}.bigPlayer[data-v-0dc7138d]{position:relative;display:flex;flex-direction:row;padding:40px;align-items:center;z-index:1;height:100%;filter:none}.bigPlayer .upNow[data-v-0dc7138d]{flex:3;display:flex;flex-direction:row;justify-content:center;position:relative}@keyframes pump-0dc7138d{0%{transform:scale(1);opacity:0}6%{transform:scale(1);opacity:0}7%{transform:scale(1);opacity:1}85%{transform:scale(1);opacity:1}95%{transform:scale(5);opacity:0}97%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:0}}.bigPlayer .upNow img[data-v-0dc7138d]{transition:transform .5s;animation:pump-0dc7138d 20s infinite ease-in-out}.bigPlayer .upNow img[data-v-0dc7138d]:not(.playing){transform:scale(.95);animation:none}.bigPlayer .upNow img[data-v-0dc7138d]:not(.animate){animation:none}.bigPlayer .upNow .blocks[data-v-0dc7138d]{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:80%;height:100%;max-width:min(80%,600px);border-radius:20px;position:absolute}@keyframes increase1-0dc7138d{0%{transform:scaleX(0);transform-origin:0% 50%}1%{transform:scaleX(0)}4%{transform:scaleX(1);transform-origin:0% 50%}6%{transform:scaleX(1);transform-origin:100% 50%}9%{transform:scaleX(0)}to{transform:scaleX(0);transform-origin:100% 50%}}.bigPlayer .upNow .blocks .block[data-v-0dc7138d]{transform:scaleX(0);background:var(--fg-contrast);width:100%;flex:1;transform-origin:0% 50%;animation:increase1-0dc7138d 20s infinite ease-in-out}.bigPlayer .upNow .blocks .block[data-v-0dc7138d]:first-child{border-radius:20px 20px 0 0}.bigPlayer .upNow .blocks .block[data-v-0dc7138d]:last-child{border-radius:0 0 20px 20px}.bigPlayer .upNow .blocks:not(.animate) .block[data-v-0dc7138d],.bigPlayer .upNow .blocks:not(.playing) .block[data-v-0dc7138d]{animation:none;opacity:0}.bigPlayer .upNow img[data-v-0dc7138d]{width:80%;height:auto;max-width:600px;border-radius:20px}.no-playlist-selected[data-v-0dc7138d]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%}.no-playlist-selected .wrapper[data-v-0dc7138d]{width:80%;background:var(--bg-base-lt);border-radius:20px;overflow:hidden;padding:20px}.no-playlist-selected .wrapper h2[data-v-0dc7138d]{margin-top:0}.no-playlist-selected .wrapper .playlists[data-v-0dc7138d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.no-playlist-selected .wrapper .playlists .wrapper[data-v-0dc7138d]{padding:0} diff --git a/src/ui/dist/assets/BigPlayer-1a9916b1.css.gz b/src/ui/dist/assets/BigPlayer-1a9916b1.css.gz new file mode 100644 index 000000000..5f3a7b16a Binary files /dev/null and b/src/ui/dist/assets/BigPlayer-1a9916b1.css.gz differ diff --git a/src/ui/dist/assets/BigPlayer-4a9a8458.js b/src/ui/dist/assets/BigPlayer-4a9a8458.js deleted file mode 100644 index 2e4cdbad1..000000000 --- a/src/ui/dist/assets/BigPlayer-4a9a8458.js +++ /dev/null @@ -1 +0,0 @@ -import{n as E,B as M,j as V,A as i,q as c,bs as z,aI as D,c as d,u as a,F as _,a as e,g as w,aA as P,h as F,y as f,f as g,w as O,C as j,d as q,t as b,i as x,l as H,m as L,o as l,bB as G,_ as J}from"./index-e23b36b9.js";import{P as K}from"./PlaylistEntry-3951f4a8.js";import{P as Q}from"./PlaylistHeader-ecbb25e6.js";import{P as R}from"./PlaylistItem-5e6b8631.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./playerInPicture-af203fdf.js";import"./Playlist-48798df5.js";import"./ExternalEntry-2fd0cbdd.js";const B=u=>(H("data-v-4563893d"),u=u(),L(),u),U={class:"bigPlayer"},W={class:"upNow"},X=B(()=>e("div",{style:{"animation-delay":"0s"},class:"block"},null,-1)),Y={class:"settings"},Z={key:1,class:"no-playlist-selected"},ss={class:"wrapper"},es=B(()=>e("h2",null,"Nothing playing yet...",-1)),ts={class:"playlists"},as=E({__name:"BigPlayer",emits:["maximise"],setup(u,{emit:C}){const t=M(),S=V(),k=i(()=>t.playing),I=i(()=>t.song.cover),$=i(()=>t.song.id);i(()=>t.playlist),i(()=>t.playlist.id);const h=i(()=>t.loaded?`${t.song.title} • ${t.song.artist}`:"reAudioPlayer One"),N=i(()=>S.playlists),v=c(null);document.title=h.value,z(h,r=>{document.title=r}),D(()=>{window.setTimeout(()=>{var o,s;if((o=v.value)!=null&&o.scrollTop)return;const r=(s=document.getElementById(`bplayer-entry-${$.value}`))==null?void 0:s.offsetTop;r>=354&&(v.value.scrollTop=r-354)},1e3)});let p=c(!1);const T=()=>{p.value=!p.value,C("maximise",p.value)},m=c(!1),n=c(!1),y=c(-1);return(r,o)=>(l(),d("div",U,[a(t).loaded?(l(),d(_,{key:0},[e("div",W,[w(F,{class:P([{playing:a(k),animate:n.value},"drop-shadow-2xl"]),src:a(I),type:"track","with-ambient":""},null,8,["class","src"]),e("div",{class:P([{playing:a(k),animate:n.value},"blocks"])},[X,e("div",{style:f({"animation-delay":".25s"}),class:"block"},null,4),e("div",{style:f({"animation-delay":".5s"}),class:"block"},null,4)],2)]),m.value?q("",!0):(l(),g(j,{class:"playlistOverflow drop-shadow-2xl relative",key:a(t).playlist.id},{default:O(()=>[e("div",{ref_key:"playlistScroll",ref:v,class:"playlist"},[w(Q),(l(!0),d(_,null,x(a(t).playlist.songs,(s,A)=>(l(),g(K,{id:"bplayer-entry-"+s.id,key:s.source,index:A,selected:y.value==s.id,song:s,"with-cover":"",onClick:ls=>y.value==s.id?y.value=-1:y.value=s.id},null,8,["id","index","selected","song","onClick"]))),128))],512)]),_:1})),e("div",Y,[e("span",{class:"iconButton material-symbols-rounded",onClick:T},b(a(p)?"fullscreen_exit":"fullscreen"),1),e("span",{style:f({transform:`rotate(${m.value?0:180}deg)`}),class:"iconButton material-symbols-rounded",onClick:o[0]||(o[0]=()=>m.value=!m.value)},"menu_open",4),e("span",{class:"iconButton material-symbols-rounded",onClick:o[1]||(o[1]=()=>n.value=!n.value)},b(n.value?"motion_photos_off":"animation"),1)])],64)):(l(),d("div",Z,[e("div",ss,[es,e("div",ts,[(l(!0),d(_,null,x(a(N),s=>(l(),g(R,{key:s.id,cover:s.cover,description:s.description,title:s.name,onClick:G(()=>a(t).loadPlaylist(s.id),["stop"])},null,8,["cover","description","title","onClick"]))),128))])])]))]))}});const fs=J(as,[["__scopeId","data-v-4563893d"]]);export{fs as default}; diff --git a/src/ui/dist/assets/BigPlayer-4a9a8458.js.gz b/src/ui/dist/assets/BigPlayer-4a9a8458.js.gz deleted file mode 100644 index 9b3f55135..000000000 Binary files a/src/ui/dist/assets/BigPlayer-4a9a8458.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/BigPlayer-84aacaed.css b/src/ui/dist/assets/BigPlayer-84aacaed.css deleted file mode 100644 index 3f3c66c40..000000000 --- a/src/ui/dist/assets/BigPlayer-84aacaed.css +++ /dev/null @@ -1 +0,0 @@ -.settings[data-v-4563893d]{position:absolute;bottom:0;left:0;display:flex;flex-direction:row;justify-content:flex-end;padding:10px}.bigPlayer[data-v-4563893d]{overflow:hidden}.iconButton[data-v-4563893d]{font-size:2em;border-radius:10px;padding:5px;font-variation-settings:"wght" 200}.iconButton[data-v-4563893d]:hover{cursor:pointer;background-clip:text;-webkit-background-clip:text;color:transparent;background:var(--bg-hover-lt);color:var(--fg-secondary)}.bigPlayer[data-v-4563893d]{position:relative;display:flex;flex-direction:row;padding:40px;align-items:center;z-index:1;height:100%;filter:none}.bigPlayer .upNow[data-v-4563893d]{flex:3;display:flex;flex-direction:row;justify-content:center;position:relative}@keyframes pump-4563893d{0%{transform:scale(1);opacity:0}6%{transform:scale(1);opacity:0}7%{transform:scale(1);opacity:1}85%{transform:scale(1);opacity:1}95%{transform:scale(5);opacity:0}97%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:0}}.bigPlayer .upNow img[data-v-4563893d]{transition:transform .5s;animation:pump-4563893d 20s infinite ease-in-out}.bigPlayer .upNow img[data-v-4563893d]:not(.playing){transform:scale(.95);animation:none}.bigPlayer .upNow img[data-v-4563893d]:not(.animate){animation:none}.bigPlayer .upNow .blocks[data-v-4563893d]{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:80%;height:100%;max-width:min(80%,600px);border-radius:20px;position:absolute}@keyframes increase1-4563893d{0%{transform:scaleX(0);transform-origin:0% 50%}1%{transform:scaleX(0)}4%{transform:scaleX(1);transform-origin:0% 50%}6%{transform:scaleX(1);transform-origin:100% 50%}9%{transform:scaleX(0)}to{transform:scaleX(0);transform-origin:100% 50%}}.bigPlayer .upNow .blocks .block[data-v-4563893d]{transform:scaleX(0);background:var(--fg-contrast);width:100%;flex:1;transform-origin:0% 50%;animation:increase1-4563893d 20s infinite ease-in-out}.bigPlayer .upNow .blocks .block[data-v-4563893d]:first-child{border-radius:20px 20px 0 0}.bigPlayer .upNow .blocks .block[data-v-4563893d]:last-child{border-radius:0 0 20px 20px}.bigPlayer .upNow .blocks:not(.animate) .block[data-v-4563893d],.bigPlayer .upNow .blocks:not(.playing) .block[data-v-4563893d]{animation:none;opacity:0}.bigPlayer .upNow img[data-v-4563893d]{width:80%;height:auto;max-width:600px;border-radius:20px}.bigPlayer .playlistOverflow[data-v-4563893d]{flex:2;height:calc(100% - 220px);margin:100px 0;overflow:hidden}.bigPlayer .playlistOverflow .playlist[data-v-4563893d]{overflow-y:auto;height:100%;padding:10px 20px}.no-playlist-selected[data-v-4563893d]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%}.no-playlist-selected .wrapper[data-v-4563893d]{width:80%;background:var(--bg-base-lt);border-radius:20px;overflow:hidden;padding:20px}.no-playlist-selected .wrapper h2[data-v-4563893d]{margin-top:0}.no-playlist-selected .wrapper .playlists[data-v-4563893d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.no-playlist-selected .wrapper .playlists .wrapper[data-v-4563893d]{padding:0} diff --git a/src/ui/dist/assets/BigPlayer-84aacaed.css.gz b/src/ui/dist/assets/BigPlayer-84aacaed.css.gz deleted file mode 100644 index d6d7c2a97..000000000 Binary files a/src/ui/dist/assets/BigPlayer-84aacaed.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/BigPlayer-87cb4568.js b/src/ui/dist/assets/BigPlayer-87cb4568.js new file mode 100644 index 000000000..afe440648 --- /dev/null +++ b/src/ui/dist/assets/BigPlayer-87cb4568.js @@ -0,0 +1 @@ +import{n as T,B as M,j as V,A as c,q as m,G as z,aP as A,c as u,u as t,F as h,a as s,g as k,aH as w,h as D,y,f as x,w as E,d as F,t as B,i as G,e as j,l as q,m as H,o,bG as L,_ as O}from"./index-fe2c9584.js";import{_ as J}from"./Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js";import{P as K}from"./PlaylistItem-0efbc30a.js";import"./PlaylistEntry-a7c7e55a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-1850e9b2.js";import"./Playlist-41f8fb8f.js";import"./ExternalEntry-7bdbc9d0.js";const C=r=>(q("data-v-0dc7138d"),r=r(),H(),r),Q={class:"bigPlayer"},R={class:"upNow"},U=C(()=>s("div",{style:{"animation-delay":"0s"},class:"block"},null,-1)),W={class:"settings"},X={key:1,class:"no-playlist-selected"},Y={class:"wrapper"},Z=C(()=>s("h2",null,"Nothing playing yet...",-1)),ss={class:"playlists"},es=T({__name:"BigPlayer",emits:["maximise"],setup(r,{emit:b}){const e=M(),P=V(),v=c(()=>e.playing),S=c(()=>e.song.cover),I=c(()=>e.song.id),f=c(()=>e.loaded?`${e.song.title} • ${e.song.artist}`:"reAudioPlayer One"),$=c(()=>P.playlists),g=m(null);document.title=f.value,z(f,i=>{document.title=i}),A(()=>{window.setTimeout(()=>{var a,p;if((a=g.value)!=null&&a.scrollTop)return;const i=(p=document.getElementById(`bplayer-entry-${I.value}`))==null?void 0:p.offsetTop;i>=354&&(g.value.scrollTop=i-354)},1e3)});let d=m(!1);const N=()=>{d.value=!d.value,b("maximise",d.value)},_=m(!1),l=m(!1);return(i,a)=>{const p=j("Card");return o(),u("div",Q,[t(e).loaded?(o(),u(h,{key:0},[s("div",R,[k(D,{class:w([{playing:t(v),animate:l.value},"drop-shadow-2xl"]),src:t(S),type:"track","with-ambient":""},null,8,["class","src"]),s("div",{class:w([{playing:t(v),animate:l.value},"blocks"])},[U,s("div",{style:y({"animation-delay":".25s"}),class:"block"},null,4),s("div",{style:y({"animation-delay":".5s"}),class:"block"},null,4)],2)]),t(e).playlist?(o(),x(p,{class:"playlist-overflow drop-shadow-2xl relative",key:t(e).playlist.id},{default:E(()=>[k(J,{playlist:t(e).playlist},null,8,["playlist"])]),_:1})):F("",!0),s("div",W,[s("span",{class:"iconButton material-symbols-rounded",onClick:N},B(t(d)?"fullscreen_exit":"fullscreen"),1),s("span",{style:y({transform:`rotate(${_.value?0:180}deg)`}),class:"iconButton material-symbols-rounded",onClick:a[0]||(a[0]=()=>_.value=!_.value)},"menu_open",4),s("span",{class:"iconButton material-symbols-rounded",onClick:a[1]||(a[1]=()=>l.value=!l.value)},B(l.value?"motion_photos_off":"animation"),1)])],64)):(o(),u("div",X,[s("div",Y,[Z,s("div",ss,[(o(!0),u(h,null,G(t($),n=>(o(),x(K,{key:n.id,cover:n.cover,description:n.description,title:n.name,onClick:L(()=>t(e).loadPlaylist(n.id),["stop"])},null,8,["cover","description","title","onClick"]))),128))])])]))])}}});const ys=O(es,[["__scopeId","data-v-0dc7138d"]]);export{ys as default}; diff --git a/src/ui/dist/assets/BigPlayer-87cb4568.js.gz b/src/ui/dist/assets/BigPlayer-87cb4568.js.gz new file mode 100644 index 000000000..d4d3b2b01 Binary files /dev/null and b/src/ui/dist/assets/BigPlayer-87cb4568.js.gz differ diff --git a/src/ui/dist/assets/Breaking-1c37c796.js b/src/ui/dist/assets/Breaking-1c37c796.js new file mode 100644 index 000000000..71a9c23a9 --- /dev/null +++ b/src/ui/dist/assets/Breaking-1c37c796.js @@ -0,0 +1 @@ +import{I as r}from"./index-06cb9ce9.js";import{f as o,o as t}from"./index-fe2c9584.js";import"./index.vue_vue_type_script_setup_true_lang-25852a10.js";import"./FactCard-89ebd574.js";import"./PlaylistEntry-a7c7e55a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-1850e9b2.js";const x={__name:"Breaking",setup(i){return(p,m)=>(t(),o(r,{id:"breaking",icon:"trending_up"}))}};export{x as default}; diff --git a/src/ui/dist/assets/Breaking-9f943681.js b/src/ui/dist/assets/Breaking-9f943681.js deleted file mode 100644 index 956d52692..000000000 --- a/src/ui/dist/assets/Breaking-9f943681.js +++ /dev/null @@ -1 +0,0 @@ -import{I as r}from"./index-b54fd673.js";import{f as o,o as t}from"./index-e23b36b9.js";import"./index.vue_vue_type_script_setup_true_lang-907870b4.js";import"./FactCard-6c6c11f6.js";import"./PlaylistEntry-3951f4a8.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-ecbb25e6.js";const B={__name:"Breaking",setup(p){return(i,m)=>(t(),o(r,{id:-2,icon:"trending_up",src:"/api/me/new"}))}};export{B as default}; diff --git a/src/ui/dist/assets/CollectionHeader-16e536cf.js b/src/ui/dist/assets/CollectionHeader-f21b5037.js similarity index 91% rename from src/ui/dist/assets/CollectionHeader-16e536cf.js rename to src/ui/dist/assets/CollectionHeader-f21b5037.js index 01f9a62f5..0b76b7172 100644 --- a/src/ui/dist/assets/CollectionHeader-16e536cf.js +++ b/src/ui/dist/assets/CollectionHeader-f21b5037.js @@ -1 +1 @@ -import{_ as l,o as n,c as _,g as s,w as t,d as i,e as d,l as r,m as p,a as c}from"./index-e23b36b9.js";const u={name:"CollectionHeader",props:{href:String}},a=e=>(r("data-v-88d87bb1"),e=e(),p(),e),m={class:"wrapper"},f=a(()=>c("div",{class:"collection"}," Playlists ",-1)),h=a(()=>c("div",{class:"collection"}," Releases ",-1)),v=a(()=>c("div",{class:"collection"}," Artists ",-1));function k(e,C,b,x,w,y){const o=d("router-link");return n(),_("div",m,[s(o,{class:"link",to:"/collection/playlists"},{default:t(()=>[f]),_:1}),s(o,{class:"link",to:"/collection/releases"},{default:t(()=>[h]),_:1}),s(o,{class:"link",to:"/collection/artists"},{default:t(()=>[v]),_:1}),i("",!0)])}const S=l(u,[["render",k],["__scopeId","data-v-88d87bb1"]]);export{S as C}; +import{_ as l,o as n,c as _,g as s,w as t,d as i,e as d,l as r,m as p,a as c}from"./index-fe2c9584.js";const u={name:"CollectionHeader",props:{href:String}},a=e=>(r("data-v-88d87bb1"),e=e(),p(),e),m={class:"wrapper"},f=a(()=>c("div",{class:"collection"}," Playlists ",-1)),h=a(()=>c("div",{class:"collection"}," Releases ",-1)),v=a(()=>c("div",{class:"collection"}," Artists ",-1));function k(e,C,b,x,w,y){const o=d("router-link");return n(),_("div",m,[s(o,{class:"link",to:"/collection/playlists"},{default:t(()=>[f]),_:1}),s(o,{class:"link",to:"/collection/releases"},{default:t(()=>[h]),_:1}),s(o,{class:"link",to:"/collection/artists"},{default:t(()=>[v]),_:1}),i("",!0)])}const S=l(u,[["render",k],["__scopeId","data-v-88d87bb1"]]);export{S as C}; diff --git a/src/ui/dist/assets/Dropdown-489f43f3.js b/src/ui/dist/assets/Dropdown-489f43f3.js new file mode 100644 index 000000000..c0bccb73b --- /dev/null +++ b/src/ui/dist/assets/Dropdown-489f43f3.js @@ -0,0 +1 @@ +import{n as B,q as i,G as w,A as C,o as n,c as l,a as d,t as r,d as _,u as V,aH as D,bG as y,f as S,F as q,i as G,U as L,aG as R,_ as A}from"./index-fe2c9584.js";const E={class:"flex flex-row gap-2"},F={key:0,class:"material-symbols-rounded ms-wght-200"},H={class:"material-symbols-rounded"},N=["onClick"],T={class:"material-symbols-rounded"},$={key:0,class:"material-symbols-rounded"},z=B({__name:"Dropdown",props:{modelValue:{type:String,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(c,{emit:h}){const p=c,u=i(p.modelValue),o=i(!1);w(p,t=>{u.value=t.modelValue},{deep:!0});const g=t=>{u.value=t,h("update:modelValue",t),o.value=!1},k=C(()=>{const t=p.options.find(a=>a.value==u.value);return t?t.label:""}),s=i(null),v=i(null);return w(o,t=>{R(()=>{if(t){const a=s.value.getBoundingClientRect(),e=v.value.getBoundingClientRect(),m=e.top,f=e.bottom,x=window.innerHeight-f,b=e.width;s.value.style.width=b+"px",s.value.style.left=e.left+"px",x>a.height?(s.value.style.top=f+"px",s.value.style.bottom="auto"):(s.value.style.top="auto",s.value.style.bottom=m-a.height+"px")}})}),window.addEventListener("click",()=>{o.value=!1}),(t,a)=>(n(),l("div",{ref_key:"container",ref:v,class:"dropdown"},[d("div",{class:D([{expanded:o.value},"dropdown__selected"]),onClick:a[0]||(a[0]=y(e=>o.value=!o.value,["stop"]))},[d("div",E,[c.icon?(n(),l("span",F,r(c.icon),1)):_("",!0),d("span",null,r(V(k)),1)]),d("i",H,r(o.value?"expand_less":"expand_more"),1)],2),(n(),S(L,{to:"#dropdown-target"},[o.value?(n(),l("div",{key:0,ref_key:"trueDropdown",ref:s,class:"dropdown__options"},[(n(!0),l(q,null,G(c.options,e=>(n(),l("div",{key:e.value,class:"dropdown__option",onClick:y(m=>g(e.value),["stop"])},[d("span",T,r(e.icon),1),d("span",null,r(e.label),1),u.value==e.value?(n(),l("span",$,"check")):_("",!0)],8,N))),128))],512)):_("",!0)]))],512))}});const U=A(z,[["__scopeId","data-v-186027d9"]]);export{U as D}; diff --git a/src/ui/dist/assets/Dropdown-489f43f3.js.gz b/src/ui/dist/assets/Dropdown-489f43f3.js.gz new file mode 100644 index 000000000..27b809320 Binary files /dev/null and b/src/ui/dist/assets/Dropdown-489f43f3.js.gz differ diff --git a/src/ui/dist/assets/Dropdown-b028fe8e.js b/src/ui/dist/assets/Dropdown-b028fe8e.js deleted file mode 100644 index ff55e4dd1..000000000 --- a/src/ui/dist/assets/Dropdown-b028fe8e.js +++ /dev/null @@ -1 +0,0 @@ -import{n as B,q as i,bs as w,A as C,o as n,c as l,a as d,t as r,d as _,u as V,aA as D,bB as y,f as S,F as q,i as A,T as L,az as R,_ as T}from"./index-e23b36b9.js";const z={class:"flex flex-row gap-2"},E={key:0,class:"material-symbols-rounded ms-wght-200"},F={class:"material-symbols-rounded"},N=["onClick"],$={class:"material-symbols-rounded"},H={key:0,class:"material-symbols-rounded"},I=B({__name:"Dropdown",props:{modelValue:{type:String,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(c,{emit:h}){const p=c,u=i(p.modelValue),o=i(!1);w(p,t=>{u.value=t.modelValue},{deep:!0});const g=t=>{u.value=t,h("update:modelValue",t),o.value=!1},k=C(()=>{const t=p.options.find(a=>a.value==u.value);return t?t.label:""}),s=i(null),v=i(null);return w(o,t=>{R(()=>{if(t){const a=s.value.getBoundingClientRect(),e=v.value.getBoundingClientRect(),m=e.top,f=e.bottom,x=window.innerHeight-f,b=e.width;s.value.style.width=b+"px",s.value.style.left=e.left+"px",x>a.height?(s.value.style.top=f+"px",s.value.style.bottom="auto"):(s.value.style.top="auto",s.value.style.bottom=m-a.height+"px")}})}),window.addEventListener("click",()=>{o.value=!1}),(t,a)=>(n(),l("div",{ref_key:"container",ref:v,class:"dropdown"},[d("div",{class:D([{expanded:o.value},"dropdown__selected"]),onClick:a[0]||(a[0]=y(e=>o.value=!o.value,["stop"]))},[d("div",z,[c.icon?(n(),l("span",E,r(c.icon),1)):_("",!0),d("span",null,r(V(k)),1)]),d("i",F,r(o.value?"expand_less":"expand_more"),1)],2),(n(),S(L,{to:"#dropdown-target"},[o.value?(n(),l("div",{key:0,ref_key:"trueDropdown",ref:s,class:"dropdown__options"},[(n(!0),l(q,null,A(c.options,e=>(n(),l("div",{key:e.value,class:"dropdown__option",onClick:y(m=>g(e.value),["stop"])},[d("span",$,r(e.icon),1),d("span",null,r(e.label),1),u.value==e.value?(n(),l("span",H,"check")):_("",!0)],8,N))),128))],512)):_("",!0)]))],512))}});const j=T(I,[["__scopeId","data-v-186027d9"]]);export{j as D}; diff --git a/src/ui/dist/assets/Dropdown-b028fe8e.js.gz b/src/ui/dist/assets/Dropdown-b028fe8e.js.gz deleted file mode 100644 index 0c9973937..000000000 Binary files a/src/ui/dist/assets/Dropdown-b028fe8e.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js new file mode 100644 index 000000000..b84f84228 --- /dev/null +++ b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js @@ -0,0 +1 @@ +import{T as g}from"./Template-f7fd23e9.js";import{F as y}from"./Form-6220abd3.js";import{n as w,q as s,G as b,f as _,w as h,ci as x,bR as S,o as k,g as q}from"./index-fe2c9584.js";const j=w({__name:"EditSong",props:{song:{type:Object,required:!0}},emits:["close","update"],setup(c,{expose:l,emit:p}){const a=c,r=async(t,e)=>{const o=new FormData,d="."+e.name.split(".").pop();var v=e.slice(0,e.size,e.type),f=new File([v],a.song.id+d,{type:e.type});return o.append("file",f),await(await fetch(t,{method:"POST",body:o})).text()},n=s([{name:"source",type:"upload",icon:"music_note",accept:"audio/mp3",required:!0,onUpload:t=>{r("/api/config/tracks",t).then(e=>n.value.find(o=>o.name=="source").value=e)},value:a.song.source},{name:"title",type:"text",icon:"title",required:!0,value:a.song.title},{name:"artist",type:"text",icon:"person",required:!0,value:a.song.artist},{name:"album",type:"text",icon:"album",value:a.song.album},{name:"cover",type:"upload",icon:"art_track",accept:"image/*",imagePreview:!0,value:a.song.cover,onUpload:t=>{r("/api/config/images",t).then(e=>n.value.find(o=>o.name=="cover").value=e)}}]),m=async()=>{const t=u.value.toObject();await x({...a.song,...t}),p("update"),S.addSuccess(t.title,"Updated",3e3)},i=s(null),u=s(null);return l({show:()=>{i.value.show()}}),b(a,()=>{var t;for(const e of n.value.map(o=>o.name))n.value.find(o=>o.name==e).value=(t=a.song)==null?void 0:t[e]},{deep:!0}),(t,e)=>(k(),_(g,{ref_key:"modal",ref:i,submit:{label:"Save",icon:"save"},name:"Edit Song",onClose:e[0]||(e[0]=o=>t.$emit("close")),onSubmit:m},{default:h(()=>[q(y,{ref_key:"form",ref:u,options:n.value},null,8,["options"])]),_:1},512))}});export{j as _}; diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js.gz b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js.gz new file mode 100644 index 000000000..b62b9c8e0 Binary files /dev/null and b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js.gz differ diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js deleted file mode 100644 index 17f6ad204..000000000 --- a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js +++ /dev/null @@ -1 +0,0 @@ -import{T as g}from"./Template-59011f9c.js";import{F as y}from"./Form-fb09f2bd.js";import{n as b,q as s,bs as w,f as _,w as h,cf as x,bM as S,o as k,g as q}from"./index-e23b36b9.js";const j=b({__name:"EditSong",props:{song:{type:Object,required:!0}},emits:["close","update"],setup(c,{expose:l,emit:p}){const a=c,r=async(t,e)=>{const o=new FormData,d="."+e.name.split(".").pop();var v=e.slice(0,e.size,e.type),f=new File([v],a.song.id+d,{type:e.type});return o.append("file",f),await(await fetch(t,{method:"POST",body:o})).text()},n=s([{name:"source",type:"upload",icon:"music_note",accept:"audio/mp3",required:!0,onUpload:t=>{r("/api/config/tracks",t).then(e=>n.value.find(o=>o.name=="source").value=e)},value:a.song.source},{name:"title",type:"text",icon:"title",required:!0,value:a.song.title},{name:"artist",type:"text",icon:"person",required:!0,value:a.song.artist},{name:"album",type:"text",icon:"album",value:a.song.album},{name:"cover",type:"upload",icon:"art_track",accept:"image/*",imagePreview:!0,value:a.song.cover,onUpload:t=>{r("/api/config/images",t).then(e=>n.value.find(o=>o.name=="cover").value=e)}}]),m=async()=>{const t=u.value.toObject();await x({...a.song,...t}),p("update"),S.addSuccess(t.title,"Updated",3e3)},i=s(null),u=s(null);return l({show:()=>{i.value.show()}}),w(a,()=>{var t;for(const e of n.value.map(o=>o.name))n.value.find(o=>o.name==e).value=(t=a.song)==null?void 0:t[e]},{deep:!0}),(t,e)=>(k(),_(g,{ref_key:"modal",ref:i,submit:{label:"Save",icon:"save"},name:"Edit Song",onClose:e[0]||(e[0]=o=>t.$emit("close")),onSubmit:m},{default:h(()=>[q(y,{ref_key:"form",ref:u,options:n.value},null,8,["options"])]),_:1},512))}});export{j as _}; diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js.gz b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js.gz deleted file mode 100644 index a21a829cb..000000000 Binary files a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Editor-0bd65813.css b/src/ui/dist/assets/Editor-0bd65813.css new file mode 100644 index 000000000..b06c7e75e --- /dev/null +++ b/src/ui/dist/assets/Editor-0bd65813.css @@ -0,0 +1 @@ +.playlist-editor[data-v-bb487a54]{display:grid;grid-template-columns:1fr 1fr;gap:1em;padding:1em}.playlist-editor .sort[data-v-bb487a54]{display:flex;align-items:center;gap:.5em}.playlist-editor h1[data-v-bb487a54]{grid-column:1/span 2}.playlist-editor .filters .item[data-v-bb487a54]{display:grid;grid-template-columns:1fr auto;gap:1em;align-items:center}.playlist-editor .filters .items[data-v-bb487a54],.playlist-editor .filters[data-v-bb487a54]{display:flex;flex-direction:column;gap:1em}.playlist-editor .filter[data-v-bb487a54]{padding:1em}.playlist-editor .filter h3[data-v-bb487a54]{text-transform:capitalize}.playlist-editor .material-symbols-rounded[data-v-bb487a54]{cursor:pointer} diff --git a/src/ui/dist/assets/Editor-b299878f.js b/src/ui/dist/assets/Editor-b299878f.js new file mode 100644 index 000000000..4f2397912 --- /dev/null +++ b/src/ui/dist/assets/Editor-b299878f.js @@ -0,0 +1 @@ +import{I as V}from"./IconButton-f37a9ebc.js";import{n as w,E as I,q as C,G as k,H as x,I as E,c as i,a as l,g as s,T as d,J as g,t as p,F as m,i as _,l as S,m as P,o as n,w as U,C as B,_ as $}from"./index-fe2c9584.js";import{_ as A}from"./Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js";import"./PlaylistEntry-a7c7e55a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import"./Template-f7fd23e9.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-1850e9b2.js";const v=a=>(S("data-v-bb487a54"),a=a(),P(),a),D={class:"playlist-editor"},T=v(()=>l("h1",null,"Smart Playlist Editor",-1)),F={class:"editor"},N=v(()=>l("hr",null,null,-1)),O={class:"sort"},q={class:"filters"},G={class:"items"},H={class:"item"},J=["onClick"],L={class:"preview"},R=w({__name:"Editor",setup(a){const t=I({name:"",description:"",direction:"asc",sort:"id",filter:{title:[],artist:[],album:[],duration:{}}}),c=C();k([()=>t.sort,()=>t.filter,()=>t.direction],x.debounce(async()=>{c.value=await E(t)},3*1e3),{deep:!0});const b=[{value:"title",label:"Title",icon:"title"},{value:"artist",label:"Artist",icon:"person"},{value:"album",label:"Album",icon:"album"},{value:"duration",label:"Duration",icon:"timer"},{value:"index",label:"Added",icon:"date_range"}],h=["title","artist","album"],f={title:"title",artist:"person",album:"album"};return(W,o)=>(n(),i("div",D,[T,l("div",F,[l("h2",null,[s(d,{modelValue:t.name,"onUpdate:modelValue":o[0]||(o[0]=e=>t.name=e),placeholder:"Playlist title..."},null,8,["modelValue"])]),l("p",null,[s(d,{modelValue:t.description,"onUpdate:modelValue":o[1]||(o[1]=e=>t.description=e),placeholder:"Playlist description..."},null,8,["modelValue"])]),N,l("div",O,[s(g,{modelValue:t.sort,"onUpdate:modelValue":o[2]||(o[2]=e=>t.sort=e),options:b,icon:"filter_list"},null,8,["modelValue"]),l("span",{class:"cursor-pointer material-symbols-rounded ms-wght-100 text-5xl",onClick:o[3]||(o[3]=e=>t.direction=t.direction=="asc"?"desc":"asc")},p(t.direction=="asc"?"arrow_drop_up":"arrow_drop_down"),1)]),l("div",q,[(n(),i(m,null,_(h,e=>s(B,{class:"filter"},{default:U(()=>[l("h3",null,p(e),1),l("div",G,[(n(!0),i(m,null,_(t.filter[e],(y,r)=>(n(),i("div",H,[s(d,{modelValue:t.filter[e][r],"onUpdate:modelValue":u=>t.filter[e][r]=u,icon:f[e]},null,8,["modelValue","onUpdate:modelValue","icon"]),l("span",{class:"material-symbols-rounded",onClick:u=>t.filter[e].splice(r,1)}," delete ",8,J)]))),256)),s(V,{label:"OR",icon:"add",onClick:y=>t.filter[e].push("")},null,8,["onClick"])])]),_:2},1024)),64))])]),l("div",L,[s(A,{playlist:c.value},null,8,["playlist"])])]))}});const lt=$(R,[["__scopeId","data-v-bb487a54"]]);export{lt as default}; diff --git a/src/ui/dist/assets/Editor-b299878f.js.gz b/src/ui/dist/assets/Editor-b299878f.js.gz new file mode 100644 index 000000000..30c24b7e8 Binary files /dev/null and b/src/ui/dist/assets/Editor-b299878f.js.gz differ diff --git a/src/ui/dist/assets/Explore-7664200e.js b/src/ui/dist/assets/Explore-16ffab45.js similarity index 93% rename from src/ui/dist/assets/Explore-7664200e.js rename to src/ui/dist/assets/Explore-16ffab45.js index 9d765c5b1..56f9d2074 100644 --- a/src/ui/dist/assets/Explore-7664200e.js +++ b/src/ui/dist/assets/Explore-16ffab45.js @@ -1 +1 @@ -import{_,o as r,c as n,a as t,r as u,y as h,l as f,m,F as y,i as k,p,z as v,g as o,w as c,M as d,u as g,e as S}from"./index-e23b36b9.js";const $={props:{src:String}},x=s=>(f("data-v-34da3e65"),s=s(),m(),s),C=x(()=>t("div",{class:"filter"},null,-1)),I={class:"info"};function O(s,a,l,i,e,N){return r(),n("div",{class:"image",style:h({backgroundImage:"url("+l.src+")"})},[C,t("div",I,[u(s.$slots,"default",{},void 0,!0)])],4)}const b=_($,[["render",O],["__scopeId","data-v-34da3e65"]]);const w={class:"songContent"},E={class:"play"},H=["onClick"],M={class:"info"},P={data(){return fetch("/api/playlists").then(async s=>{this.playlists=await s.json(),this.pick()}),{playlists:[],picks:[]}},mounted(){},methods:{parseCover:p,pick(){console.log("pick"),this.songs=this.playlists.map(s=>s.songs).flat();for(let s=0;s<4;s++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)])},onScroll(){this.$refs.container.clientHeight+this.$refs.container.scrollTop>=this.$refs.container.scrollHeight-100&&this.pick()},href(s){return`/track/${v(s.id)}`},loadPlaylist(s){console.log(s),fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:s,type:"track"})})}}},B=Object.assign(P,{__name:"Explore",setup(s){return(a,l)=>{const i=S("router-link");return r(),n("div",{ref:"container",class:"explore",onScroll:l[0]||(l[0]=(...e)=>a.onScroll&&a.onScroll(...e))},[(r(!0),n(y,null,k(a.picks,e=>(r(),n("div",{key:e.name,class:"item"},[o(b,{src:g(p)(e.cover)},{default:c(()=>[t("div",w,[t("div",E,[t("span",{id:"loadPlaylist",class:"material-symbols-rounded play",onClick:()=>a.loadPlaylist(e.id)},"play_circle",8,H)]),t("div",M,[o(i,{to:a.href(e),class:"linkOnHover"},{default:c(()=>[t("h1",null,[o(d,{text:e.title},null,8,["text"])])]),_:2},1032,["to"]),o(i,{to:`/search/${e.artist}`,class:"linkOnHover"},{default:c(()=>[t("p",null,[o(d,{text:e.artist},null,8,["text"])])]),_:2},1032,["to"])])])]),_:2},1032,["src"])]))),128))],544)}}}),j=_(B,[["__scopeId","data-v-579c8068"]]);export{j as default}; +import{_,o as r,c as n,a as t,r as u,y as h,l as f,m,F as y,i as k,p,z as v,g as o,w as c,M as d,u as g,e as S}from"./index-fe2c9584.js";const $={props:{src:String}},x=s=>(f("data-v-34da3e65"),s=s(),m(),s),C=x(()=>t("div",{class:"filter"},null,-1)),I={class:"info"};function O(s,a,l,i,e,N){return r(),n("div",{class:"image",style:h({backgroundImage:"url("+l.src+")"})},[C,t("div",I,[u(s.$slots,"default",{},void 0,!0)])],4)}const b=_($,[["render",O],["__scopeId","data-v-34da3e65"]]);const w={class:"songContent"},E={class:"play"},H=["onClick"],M={class:"info"},P={data(){return fetch("/api/playlists").then(async s=>{this.playlists=await s.json(),this.pick()}),{playlists:[],picks:[]}},mounted(){},methods:{parseCover:p,pick(){console.log("pick"),this.songs=this.playlists.map(s=>s.songs).flat();for(let s=0;s<4;s++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)])},onScroll(){this.$refs.container.clientHeight+this.$refs.container.scrollTop>=this.$refs.container.scrollHeight-100&&this.pick()},href(s){return`/track/${v(s.id)}`},loadPlaylist(s){console.log(s),fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:s,type:"track"})})}}},B=Object.assign(P,{__name:"Explore",setup(s){return(a,l)=>{const i=S("router-link");return r(),n("div",{ref:"container",class:"explore",onScroll:l[0]||(l[0]=(...e)=>a.onScroll&&a.onScroll(...e))},[(r(!0),n(y,null,k(a.picks,e=>(r(),n("div",{key:e.name,class:"item"},[o(b,{src:g(p)(e.cover)},{default:c(()=>[t("div",w,[t("div",E,[t("span",{id:"loadPlaylist",class:"material-symbols-rounded play",onClick:()=>a.loadPlaylist(e.id)},"play_circle",8,H)]),t("div",M,[o(i,{to:a.href(e),class:"linkOnHover"},{default:c(()=>[t("h1",null,[o(d,{text:e.title},null,8,["text"])])]),_:2},1032,["to"]),o(i,{to:`/search/${e.artist}`,class:"linkOnHover"},{default:c(()=>[t("p",null,[o(d,{text:e.artist},null,8,["text"])])]),_:2},1032,["to"])])])]),_:2},1032,["src"])]))),128))],544)}}}),j=_(B,[["__scopeId","data-v-579c8068"]]);export{j as default}; diff --git a/src/ui/dist/assets/Explore-16ffab45.js.gz b/src/ui/dist/assets/Explore-16ffab45.js.gz new file mode 100644 index 000000000..95cc9e352 Binary files /dev/null and b/src/ui/dist/assets/Explore-16ffab45.js.gz differ diff --git a/src/ui/dist/assets/Explore-7664200e.js.gz b/src/ui/dist/assets/Explore-7664200e.js.gz deleted file mode 100644 index c0ff55842..000000000 Binary files a/src/ui/dist/assets/Explore-7664200e.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Export-098bea4b.js.gz b/src/ui/dist/assets/Export-098bea4b.js.gz deleted file mode 100644 index 46a7d806c..000000000 Binary files a/src/ui/dist/assets/Export-098bea4b.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Export-098bea4b.js b/src/ui/dist/assets/Export-ea4f315d.js similarity index 95% rename from src/ui/dist/assets/Export-098bea4b.js rename to src/ui/dist/assets/Export-ea4f315d.js index 08d7b5b9e..d936aa6ad 100644 --- a/src/ui/dist/assets/Export-098bea4b.js +++ b/src/ui/dist/assets/Export-ea4f315d.js @@ -1,6 +1,6 @@ -import{h as Vt,C as Yt,p as qt,bI as Wt,_ as wt,o as D,f as xt,w as Jt,a as _,g as Y,t as $,b as yt,c as q,F as Bt,d as dt,e as W,c8 as Ht,j as Xt,i as zt,l as Kt,m as Zt}from"./index-e23b36b9.js";import{G as Z}from"./gistClient-9c650d59.js";import{I as Qt}from"./IconButton-d95cc9cd.js";var gt={},J={};J.byteLength=rr;J.toByteArray=er;J.fromByteArray=sr;var R=[],T=[],vt=typeof Uint8Array<"u"?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var M=0,tr=Q.length;M0)throw new Error("Invalid string. Length must be a multiple of 4");var h=c.indexOf("=");h===-1&&(h=l);var y=h===l?0:4-h%4;return[h,y]}function rr(c){var l=mt(c),h=l[0],y=l[1];return(h+y)*3/4-y}function ir(c,l,h){return(l+h)*3/4-h}function er(c){var l,h=mt(c),y=h[0],p=h[1],f=new vt(ir(c,y,p)),a=0,o=p>0?y-4:y,w;for(w=0;w>16&255,f[a++]=l>>8&255,f[a++]=l&255;return p===2&&(l=T[c.charCodeAt(w)]<<2|T[c.charCodeAt(w+1)]>>4,f[a++]=l&255),p===1&&(l=T[c.charCodeAt(w)]<<10|T[c.charCodeAt(w+1)]<<4|T[c.charCodeAt(w+2)]>>2,f[a++]=l>>8&255,f[a++]=l&255),f}function nr(c){return R[c>>18&63]+R[c>>12&63]+R[c>>6&63]+R[c&63]}function or(c,l,h){for(var y,p=[],f=l;fo?o:a+f));return y===1?(l=c[h-1],p.push(R[l>>2]+R[l<<4&63]+"==")):y===2&&(l=(c[h-2]<<8)+c[h-1],p.push(R[l>>10]+R[l>>4&63]+R[l<<2&63]+"=")),p.join("")}var v={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */v.read=function(c,l,h,y,p){var f,a,o=p*8-y-1,w=(1<>1,I=-7,F=h?p-1:0,P=h?-1:1,A=c[l+F];for(F+=P,f=A&(1<<-I)-1,A>>=-I,I+=o;I>0;f=f*256+c[l+F],F+=P,I-=8);for(a=f&(1<<-I)-1,f>>=-I,I+=y;I>0;a=a*256+c[l+F],F+=P,I-=8);if(f===0)f=1-C;else{if(f===w)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,y),f=f-C}return(A?-1:1)*a*Math.pow(2,f-y)};v.write=function(c,l,h,y,p,f){var a,o,w,C=f*8-p-1,I=(1<>1,P=p===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=y?0:f-1,O=y?1:-1,G=l<0||l===0&&1/l<0?1:0;for(l=Math.abs(l),isNaN(l)||l===1/0?(o=isNaN(l)?1:0,a=I):(a=Math.floor(Math.log(l)/Math.LN2),l*(w=Math.pow(2,-a))<1&&(a--,w*=2),a+F>=1?l+=P/w:l+=P*Math.pow(2,1-F),l*w>=2&&(a++,w/=2),a+F>=I?(o=0,a=I):a+F>=1?(o=(l*w-1)*Math.pow(2,p),a=a+F):(o=l*Math.pow(2,F-1)*Math.pow(2,p),a=0));p>=8;c[h+A]=o&255,A+=O,o/=256,p-=8);for(a=a<0;c[h+A]=a&255,A+=O,a/=256,C-=8);c[h+A-O]|=G*128};/*! +import{h as Vt,C as Yt,p as qt,bN as Wt,_ as wt,o as D,f as xt,w as Jt,a as _,g as Y,t as $,b as yt,c as q,F as Bt,d as dt,e as W,cb as Ht,j as Xt,i as zt,l as Kt,m as Zt}from"./index-fe2c9584.js";import{G as Z}from"./gistClient-d0f6f626.js";import{I as Qt}from"./IconButton-f37a9ebc.js";var gt={},J={};J.byteLength=rr;J.toByteArray=er;J.fromByteArray=sr;var R=[],T=[],vt=typeof Uint8Array<"u"?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var M=0,tr=Q.length;M0)throw new Error("Invalid string. Length must be a multiple of 4");var h=c.indexOf("=");h===-1&&(h=l);var y=h===l?0:4-h%4;return[h,y]}function rr(c){var l=mt(c),h=l[0],y=l[1];return(h+y)*3/4-y}function ir(c,l,h){return(l+h)*3/4-h}function er(c){var l,h=mt(c),y=h[0],p=h[1],f=new vt(ir(c,y,p)),a=0,o=p>0?y-4:y,w;for(w=0;w>16&255,f[a++]=l>>8&255,f[a++]=l&255;return p===2&&(l=T[c.charCodeAt(w)]<<2|T[c.charCodeAt(w+1)]>>4,f[a++]=l&255),p===1&&(l=T[c.charCodeAt(w)]<<10|T[c.charCodeAt(w+1)]<<4|T[c.charCodeAt(w+2)]>>2,f[a++]=l>>8&255,f[a++]=l&255),f}function nr(c){return R[c>>18&63]+R[c>>12&63]+R[c>>6&63]+R[c&63]}function or(c,l,h){for(var y,p=[],f=l;fo?o:a+f));return y===1?(l=c[h-1],p.push(R[l>>2]+R[l<<4&63]+"==")):y===2&&(l=(c[h-2]<<8)+c[h-1],p.push(R[l>>10]+R[l>>4&63]+R[l<<2&63]+"=")),p.join("")}var v={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */v.read=function(c,l,h,y,p){var f,a,o=p*8-y-1,w=(1<>1,I=-7,F=h?p-1:0,P=h?-1:1,A=c[l+F];for(F+=P,f=A&(1<<-I)-1,A>>=-I,I+=o;I>0;f=f*256+c[l+F],F+=P,I-=8);for(a=f&(1<<-I)-1,f>>=-I,I+=y;I>0;a=a*256+c[l+F],F+=P,I-=8);if(f===0)f=1-C;else{if(f===w)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,y),f=f-C}return(A?-1:1)*a*Math.pow(2,f-y)};v.write=function(c,l,h,y,p,f){var a,o,w,C=f*8-p-1,I=(1<>1,P=p===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=y?0:f-1,O=y?1:-1,G=l<0||l===0&&1/l<0?1:0;for(l=Math.abs(l),isNaN(l)||l===1/0?(o=isNaN(l)?1:0,a=I):(a=Math.floor(Math.log(l)/Math.LN2),l*(w=Math.pow(2,-a))<1&&(a--,w*=2),a+F>=1?l+=P/w:l+=P*Math.pow(2,1-F),l*w>=2&&(a++,w/=2),a+F>=I?(o=0,a=I):a+F>=1?(o=(l*w-1)*Math.pow(2,p),a=a+F):(o=l*Math.pow(2,F-1)*Math.pow(2,p),a=0));p>=8;c[h+A]=o&255,A+=O,o/=256,p-=8);for(a=a<0;c[h+A]=a&255,A+=O,a/=256,C-=8);c[h+A-O]|=G*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT - */(function(c){const l=J,h=v,y=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;c.Buffer=o,c.SlowBuffer=It,c.INSPECT_MAX_BYTES=50;const p=2147483647;c.kMaxLength=p,o.TYPED_ARRAY_SUPPORT=f(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function f(){try{const i=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(i,t),i.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function a(i){if(i>p)throw new RangeError('The value "'+i+'" is invalid for option "size"');const t=new Uint8Array(i);return Object.setPrototypeOf(t,o.prototype),t}function o(i,t,r){if(typeof i=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return F(i)}return w(i,t,r)}o.poolSize=8192;function w(i,t,r){if(typeof i=="string")return P(i,t);if(ArrayBuffer.isView(i))return O(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(S(i,ArrayBuffer)||i&&S(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(S(i,SharedArrayBuffer)||i&&S(i.buffer,SharedArrayBuffer)))return G(i,t,r);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const e=i.valueOf&&i.valueOf();if(e!=null&&e!==i)return o.from(e,t,r);const n=Et(i);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return o.from(i[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}o.from=function(i,t,r){return w(i,t,r)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function C(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function I(i,t,r){return C(i),i<=0?a(i):t!==void 0?typeof r=="string"?a(i).fill(t,r):a(i).fill(t):a(i)}o.alloc=function(i,t,r){return I(i,t,r)};function F(i){return C(i),a(i<0?0:H(i)|0)}o.allocUnsafe=function(i){return F(i)},o.allocUnsafeSlow=function(i){return F(i)};function P(i,t){if((typeof t!="string"||t==="")&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=rt(i,t)|0;let e=a(r);const n=e.write(i,t);return n!==r&&(e=e.slice(0,n)),e}function A(i){const t=i.length<0?0:H(i.length)|0,r=a(t);for(let e=0;e=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return i|0}function It(i){return+i!=i&&(i=0),o.alloc(+i)}o.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==o.prototype},o.compare=function(t,r){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),S(r,Uint8Array)&&(r=o.from(r,r.offset,r.byteLength)),!o.isBuffer(t)||!o.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let e=t.length,n=r.length;for(let s=0,u=Math.min(e,n);sn.length?(o.isBuffer(u)||(u=o.from(u)),u.copy(n,s)):Uint8Array.prototype.set.call(n,u,s);else if(o.isBuffer(u))u.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=u.length}return n};function rt(i,t){if(o.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||S(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const r=i.length,e=arguments.length>2&&arguments[2]===!0;if(!e&&r===0)return 0;let n=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return z(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return pt(i).length;default:if(n)return e?-1:z(i).length;t=(""+t).toLowerCase(),n=!0}}o.byteLength=rt;function Ft(i,t,r){let e=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(i||(i="utf8");;)switch(i){case"hex":return bt(this,t,r);case"utf8":case"utf-8":return nt(this,t,r);case"ascii":return Pt(this,t,r);case"latin1":case"binary":return kt(this,t,r);case"base64":return St(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Nt(this,t,r);default:if(e)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),e=!0}}o.prototype._isBuffer=!0;function b(i,t,r){const e=i[t];i[t]=i[r],i[r]=e}o.prototype.swap16=function(){const t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""},y&&(o.prototype[y]=o.prototype.inspect),o.prototype.compare=function(t,r,e,n,s){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),e===void 0&&(e=t?t.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),r<0||e>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&r>=e)return 0;if(n>=s)return-1;if(r>=e)return 1;if(r>>>=0,e>>>=0,n>>>=0,s>>>=0,this===t)return 0;let u=s-n,d=e-r;const g=Math.min(u,d),B=this.slice(n,s),m=t.slice(r,e);for(let x=0;x2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,K(r)&&(r=n?0:i.length-1),r<0&&(r=i.length+r),r>=i.length){if(n)return-1;r=i.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string"&&(t=o.from(t,e)),o.isBuffer(t))return t.length===0?-1:et(i,t,r,e,n);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(i,t,r):Uint8Array.prototype.lastIndexOf.call(i,t,r):et(i,[t],r,e,n);throw new TypeError("val must be string, number or Buffer")}function et(i,t,r,e,n){let s=1,u=i.length,d=t.length;if(e!==void 0&&(e=String(e).toLowerCase(),e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le")){if(i.length<2||t.length<2)return-1;s=2,u/=2,d/=2,r/=2}function g(m,x){return s===1?m[x]:m.readUInt16BE(x*s)}let B;if(n){let m=-1;for(B=r;Bu&&(r=u-d),B=r;B>=0;B--){let m=!0;for(let x=0;xn&&(e=n)):e=n;const s=t.length;e>s/2&&(e=s/2);let u;for(u=0;u>>0,isFinite(e)?(e=e>>>0,n===void 0&&(n="utf8")):(n=e,e=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const s=this.length-r;if((e===void 0||e>s)&&(e=s),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let u=!1;for(;;)switch(n){case"hex":return _t(this,t,r,e);case"utf8":case"utf-8":return At(this,t,r,e);case"ascii":case"latin1":case"binary":return Ut(this,t,r,e);case"base64":return Ct(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Tt(this,t,r,e);default:if(u)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),u=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function St(i,t,r){return t===0&&r===i.length?l.fromByteArray(i):l.fromByteArray(i.slice(t,r))}function nt(i,t,r){r=Math.min(i.length,r);const e=[];let n=t;for(;n239?4:s>223?3:s>191?2:1;if(n+d<=r){let g,B,m,x;switch(d){case 1:s<128&&(u=s);break;case 2:g=i[n+1],(g&192)===128&&(x=(s&31)<<6|g&63,x>127&&(u=x));break;case 3:g=i[n+1],B=i[n+2],(g&192)===128&&(B&192)===128&&(x=(s&15)<<12|(g&63)<<6|B&63,x>2047&&(x<55296||x>57343)&&(u=x));break;case 4:g=i[n+1],B=i[n+2],m=i[n+3],(g&192)===128&&(B&192)===128&&(m&192)===128&&(x=(s&15)<<18|(g&63)<<12|(B&63)<<6|m&63,x>65535&&x<1114112&&(u=x))}}u===null?(u=65533,d=1):u>65535&&(u-=65536,e.push(u>>>10&1023|55296),u=56320|u&1023),e.push(u),n+=d}return Rt(e)}const ot=4096;function Rt(i){const t=i.length;if(t<=ot)return String.fromCharCode.apply(String,i);let r="",e=0;for(;ee)&&(r=e);let n="";for(let s=t;se&&(t=e),r<0?(r+=e,r<0&&(r=0)):r>e&&(r=e),rr)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t+--r],s=1;for(;r>0&&(s*=256);)n+=this[t+--r]*s;return n},o.prototype.readUint8=o.prototype.readUInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readBigUInt64LE=k(function(t){t=t>>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,s=this[++t]+this[++t]*2**8+this[++t]*2**16+e*2**24;return BigInt(n)+(BigInt(s)<>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],s=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+e;return(BigInt(n)<>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u=s&&(n-=Math.pow(2,8*r)),n},o.prototype.readIntBE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=r,s=1,u=this[t+--n];for(;n>0&&(s*=256);)u+=this[t+--n]*s;return s*=128,u>=s&&(u-=Math.pow(2,8*r)),u},o.prototype.readInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},o.prototype.readInt16LE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t]|this[t+1]<<8;return e&32768?e|4294901760:e},o.prototype.readInt16BE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t+1]|this[t]<<8;return e&32768?e|4294901760:e},o.prototype.readInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readBigInt64LE=k(function(t){t=t>>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(e<<24);return(BigInt(n)<>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(n)<>>0,r||E(t,4,this.length),h.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,r){return t=t>>>0,r||E(t,4,this.length),h.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!1,52,8)};function U(i,t,r,e,n,s){if(!o.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||ti.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=1,u=0;for(this[r]=t&255;++u>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=e-1,u=1;for(this[r+s]=t&255;--s>=0&&(u*=256);)this[r+s]=t/u&255;return r+e},o.prototype.writeUint8=o.prototype.writeUInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,255,0),this[r]=t&255,r+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function st(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,r}function ut(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r+7]=s,s=s>>8,i[r+6]=s,s=s>>8,i[r+5]=s,s=s>>8,i[r+4]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r+3]=u,u=u>>8,i[r+2]=u,u=u>>8,i[r+1]=u,u=u>>8,i[r]=u,r+8}o.prototype.writeBigUInt64LE=k(function(t,r=0){return st(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=k(function(t,r=0){return ut(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=0,u=1,d=0;for(this[r]=t&255;++s>0)-d&255;return r+e},o.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=e-1,u=1,d=0;for(this[r+s]=t&255;--s>=0&&(u*=256);)t<0&&d===0&&this[r+s+1]!==0&&(d=1),this[r+s]=(t/u>>0)-d&255;return r+e},o.prototype.writeInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1},o.prototype.writeInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4},o.prototype.writeInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4},o.prototype.writeBigInt64LE=k(function(t,r=0){return st(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=k(function(t,r=0){return ut(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function lt(i,t,r,e,n,s){if(r+e>i.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ct(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,4),h.write(i,t,r,e,23,4),r+4}o.prototype.writeFloatLE=function(t,r,e){return ct(this,t,r,!0,e)},o.prototype.writeFloatBE=function(t,r,e){return ct(this,t,r,!1,e)};function at(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,8),h.write(i,t,r,e,52,8),r+8}o.prototype.writeDoubleLE=function(t,r,e){return at(this,t,r,!0,e)},o.prototype.writeDoubleBE=function(t,r,e){return at(this,t,r,!1,e)},o.prototype.copy=function(t,r,e,n){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(e||(e=0),!n&&n!==0&&(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r>>0,e=e===void 0?this.length:e>>>0,t||(t=0);let s;if(typeof t=="number")for(s=r;s2**32?n=ht(String(r)):typeof r=="bigint"&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=ht(n)),n+="n"),e+=` It must be ${t}. Received ${n}`,e},RangeError);function ht(i){let t="",r=i.length;const e=i[0]==="-"?1:0;for(;r>=e+4;r-=3)t=`_${i.slice(r-3,r)}${t}`;return`${i.slice(0,r)}${t}`}function Lt(i,t,r){L(t,"offset"),(i[t]===void 0||i[t+r]===void 0)&&j(t,i.length-(r+1))}function ft(i,t,r,e,n,s){if(i>r||i3?t===0||t===BigInt(0)?d=`>= 0${u} and < 2${u} ** ${(s+1)*8}${u}`:d=`>= -(2${u} ** ${(s+1)*8-1}${u}) and < 2 ** ${(s+1)*8-1}${u}`:d=`>= ${t}${u} and <= ${r}${u}`,new N.ERR_OUT_OF_RANGE("value",d,i)}Lt(e,n,s)}function L(i,t){if(typeof i!="number")throw new N.ERR_INVALID_ARG_TYPE(t,"number",i)}function j(i,t,r){throw Math.floor(i)!==i?(L(i,r),new N.ERR_OUT_OF_RANGE(r||"offset","an integer",i)):t<0?new N.ERR_BUFFER_OUT_OF_BOUNDS:new N.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,i)}const $t=/[^+/0-9A-Za-z-_]/g;function Mt(i){if(i=i.split("=")[0],i=i.trim().replace($t,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function z(i,t){t=t||1/0;let r;const e=i.length;let n=null;const s=[];for(let u=0;u55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(u+1===e){(t-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function Dt(i){const t=[];for(let r=0;r>8,n=r%256,s.push(n),s.push(e);return s}function pt(i){return l.toByteArray(Mt(i))}function V(i,t,r,e){let n;for(n=0;n=t.length||n>=i.length);++n)t[n+r]=i[n];return n}function S(i,t){return i instanceof t||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===t.name}function K(i){return i!==i}const Gt=function(){const i="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const e=r*16;for(let n=0;n<16;++n)t[e+n]=i[r]+i[n]}return t}();function k(i){return typeof BigInt>"u"?jt:i}function jt(){throw new Error("BigInt not supported")}})(gt);const ur={name:"cloudPlaylist",components:{Cover:Vt,Card:Yt},props:{playlist:Object,localPlaylists:Array,cloudPlaylists:Array},data(){return{statusText:"",toAdd:[]}},methods:{parseCover:qt,async import(){if(this.statusIcon!="cloud_done"){if(this.statusIcon=="cloud_sync"){for(let c=0;cp.name==this.playlist.name))==null?void 0:h[0];if(!l)return this.localPlaylists?"cloud":"cloud_off";if(this.playlist.description!=l.description)return"cloud_sync";this.toAdd=[];for(let p=0;p[_("span",{class:"close material-symbols-rounded",onClick:l[0]||(l[0]=()=>c.$emit("remove"))},"close"),Y(a,{src:f.cover},null,8,["src"]),_("div",lr,[_("h2",null,$(h.playlist.name),1),_("div",cr,[yt($(h.playlist.songs.length)+" "+$(h.playlist.songs.length==1?"song":"songs"),1),h.playlist.description?(D(),q(Bt,{key:0},[yt(" • "),_("i",null,$(h.playlist.description),1)],64)):dt("",!0)]),_("div",ar,[_("span",hr,$(f.statusIcon),1),p.statusText?(D(),q("div",fr,[_("i",null,$(p.statusText),1)])):dt("",!0)])])]),_:1})}const yr=wt(ur,[["render",pr],["__scopeId","data-v-c0711eb3"]]);window.Buffer=gt.Buffer;new Ht("reapApollo");const dr={name:"import",methods:{downloadFile(){var c="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(this.playlists)),l=document.getElementById("downloadAnchorElem");l.setAttribute("href",c),l.setAttribute("download","lib.one.json"),l.click()},async openGist(){window.open(await Z.gistUrl(),"_blank")},async upload(){console.log(await Z.saveOrUpdate(this.playlists)),this.fetchGists()},async fetchGists(){this.cloudPlaylists=await Z.getContent()},async fetchLocalPlaylists(){var c;if(!this.loadingPlaylists){this.loadingPlaylists=!0,this.playlists=[];for(const l of(c=this.dataStore)==null?void 0:c.playlists)try{const y=await(await fetch(`/api/playlists/${l.id}`)).json();this.playlists.push(y)}catch(h){console.error(h)}this.loadingPlaylists=!1}}},watch:{dataStore:{handler(c,l){this.fetchLocalPlaylists()},deep:!0}},mounted(){this.fetchLocalPlaylists()},data(){return this.fetchGists(),{playlists:[],loadingPlaylists:!1,userData:{},cloudPlaylists:[],dataStore:Xt()}},components:{IconButton:Qt,CloudPlaylist:yr}},tt=c=>(Kt("data-v-5394d716"),c=c(),Zt(),c),wr={class:"export"},xr={class:"action"},Br=tt(()=>_("h1",null,"Save to File",-1)),gr=tt(()=>_("a",{id:"downloadAnchorElem",style:{display:"none"}},null,-1)),mr={class:"action"},Er=tt(()=>_("h1",null,"Save to Github Gists",-1)),Ir={class:"flex flex-row gap-2"},Fr={class:"data"};function _r(c,l,h,y,p,f){const a=W("IconButton"),o=W("CloudPlaylist");return D(),q("div",wr,[_("div",xr,[Br,gr,Y(a,{icon:"file_download",label:"Save",onClick:f.downloadFile},null,8,["onClick"])]),_("div",mr,[Er,_("div",Ir,[Y(a,{icon:"cloud_upload",label:"Synchronise",onClick:f.upload},null,8,["onClick"]),Y(a,{icon:"link",label:"Browse",onClick:f.openGist},null,8,["onClick"])])]),_("div",Fr,[(D(!0),q(Bt,null,zt(p.playlists,(w,C)=>(D(),xt(o,{key:C,cloudPlaylists:p.cloudPlaylists,playlist:w,onRemove:()=>p.playlists.splice(C,1)},null,8,["cloudPlaylists","playlist","onRemove"]))),128))])])}const Sr=wt(dr,[["render",_r],["__scopeId","data-v-5394d716"]]);export{Sr as default}; + */(function(c){const l=J,h=v,y=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;c.Buffer=o,c.SlowBuffer=It,c.INSPECT_MAX_BYTES=50;const p=2147483647;c.kMaxLength=p,o.TYPED_ARRAY_SUPPORT=f(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function f(){try{const i=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(i,t),i.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function a(i){if(i>p)throw new RangeError('The value "'+i+'" is invalid for option "size"');const t=new Uint8Array(i);return Object.setPrototypeOf(t,o.prototype),t}function o(i,t,r){if(typeof i=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return F(i)}return w(i,t,r)}o.poolSize=8192;function w(i,t,r){if(typeof i=="string")return P(i,t);if(ArrayBuffer.isView(i))return O(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(S(i,ArrayBuffer)||i&&S(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(S(i,SharedArrayBuffer)||i&&S(i.buffer,SharedArrayBuffer)))return G(i,t,r);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const e=i.valueOf&&i.valueOf();if(e!=null&&e!==i)return o.from(e,t,r);const n=Et(i);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return o.from(i[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}o.from=function(i,t,r){return w(i,t,r)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function C(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function I(i,t,r){return C(i),i<=0?a(i):t!==void 0?typeof r=="string"?a(i).fill(t,r):a(i).fill(t):a(i)}o.alloc=function(i,t,r){return I(i,t,r)};function F(i){return C(i),a(i<0?0:H(i)|0)}o.allocUnsafe=function(i){return F(i)},o.allocUnsafeSlow=function(i){return F(i)};function P(i,t){if((typeof t!="string"||t==="")&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=rt(i,t)|0;let e=a(r);const n=e.write(i,t);return n!==r&&(e=e.slice(0,n)),e}function A(i){const t=i.length<0?0:H(i.length)|0,r=a(t);for(let e=0;e=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return i|0}function It(i){return+i!=i&&(i=0),o.alloc(+i)}o.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==o.prototype},o.compare=function(t,r){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),S(r,Uint8Array)&&(r=o.from(r,r.offset,r.byteLength)),!o.isBuffer(t)||!o.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let e=t.length,n=r.length;for(let s=0,u=Math.min(e,n);sn.length?(o.isBuffer(u)||(u=o.from(u)),u.copy(n,s)):Uint8Array.prototype.set.call(n,u,s);else if(o.isBuffer(u))u.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=u.length}return n};function rt(i,t){if(o.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||S(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const r=i.length,e=arguments.length>2&&arguments[2]===!0;if(!e&&r===0)return 0;let n=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return z(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return pt(i).length;default:if(n)return e?-1:z(i).length;t=(""+t).toLowerCase(),n=!0}}o.byteLength=rt;function Ft(i,t,r){let e=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(i||(i="utf8");;)switch(i){case"hex":return kt(this,t,r);case"utf8":case"utf-8":return nt(this,t,r);case"ascii":return Pt(this,t,r);case"latin1":case"binary":return bt(this,t,r);case"base64":return St(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Nt(this,t,r);default:if(e)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),e=!0}}o.prototype._isBuffer=!0;function k(i,t,r){const e=i[t];i[t]=i[r],i[r]=e}o.prototype.swap16=function(){const t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""},y&&(o.prototype[y]=o.prototype.inspect),o.prototype.compare=function(t,r,e,n,s){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),e===void 0&&(e=t?t.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),r<0||e>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&r>=e)return 0;if(n>=s)return-1;if(r>=e)return 1;if(r>>>=0,e>>>=0,n>>>=0,s>>>=0,this===t)return 0;let u=s-n,d=e-r;const g=Math.min(u,d),B=this.slice(n,s),m=t.slice(r,e);for(let x=0;x2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,K(r)&&(r=n?0:i.length-1),r<0&&(r=i.length+r),r>=i.length){if(n)return-1;r=i.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string"&&(t=o.from(t,e)),o.isBuffer(t))return t.length===0?-1:et(i,t,r,e,n);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(i,t,r):Uint8Array.prototype.lastIndexOf.call(i,t,r):et(i,[t],r,e,n);throw new TypeError("val must be string, number or Buffer")}function et(i,t,r,e,n){let s=1,u=i.length,d=t.length;if(e!==void 0&&(e=String(e).toLowerCase(),e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le")){if(i.length<2||t.length<2)return-1;s=2,u/=2,d/=2,r/=2}function g(m,x){return s===1?m[x]:m.readUInt16BE(x*s)}let B;if(n){let m=-1;for(B=r;Bu&&(r=u-d),B=r;B>=0;B--){let m=!0;for(let x=0;xn&&(e=n)):e=n;const s=t.length;e>s/2&&(e=s/2);let u;for(u=0;u>>0,isFinite(e)?(e=e>>>0,n===void 0&&(n="utf8")):(n=e,e=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const s=this.length-r;if((e===void 0||e>s)&&(e=s),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let u=!1;for(;;)switch(n){case"hex":return _t(this,t,r,e);case"utf8":case"utf-8":return At(this,t,r,e);case"ascii":case"latin1":case"binary":return Ut(this,t,r,e);case"base64":return Ct(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Tt(this,t,r,e);default:if(u)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),u=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function St(i,t,r){return t===0&&r===i.length?l.fromByteArray(i):l.fromByteArray(i.slice(t,r))}function nt(i,t,r){r=Math.min(i.length,r);const e=[];let n=t;for(;n239?4:s>223?3:s>191?2:1;if(n+d<=r){let g,B,m,x;switch(d){case 1:s<128&&(u=s);break;case 2:g=i[n+1],(g&192)===128&&(x=(s&31)<<6|g&63,x>127&&(u=x));break;case 3:g=i[n+1],B=i[n+2],(g&192)===128&&(B&192)===128&&(x=(s&15)<<12|(g&63)<<6|B&63,x>2047&&(x<55296||x>57343)&&(u=x));break;case 4:g=i[n+1],B=i[n+2],m=i[n+3],(g&192)===128&&(B&192)===128&&(m&192)===128&&(x=(s&15)<<18|(g&63)<<12|(B&63)<<6|m&63,x>65535&&x<1114112&&(u=x))}}u===null?(u=65533,d=1):u>65535&&(u-=65536,e.push(u>>>10&1023|55296),u=56320|u&1023),e.push(u),n+=d}return Rt(e)}const ot=4096;function Rt(i){const t=i.length;if(t<=ot)return String.fromCharCode.apply(String,i);let r="",e=0;for(;ee)&&(r=e);let n="";for(let s=t;se&&(t=e),r<0?(r+=e,r<0&&(r=0)):r>e&&(r=e),rr)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t+--r],s=1;for(;r>0&&(s*=256);)n+=this[t+--r]*s;return n},o.prototype.readUint8=o.prototype.readUInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readBigUInt64LE=b(function(t){t=t>>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,s=this[++t]+this[++t]*2**8+this[++t]*2**16+e*2**24;return BigInt(n)+(BigInt(s)<>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],s=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+e;return(BigInt(n)<>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u=s&&(n-=Math.pow(2,8*r)),n},o.prototype.readIntBE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=r,s=1,u=this[t+--n];for(;n>0&&(s*=256);)u+=this[t+--n]*s;return s*=128,u>=s&&(u-=Math.pow(2,8*r)),u},o.prototype.readInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},o.prototype.readInt16LE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t]|this[t+1]<<8;return e&32768?e|4294901760:e},o.prototype.readInt16BE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t+1]|this[t]<<8;return e&32768?e|4294901760:e},o.prototype.readInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readBigInt64LE=b(function(t){t=t>>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(e<<24);return(BigInt(n)<>>0,L(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(n)<>>0,r||E(t,4,this.length),h.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,r){return t=t>>>0,r||E(t,4,this.length),h.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!1,52,8)};function U(i,t,r,e,n,s){if(!o.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||ti.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=1,u=0;for(this[r]=t&255;++u>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=e-1,u=1;for(this[r+s]=t&255;--s>=0&&(u*=256);)this[r+s]=t/u&255;return r+e},o.prototype.writeUint8=o.prototype.writeUInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,255,0),this[r]=t&255,r+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function st(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,r}function ut(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r+7]=s,s=s>>8,i[r+6]=s,s=s>>8,i[r+5]=s,s=s>>8,i[r+4]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r+3]=u,u=u>>8,i[r+2]=u,u=u>>8,i[r+1]=u,u=u>>8,i[r]=u,r+8}o.prototype.writeBigUInt64LE=b(function(t,r=0){return st(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=b(function(t,r=0){return ut(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=0,u=1,d=0;for(this[r]=t&255;++s>0)-d&255;return r+e},o.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=e-1,u=1,d=0;for(this[r+s]=t&255;--s>=0&&(u*=256);)t<0&&d===0&&this[r+s+1]!==0&&(d=1),this[r+s]=(t/u>>0)-d&255;return r+e},o.prototype.writeInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1},o.prototype.writeInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4},o.prototype.writeInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4},o.prototype.writeBigInt64LE=b(function(t,r=0){return st(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=b(function(t,r=0){return ut(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function lt(i,t,r,e,n,s){if(r+e>i.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ct(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,4),h.write(i,t,r,e,23,4),r+4}o.prototype.writeFloatLE=function(t,r,e){return ct(this,t,r,!0,e)},o.prototype.writeFloatBE=function(t,r,e){return ct(this,t,r,!1,e)};function at(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,8),h.write(i,t,r,e,52,8),r+8}o.prototype.writeDoubleLE=function(t,r,e){return at(this,t,r,!0,e)},o.prototype.writeDoubleBE=function(t,r,e){return at(this,t,r,!1,e)},o.prototype.copy=function(t,r,e,n){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(e||(e=0),!n&&n!==0&&(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r>>0,e=e===void 0?this.length:e>>>0,t||(t=0);let s;if(typeof t=="number")for(s=r;s2**32?n=ht(String(r)):typeof r=="bigint"&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=ht(n)),n+="n"),e+=` It must be ${t}. Received ${n}`,e},RangeError);function ht(i){let t="",r=i.length;const e=i[0]==="-"?1:0;for(;r>=e+4;r-=3)t=`_${i.slice(r-3,r)}${t}`;return`${i.slice(0,r)}${t}`}function Lt(i,t,r){L(t,"offset"),(i[t]===void 0||i[t+r]===void 0)&&j(t,i.length-(r+1))}function ft(i,t,r,e,n,s){if(i>r||i3?t===0||t===BigInt(0)?d=`>= 0${u} and < 2${u} ** ${(s+1)*8}${u}`:d=`>= -(2${u} ** ${(s+1)*8-1}${u}) and < 2 ** ${(s+1)*8-1}${u}`:d=`>= ${t}${u} and <= ${r}${u}`,new N.ERR_OUT_OF_RANGE("value",d,i)}Lt(e,n,s)}function L(i,t){if(typeof i!="number")throw new N.ERR_INVALID_ARG_TYPE(t,"number",i)}function j(i,t,r){throw Math.floor(i)!==i?(L(i,r),new N.ERR_OUT_OF_RANGE(r||"offset","an integer",i)):t<0?new N.ERR_BUFFER_OUT_OF_BOUNDS:new N.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,i)}const $t=/[^+/0-9A-Za-z-_]/g;function Mt(i){if(i=i.split("=")[0],i=i.trim().replace($t,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function z(i,t){t=t||1/0;let r;const e=i.length;let n=null;const s=[];for(let u=0;u55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(u+1===e){(t-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function Dt(i){const t=[];for(let r=0;r>8,n=r%256,s.push(n),s.push(e);return s}function pt(i){return l.toByteArray(Mt(i))}function V(i,t,r,e){let n;for(n=0;n=t.length||n>=i.length);++n)t[n+r]=i[n];return n}function S(i,t){return i instanceof t||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===t.name}function K(i){return i!==i}const Gt=function(){const i="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const e=r*16;for(let n=0;n<16;++n)t[e+n]=i[r]+i[n]}return t}();function b(i){return typeof BigInt>"u"?jt:i}function jt(){throw new Error("BigInt not supported")}})(gt);const ur={name:"cloudPlaylist",components:{Cover:Vt,Card:Yt},props:{playlist:Object,localPlaylists:Array,cloudPlaylists:Array},data(){return{statusText:"",toAdd:[]}},methods:{parseCover:qt,async import(){if(this.statusIcon!="cloud_done"){if(this.statusIcon=="cloud_sync"){for(let c=0;cp.name==this.playlist.name))==null?void 0:h[0];if(!l)return this.localPlaylists?"cloud":"cloud_off";if(this.playlist.description!=l.description)return"cloud_sync";this.toAdd=[];for(let p=0;p[_("span",{class:"close material-symbols-rounded",onClick:l[0]||(l[0]=()=>c.$emit("remove"))},"close"),Y(a,{src:f.cover},null,8,["src"]),_("div",lr,[_("h2",null,$(h.playlist.name),1),_("div",cr,[yt($(h.playlist.songs.length)+" "+$(h.playlist.songs.length==1?"song":"songs"),1),h.playlist.description?(D(),q(Bt,{key:0},[yt(" • "),_("i",null,$(h.playlist.description),1)],64)):dt("",!0)]),_("div",ar,[_("span",hr,$(f.statusIcon),1),p.statusText?(D(),q("div",fr,[_("i",null,$(p.statusText),1)])):dt("",!0)])])]),_:1})}const yr=wt(ur,[["render",pr],["__scopeId","data-v-c0711eb3"]]);window.Buffer=gt.Buffer;new Ht("reapApollo");const dr={name:"import",methods:{downloadFile(){var c="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(this.playlists)),l=document.getElementById("downloadAnchorElem");l.setAttribute("href",c),l.setAttribute("download","lib.one.json"),l.click()},async openGist(){window.open(await Z.gistUrl(),"_blank")},async upload(){console.log(await Z.saveOrUpdate(this.playlists)),this.fetchGists()},async fetchGists(){this.cloudPlaylists=await Z.getContent()},async fetchLocalPlaylists(){var c;if(!this.loadingPlaylists){this.loadingPlaylists=!0,this.playlists=[];for(const l of(c=this.dataStore)==null?void 0:c.playlists)try{const y=await(await fetch(`/api/playlists/${l.id}`)).json();this.playlists.push(y)}catch(h){console.error(h)}this.loadingPlaylists=!1}}},watch:{dataStore:{handler(c,l){this.fetchLocalPlaylists()},deep:!0}},mounted(){this.fetchLocalPlaylists()},data(){return this.fetchGists(),{playlists:[],loadingPlaylists:!1,userData:{},cloudPlaylists:[],dataStore:Xt()}},components:{IconButton:Qt,CloudPlaylist:yr}},tt=c=>(Kt("data-v-5394d716"),c=c(),Zt(),c),wr={class:"export"},xr={class:"action"},Br=tt(()=>_("h1",null,"Save to File",-1)),gr=tt(()=>_("a",{id:"downloadAnchorElem",style:{display:"none"}},null,-1)),mr={class:"action"},Er=tt(()=>_("h1",null,"Save to Github Gists",-1)),Ir={class:"flex flex-row gap-2"},Fr={class:"data"};function _r(c,l,h,y,p,f){const a=W("IconButton"),o=W("CloudPlaylist");return D(),q("div",wr,[_("div",xr,[Br,gr,Y(a,{icon:"file_download",label:"Save",onClick:f.downloadFile},null,8,["onClick"])]),_("div",mr,[Er,_("div",Ir,[Y(a,{icon:"cloud_upload",label:"Synchronise",onClick:f.upload},null,8,["onClick"]),Y(a,{icon:"link",label:"Browse",onClick:f.openGist},null,8,["onClick"])])]),_("div",Fr,[(D(!0),q(Bt,null,zt(p.playlists,(w,C)=>(D(),xt(o,{key:C,cloudPlaylists:p.cloudPlaylists,playlist:w,onRemove:()=>p.playlists.splice(C,1)},null,8,["cloudPlaylists","playlist","onRemove"]))),128))])])}const Sr=wt(dr,[["render",_r],["__scopeId","data-v-5394d716"]]);export{Sr as default}; diff --git a/src/ui/dist/assets/Export-ea4f315d.js.gz b/src/ui/dist/assets/Export-ea4f315d.js.gz new file mode 100644 index 000000000..4d4d94c5f Binary files /dev/null and b/src/ui/dist/assets/Export-ea4f315d.js.gz differ diff --git a/src/ui/dist/assets/ExternalEntry-2fd0cbdd.js.gz b/src/ui/dist/assets/ExternalEntry-2fd0cbdd.js.gz deleted file mode 100644 index fa84f32e9..000000000 Binary files a/src/ui/dist/assets/ExternalEntry-2fd0cbdd.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/ExternalEntry-2fd0cbdd.js b/src/ui/dist/assets/ExternalEntry-7bdbc9d0.js similarity index 67% rename from src/ui/dist/assets/ExternalEntry-2fd0cbdd.js rename to src/ui/dist/assets/ExternalEntry-7bdbc9d0.js index ed09d1274..b8fb48712 100644 --- a/src/ui/dist/assets/ExternalEntry-2fd0cbdd.js +++ b/src/ui/dist/assets/ExternalEntry-7bdbc9d0.js @@ -1 +1 @@ -import{n as x,o as r,c as v,a as n,F as A,i as M,t as y,_ as I,j as N,q as m,f as k,w as B,g as f,u as _,bZ as O,bI as P,bM as T,x as j,B as D,A as S,d as w,aA as q,h as F,M as $,aX as V,bU as W,cd as z,bB as H,cg as J}from"./index-e23b36b9.js";import{T as L}from"./Template-59011f9c.js";import{F as U}from"./Form-fb09f2bd.js";const X={class:"padding-20 playlisteditor"},Z=["src"],G={class:"details"},K={class:"detailswrapper"},Q=["onClick"],R=x({__name:"TrackInfo",props:{title:{type:String,required:!0},subtitle:{type:String,required:!0},cover:{type:String,required:!0},icons:{type:Array,required:!0}},setup(e){return(g,t)=>(r(),v("div",X,[n("img",{src:e.cover,class:"cover"},null,8,Z),n("div",G,[n("div",K,[(r(!0),v(A,null,M(e.icons,(l,i)=>(r(),v("span",{key:i,class:"material-icons-round",onClick:l.onClick},y(l.name),9,Q))),128))]),n("h1",null,y(e.title),1),n("h6",null,y(e.subtitle),1)])]))}});const Y=I(R,[["__scopeId","data-v-eab2eaeb"]]),ee=x({__name:"ImportSpotifySong",props:{song:{type:Object,required:!0}},setup(e,{expose:g}){const t=e,l=N(),i=m([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:l.playlistsAsDropdown}]),s=m(null),u=m(null),c=m(null),p=async()=>{if(c.value){s.value.show();return}const o=await s.value.fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:t.song.href})});o&&(s.value.load(),c.value=await o.json(),s.value.show())},C=()=>{const o=new CustomEvent("player.play",{detail:{artist:t.song.artist,title:t.song.title,source:t.song.href}});window.dispatchEvent(o)},d=async o=>{if(o==="new"){const a=await j(t.song.title,t.song.artist,t.song.cover);return i.value[0].options=l.playlistsAsDropdown,i.value[0].value=a,a}return Number(o)},h=async(o,a=null)=>{var b;a??(a=u.value.toObject().playlist),a=await d(a),await P(a??u.value.toObject().playlist,c.value),t.song.added=!0,T.addSuccess(c.value.title,`Added to ${(b=l.playlists.find(E=>E.id==a))==null?void 0:b.name}`,3e3)};return g({show:p}),(o,a)=>(r(),k(L,{ref_key:"modal",ref:s,submit:{label:"Add",icon:"add"},name:"Import Song",onClose:a[0]||(a[0]=b=>o.$emit("close")),onSubmit:h},{default:B(()=>[f(Y,{cover:e.song.cover,icons:[{name:"share",onClick:()=>_(O)(e.song.href)},{name:"play_arrow",onClick:C}],title:e.song.title},null,8,["cover","icons","title"]),f(U,{ref_key:"form",ref:u,options:i.value},null,8,["options"])]),_:1},512))}}),te={key:0,class:"cover"},se={class:"artist-title"},ae={class:"title"},ne={class:"artist"},oe={key:1,class:"album"},le=["onClick"],re=x({__name:"ExternalEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:Number,required:!1,default:null},canImport:{type:Boolean,required:!1,default:!1}},emits:["update","add"],setup(e,{emit:g}){const t=e,l=D(),i=S(()=>t.song.id==l.song.id),s=m(!1);S(()=>t.playlistId==null?l.playlist.id:t.playlistId);const u=()=>{J(t.song.title,t.song.artist,t.song.source||t.song.href)},c=m(null),p=()=>{t.canImport?c.value.show():g("add")};return(C,d)=>(r(),v(A,null,[e.canImport?(r(),k(ee,{key:0,ref_key:"updatePopup",ref:c,song:e.song},null,8,["song"])):w("",!0),n("div",{class:q([{playing:_(i),selected:e.selected,hovering:s.value,withCover:e.withCover,withAlbum:e.withAlbum},"playlist-entry"]),onDblclick:u,onMouseenter:d[0]||(d[0]=h=>s.value=!0),onMouseleave:d[1]||(d[1]=h=>s.value=!1)},[n("div",{class:q([{"material-symbols-rounded":s.value},"index text-right"]),onClick:u},y(s.value?"play_arrow":e.index+1),3),e.withCover?(r(),v("div",te,[f(F,{src:e.song.cover,type:"track"},null,8,["src"])])):w("",!0),n("div",se,[n("span",ae,[(r(),k(V(e.song.href.startsWith("http")?"a":"router-link"),{href:e.song.href,to:e.song.href,class:"linkOnHover"},{default:B(()=>[f($,{text:e.song.title},null,8,["text"])]),_:1},8,["href","to"]))]),n("span",ne,[f(W,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!_(z)?(r(),v("div",oe,[f($,{text:e.song.album},null,8,["text"])])):w("",!0),n("div",{class:"icon text-left material-symbols-rounded",onClick:H(p,["stop"])},y(e.song.added?"done":"add"),9,le)],34)],64))}});const de=I(re,[["__scopeId","data-v-2482bde4"]]);export{de as E,Y as T,ee as _}; +import{n as x,o as r,c as v,a as n,F as A,i as B,t as y,_ as I,j as M,q as m,f as k,w as E,g as f,u as _,b$ as O,bN as P,bR as T,x as j,B as D,A as S,d as w,aH as q,h as F,M as $,b1 as V,bW as W,cg as H,bG as z,cj as G}from"./index-fe2c9584.js";import{T as J}from"./Template-f7fd23e9.js";import{F as L}from"./Form-6220abd3.js";const R={class:"padding-20 playlisteditor"},K=["src"],Q={class:"details"},U={class:"detailswrapper"},X=["onClick"],Y=x({__name:"TrackInfo",props:{title:{type:String,required:!0},subtitle:{type:String,required:!0},cover:{type:String,required:!0},icons:{type:Array,required:!0}},setup(e){return(g,t)=>(r(),v("div",R,[n("img",{src:e.cover,class:"cover"},null,8,K),n("div",Q,[n("div",U,[(r(!0),v(A,null,B(e.icons,(l,i)=>(r(),v("span",{key:i,class:"material-icons-round",onClick:l.onClick},y(l.name),9,X))),128))]),n("h1",null,y(e.title),1),n("h6",null,y(e.subtitle),1)])]))}});const Z=I(Y,[["__scopeId","data-v-eab2eaeb"]]),ee=x({__name:"ImportSpotifySong",props:{song:{type:Object,required:!0}},setup(e,{expose:g}){const t=e,l=M(),i=m([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:l.playlistsAsDropdown}]),s=m(null),u=m(null),c=m(null),p=async()=>{if(c.value){s.value.show();return}const o=await s.value.fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:t.song.href})});o&&(s.value.load(),c.value=await o.json(),s.value.show())},C=()=>{const o=new CustomEvent("player.play",{detail:{artist:t.song.artist,title:t.song.title,source:t.song.href}});window.dispatchEvent(o)},d=async o=>{if(o==="new"){const a=await j(t.song.title,t.song.artist,t.song.cover);return i.value[0].options=l.playlistsAsDropdown,i.value[0].value=a,a}return Number(o)},h=async(o,a=null)=>{var b;a??(a=u.value.toObject().playlist),a=await d(a),await P(a??u.value.toObject().playlist,c.value),t.song.added=!0,T.addSuccess(c.value.title,`Added to ${(b=l.playlists.find(N=>N.id==a))==null?void 0:b.name}`,3e3)};return g({show:p}),(o,a)=>(r(),k(J,{ref_key:"modal",ref:s,submit:{label:"Add",icon:"add"},name:"Import Song",onClose:a[0]||(a[0]=b=>o.$emit("close")),onSubmit:h},{default:E(()=>[f(Z,{cover:e.song.cover,icons:[{name:"share",onClick:()=>_(O)(e.song.href)},{name:"play_arrow",onClick:C}],title:e.song.title},null,8,["cover","icons","title"]),f(L,{ref_key:"form",ref:u,options:i.value},null,8,["options"])]),_:1},512))}}),te={key:0,class:"cover"},se={class:"artist-title"},ae={class:"title"},ne={class:"artist"},oe={key:1,class:"album"},le=["onClick"],re=x({__name:"ExternalEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:Number,required:!1,default:null},canImport:{type:Boolean,required:!1,default:!1}},emits:["update","add"],setup(e,{emit:g}){const t=e,l=D(),i=S(()=>t.song.id==l.song.id),s=m(!1);S(()=>t.playlistId==null?l.playlist.id:t.playlistId);const u=()=>{G(t.song.title,t.song.artist,t.song.source||t.song.href)},c=m(null),p=()=>{t.canImport?c.value.show():g("add")};return(C,d)=>(r(),v(A,null,[e.canImport?(r(),k(ee,{key:0,ref_key:"updatePopup",ref:c,song:e.song},null,8,["song"])):w("",!0),n("div",{class:q([{playing:_(i),selected:e.selected,hovering:s.value,withCover:e.withCover,withAlbum:e.withAlbum},"playlist-entry"]),onDblclick:u,onMouseenter:d[0]||(d[0]=h=>s.value=!0),onMouseleave:d[1]||(d[1]=h=>s.value=!1)},[n("div",{class:q([{"material-symbols-rounded":s.value},"index text-right"]),onClick:u},y(s.value?"play_arrow":e.index+1),3),e.withCover?(r(),v("div",te,[f(F,{src:e.song.cover,type:"track"},null,8,["src"])])):w("",!0),n("div",se,[n("span",ae,[(r(),k(V(e.song.href.startsWith("http")?"a":"router-link"),{href:e.song.href,to:e.song.href,class:"linkOnHover"},{default:E(()=>[f($,{text:e.song.title},null,8,["text"])]),_:1},8,["href","to"]))]),n("span",ne,[f(W,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!_(H)?(r(),v("div",oe,[f($,{text:e.song.album},null,8,["text"])])):w("",!0),n("div",{class:"icon text-left material-symbols-rounded",onClick:z(p,["stop"])},y(e.song.added?"done":"add"),9,le)],34)],64))}});const de=I(re,[["__scopeId","data-v-2482bde4"]]);export{de as E,Z as T,ee as _}; diff --git a/src/ui/dist/assets/ExternalEntry-7bdbc9d0.js.gz b/src/ui/dist/assets/ExternalEntry-7bdbc9d0.js.gz new file mode 100644 index 000000000..1d1d103d5 Binary files /dev/null and b/src/ui/dist/assets/ExternalEntry-7bdbc9d0.js.gz differ diff --git a/src/ui/dist/assets/FactCard-6c6c11f6.js b/src/ui/dist/assets/FactCard-89ebd574.js similarity index 88% rename from src/ui/dist/assets/FactCard-6c6c11f6.js rename to src/ui/dist/assets/FactCard-89ebd574.js index cb630dcbe..01a74afe9 100644 --- a/src/ui/dist/assets/FactCard-6c6c11f6.js +++ b/src/ui/dist/assets/FactCard-89ebd574.js @@ -1 +1 @@ -import{n as s,f as c,w as o,C as r,o as t,a as n,t as a,c as d,d as l,_}from"./index-e23b36b9.js";const i={class:"mx-4"},m={key:0,class:"my-0 text-muted"},p=s({__name:"FactCard",props:{withHover:{type:Boolean,default:!1},primaryText:{type:null,default:""},secondaryText:{type:String,default:"",required:!1}},setup(e){return(u,y)=>(t(),c(r,{"with-hover":e.withHover,class:"card p-4"},{default:o(()=>[n("h2",i,a(e.primaryText),1),e.secondaryText?(t(),d("p",m,a(e.secondaryText),1)):l("",!0)]),_:1},8,["with-hover"]))}});const f=_(p,[["__scopeId","data-v-23b147ec"]]);export{f as F}; +import{n as s,f as c,w as o,C as r,o as t,a as n,t as a,c as d,d as l,_}from"./index-fe2c9584.js";const i={class:"mx-4"},m={key:0,class:"my-0 text-muted"},p=s({__name:"FactCard",props:{withHover:{type:Boolean,default:!1},primaryText:{type:null,default:""},secondaryText:{type:String,default:"",required:!1}},setup(e){return(u,y)=>(t(),c(r,{"with-hover":e.withHover,class:"card p-4"},{default:o(()=>[n("h2",i,a(e.primaryText),1),e.secondaryText?(t(),d("p",m,a(e.secondaryText),1)):l("",!0)]),_:1},8,["with-hover"]))}});const f=_(p,[["__scopeId","data-v-23b147ec"]]);export{f as F}; diff --git a/src/ui/dist/assets/Form-6220abd3.js b/src/ui/dist/assets/Form-6220abd3.js new file mode 100644 index 000000000..58d35d65c --- /dev/null +++ b/src/ui/dist/assets/Form-6220abd3.js @@ -0,0 +1 @@ +import{n as f,o as l,c as s,F as m,i as g,a as n,t as C,u,ck as V,g as o,T as _,p as k,b$ as i,h as b,d as p,f as v,bD as U,br as $,_ as w}from"./index-fe2c9584.js";import{D as x}from"./Dropdown-489f43f3.js";const D={class:"form"},F={class:"content"},q=["onClick"],B=["accept","onChange"],I={key:0,class:"imagePreview"},N=["onUpdate:modelValue","type","onChange"],T=f({__name:"Form",props:{options:{type:Array,required:!0}},setup(d,{expose:h}){const y=d;return h({toObject:()=>{const c={};return y.options.forEach(r=>{c[r.name]=r.value}),c}}),(c,r)=>(l(),s("div",D,[(l(!0),s(m,null,g(d.options,e=>(l(),s("div",{key:e.name,class:"option"},[n("h4",null,C(u(V)(e.name)),1),n("div",F,[e.type=="upload"?(l(),s(m,{key:0},[n("span",{class:"material-symbols-rounded icon-button",onClick:()=>{var a,t;return(t=(a=c.$refs["upload-"+e.name])==null?void 0:a[0])==null?void 0:t.click()}}," file_upload ",8,q),n("input",{ref_for:!0,ref:"upload-"+e.name,accept:e.accept,style:{display:"none"},type:"file",onChange:a=>e==null?void 0:e.onUpload(a.target.files[0])},null,40,B),o(_,{ref_for:!0,ref:"cover",modelValue:e.value,"onUpdate:modelValue":a=>e.value=a,icon:e.icon,class:"addSong cover",type:"text",onChange:a=>e==null?void 0:e.onChange(e.value)},null,8,["modelValue","onUpdate:modelValue","icon","onChange"]),e.imagePreview?(l(),s("div",I,[o(b,{src:u(k)(e.value),class:"cover",onClick:a=>u(i)(e.value)},null,8,["src","onClick"])])):p("",!0)],64)):e.type=="dropdown"?(l(),v(x,{key:1,modelValue:e.value,"onUpdate:modelValue":a=>e.value=a,icon:e.icon,options:e.options},null,8,["modelValue","onUpdate:modelValue","icon","options"])):e.type=="text"?(l(),v(_,{key:2,modelValue:e.value,"onUpdate:modelValue":a=>e.value=a,icon:e.icon,placeholder:e.placeholder,required:e.required,type:e.type,onChange:a=>e.onChange?e==null?void 0:e.onChange(e.value):null},null,8,["modelValue","onUpdate:modelValue","icon","placeholder","required","type","onChange"])):U((l(),s("input",{key:3,"onUpdate:modelValue":a=>e.value=a,type:e.type,onChange:a=>e.onChange?e==null?void 0:e.onChange(e.value):null},null,40,N)),[[$,e.value]])])]))),128))]))}});const P=w(T,[["__scopeId","data-v-f7f90291"]]);export{P as F}; diff --git a/src/ui/dist/assets/Form-6220abd3.js.gz b/src/ui/dist/assets/Form-6220abd3.js.gz new file mode 100644 index 000000000..1c11464ab Binary files /dev/null and b/src/ui/dist/assets/Form-6220abd3.js.gz differ diff --git a/src/ui/dist/assets/Form-fb09f2bd.js b/src/ui/dist/assets/Form-fb09f2bd.js deleted file mode 100644 index cb8bc891e..000000000 --- a/src/ui/dist/assets/Form-fb09f2bd.js +++ /dev/null @@ -1 +0,0 @@ -import{n as f,o as l,c as s,F as m,i as g,a as n,t as C,u,ch as V,g as o,bP as _,p as k,bZ as i,h as b,d as p,f as v,by as U,bl as w,_ as x}from"./index-e23b36b9.js";import{D as F}from"./Dropdown-b028fe8e.js";const $={class:"form"},D={class:"content"},q=["onClick"],B=["accept","onChange"],I={key:0,class:"imagePreview"},N=["onUpdate:modelValue","type","onChange"],j=f({__name:"Form",props:{options:{type:Array,required:!0}},setup(d,{expose:h}){const y=d;return h({toObject:()=>{const c={};return y.options.forEach(r=>{c[r.name]=r.value}),c}}),(c,r)=>(l(),s("div",$,[(l(!0),s(m,null,g(d.options,e=>(l(),s("div",{key:e.name,class:"option"},[n("h4",null,C(u(V)(e.name)),1),n("div",D,[e.type=="upload"?(l(),s(m,{key:0},[n("span",{class:"material-symbols-rounded icon-button",onClick:()=>{var a,t;return(t=(a=c.$refs["upload-"+e.name])==null?void 0:a[0])==null?void 0:t.click()}}," file_upload ",8,q),n("input",{ref_for:!0,ref:"upload-"+e.name,accept:e.accept,style:{display:"none"},type:"file",onChange:a=>e==null?void 0:e.onUpload(a.target.files[0])},null,40,B),o(_,{ref_for:!0,ref:"cover",modelValue:e.value,"onUpdate:modelValue":a=>e.value=a,icon:e.icon,class:"addSong cover",type:"text",onChange:a=>e==null?void 0:e.onChange(e.value)},null,8,["modelValue","onUpdate:modelValue","icon","onChange"]),e.imagePreview?(l(),s("div",I,[o(b,{src:u(k)(e.value),class:"cover",onClick:a=>u(i)(e.value)},null,8,["src","onClick"])])):p("",!0)],64)):e.type=="dropdown"?(l(),v(F,{key:1,modelValue:e.value,"onUpdate:modelValue":a=>e.value=a,icon:e.icon,options:e.options},null,8,["modelValue","onUpdate:modelValue","icon","options"])):e.type=="text"?(l(),v(_,{key:2,modelValue:e.value,"onUpdate:modelValue":a=>e.value=a,icon:e.icon,placeholder:e.placeholder,required:e.required,type:e.type,onChange:a=>e.onChange?e==null?void 0:e.onChange(e.value):null},null,8,["modelValue","onUpdate:modelValue","icon","placeholder","required","type","onChange"])):U((l(),s("input",{key:3,"onUpdate:modelValue":a=>e.value=a,type:e.type,onChange:a=>e.onChange?e==null?void 0:e.onChange(e.value):null},null,40,N)),[[w,e.value]])])]))),128))]))}});const O=x(j,[["__scopeId","data-v-f7f90291"]]);export{O as F}; diff --git a/src/ui/dist/assets/Form-fb09f2bd.js.gz b/src/ui/dist/assets/Form-fb09f2bd.js.gz deleted file mode 100644 index 8d881c3af..000000000 Binary files a/src/ui/dist/assets/Form-fb09f2bd.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/FullShelf-c00e086a.js b/src/ui/dist/assets/FullShelf-6722f9a0.js similarity index 87% rename from src/ui/dist/assets/FullShelf-c00e086a.js rename to src/ui/dist/assets/FullShelf-6722f9a0.js index 847fb2656..d3ba179e0 100644 --- a/src/ui/dist/assets/FullShelf-c00e086a.js +++ b/src/ui/dist/assets/FullShelf-6722f9a0.js @@ -1 +1 @@ -import{_ as c,o as t,c as n,a as s,b as d,t as o,d as i,r as l}from"./index-e23b36b9.js";const _={name:"FullShelf",props:{heading:String,icon:String}},r={class:"shelf"},u={class:"header"},f={key:0,class:"icon material-icons-outlined"},h={class:"items"};function m(a,p,e,S,g,v){return t(),n("div",r,[s("div",u,[s("h2",null,[d(o(e.heading),1),e.icon?(t(),n("span",f,o(e.icon),1)):i("",!0)])]),s("div",h,[l(a.$slots,"default",{},void 0,!0)])])}const y=c(_,[["render",m],["__scopeId","data-v-fceb85d9"]]);export{y as F}; +import{_ as c,o as t,c as n,a as s,b as d,t as o,d as i,r as l}from"./index-fe2c9584.js";const _={name:"FullShelf",props:{heading:String,icon:String}},r={class:"shelf"},u={class:"header"},f={key:0,class:"icon material-icons-outlined"},h={class:"items"};function m(a,p,e,S,g,v){return t(),n("div",r,[s("div",u,[s("h2",null,[d(o(e.heading),1),e.icon?(t(),n("span",f,o(e.icon),1)):i("",!0)])]),s("div",h,[l(a.$slots,"default",{},void 0,!0)])])}const y=c(_,[["render",m],["__scopeId","data-v-fceb85d9"]]);export{y as F}; diff --git a/src/ui/dist/assets/IconButton-d95cc9cd.js b/src/ui/dist/assets/IconButton-f37a9ebc.js similarity index 80% rename from src/ui/dist/assets/IconButton-d95cc9cd.js rename to src/ui/dist/assets/IconButton-f37a9ebc.js index a7eabd529..a05ed773d 100644 --- a/src/ui/dist/assets/IconButton-d95cc9cd.js +++ b/src/ui/dist/assets/IconButton-f37a9ebc.js @@ -1 +1 @@ -import{n as o,c as t,aA as n,t as s,d as l,o as a,_ as r}from"./index-e23b36b9.js";const c={key:1},i=o({__name:"IconButton",props:{icon:{type:String,required:!1},label:{type:String,required:!0},disabled:{type:Boolean,required:!1,default:!1},type:{type:String,required:!1,default:"negative"}},setup(e){return(d,u)=>(a(),t("button",{class:n([(e.disabled?"disabled ":"")+e.type,"flex items-center justify-center h-12 p-4 mt-4 rounded-full"])},[e.icon?(a(),t("span",{key:0,class:n([{"mr-2":e.label},"material-symbols-rounded"])},s(e.icon),3)):l("",!0),e.label?(a(),t("span",c,s(e.label),1)):l("",!0)],2))}});const f=r(i,[["__scopeId","data-v-5a61b939"]]);export{f as I}; +import{n as o,c as t,aH as n,t as s,d as l,o as a,_ as r}from"./index-fe2c9584.js";const c={key:1},i=o({__name:"IconButton",props:{icon:{type:String,required:!1},label:{type:String,required:!0},disabled:{type:Boolean,required:!1,default:!1},type:{type:String,required:!1,default:"negative"}},setup(e){return(d,u)=>(a(),t("button",{class:n([(e.disabled?"disabled ":"")+e.type,"flex items-center justify-center h-12 p-4 mt-4 rounded-full"])},[e.icon?(a(),t("span",{key:0,class:n([{"mr-2":e.label},"material-symbols-rounded"])},s(e.icon),3)):l("",!0),e.label?(a(),t("span",c,s(e.label),1)):l("",!0)],2))}});const f=r(i,[["__scopeId","data-v-5a61b939"]]);export{f as I}; diff --git a/src/ui/dist/assets/Import-701459a8.js b/src/ui/dist/assets/Import-701459a8.js deleted file mode 100644 index 48532dd12..000000000 --- a/src/ui/dist/assets/Import-701459a8.js +++ /dev/null @@ -1 +0,0 @@ -import{n as M,A as F,u as k,o as l,c as g,g as S,h as z,a as c,M as J,bU as K,t as P,F as B,i as I,aA as T,d as w,_ as N,f as j,w as q,b as G,C as D,q as b,j as U,bs as Q,aI as R,l as X,m as Y,L as Z,x as ee,bN as se,bI as ae,c6 as te,c7 as ne}from"./index-e23b36b9.js";import{G as A}from"./gistClient-9c650d59.js";import{I as oe}from"./IconButton-d95cc9cd.js";const de=(e,r)=>{const s={source:e.source,id:e.id,changed:{}},n=s.changed,i=["id","href","duration","plays","artists"];for(const o of Object.keys(e))if(!i.includes(o)){if(o==="metadata"){const f=e.metadata,a=r.metadata;if(f&&a){if(!f.spotify&&!a.spotify)continue;if(!f.spotify&&a.spotify){n.metadata={from:f,to:a};continue}if(f.spotify&&!a.spotify){n.metadata={from:f,to:a};continue}f.spotify.id!==a.spotify.id&&(n.metadata={from:f,to:a})}else(f||a)&&(n.metadata={from:f,to:a});continue}o!=="id"&&e[o]!==r[o]&&(n[o]={from:e[o],to:r[o]})}return Object.keys(n).length?s:null},ie=(e,r)=>{const s={name:e.name,id:e.id,added:[],removed:[],modified:[]};for(const n of e.songs){const i=r.songs.find(o=>o.source===n.source);if(i){const o=de(n,i);o&&s.modified.push(o)}else s.removed.push(n)}for(const n of r.songs)e.songs.find(o=>o.source===n.source)||s.added.push(n);return s.added.length||s.removed.length||s.modified.length?s:null},le=(e,r)=>{const s={added:[],removed:[],modified:[]};for(const n of e){const i=r.find(o=>o.name===n.name);if(i){const o=ie(n,i);o&&s.modified.push(o)}else s.removed.push(n)}for(const n of r)e.find(o=>o.name===n.name)||s.added.push(n);return s},ce={class:"overflow-hidden"},re={class:"title my-0"},ue={key:0,class:"info"},fe={class:"key"},me={class:"value"},ge=M({__name:"SongDiff",props:{song:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Object,required:!1}},emits:["exclude","toggle-expanded"],setup(e,{emit:r}){const s=e,n=F(()=>s.diff.removed.some(a=>a.source===s.song.source)?"removed":s.diff.modified.some(a=>a.source===s.song.source)?"modified":s.isBase?"base":s.diff.added.some(a=>a.source===s.song.source)?"added":"base"),i=()=>{r("toggle-expanded",s.song)},o=["title","artist","album","source","cover","favourite","metadata"],f=a=>{var x,h,_;const p=(h=(x=s.diff.modified.find($=>$.source===s.song.source))==null?void 0:x.changed)==null?void 0:h[a],y=s.isBase?"from":"to",v=(p==null?void 0:p[y])??s.song[a];return a=="metadata"?(_=v==null?void 0:v.spotify)==null?void 0:_.id:v};return(a,p)=>{var y,v;return!e.isBase&&k(n)=="removed"?w("",!0):(l(),g("div",{key:0,class:T([k(n),"song px-4 py-2"])},[S(z,{src:e.song.cover,class:"rounded-md"},null,8,["src"]),c("div",ce,[c("p",re,[S(J,{text:e.song.title},null,8,["text"])]),S(K,{artist:e.song.artist,class:"artist text-muted"},null,8,["artist"])]),c("span",{class:"material-symbols-rounded cursor-pointer",onClick:i},P(((y=e.expanded)==null?void 0:y.source)==e.song.source?"expand_less":"expand_more"),1),((v=e.expanded)==null?void 0:v.source)==e.song.source?(l(),g("div",ue,[(l(),g(B,null,I(o,x=>{var h,_;return c("div",{key:x,class:T([{modified:(_=(h=e.diff.modified.find($=>$.source===e.song.source))==null?void 0:h.changed)==null?void 0:_[x]},"info__table"])},[c("span",fe,P(x),1),c("span",me,P(f(x)),1)],2)}),64))])):w("",!0)],2))}}});const pe=N(ge,[["__scopeId","data-v-1805c709"]]),ye={class:"info"},ve={class:"my-0"},xe={key:0,class:"text-muted"},he={class:"flex flex-row justify-between items-center"},_e={class:"text-very-muted"},be=M({__name:"PlaylistDiff",props:{playlist:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Boolean,required:!1},expandedSong:{type:Object,required:!1}},emits:["exclude","toggle-expanded","toggle-expanded-song"],setup(e,{emit:r}){const s=e,n=F(()=>s.diff.removed.some(a=>a.name===s.playlist.name)?"removed":s.diff.modified.some(a=>a.name===s.playlist.name)?"modified":s.isBase?"base":s.diff.added.some(a=>a.name===s.playlist.name)?"added":"base"),i=()=>{r("toggle-expanded",s.playlist)},o=a=>{r("toggle-expanded-song",a)},f=a=>{const p=s.diff.modified.find(y=>y.name===a.name);return p||{name:a.name,added:[],removed:[],modified:[]}};return(a,p)=>(l(),j(D,{class:T([k(n),"playlist p-4 rounded-xl relative"])},{default:q(()=>[S(z,{src:e.playlist.cover,class:"rounded-xl self-start"},null,8,["src"]),c("div",ye,[c("h2",ve,P(e.playlist.name),1),e.playlist.description?(l(),g("p",xe,P(e.playlist.description),1)):w("",!0),c("div",he,[c("p",_e,[c("strong",null,P(e.playlist.songs.length),1),G(" tracks ")]),c("span",{class:"material-symbols-rounded cursor-pointer",title:"Expand",onClick:i},P(e.expanded?"expand_less":"expand_more"),1)])]),e.expanded?(l(),j(D,{key:0,class:"col-span-2 flex flex-col gap-2 z-10 p-4"},{default:q(()=>[(l(!0),g(B,null,I(e.playlist.songs,y=>(l(),j(pe,{key:y.source,diff:f(e.playlist),expanded:e.expandedSong,"is-base":e.isBase,song:y,onToggleExpanded:o},null,8,["diff","expanded","is-base","song"]))),128))]),_:1})):w("",!0),k(n)!="base"?(l(),g("span",{key:1,class:"material-symbols-rounded exclude",title:"Exclude",onClick:p[0]||(p[0]=y=>a.$emit("exclude",e.playlist))}," block ")):w("",!0)]),_:1},8,["class"]))}});const O=N(be,[["__scopeId","data-v-321aa4c3"]]),L=e=>(X("data-v-8ce823ef"),e=e(),Y(),e),ke={class:"pb-4 pr-4 flex flex-col gap-4 h-full"},Se={class:"flex flex-row justify-end"},we=L(()=>c("div",{class:"grid grid-cols-2 gap-4"},[c("h1",null,"Local"),c("h1",null,"Incoming")],-1)),Ee={key:1,class:"fill-page"},Pe={key:1,class:"fill-page !grid !grid-cols-2 gap-4"},Be=L(()=>c("h2",null,[c("span",{class:"material-symbols-rounded"},"file_upload"),G(" From File ")],-1)),je=L(()=>c("h2",null,[c("span",{class:"material-symbols-rounded"},"cloud_download"),G(" GitHub Gist ")],-1)),$e=M({__name:"Import",setup(e){const r=b(!1),s=b(null),n=b([]),i=b([]),o=F(()=>le(n.value,i.value)),f=U();let a=!1;const p=async()=>{if(r.value||a)return;a=!0;const d=[];for(const m of f.playlists)try{const u=await(await fetch(`/api/playlists/${m.id}`)).json();d.push(u)}catch(t){console.error(t)}n.value=d,a=!1};Q(()=>f.playlists,p),R(p);const y=d=>{n.value=n.value.filter(m=>m.name!==d.name),i.value=i.value.filter(m=>m.name!==d.name)},v=b(null),x=b(null),h=d=>{var m;((m=v.value)==null?void 0:m.name)===d.name?v.value=null:v.value=d},_=d=>{var m;((m=x.value)==null?void 0:m.id)===d.id?x.value=null:x.value=d},$=async()=>{r.value=!0;const d=[],m=t=>{for(const u of t.added)d.push(ae(t.id,u));for(const u of t.removed)d.push(te(t.id,u.id));for(const u of t.modified)for(const E of Object.keys(u.changed))d.push(ne(u.id,E,u.changed[E].to))};for(const t of o.value.added)n.value.push(t),d.push(ee(t.name,t.description,t.cover).then(u=>{t.id=u,m({id:t.id,name:t.name,added:t.songs,removed:[],modified:[]})}));for(const t of o.value.modified)m(t);for(const t of o.value.removed)d.push(se(t.id));await Promise.all(d),window.setTimeout(async()=>{await f.fetchPlaylists(),r.value=!1,await p()},1e3)},V=b(!1);A.connected().then(d=>V.value=d);const W=async()=>{const d=document.createElement("input");d.type="file",d.accept=".json",d.name="lib.one.json",d.onchange=async()=>{if(!d.files)return;const t=await d.files[0].text(),u=JSON.parse(t);i.value=u,s.value="file"},d.click()},H=async()=>{i.value=await A.getContent(),s.value="gist"};return b(null),(d,m)=>(l(),g("div",ke,[c("div",Se,[S(oe,{icon:"merge",label:"Merge",onClick:$})]),s.value?(l(),g(B,{key:0},[r.value?(l(),g("div",Ee,[S(Z)])):(l(),g(B,{key:0},[we,(l(!0),g(B,null,I(n.value,t=>{var u,E;return l(),g("div",{key:t.name,class:"grid grid-cols-2 gap-4"},[n.value.some(C=>C.name===t.name)?(l(),j(O,{key:0,diff:k(o),expanded:((u=v.value)==null?void 0:u.name)===t.name,"expanded-song":x.value,playlist:t,class:"grid-1","is-base":"",onExclude:y,onToggleExpanded:h,onToggleExpandedSong:_},null,8,["diff","expanded","expanded-song","playlist"])):w("",!0),i.value.some(C=>C.name===t.name)?(l(),j(O,{key:1,diff:k(o),expanded:((E=v.value)==null?void 0:E.name)===t.name,"expanded-song":x.value,playlist:i.value.find(C=>C.name===t.name),class:"grid-2",onExclude:y,onToggleExpanded:h,onToggleExpandedSong:_},null,8,["diff","expanded","expanded-song","playlist"])):w("",!0)])}),128)),(l(!0),g(B,null,I(k(o).added,t=>{var u;return l(),g("div",{key:t.name,class:"grid grid-cols-2 gap-4"},[i.value.some(E=>E.name===t.name)?(l(),j(O,{key:0,diff:k(o),expanded:((u=v.value)==null?void 0:u.name)===t.name,"expanded-song":x.value,playlist:t,class:"grid-2",onExclude:y,onToggleExpanded:h,onToggleExpandedSong:_},null,8,["diff","expanded","expanded-song","playlist"])):w("",!0)])}),128))],64))],64)):(l(),g("div",Pe,[S(D,{"with-hover":"",class:"cursor-pointer",onClick:W},{default:q(()=>[Be]),_:1}),S(D,{disabled:!V.value,"with-hover":"",class:"cursor-pointer",onClick:H},{default:q(()=>[je]),_:1},8,["disabled"])]))]))}});const De=N($e,[["__scopeId","data-v-8ce823ef"]]);export{De as default}; diff --git a/src/ui/dist/assets/Import-701459a8.js.gz b/src/ui/dist/assets/Import-701459a8.js.gz deleted file mode 100644 index bf41bcc93..000000000 Binary files a/src/ui/dist/assets/Import-701459a8.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Import-de0dbd70.js b/src/ui/dist/assets/Import-de0dbd70.js new file mode 100644 index 000000000..91072c1c4 --- /dev/null +++ b/src/ui/dist/assets/Import-de0dbd70.js @@ -0,0 +1 @@ +import{n as M,A as F,u as k,o as l,c as g,g as S,h as z,a as c,M as J,bW as K,t as E,F as B,i as q,aH as T,d as w,_ as G,f as j,w as I,b as N,C as D,q as b,j as Q,G as R,aP as U,l as X,m as Y,L as Z,x as ee,bS as se,bN as ae,c9 as te,ca as ne}from"./index-fe2c9584.js";import{G as W}from"./gistClient-d0f6f626.js";import{I as oe}from"./IconButton-f37a9ebc.js";const de=(e,r)=>{const s={source:e.source,id:e.id,changed:{}},n=s.changed,i=["id","href","duration","plays","artists"];for(const o of Object.keys(e))if(!i.includes(o)){if(o==="metadata"){const f=e.metadata,a=r.metadata;if(f&&a){if(!f.spotify&&!a.spotify)continue;if(!f.spotify&&a.spotify){n.metadata={from:f,to:a};continue}if(f.spotify&&!a.spotify){n.metadata={from:f,to:a};continue}f.spotify.id!==a.spotify.id&&(n.metadata={from:f,to:a})}else(f||a)&&(n.metadata={from:f,to:a});continue}o!=="id"&&e[o]!==r[o]&&(n[o]={from:e[o],to:r[o]})}return Object.keys(n).length?s:null},ie=(e,r)=>{const s={name:e.name,id:e.id,added:[],removed:[],modified:[]};for(const n of e.songs){const i=r.songs.find(o=>o.source===n.source);if(i){const o=de(n,i);o&&s.modified.push(o)}else s.removed.push(n)}for(const n of r.songs)e.songs.find(o=>o.source===n.source)||s.added.push(n);return s.added.length||s.removed.length||s.modified.length?s:null},le=(e,r)=>{const s={added:[],removed:[],modified:[]};for(const n of e){const i=r.find(o=>o.name===n.name);if(i){const o=ie(n,i);o&&s.modified.push(o)}else s.removed.push(n)}for(const n of r)e.find(o=>o.name===n.name)||s.added.push(n);return s},ce={class:"overflow-hidden"},re={class:"title my-0"},ue={key:0,class:"info"},fe={class:"key"},me={class:"value"},ge=M({__name:"SongDiff",props:{song:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Object,required:!1}},emits:["exclude","toggle-expanded"],setup(e,{emit:r}){const s=e,n=F(()=>s.diff.removed.some(a=>a.source===s.song.source)?"removed":s.diff.modified.some(a=>a.source===s.song.source)?"modified":s.isBase?"base":s.diff.added.some(a=>a.source===s.song.source)?"added":"base"),i=()=>{r("toggle-expanded",s.song)},o=["title","artist","album","source","cover","favourite","metadata"],f=a=>{var x,h,_;const p=(h=(x=s.diff.modified.find($=>$.source===s.song.source))==null?void 0:x.changed)==null?void 0:h[a],y=s.isBase?"from":"to",v=(p==null?void 0:p[y])??s.song[a];return a=="metadata"?(_=v==null?void 0:v.spotify)==null?void 0:_.id:v};return(a,p)=>{var y,v;return!e.isBase&&k(n)=="removed"?w("",!0):(l(),g("div",{key:0,class:T([k(n),"song px-4 py-2"])},[S(z,{src:e.song.cover,class:"rounded-md"},null,8,["src"]),c("div",ce,[c("p",re,[S(J,{text:e.song.title},null,8,["text"])]),S(K,{artist:e.song.artist,class:"artist text-muted"},null,8,["artist"])]),c("span",{class:"material-symbols-rounded cursor-pointer",onClick:i},E(((y=e.expanded)==null?void 0:y.source)==e.song.source?"expand_less":"expand_more"),1),((v=e.expanded)==null?void 0:v.source)==e.song.source?(l(),g("div",ue,[(l(),g(B,null,q(o,x=>{var h,_;return c("div",{key:x,class:T([{modified:(_=(h=e.diff.modified.find($=>$.source===e.song.source))==null?void 0:h.changed)==null?void 0:_[x]},"info__table"])},[c("span",fe,E(x),1),c("span",me,E(f(x)),1)],2)}),64))])):w("",!0)],2))}}});const pe=G(ge,[["__scopeId","data-v-1805c709"]]),ye={class:"info"},ve={class:"my-0"},xe={key:0,class:"text-muted"},he={class:"flex flex-row justify-between items-center"},_e={class:"text-very-muted"},be=M({__name:"PlaylistDiff",props:{playlist:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Boolean,required:!1},expandedSong:{type:Object,required:!1}},emits:["exclude","toggle-expanded","toggle-expanded-song"],setup(e,{emit:r}){const s=e,n=F(()=>s.diff.removed.some(a=>a.name===s.playlist.name)?"removed":s.diff.modified.some(a=>a.name===s.playlist.name)?"modified":s.isBase?"base":s.diff.added.some(a=>a.name===s.playlist.name)?"added":"base"),i=()=>{r("toggle-expanded",s.playlist)},o=a=>{r("toggle-expanded-song",a)},f=a=>{const p=s.diff.modified.find(y=>y.name===a.name);return p||{name:a.name,added:[],removed:[],modified:[]}};return(a,p)=>(l(),j(D,{class:T([k(n),"playlist p-4 rounded-xl relative"])},{default:I(()=>[S(z,{src:e.playlist.cover,class:"rounded-xl self-start"},null,8,["src"]),c("div",ye,[c("h2",ve,E(e.playlist.name),1),e.playlist.description?(l(),g("p",xe,E(e.playlist.description),1)):w("",!0),c("div",he,[c("p",_e,[c("strong",null,E(e.playlist.songs.length),1),N(" tracks ")]),c("span",{class:"material-symbols-rounded cursor-pointer",title:"Expand",onClick:i},E(e.expanded?"expand_less":"expand_more"),1)])]),e.expanded?(l(),j(D,{key:0,class:"col-span-2 flex flex-col gap-2 z-10 p-4"},{default:I(()=>[(l(!0),g(B,null,q(e.playlist.songs,y=>(l(),j(pe,{key:y.source,diff:f(e.playlist),expanded:e.expandedSong,"is-base":e.isBase,song:y,onToggleExpanded:o},null,8,["diff","expanded","is-base","song"]))),128))]),_:1})):w("",!0),k(n)!="base"?(l(),g("span",{key:1,class:"material-symbols-rounded exclude",title:"Exclude",onClick:p[0]||(p[0]=y=>a.$emit("exclude",e.playlist))}," block ")):w("",!0)]),_:1},8,["class"]))}});const O=G(be,[["__scopeId","data-v-321aa4c3"]]),L=e=>(X("data-v-8ce823ef"),e=e(),Y(),e),ke={class:"pb-4 pr-4 flex flex-col gap-4 h-full"},Se={class:"flex flex-row justify-end"},we=L(()=>c("div",{class:"grid grid-cols-2 gap-4"},[c("h1",null,"Local"),c("h1",null,"Incoming")],-1)),Pe={key:1,class:"fill-page"},Ee={key:1,class:"fill-page !grid !grid-cols-2 gap-4"},Be=L(()=>c("h2",null,[c("span",{class:"material-symbols-rounded"},"file_upload"),N(" From File ")],-1)),je=L(()=>c("h2",null,[c("span",{class:"material-symbols-rounded"},"cloud_download"),N(" GitHub Gist ")],-1)),$e=M({__name:"Import",setup(e){const r=b(!1),s=b(null),n=b([]),i=b([]),o=F(()=>le(n.value,i.value)),f=Q();let a=!1;const p=async()=>{if(r.value||a)return;a=!0;const d=[];for(const m of f.playlists)try{const u=await(await fetch(`/api/playlists/${m.id}`)).json();d.push(u)}catch(t){console.error(t)}n.value=d,a=!1};R(()=>f.playlists,p),U(p);const y=d=>{n.value=n.value.filter(m=>m.name!==d.name),i.value=i.value.filter(m=>m.name!==d.name)},v=b(null),x=b(null),h=d=>{var m;((m=v.value)==null?void 0:m.name)===d.name?v.value=null:v.value=d},_=d=>{var m;((m=x.value)==null?void 0:m.id)===d.id?x.value=null:x.value=d},$=async()=>{r.value=!0;const d=[],m=t=>{for(const u of t.added)d.push(ae(t.id,u));for(const u of t.removed)d.push(te(t.id,u.id));for(const u of t.modified)for(const P of Object.keys(u.changed))d.push(ne(u.id,P,u.changed[P].to))};for(const t of o.value.added)n.value.push(t),d.push(ee(t.name,t.description,t.cover).then(u=>{t.id=u,m({id:t.id,name:t.name,added:t.songs,removed:[],modified:[]})}));for(const t of o.value.modified)m(t);for(const t of o.value.removed)d.push(se(t.id));await Promise.all(d),window.setTimeout(async()=>{await f.fetchPlaylists(),r.value=!1,await p()},1e3)},V=b(!1);W.connected().then(d=>V.value=d);const A=async()=>{const d=document.createElement("input");d.type="file",d.accept=".json",d.name="lib.one.json",d.onchange=async()=>{if(!d.files)return;const t=await d.files[0].text(),u=JSON.parse(t);i.value=u,s.value="file"},d.click()},H=async()=>{i.value=await W.getContent(),s.value="gist"};return b(null),(d,m)=>(l(),g("div",ke,[c("div",Se,[S(oe,{icon:"merge",label:"Merge",onClick:$})]),s.value?(l(),g(B,{key:0},[r.value?(l(),g("div",Pe,[S(Z)])):(l(),g(B,{key:0},[we,(l(!0),g(B,null,q(n.value,t=>{var u,P;return l(),g("div",{key:t.name,class:"grid grid-cols-2 gap-4"},[n.value.some(C=>C.name===t.name)?(l(),j(O,{key:0,diff:k(o),expanded:((u=v.value)==null?void 0:u.name)===t.name,"expanded-song":x.value,playlist:t,class:"grid-1","is-base":"",onExclude:y,onToggleExpanded:h,onToggleExpandedSong:_},null,8,["diff","expanded","expanded-song","playlist"])):w("",!0),i.value.some(C=>C.name===t.name)?(l(),j(O,{key:1,diff:k(o),expanded:((P=v.value)==null?void 0:P.name)===t.name,"expanded-song":x.value,playlist:i.value.find(C=>C.name===t.name),class:"grid-2",onExclude:y,onToggleExpanded:h,onToggleExpandedSong:_},null,8,["diff","expanded","expanded-song","playlist"])):w("",!0)])}),128)),(l(!0),g(B,null,q(k(o).added,t=>{var u;return l(),g("div",{key:t.name,class:"grid grid-cols-2 gap-4"},[i.value.some(P=>P.name===t.name)?(l(),j(O,{key:0,diff:k(o),expanded:((u=v.value)==null?void 0:u.name)===t.name,"expanded-song":x.value,playlist:t,class:"grid-2",onExclude:y,onToggleExpanded:h,onToggleExpandedSong:_},null,8,["diff","expanded","expanded-song","playlist"])):w("",!0)])}),128))],64))],64)):(l(),g("div",Ee,[S(D,{"with-hover":"",class:"cursor-pointer",onClick:A},{default:I(()=>[Be]),_:1}),S(D,{disabled:!V.value,"with-hover":"",class:"cursor-pointer",onClick:H},{default:I(()=>[je]),_:1},8,["disabled"])]))]))}});const De=G($e,[["__scopeId","data-v-8ce823ef"]]);export{De as default}; diff --git a/src/ui/dist/assets/Import-de0dbd70.js.gz b/src/ui/dist/assets/Import-de0dbd70.js.gz new file mode 100644 index 000000000..3e4e59659 Binary files /dev/null and b/src/ui/dist/assets/Import-de0dbd70.js.gz differ diff --git a/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js b/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js similarity index 72% rename from src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js rename to src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js index 8d986d6a9..df179fc6b 100644 --- a/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js +++ b/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js @@ -1 +1 @@ -import{T as w}from"./Template-59011f9c.js";import{F as h}from"./Form-fb09f2bd.js";import{P as g}from"./Playlist-48798df5.js";import{T as A}from"./ExternalEntry-2fd0cbdd.js";import{n as $,j as k,q as n,o as C,f as j,w as S,g as c,u as N,bZ as P,a as T,bI as D,bM as O,x as _}from"./index-e23b36b9.js";const q=T("br",null,null,-1),V=$({__name:"ImportSpotifyAlbum",props:{album:{type:Object,required:!0}},setup(o,{expose:p}){const t=o,r=k(),u=n([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),i=n(null),s=n(null),l=n([]),f=async()=>{if(l.value.length>0){i.value.show();return}const a=await i.value.fetch(`/api/spotify/albums/${t.album.id}`);a&&(l.value=await a.json())},v=()=>{const a=new CustomEvent("player.play",{detail:{artist:t.album.artist,title:t.album.title,source:t.album.href}});window.dispatchEvent(a)},m=async a=>{if(a==="new"){const e=await _(t.album.title,`${t.album.releaseDate}, ${t.album.artist}`,t.album.cover);return u.value[0].options=r.playlistsAsDropdown,u.value[0].value=e,e}return Number(a)},d=async(a,e=null)=>{l.value[a].added||(e??(e=s.value.toObject().playlist),e=await m(e),await D(e??s.value.toObject().playlist,l.value[a]),l.value[a].added=!0)},y=async()=>{let a=s.value.toObject().playlist;a=await m(a),l.value.forEach((e,b)=>{d(b,a)}),O.addSuccess(t.album.title,`Added ${l.value.length} songs to ${r.playlists[a].name}`,3e3)};return p({show:f}),(a,e)=>(C(),j(w,{ref_key:"modal",ref:i,submit:{label:"Add All",icon:"add"},name:"Import Album",onClose:e[0]||(e[0]=b=>a.$emit("close")),onSubmit:y},{default:S(()=>[c(A,{cover:o.album.cover,icons:[{name:"share",onClick:()=>N(P)(o.album.href)},{name:"play_arrow",onClick:v}],subtitle:o.album.artist,title:o.album.title},null,8,["cover","icons","subtitle","title"]),c(h,{ref_key:"form",ref:s,options:u.value},null,8,["options"]),q,c(g,{songs:l.value,noCover:"",onAdd:d},null,8,["songs"])]),_:1},512))}});export{V as _}; +import{T as w}from"./Template-f7fd23e9.js";import{F as h}from"./Form-6220abd3.js";import{P as g}from"./Playlist-41f8fb8f.js";import{T as A}from"./ExternalEntry-7bdbc9d0.js";import{n as $,j as k,q as n,o as C,f as j,w as N,g as c,u as S,b$ as P,a as T,bN as D,bR as O,x as _}from"./index-fe2c9584.js";const q=T("br",null,null,-1),I=$({__name:"ImportSpotifyAlbum",props:{album:{type:Object,required:!0}},setup(o,{expose:p}){const t=o,r=k(),u=n([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),i=n(null),s=n(null),l=n([]),f=async()=>{if(l.value.length>0){i.value.show();return}const a=await i.value.fetch(`/api/spotify/albums/${t.album.id}`);a&&(l.value=await a.json())},v=()=>{const a=new CustomEvent("player.play",{detail:{artist:t.album.artist,title:t.album.title,source:t.album.href}});window.dispatchEvent(a)},m=async a=>{if(a==="new"){const e=await _(t.album.title,`${t.album.releaseDate}, ${t.album.artist}`,t.album.cover);return u.value[0].options=r.playlistsAsDropdown,u.value[0].value=e,e}return Number(a)},d=async(a,e=null)=>{l.value[a].added||(e??(e=s.value.toObject().playlist),e=await m(e),await D(e??s.value.toObject().playlist,l.value[a]),l.value[a].added=!0)},y=async()=>{let a=s.value.toObject().playlist;a=await m(a),l.value.forEach((e,b)=>{d(b,a)}),O.addSuccess(t.album.title,`Added ${l.value.length} songs to ${r.playlists[a].name}`,3e3)};return p({show:f}),(a,e)=>(C(),j(w,{ref_key:"modal",ref:i,submit:{label:"Add All",icon:"add"},name:"Import Album",onClose:e[0]||(e[0]=b=>a.$emit("close")),onSubmit:y},{default:N(()=>[c(A,{cover:o.album.cover,icons:[{name:"share",onClick:()=>S(P)(o.album.href)},{name:"play_arrow",onClick:v}],subtitle:o.album.artist,title:o.album.title},null,8,["cover","icons","subtitle","title"]),c(h,{ref_key:"form",ref:s,options:u.value},null,8,["options"]),q,c(g,{songs:l.value,noCover:"",onAdd:d},null,8,["songs"])]),_:1},512))}});export{I as _}; diff --git a/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js.gz b/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js.gz new file mode 100644 index 000000000..2ef339504 Binary files /dev/null and b/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js.gz differ diff --git a/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js.gz b/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js.gz deleted file mode 100644 index bf18018f4..000000000 Binary files a/src/ui/dist/assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/LocalData-0aea2bc5.js.gz b/src/ui/dist/assets/LocalData-0aea2bc5.js.gz deleted file mode 100644 index 78f521cea..000000000 Binary files a/src/ui/dist/assets/LocalData-0aea2bc5.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/LocalData-0aea2bc5.js b/src/ui/dist/assets/LocalData-98518e1f.js similarity index 83% rename from src/ui/dist/assets/LocalData-0aea2bc5.js rename to src/ui/dist/assets/LocalData-98518e1f.js index f091f0fde..dabe302a8 100644 --- a/src/ui/dist/assets/LocalData-0aea2bc5.js +++ b/src/ui/dist/assets/LocalData-98518e1f.js @@ -1 +1 @@ -import{T as v}from"./TrackCompact-b3eeb676.js";import{_ as S,q as y,B as j,c,a as t,F as i,i as r,o,f as n,w as k,g as p,h as B,M as g,u as b,C as w,l as D,m as T}from"./index-e23b36b9.js";import"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./Playlist-48798df5.js";import"./PlaylistHeader-ecbb25e6.js";import"./ExternalEntry-2fd0cbdd.js";const x=l=>(D("data-v-6f841b26"),l=l(),T(),l),$={class:"wrap"},I={class:"covers"},N=x(()=>t("h2",null,"Local covers",-1)),q={class:"items grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-4"},F={class:"flex justify-between w-full mb-4"},J={class:"overflow-hidden"},M=["onClick"],O={class:"tracks"},V=x(()=>t("h2",null,"Local tracks",-1)),z={class:"items grid grid-cols-2 md:grid-cols-4 gap-4"},A={class:"flex justify-between w-full mb-4"},G={class:"overflow-hidden"},H=["onClick"],K={class:"flex justify-center w-full mb-4"},Q=["src"],R={__name:"LocalData",setup(l){const m=y([]),f=y([]),C=j(),d=()=>{fetch("/api/config/images").then(e=>e.json()).then(e=>m.value=e),fetch("/api/config/tracks").then(e=>e.json()).then(e=>f.value=e)},L=async e=>{await fetch("/api/config/images",{method:"DELETE",body:JSON.stringify({name:e})}),d()},E=async e=>{fetch("/api/config/tracks",{method:"DELETE",body:JSON.stringify({name:e})}),d()},h=e=>{C.loadPlaylist("track",e)};return d(),(e,U)=>(o(),c("div",$,[t("div",I,[N,t("div",q,[(o(!0),c(i,null,r(m.value,(a,_)=>(o(),n(w,{key:_,class:"cover-wrapper"},{default:k(()=>[p(B,{src:a.name,class:"rounded-xl mb-4"},null,8,["src"]),t("div",F,[t("p",J,[p(g,{text:a.name},null,8,["text"])]),t("span",{class:"ml-2 material-symbols-rounded cursor-pointer",onClick:s=>L(a.name)},"delete",8,M)]),(o(!0),c(i,null,r(a.songs,(s,u)=>(o(),n(b(v),{id:s.id,key:u,artist:s.artist,cover:s.cover,title:s.title,onPlay:P=>h(s.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])]),t("div",O,[V,t("div",z,[(o(!0),c(i,null,r(f.value,(a,_)=>(o(),n(w,{key:_,class:"track"},{default:k(()=>[t("div",A,[t("p",G,[p(g,{text:a.name},null,8,["text"])]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:s=>E(a.name)},"delete",8,H)]),t("div",K,[t("audio",{src:"/api/"+a.name.replace("local:","/src/tracks/"),controls:""},null,8,Q)]),(o(!0),c(i,null,r(a.songs,(s,u)=>(o(),n(b(v),{id:s.id,key:u,artist:s.artist,cover:s.cover,title:s.title,onPlay:P=>h(s.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])])]))}},le=S(R,[["__scopeId","data-v-6f841b26"]]);export{le as default}; +import{T as v}from"./TrackCompact-54657b5e.js";import{_ as S,q as y,B as j,c,a as t,F as i,i as r,o,f as n,w as k,g as p,h as B,M as g,u as b,C as w,l as D,m as T}from"./index-fe2c9584.js";import"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./Playlist-41f8fb8f.js";import"./PlaylistHeader-1850e9b2.js";import"./ExternalEntry-7bdbc9d0.js";const x=l=>(D("data-v-6f841b26"),l=l(),T(),l),$={class:"wrap"},I={class:"covers"},N=x(()=>t("h2",null,"Local covers",-1)),q={class:"items grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-4"},F={class:"flex justify-between w-full mb-4"},J={class:"overflow-hidden"},M=["onClick"],O={class:"tracks"},V=x(()=>t("h2",null,"Local tracks",-1)),z={class:"items grid grid-cols-2 md:grid-cols-4 gap-4"},A={class:"flex justify-between w-full mb-4"},G={class:"overflow-hidden"},H=["onClick"],K={class:"flex justify-center w-full mb-4"},Q=["src"],R={__name:"LocalData",setup(l){const m=y([]),f=y([]),C=j(),d=()=>{fetch("/api/config/images").then(e=>e.json()).then(e=>m.value=e),fetch("/api/config/tracks").then(e=>e.json()).then(e=>f.value=e)},L=async e=>{await fetch("/api/config/images",{method:"DELETE",body:JSON.stringify({name:e})}),d()},E=async e=>{fetch("/api/config/tracks",{method:"DELETE",body:JSON.stringify({name:e})}),d()},h=e=>{C.loadPlaylist("track",e)};return d(),(e,U)=>(o(),c("div",$,[t("div",I,[N,t("div",q,[(o(!0),c(i,null,r(m.value,(a,_)=>(o(),n(w,{key:_,class:"cover-wrapper"},{default:k(()=>[p(B,{src:a.name,class:"rounded-xl mb-4"},null,8,["src"]),t("div",F,[t("p",J,[p(g,{text:a.name},null,8,["text"])]),t("span",{class:"ml-2 material-symbols-rounded cursor-pointer",onClick:s=>L(a.name)},"delete",8,M)]),(o(!0),c(i,null,r(a.songs,(s,u)=>(o(),n(b(v),{id:s.id,key:u,artist:s.artist,cover:s.cover,title:s.title,onPlay:P=>h(s.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])]),t("div",O,[V,t("div",z,[(o(!0),c(i,null,r(f.value,(a,_)=>(o(),n(w,{key:_,class:"track"},{default:k(()=>[t("div",A,[t("p",G,[p(g,{text:a.name},null,8,["text"])]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:s=>E(a.name)},"delete",8,H)]),t("div",K,[t("audio",{src:"/api/"+a.name.replace("local:","/src/tracks/"),controls:""},null,8,Q)]),(o(!0),c(i,null,r(a.songs,(s,u)=>(o(),n(b(v),{id:s.id,key:u,artist:s.artist,cover:s.cover,title:s.title,onPlay:P=>h(s.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])])]))}},le=S(R,[["__scopeId","data-v-6f841b26"]]);export{le as default}; diff --git a/src/ui/dist/assets/LocalData-98518e1f.js.gz b/src/ui/dist/assets/LocalData-98518e1f.js.gz new file mode 100644 index 000000000..c7158ebcc Binary files /dev/null and b/src/ui/dist/assets/LocalData-98518e1f.js.gz differ diff --git a/src/ui/dist/assets/News-704a602c.js b/src/ui/dist/assets/News-697c1603.js similarity index 94% rename from src/ui/dist/assets/News-704a602c.js rename to src/ui/dist/assets/News-697c1603.js index 0e6bd038a..9f875a2a7 100644 --- a/src/ui/dist/assets/News-704a602c.js +++ b/src/ui/dist/assets/News-697c1603.js @@ -1 +1 @@ -import{F as C}from"./FullShelf-c00e086a.js";import{_ as f,C as T,o as n,f as m,w,c as o,d as y,a as r,t as p,e as c,L as N,g as $,F as h,i as g,l as k,m as I}from"./index-e23b36b9.js";const x={name:"NewsItemBig",components:{Card:T},methods:{redirect(){this.$router.push(this.href)}},computed:{updatedTimestamp(){const e=new Date(this.updated),s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${s[e.getUTCDay()]} ${e.getUTCDate()} ${t[e.getUTCMonth()]} ${e.getUTCFullYear()} ${e.getUTCHours()}.${e.getUTCMinutes()} GMT`}},props:{image:String,title:String,summary:String,href:String,updated:String,source:String}},M=["src"],B=["innerHTML"],F={class:"small"};function L(e,s,t,i,d,u){const _=c("Card");return n(),m(_,{class:"p-4 col-span-2 cursor-pointer","with-hover":"",onClick:u.redirect},{default:w(()=>[t.image?(n(),o("img",{key:0,src:t.image},null,8,M)):y("",!0),r("h4",null,p(t.title),1),r("p",{class:"newsSummary",innerHTML:t.summary},null,8,B),r("p",F,p(`${u.updatedTimestamp}, ${t.source}`),1)]),_:1},8,["onClick"])}const D=f(x,[["render",L],["__scopeId","data-v-15299eaa"]]);const U={components:{Loader:N,FullShelf:C,NewsItemBig:D},name:"News",data(){return{news:[]}},mounted(){fetch("/api/news/articles").then(e=>e.json()).then(e=>{this.news.length=0;for(const s of e){const t=this.news.findIndex(i=>i.source==s.source);t>=0?this.news[t].items.push(s):this.news.push({source:s.source,items:[s]})}})}},H=e=>(k("data-v-55d1a00d"),e=e(),I(),e),b={class:"padding-20"},A={class:"news"},J=H(()=>r("h1",null,"News",-1)),V={key:0,class:"fillPage"};function O(e,s,t,i,d,u){const _=c("Loader"),S=c("news-item-big"),v=c("full-shelf");return n(),o("div",b,[r("div",A,[J,d.news.length?y("",!0):(n(),o("div",V,[$(_)])),(n(!0),o(h,null,g(d.news,l=>(n(),m(v,{key:l.source,heading:l.source,class:"mt-10"},{default:w(()=>[(n(!0),o(h,null,g(l.items,a=>(n(),m(S,{key:a.url,href:a.link,image:a.image,source:a.source,summary:a.summary,title:a.title,updated:a.updated},null,8,["href","image","source","summary","title","updated"]))),128))]),_:2},1032,["heading"]))),128))])])}const E=f(U,[["render",O],["__scopeId","data-v-55d1a00d"]]);export{E as default}; +import{F as C}from"./FullShelf-6722f9a0.js";import{_ as f,C as T,o as n,f as m,w,c as o,d as y,a as r,t as p,e as c,L as N,g as $,F as h,i as g,l as k,m as I}from"./index-fe2c9584.js";const x={name:"NewsItemBig",components:{Card:T},methods:{redirect(){this.$router.push(this.href)}},computed:{updatedTimestamp(){const e=new Date(this.updated),s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${s[e.getUTCDay()]} ${e.getUTCDate()} ${t[e.getUTCMonth()]} ${e.getUTCFullYear()} ${e.getUTCHours()}.${e.getUTCMinutes()} GMT`}},props:{image:String,title:String,summary:String,href:String,updated:String,source:String}},M=["src"],B=["innerHTML"],F={class:"small"};function L(e,s,t,i,d,u){const _=c("Card");return n(),m(_,{class:"p-4 col-span-2 cursor-pointer","with-hover":"",onClick:u.redirect},{default:w(()=>[t.image?(n(),o("img",{key:0,src:t.image},null,8,M)):y("",!0),r("h4",null,p(t.title),1),r("p",{class:"newsSummary",innerHTML:t.summary},null,8,B),r("p",F,p(`${u.updatedTimestamp}, ${t.source}`),1)]),_:1},8,["onClick"])}const D=f(x,[["render",L],["__scopeId","data-v-15299eaa"]]);const U={components:{Loader:N,FullShelf:C,NewsItemBig:D},name:"News",data(){return{news:[]}},mounted(){fetch("/api/news/articles").then(e=>e.json()).then(e=>{this.news.length=0;for(const s of e){const t=this.news.findIndex(i=>i.source==s.source);t>=0?this.news[t].items.push(s):this.news.push({source:s.source,items:[s]})}})}},H=e=>(k("data-v-55d1a00d"),e=e(),I(),e),b={class:"padding-20"},A={class:"news"},J=H(()=>r("h1",null,"News",-1)),V={key:0,class:"fillPage"};function O(e,s,t,i,d,u){const _=c("Loader"),S=c("news-item-big"),v=c("full-shelf");return n(),o("div",b,[r("div",A,[J,d.news.length?y("",!0):(n(),o("div",V,[$(_)])),(n(!0),o(h,null,g(d.news,l=>(n(),m(v,{key:l.source,heading:l.source,class:"mt-10"},{default:w(()=>[(n(!0),o(h,null,g(l.items,a=>(n(),m(S,{key:a.url,href:a.link,image:a.image,source:a.source,summary:a.summary,title:a.title,updated:a.updated},null,8,["href","image","source","summary","title","updated"]))),128))]),_:2},1032,["heading"]))),128))])])}const E=f(U,[["render",O],["__scopeId","data-v-55d1a00d"]]);export{E as default}; diff --git a/src/ui/dist/assets/News-697c1603.js.gz b/src/ui/dist/assets/News-697c1603.js.gz new file mode 100644 index 000000000..e3d327ee6 Binary files /dev/null and b/src/ui/dist/assets/News-697c1603.js.gz differ diff --git a/src/ui/dist/assets/News-704a602c.js.gz b/src/ui/dist/assets/News-704a602c.js.gz deleted file mode 100644 index 650101e83..000000000 Binary files a/src/ui/dist/assets/News-704a602c.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/NewsArticle-35f86d23.js.gz b/src/ui/dist/assets/NewsArticle-35f86d23.js.gz deleted file mode 100644 index 507500bcb..000000000 Binary files a/src/ui/dist/assets/NewsArticle-35f86d23.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/NewsArticle-35f86d23.js b/src/ui/dist/assets/NewsArticle-6755655f.js similarity index 85% rename from src/ui/dist/assets/NewsArticle-35f86d23.js rename to src/ui/dist/assets/NewsArticle-6755655f.js index 061e682bc..1ee0b4890 100644 --- a/src/ui/dist/assets/NewsArticle-35f86d23.js +++ b/src/ui/dist/assets/NewsArticle-6755655f.js @@ -1 +1 @@ -import{_ as p,o as i,c as _,a as r,L as m,f as d,t as c,b as y,d as h,aA as g,e as u}from"./index-e23b36b9.js";const w={name:"Error",props:{msg:String},methods:{toggleSidebar(){this.$emit("toggleSidebar")}}},v={class:"error"},b=["innerHTML"];function L(s,t,o,l,e,a){return i(),_("div",v,[r("h1",{innerHTML:o.msg},null,8,b)])}const k=p(w,[["render",L],["__scopeId","data-v-409a6b55"]]);const x={name:"NewsArticle",components:{Loader:m,Error:k},data(){return{error:"",article:{},fullWidth:!1}},methods:{updateData(){fetch(`/api/news/articles/${this.$route.params.url}`).then(async s=>{if(s.status==404){this.error="This wouldn't have happened if you had clicked on the links we provided!
ヽ(ಠ_ಠ)ノ",setTimeout(this.updateData,1e3);return}if(s.status==400){window.open(await s.text()),this.$router.push("/news");return}if(s.status==200){if(this.article=await s.json(),this.article.headline==="N/A"){window.open(this.article.href),this.$router.push("/news");return}let t=this.article.body.split(" ").filter(e=>e.includes('href="/'));t=t.map(e=>e.split('href="')[1].split('"')[0]);const o=this.article.href.split("/")[2],l=t.map(e=>"https://"+o+e);for(const e in t){let a=l[e];fetch("/api/news/articles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:l[e]})}).then(async n=>{n.status==200?a=await n.text():console.error(await n.text()),this.article.body=this.article.body.replaceAll(t[e],a)})}return}this.error=s.statusText})}},mounted(){this.updateData()}},T={key:2,class:"padding-20 newsArticle"},N=["innerHTML"],A={class:"leading-tight headline"},H=["innerHTML"],M={key:0,class:"date"},E=["href"],S={key:1,class:"my-4"},W=["innerHTML"];function C(s,t,o,l,e,a){const n=u("Error"),f=u("Loader");return e.error?(i(),d(n,{key:0,msg:e.error},null,8,["msg"])):e.article.headline?(i(),_("div",T,[r("span",{class:"toggleWidth material-icons-round",onClick:t[0]||(t[0]=B=>e.fullWidth=!e.fullWidth)},c(e.fullWidth?"close_fullscreen":"open_in_full"),1),r("div",{class:g([{slim:!e.fullWidth},"wrapper"])},[r("h6",{class:"accentLink topic",innerHTML:e.article.topic},null,8,N),r("h1",A,c(e.article.headline),1),r("h4",{class:"standfirst",innerHTML:e.article.standfirst},null,8,H),e.article.date?(i(),_("h6",M,[y(c(e.article.date)+", ",1),r("a",{href:e.article.href},c(e.article.href),9,E)])):h("",!0),e.article.body?(i(),_("hr",S)):h("",!0),r("div",{class:"body leading-relaxed text-md",innerHTML:e.article.body},null,8,W)],2)])):(i(),d(f,{key:1}))}const V=p(x,[["render",C],["__scopeId","data-v-32bc12c0"]]);export{V as default}; +import{_ as p,o as i,c as _,a as r,L as m,f as d,t as c,b as y,d as h,aH as g,e as u}from"./index-fe2c9584.js";const w={name:"Error",props:{msg:String},methods:{toggleSidebar(){this.$emit("toggleSidebar")}}},v={class:"error"},b=["innerHTML"];function L(s,t,o,l,e,a){return i(),_("div",v,[r("h1",{innerHTML:o.msg},null,8,b)])}const k=p(w,[["render",L],["__scopeId","data-v-409a6b55"]]);const x={name:"NewsArticle",components:{Loader:m,Error:k},data(){return{error:"",article:{},fullWidth:!1}},methods:{updateData(){fetch(`/api/news/articles/${this.$route.params.url}`).then(async s=>{if(s.status==404){this.error="This wouldn't have happened if you had clicked on the links we provided!
ヽ(ಠ_ಠ)ノ",setTimeout(this.updateData,1e3);return}if(s.status==400){window.open(await s.text()),this.$router.push("/news");return}if(s.status==200){if(this.article=await s.json(),this.article.headline==="N/A"){window.open(this.article.href),this.$router.push("/news");return}let t=this.article.body.split(" ").filter(e=>e.includes('href="/'));t=t.map(e=>e.split('href="')[1].split('"')[0]);const o=this.article.href.split("/")[2],l=t.map(e=>"https://"+o+e);for(const e in t){let a=l[e];fetch("/api/news/articles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:l[e]})}).then(async n=>{n.status==200?a=await n.text():console.error(await n.text()),this.article.body=this.article.body.replaceAll(t[e],a)})}return}this.error=s.statusText})}},mounted(){this.updateData()}},T={key:2,class:"padding-20 newsArticle"},H=["innerHTML"],N={class:"leading-tight headline"},M=["innerHTML"],A={key:0,class:"date"},E=["href"],S={key:1,class:"my-4"},W=["innerHTML"];function C(s,t,o,l,e,a){const n=u("Error"),f=u("Loader");return e.error?(i(),d(n,{key:0,msg:e.error},null,8,["msg"])):e.article.headline?(i(),_("div",T,[r("span",{class:"toggleWidth material-icons-round",onClick:t[0]||(t[0]=B=>e.fullWidth=!e.fullWidth)},c(e.fullWidth?"close_fullscreen":"open_in_full"),1),r("div",{class:g([{slim:!e.fullWidth},"wrapper"])},[r("h6",{class:"accentLink topic",innerHTML:e.article.topic},null,8,H),r("h1",N,c(e.article.headline),1),r("h4",{class:"standfirst",innerHTML:e.article.standfirst},null,8,M),e.article.date?(i(),_("h6",A,[y(c(e.article.date)+", ",1),r("a",{href:e.article.href},c(e.article.href),9,E)])):h("",!0),e.article.body?(i(),_("hr",S)):h("",!0),r("div",{class:"body leading-relaxed text-md",innerHTML:e.article.body},null,8,W)],2)])):(i(),d(f,{key:1}))}const V=p(x,[["render",C],["__scopeId","data-v-32bc12c0"]]);export{V as default}; diff --git a/src/ui/dist/assets/NewsArticle-6755655f.js.gz b/src/ui/dist/assets/NewsArticle-6755655f.js.gz new file mode 100644 index 000000000..d26580954 Binary files /dev/null and b/src/ui/dist/assets/NewsArticle-6755655f.js.gz differ diff --git a/src/ui/dist/assets/Playlist-48798df5.js b/src/ui/dist/assets/Playlist-41f8fb8f.js similarity index 75% rename from src/ui/dist/assets/Playlist-48798df5.js rename to src/ui/dist/assets/Playlist-41f8fb8f.js index 8afef2afa..b099b4909 100644 --- a/src/ui/dist/assets/Playlist-48798df5.js +++ b/src/ui/dist/assets/Playlist-41f8fb8f.js @@ -1 +1 @@ -import{P as r}from"./PlaylistHeader-ecbb25e6.js";import{E as l}from"./ExternalEntry-2fd0cbdd.js";import{n as i,o as s,c as a,g as c,a as n,F as _,i as p,f as u,l as m,m as y,_ as v}from"./index-e23b36b9.js";const h=e=>(m("data-v-43692079"),e=e(),y(),e),f={class:"playlist"},g=h(()=>n("hr",null,null,-1)),P={class:"entries"},B=i({__name:"Playlist",props:{songs:{type:Array,required:!0},noCover:{type:Boolean,default:!1}},setup(e){return(d,w)=>(s(),a("div",f,[c(r,{"without-duration":""}),g,n("div",P,[(s(!0),a(_,null,p(e.songs,(t,o)=>(s(),u(l,{key:t.source,added:t.added,index:o,song:t,title:t.title,"with-cover":!e.noCover,onAdd:x=>d.$emit("add",o)},null,8,["added","index","song","title","with-cover","onAdd"]))),128))])]))}});const C=v(B,[["__scopeId","data-v-43692079"]]);export{C as P}; +import{P as r}from"./PlaylistHeader-1850e9b2.js";import{E as l}from"./ExternalEntry-7bdbc9d0.js";import{n as i,o as s,c as a,g as c,a as n,F as _,i as p,f as u,l as m,m as y,_ as v}from"./index-fe2c9584.js";const h=e=>(m("data-v-43692079"),e=e(),y(),e),f={class:"playlist"},g=h(()=>n("hr",null,null,-1)),P={class:"entries"},B=i({__name:"Playlist",props:{songs:{type:Array,required:!0},noCover:{type:Boolean,default:!1}},setup(e){return(d,w)=>(s(),a("div",f,[c(r,{"without-duration":""}),g,n("div",P,[(s(!0),a(_,null,p(e.songs,(t,o)=>(s(),u(l,{key:t.source,added:t.added,index:o,song:t,title:t.title,"with-cover":!e.noCover,onAdd:x=>d.$emit("add",o)},null,8,["added","index","song","title","with-cover","onAdd"]))),128))])]))}});const C=v(B,[["__scopeId","data-v-43692079"]]);export{C as P}; diff --git a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js new file mode 100644 index 000000000..27923eaed --- /dev/null +++ b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js @@ -0,0 +1 @@ +import{P as o}from"./PlaylistEntry-a7c7e55a.js";import{P as i}from"./PlaylistHeader-1850e9b2.js";import{n as c,q as n,c as l,g as d,F as p,i as u,d as y,o as a,f}from"./index-fe2c9584.js";const m={key:0,ref:"playlist-scroll",class:"playlist"},h=c({__name:"Playlist",props:{playlist:{type:Object,required:!1}},setup(t){const s=n(-1);return(k,v)=>t.playlist?(a(),l("div",m,[d(i),(a(!0),l(p,null,u(t.playlist.songs,(e,r)=>(a(),f(o,{id:"bplayer-entry-"+e.id,key:e.source,index:r,selected:s.value==e.id,song:e,"with-cover":"",onClick:_=>s.value==e.id?s.value=-1:s.value=e.id},null,8,["id","index","selected","song","onClick"]))),128))],512)):y("",!0)}});export{h as _}; diff --git a/src/ui/dist/assets/PlaylistEntry-11952707.css b/src/ui/dist/assets/PlaylistEntry-11952707.css deleted file mode 100644 index 009c4795b..000000000 --- a/src/ui/dist/assets/PlaylistEntry-11952707.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Copyright (c) 2023, reAudioPlayer ONE. - * Licenced under the GNU General Public License v3.0 - */.playlist-entry[data-v-f2974070]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px;padding:10px 0;border-radius:20px;border:1px solid transparent}.playlist-entry .artist-title[data-v-f2974070]{grid-column:3/4}.playlist-entry:not(.withCover) .artist-title[data-v-f2974070]{grid-column-start:2}.playlist-entry:not(.withAlbum) .artist-title[data-v-f2974070]{grid-column-end:5}.playlist-entry div[data-v-f2974070]{overflow:hidden}.playlist-entry .index[data-v-f2974070],.playlist-entry .album[data-v-f2974070],.playlist-entry .duration[data-v-f2974070],.playlist-entry .icon[data-v-f2974070]{margin:auto 0;font-size:.9rem;color:var(--fg-base-dk)}.playlist-entry .index.index[data-v-f2974070],.playlist-entry .album.index[data-v-f2974070],.playlist-entry .duration.index[data-v-f2974070],.playlist-entry .icon.index[data-v-f2974070]{cursor:pointer}.playlist-entry .index.icon[data-v-f2974070],.playlist-entry .album.icon[data-v-f2974070],.playlist-entry .duration.icon[data-v-f2974070],.playlist-entry .icon.icon[data-v-f2974070]{font-size:1.3rem;cursor:pointer;font-variation-settings:"wght" 500}.playlist-entry .index.icon.favourite[data-v-f2974070],.playlist-entry .album.icon.favourite[data-v-f2974070],.playlist-entry .duration.icon.favourite[data-v-f2974070],.playlist-entry .icon.icon.favourite[data-v-f2974070]{font-variation-settings:"FILL" 1}.playlist-entry.hovering[data-v-f2974070]{background-color:var(--bg-hover-dk);border:var(--border-container)}.playlist-entry.hovering .index[data-v-f2974070]{font-size:1.5rem;font-variation-settings:"FILL" 1}.playlist-entry.selected[data-v-f2974070]{background-color:var(--bg-hover)}.playlist-entry .favourite-icon[data-v-f2974070]{grid-column:5}.playlist-entry .duration[data-v-f2974070]{grid-column:6}.playlist-entry .cover[data-v-f2974070]{display:flex;justify-content:center;border-radius:4px}.playlist-entry img[data-v-f2974070]{margin:auto 0}.playlist-entry .artist-title[data-v-f2974070]{display:grid;grid-template-rows:1fr 1fr}.playlist-entry .artist-title .artist[data-v-f2974070]{font-size:.8rem;color:var(--fg-base-dk)}.playlist-entry .artist-title span[data-v-f2974070]{max-width:-moz-min-content;max-width:min-content;overflow:hidden}.playlist-entry.playing .title[data-v-f2974070],.playlist-entry.playing .index[data-v-f2974070]{color:var(--fg-secondary)}.playlist-entry.hovering .artist[data-v-f2974070],.playlist-entry.hovering .album[data-v-f2974070],.playlist-entry.selected .artist[data-v-f2974070],.playlist-entry.selected .album[data-v-f2974070]{color:var(--fg-base)}@media screen and (max-width: 768px){.playlist-entry[data-v-f2974070]{padding:5px 0;border-radius:10px;grid-template-columns:30px 40px 1fr 1fr 30px 40px}.playlist-entry .index[data-v-f2974070],.playlist-entry .duration[data-v-f2974070]{font-size:.7rem}.playlist-entry .artist-title[data-v-f2974070]{grid-column-end:5;font-size:.8rem}.playlist-entry .artist-title .artist[data-v-f2974070]{font-size:.65rem}} diff --git a/src/ui/dist/assets/PlaylistEntry-11952707.css.gz b/src/ui/dist/assets/PlaylistEntry-11952707.css.gz deleted file mode 100644 index 6009799b8..000000000 Binary files a/src/ui/dist/assets/PlaylistEntry-11952707.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/PlaylistEntry-3951f4a8.js b/src/ui/dist/assets/PlaylistEntry-3951f4a8.js deleted file mode 100644 index 5ec296b44..000000000 --- a/src/ui/dist/assets/PlaylistEntry-3951f4a8.js +++ /dev/null @@ -1 +0,0 @@ -import{n as V,j as Y,A as _,q as A,by as H,o as l,c as y,r as X,g as o,w as a,b as f,F as O,i as T,f as P,t as p,u as c,d as w,c0 as G,bI as J,bM as K,x as Q,c6 as Z,e as b,aW as ee,B as te,a as m,aA as D,h as oe,M as U,z as se,bU as ne,cd as ae,b$ as ie,ce as le,_ as ue}from"./index-e23b36b9.js";import{_ as re}from"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import{p as de}from"./playerInPicture-af203fdf.js";const ce=V({__name:"SongContext",props:{song:{type:Object,required:!0},playlistId:{type:Number,required:!1,default:-1}},emits:["update","edit"],setup(e,{expose:I,emit:n}){const t=e,B=Y(),u=_(()=>B.playlists),$=_(()=>t.playlistId==-1),k=()=>{de(t.song.artist,t.song.title,t.song.source)},h=async s=>{var r;s!=-1&&(await J(s,t.song),K.addSuccess(t.song.title,`Added to ${(r=u.value.find(i=>i.id==s))==null?void 0:r.name}`,3e3),n("update"))},C=async()=>{const s=await Q(t.song.title,t.song.artist,t.song.cover);await h(s),n("update")},N=async()=>{await Z(t.playlistId,t.song.id),n("update")},S=A(null),g=A(null),v=()=>{g.value.visible?q():x()},q=()=>{g.value.hide()},x=()=>{const s=S.value.getBoundingClientRect(),r={top:s.height+s.top+window.scrollY,left:s.width+s.left+window.scrollX};g.value.show(r)};I({show:x,toggle:v,hide:q});const E=_(()=>({Soundcloud:`https://soundcloud.com/search?q=${t.song.artist} ${t.song.title}`,Audius:`https://audius.co/search/${t.song.artist} ${t.song.title}`,"Youtube Music":`https://music.youtube.com/search?q=${t.song.artist} ${t.song.title}`,Spotify:`https://open.spotify.com/search/${t.song.artist} ${t.song.title}`})),F=()=>{n("edit")},L=s=>{window.open(E.value[s]),F()};return(s,r)=>{const i=b("v-contextmenu-item"),j=b("v-contextmenu-submenu"),M=b("v-contextmenu-divider"),R=b("v-contextmenu"),z=ee("contextmenu");return H((l(),y("div",{ref_key:"box",ref:S},[X(s.$slots,"default"),o(R,{ref_key:"contextmenu",ref:g},{default:a(()=>[o(i,{onClick:k},{default:a(()=>[f(" Preview ")]),_:1}),o(j,{title:"Find source"},{default:a(()=>[(l(!0),y(O,null,T(Object.keys(c(E)),d=>(l(),P(i,{key:d,onClick:W=>L(d)},{default:a(()=>[f(p(d),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(M),o(i,{onClick:r[0]||(r[0]=d=>s.$emit("like"))},{default:a(()=>[f(p((e.song.favourite?"Remove from":"Save to")+" your Liked Songs"),1)]),_:1}),c($)?w("",!0):(l(),P(i,{key:0,onClick:N},{default:a(()=>[f(" Remove from this playlist ")]),_:1})),o(j,{title:"Add to playlist"},{default:a(()=>[o(i,{onClick:C},{default:a(()=>[f("Add to new playlist")]),_:1}),o(M),(l(!0),y(O,null,T(c(u),d=>(l(),P(i,{key:d.id,onClick:W=>h(d.id)},{default:a(()=>[f(p(d.name),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(M),o(i,{onClick:F},{default:a(()=>[f(" Update Metadata ")]),_:1}),o(M),o(i,{onClick:r[1]||(r[1]=d=>c(G)(e.song.id))},{default:a(()=>[f("Download")]),_:1})]),_:1},512)])),[[z,void 0,"contextmenu"]])}}}),ve={key:0,class:"cover"},fe={class:"artist-title"},ge={class:"title"},me={class:"artist"},ye={key:1,class:"album"},pe={class:"duration text-center"},ke=V({__name:"PlaylistEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:String,required:!1,default:null}},emits:["update"],setup(e,{emit:I}){const n=e,t=te(),B=_(()=>n.song.id==t.song.id),u=A(!1),$=()=>{n.song.favourite=!n.song.favourite,le(n.song.id,n.song.favourite)},k=_(()=>n.playlistId==null?t.playlist.id:n.playlistId),h=()=>{if(k.value=="track"){t.loadPlaylist("track",n.song.id);return}t.loadSong(Number(k.value),n.index)},C=A(null),N=()=>{C.value.show()},S=()=>{I("update")};return(g,v)=>{const q=b("router-link");return l(),P(ce,{ref:"ctxMenu",liked:e.song.favourite,playlistId:c(k),song:e.song,onEdit:N,onLike:$,onUpdate:S},{default:a(()=>[o(re,{ref_key:"updatePopup",ref:C,song:e.song,onUpdate:v[0]||(v[0]=x=>g.$emit("update"))},null,8,["song"]),m("div",{class:D([{playing:c(B),selected:e.selected,hovering:u.value,withCover:e.withCover,withAlbum:e.withAlbum,withMore:e.withMore},"playlist-entry"]),onDblclick:h,onMouseenter:v[2]||(v[2]=x=>u.value=!0),onMouseleave:v[3]||(v[3]=x=>u.value=!1)},[m("div",{class:D([{"material-symbols-rounded":u.value},"index text-right"]),onClick:h},p(u.value?"play_arrow":e.index+1),3),e.withCover?(l(),y("div",ve,[o(oe,{src:e.song.cover,type:"track"},null,8,["src"])])):w("",!0),m("div",fe,[m("span",ge,[o(q,{to:`/track/${c(se)(e.song.id)}`,class:"linkOnHover"},{default:a(()=>[o(U,{text:e.song.title},null,8,["text"])]),_:1},8,["to"])]),m("span",me,[o(ne,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!c(ae)?(l(),y("div",ye,[o(U,{text:e.song.album},null,8,["text"])])):w("",!0),e.selected||u.value||e.song.favourite?(l(),y("div",{key:2,class:D([{favourite:e.song.favourite},"favourite-icon icon text-right material-symbols-rounded"]),onClick:$},p(e.song.favourite?"favorite":"heart_plus"),3)):w("",!0),m("div",pe,p(c(ie)(e.song.duration)),1),w("",!0)],34)]),_:1},8,["liked","playlistId","song"])}}});const be=ue(ke,[["__scopeId","data-v-f2974070"]]);export{be as P}; diff --git a/src/ui/dist/assets/PlaylistEntry-3951f4a8.js.gz b/src/ui/dist/assets/PlaylistEntry-3951f4a8.js.gz deleted file mode 100644 index e5965d8fa..000000000 Binary files a/src/ui/dist/assets/PlaylistEntry-3951f4a8.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/PlaylistEntry-4058086a.css b/src/ui/dist/assets/PlaylistEntry-4058086a.css new file mode 100644 index 000000000..5ca454b90 --- /dev/null +++ b/src/ui/dist/assets/PlaylistEntry-4058086a.css @@ -0,0 +1,4 @@ +/*! + * Copyright (c) 2023, reAudioPlayer ONE. + * Licenced under the GNU General Public License v3.0 + */.playlist-entry[data-v-718c5b3c]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px;padding:10px 0;border-radius:20px;border:1px solid transparent}.playlist-entry .artist-title[data-v-718c5b3c]{grid-column:3/4}.playlist-entry:not(.withCover) .artist-title[data-v-718c5b3c]{grid-column-start:2}.playlist-entry:not(.withAlbum) .artist-title[data-v-718c5b3c]{grid-column-end:5}.playlist-entry div[data-v-718c5b3c]{overflow:hidden}.playlist-entry .index[data-v-718c5b3c],.playlist-entry .album[data-v-718c5b3c],.playlist-entry .duration[data-v-718c5b3c],.playlist-entry .icon[data-v-718c5b3c]{margin:auto 0;font-size:.9rem;color:var(--fg-base-dk)}.playlist-entry .index.index[data-v-718c5b3c],.playlist-entry .album.index[data-v-718c5b3c],.playlist-entry .duration.index[data-v-718c5b3c],.playlist-entry .icon.index[data-v-718c5b3c]{cursor:pointer}.playlist-entry .index.icon[data-v-718c5b3c],.playlist-entry .album.icon[data-v-718c5b3c],.playlist-entry .duration.icon[data-v-718c5b3c],.playlist-entry .icon.icon[data-v-718c5b3c]{font-size:1.3rem;cursor:pointer;font-variation-settings:"wght" 500}.playlist-entry .index.icon.favourite[data-v-718c5b3c],.playlist-entry .album.icon.favourite[data-v-718c5b3c],.playlist-entry .duration.icon.favourite[data-v-718c5b3c],.playlist-entry .icon.icon.favourite[data-v-718c5b3c]{font-variation-settings:"FILL" 1}.playlist-entry.hovering[data-v-718c5b3c]{background-color:var(--bg-hover-dk);border:var(--border-container)}.playlist-entry.hovering .index[data-v-718c5b3c]{font-size:1.5rem;font-variation-settings:"FILL" 1}.playlist-entry.selected[data-v-718c5b3c]{background-color:var(--bg-hover)}.playlist-entry .favourite-icon[data-v-718c5b3c]{grid-column:5}.playlist-entry .duration[data-v-718c5b3c]{grid-column:6}.playlist-entry .cover[data-v-718c5b3c]{display:flex;justify-content:center;border-radius:4px}.playlist-entry img[data-v-718c5b3c]{margin:auto 0}.playlist-entry .artist-title[data-v-718c5b3c]{display:grid;grid-template-rows:1fr 1fr}.playlist-entry .artist-title .artist[data-v-718c5b3c]{font-size:.8rem;color:var(--fg-base-dk)}.playlist-entry .artist-title span[data-v-718c5b3c]{max-width:-moz-min-content;max-width:min-content;overflow:hidden}.playlist-entry.playing .title[data-v-718c5b3c],.playlist-entry.playing .index[data-v-718c5b3c]{color:var(--fg-secondary)}.playlist-entry.hovering .artist[data-v-718c5b3c],.playlist-entry.hovering .album[data-v-718c5b3c],.playlist-entry.selected .artist[data-v-718c5b3c],.playlist-entry.selected .album[data-v-718c5b3c]{color:var(--fg-base)}@media screen and (max-width: 768px){.playlist-entry[data-v-718c5b3c]{padding:5px 0;border-radius:10px;grid-template-columns:30px 40px 1fr 1fr 30px 40px}.playlist-entry .index[data-v-718c5b3c],.playlist-entry .duration[data-v-718c5b3c]{font-size:.7rem}.playlist-entry .artist-title[data-v-718c5b3c]{grid-column-end:5;font-size:.8rem}.playlist-entry .artist-title .artist[data-v-718c5b3c]{font-size:.65rem}} diff --git a/src/ui/dist/assets/PlaylistEntry-4058086a.css.gz b/src/ui/dist/assets/PlaylistEntry-4058086a.css.gz new file mode 100644 index 000000000..bc9af7179 Binary files /dev/null and b/src/ui/dist/assets/PlaylistEntry-4058086a.css.gz differ diff --git a/src/ui/dist/assets/PlaylistEntry-a7c7e55a.js b/src/ui/dist/assets/PlaylistEntry-a7c7e55a.js new file mode 100644 index 000000000..4697a2c68 --- /dev/null +++ b/src/ui/dist/assets/PlaylistEntry-a7c7e55a.js @@ -0,0 +1 @@ +import{n as V,j as W,A as _,q as A,bD as Y,o as l,c as y,r as X,g as o,w as a,b as f,F as O,i as R,f as P,t as p,u as c,d as w,c2 as G,bN as J,bR as K,x as Q,c9 as Z,e as b,b0 as ee,B as te,a as m,aH as N,h as oe,M as T,z as se,bW as ne,cg as ae,c1 as ie,ch as le,_ as ue}from"./index-fe2c9584.js";import{_ as re}from"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import{p as de}from"./playerInPicture-af203fdf.js";const ce=V({__name:"SongContext",props:{song:{type:Object,required:!0},playlistId:{type:String,required:!1,default:""}},emits:["update","edit"],setup(e,{expose:B,emit:n}){const t=e,I=W(),u=_(()=>I.playlists),C=_(()=>t.playlistId==-1),k=()=>{de(t.song.artist,t.song.title,t.song.source)},h=async s=>{var r;s!=-1&&(await J(s,t.song),K.addSuccess(t.song.title,`Added to ${(r=u.value.find(i=>i.id==s))==null?void 0:r.name}`,3e3),n("update"))},$=async()=>{const s=await Q(t.song.title,t.song.artist,t.song.cover);await h(s),n("update")},D=async()=>{await Z(t.playlistId,t.song.id),n("update")},S=A(null),g=A(null),v=()=>{g.value.visible?q():x()},q=()=>{g.value.hide()},x=()=>{const s=S.value.getBoundingClientRect(),r={top:s.height+s.top+window.scrollY,left:s.width+s.left+window.scrollX};g.value.show(r)};B({show:x,toggle:v,hide:q});const E=_(()=>({Soundcloud:`https://soundcloud.com/search?q=${t.song.artist} ${t.song.title}`,Audius:`https://audius.co/search/${t.song.artist} ${t.song.title}`,"Youtube Music":`https://music.youtube.com/search?q=${t.song.artist} ${t.song.title}`,Spotify:`https://open.spotify.com/search/${t.song.artist} ${t.song.title}`})),F=()=>{n("edit")},L=s=>{window.open(E.value[s]),F()};return(s,r)=>{const i=b("v-contextmenu-item"),j=b("v-contextmenu-submenu"),M=b("v-contextmenu-divider"),U=b("v-contextmenu"),z=ee("contextmenu");return Y((l(),y("div",{ref_key:"box",ref:S},[X(s.$slots,"default"),o(U,{ref_key:"contextmenu",ref:g},{default:a(()=>[o(i,{onClick:k},{default:a(()=>[f(" Preview ")]),_:1}),o(j,{title:"Find source"},{default:a(()=>[(l(!0),y(O,null,R(Object.keys(c(E)),d=>(l(),P(i,{key:d,onClick:H=>L(d)},{default:a(()=>[f(p(d),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(M),o(i,{onClick:r[0]||(r[0]=d=>s.$emit("like"))},{default:a(()=>[f(p((e.song.favourite?"Remove from":"Save to")+" your Liked Songs"),1)]),_:1}),c(C)?w("",!0):(l(),P(i,{key:0,onClick:D},{default:a(()=>[f(" Remove from this playlist ")]),_:1})),o(j,{title:"Add to playlist"},{default:a(()=>[o(i,{onClick:$},{default:a(()=>[f("Add to new playlist")]),_:1}),o(M),(l(!0),y(O,null,R(c(u),d=>(l(),P(i,{key:d.id,onClick:H=>h(d.id)},{default:a(()=>[f(p(d.name),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(M),o(i,{onClick:F},{default:a(()=>[f(" Update Metadata ")]),_:1}),o(M),o(i,{onClick:r[1]||(r[1]=d=>c(G)(e.song.id))},{default:a(()=>[f("Download")]),_:1})]),_:1},512)])),[[z,void 0,"contextmenu"]])}}}),ve={key:0,class:"cover"},fe={class:"artist-title"},ge={class:"title"},me={class:"artist"},ye={key:1,class:"album"},pe={class:"duration text-center"},ke=V({__name:"PlaylistEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:String,required:!1,default:null}},emits:["update"],setup(e,{emit:B}){const n=e,t=te(),I=_(()=>n.song.id==t.song.id),u=A(!1),C=()=>{n.song.favourite=!n.song.favourite,le(n.song.id,n.song.favourite)},k=_(()=>n.playlistId==null?t.playlist.id:n.playlistId),h=()=>{if(k.value=="track"){t.loadPlaylist("track",n.song.id);return}t.loadSong(k.value,n.index)},$=A(null),D=()=>{$.value.show()},S=()=>{B("update")};return(g,v)=>{const q=b("router-link");return l(),P(ce,{ref:"ctxMenu",liked:e.song.favourite,playlistId:c(k),song:e.song,onEdit:D,onLike:C,onUpdate:S},{default:a(()=>[o(re,{ref_key:"updatePopup",ref:$,song:e.song,onUpdate:v[0]||(v[0]=x=>g.$emit("update"))},null,8,["song"]),m("div",{class:N([{playing:c(I),selected:e.selected,hovering:u.value,withCover:e.withCover,withAlbum:e.withAlbum,withMore:e.withMore},"playlist-entry"]),onDblclick:h,onMouseenter:v[2]||(v[2]=x=>u.value=!0),onMouseleave:v[3]||(v[3]=x=>u.value=!1)},[m("div",{class:N([{"material-symbols-rounded":u.value},"index text-right"]),onClick:h},p(u.value?"play_arrow":e.index+1),3),e.withCover?(l(),y("div",ve,[o(oe,{src:e.song.cover,type:"track"},null,8,["src"])])):w("",!0),m("div",fe,[m("span",ge,[o(q,{to:`/track/${c(se)(e.song.id)}`,class:"linkOnHover"},{default:a(()=>[o(T,{text:e.song.title},null,8,["text"])]),_:1},8,["to"])]),m("span",me,[o(ne,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!c(ae)?(l(),y("div",ye,[o(T,{text:e.song.album},null,8,["text"])])):w("",!0),e.selected||u.value||e.song.favourite?(l(),y("div",{key:2,class:N([{favourite:e.song.favourite},"favourite-icon icon text-right material-symbols-rounded"]),onClick:C},p(e.song.favourite?"favorite":"heart_plus"),3)):w("",!0),m("div",pe,p(c(ie)(e.song.duration)),1),w("",!0)],34)]),_:1},8,["liked","playlistId","song"])}}});const be=ue(ke,[["__scopeId","data-v-718c5b3c"]]);export{be as P}; diff --git a/src/ui/dist/assets/PlaylistEntry-a7c7e55a.js.gz b/src/ui/dist/assets/PlaylistEntry-a7c7e55a.js.gz new file mode 100644 index 000000000..c5723ef42 Binary files /dev/null and b/src/ui/dist/assets/PlaylistEntry-a7c7e55a.js.gz differ diff --git a/src/ui/dist/assets/PlaylistHeader-107555cd.css b/src/ui/dist/assets/PlaylistHeader-107555cd.css new file mode 100644 index 000000000..c1a38810f --- /dev/null +++ b/src/ui/dist/assets/PlaylistHeader-107555cd.css @@ -0,0 +1 @@ +.playlist-header[data-v-f8e4524a]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px}.playlist-header .index[data-v-f8e4524a]{margin:auto 0}.playlist-header .artist-title[data-v-f8e4524a]{grid-column:2/span 2}.playlist-header .duration[data-v-f8e4524a]{text-align:center;grid-column-start:6}.playlist-header:not(.withMore) .duration[data-v-f8e4524a]{grid-column-start:7}.playlist-header div[data-v-f8e4524a]{margin:auto 0;color:var(--fg-base-dk);font-size:.9rem;text-transform:uppercase} diff --git a/src/ui/dist/assets/PlaylistHeader-1850e9b2.js b/src/ui/dist/assets/PlaylistHeader-1850e9b2.js new file mode 100644 index 000000000..86b216871 --- /dev/null +++ b/src/ui/dist/assets/PlaylistHeader-1850e9b2.js @@ -0,0 +1 @@ +import{n as i,c as t,d as l,aH as d,o as a,l as c,m as r,a as s,_ as n}from"./index-fe2c9584.js";const o=e=>(c("data-v-f8e4524a"),e=e(),r(),e),u=o(()=>s("div",{class:"index text-right"},"#",-1)),_=o(()=>s("div",{class:"artist-title"}," title ",-1)),h={key:0,class:"album"},m={key:1,class:"duration"},f=o(()=>s("span",{class:"material-symbols-rounded"},"schedule",-1)),p=[f],y=i({__name:"PlaylistHeader",props:{withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},withoutDuration:{type:Boolean,required:!1,default:!1}},setup(e){return(w,v)=>(a(),t("div",{class:d([{withAlbum:e.withAlbum,withMore:e.withMore},"playlist-header"])},[u,_,e.withAlbum?(a(),t("div",h," album ")):l("",!0),e.withoutDuration?l("",!0):(a(),t("div",m,p))],2))}});const x=n(y,[["__scopeId","data-v-f8e4524a"]]);export{x as P}; diff --git a/src/ui/dist/assets/PlaylistHeader-d0359b1d.css b/src/ui/dist/assets/PlaylistHeader-d0359b1d.css deleted file mode 100644 index e1852c54f..000000000 --- a/src/ui/dist/assets/PlaylistHeader-d0359b1d.css +++ /dev/null @@ -1 +0,0 @@ -.playlist-header[data-v-20f4a059]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px}.playlist-header .index[data-v-20f4a059]{margin:auto 0}.playlist-header .artist-title[data-v-20f4a059]{grid-column:2/span 2}.playlist-header .duration[data-v-20f4a059]{text-align:center;grid-column-start:6}.playlist-header:not(.withMore) .duration[data-v-20f4a059]{grid-column-start:7}.playlist-header div[data-v-20f4a059]{margin:auto 0;color:var(--fg-base-dk);font-size:.9rem;text-transform:uppercase} diff --git a/src/ui/dist/assets/PlaylistHeader-ecbb25e6.js b/src/ui/dist/assets/PlaylistHeader-ecbb25e6.js deleted file mode 100644 index 507437e82..000000000 --- a/src/ui/dist/assets/PlaylistHeader-ecbb25e6.js +++ /dev/null @@ -1 +0,0 @@ -import{n as i,c as t,d as l,aA as d,o as a,l as r,m as c,a as s,_ as n}from"./index-e23b36b9.js";const o=e=>(r("data-v-20f4a059"),e=e(),c(),e),u=o(()=>s("div",{class:"index text-right"},"#",-1)),_=o(()=>s("div",{class:"artist-title"}," title ",-1)),h={key:0,class:"album"},m={key:1,class:"duration"},p=o(()=>s("span",{class:"material-symbols-rounded"},"schedule",-1)),f=[p],y=i({__name:"PlaylistHeader",props:{index:{type:Number,required:!0},withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},withoutDuration:{type:Boolean,required:!1,default:!1}},setup(e){return(w,v)=>(a(),t("div",{class:d([{withAlbum:e.withAlbum,withMore:e.withMore},"playlist-header"])},[u,_,e.withAlbum?(a(),t("div",h," album ")):l("",!0),e.withoutDuration?l("",!0):(a(),t("div",m,f))],2))}});const x=n(y,[["__scopeId","data-v-20f4a059"]]);export{x as P}; diff --git a/src/ui/dist/assets/PlaylistItem-0efbc30a.js b/src/ui/dist/assets/PlaylistItem-0efbc30a.js new file mode 100644 index 000000000..51ebd7786 --- /dev/null +++ b/src/ui/dist/assets/PlaylistItem-0efbc30a.js @@ -0,0 +1 @@ +import{n as S,j as k,q as d,o as p,f as v,w as g,g as u,u as T,b$ as x,a as i,bN as A,x as I,_ as j,C as N,h as B,p as D,e as _,d as b,c as M,t as O}from"./index-fe2c9584.js";import{T as q}from"./Template-f7fd23e9.js";import{F as V}from"./Form-6220abd3.js";import{P as E}from"./Playlist-41f8fb8f.js";import{T as F}from"./ExternalEntry-7bdbc9d0.js";import{p as H}from"./playerInPicture-af203fdf.js";const L=i("br",null,null,-1),W=S({__name:"ImportSpotifyPlaylist",props:{playlist:{type:Object,required:!0}},setup(n,{expose:r}){const e=n,y=k(),c=d([{name:"playlist",type:"dropdown",required:!0,value:null,options:y.playlistsAsDropdown}]),l=d(null),o=d(null),s=d([]),m=async()=>{if(l.value.load(),s.value.length==0){const t=await fetch(`/api/spotify/playlists/${e.playlist.id}`);s.value=await t.json()}l.value.show()},f=()=>{H("Spotify Playlist",e.playlist.name,e.playlist.href)},h=async t=>{if(t==="new"){const a=await I(e.playlist.name,e.playlist.description,e.playlist.cover);return c.value[0].options=y.playlistsAsDropdown,c.value[0].value=a,a}return Number(t)},w=async(t,a=null)=>{s.value[t].added||(a??(a=o.value.toObject().playlist),a=await h(a),await A(a??o.value.toObject().playlist,s.value[t]),s.value[t].added=!0)},P=async()=>{let t=o.value.toObject().playlist;t=await h(t),s.value.forEach((a,C)=>{w(C,t)})};return r({show:m}),(t,a)=>(p(),v(q,{ref_key:"modal",ref:l,submit:{label:"Add All",icon:"add"},name:"Import Playlist",onClose:a[0]||(a[0]=C=>t.$emit("close")),onSubmit:P},{default:g(()=>[u(F,{cover:n.playlist.cover,icons:[{name:"share",onClick:()=>T(x)(n.playlist.href)},{name:"play_arrow",onClick:f}],title:n.playlist.name},null,8,["cover","icons","title"]),u(V,{ref_key:"form",ref:o,options:c.value},null,8,["options"]),L,u(E,{songs:s.value,onAdd:w},null,8,["songs"])]),_:1},512))}});const $={components:{Card:N,Cover:B,AddPlaylistToPlaylist:W},name:"PlaylistItem",methods:{parseCover:D,redirect(){this.spotify?this.$refs.import.show():this.$router.push(this.href)}},props:{cover:String,title:String,description:String,href:String,spotify:Boolean,id:String,type:String}},z={class:"title"},G={key:0,class:"material-symbols-rounded"},J=["innerHTML"];function K(n,r,e,y,c,l){const o=_("add-playlist-to-playlist"),s=_("Cover"),m=_("Card");return p(),v(m,{class:"wrapper drop-shadow-md","with-hover":""},{default:g(()=>[e.spotify?(p(),v(o,{key:0,ref:"import",playlist:{cover:e.cover,name:e.title,description:e.description,id:e.id,href:e.href}},null,8,["playlist"])):b("",!0),i("div",{class:"item",onClick:r[0]||(r[0]=(...f)=>l.redirect&&l.redirect(...f))},[u(s,{src:l.parseCover(e.cover),type:"playlist"},null,8,["src"]),i("div",z,[e.type=="special"?(p(),M("span",G," neurology ")):b("",!0),i("h4",null,O(e.title),1)]),i("p",{class:"text-muted text-xs hideIfMobile",innerHTML:e.description},null,8,J)])]),_:1})}const ee=j($,[["render",K],["__scopeId","data-v-8be4ce3c"]]);export{ee as P}; diff --git a/src/ui/dist/assets/PlaylistItem-0efbc30a.js.gz b/src/ui/dist/assets/PlaylistItem-0efbc30a.js.gz new file mode 100644 index 000000000..8862c1751 Binary files /dev/null and b/src/ui/dist/assets/PlaylistItem-0efbc30a.js.gz differ diff --git a/src/ui/dist/assets/PlaylistItem-5e6b8631.js b/src/ui/dist/assets/PlaylistItem-5e6b8631.js deleted file mode 100644 index fa998a009..000000000 --- a/src/ui/dist/assets/PlaylistItem-5e6b8631.js +++ /dev/null @@ -1 +0,0 @@ -import{n as g,j as S,q as c,o as v,f as _,w as C,g as d,u as k,bZ as I,a as p,bI as T,x,_ as A,C as j,h as N,p as B,e as f,d as D,t as M}from"./index-e23b36b9.js";import{T as O}from"./Template-59011f9c.js";import{F as q}from"./Form-fb09f2bd.js";import{P as V}from"./Playlist-48798df5.js";import{T as F}from"./ExternalEntry-2fd0cbdd.js";import{p as H}from"./playerInPicture-af203fdf.js";const L=p("br",null,null,-1),E=g({__name:"ImportSpotifyPlaylist",props:{playlist:{type:Object,required:!0}},setup(n,{expose:i}){const t=n,u=S(),r=c([{name:"playlist",type:"dropdown",required:!0,value:null,options:u.playlistsAsDropdown}]),s=c(null),o=c(null),l=c([]),m=async()=>{if(s.value.load(),l.value.length==0){const e=await fetch(`/api/spotify/playlists/${t.playlist.id}`);l.value=await e.json()}s.value.show()},y=()=>{H("Spotify Playlist",t.playlist.name,t.playlist.href)},h=async e=>{if(e==="new"){const a=await x(t.playlist.name,t.playlist.description,t.playlist.cover);return r.value[0].options=u.playlistsAsDropdown,r.value[0].value=a,a}return Number(e)},w=async(e,a=null)=>{l.value[e].added||(a??(a=o.value.toObject().playlist),a=await h(a),await T(a??o.value.toObject().playlist,l.value[e]),l.value[e].added=!0)},P=async()=>{let e=o.value.toObject().playlist;e=await h(e),l.value.forEach((a,b)=>{w(b,e)})};return i({show:m}),(e,a)=>(v(),_(O,{ref_key:"modal",ref:s,submit:{label:"Add All",icon:"add"},name:"Import Playlist",onClose:a[0]||(a[0]=b=>e.$emit("close")),onSubmit:P},{default:C(()=>[d(F,{cover:n.playlist.cover,icons:[{name:"share",onClick:()=>k(I)(n.playlist.href)},{name:"play_arrow",onClick:y}],title:n.playlist.name},null,8,["cover","icons","title"]),d(q,{ref_key:"form",ref:o,options:r.value},null,8,["options"]),L,d(V,{songs:l.value,onAdd:w},null,8,["songs"])]),_:1},512))}});const W={components:{Card:j,Cover:N,AddPlaylistToPlaylist:E},name:"PlaylistItem",methods:{parseCover:B,redirect(){this.spotify?this.$refs.import.show():this.$router.push(this.href)}},props:{cover:String,title:String,description:String,href:String,spotify:Boolean,id:String}},Z=["innerHTML"];function $(n,i,t,u,r,s){const o=f("add-playlist-to-playlist"),l=f("Cover"),m=f("Card");return v(),_(m,{class:"wrapper drop-shadow-md","with-hover":""},{default:C(()=>[t.spotify?(v(),_(o,{key:0,ref:"import",playlist:{cover:t.cover,name:t.title,description:t.description,id:t.id,href:t.href}},null,8,["playlist"])):D("",!0),p("div",{class:"item",onClick:i[0]||(i[0]=(...y)=>s.redirect&&s.redirect(...y))},[d(l,{src:s.parseCover(t.cover),type:"playlist"},null,8,["src"]),p("h4",null,M(t.title),1),p("p",{class:"text-muted text-xs hideIfMobile",innerHTML:t.description},null,8,Z)])]),_:1})}const U=A(W,[["render",$],["__scopeId","data-v-2bbbdb80"]]);export{U as P}; diff --git a/src/ui/dist/assets/PlaylistItem-5e6b8631.js.gz b/src/ui/dist/assets/PlaylistItem-5e6b8631.js.gz deleted file mode 100644 index 690946186..000000000 Binary files a/src/ui/dist/assets/PlaylistItem-5e6b8631.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/PlaylistItem-8556515c.css b/src/ui/dist/assets/PlaylistItem-8556515c.css new file mode 100644 index 000000000..8cb3a1622 --- /dev/null +++ b/src/ui/dist/assets/PlaylistItem-8556515c.css @@ -0,0 +1 @@ +p.note[data-v-8be4ce3c]{font-size:.7em}div.title[data-v-8be4ce3c]{display:flex;flex-direction:row;align-items:center;margin-top:1rem;margin-bottom:.25rem;gap:.5em}div.title h4[data-v-8be4ce3c]{margin-top:0}div.title span[data-v-8be4ce3c]{color:var(--fg-secondary)}.wrapper[data-v-8be4ce3c]{background:var(--bg-base-lt);border-radius:20px;min-height:10vh;margin:10px}.wrapper[data-v-8be4ce3c]:hover{cursor:pointer;background:var(--bg-hover-dk)}.item[data-v-8be4ce3c]{padding:20px;height:calc(100% - 40px)}@media screen and (max-width: 950px){.item[data-v-8be4ce3c]{display:flex;flex-direction:row;align-items:center;height:100%}}img[data-v-8be4ce3c]{width:100%;border-radius:12px}@media screen and (max-width: 950px){img[data-v-8be4ce3c]{width:20%}}h4[data-v-8be4ce3c]{margin-bottom:0}@media screen and (max-width: 950px){h4[data-v-8be4ce3c]{margin-left:20px;margin-top:0}}p[data-v-8be4ce3c]{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis} diff --git a/src/ui/dist/assets/PlaylistItem-dcaa4cde.css b/src/ui/dist/assets/PlaylistItem-dcaa4cde.css deleted file mode 100644 index e21d6efbd..000000000 --- a/src/ui/dist/assets/PlaylistItem-dcaa4cde.css +++ /dev/null @@ -1 +0,0 @@ -p.note[data-v-2bbbdb80]{font-size:.7em}.wrapper[data-v-2bbbdb80]{background:var(--bg-base-lt);border-radius:20px;min-height:10vh;margin:10px}.wrapper[data-v-2bbbdb80]:hover{cursor:pointer;background:var(--bg-hover-dk)}.item[data-v-2bbbdb80]{padding:20px;height:calc(100% - 40px)}@media screen and (max-width: 950px){.item[data-v-2bbbdb80]{display:flex;flex-direction:row;align-items:center;height:100%}}img[data-v-2bbbdb80]{width:100%;border-radius:12px}@media screen and (max-width: 950px){img[data-v-2bbbdb80]{width:20%}}h4[data-v-2bbbdb80]{margin-bottom:0}@media screen and (max-width: 950px){h4[data-v-2bbbdb80]{margin-left:20px;margin-top:0}}p[data-v-2bbbdb80]{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis} diff --git a/src/ui/dist/assets/Playlists-652c06ae.css b/src/ui/dist/assets/Playlists-660e6a71.css similarity index 93% rename from src/ui/dist/assets/Playlists-652c06ae.css rename to src/ui/dist/assets/Playlists-660e6a71.css index 534414dc7..2718afea6 100644 --- a/src/ui/dist/assets/Playlists-652c06ae.css +++ b/src/ui/dist/assets/Playlists-660e6a71.css @@ -1 +1 @@ -p.note[data-v-f5318c1c]{font-size:.8em}.icon[data-v-f5318c1c]{text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center}.material-symbols-rounded[data-v-f5318c1c]{font-variation-settings:"FILL" 1;font-size:5em}.itemBig[data-v-f5318c1c]{grid-column:span 2;background:var(--bg-gradient);border-radius:5px;min-height:10vh;margin:10px;color:var(--bg-contrast)}@media screen and (max-width: 750px){.itemBig[data-v-f5318c1c]{grid-column:span 1}}.item[data-v-f5318c1c]{display:flex;flex-direction:column;justify-content:flex-end;padding:20px}@media screen and (max-width: 750px){.item[data-v-f5318c1c]{display:grid;grid-template-columns:1fr 3fr;gap:.5em}}.wrapper[data-v-f5318c1c]{display:flex;flex-direction:column;justify-content:flex-end}.itemBig[data-v-f5318c1c]:hover{cursor:pointer}img[data-v-f5318c1c]{width:50%;border-radius:2px}@media screen and (min-width: 750px){h4[data-v-f5318c1c]{font-size:2em}}h4[data-v-f5318c1c],p[data-v-f5318c1c]{margin:0}.padding-20[data-v-5b2a3954]{padding:20px} +p.note[data-v-f5318c1c]{font-size:.8em}.icon[data-v-f5318c1c]{text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center}.material-symbols-rounded[data-v-f5318c1c]{font-variation-settings:"FILL" 1;font-size:5em}.itemBig[data-v-f5318c1c]{grid-column:span 2;background:var(--bg-gradient);border-radius:5px;min-height:10vh;margin:10px;color:var(--bg-contrast)}@media screen and (max-width: 750px){.itemBig[data-v-f5318c1c]{grid-column:span 1}}.item[data-v-f5318c1c]{display:flex;flex-direction:column;justify-content:flex-end;padding:20px}@media screen and (max-width: 750px){.item[data-v-f5318c1c]{display:grid;grid-template-columns:1fr 3fr;gap:.5em}}.wrapper[data-v-f5318c1c]{display:flex;flex-direction:column;justify-content:flex-end}.itemBig[data-v-f5318c1c]:hover{cursor:pointer}img[data-v-f5318c1c]{width:50%;border-radius:2px}@media screen and (min-width: 750px){h4[data-v-f5318c1c]{font-size:2em}}h4[data-v-f5318c1c],p[data-v-f5318c1c]{margin:0}.padding-20[data-v-21763560]{padding:20px} diff --git a/src/ui/dist/assets/Playlists-ac767eb6.js b/src/ui/dist/assets/Playlists-ac767eb6.js new file mode 100644 index 000000000..d61dffb6a --- /dev/null +++ b/src/ui/dist/assets/Playlists-ac767eb6.js @@ -0,0 +1 @@ +import{F as p}from"./FullShelf-6722f9a0.js";import{P as _}from"./PlaylistItem-0efbc30a.js";import{_ as g,o as s,c as a,a as o,t as d,d as f,j as P,A as S,g as B,u,f as n,w as y,F as h,i as m}from"./index-fe2c9584.js";import{C as k}from"./CollectionHeader-f21b5037.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./Playlist-41f8fb8f.js";import"./PlaylistHeader-1850e9b2.js";import"./ExternalEntry-7bdbc9d0.js";import"./playerInPicture-af203fdf.js";const I={name:"ReleaseItemBig",methods:{redirect(){this.$router.push(this.href)}},props:{title:String,description:String,href:String,icon:String}},j={class:"itemBig drop-shadow-md"},w={key:0,class:"icon"},x={class:"material-symbols-rounded"},b={class:"wrapper"};function C(e,l,i,c,v,t){return s(),a("div",j,[o("div",{class:"item h-full flex justify-between",onClick:l[0]||(l[0]=(...r)=>t.redirect&&t.redirect(...r))},[i.icon?(s(),a("div",w,[o("span",x,d(i.icon),1)])):f("",!0),o("div",b,[o("h4",null,d(i.title),1),o("p",null,d(i.description),1)])])])}const F=g(I,[["render",C],["__scopeId","data-v-f5318c1c"]]);const T={class:"padding-20"},N={class:"playlists"},V={components:{CollectionHeader:k,PlaylistItem:_,FullShelf:p,PlaylistItemBig:F},data(){return fetch("/api/me/liked").then(e=>e.json()).then(e=>{this.likedTracks=e}),fetch("/api/me/new").then(e=>e.json()).then(e=>{this.breakingTracks=e}),fetch("/api/spotify/playlists").then(e=>e.json()).then(e=>{this.spotifyPlaylists=e}),{likedTracks:null,breakingTracks:null,spotifyPlaylists:[]}}},$=Object.assign(V,{__name:"Playlists",setup(e){const l=P(),i=S(()=>l.playlists);return(c,v)=>(s(),a("div",T,[B(k),o("div",N,[u(i).length?(s(),n(p,{key:0,heading:"Playlists"},{default:y(()=>[(s(!0),a(h,null,m(u(i),(t,r)=>(s(),n(_,{key:r,href:t.href,cover:t.cover,description:t.description,title:t.name,type:t.type,spotify:!1},null,8,["href","cover","description","title","type"]))),128))]),_:1})):f("",!0),c.spotifyPlaylists.length?(s(),n(p,{key:1,heading:"Import From Spotify"},{default:y(()=>[(s(!0),a(h,null,m(c.spotifyPlaylists,(t,r)=>(s(),n(_,{key:r,cover:t.cover,description:t.description,title:t.name,id:t.id,spotify:!0,href:`https://open.spotify.com/playlist/${t.id}`},null,8,["cover","description","title","id","href"]))),128))]),_:1})):f("",!0)])]))}}),M=g($,[["__scopeId","data-v-21763560"]]);export{M as default}; diff --git a/src/ui/dist/assets/Playlists-ac767eb6.js.gz b/src/ui/dist/assets/Playlists-ac767eb6.js.gz new file mode 100644 index 000000000..f8c1fa43e Binary files /dev/null and b/src/ui/dist/assets/Playlists-ac767eb6.js.gz differ diff --git a/src/ui/dist/assets/Playlists-f1d051fd.js b/src/ui/dist/assets/Playlists-f1d051fd.js deleted file mode 100644 index 456ba0412..000000000 --- a/src/ui/dist/assets/Playlists-f1d051fd.js +++ /dev/null @@ -1 +0,0 @@ -import{F as u}from"./FullShelf-c00e086a.js";import{P as f}from"./PlaylistItem-5e6b8631.js";import{_ as B,o as s,c,a,t as _,d as l,j,A as C,g as F,u as v,f as n,w as P,F as S,i as b}from"./index-e23b36b9.js";import{C as w}from"./CollectionHeader-16e536cf.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./Playlist-48798df5.js";import"./PlaylistHeader-ecbb25e6.js";import"./ExternalEntry-2fd0cbdd.js";import"./playerInPicture-af203fdf.js";const $={name:"ReleaseItemBig",methods:{redirect(){this.$router.push(this.href)}},props:{title:String,description:String,href:String,icon:String}},x={class:"itemBig drop-shadow-md"},N={key:0,class:"icon"},V={class:"material-symbols-rounded"},D={class:"wrapper"};function L(t,d,i,o,I,e){return s(),c("div",x,[a("div",{class:"item h-full flex justify-between",onClick:d[0]||(d[0]=(...r)=>e.redirect&&e.redirect(...r))},[i.icon?(s(),c("div",N,[a("span",V,_(i.icon),1)])):l("",!0),a("div",D,[a("h4",null,_(i.title),1),a("p",null,_(i.description),1)])])])}const h=B($,[["render",L],["__scopeId","data-v-f5318c1c"]]);const A={class:"padding-20"},E={class:"playlists"},H={components:{CollectionHeader:w,PlaylistItem:f,FullShelf:u,PlaylistItemBig:h},data(){return fetch("/api/me/liked").then(t=>t.json()).then(t=>{this.likedTracks=t}),fetch("/api/me/new").then(t=>t.json()).then(t=>{this.breakingTracks=t}),fetch("/api/spotify/playlists").then(t=>t.json()).then(t=>{this.spotifyPlaylists=t}),{likedTracks:null,breakingTracks:null,spotifyPlaylists:[]}}},O=Object.assign(H,{__name:"Playlists",setup(t){const d=j(),i=C(()=>d.playlists);return(o,I)=>(s(),c("div",A,[F(w),a("div",E,[v(i).length?(s(),n(u,{key:0,heading:"Playlists"},{default:P(()=>{var e,r,y,m,g,k;return[(r=(e=o.likedTracks)==null?void 0:e.songs)!=null&&r.length?(s(),n(h,{key:0,title:"Liked Songs",icon:"favorite",description:`${(m=(y=o.likedTracks)==null?void 0:y.songs)==null?void 0:m.length} liked songs`,href:"/collection/tracks"},null,8,["description"])):l("",!0),(k=(g=o.breakingTracks)==null?void 0:g.songs)!=null&&k.length?(s(),n(h,{key:1,title:"Breaking Songs",description:"your 25 newest songs",icon:"trending_up",href:"/collection/tracks/breaking"})):l("",!0),(s(!0),c(S,null,b(v(i),(p,T)=>(s(),n(f,{key:T,href:p.href,cover:p.cover,description:p.description,title:p.name,spotify:!1},null,8,["href","cover","description","title"]))),128))]}),_:1})):l("",!0),o.spotifyPlaylists.length?(s(),n(u,{key:1,heading:"Import From Spotify"},{default:P(()=>[(s(!0),c(S,null,b(o.spotifyPlaylists,(e,r)=>(s(),n(f,{key:r,cover:e.cover,description:e.description,title:e.name,id:e.id,spotify:!0,href:`https://open.spotify.com/playlist/${e.id}`},null,8,["cover","description","title","id","href"]))),128))]),_:1})):l("",!0)])]))}}),Z=B(O,[["__scopeId","data-v-5b2a3954"]]);export{Z as default}; diff --git a/src/ui/dist/assets/Playlists-f1d051fd.js.gz b/src/ui/dist/assets/Playlists-f1d051fd.js.gz deleted file mode 100644 index 7fb786291..000000000 Binary files a/src/ui/dist/assets/Playlists-f1d051fd.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/ReleaseItem-d83a159e.js b/src/ui/dist/assets/ReleaseItem-145a7ce1.js similarity index 90% rename from src/ui/dist/assets/ReleaseItem-d83a159e.js rename to src/ui/dist/assets/ReleaseItem-145a7ce1.js index 6b45b61da..8d9c2ac7a 100644 --- a/src/ui/dist/assets/ReleaseItem-d83a159e.js +++ b/src/ui/dist/assets/ReleaseItem-145a7ce1.js @@ -1 +1 @@ -import{_ as m}from"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js";import{_ as h,C as f,o,f as u,w as p,g as v,a as t,t as a,c as b,d as g,e as c}from"./index-e23b36b9.js";const y={name:"ReleaseItem",components:{Card:f,AddAlbumToPlaylist:m},methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},C=["src"],D={key:0,class:"note"};function S(k,s,e,w,x,r){const n=c("add-album-to-playlist"),d=c("Card");return o(),u(d,{class:"wrapper","with-hover":""},{default:p(()=>{var i,l;return[v(n,{id:(i=this.href)==null?void 0:i.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(l=this.href)==null?void 0:l.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:e.artist,cover:e.cover,href:e.href,title:e.title},null,8,["id","album","artist","cover","href","title"]),t("div",{class:"item",onClick:s[0]||(s[0]=(..._)=>r.redirect&&r.redirect(..._))},[t("img",{src:e.cover},null,8,C),t("h4",null,a(e.title),1),t("p",null,a(e.artist),1),e.releaseDate?(o(),b("p",D,"Released on "+a(e.releaseDate),1)):g("",!0)])]}),_:1})}const B=h(y,[["render",S],["__scopeId","data-v-448c5702"]]);export{B as I}; +import{_ as m}from"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js";import{_ as h,C as f,o,f as u,w as p,g as v,a as t,t as a,c as b,d as g,e as c}from"./index-fe2c9584.js";const y={name:"ReleaseItem",components:{Card:f,AddAlbumToPlaylist:m},methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},C=["src"],D={key:0,class:"note"};function S(k,s,e,w,x,r){const n=c("add-album-to-playlist"),d=c("Card");return o(),u(d,{class:"wrapper","with-hover":""},{default:p(()=>{var i,l;return[v(n,{id:(i=this.href)==null?void 0:i.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(l=this.href)==null?void 0:l.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:e.artist,cover:e.cover,href:e.href,title:e.title},null,8,["id","album","artist","cover","href","title"]),t("div",{class:"item",onClick:s[0]||(s[0]=(..._)=>r.redirect&&r.redirect(..._))},[t("img",{src:e.cover},null,8,C),t("h4",null,a(e.title),1),t("p",null,a(e.artist),1),e.releaseDate?(o(),b("p",D,"Released on "+a(e.releaseDate),1)):g("",!0)])]}),_:1})}const B=h(y,[["render",S],["__scopeId","data-v-448c5702"]]);export{B as I}; diff --git a/src/ui/dist/assets/ReleaseItem-145a7ce1.js.gz b/src/ui/dist/assets/ReleaseItem-145a7ce1.js.gz new file mode 100644 index 000000000..595e66011 Binary files /dev/null and b/src/ui/dist/assets/ReleaseItem-145a7ce1.js.gz differ diff --git a/src/ui/dist/assets/ReleaseItem-d83a159e.js.gz b/src/ui/dist/assets/ReleaseItem-d83a159e.js.gz deleted file mode 100644 index bbd193184..000000000 Binary files a/src/ui/dist/assets/ReleaseItem-d83a159e.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Releases-3a1ca557.js.gz b/src/ui/dist/assets/Releases-3a1ca557.js.gz deleted file mode 100644 index 58e73ff20..000000000 Binary files a/src/ui/dist/assets/Releases-3a1ca557.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Releases-3a1ca557.js b/src/ui/dist/assets/Releases-9b1072c5.js similarity index 85% rename from src/ui/dist/assets/Releases-3a1ca557.js rename to src/ui/dist/assets/Releases-9b1072c5.js index 43e49b327..47c1ce121 100644 --- a/src/ui/dist/assets/Releases-3a1ca557.js +++ b/src/ui/dist/assets/Releases-9b1072c5.js @@ -1 +1 @@ -import{F as S}from"./FullShelf-c00e086a.js";import{I}from"./ReleaseItem-d83a159e.js";import{_ as B}from"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js";import{_ as w,C as A,o,f as l,w as m,g as k,a as i,t as D,c as u,d as _,e as a,L as N,F as f,i as b}from"./index-e23b36b9.js";import{C as x}from"./CollectionHeader-16e536cf.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./Playlist-48798df5.js";import"./PlaylistHeader-ecbb25e6.js";import"./ExternalEntry-2fd0cbdd.js";const R={components:{Card:A,AddAlbumToPlaylist:B},name:"ReleaseItemBig",methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},F=["src"],L={class:"wrapper"},j={key:0,class:"note"};function H(d,s,t,n,r,p){const g=a("add-album-to-playlist"),v=a("Card");return o(),l(v,{class:"itemBig","with-hover":""},{default:m(()=>{var h,c;return[k(g,{id:(h=this.href)==null?void 0:h.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(c=this.href)==null?void 0:c.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:t.artist,cover:t.cover,href:t.href,title:t.title},null,8,["id","album","artist","cover","href","title"]),i("div",{class:"item",onClick:s[0]||(s[0]=(...y)=>p.redirect&&p.redirect(...y))},[i("img",{src:t.cover},null,8,F),i("div",L,[i("h4",null,D(t.title),1),i("p",null,D(t.artist),1),t.releaseDate?(o(),u("p",j,"Released on "+D(t.releaseDate),1)):_("",!0)])])]}),_:1})}const V=w(R,[["render",H],["__scopeId","data-v-a069bd39"]]);const M={components:{Loader:N,CollectionHeader:x,FullShelf:S,Item:I,ItemBig:V},name:"Releases",data(){return{outSoon:[],outNow:[],outAlready:[],loading:!0}},mounted(){this.loading=!0,fetch("/api/releases").then(d=>d.json()).then(d=>{const s=new Date;for(const t of d){const n=new Date(t.releaseDate);s[(o(!0),u(f,null,b(r.outSoon,e=>(o(),l(h,{key:e.url,artist:e.artists.join(", "),cover:e.cover,href:e.url,releaseDate:e.releaseDate,title:e.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):_("",!0),r.outNow.length?(o(),l(c,{key:1,heading:"Out Now"},{default:m(()=>[(o(!0),u(f,null,b(r.outNow,e=>(o(),l(y,{key:e.url,artist:e.artists.join(", "),cover:e.cover,href:e.url,releaseDate:e.releaseDate,title:e.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):_("",!0),r.outAlready.length?(o(),l(c,{key:2,heading:"Releases"},{default:m(()=>[(o(!0),u(f,null,b(r.outAlready,e=>(o(),l(C,{key:e.url,artist:e.artists.join(", "),cover:e.cover,href:e.url,releaseDate:e.releaseDate,title:e.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):_("",!0)])])],64)}const ee=w(M,[["render",P],["__scopeId","data-v-164dabf1"]]);export{ee as default}; +import{F as S}from"./FullShelf-6722f9a0.js";import{I}from"./ReleaseItem-145a7ce1.js";import{_ as B}from"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js";import{_ as w,C as A,o,f as l,w as m,g as k,a as i,t as D,c as u,d as _,e as a,L as N,F as f,i as b}from"./index-fe2c9584.js";import{C as x}from"./CollectionHeader-f21b5037.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./Playlist-41f8fb8f.js";import"./PlaylistHeader-1850e9b2.js";import"./ExternalEntry-7bdbc9d0.js";const R={components:{Card:A,AddAlbumToPlaylist:B},name:"ReleaseItemBig",methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},F=["src"],L={class:"wrapper"},j={key:0,class:"note"};function H(d,s,t,n,r,p){const g=a("add-album-to-playlist"),v=a("Card");return o(),l(v,{class:"itemBig","with-hover":""},{default:m(()=>{var h,c;return[k(g,{id:(h=this.href)==null?void 0:h.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(c=this.href)==null?void 0:c.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:t.artist,cover:t.cover,href:t.href,title:t.title},null,8,["id","album","artist","cover","href","title"]),i("div",{class:"item",onClick:s[0]||(s[0]=(...y)=>p.redirect&&p.redirect(...y))},[i("img",{src:t.cover},null,8,F),i("div",L,[i("h4",null,D(t.title),1),i("p",null,D(t.artist),1),t.releaseDate?(o(),u("p",j,"Released on "+D(t.releaseDate),1)):_("",!0)])])]}),_:1})}const V=w(R,[["render",H],["__scopeId","data-v-a069bd39"]]);const M={components:{Loader:N,CollectionHeader:x,FullShelf:S,Item:I,ItemBig:V},name:"Releases",data(){return{outSoon:[],outNow:[],outAlready:[],loading:!0}},mounted(){this.loading=!0,fetch("/api/releases").then(d=>d.json()).then(d=>{const s=new Date;for(const t of d){const n=new Date(t.releaseDate);s[(o(!0),u(f,null,b(r.outSoon,e=>(o(),l(h,{key:e.url,artist:e.artists.join(", "),cover:e.cover,href:e.url,releaseDate:e.releaseDate,title:e.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):_("",!0),r.outNow.length?(o(),l(c,{key:1,heading:"Out Now"},{default:m(()=>[(o(!0),u(f,null,b(r.outNow,e=>(o(),l(y,{key:e.url,artist:e.artists.join(", "),cover:e.cover,href:e.url,releaseDate:e.releaseDate,title:e.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):_("",!0),r.outAlready.length?(o(),l(c,{key:2,heading:"Releases"},{default:m(()=>[(o(!0),u(f,null,b(r.outAlready,e=>(o(),l(C,{key:e.url,artist:e.artists.join(", "),cover:e.cover,href:e.url,releaseDate:e.releaseDate,title:e.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):_("",!0)])])],64)}const ee=w(M,[["render",P],["__scopeId","data-v-164dabf1"]]);export{ee as default}; diff --git a/src/ui/dist/assets/Releases-9b1072c5.js.gz b/src/ui/dist/assets/Releases-9b1072c5.js.gz new file mode 100644 index 000000000..73fd8937c Binary files /dev/null and b/src/ui/dist/assets/Releases-9b1072c5.js.gz differ diff --git a/src/ui/dist/assets/Search-aa56b019.js b/src/ui/dist/assets/Search-3135be97.js similarity index 90% rename from src/ui/dist/assets/Search-aa56b019.js rename to src/ui/dist/assets/Search-3135be97.js index 632f0776b..3d0912ce9 100644 --- a/src/ui/dist/assets/Search-aa56b019.js +++ b/src/ui/dist/assets/Search-3135be97.js @@ -1 +1 @@ -import{A as x}from"./ArtistItem-e888ed10.js";import{I as q}from"./ReleaseItem-d83a159e.js";import{_ as B}from"./ExternalEntry-2fd0cbdd.js";import{_ as S,C as T,h as w,o as e,f as o,w as d,g as k,a,t as p,c as n,d as f,e as c,r as L,L as D,F as y,i as v,l as N,m as F}from"./index-e23b36b9.js";import"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./Playlist-48798df5.js";import"./PlaylistHeader-ecbb25e6.js";const V={components:{Card:T,Cover:w,AddSongToPlaylist:B},name:"SearchItem",methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,releaseDate:String,href:String,preview:String}},E={key:0,class:"note"};function O(r,l,s,I,i,h){const _=c("add-song-to-playlist"),m=c("Cover"),u=c("Card");return e(),o(u,{class:"wrapper","with-hover":""},{default:d(()=>[k(_,{ref:"addAlbum",song:{cover:s.cover,artist:s.artist,title:s.title,preview:s.preview,href:s.href}},null,8,["song"]),a("div",{class:"item",onClick:l[0]||(l[0]=(...g)=>h.redirect&&h.redirect(...g))},[k(m,{src:s.cover},null,8,["src"]),a("h4",null,p(s.title),1),a("p",null,p(s.artist),1),s.releaseDate?(e(),n("p",E,"Released on "+p(s.releaseDate),1)):f("",!0)])]),_:1})}const P=S(V,[["render",O],["__scopeId","data-v-1172913f"]]);const j={name:"Shelf",props:{heading:String,href:String},methods:{redirect(){this.href&&this.$router.push(this.href)}}},J={class:"shelf"},R={key:0,class:"header"},Y={class:"items"};function $(r,l,s,I,i,h){return e(),n("div",J,[s.heading?(e(),n("div",R,[a("h2",null,p(s.heading),1),a("h5",{onClick:l[0]||(l[0]=(..._)=>h.redirect&&h.redirect(..._))},"See All")])):f("",!0),a("div",Y,[L(r.$slots,"default",{},void 0,!0)])])}const z=S(j,[["render",$],["__scopeId","data-v-a60bb56d"]]);const G={name:"TrackItem",components:{Card:T,Cover:w},methods:{redirect(){console.log("redirect"),this.$router.push(this.href)}},props:{cover:String,title:String,artist:String,href:String}};function H(r,l,s,I,i,h){const _=c("Cover"),m=c("Card");return e(),o(m,{class:"wrapper","with-hover":""},{default:d(()=>[a("div",{class:"item",onClick:l[0]||(l[0]=(...u)=>h.redirect&&h.redirect(...u))},[k(_,{src:s.cover},null,8,["src"]),a("h4",null,p(s.title),1),a("p",null,p(s.artist),1)])]),_:1})}const K=S(G,[["render",H],["__scopeId","data-v-ca575a01"]]);const M={name:"Search",components:{Shelf:z,Item:q,SearchItem:P,ArtistItem:x,TrackItem:K,Loader:D},data(){return{query:"",spotifyTracks:[],spotifyArtists:[],tracks:[],artists:[],youtubeTracks:[],loading:!1,error:null}},methods:{search(){this.query=this.$route.params.query,this.query&&(this.loading=!0,this.error=null,fetch("/api/search",{method:"POST",body:JSON.stringify({query:this.query,scope:["local","spotify"]})}).then(r=>r.json()).then(r=>{this.spotifyTracks.length=0,this.spotifyArtists.length=0,this.tracks.length=0,this.artists.length=0,this.youtubeTracks.length=0,this.spotifyTracks.push(...r.spotifyTracks||[]),this.spotifyArtists.push(...r.spotifyArtists||[]),this.tracks.push(...r.tracks||[]),this.artists.push(...r.artists||[]),this.youtubeTracks.push(...r.youtubeTracks||[]),this.loading=!1}).catch(r=>{this.error=r,this.loading=!1}))},enterText(r){r.key==="Enter"&&this.$router.push("/search/"+this.query)}},watch:{$route(){this.search()}},mounted(){this.search()}},Q=r=>(N("data-v-de01a207"),r=r(),F(),r),U={class:"search"},W={key:0,class:"fill-page"},X={key:1,class:"fill-page"},Z=Q(()=>a("h1",null,"Something went wrong",-1));function tt(r,l,s,I,i,h){const _=c("Loader"),m=c("TrackItem"),u=c("Shelf"),g=c("search-item"),C=c("Item"),b=c("artist-item");return e(),n("div",U,[i.loading?(e(),n("div",W,[k(_)])):i.error?(e(),n("div",X,[Z,a("p",null,p(i.error),1)])):(e(),n(y,{key:2},[i.tracks.length?(e(),o(u,{key:0,heading:"Songs"},{default:d(()=>[(e(!0),n(y,null,v(i.tracks,t=>(e(),o(m,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.href,title:t.title},null,8,["artist","cover","href","title"]))),128))]),_:1})):f("",!0),i.spotifyTracks.length?(e(),o(u,{key:1,heading:"Songs (Spotify)"},{default:d(()=>[(e(!0),n(y,null,v(i.spotifyTracks,t=>(e(),o(g,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,preview:t.preview,title:t.title},null,8,["artist","cover","href","preview","title"]))),128))]),_:1})):f("",!0),i.youtubeTracks.length?(e(),o(u,{key:2,heading:"Songs (Youtube)"},{default:d(()=>[(e(!0),n(y,null,v(i.youtubeTracks,t=>(e(),o(g,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,title:t.title},null,8,["artist","cover","href","title"]))),128))]),_:1})):f("",!0),i.artists.length?(e(),o(u,{key:3,heading:"Artists"},{default:d(()=>[(e(!0),n(y,null,v(i.artists,t=>(e(),o(C,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,title:t.title},null,8,["artist","cover","href","title"]))),128))]),_:1})):f("",!0),i.spotifyArtists.length?(e(),o(u,{key:4,heading:"Artists (Spotify)"},{default:d(()=>[(e(!0),n(y,null,v(i.spotifyArtists,(t,A)=>(e(),o(b,{id:t.id,key:A,cover:t.cover,description:t.description,name:t.name,showFollowButton:!0},null,8,["id","cover","description","name"]))),128))]),_:1})):f("",!0)],64))])}const _t=S(M,[["render",tt],["__scopeId","data-v-de01a207"]]);export{_t as default}; +import{A as x}from"./ArtistItem-1dbe560d.js";import{I as q}from"./ReleaseItem-145a7ce1.js";import{_ as B}from"./ExternalEntry-7bdbc9d0.js";import{_ as S,C as T,h as w,o as e,f as o,w as d,g as k,a,t as p,c as n,d as f,e as c,r as L,L as D,F as y,i as v,l as N,m as F}from"./index-fe2c9584.js";import"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./Playlist-41f8fb8f.js";import"./PlaylistHeader-1850e9b2.js";const V={components:{Card:T,Cover:w,AddSongToPlaylist:B},name:"SearchItem",methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,releaseDate:String,href:String,preview:String}},E={key:0,class:"note"};function O(r,l,s,I,i,h){const _=c("add-song-to-playlist"),m=c("Cover"),u=c("Card");return e(),o(u,{class:"wrapper","with-hover":""},{default:d(()=>[k(_,{ref:"addAlbum",song:{cover:s.cover,artist:s.artist,title:s.title,preview:s.preview,href:s.href}},null,8,["song"]),a("div",{class:"item",onClick:l[0]||(l[0]=(...g)=>h.redirect&&h.redirect(...g))},[k(m,{src:s.cover},null,8,["src"]),a("h4",null,p(s.title),1),a("p",null,p(s.artist),1),s.releaseDate?(e(),n("p",E,"Released on "+p(s.releaseDate),1)):f("",!0)])]),_:1})}const P=S(V,[["render",O],["__scopeId","data-v-1172913f"]]);const j={name:"Shelf",props:{heading:String,href:String},methods:{redirect(){this.href&&this.$router.push(this.href)}}},J={class:"shelf"},R={key:0,class:"header"},Y={class:"items"};function $(r,l,s,I,i,h){return e(),n("div",J,[s.heading?(e(),n("div",R,[a("h2",null,p(s.heading),1),a("h5",{onClick:l[0]||(l[0]=(..._)=>h.redirect&&h.redirect(..._))},"See All")])):f("",!0),a("div",Y,[L(r.$slots,"default",{},void 0,!0)])])}const z=S(j,[["render",$],["__scopeId","data-v-a60bb56d"]]);const G={name:"TrackItem",components:{Card:T,Cover:w},methods:{redirect(){console.log("redirect"),this.$router.push(this.href)}},props:{cover:String,title:String,artist:String,href:String}};function H(r,l,s,I,i,h){const _=c("Cover"),m=c("Card");return e(),o(m,{class:"wrapper","with-hover":""},{default:d(()=>[a("div",{class:"item",onClick:l[0]||(l[0]=(...u)=>h.redirect&&h.redirect(...u))},[k(_,{src:s.cover},null,8,["src"]),a("h4",null,p(s.title),1),a("p",null,p(s.artist),1)])]),_:1})}const K=S(G,[["render",H],["__scopeId","data-v-ca575a01"]]);const M={name:"Search",components:{Shelf:z,Item:q,SearchItem:P,ArtistItem:x,TrackItem:K,Loader:D},data(){return{query:"",spotifyTracks:[],spotifyArtists:[],tracks:[],artists:[],youtubeTracks:[],loading:!1,error:null}},methods:{search(){this.query=this.$route.params.query,this.query&&(this.loading=!0,this.error=null,fetch("/api/search",{method:"POST",body:JSON.stringify({query:this.query,scope:["local","spotify"]})}).then(r=>r.json()).then(r=>{this.spotifyTracks.length=0,this.spotifyArtists.length=0,this.tracks.length=0,this.artists.length=0,this.youtubeTracks.length=0,this.spotifyTracks.push(...r.spotifyTracks||[]),this.spotifyArtists.push(...r.spotifyArtists||[]),this.tracks.push(...r.tracks||[]),this.artists.push(...r.artists||[]),this.youtubeTracks.push(...r.youtubeTracks||[]),this.loading=!1}).catch(r=>{this.error=r,this.loading=!1}))},enterText(r){r.key==="Enter"&&this.$router.push("/search/"+this.query)}},watch:{$route(){this.search()}},mounted(){this.search()}},Q=r=>(N("data-v-de01a207"),r=r(),F(),r),U={class:"search"},W={key:0,class:"fill-page"},X={key:1,class:"fill-page"},Z=Q(()=>a("h1",null,"Something went wrong",-1));function tt(r,l,s,I,i,h){const _=c("Loader"),m=c("TrackItem"),u=c("Shelf"),g=c("search-item"),C=c("Item"),b=c("artist-item");return e(),n("div",U,[i.loading?(e(),n("div",W,[k(_)])):i.error?(e(),n("div",X,[Z,a("p",null,p(i.error),1)])):(e(),n(y,{key:2},[i.tracks.length?(e(),o(u,{key:0,heading:"Songs"},{default:d(()=>[(e(!0),n(y,null,v(i.tracks,t=>(e(),o(m,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.href,title:t.title},null,8,["artist","cover","href","title"]))),128))]),_:1})):f("",!0),i.spotifyTracks.length?(e(),o(u,{key:1,heading:"Songs (Spotify)"},{default:d(()=>[(e(!0),n(y,null,v(i.spotifyTracks,t=>(e(),o(g,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,preview:t.preview,title:t.title},null,8,["artist","cover","href","preview","title"]))),128))]),_:1})):f("",!0),i.youtubeTracks.length?(e(),o(u,{key:2,heading:"Songs (Youtube)"},{default:d(()=>[(e(!0),n(y,null,v(i.youtubeTracks,t=>(e(),o(g,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,title:t.title},null,8,["artist","cover","href","title"]))),128))]),_:1})):f("",!0),i.artists.length?(e(),o(u,{key:3,heading:"Artists"},{default:d(()=>[(e(!0),n(y,null,v(i.artists,t=>(e(),o(C,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,title:t.title},null,8,["artist","cover","href","title"]))),128))]),_:1})):f("",!0),i.spotifyArtists.length?(e(),o(u,{key:4,heading:"Artists (Spotify)"},{default:d(()=>[(e(!0),n(y,null,v(i.spotifyArtists,(t,A)=>(e(),o(b,{id:t.id,key:A,cover:t.cover,description:t.description,name:t.name,showFollowButton:!0},null,8,["id","cover","description","name"]))),128))]),_:1})):f("",!0)],64))])}const _t=S(M,[["render",tt],["__scopeId","data-v-de01a207"]]);export{_t as default}; diff --git a/src/ui/dist/assets/Search-3135be97.js.gz b/src/ui/dist/assets/Search-3135be97.js.gz new file mode 100644 index 000000000..280e04ffb Binary files /dev/null and b/src/ui/dist/assets/Search-3135be97.js.gz differ diff --git a/src/ui/dist/assets/Search-aa56b019.js.gz b/src/ui/dist/assets/Search-aa56b019.js.gz deleted file mode 100644 index 547b0a14e..000000000 Binary files a/src/ui/dist/assets/Search-aa56b019.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Sports-acd84399.js b/src/ui/dist/assets/Sports-acd84399.js new file mode 100644 index 000000000..4e34ed7e6 --- /dev/null +++ b/src/ui/dist/assets/Sports-acd84399.js @@ -0,0 +1 @@ +import{F as C}from"./FullShelf-6722f9a0.js";import{_ as k,C as D,o as p,f as v,w as T,a as o,t as _,aH as A,e as w,T as b,bR as F,c as m,g as N,F as S,i as y,d as V,l as B,m as H}from"./index-fe2c9584.js";const O={name:"FootballItem",components:{Card:D},methods:{redirect(){window.open(this.oref)},remove(e){e.stopPropagation(),this.$emit("remove")}},props:{result:String,date:String,competition:String,href:String,oref:String,team1:String,team2:String,progress:String}},j={class:"wrapper topalign"},L={class:"wrapper"},J=["innerHTML"],P=["innerHTML"],U=["innerHTML"],W={class:"wrapper bottomalign"},$={class:"small"};function R(e,s,t,c,n,r){const h=w("Card");return p(),v(h,{class:"itemBig","with-hover":""},{default:T(()=>{var u;return[o("div",{class:"item",onClick:s[1]||(s[1]=(...i)=>r.redirect&&r.redirect(...i))},[o("div",j,[o("p",null,_(t.competition),1),o("p",{class:A([{accent:(u=t.progress)==null?void 0:u.includes("'")},"right progress"])},_(t.progress),3)]),o("div",L,[o("p",{class:"team",innerHTML:t.team1},null,8,J),o("h4",{class:"result",innerHTML:t.result},null,8,P),o("p",{class:"team",innerHTML:t.team2},null,8,U)]),o("div",W,[o("p",$,_(t.date)+", "+_(t.href),1),o("span",{class:"deleteIcon small material-icons-round",onClick:s[0]||(s[0]=(...i)=>r.remove&&r.remove(...i))},"clear")])])]}),_:1})}const E=k(O,[["render",R],["__scopeId","data-v-b3cf3eea"]]);const K={components:{TextInputWithIcon:b,FullShelf:C,FootballItem:E},name:"Sports",data(){return{sports:[],watchMatches:[],sourceToAdd:"",supportedSources:["https://onefootball.com/en/team/","https://onefootball.com/en/match/","https://onefootball.com/en/competition/","https://www.cev.eu/match-centres/","https://championsleague.cev.eu/en/match-centres/","https://www.cev.eu/calendar/","https://cev-nex.tk/#/match/","https://cevnex.tk/#/match/"]}},mounted(){this.watchMatches=JSON.parse(window.localStorage.getItem("sports.watchMatches"))||[],this.updateMatches()},computed:{volleyMatches(){return this.watchMatches.filter(e=>e.includes("cev")).map(e=>{let s=e;return e.includes("nex.tk")&&(s=e.split("/match/")[1]),{src:s,ref:e}})},notVolleyMatches(){return this.watchMatches.filter(e=>!e.includes("cev"))}},methods:{removeSource(e,s,t){this.watchMatches.splice(this.watchMatches.indexOf(e),1),this.sports[s].items.splice(t,1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},removeSourceD(e){this.watchMatches.splice(this.watchMatches.indexOf(e),1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},tryAddSource(){for(const e of this.supportedSources)if(this.sourceToAdd.startsWith(e)){this.addSource();return}F.addError("unsupported source")},addSource(){this.watchMatches.push(this.sourceToAdd),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches)),this.sourceToAdd=""},updateMatches(){if(!(this.$route.path=="/sports"||this.$route.path=="/sports/")){console.log("not update",this.$route.path);return}fetch("/api/sports",{method:"POST",body:JSON.stringify({urls:this.notVolleyMatches})}).then(e=>e.json()).then(e=>{this.sports=[];for(const s of e){const t=this.sports.findIndex(c=>c.sport==s.sport);t>=0?this.sports[t].items.push(s):this.sports.push({sport:s.sport,icon:s.sportIcon,items:[s]})}for(const s of this.sports)s.items.sort((t,c)=>{if(t.progress=t.progress.replace("Half time","45'"),c.progress=c.progress.replace("Half time","45'"),(t.progress.includes("Pens")||t.progress.includes("N/A"))&&(t.progress="Full time"),(c.progress.includes("Pens")||c.progress.includes("N/A"))&&(c.progress="Full time"),t.progress.includes("'")&&!c.progress.includes("'"))return-1;if(!t.progress.includes("'")&&c.progress.includes("'"))return 1;if(t.progress.includes("'")&&c.progress.includes("'")){const g=Number(t.progress.replace("'","").replace("+","")),x=Number(c.progress.replace("'","").replace("+",""));return gg.toISOString().split("T")[0];n=n.replace("Today",a(i)).split("/").reverse().join("-"),n=n.replace("Tomorrow",a(l)).split("/").reverse().join("-"),n=n.replace("Yesterday",a(d)).split("/").reverse().join("-"),r=r.replace("Today",a(i)).split("/").reverse().join("-"),r=r.replace("Tomorrow",a(l)).split("/").reverse().join("-"),r=r.replace("Yesterday",a(d)).split("/").reverse().join("-");let f=new Date(`${n}T${h}`.replace(" ","")),I=new Date(`${r}T${u}`.replace(" ",""));return f>I?-1:f==I?0:1})}),setTimeout(this.updateMatches,1e3*45)}}},M=e=>(B("data-v-2339d0be"),e=e(),H(),e),Y={class:"news"},z=M(()=>o("div",{class:"padding-20"},[o("h1",null,"Sports")],-1)),q=M(()=>o("hr",null,null,-1)),G={class:"padding-20"},Q={class:"small"},X={class:"addWrapper"},Z=M(()=>o("hr",null,null,-1)),ee=["src"],te=["onClick"];function se(e,s,t,c,n,r){const h=w("TextInputWithIcon"),u=w("football-item"),i=w("full-shelf");return p(),m("div",Y,[z,q,o("div",G,[o("p",Q,"Supported urls: "+_(n.supportedSources.join("*, ")),1),o("div",X,[N(h,{modelValue:n.sourceToAdd,"onUpdate:modelValue":s[0]||(s[0]=l=>n.sourceToAdd=l),icon:"link",onKeyup:e.enterText},null,8,["modelValue","onKeyup"]),o("span",{id:"addToPlaylist",class:"material-icons-outlined",onClick:s[1]||(s[1]=(...l)=>r.tryAddSource&&r.tryAddSource(...l))},"add_circle")]),Z,(p(!0),m(S,null,y(n.sports,(l,d)=>(p(),v(i,{key:l.sport,heading:l.sport,icon:l.icon},{default:T(()=>[(p(!0),m(S,null,y(l.items,(a,f)=>(p(),v(u,{key:a.href,competition:a.competition,date:a.date,href:a.href,oref:a.oref,progress:a.progress,result:a.result,team1:a.team1,team2:a.team2,onRemove:()=>r.removeSource(a.sref,d,f)},null,8,["competition","date","href","oref","progress","result","team1","team2","onRemove"]))),128))]),_:2},1032,["heading","icon"]))),128)),r.volleyMatches.length?(p(),v(i,{key:0,heading:"Volleyball",icon:"sports_volleyball"},{default:T(()=>[(p(!0),m(S,null,y(r.volleyMatches,(l,d)=>(p(),m("div",{key:d,class:"wrapIframe"},[o("iframe",{src:`https://cev-nex.tk/#/embed?match=${l.src}`},null,8,ee),o("span",{class:"deleteIcon small material-symbols-rounded",onClick:()=>r.removeSourceD(l.ref)},"clear",8,te)]))),128))]),_:1})):V("",!0)])])}const ae=k(K,[["render",se],["__scopeId","data-v-2339d0be"]]);export{ae as default}; diff --git a/src/ui/dist/assets/Sports-acd84399.js.gz b/src/ui/dist/assets/Sports-acd84399.js.gz new file mode 100644 index 000000000..034f8ca8b Binary files /dev/null and b/src/ui/dist/assets/Sports-acd84399.js.gz differ diff --git a/src/ui/dist/assets/Sports-ea11e191.js b/src/ui/dist/assets/Sports-ea11e191.js deleted file mode 100644 index 171c925bb..000000000 --- a/src/ui/dist/assets/Sports-ea11e191.js +++ /dev/null @@ -1 +0,0 @@ -import{F as C}from"./FullShelf-c00e086a.js";import{_ as k,C as A,o as p,f as v,w as M,a as o,t as _,aA as D,e as w,bP as b,bM as F,c as m,g as N,F as S,i as y,d as V,l as B,m as O}from"./index-e23b36b9.js";const j={name:"FootballItem",components:{Card:A},methods:{redirect(){window.open(this.oref)},remove(e){e.stopPropagation(),this.$emit("remove")}},props:{result:String,date:String,competition:String,href:String,oref:String,team1:String,team2:String,progress:String}},H={class:"wrapper topalign"},L={class:"wrapper"},P=["innerHTML"],J=["innerHTML"],U=["innerHTML"],W={class:"wrapper bottomalign"},$={class:"small"};function E(e,s,t,c,n,r){const h=w("Card");return p(),v(h,{class:"itemBig","with-hover":""},{default:M(()=>{var u;return[o("div",{class:"item",onClick:s[1]||(s[1]=(...i)=>r.redirect&&r.redirect(...i))},[o("div",H,[o("p",null,_(t.competition),1),o("p",{class:D([{accent:(u=t.progress)==null?void 0:u.includes("'")},"right progress"])},_(t.progress),3)]),o("div",L,[o("p",{class:"team",innerHTML:t.team1},null,8,P),o("h4",{class:"result",innerHTML:t.result},null,8,J),o("p",{class:"team",innerHTML:t.team2},null,8,U)]),o("div",W,[o("p",$,_(t.date)+", "+_(t.href),1),o("span",{class:"deleteIcon small material-icons-round",onClick:s[0]||(s[0]=(...i)=>r.remove&&r.remove(...i))},"clear")])])]}),_:1})}const K=k(j,[["render",E],["__scopeId","data-v-b3cf3eea"]]);const R={components:{TextInputWithIcon:b,FullShelf:C,FootballItem:K},name:"Sports",data(){return{sports:[],watchMatches:[],sourceToAdd:"",supportedSources:["https://onefootball.com/en/team/","https://onefootball.com/en/match/","https://onefootball.com/en/competition/","https://www.cev.eu/match-centres/","https://championsleague.cev.eu/en/match-centres/","https://www.cev.eu/calendar/","https://cev-nex.tk/#/match/","https://cevnex.tk/#/match/"]}},mounted(){this.watchMatches=JSON.parse(window.localStorage.getItem("sports.watchMatches"))||[],this.updateMatches()},computed:{volleyMatches(){return this.watchMatches.filter(e=>e.includes("cev")).map(e=>{let s=e;return e.includes("nex.tk")&&(s=e.split("/match/")[1]),{src:s,ref:e}})},notVolleyMatches(){return this.watchMatches.filter(e=>!e.includes("cev"))}},methods:{removeSource(e,s,t){this.watchMatches.splice(this.watchMatches.indexOf(e),1),this.sports[s].items.splice(t,1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},removeSourceD(e){this.watchMatches.splice(this.watchMatches.indexOf(e),1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},tryAddSource(){for(const e of this.supportedSources)if(this.sourceToAdd.startsWith(e)){this.addSource();return}F.addError("unsupported source")},addSource(){this.watchMatches.push(this.sourceToAdd),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches)),this.sourceToAdd=""},updateMatches(){if(!(this.$route.path=="/sports"||this.$route.path=="/sports/")){console.log("not update",this.$route.path);return}fetch("/api/sports",{method:"POST",body:JSON.stringify({urls:this.notVolleyMatches})}).then(e=>e.json()).then(e=>{this.sports=[];for(const s of e){const t=this.sports.findIndex(c=>c.sport==s.sport);t>=0?this.sports[t].items.push(s):this.sports.push({sport:s.sport,icon:s.sportIcon,items:[s]})}for(const s of this.sports)s.items.sort((t,c)=>{if(t.progress=t.progress.replace("Half time","45'"),c.progress=c.progress.replace("Half time","45'"),(t.progress.includes("Pens")||t.progress.includes("N/A"))&&(t.progress="Full time"),(c.progress.includes("Pens")||c.progress.includes("N/A"))&&(c.progress="Full time"),t.progress.includes("'")&&!c.progress.includes("'"))return-1;if(!t.progress.includes("'")&&c.progress.includes("'"))return 1;if(t.progress.includes("'")&&c.progress.includes("'")){const g=Number(t.progress.replace("'","").replace("+","")),x=Number(c.progress.replace("'","").replace("+",""));return gg.toISOString().split("T")[0];n=n.replace("Today",a(i)).split("/").reverse().join("-"),n=n.replace("Tomorrow",a(l)).split("/").reverse().join("-"),n=n.replace("Yesterday",a(d)).split("/").reverse().join("-"),r=r.replace("Today",a(i)).split("/").reverse().join("-"),r=r.replace("Tomorrow",a(l)).split("/").reverse().join("-"),r=r.replace("Yesterday",a(d)).split("/").reverse().join("-");let f=new Date(`${n}T${h}`.replace(" ","")),I=new Date(`${r}T${u}`.replace(" ",""));return f>I?-1:f==I?0:1})}),setTimeout(this.updateMatches,1e3*45)}}},T=e=>(B("data-v-2339d0be"),e=e(),O(),e),Y={class:"news"},z=T(()=>o("div",{class:"padding-20"},[o("h1",null,"Sports")],-1)),q=T(()=>o("hr",null,null,-1)),G={class:"padding-20"},Q={class:"small"},X={class:"addWrapper"},Z=T(()=>o("hr",null,null,-1)),ee=["src"],te=["onClick"];function se(e,s,t,c,n,r){const h=w("TextInputWithIcon"),u=w("football-item"),i=w("full-shelf");return p(),m("div",Y,[z,q,o("div",G,[o("p",Q,"Supported urls: "+_(n.supportedSources.join("*, ")),1),o("div",X,[N(h,{modelValue:n.sourceToAdd,"onUpdate:modelValue":s[0]||(s[0]=l=>n.sourceToAdd=l),icon:"link",onKeyup:e.enterText},null,8,["modelValue","onKeyup"]),o("span",{id:"addToPlaylist",class:"material-icons-outlined",onClick:s[1]||(s[1]=(...l)=>r.tryAddSource&&r.tryAddSource(...l))},"add_circle")]),Z,(p(!0),m(S,null,y(n.sports,(l,d)=>(p(),v(i,{key:l.sport,heading:l.sport,icon:l.icon},{default:M(()=>[(p(!0),m(S,null,y(l.items,(a,f)=>(p(),v(u,{key:a.href,competition:a.competition,date:a.date,href:a.href,oref:a.oref,progress:a.progress,result:a.result,team1:a.team1,team2:a.team2,onRemove:()=>r.removeSource(a.sref,d,f)},null,8,["competition","date","href","oref","progress","result","team1","team2","onRemove"]))),128))]),_:2},1032,["heading","icon"]))),128)),r.volleyMatches.length?(p(),v(i,{key:0,heading:"Volleyball",icon:"sports_volleyball"},{default:M(()=>[(p(!0),m(S,null,y(r.volleyMatches,(l,d)=>(p(),m("div",{key:d,class:"wrapIframe"},[o("iframe",{src:`https://cev-nex.tk/#/embed?match=${l.src}`},null,8,ee),o("span",{class:"deleteIcon small material-symbols-rounded",onClick:()=>r.removeSourceD(l.ref)},"clear",8,te)]))),128))]),_:1})):V("",!0)])])}const ae=k(R,[["render",se],["__scopeId","data-v-2339d0be"]]);export{ae as default}; diff --git a/src/ui/dist/assets/Sports-ea11e191.js.gz b/src/ui/dist/assets/Sports-ea11e191.js.gz deleted file mode 100644 index 88eb06de6..000000000 Binary files a/src/ui/dist/assets/Sports-ea11e191.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Template-59011f9c.js.gz b/src/ui/dist/assets/Template-59011f9c.js.gz deleted file mode 100644 index f66f4a391..000000000 Binary files a/src/ui/dist/assets/Template-59011f9c.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Template-59011f9c.js b/src/ui/dist/assets/Template-f7fd23e9.js similarity index 63% rename from src/ui/dist/assets/Template-59011f9c.js rename to src/ui/dist/assets/Template-f7fd23e9.js index 8830a8e4b..2dff8f72d 100644 --- a/src/ui/dist/assets/Template-59011f9c.js +++ b/src/ui/dist/assets/Template-f7fd23e9.js @@ -1 +1 @@ -import{n as B,q as m,f as c,a,bB as r,t as I,L as S,c as f,r as T,d as i,T as q,o,l as j,m as D,_ as L}from"./index-e23b36b9.js";import{I as h}from"./IconButton-d95cc9cd.js";const M=s=>(j("data-v-0ca4e489"),s=s(),D(),s),N={class:"header bg-secondary rounded-t-2xl p-3"},O={class:"title font-black"},V=M(()=>a("span",{class:"title material-icons-round"}," close ",-1)),$=[V],E={key:1},z={key:2,class:"p-4 pt-0 flex flex-col overflow-x-hidden overflow-y-auto"},A={key:0,class:"confirm"},F=B({__name:"Template",props:{name:{type:String,required:!0},submit:{type:Object,required:!0},secondary:{type:Object,required:!1,default:null}},emits:["submit","close","secondary"],setup(s,{expose:w,emit:d}){const e=s,u=m(!1),l=m(!1),v=m(""),_=()=>l.value=!1,b=()=>{u.value=!1,l.value=!0},k=()=>{u.value=!0,l.value=!0},x=async(y,t)=>{k();const n=await window.fetch(y,t);return b(),n.ok?n:(v.value=await n.text(),null)},p=()=>{_(),d("close")},C=()=>{d("submit"),p()},g=()=>{d("secondary"),p()};return w({show:b,hide:_,load:k,fetch:x}),(y,t)=>l.value?(o(),c(q,{key:0,to:"#popup-target"},[a("div",{class:"modal",onClick:t[1]||(t[1]=r(n=>l.value=!1,["stop"])),onContextmenu:t[2]||(t[2]=r(()=>{},["stop"])),onDrag:t[3]||(t[3]=r(()=>{},["stop"]))},[a("div",{class:"modal-content",onClick:t[0]||(t[0]=r(()=>{},["stop"]))},[a("div",N,[a("h3",O,I(s.name),1),a("button",{class:"modal-close",onClick:p},$)]),u.value?(o(),c(S,{key:0})):v.value?(o(),f("div",E)):(o(),f("div",z,[T(y.$slots,"default",{},void 0,!0),e.submit||e.secondary?(o(),f("div",A,[e.secondary?(o(),c(h,{key:0,icon:e.secondary.icon,label:e.secondary.label,type:e.secondary.type,onClick:g},null,8,["icon","label","type"])):i("",!0),e.submit?(o(),c(h,{key:1,icon:e.submit.icon,label:e.submit.label,type:e.submit.type,onClick:C},null,8,["icon","label","type"])):i("",!0)])):i("",!0)]))])],32)])):i("",!0)}});const J=L(F,[["__scopeId","data-v-0ca4e489"]]);export{J as T}; +import{n as I,q as m,f as c,a,bG as r,t as S,L as B,c as f,r as T,d as i,U as q,o,l as j,m as D,_ as L}from"./index-fe2c9584.js";import{I as h}from"./IconButton-f37a9ebc.js";const M=s=>(j("data-v-0ca4e489"),s=s(),D(),s),N={class:"header bg-secondary rounded-t-2xl p-3"},O={class:"title font-black"},V=M(()=>a("span",{class:"title material-icons-round"}," close ",-1)),$=[V],E={key:1},G={key:2,class:"p-4 pt-0 flex flex-col overflow-x-hidden overflow-y-auto"},U={key:0,class:"confirm"},z=I({__name:"Template",props:{name:{type:String,required:!0},submit:{type:Object,required:!0},secondary:{type:Object,required:!1,default:null}},emits:["submit","close","secondary"],setup(s,{expose:w,emit:d}){const e=s,u=m(!1),l=m(!1),v=m(""),_=()=>l.value=!1,b=()=>{u.value=!1,l.value=!0},k=()=>{u.value=!0,l.value=!0},x=async(y,t)=>{k();const n=await window.fetch(y,t);return b(),n.ok?n:(v.value=await n.text(),null)},p=()=>{_(),d("close")},C=()=>{d("submit"),p()},g=()=>{d("secondary"),p()};return w({show:b,hide:_,load:k,fetch:x}),(y,t)=>l.value?(o(),c(q,{key:0,to:"#popup-target"},[a("div",{class:"modal",onClick:t[1]||(t[1]=r(n=>l.value=!1,["stop"])),onContextmenu:t[2]||(t[2]=r(()=>{},["stop"])),onDrag:t[3]||(t[3]=r(()=>{},["stop"]))},[a("div",{class:"modal-content",onClick:t[0]||(t[0]=r(()=>{},["stop"]))},[a("div",N,[a("h3",O,S(s.name),1),a("button",{class:"modal-close",onClick:p},$)]),u.value?(o(),c(B,{key:0})):v.value?(o(),f("div",E)):(o(),f("div",G,[T(y.$slots,"default",{},void 0,!0),e.submit||e.secondary?(o(),f("div",U,[e.secondary?(o(),c(h,{key:0,icon:e.secondary.icon,label:e.secondary.label,type:e.secondary.type,onClick:g},null,8,["icon","label","type"])):i("",!0),e.submit?(o(),c(h,{key:1,icon:e.submit.icon,label:e.submit.label,type:e.submit.type,onClick:C},null,8,["icon","label","type"])):i("",!0)])):i("",!0)]))])],32)])):i("",!0)}});const H=L(z,[["__scopeId","data-v-0ca4e489"]]);export{H as T}; diff --git a/src/ui/dist/assets/Template-f7fd23e9.js.gz b/src/ui/dist/assets/Template-f7fd23e9.js.gz new file mode 100644 index 000000000..8c3ef2350 Binary files /dev/null and b/src/ui/dist/assets/Template-f7fd23e9.js.gz differ diff --git a/src/ui/dist/assets/Track-2c5bf628.js b/src/ui/dist/assets/Track-2c5bf628.js deleted file mode 100644 index dc964b322..000000000 --- a/src/ui/dist/assets/Track-2c5bf628.js +++ /dev/null @@ -1 +0,0 @@ -import{n as I,q as v,bs as P,aI as D,o as t,c as _,_ as U,f as n,w as S,C as B,a as s,t as f,d as r,B as z,A as F,bO as H,g as x,h as O,aA as M,bU as W,u as h,F as V,bP as K,i as T,bJ as R,bV as J,bW as X,bX as Y,bY as q,bZ as Z,l as G,m as Q,b_ as ee,b$ as ae,c0 as te,c1 as se,b as le,L as oe}from"./index-e23b36b9.js";import{E as ne}from"./ExternalEntry-2fd0cbdd.js";import{F as k}from"./FactCard-6c6c11f6.js";import{_ as ue}from"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import{s as re}from"./spotify-05acbfc2.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";const ie=["aria-valuemax","aria-valuenow"],de=I({__name:"ProgressCircle",props:{max:{type:Number,required:!1,default:100},modelValue:{type:Number,required:!1,default:0},displayValue:{type:String,required:!0}},setup(u){const m=u,d=v(null),g=()=>{if(d.value){const c=m.modelValue/m.max*100;d.value.style.setProperty("--progress",`${c}%`),d.value.innerHTML=m.displayValue}};P(m,g,{deep:!0});const l=()=>{d.value&&(d.value.style.height=d.value.offsetWidth+"px")};return D(()=>{l(),g()}),window.addEventListener("resize",l),(c,y)=>(t(),_("div",{ref_key:"radialProgress",ref:d,"aria-valuemax":u.max,"aria-valuenow":u.modelValue,"aria-valuemin":"0",class:"radialProgress",role:"progressbar"},null,8,ie))}});const E=U(de,[["__scopeId","data-v-2329319f"]]),ce={class:"material-symbols-rounded ms-fill"},pe={key:0,class:"text-muted"},_e=I({__name:"ButtonCard",props:{icon:{type:String,required:!0},label:{type:String,required:!1}},setup(u){return(m,d)=>(t(),n(B,{class:"p-4 flex flex-col w-full items-center justify-center"},{default:S(()=>[s("span",ce,f(u.icon),1),u.label?(t(),_("span",pe,f(u.label),1)):r("",!0)]),_:1}))}});const N=U(_e,[["__scopeId","data-v-1b7199f2"]]),j=u=>(G("data-v-56a3b0f7"),u=u(),Q(),u),me={class:"track p-4"},ve={key:2},fe={class:"track__data"},ye={class:"upper"},xe={class:"trac__info__details__normal"},he={class:"text-secondary my-0 text-2xl font-bold"},be={class:"text-muted text-base ml-4 font-light"},ke={class:"flex flew-row items-center"},ge={class:"font-black text-5xl ml-4"},we={key:0,class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},Ce={class:"spotify-infos mt-4"},Ve={class:"meta items-center"},$e={class:"text-muted"},Pe={key:0,class:"material-symbols-rounded ms-fill"},Se={class:"flex flex-row align-items"},Be=j(()=>s("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),Ie={class:"font-bold"},Ue={class:"relative w-full mt-4"},Me={class:"spotify__features__circles"},Te={class:"text-muted mb-0 text-center text-sm capitalize flex justify-center"},qe={class:"material-symbols-rounded mr-2"},Ee=j(()=>s("h2",{class:"!text-left"},"Similar Songs",-1)),Ne=I({__name:"Track",setup(u){const m=R(),d=z(),g=F(()=>m.params.hash),l=v(null),c=v(null),y=v("url"),a=v(null),w=v([]),$=v([]),b=v(!1),A={acousticness:"piano",danceability:"nightlife",energy:"electric_bolt",happiness:"mood",instrumentalness:"mic_off",liveness:"groups_2",speechiness:"mic",loudness:"volume_up"},C=async(p=null)=>{var o;l.value=null,a.value=null,w.value=[],l.value=await J(g.value),window.document.title=`${l.value.title} - reAudioPlayer One`,a.value=await X(l.value.id,!!p,p),c.value=`https://open.spotify.com/track/${a.value.spotify.id}`,y.value="link",b.value=((o=a.value.spotify.id)==null?void 0:o.length)==22,w.value=await Y(l.value.id),$.value=[];for(let[e,i]of Object.entries(a.value.spotify.features))["key","mode","tempo","duration_ms","time_signature"].includes(e)||typeof i=="number"&&(e=e.replaceAll("_"," "),e=e.replace("valence","happiness"),e==="loudness"&&(i=60+i),$.value.push({key:e,value:i,icon:A[e]}))};D(C),P(m,()=>C(),{deep:!0}),P(c,()=>{var p,o;if(((o=(p=a.value)==null?void 0:p.spotify)==null?void 0:o.id)==q(c.value,"track")){y.value="link";return}y.value="save"});const L=()=>{if(y.value==="save"){const p=q(c.value,"track");if(!p)return;C(p);return}Z(c.value)};return(p,o)=>(t(),_(V,null,[l.value?(t(),n(H,{key:0,src:l.value.cover,class:"-z-10"},null,8,["src"])):r("",!0),s("div",me,[l.value?(t(),n(ue,{key:0,ref:"updatePopup",song:l.value,onUpdate:o[0]||(o[0]=()=>C())},null,8,["song"])):r("",!0),l.value?(t(),_("div",ve,[s("div",fe,[s("div",ye,[x(O,{src:l.value.cover,class:"max-w-sm rounded-xl"},null,8,["src"]),s("div",{class:M([{"justify-end":a.value,"justify-center":!a.value},"track__info__details flex flex-col"])},[s("div",xe,[s("h3",he,[x(W,{artist:l.value.artist,class:"inline"},null,8,["artist"]),s("span",be,f(l.value.album),1)]),s("div",ke,[s("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:o[1]||(o[1]=e=>h(d).loadPlaylist("track",l.value.id))}," play_circle "),s("h1",ge,f(l.value.title),1)])]),a.value&&a.value.spotify.features?(t(),_(V,{key:0},[a.value&&a.value.spotify.features?(t(),_("div",we,[a.value?(t(),n(k,{key:0,"primary-text":a.value.spotify.features.key+" "+a.value.spotify.features.mode,class:"w-full","secondary-text":"Key"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(k,{key:1,"primary-text":h(ee)(a.value),class:"w-full","secondary-text":"Camelot"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(k,{key:2,"primary-text":Math.round(a.value.spotify.features.tempo),class:"w-full","secondary-text":"BPM"},null,8,["primary-text"])):r("",!0),x(k,{"primary-text":h(ae)(l.value.duration),class:"w-full","secondary-text":"Duration"},null,8,["primary-text"]),a.value?(t(),n(k,{key:3,"primary-text":a.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):r("",!0),x(N,{icon:"edit",label:"Edit",onClick:o[2]||(o[2]=e=>p.$refs.updatePopup.show())}),x(N,{icon:"download",label:"Download",onClick:o[3]||(o[3]=e=>h(te)(l.value.id))})])):r("",!0),s("div",Ce,[s("div",Ve,[s("span",$e,f(h(se)(a.value.spotify.releaseDate)),1),a.value.spotify.explicit?(t(),_("span",Pe,"explicit")):r("",!0),s("span",Se,[Be,s("span",Ie,f(a.value.spotify.popularity),1)])]),x(h(re),{class:M([{enabled:b.value},"spotify-enable"]),onClick:o[4]||(o[4]=e=>b.value=!b.value)},null,8,["class"]),b.value?(t(),n(K,{key:0,modelValue:c.value,"onUpdate:modelValue":o[5]||(o[5]=e=>c.value=e),icon:y.value,onClick:L},null,8,["modelValue","icon"])):r("",!0)])],64)):r("",!0)],2)])]),s("div",Ue,[s("div",Me,[(t(!0),_(V,null,T($.value,e=>(t(),n(B,{class:"p-2"},{default:S(()=>[e.key==="loudness"?(t(),n(E,{key:0,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(-60+e.value)+"dB",class:"circle",max:"60"},null,8,["modelValue","onUpdate:modelValue","display-value"])):(t(),n(E,{key:1,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(e.value*100)+"%",class:"circle",max:"1"},null,8,["modelValue","onUpdate:modelValue","display-value"])),s("p",Te,[s("span",qe,f(e.icon),1),le(" "+f(e.key),1)])]),_:2},1024))),256))])]),w.value.length?(t(),n(B,{key:0,class:"p-4 mt-4"},{default:S(()=>[Ee,(t(!0),_(V,null,T(w.value,(e,i)=>(t(),n(ne,{key:i,index:i,song:e,"can-import":"","cannot-add":"","with-album":"","with-cover":""},null,8,["index","song"]))),128))]),_:1})):r("",!0)])):(t(),n(oe,{key:1}))])],64))}});const Ke=U(Ne,[["__scopeId","data-v-56a3b0f7"]]);export{Ke as default}; diff --git a/src/ui/dist/assets/Track-2c5bf628.js.gz b/src/ui/dist/assets/Track-2c5bf628.js.gz deleted file mode 100644 index 165ed31cd..000000000 Binary files a/src/ui/dist/assets/Track-2c5bf628.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Track-3bc61d50.js b/src/ui/dist/assets/Track-3bc61d50.js new file mode 100644 index 000000000..2c45206e1 --- /dev/null +++ b/src/ui/dist/assets/Track-3bc61d50.js @@ -0,0 +1 @@ +import{n as I,q as v,G as P,aP as D,o as t,c as _,_ as T,f as n,w as S,C as B,a as s,t as f,d as r,B as A,A as F,bT as H,g as x,h as O,aH as U,bW as W,u as h,F as V,T as K,i as M,bO as R,bX as G,bY as X,bZ as Y,b_ as q,b$ as Z,l as J,m as Q,c0 as ee,c1 as ae,c2 as te,c3 as se,b as le,L as oe}from"./index-fe2c9584.js";import{E as ne}from"./ExternalEntry-7bdbc9d0.js";import{F as g}from"./FactCard-89ebd574.js";import{_ as ue}from"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import{s as re}from"./spotify-ec009aad.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";const ie=["aria-valuemax","aria-valuenow"],ce=I({__name:"ProgressCircle",props:{max:{type:Number,required:!1,default:100},modelValue:{type:Number,required:!1,default:0},displayValue:{type:String,required:!0}},setup(u){const m=u,c=v(null),b=()=>{if(c.value){const d=m.modelValue/m.max*100;c.value.style.setProperty("--progress",`${d}%`),c.value.innerHTML=m.displayValue}};P(m,b,{deep:!0});const l=()=>{c.value&&(c.value.style.height=c.value.offsetWidth+"px")};return D(()=>{l(),b()}),window.addEventListener("resize",l),(d,y)=>(t(),_("div",{ref_key:"radialProgress",ref:c,"aria-valuemax":u.max,"aria-valuenow":u.modelValue,"aria-valuemin":"0",class:"radialProgress",role:"progressbar"},null,8,ie))}});const E=T(ce,[["__scopeId","data-v-2329319f"]]),de={class:"material-symbols-rounded ms-fill"},pe={key:0,class:"text-muted"},_e=I({__name:"ButtonCard",props:{icon:{type:String,required:!0},label:{type:String,required:!1}},setup(u){return(m,c)=>(t(),n(B,{class:"p-4 flex flex-col w-full items-center justify-center"},{default:S(()=>[s("span",de,f(u.icon),1),u.label?(t(),_("span",pe,f(u.label),1)):r("",!0)]),_:1}))}});const N=T(_e,[["__scopeId","data-v-1b7199f2"]]),j=u=>(J("data-v-56a3b0f7"),u=u(),Q(),u),me={class:"track p-4"},ve={key:2},fe={class:"track__data"},ye={class:"upper"},xe={class:"trac__info__details__normal"},he={class:"text-secondary my-0 text-2xl font-bold"},ke={class:"text-muted text-base ml-4 font-light"},ge={class:"flex flew-row items-center"},be={class:"font-black text-5xl ml-4"},we={key:0,class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},Ce={class:"spotify-infos mt-4"},Ve={class:"meta items-center"},$e={class:"text-muted"},Pe={key:0,class:"material-symbols-rounded ms-fill"},Se={class:"flex flex-row align-items"},Be=j(()=>s("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),Ie={class:"font-bold"},Te={class:"relative w-full mt-4"},Ue={class:"spotify__features__circles"},Me={class:"text-muted mb-0 text-center text-sm capitalize flex justify-center"},qe={class:"material-symbols-rounded mr-2"},Ee=j(()=>s("h2",{class:"!text-left"},"Similar Songs",-1)),Ne=I({__name:"Track",setup(u){const m=R(),c=A(),b=F(()=>m.params.hash),l=v(null),d=v(null),y=v("url"),a=v(null),w=v([]),$=v([]),k=v(!1),L={acousticness:"piano",danceability:"nightlife",energy:"electric_bolt",happiness:"mood",instrumentalness:"mic_off",liveness:"groups_2",speechiness:"mic",loudness:"volume_up"},C=async(p=null)=>{var o;l.value=null,a.value=null,w.value=[],l.value=await G(b.value),window.document.title=`${l.value.title} - reAudioPlayer One`,a.value=await X(l.value.id,!!p,p),d.value=`https://open.spotify.com/track/${a.value.spotify.id}`,y.value="link",k.value=((o=a.value.spotify.id)==null?void 0:o.length)==22,w.value=await Y(l.value.id),$.value=[];for(let[e,i]of Object.entries(a.value.spotify.features))["key","mode","tempo","duration_ms","time_signature"].includes(e)||typeof i=="number"&&(e=e.replaceAll("_"," "),e=e.replace("valence","happiness"),e==="loudness"&&(i=60+i),$.value.push({key:e,value:i,icon:L[e]}))};D(C),P(m,()=>C(),{deep:!0}),P(d,()=>{var p,o;if(((o=(p=a.value)==null?void 0:p.spotify)==null?void 0:o.id)==q(d.value,"track")){y.value="link";return}y.value="save"});const z=()=>{if(y.value==="save"){const p=q(d.value,"track");if(!p)return;C(p);return}Z(d.value)};return(p,o)=>(t(),_(V,null,[l.value?(t(),n(H,{key:0,src:l.value.cover,class:"-z-10"},null,8,["src"])):r("",!0),s("div",me,[l.value?(t(),n(ue,{key:0,ref:"updatePopup",song:l.value,onUpdate:o[0]||(o[0]=()=>C())},null,8,["song"])):r("",!0),l.value?(t(),_("div",ve,[s("div",fe,[s("div",ye,[x(O,{src:l.value.cover,class:"max-w-sm rounded-xl"},null,8,["src"]),s("div",{class:U([{"justify-end":a.value,"justify-center":!a.value},"track__info__details flex flex-col"])},[s("div",xe,[s("h3",he,[x(W,{artist:l.value.artist,class:"inline"},null,8,["artist"]),s("span",ke,f(l.value.album),1)]),s("div",ge,[s("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:o[1]||(o[1]=e=>h(c).loadPlaylist("track",l.value.id))}," play_circle "),s("h1",be,f(l.value.title),1)])]),a.value&&a.value.spotify.features?(t(),_(V,{key:0},[a.value&&a.value.spotify.features?(t(),_("div",we,[a.value?(t(),n(g,{key:0,"primary-text":a.value.spotify.features.key+" "+a.value.spotify.features.mode,class:"w-full","secondary-text":"Key"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(g,{key:1,"primary-text":h(ee)(a.value),class:"w-full","secondary-text":"Camelot"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(g,{key:2,"primary-text":Math.round(a.value.spotify.features.tempo),class:"w-full","secondary-text":"BPM"},null,8,["primary-text"])):r("",!0),x(g,{"primary-text":h(ae)(l.value.duration),class:"w-full","secondary-text":"Duration"},null,8,["primary-text"]),a.value?(t(),n(g,{key:3,"primary-text":a.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):r("",!0),x(N,{icon:"edit",label:"Edit",onClick:o[2]||(o[2]=e=>p.$refs.updatePopup.show())}),x(N,{icon:"download",label:"Download",onClick:o[3]||(o[3]=e=>h(te)(l.value.id))})])):r("",!0),s("div",Ce,[s("div",Ve,[s("span",$e,f(h(se)(a.value.spotify.releaseDate)),1),a.value.spotify.explicit?(t(),_("span",Pe,"explicit")):r("",!0),s("span",Se,[Be,s("span",Ie,f(a.value.spotify.popularity),1)])]),x(h(re),{class:U([{enabled:k.value},"spotify-enable"]),onClick:o[4]||(o[4]=e=>k.value=!k.value)},null,8,["class"]),k.value?(t(),n(K,{key:0,modelValue:d.value,"onUpdate:modelValue":o[5]||(o[5]=e=>d.value=e),icon:y.value,onClick:z},null,8,["modelValue","icon"])):r("",!0)])],64)):r("",!0)],2)])]),s("div",Te,[s("div",Ue,[(t(!0),_(V,null,M($.value,e=>(t(),n(B,{class:"p-2"},{default:S(()=>[e.key==="loudness"?(t(),n(E,{key:0,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(-60+e.value)+"dB",class:"circle",max:"60"},null,8,["modelValue","onUpdate:modelValue","display-value"])):(t(),n(E,{key:1,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(e.value*100)+"%",class:"circle",max:"1"},null,8,["modelValue","onUpdate:modelValue","display-value"])),s("p",Me,[s("span",qe,f(e.icon),1),le(" "+f(e.key),1)])]),_:2},1024))),256))])]),w.value.length?(t(),n(B,{key:0,class:"p-4 mt-4"},{default:S(()=>[Ee,(t(!0),_(V,null,M(w.value,(e,i)=>(t(),n(ne,{key:i,index:i,song:e,"can-import":"","cannot-add":"","with-album":"","with-cover":""},null,8,["index","song"]))),128))]),_:1})):r("",!0)])):(t(),n(oe,{key:1}))])],64))}});const Ke=T(Ne,[["__scopeId","data-v-56a3b0f7"]]);export{Ke as default}; diff --git a/src/ui/dist/assets/Track-3bc61d50.js.gz b/src/ui/dist/assets/Track-3bc61d50.js.gz new file mode 100644 index 000000000..6966d2e36 Binary files /dev/null and b/src/ui/dist/assets/Track-3bc61d50.js.gz differ diff --git a/src/ui/dist/assets/TrackCompact-54657b5e.js b/src/ui/dist/assets/TrackCompact-54657b5e.js new file mode 100644 index 000000000..738a99024 --- /dev/null +++ b/src/ui/dist/assets/TrackCompact-54657b5e.js @@ -0,0 +1 @@ +import{_ as x,s as I,z as $,q as i,G as T,A as B,c8 as u,e as H,o as r,c as p,f as d,u as l,d as g,g as n,w as m,a as t,y as N,M as _,t as D,C as M,l as O,m as R}from"./index-fe2c9584.js";import{_ as V}from"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js";import{_ as q}from"./ExternalEntry-7bdbc9d0.js";const z=e=>(O("data-v-7b3e8b4c"),e=e(),R(),e),A={class:"home-track-compact-wrapper"},E=["src"],G=z(()=>t("div",{class:"play"},[t("span",{class:"material-symbols-rounded"},"play_arrow")],-1)),P={class:"info"},j={class:"title"},F=["href"],J={class:"artist"},K={__name:"TrackCompact",props:{title:String,artist:String,cover:String,id:Number,href:String},emits:["play"],setup(e,{emit:b}){const a=e,S=I(),f=`/track/${$(String(a.id))}`,h=i(null),v=i(null),C=o=>{o.stopPropagation(),b("play")},w=()=>{var o,c;if(!((o=a.href)!=null&&o.includes("spotify.com"))){S.push(f);return}if((c=a.href)!=null&&c.includes("spotify.com/album/")){v.value.show();return}h.value.show()},s=i(a.cover);T(()=>a.cover,()=>{s.value=a.cover});const k=B(()=>u(s.value));return(o,c)=>{const y=H("router-link");return r(),p("div",A,[e.href.includes("spotify.com/album/")?(r(),d(V,{key:0,ref_key:"addRelease",ref:v,album:{cover:l(k),name:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/album/",""),href:e.href,releaseDate:null}},null,8,["album"])):g("",!0),e.href.includes("spotify.com/track/")?(r(),d(q,{key:1,ref_key:"addSong",ref:h,song:{cover:l(k),title:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/track/",""),href:e.href,releaseDate:null}},null,8,["song"])):g("",!0),n(M,{class:"home-track-compact","with-hover":"",onClick:w},{default:m(()=>[t("div",{style:N({backgroundImage:`url(${l(u)(s.value)})`}),class:"cover",onClick:C},[t("img",{src:l(u)(s.value),class:"hidden",onError:c[0]||(c[0]=Q=>s.value=null)},null,40,E),G],4),t("div",P,[t("span",j,[e.href?(r(),p("a",{key:1,href:e.href,class:"linkOnHover"},[n(_,{text:e.title},null,8,["text"])],8,F)):(r(),d(y,{key:0,to:f,class:"linkOnHover"},{default:m(()=>[n(_,{text:e.title},null,8,["text"])]),_:1}))]),n(y,{to:`/search/artist:${e.artist}`,class:"linkOnHover"},{default:m(()=>[t("span",J,D(e.artist),1)]),_:1},8,["to"])])]),_:1})])}}},Y=x(K,[["__scopeId","data-v-7b3e8b4c"]]);export{Y as T}; diff --git a/src/ui/dist/assets/TrackCompact-54657b5e.js.gz b/src/ui/dist/assets/TrackCompact-54657b5e.js.gz new file mode 100644 index 000000000..eaaa9fd63 Binary files /dev/null and b/src/ui/dist/assets/TrackCompact-54657b5e.js.gz differ diff --git a/src/ui/dist/assets/TrackCompact-b3eeb676.js b/src/ui/dist/assets/TrackCompact-b3eeb676.js deleted file mode 100644 index eaaae0749..000000000 --- a/src/ui/dist/assets/TrackCompact-b3eeb676.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as x,s as I,z as $,q as i,bs as T,A as B,c5 as u,e as H,o as r,c as p,f as d,u as l,d as g,g as n,w as m,a as t,y as N,M as _,t as D,C as M,l as O,m as R}from"./index-e23b36b9.js";import{_ as V}from"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js";import{_ as q}from"./ExternalEntry-2fd0cbdd.js";const z=e=>(O("data-v-7b3e8b4c"),e=e(),R(),e),A={class:"home-track-compact-wrapper"},E=["src"],P=z(()=>t("div",{class:"play"},[t("span",{class:"material-symbols-rounded"},"play_arrow")],-1)),j={class:"info"},F={class:"title"},G=["href"],J={class:"artist"},K={__name:"TrackCompact",props:{title:String,artist:String,cover:String,id:Number,href:String},emits:["play"],setup(e,{emit:b}){const a=e,S=I(),f=`/track/${$(String(a.id))}`,h=i(null),v=i(null),C=o=>{o.stopPropagation(),b("play")},w=()=>{var o,c;if(!((o=a.href)!=null&&o.includes("spotify.com"))){S.push(f);return}if((c=a.href)!=null&&c.includes("spotify.com/album/")){v.value.show();return}h.value.show()},s=i(a.cover);T(()=>a.cover,()=>{s.value=a.cover});const k=B(()=>u(s.value));return(o,c)=>{const y=H("router-link");return r(),p("div",A,[e.href.includes("spotify.com/album/")?(r(),d(V,{key:0,ref_key:"addRelease",ref:v,album:{cover:l(k),name:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/album/",""),href:e.href,releaseDate:null}},null,8,["album"])):g("",!0),e.href.includes("spotify.com/track/")?(r(),d(q,{key:1,ref_key:"addSong",ref:h,song:{cover:l(k),title:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/track/",""),href:e.href,releaseDate:null}},null,8,["song"])):g("",!0),n(M,{class:"home-track-compact","with-hover":"",onClick:w},{default:m(()=>[t("div",{style:N({backgroundImage:`url(${l(u)(s.value)})`}),class:"cover",onClick:C},[t("img",{src:l(u)(s.value),class:"hidden",onError:c[0]||(c[0]=Q=>s.value=null)},null,40,E),P],4),t("div",j,[t("span",F,[e.href?(r(),p("a",{key:1,href:e.href,class:"linkOnHover"},[n(_,{text:e.title},null,8,["text"])],8,G)):(r(),d(y,{key:0,to:f,class:"linkOnHover"},{default:m(()=>[n(_,{text:e.title},null,8,["text"])]),_:1}))]),n(y,{to:`/search/artist:${e.artist}`,class:"linkOnHover"},{default:m(()=>[t("span",J,D(e.artist),1)]),_:1},8,["to"])])]),_:1})])}}},Y=x(K,[["__scopeId","data-v-7b3e8b4c"]]);export{Y as T}; diff --git a/src/ui/dist/assets/TrackCompact-b3eeb676.js.gz b/src/ui/dist/assets/TrackCompact-b3eeb676.js.gz deleted file mode 100644 index d8e0e92ef..000000000 Binary files a/src/ui/dist/assets/TrackCompact-b3eeb676.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Tracks-66865724.js b/src/ui/dist/assets/Tracks-66865724.js deleted file mode 100644 index 92b6483b0..000000000 --- a/src/ui/dist/assets/Tracks-66865724.js +++ /dev/null @@ -1 +0,0 @@ -import{I as r}from"./index-b54fd673.js";import{f as o,o as t}from"./index-e23b36b9.js";import"./index.vue_vue_type_script_setup_true_lang-907870b4.js";import"./FactCard-6c6c11f6.js";import"./PlaylistEntry-3951f4a8.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-ecbb25e6.js";const B={__name:"Tracks",setup(p){return(m,i)=>(t(),o(r,{id:-1,src:"/api/me/liked"}))}};export{B as default}; diff --git a/src/ui/dist/assets/Tracks-b0e344de.js b/src/ui/dist/assets/Tracks-b0e344de.js new file mode 100644 index 000000000..d99823876 --- /dev/null +++ b/src/ui/dist/assets/Tracks-b0e344de.js @@ -0,0 +1 @@ +import{I as r}from"./index-06cb9ce9.js";import{f as o,o as t}from"./index-fe2c9584.js";import"./index.vue_vue_type_script_setup_true_lang-25852a10.js";import"./FactCard-89ebd574.js";import"./PlaylistEntry-a7c7e55a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-1850e9b2.js";const B={__name:"Tracks",setup(p){return(m,i)=>(t(),o(r,{id:"liked"}))}};export{B as default}; diff --git a/src/ui/dist/assets/Welcome-1d742ab1.css b/src/ui/dist/assets/Welcome-1d742ab1.css deleted file mode 100644 index e27b72f4c..000000000 --- a/src/ui/dist/assets/Welcome-1d742ab1.css +++ /dev/null @@ -1 +0,0 @@ -.wrapper[data-v-d567b3d2]{padding:20px}.wrapper[data-v-d567b3d2]:hover{cursor:pointer}img[data-v-d567b3d2]{width:100%;border-radius:8px}img.selected[data-v-d567b3d2]{border:2px solid var(--accent)}h1[data-v-29e58593]{padding:.4em 0}button[data-v-29e58593]{color:var(--fg-contrast);background-color:var(--bg-contrast);border:none;border-radius:20px;text-transform:uppercase;letter-spacing:1px;padding:10px 20px;font-family:var(--ff-base);font-weight:700}button[data-v-29e58593]:hover{cursor:pointer}.restrictedMode[data-v-29e58593]{color:#fff;background-color:#c73c3c}input[data-v-29e58593]{margin-left:10px;margin-bottom:20px;width:20vw!important}.wrapTogether[data-v-29e58593]{display:flex;flex-direction:row}.spaceBetween[data-v-29e58593]{justify-content:space-between;width:60%}input[data-v-29e58593]:focus{outline:none}a[data-v-29e58593]{color:var(--fg-base);text-decoration:underline}a[data-v-29e58593]:hover{cursor:pointer;color:var(--fg-secondary)}.themes[data-v-29e58593]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.themes>*[data-v-29e58593]{width:12vw}.welcome[data-v-29e58593]{position:fixed;top:0;left:0;background:var(--bg-base);width:100vw;height:100vh;color:var(--fg-base);z-index:50}.centred-column[data-v-29e58593]{display:flex;flex-direction:column;justify-content:center;align-items:center}.bouncy h1[data-v-29e58593]{animation-name:cd-bounce-right-29e58593;font-size:4em;margin:0}.bouncy p[data-v-29e58593]{font-size:1.1em;margin:0;animation-name:cd-bounce-left-29e58593}.appear-later[data-v-29e58593]{animation-name:appear-later;animation-duration:2s}.bouncy p[data-v-29e58593],.bouncy h1[data-v-29e58593]{animation-duration:6s;animation-timing-function:ease-out;animation-fill-mode:forwards}.bouncy .permanent h1[data-v-29e58593]{animation-name:bounce-right-perm-29e58593;animation-duration:1.5s}.bouncy .permanent p[data-v-29e58593]{animation-name:bounce-left-perm-29e58593;animation-duration:1.5s}.appear-delayed[data-v-29e58593]{animation-name:delayed-29e58593;animation-duration:3s;animation-delay:1.5s;height:0;overflow:hidden;animation-fill-mode:forwards}@keyframes delayed-29e58593{0%{height:0}to{height:100%}}@keyframes bounce-right-perm-29e58593{0%{opacity:.2;transform:translate(-200px)}40%{opacity:.7;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes bounce-left-perm-29e58593{0%{opacity:.2;transform:translate(200px)}40%{opacity:.7;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes cd-bounce-right-29e58593{0%{opacity:.2;transform:translate(-200px)}10%{opacity:.7;transform:translate(10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}}@keyframes cd-bounce-left-29e58593{0%{opacity:.2;transform:translate(200px)}10%{opacity:.7;transform:translate(-10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}} diff --git a/src/ui/dist/assets/Welcome-1d742ab1.css.gz b/src/ui/dist/assets/Welcome-1d742ab1.css.gz deleted file mode 100644 index 05d161612..000000000 Binary files a/src/ui/dist/assets/Welcome-1d742ab1.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/Welcome-524b8e03.js b/src/ui/dist/assets/Welcome-524b8e03.js new file mode 100644 index 000000000..9048acb10 --- /dev/null +++ b/src/ui/dist/assets/Welcome-524b8e03.js @@ -0,0 +1 @@ +import{_ as p,c4 as r,o as i,c,a as e,aH as v,ce as C,v as g,cf as S,F as T,i as b,b as u,bD as h,bu as _,d as k,f as w,l as I,m as R,e as x}from"./index-fe2c9584.js";const A={name:"ThemeSmall",props:{name:String},methods:{selected(){return r.getCurrentTheme()==this.name},select(){r.setTheme(this.name),this.$emit("selected")}}},E=["src"];function B(n,s,m,f,o,l){return i(),c("div",{onClick:s[0]||(s[0]=(...a)=>l.select&&l.select(...a)),class:"wrapper"},[e("img",{src:`/assets/img/themes/${this.name}.svg`,class:v({selected:l.selected()})},null,10,E)])}const N=p(A,[["render",B],["__scopeId","data-v-321833b6"]]);const V={components:{ThemeSmall:N},methods:{updateThemes(){this.mode++},redirect(n){r.open(n)},finalRedirectRestricted(){this.spotifyClientId||this.spotifyClientSecret||fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:"restricted",secret:"restricted"})}).then(n=>{n.status==200&&(setTimeout(()=>fetch("/api/releases"),1e3),this.mode++,setTimeout(()=>{this.$router.push("/")},6*1e3))})},async finalRedirect(){!this.spotifyClientId||!this.spotifyClientSecret||(await C(this.spotifyClientId,this.spotifyClientSecret),setTimeout(()=>fetch("/api/releases"),1e3),setTimeout(()=>fetch("/api/news/articles"),1e3),this.mode++,setTimeout(async()=>{await g(),this.$router.push("/")},6*1e3))}},data(){setInterval(()=>{if(this.mode<3){this.mode++;return}},7*1e3);const n=["dynamic","dark","light"],s=r.getCurrentTheme();return{mode:0,themes:n,themeSelected:s,spotifyClientId:"",spotifyClientSecret:""}},async mounted(){await S()||this.$router.push("/")}},t=n=>(I("data-v-9aa97202"),n=n(),R(),n),Y={class:"welcome bouncy centred-column"},D={key:0,class:"first centred-column"},O=t(()=>e("p",null,"Welcome to",-1)),F=t(()=>e("h1",null,"reAudioPlayer ONE",-1)),H=[O,F],L={key:1,class:"first centred-column"},P=t(()=>e("p",null,"The free audio player with the most extensive catalogue",-1)),U=t(()=>e("h1",null,"ARE YOU READY?",-1)),W=[P,U],M={key:2,class:"first centred-column"},z=t(()=>e("h1",null,"Almost There",-1)),G=t(()=>e("p",null,"After a few configurations you're ready to go",-1)),J=[z,G],j={key:3,class:"permanent centred-column"},q=t(()=>e("h1",null,"Pick a Theme",-1)),K=t(()=>e("p",null,"You'll be able to change the theme at any point later on",-1)),Q=t(()=>e("br",null,null,-1)),X={class:"centred-column appear-delayed"},Z={key:4,class:"permanent centred-column"},$=t(()=>e("h1",null,"Let's integrate Spotify then!",-1)),ee=t(()=>e("p",null,"You'll be able to change the tokens at any point later on",-1)),te=t(()=>e("br",null,null,-1)),se={class:"centred-column appear-delayed"},oe=t(()=>e("p",null,"2) Create An App",-1)),ne=t(()=>e("p",null,"3) Enter any name and any description",-1)),ie=t(()=>e("p",null,[u("4) Edit the settings: set the redirect url to "),e("a",{href:"http://reap.ml/"},"http://reap.ml/")],-1)),le=t(()=>e("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),ce=t(()=>e("br",null,null,-1)),de={class:"wrapTogether"},re=t(()=>e("p",null,"Client ID: ",-1)),ae={class:"wrapTogether"},he=t(()=>e("p",null,"Client Secret: ",-1)),_e={class:"wrapTogether spaceBetween"},pe={key:5,class:"centred-column"},ue=t(()=>e("h1",null,"ALRIGHT!",-1)),me=t(()=>e("p",null,"You're ready to go",-1)),fe=[ue,me];function ye(n,s,m,f,o,l){const a=x("theme-small");return i(),c("div",Y,[o.mode==0?(i(),c("div",D,H)):o.mode==1?(i(),c("div",L,W)):o.mode==2?(i(),c("div",M,J)):o.mode==3?(i(),c("div",j,[q,K,Q,e("div",X,[(i(),c("div",{class:"themes",key:o.themeSelected},[(i(!0),c(T,null,b(o.themes,(d,y)=>(i(),w(a,{onSelected:l.updateThemes,key:y,name:d},null,8,["onSelected","name"]))),128))]))])])):o.mode==4?(i(),c("div",Z,[$,ee,te,e("div",se,[e("p",null,[u("1) Head over to the "),e("a",{onClick:s[0]||(s[0]=()=>l.redirect("https://developer.spotify.com/dashboard/applications"))},"spotify developer dashboard")]),oe,ne,ie,le,ce,e("div",de,[re,h(e("input",{type:"text","onUpdate:modelValue":s[1]||(s[1]=d=>o.spotifyClientId=d)},null,512),[[_,o.spotifyClientId]])]),e("div",ae,[he,h(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=d=>o.spotifyClientSecret=d)},null,512),[[_,o.spotifyClientSecret]])]),e("div",_e,[e("button",{onClick:s[3]||(s[3]=(...d)=>l.finalRedirect&&l.finalRedirect(...d))},"continue"),e("button",{onClick:s[4]||(s[4]=(...d)=>l.finalRedirectRestricted&&l.finalRedirectRestricted(...d)),class:"restrictedMode"},"enter restricted mode")])])])):o.mode==5?(i(),c("div",pe,fe)):k("",!0)])}const Ce=p(V,[["render",ye],["__scopeId","data-v-9aa97202"]]);export{Ce as default}; diff --git a/src/ui/dist/assets/Welcome-524b8e03.js.gz b/src/ui/dist/assets/Welcome-524b8e03.js.gz new file mode 100644 index 000000000..3d32b997f Binary files /dev/null and b/src/ui/dist/assets/Welcome-524b8e03.js.gz differ diff --git a/src/ui/dist/assets/Welcome-5b21c29e.css b/src/ui/dist/assets/Welcome-5b21c29e.css new file mode 100644 index 000000000..8dafd89ab --- /dev/null +++ b/src/ui/dist/assets/Welcome-5b21c29e.css @@ -0,0 +1 @@ +.wrapper[data-v-321833b6]{padding:20px}.wrapper[data-v-321833b6]:hover{cursor:pointer}img[data-v-321833b6]{width:100%;border-radius:8px}img.selected[data-v-321833b6]{border:2px solid var(--accent)}h1[data-v-9aa97202]{padding:.4em 0}button[data-v-9aa97202]{color:var(--fg-contrast);background-color:var(--bg-contrast);border:none;border-radius:20px;text-transform:uppercase;letter-spacing:1px;padding:10px 20px;font-family:var(--ff-base);font-weight:700}button[data-v-9aa97202]:hover{cursor:pointer}.restrictedMode[data-v-9aa97202]{color:#fff;background-color:#c73c3c}input[data-v-9aa97202]{margin-left:10px;margin-bottom:20px;width:20vw!important}.wrapTogether[data-v-9aa97202]{display:flex;flex-direction:row}.spaceBetween[data-v-9aa97202]{justify-content:space-between;width:60%}input[data-v-9aa97202]:focus{outline:none}a[data-v-9aa97202]{color:var(--fg-base);text-decoration:underline}a[data-v-9aa97202]:hover{cursor:pointer;color:var(--fg-secondary)}.themes[data-v-9aa97202]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.themes>*[data-v-9aa97202]{width:12vw}.welcome[data-v-9aa97202]{position:fixed;top:0;left:0;background:var(--bg-base);width:100vw;height:100vh;color:var(--fg-base);z-index:50}.centred-column[data-v-9aa97202]{display:flex;flex-direction:column;justify-content:center;align-items:center}.bouncy h1[data-v-9aa97202]{animation-name:cd-bounce-right-9aa97202;font-size:4em;margin:0}.bouncy p[data-v-9aa97202]{font-size:1.1em;margin:0;animation-name:cd-bounce-left-9aa97202}.appear-later[data-v-9aa97202]{animation-name:appear-later;animation-duration:2s}.bouncy p[data-v-9aa97202],.bouncy h1[data-v-9aa97202]{animation-duration:6s;animation-timing-function:ease-out;animation-fill-mode:forwards}.bouncy .permanent h1[data-v-9aa97202]{animation-name:bounce-right-perm-9aa97202;animation-duration:1.5s}.bouncy .permanent p[data-v-9aa97202]{animation-name:bounce-left-perm-9aa97202;animation-duration:1.5s}.appear-delayed[data-v-9aa97202]{animation-name:delayed-9aa97202;animation-duration:3s;animation-delay:1.5s;height:0;overflow:hidden;animation-fill-mode:forwards}@keyframes delayed-9aa97202{0%{height:0}to{height:100%}}@keyframes bounce-right-perm-9aa97202{0%{opacity:.2;transform:translate(-200px)}40%{opacity:.7;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes bounce-left-perm-9aa97202{0%{opacity:.2;transform:translate(200px)}40%{opacity:.7;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes cd-bounce-right-9aa97202{0%{opacity:.2;transform:translate(-200px)}10%{opacity:.7;transform:translate(10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}}@keyframes cd-bounce-left-9aa97202{0%{opacity:.2;transform:translate(200px)}10%{opacity:.7;transform:translate(-10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}} diff --git a/src/ui/dist/assets/Welcome-5b21c29e.css.gz b/src/ui/dist/assets/Welcome-5b21c29e.css.gz new file mode 100644 index 000000000..30c83b263 Binary files /dev/null and b/src/ui/dist/assets/Welcome-5b21c29e.css.gz differ diff --git a/src/ui/dist/assets/Welcome-63dbe3a9.js b/src/ui/dist/assets/Welcome-63dbe3a9.js deleted file mode 100644 index ea1b1d187..000000000 --- a/src/ui/dist/assets/Welcome-63dbe3a9.js +++ /dev/null @@ -1 +0,0 @@ -import{_,o as i,c as d,a as e,aA as y,cb as v,v as C,cc as g,F as S,i as T,b as p,by as a,bo as h,d as w,f as b,l as k,m as I,e as R}from"./index-e23b36b9.js";const x={name:"ThemeSmall",props:{name:String},methods:{selected(){return window.getCurrentTheme()==this.name},select(){window.setTheme(this.name),this.$emit("selected")}}},A=["src"];function E(n,s,u,m,o,l){return i(),d("div",{onClick:s[0]||(s[0]=(...r)=>l.select&&l.select(...r)),class:"wrapper"},[e("img",{src:`/assets/img/themes/${this.name}.svg`,class:y({selected:l.selected()})},null,10,A)])}const B=_(x,[["render",E],["__scopeId","data-v-d567b3d2"]]);const N={components:{ThemeSmall:B},methods:{updateThemes(){this.mode++},redirect(n){window.open(n)},finalRedirectRestricted(){this.spotifyClientId||this.spotifyClientSecret||fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:"restricted",secret:"restricted"})}).then(n=>{n.status==200&&(setTimeout(()=>fetch("/api/releases"),1e3),this.mode++,setTimeout(()=>{this.$router.push("/")},6*1e3))})},async finalRedirect(){!this.spotifyClientId||!this.spotifyClientSecret||(await v(this.spotifyClientId,this.spotifyClientSecret),setTimeout(()=>fetch("/api/releases"),1e3),setTimeout(()=>fetch("/api/news/articles"),1e3),this.mode++,setTimeout(async()=>{await C(),this.$router.push("/")},6*1e3))}},data(){setInterval(()=>{if(this.mode<3){this.mode++;return}},7*1e3);const n=["dynamic","dark","light"],s=window.getCurrentTheme();return{mode:0,themes:n,themeSelected:s,spotifyClientId:"",spotifyClientSecret:""}},async mounted(){await g()||this.$router.push("/")}},t=n=>(k("data-v-29e58593"),n=n(),I(),n),V={class:"welcome bouncy centred-column"},Y={key:0,class:"first centred-column"},O=t(()=>e("p",null,"Welcome to",-1)),D=t(()=>e("h1",null,"reAudioPlayer ONE",-1)),F=[O,D],L={key:1,class:"first centred-column"},P=t(()=>e("p",null,"The free audio player with the most extensive catalogue",-1)),U=t(()=>e("h1",null,"ARE YOU READY?",-1)),W=[P,U],H={key:2,class:"first centred-column"},M=t(()=>e("h1",null,"Almost There",-1)),z=t(()=>e("p",null,"After a few configurations you're ready to go",-1)),G=[M,z],J={key:3,class:"permanent centred-column"},j=t(()=>e("h1",null,"Pick a Theme",-1)),q=t(()=>e("p",null,"You'll be able to change the theme at any point later on",-1)),K=t(()=>e("br",null,null,-1)),Q={class:"centred-column appear-delayed"},X={key:4,class:"permanent centred-column"},Z=t(()=>e("h1",null,"Let's integrate Spotify then!",-1)),$=t(()=>e("p",null,"You'll be able to change the tokens at any point later on",-1)),ee=t(()=>e("br",null,null,-1)),te={class:"centred-column appear-delayed"},se=t(()=>e("p",null,"2) Create An App",-1)),oe=t(()=>e("p",null,"3) Enter any name and any description",-1)),ne=t(()=>e("p",null,[p("4) Edit the settings: set the redirect url to "),e("a",{href:"http://reap.ml/"},"http://reap.ml/")],-1)),ie=t(()=>e("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),le=t(()=>e("br",null,null,-1)),de={class:"wrapTogether"},ce=t(()=>e("p",null,"Client ID: ",-1)),re={class:"wrapTogether"},ae=t(()=>e("p",null,"Client Secret: ",-1)),he={class:"wrapTogether spaceBetween"},_e={key:5,class:"centred-column"},pe=t(()=>e("h1",null,"ALRIGHT!",-1)),ue=t(()=>e("p",null,"You're ready to go",-1)),me=[pe,ue];function fe(n,s,u,m,o,l){const r=R("theme-small");return i(),d("div",V,[o.mode==0?(i(),d("div",Y,F)):o.mode==1?(i(),d("div",L,W)):o.mode==2?(i(),d("div",H,G)):o.mode==3?(i(),d("div",J,[j,q,K,e("div",Q,[(i(),d("div",{class:"themes",key:o.themeSelected},[(i(!0),d(S,null,T(o.themes,(c,f)=>(i(),b(r,{onSelected:l.updateThemes,key:f,name:c},null,8,["onSelected","name"]))),128))]))])])):o.mode==4?(i(),d("div",X,[Z,$,ee,e("div",te,[e("p",null,[p("1) Head over to the "),e("a",{onClick:s[0]||(s[0]=()=>l.redirect("https://developer.spotify.com/dashboard/applications"))},"spotify developer dashboard")]),se,oe,ne,ie,le,e("div",de,[ce,a(e("input",{type:"text","onUpdate:modelValue":s[1]||(s[1]=c=>o.spotifyClientId=c)},null,512),[[h,o.spotifyClientId]])]),e("div",re,[ae,a(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=c=>o.spotifyClientSecret=c)},null,512),[[h,o.spotifyClientSecret]])]),e("div",he,[e("button",{onClick:s[3]||(s[3]=(...c)=>l.finalRedirect&&l.finalRedirect(...c))},"continue"),e("button",{onClick:s[4]||(s[4]=(...c)=>l.finalRedirectRestricted&&l.finalRedirectRestricted(...c)),class:"restrictedMode"},"enter restricted mode")])])])):o.mode==5?(i(),d("div",_e,me)):w("",!0)])}const ve=_(N,[["render",fe],["__scopeId","data-v-29e58593"]]);export{ve as default}; diff --git a/src/ui/dist/assets/Welcome-63dbe3a9.js.gz b/src/ui/dist/assets/Welcome-63dbe3a9.js.gz deleted file mode 100644 index cef628851..000000000 Binary files a/src/ui/dist/assets/Welcome-63dbe3a9.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/gistClient-9c650d59.js.gz b/src/ui/dist/assets/gistClient-9c650d59.js.gz deleted file mode 100644 index 5ecd62225..000000000 Binary files a/src/ui/dist/assets/gistClient-9c650d59.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/gistClient-9c650d59.js b/src/ui/dist/assets/gistClient-d0f6f626.js similarity index 96% rename from src/ui/dist/assets/gistClient-9c650d59.js rename to src/ui/dist/assets/gistClient-d0f6f626.js index 70f65c386..7fc2a0a6a 100644 --- a/src/ui/dist/assets/gistClient-9c650d59.js +++ b/src/ui/dist/assets/gistClient-d0f6f626.js @@ -1 +1 @@ -import{c2 as g,bM as c}from"./index-e23b36b9.js";const e=async(t=null)=>{const s=await g(),a=t??s.github.githubPat;if(!a)throw new Error("No GitHub PAT found");return{Authorization:"Bearer "+a}},h=(t,s="one.lib.json")=>{const a={};return a[s]={content:JSON.stringify(t)},JSON.stringify({files:a})},r=async()=>(await g()).github.gistId,o=async()=>{const t=await e(),s=await fetch(`https://api.github.com/gists/${await r()}`,{headers:t});try{return await s.json()}catch{return null}},d=async(t,s="one.lib.json")=>{const a=await e(),n=await fetch(`https://api.github.com/gists/${await r()}`,{method:"PATCH",headers:a,body:h(t,s)});if(!n.ok)return c.addError("Failed to update gist","",3e3),null;const i=await n.json();return c.addSuccess("Gist updated","",3e3),i},u=async(t,s="one.lib.json")=>{const a=await e(),n=await fetch("https://api.github.com/gists",{method:"POST",headers:a,body:h(t,s)});if(!n.ok)return c.addError("Failed to create gist","",3e3),null;const i=await n.json();i.id&&await fetch("/api/config",{method:"PUT",body:JSON.stringify({github:{gistId:i.id}})}),c.addSuccess("Gist created","",3e3)},l={connected:async()=>!!await r(),get:o,getContent:async(t="one.lib.json")=>{var n,i;const a=(i=(n=(await o()).files)==null?void 0:n[t])==null?void 0:i.content;return a?JSON.parse(a):[]},saveOrUpdate:async(t,s="one.lib.json")=>(await o()).files?await d(t,s):await u(t,s),save:u,update:d,delete:async()=>{const t=await e();return await(await fetch(`https://api.github.com/gists/${await r()}`,{method:"DELETE",headers:t})).json()},search:async(t=null)=>{var i;const s=await e(t),n=await(await fetch("https://api.github.com/gists?filename=one.lib.json",{headers:s})).json();return(i=n==null?void 0:n[0])==null?void 0:i.id},gistUrl:async()=>{const t=await o();return t==null?void 0:t.html_url}};export{l as G}; +import{c5 as g,bR as c}from"./index-fe2c9584.js";const e=async(t=null)=>{const s=await g(),a=t??s.github.githubPat;if(!a)throw new Error("No GitHub PAT found");return{Authorization:"Bearer "+a}},h=(t,s="one.lib.json")=>{const a={};return a[s]={content:JSON.stringify(t)},JSON.stringify({files:a})},r=async()=>(await g()).github.gistId,o=async()=>{const t=await e(),s=await fetch(`https://api.github.com/gists/${await r()}`,{headers:t});try{return await s.json()}catch{return null}},d=async(t,s="one.lib.json")=>{const a=await e(),n=await fetch(`https://api.github.com/gists/${await r()}`,{method:"PATCH",headers:a,body:h(t,s)});if(!n.ok)return c.addError("Failed to update gist","",3e3),null;const i=await n.json();return c.addSuccess("Gist updated","",3e3),i},u=async(t,s="one.lib.json")=>{const a=await e(),n=await fetch("https://api.github.com/gists",{method:"POST",headers:a,body:h(t,s)});if(!n.ok)return c.addError("Failed to create gist","",3e3),null;const i=await n.json();i.id&&await fetch("/api/config",{method:"PUT",body:JSON.stringify({github:{gistId:i.id}})}),c.addSuccess("Gist created","",3e3)},l={connected:async()=>!!await r(),get:o,getContent:async(t="one.lib.json")=>{var n,i;const a=(i=(n=(await o()).files)==null?void 0:n[t])==null?void 0:i.content;return a?JSON.parse(a):[]},saveOrUpdate:async(t,s="one.lib.json")=>(await o()).files?await d(t,s):await u(t,s),save:u,update:d,delete:async()=>{const t=await e();return await(await fetch(`https://api.github.com/gists/${await r()}`,{method:"DELETE",headers:t})).json()},search:async(t=null)=>{var i;const s=await e(t),n=await(await fetch("https://api.github.com/gists?filename=one.lib.json",{headers:s})).json();return(i=n==null?void 0:n[0])==null?void 0:i.id},gistUrl:async()=>{const t=await o();return t==null?void 0:t.html_url}};export{l as G}; diff --git a/src/ui/dist/assets/gistClient-d0f6f626.js.gz b/src/ui/dist/assets/gistClient-d0f6f626.js.gz new file mode 100644 index 000000000..fead9157f Binary files /dev/null and b/src/ui/dist/assets/gistClient-d0f6f626.js.gz differ diff --git a/src/ui/dist/assets/index-06cb9ce9.js b/src/ui/dist/assets/index-06cb9ce9.js new file mode 100644 index 000000000..f2324060c --- /dev/null +++ b/src/ui/dist/assets/index-06cb9ce9.js @@ -0,0 +1 @@ +import{T as i,_ as l,F as r}from"./index.vue_vue_type_script_setup_true_lang-25852a10.js";import{P as n}from"./PlaylistEntry-a7c7e55a.js";import{P as d}from"./PlaylistHeader-1850e9b2.js";import{_ as p,B as c,p as _,D as y,e as m,o as f,f as u}from"./index-fe2c9584.js";const x={components:{Template:i,Index:l,PlaylistEntry:n,FixedPlaylistHeader:r,PlaylistHeader:d},props:{id:{type:String,required:!0},icon:{type:String,required:!1,default:"favorite"}},data(){return this.updateTracks(),{fixedHeaderHidden:!0,playlist:{},store:c(),selectedSongId:-1}},methods:{parseCover:_,download(a){var e;const t=(e=this.playlist)==null?void 0:e[a];window.open(`/api/tracks/${t.id}/download`)},async updateTracks(){this.playlist=await y(this.id)},loadPlaylist(){this.store.loadPlaylist(playlistId)}}};function P(a,t,e,h,s,v){const o=m("Template");return f(),u(o,{"cover-icon":e.icon,playlist:s.playlist,"playlist-id":e.id},null,8,["cover-icon","playlist","playlist-id"])}const w=p(x,[["render",P],["__scopeId","data-v-89911faa"]]);export{w as I}; diff --git a/src/ui/dist/assets/index-06cb9ce9.js.gz b/src/ui/dist/assets/index-06cb9ce9.js.gz new file mode 100644 index 000000000..1104ba4e0 Binary files /dev/null and b/src/ui/dist/assets/index-06cb9ce9.js.gz differ diff --git a/src/ui/dist/assets/index-092e6edb.css b/src/ui/dist/assets/index-092e6edb.css new file mode 100644 index 000000000..40fb1e1f9 --- /dev/null +++ b/src/ui/dist/assets/index-092e6edb.css @@ -0,0 +1 @@ +.playlistEntries[data-v-89911faa]{display:flex;flex-direction:column}#loadPlaylist[data-v-89911faa]{cursor:pointer;font-size:60px;margin-bottom:20px;width:70px;line-height:70px;text-align:center;align-items:center;vertical-align:middle}#loadPlaylist[data-v-89911faa]:hover,#addToPlaylist[data-v-89911faa]:hover{cursor:pointer;font-size:62px}.padding-20[data-v-89911faa]{padding:20px}h3[data-v-89911faa]{text-transform:uppercase}h7[data-v-89911faa]{text-transform:uppercase;font-weight:700;font-size:.83em}h1[data-v-89911faa]{-webkit-margin-before:.15em;margin-block-start:.15em;-webkit-margin-after:.15em;margin-block-end:.15em;font-size:2.91em}.hidden[data-v-89911faa]{display:none!important} diff --git a/src/ui/dist/assets/index-1c21d252.js.gz b/src/ui/dist/assets/index-1c21d252.js.gz deleted file mode 100644 index c798a2737..000000000 Binary files a/src/ui/dist/assets/index-1c21d252.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-3c790919.css b/src/ui/dist/assets/index-3c790919.css deleted file mode 100644 index ce60a94b7..000000000 --- a/src/ui/dist/assets/index-3c790919.css +++ /dev/null @@ -1 +0,0 @@ -.playlistEntries[data-v-60e33961]{display:flex;flex-direction:column}#loadPlaylist[data-v-60e33961]{cursor:pointer;font-size:60px;margin-bottom:20px;width:70px;line-height:70px;text-align:center;align-items:center;vertical-align:middle}#loadPlaylist[data-v-60e33961]:hover,#addToPlaylist[data-v-60e33961]:hover{cursor:pointer;font-size:62px}.padding-20[data-v-60e33961]{padding:20px}h3[data-v-60e33961]{text-transform:uppercase}h7[data-v-60e33961]{text-transform:uppercase;font-weight:700;font-size:.83em}h1[data-v-60e33961]{-webkit-margin-before:.15em;margin-block-start:.15em;-webkit-margin-after:.15em;margin-block-end:.15em;font-size:2.91em}.hidden[data-v-60e33961]{display:none!important} diff --git a/src/ui/dist/assets/index-3fbf2886.js b/src/ui/dist/assets/index-3fbf2886.js new file mode 100644 index 000000000..1ed14c37f --- /dev/null +++ b/src/ui/dist/assets/index-3fbf2886.js @@ -0,0 +1 @@ +import{_ as o}from"./index.vue_vue_type_script_setup_true_lang-25852a10.js";import"./index-fe2c9584.js";import"./FactCard-89ebd574.js";import"./PlaylistEntry-a7c7e55a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import"./Template-f7fd23e9.js";import"./IconButton-f37a9ebc.js";import"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-1850e9b2.js";export{o as default}; diff --git a/src/ui/dist/assets/index-497e833f.js b/src/ui/dist/assets/index-497e833f.js deleted file mode 100644 index 56df375eb..000000000 --- a/src/ui/dist/assets/index-497e833f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./index.vue_vue_type_script_setup_true_lang-907870b4.js";import"./index-e23b36b9.js";import"./FactCard-6c6c11f6.js";import"./PlaylistEntry-3951f4a8.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import"./Template-59011f9c.js";import"./IconButton-d95cc9cd.js";import"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";import"./playerInPicture-af203fdf.js";import"./PlaylistHeader-ecbb25e6.js";export{o as default}; diff --git a/src/ui/dist/assets/index-4da1bf93.css.gz b/src/ui/dist/assets/index-4da1bf93.css.gz deleted file mode 100644 index 0ece3a299..000000000 Binary files a/src/ui/dist/assets/index-4da1bf93.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-6aeba909.js b/src/ui/dist/assets/index-6aeba909.js new file mode 100644 index 000000000..cab0ea734 --- /dev/null +++ b/src/ui/dist/assets/index-6aeba909.js @@ -0,0 +1 @@ +import{n as q,cc as N,q as x,c as n,a as e,F as u,i as S,u as p,g as f,w as y,C as h,bP as B,o as s,f as C,b as r,t as a,h as F,d,cd as D,y as T,L as V,aH as $,bR as L,l as O,m as j,_ as z}from"./index-fe2c9584.js";import{I as P}from"./IconButton-f37a9ebc.js";import{F as A}from"./Form-6220abd3.js";import"./Dropdown-489f43f3.js";const t=v=>(O("data-v-0651bc0d"),v=v(),j(),v),E={class:"downloader py-2 pr-2 grid gap-4 grid-cols-2 items-start"},H={class:"downloads"},M={class:"main"},R={class:"m-0 mb-4"},Y={class:"status"},G={class:"flex flex-col"},J={key:0,class:"info"},K=t(()=>e("span",{class:"material-symbols-rounded"},"cloud",-1)),Q={key:1,class:"info"},U=t(()=>e("span",{class:"material-symbols-rounded"},"file_download",-1)),W={class:"info"},X=t(()=>e("span",{class:"material-symbols-rounded"},"percent",-1)),Z={key:2,class:"info"},oo=t(()=>e("span",{class:"material-symbols-rounded"},"speed",-1)),eo={key:3,class:"info"},so=t(()=>e("span",{class:"material-symbols-rounded"},"timer",-1)),no=t(()=>e("div",{class:"error"},[e("span",null,"This song could not be downloaded:"),e("ul",{class:"block list-disc ml-8"},[e("li",null," verify that the source link is working "),e("li",null," try again later ")])],-1)),ao={key:0,class:"info"},lo=t(()=>e("span",{class:"material-symbols-rounded"},"link",-1)),ro=["href"],to={class:"wrap-progress"},io=["aria-valuenow"],co={key:1,class:"material-symbols-rounded downloading"},uo=["onClick"],_o=["onClick"],mo=["onClick"],po={key:1,class:"col-span-2 flex flex-row justify-center items-center"},fo={class:"new-download"},vo=q({__name:"index",setup(v){const _=N(),g=l=>{L.addYesNo("Are you sure you want to redownload this song?",null,null,()=>{console.log("[downloader] reDownload",l),_.downloadFromDb(l)})},m={title:"",artist:"",album:"",cover:"",source:"",href:""},w=x(null),i=x([{name:"source",type:"text",accept:"audio/mp3",required:!0,onChange:async l=>{const c=await B(l);i.value.find(o=>o.name==="title").value=c.title,i.value.find(o=>o.name==="artist").value=c.artist,i.value.find(o=>o.name==="album").value=c.album,i.value.find(o=>o.name==="cover").value=c.cover,i.value.find(o=>o.name==="source").value=c.source},value:m.source},{name:"title",type:"text",icon:"title",required:!0,value:m.title},{name:"artist",type:"text",icon:"person",required:!0,value:m.artist},{name:"album",type:"text",icon:"album",value:m.album},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:m.cover}]),I=async()=>{const l=w.value.toObject();l.id=new Date().getTime(),console.log("[downloader] requestDownload",l),_.downloadOther(l)};return(l,c)=>(s(),n("div",E,[e("div",H,[(s(!0),n(u,null,S(p(_).states,o=>{var k;return s(),C(h,{key:o.songId,class:$([["song",{downloading:((k=p(_).states[o.songId])==null?void 0:k.status)=="downloading"}],"p-4 card items-center"])},{default:y(()=>[o.status!=="pending"?(s(),n(u,{key:0},[e("main",M,[e("h2",R,[o.song?(s(),n(u,{key:0},[r(a(o.song.title),1)],64)):(s(),n(u,{key:1},[r(a(o.filename),1)],64))]),e("div",Y,[o.song?(s(),C(h,{key:0,class:"info p-4"},{default:y(()=>[f(F,{src:o.song.cover,class:"cover"},null,8,["src"]),e("div",G,[e("span",null,a(o.song.album),1),e("span",null,a(o.song.artist),1)])]),_:2},1024)):d("",!0),o.status!=="error"?(s(),n(u,{key:1},[o.downloaded||o.total?(s(),n("div",J,[K,r(" "+a(p(D)(o.downloaded))+" / "+a(p(D)(o.total)),1)])):d("",!0),o.chunk?(s(),n("div",Q,[U,r(" "+a(o.chunk),1)])):d("",!0),e("div",W,[X,r(" "+a(o.status==="downloading"?o.percent:100)+"% ",1)]),o.speed!=="0"?(s(),n("div",Z,[oo,r(" "+a(o.speed),1)])):d("",!0),o.elapsed!=="0"||o.eta!==0?(s(),n("div",eo,[so,r(" "+a(o.elapsed)+" / "+a(o.eta)+"s ",1)])):d("",!0)],64)):(s(),n(u,{key:2},[no,o.song?(s(),n("div",ao,[lo,e("a",{href:o.song.source,target:"_blank",rel:"noopener noreferrer"},a(o.song.source),9,ro)])):d("",!0)],64))])]),e("aside",null,[e("div",to,[o.status=="downloading"?(s(),n("div",{key:0,class:"progress-bar",role:"progressbar","aria-valuenow":o.percent,"aria-valuemin":"0","aria-valuemax":"100",style:T({"--progress":o.percent+"%"})},null,12,io)):d("",!0),o.status=="downloading"?(s(),n("span",co," south ")):o.status=="finished"?(s(),n("span",{key:2,class:"material-symbols-rounded cursor-pointer finished",onClick:b=>p(_).download(o.songId)}," download_for_offline ",8,uo)):o.status=="downloaded"?(s(),n("span",{key:3,class:"material-symbols-rounded cursor-pointer downloaded",onClick:b=>g(o.songId)}," download_done ",8,_o)):o.status=="error"?(s(),n("span",{key:4,class:"material-symbols-rounded cursor-pointer error",onClick:b=>g(o.songId)}," error ",8,mo)):d("",!0)])])],64)):(s(),n("div",po,[f(V)]))]),_:2},1032,["class"])}),128))]),e("div",fo,[f(h,{class:"custom p-4 flex flex-col"},{default:y(()=>[f(A,{ref_key:"form",ref:w,options:i.value},null,8,["options"]),f(P,{icon:"download_for_offline",label:"Download",class:"w-full mt-8",onClick:I})]),_:1})])]))}});const ko=z(vo,[["__scopeId","data-v-0651bc0d"]]);export{ko as default}; diff --git a/src/ui/dist/assets/index-6aeba909.js.gz b/src/ui/dist/assets/index-6aeba909.js.gz new file mode 100644 index 000000000..7d234d34d Binary files /dev/null and b/src/ui/dist/assets/index-6aeba909.js.gz differ diff --git a/src/ui/dist/assets/index-6c60d543.js.gz b/src/ui/dist/assets/index-6c60d543.js.gz deleted file mode 100644 index 02b32546b..000000000 Binary files a/src/ui/dist/assets/index-6c60d543.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-ea9d5540.css b/src/ui/dist/assets/index-76812b81.css similarity index 83% rename from src/ui/dist/assets/index-ea9d5540.css rename to src/ui/dist/assets/index-76812b81.css index 69d703233..1c7b2949d 100644 --- a/src/ui/dist/assets/index-ea9d5540.css +++ b/src/ui/dist/assets/index-76812b81.css @@ -1 +1 @@ -.checkbox[data-v-982c4110]{display:flex;align-items:center;margin:10px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox .checkbox__label[data-v-982c4110]{margin-left:10px}.checkbox .checkbox__label .checkbox__label__title[data-v-982c4110]{font-size:1em}.checkbox .checkbox__label .checkbox__label__sublabel[data-v-982c4110]{font-size:.85em;color:var(--font-darker)}.checkbox .checkbox__checkbox[data-v-982c4110]{font-size:1.5em;font-variation-settings:"FILL" 0,"WEIGHT" 500,"WIDTH" 100}.text-input-with-icon[data-v-5e026540]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk)}.text-input-with-icon.disabled[data-v-5e026540],.text-input-with-icon.disabled input[data-v-5e026540]{cursor:not-allowed!important}.text-input-with-icon input[data-v-5e026540]{color:var(--fg-base-dk)}.text-input-with-iconfocus[data-v-5e026540],.text-input-with-icon[data-v-5e026540]:focus-within,.text-input-with-icon[data-v-5e026540]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-iconfocus input[data-v-5e026540],.text-input-with-icon:focus-within input[data-v-5e026540],.text-input-with-icon:hover input[data-v-5e026540]{color:var(--fg-base)}input[data-v-5e026540]{background:none!important;border:none!important}p[data-v-5dea6f6a]{margin:0 0 .5em;font-size:.8em;color:var(--fg-base-dk);text-transform:capitalize}p.selected[data-v-5dea6f6a]{color:var(--fg-secondary)}.wrapper[data-v-5dea6f6a]{grid-column:span 2}.wrapper[data-v-5dea6f6a]:hover{cursor:pointer}img[data-v-5dea6f6a]{width:100%;border-radius:8px}img.selected[data-v-5dea6f6a]{border:2px solid var(--fg-secondary)}.preferences[data-v-519432f4]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px}.preferences .themes[data-v-519432f4]{display:flex;flex-direction:row;flex-wrap:wrap;gap:1em}.preferences .themes .wrapper[data-v-519432f4]{max-width:200px} +.checkbox[data-v-982c4110]{display:flex;align-items:center;margin:10px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox .checkbox__label[data-v-982c4110]{margin-left:10px}.checkbox .checkbox__label .checkbox__label__title[data-v-982c4110]{font-size:1em}.checkbox .checkbox__label .checkbox__label__sublabel[data-v-982c4110]{font-size:.85em;color:var(--font-darker)}.checkbox .checkbox__checkbox[data-v-982c4110]{font-size:1.5em;font-variation-settings:"FILL" 0,"WEIGHT" 500,"WIDTH" 100}.text-input-with-icon[data-v-5e026540]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk)}.text-input-with-icon.disabled[data-v-5e026540],.text-input-with-icon.disabled input[data-v-5e026540]{cursor:not-allowed!important}.text-input-with-icon input[data-v-5e026540]{color:var(--fg-base-dk)}.text-input-with-iconfocus[data-v-5e026540],.text-input-with-icon[data-v-5e026540]:focus-within,.text-input-with-icon[data-v-5e026540]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-iconfocus input[data-v-5e026540],.text-input-with-icon:focus-within input[data-v-5e026540],.text-input-with-icon:hover input[data-v-5e026540]{color:var(--fg-base)}input[data-v-5e026540]{background:none!important;border:none!important}p[data-v-74855c2d]{margin:0 0 .5em;font-size:.8em;color:var(--fg-base-dk);text-transform:capitalize}p.selected[data-v-74855c2d]{color:var(--fg-secondary)}.wrapper[data-v-74855c2d]{grid-column:span 2}.wrapper[data-v-74855c2d]:hover{cursor:pointer}img[data-v-74855c2d]{width:100%;border-radius:8px}img.selected[data-v-74855c2d]{border:2px solid var(--fg-secondary)}.preferences[data-v-519432f4]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px}.preferences .themes[data-v-519432f4]{display:flex;flex-direction:row;flex-wrap:wrap;gap:1em}.preferences .themes .wrapper[data-v-519432f4]{max-width:200px} diff --git a/src/ui/dist/assets/index-76812b81.css.gz b/src/ui/dist/assets/index-76812b81.css.gz new file mode 100644 index 000000000..aba976e6e Binary files /dev/null and b/src/ui/dist/assets/index-76812b81.css.gz differ diff --git a/src/ui/dist/assets/index-1c21d252.js b/src/ui/dist/assets/index-7819f3fe.js similarity index 90% rename from src/ui/dist/assets/index-1c21d252.js rename to src/ui/dist/assets/index-7819f3fe.js index 78a6af72a..004c7b2d2 100644 --- a/src/ui/dist/assets/index-1c21d252.js +++ b/src/ui/dist/assets/index-7819f3fe.js @@ -1 +1 @@ -import{_ as v,o,c as a,a as n,b as y,t as S,d as _,r as H,e as C,f as d,w as r,g as l,h as q,C as P,F as h,i as p,u as $,p as N,j as I,k as B,l as F,m as j,n as E,q as g,s as T,v as R,x as V}from"./index-e23b36b9.js";import{T as b}from"./TrackCompact-b3eeb676.js";import{P as O}from"./PlaylistHeader-ecbb25e6.js";import{P as x}from"./PlaylistEntry-3951f4a8.js";import{s as G}from"./spotify-05acbfc2.js";import{F as L}from"./Form-fb09f2bd.js";import{P as M}from"./PlaylistItem-5e6b8631.js";import{I as J}from"./IconButton-d95cc9cd.js";import"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js";import"./Template-59011f9c.js";import"./Playlist-48798df5.js";import"./ExternalEntry-2fd0cbdd.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ee42face.js";import"./playerInPicture-af203fdf.js";import"./Dropdown-b028fe8e.js";const W={name:"FlexShelf",props:{heading:String,icon:String}},z={class:"shelf"},A={class:"header"},K={key:0},Q={key:0,class:"icon material-symbols-round"},U={class:"items"};function X(e,s,u,c,t,i){return o(),a("div",z,[n("div",A,[u.heading||u.icon?(o(),a("h2",K,[y(S(u.heading),1),u.icon?(o(),a("span",Q,S(u.icon),1)):_("",!0)])):_("",!0)]),n("div",U,[H(e.$slots,"default",{},void 0,!0)])])}const f=v(W,[["render",X],["__scopeId","data-v-c2d585d9"]]);const Y={__name:"Playlist",props:{name:{type:String,required:!0},cover:{type:String,required:!0},href:{type:String,required:!0}},setup(e){return(s,u)=>{const c=C("router-link");return o(),d(c,{to:e.href,class:"no-underline"},{default:r(()=>[l(P,{class:"home-playlist drop-shadow-md","with-hover":""},{default:r(()=>[l(q,{src:e.cover,type:"playlist"},null,8,["src"]),n("h2",null,S(e.name),1)]),_:1})]),_:1},8,["to"])}}},Z=v(Y,[["__scopeId","data-v-771b12c3"]]);const ee=e=>(F("data-v-5586387d"),e=e(),j(),e),te={class:"home"},se={class:"main"},oe={key:0,class:"playlists"},ie={key:1,class:"liked"},ne={key:2,class:"breaking"},ae={class:"side"},le={key:0,class:"releases"},re={key:1,class:"disovery"},ce={key:2,class:"recommendations"},de=ee(()=>n("h2",null,"Recommendations",-1)),ue={name:"Home",data(){const e=new Date;return{greeting:e.getHours()<12?"Good morning":e.getHours()<18?"Good afternoon":"Good evening",releases:[],picks:[],songs:[],liked:[],breaking:[],recommendations:[],data:I()}},mounted(){fetch("/api/releases").then(e=>e.json()).then(e=>{this.releases=e.slice(0,3)}),fetch("/api/me/liked").then(e=>e.json()).then(e=>{this.liked=e.songs.slice(0,3)}),fetch("/api/me/new").then(e=>e.json()).then(e=>{this.breaking=e.songs.slice(0,3)}),this.pick()},computed:{playlists(){return this.data.playlists}},methods:{playDiscover(e){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:e.id,type:"track"})})},playRecommendation(e){const s=new CustomEvent("player.play",{detail:{artist:e.artist,title:e.title,source:e.source||e.url||e.href}});window.dispatchEvent(s)},async pick(){if(!this.data.playlists.length){setTimeout(()=>this.pick(),2e3);return}if(this.songs=(await Promise.all(this.playlists.map(async e=>{var s;return((s=await B(e.id))==null?void 0:s.songs)||[]}))).flat(),!(this.songs.length<3)){for(let e=0;e<3;e++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)]);fetch("/api/spotify/recommendations",{method:"POST",body:JSON.stringify({query:`${this.picks[0].artist} ${this.picks[0].title}`})}).then(e=>e.json()).then(e=>{this.recommendations=e.slice(0,3)})}}}},_e=Object.assign(ue,{setup(e){return(s,u)=>{const c=C("router-link");return o(),a("div",te,[n("div",se,[s.playlists.length?(o(),a("div",oe,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/playlists"},{default:r(()=>[y("Playlists")]),_:1})]),l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.playlists,(t,i)=>(o(),d(Z,{key:i,cover:t.cover,href:t==null?void 0:t.href,name:t.name},null,8,["cover","href","name"]))),128))]),_:1})])):_("",!0),s.liked.length?(o(),a("div",ie,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks"},{default:r(()=>[y("Liked Songs")]),_:1})]),l(O),(o(!0),a(h,null,p(s.liked,(t,i)=>(o(),d(x,{key:i,index:i,"playlist-id":-1,song:t,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0),s.breaking.length?(o(),a("div",ne,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks/breaking"},{default:r(()=>[y("Breaking Songs")]),_:1})]),l(O),(o(!0),a(h,null,p(s.breaking,(t,i)=>(o(),d(x,{key:i,index:i,"playlist-id":-2,song:t,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0)]),n("div",ae,[s.releases.length?(o(),a("div",le,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/releases"},{default:r(()=>[y("Out now")]),_:1})]),l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.releases,(t,i)=>(o(),d(b,{key:i,artist:t.artist,cover:t.cover,href:t.url,title:t.title,onPlay:()=>s.playRecommendation(t)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),s.picks.length?(o(),a("div",re,[n("h2",null,[l(c,{class:"linkOnHover",to:"/discover"},{default:r(()=>[y("Discover")]),_:1})]),l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.picks,(t,i)=>(o(),d(b,{id:t.id,key:i,artist:t.artist,cover:$(N)(t.cover),href:t.href,title:t.title,onPlay:()=>s.playDiscover(t)},null,8,["id","artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),s.recommendations.length?(o(),a("div",ce,[de,l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.recommendations,(t,i)=>(o(),d(b,{key:i,artist:t.artist,cover:t.cover,href:t.href,title:t.title,onPlay:()=>s.playRecommendation(t)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0)])])}}}),he=v(_e,[["__scopeId","data-v-5586387d"]]),k=e=>(F("data-v-19a9c7d9"),e=e(),j(),e),pe={class:"onboarding p-4"},me=k(()=>n("h1",null,"So nice to meet you!",-1)),ye=k(()=>n("p",null,"Let's get you set up",-1)),fe={class:"grid grid-cols-2 gap-4 mt-8"},ve=k(()=>n("div",{class:"flex flex-row items-center"},[n("span",{class:"material-symbols-rounded ms-wght-700 text-4xl mr-4"},"add"),n("h2",null,"Create your first playlist")],-1)),ke={class:"flex flex-row justify-end w-full"},ge={class:"flex flex-row items-center"},be=k(()=>n("h2",null,"Import from Spotify",-1)),Se={class:"spotify-playlists"},Pe=E({__name:"Onboarding",setup(e){const s=g([]),u=g(!1),c=g(null);T(),R().then(i=>{u.value=i}),fetch("/api/spotify/playlists").then(i=>i.json()).then(i=>{s.value=i});const t={fields:[{name:"name",label:"Name",placeholder:"Playlist name",icon:"title",type:"text",required:!0},{name:"description",label:"Description",placeholder:"Playlist description",icon:"description",type:"text",required:!1}],submit:{label:"Create",action:async()=>{const i=c.value.toObject();await V(i.name,i.description)}}};return(i,w)=>(o(),a("div",pe,[me,ye,n("div",fe,[l(P,{class:"p-4"},{default:r(()=>[ve,l(L,{ref_key:"createForm",ref:c,options:t.fields},null,8,["options"]),n("div",ke,[l(J,{onClick:w[0]||(w[0]=m=>t.submit.action()),icon:"add",label:t.submit.label},null,8,["label"])])]),_:1}),s.value.length?(o(),d(P,{key:0,class:"p-4"},{default:r(()=>[n("div",ge,[l($(G),{class:"spotify mr-4"}),be]),n("div",Se,[(o(!0),a(h,null,p(s.value,(m,D)=>(o(),d(M,{key:D,cover:m.cover,description:m.description,title:m.name,id:m.id,spotify:!0,href:`https://open.spotify.com/playlist/${m.id}`},null,8,["cover","description","title","id","href"]))),128))])]),_:1})):_("",!0)])]))}});const $e=v(Pe,[["__scopeId","data-v-19a9c7d9"]]),Ve={__name:"index",setup(e){const s=I();return(u,c)=>$(s).notEmpty?(o(),d(he,{key:0})):(o(),d($e,{key:1}))}};export{Ve as default}; +import{_ as v,o,c as a,a as n,b as y,t as S,d as _,r as H,e as C,f as d,w as r,g as l,h as q,C as P,F as h,i as p,u as $,p as N,j as I,k as B,l as F,m as j,n as E,q as g,s as T,v as R,x as V}from"./index-fe2c9584.js";import{T as b}from"./TrackCompact-54657b5e.js";import{P as O}from"./PlaylistHeader-1850e9b2.js";import{P as x}from"./PlaylistEntry-a7c7e55a.js";import{s as G}from"./spotify-ec009aad.js";import{F as L}from"./Form-6220abd3.js";import{P as M}from"./PlaylistItem-0efbc30a.js";import{I as J}from"./IconButton-f37a9ebc.js";import"./ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js";import"./Template-f7fd23e9.js";import"./Playlist-41f8fb8f.js";import"./ExternalEntry-7bdbc9d0.js";import"./EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js";import"./playerInPicture-af203fdf.js";import"./Dropdown-489f43f3.js";const W={name:"FlexShelf",props:{heading:String,icon:String}},z={class:"shelf"},A={class:"header"},K={key:0},Q={key:0,class:"icon material-symbols-round"},U={class:"items"};function X(e,s,u,c,t,i){return o(),a("div",z,[n("div",A,[u.heading||u.icon?(o(),a("h2",K,[y(S(u.heading),1),u.icon?(o(),a("span",Q,S(u.icon),1)):_("",!0)])):_("",!0)]),n("div",U,[H(e.$slots,"default",{},void 0,!0)])])}const f=v(W,[["render",X],["__scopeId","data-v-c2d585d9"]]);const Y={__name:"Playlist",props:{name:{type:String,required:!0},cover:{type:String,required:!0},href:{type:String,required:!0}},setup(e){return(s,u)=>{const c=C("router-link");return o(),d(c,{to:e.href,class:"no-underline"},{default:r(()=>[l(P,{class:"home-playlist drop-shadow-md","with-hover":""},{default:r(()=>[l(q,{src:e.cover,type:"playlist"},null,8,["src"]),n("h2",null,S(e.name),1)]),_:1})]),_:1},8,["to"])}}},Z=v(Y,[["__scopeId","data-v-771b12c3"]]);const ee=e=>(F("data-v-5586387d"),e=e(),j(),e),te={class:"home"},se={class:"main"},oe={key:0,class:"playlists"},ie={key:1,class:"liked"},ne={key:2,class:"breaking"},ae={class:"side"},le={key:0,class:"releases"},re={key:1,class:"disovery"},ce={key:2,class:"recommendations"},de=ee(()=>n("h2",null,"Recommendations",-1)),ue={name:"Home",data(){const e=new Date;return{greeting:e.getHours()<12?"Good morning":e.getHours()<18?"Good afternoon":"Good evening",releases:[],picks:[],songs:[],liked:[],breaking:[],recommendations:[],data:I()}},mounted(){fetch("/api/releases").then(e=>e.json()).then(e=>{this.releases=e.slice(0,3)}),fetch("/api/me/liked").then(e=>e.json()).then(e=>{this.liked=e.songs.slice(0,3)}),fetch("/api/me/new").then(e=>e.json()).then(e=>{this.breaking=e.songs.slice(0,3)}),this.pick()},computed:{playlists(){return this.data.playlists}},methods:{playDiscover(e){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:e.id,type:"track"})})},playRecommendation(e){const s=new CustomEvent("player.play",{detail:{artist:e.artist,title:e.title,source:e.source||e.url||e.href}});window.dispatchEvent(s)},async pick(){if(!this.data.playlists.length){setTimeout(()=>this.pick(),2e3);return}if(this.songs=(await Promise.all(this.playlists.map(async e=>{var s;return((s=await B(e.id))==null?void 0:s.songs)||[]}))).flat(),!(this.songs.length<3)){for(let e=0;e<3;e++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)]);fetch("/api/spotify/recommendations",{method:"POST",body:JSON.stringify({query:`${this.picks[0].artist} ${this.picks[0].title}`})}).then(e=>e.json()).then(e=>{this.recommendations=e.slice(0,3)})}}}},_e=Object.assign(ue,{setup(e){return(s,u)=>{const c=C("router-link");return o(),a("div",te,[n("div",se,[s.playlists.length?(o(),a("div",oe,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/playlists"},{default:r(()=>[y("Playlists")]),_:1})]),l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.playlists,(t,i)=>(o(),d(Z,{key:i,cover:t.cover,href:t==null?void 0:t.href,name:t.name},null,8,["cover","href","name"]))),128))]),_:1})])):_("",!0),s.liked.length?(o(),a("div",ie,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks"},{default:r(()=>[y("Liked Songs")]),_:1})]),l(O),(o(!0),a(h,null,p(s.liked,(t,i)=>(o(),d(x,{key:i,index:i,"playlist-id":-1,song:t,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0),s.breaking.length?(o(),a("div",ne,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks/breaking"},{default:r(()=>[y("Breaking Songs")]),_:1})]),l(O),(o(!0),a(h,null,p(s.breaking,(t,i)=>(o(),d(x,{key:i,index:i,"playlist-id":-2,song:t,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0)]),n("div",ae,[s.releases.length?(o(),a("div",le,[n("h2",null,[l(c,{class:"linkOnHover",to:"/collection/releases"},{default:r(()=>[y("Out now")]),_:1})]),l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.releases,(t,i)=>(o(),d(b,{key:i,artist:t.artist,cover:t.cover,href:t.url,title:t.title,onPlay:()=>s.playRecommendation(t)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),s.picks.length?(o(),a("div",re,[n("h2",null,[l(c,{class:"linkOnHover",to:"/discover"},{default:r(()=>[y("Discover")]),_:1})]),l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.picks,(t,i)=>(o(),d(b,{id:t.id,key:i,artist:t.artist,cover:$(N)(t.cover),href:t.href,title:t.title,onPlay:()=>s.playDiscover(t)},null,8,["id","artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),s.recommendations.length?(o(),a("div",ce,[de,l(f,null,{default:r(()=>[(o(!0),a(h,null,p(s.recommendations,(t,i)=>(o(),d(b,{key:i,artist:t.artist,cover:t.cover,href:t.href,title:t.title,onPlay:()=>s.playRecommendation(t)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0)])])}}}),he=v(_e,[["__scopeId","data-v-5586387d"]]),k=e=>(F("data-v-19a9c7d9"),e=e(),j(),e),pe={class:"onboarding p-4"},me=k(()=>n("h1",null,"So nice to meet you!",-1)),ye=k(()=>n("p",null,"Let's get you set up",-1)),fe={class:"grid grid-cols-2 gap-4 mt-8"},ve=k(()=>n("div",{class:"flex flex-row items-center"},[n("span",{class:"material-symbols-rounded ms-wght-700 text-4xl mr-4"},"add"),n("h2",null,"Create your first playlist")],-1)),ke={class:"flex flex-row justify-end w-full"},ge={class:"flex flex-row items-center"},be=k(()=>n("h2",null,"Import from Spotify",-1)),Se={class:"spotify-playlists"},Pe=E({__name:"Onboarding",setup(e){const s=g([]),u=g(!1),c=g(null);T(),R().then(i=>{u.value=i}),fetch("/api/spotify/playlists").then(i=>i.json()).then(i=>{s.value=i});const t={fields:[{name:"name",label:"Name",placeholder:"Playlist name",icon:"title",type:"text",required:!0},{name:"description",label:"Description",placeholder:"Playlist description",icon:"description",type:"text",required:!1}],submit:{label:"Create",action:async()=>{const i=c.value.toObject();await V(i.name,i.description)}}};return(i,w)=>(o(),a("div",pe,[me,ye,n("div",fe,[l(P,{class:"p-4"},{default:r(()=>[ve,l(L,{ref_key:"createForm",ref:c,options:t.fields},null,8,["options"]),n("div",ke,[l(J,{onClick:w[0]||(w[0]=m=>t.submit.action()),icon:"add",label:t.submit.label},null,8,["label"])])]),_:1}),s.value.length?(o(),d(P,{key:0,class:"p-4"},{default:r(()=>[n("div",ge,[l($(G),{class:"spotify mr-4"}),be]),n("div",Se,[(o(!0),a(h,null,p(s.value,(m,D)=>(o(),d(M,{key:D,cover:m.cover,description:m.description,title:m.name,id:m.id,spotify:!0,href:`https://open.spotify.com/playlist/${m.id}`},null,8,["cover","description","title","id","href"]))),128))])]),_:1})):_("",!0)])]))}});const $e=v(Pe,[["__scopeId","data-v-19a9c7d9"]]),Ve={__name:"index",setup(e){const s=I();return(u,c)=>$(s).notEmpty?(o(),d(he,{key:0})):(o(),d($e,{key:1}))}};export{Ve as default}; diff --git a/src/ui/dist/assets/index-7819f3fe.js.gz b/src/ui/dist/assets/index-7819f3fe.js.gz new file mode 100644 index 000000000..811778963 Binary files /dev/null and b/src/ui/dist/assets/index-7819f3fe.js.gz differ diff --git a/src/ui/dist/assets/index-797b1c20.js b/src/ui/dist/assets/index-797b1c20.js deleted file mode 100644 index 1d2e627a0..000000000 --- a/src/ui/dist/assets/index-797b1c20.js +++ /dev/null @@ -1 +0,0 @@ -import{n as D,o as v,c as x,a,t as k,aA as P,_ as $,q as w,bs as O,d as C,by as J,bl as j,A as N,c2 as F,c3 as M,g as s,w as _,C as g,b as q,u as r,F as z,i as H,f as I,bP as T,c4 as K,l as L,m as R}from"./index-e23b36b9.js";import{I as y}from"./IconButton-d95cc9cd.js";import{D as B}from"./Dropdown-b028fe8e.js";import{G as Q}from"./gistClient-9c650d59.js";const X={class:"material-symbols-rounded ms-wght-300 cursor-pointer"},Y={class:"checkbox__label"},Z={class:"checkbox__label__title"},ee={class:"checkbox__label__sublabel italic"},le=D({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},sublabel:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(i,{emit:d}){const n=i,p=m=>d("update:modelValue",m),c=()=>{n.disabled||p(!n.modelValue)};return(m,l)=>(v(),x("div",{class:P([{"opacity-50":i.disabled},"checkbox"]),onClick:c},[a("span",X,k(i.modelValue?"check_box":"check_box_outline_blank"),1),a("div",Y,[a("div",Z,k(i.label),1),a("div",ee,k(i.sublabel),1)])],2))}});const V=$(le,[["__scopeId","data-v-982c4110"]]);const te={key:0,class:"material-symbols-rounded"},ae=["disabled","placeholder","type"],se={__name:"PasswordInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,disabled:Boolean},emits:["update:modelValue","change","submit"],setup(i,{emit:d}){const n=i,p=w(n.modelValue);O(()=>n.modelValue,h=>{p.value=h});const c=()=>{d("update:modelValue",p.value),d("change",p.value)},m=h=>{h.key==="Enter"&&d("submit",p)},l=w(!1);return(h,f)=>(v(),x("div",{class:P([{disabled:i.disabled},"text-input-with-icon rounded-3xl flex items-center px-4"])},[i.icon?(v(),x("span",te,k(i.icon),1)):C("",!0),J(a("input",{"onUpdate:modelValue":f[0]||(f[0]=S=>p.value=S),disabled:i.disabled,placeholder:i.placeholder,type:l.value?"text":"password",onInput:c,onKeyup:m},null,40,ae),[[j,p.value]]),a("span",{class:"material-symbols-rounded cursor-pointer",onClick:f[1]||(f[1]=S=>l.value=!l.value)},k(l.value?"visibility":"visibility_off"),1)],2))}},A=$(se,[["__scopeId","data-v-5e026540"]]);const oe={name:"Theme",props:{name:String},methods:{selected(){return window.getCurrentTheme()==this.name},select(){window.setTheme(this.name),this.$emit("selected")}}},ne=["src"];function ie(i,d,n,p,c,m){return v(),x("div",{onClick:d[0]||(d[0]=(...l)=>m.select&&m.select(...l)),class:"wrapper"},[a("p",{class:P(["mb-4",{selected:m.selected()}])},k(n.name),3),a("img",{src:`/assets/img/themes/${this.name}.svg`,class:P({selected:m.selected()})},null,10,ne)])}const de=$(oe,[["render",ie],["__scopeId","data-v-5dea6f6a"]]),u=i=>(L("data-v-519432f4"),i=i(),R(),i),ue={class:"p-[10px] preferences"},re=u(()=>a("summary",{class:"cursor-pointer"},"How to",-1)),ce=u(()=>a("p",null,[q("1) Head over to the "),a("a",{href:"https://developer.spotify.com/dashboard/applications",target:"_blank"},"spotify developer dashboard")],-1)),pe=u(()=>a("p",null,"2) Create An App",-1)),me=u(()=>a("p",null,"3) Enter any name and any description",-1)),be=u(()=>a("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),ve=u(()=>a("hr",{class:"my-4"},null,-1)),he=u(()=>a("h5",null,"Client ID: ",-1)),fe=u(()=>a("h5",{class:"mt-4"},"Client Secret: ",-1)),_e=u(()=>a("h2",{class:"mt-[10px]"},"Player",-1)),ge=u(()=>a("h2",{class:"mt-[10px]"},"Theme",-1)),ye={class:"themes"},Ve=u(()=>a("h2",{class:"mt-[10px]"},"Sidebar",-1)),we=u(()=>a("h2",{class:"mt-[10px]"},"Cache Behaviour",-1)),ke=u(()=>a("h2",{class:"mt-[10px]"},"Github",-1)),Ce=u(()=>a("h5",{class:"mt-4"},"PAT: ",-1)),xe=u(()=>a("h5",{class:"mt-4"},"Gist ID: ",-1)),Se=u(()=>a("h2",{class:"mt-[10px]"},"My Data",-1)),Ie=D({__name:"index",setup(i){const d=w(!1),n=w({id:"",secret:""}),p=N(()=>d.value?Object.values(n.value).some(o=>o==="")?!1:n.value.id!==c.value.id||n.value.secret!==c.value.secret||d.value!==c.value.enabled:c.value.enabled),c=w({id:"",secret:"",enabled:!1});fetch("/api/config/spotify").then(async o=>{let e={id:"",secret:"",enabled:!1};if(o.status==200)e=await o.json();else if([204,401].includes(o.status))e={id:"restricted",secret:"restricted",enabled:!1};else throw new Error("Failed to fetch spotify config");c.value=e,c.value.enabled=![e.id,e.secret].includes("restricted"),d.value=c.value.enabled,n.value.id=e.id.replace("restricted",""),n.value.secret=e.secret.replace("restricted","")});const m=async()=>{if(!p.value)return;let o=n.value.id,e=n.value.secret;d.value||(e=o="restricted"),(await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:o,secret:e})})).ok&&(c.value={id:o,secret:e,enabled:d.value})},l=w(null),h=w("");F().then(o=>{l.value=o,h.value=JSON.stringify(o)});const f=N(()=>l.value?JSON.stringify(l.value)!==h.value:!1),S=async()=>{f.value&&(await K(l.value),h.value=JSON.stringify(l.value))},b=M(),E=["dynamic","light","dark"],W=()=>{localStorage.clear(),sessionStorage.clear(),window.location.reload()},U=`http://${window.location.host}/api/spotify/callback`;return O(()=>{var o,e;return(e=(o=l.value)==null?void 0:o.github)==null?void 0:e.githubPat},async()=>{var o,e;(e=(o=l.value)==null?void 0:o.github)!=null&&e.githubPat&&(l.value.github.gistId||(l.value.github.gistId=await Q.search(l.value.github.githubPat),console.log(l.value.github.gistId)))}),(o,e)=>(v(),x("div",ue,[s(g,{"aria-description":"spotify",class:"p-4 pt-0"},{default:_(()=>[s(V,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=t=>d.value=t),class:"h2 mb-2",label:"Spotify"},null,8,["modelValue"]),a("details",null,[re,ce,pe,me,a("p",null,[q("4) Edit the settings: set the redirect url to "),a("a",{href:U},k(U))]),be]),ve,he,s(A,{modelValue:n.value.id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.value.id=t),disabled:!d.value,icon:"token"},null,8,["modelValue","disabled"]),fe,s(A,{modelValue:n.value.secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.value.secret=t),disabled:!d.value,icon:"lock"},null,8,["modelValue","disabled"]),s(y,{disabled:!r(p),class:"ml-auto mt-4",icon:"save",label:"Save",onClick:m},null,8,["disabled"])]),_:1}),s(g,{"aria-description":"player",class:"p-4 pt-0"},{default:_(()=>[_e,s(V,{modelValue:r(b).player.pictureInPicture,"onUpdate:modelValue":e[3]||(e[3]=t=>r(b).player.pictureInPicture=t),label:"Support Picture in Picture",sublabel:"this will slightly reduce performance"},null,8,["modelValue"]),s(B,{modelValue:r(b).player.type,"onUpdate:modelValue":e[4]||(e[4]=t=>r(b).player.type=t),options:[{value:"web",label:"Native player",icon:"horizontal_rule"},{value:"web/wave",label:"Wave player",icon:"graphic_eq"}],icon:"music_note"},null,8,["modelValue"])]),_:1}),s(g,{"aria-description":"theme",class:"p-4 pt-0"},{default:_(()=>[ge,s(V,{modelValue:r(b).ambient,"onUpdate:modelValue":e[5]||(e[5]=t=>r(b).ambient=t),disabled:!r(b).themeSupportsAmbient,label:"Ambient"},null,8,["modelValue","disabled"]),a("div",ye,[(v(),x(z,null,H(E,(t,G)=>s(de,{key:G,name:t},null,8,["name"])),64))])]),_:1}),s(g,{"aria-description":"sidebar",class:"p-4 pt-0"},{default:_(()=>[Ve,s(V,{modelValue:r(b).sidebar.news,"onUpdate:modelValue":e[6]||(e[6]=t=>r(b).sidebar.news=t),label:"Show 'News' Tab"},null,8,["modelValue"]),s(V,{modelValue:r(b).sidebar.sports,"onUpdate:modelValue":e[7]||(e[7]=t=>r(b).sidebar.sports=t),label:"Show 'Sports' Tab"},null,8,["modelValue"])]),_:1}),s(g,{"aria-description":"cache behaviour",class:"p-4 pt-0"},{default:_(()=>[we,l.value?(v(),I(V,{key:0,modelValue:l.value.cache.preserve,"onUpdate:modelValue":e[8]||(e[8]=t=>l.value.cache.preserve=t),label:"Preserve cache"},null,8,["modelValue"])):C("",!0),l.value?(v(),I(V,{key:1,modelValue:l.value.cache.preserveInSession,"onUpdate:modelValue":e[9]||(e[9]=t=>l.value.cache.preserveInSession=t),disabled:l.value.cache.preserve,label:"Preserve cache in session"},null,8,["modelValue","disabled"])):C("",!0),l.value?(v(),I(B,{key:2,modelValue:l.value.cache.strategy,"onUpdate:modelValue":e[10]||(e[10]=t=>l.value.cache.strategy=t),options:[{value:"all",label:"All Songs"},{value:"playlist",label:"Current Playlist"},{value:"currentNext",label:"Current + Next Song "},{value:"current",label:"Current Song Only"}],icon:"cached"},null,8,["modelValue"])):C("",!0),s(y,{disabled:!l.value||!r(f),class:"ml-auto mt-4",icon:"save",label:"Save",onClick:S},null,8,["disabled"])]),_:1}),s(g,{"aria-description":"github settings",class:"p-4 pt-0"},{default:_(()=>[ke,Ce,l.value?(v(),I(T,{key:0,modelValue:l.value.github.githubPat,"onUpdate:modelValue":e[11]||(e[11]=t=>l.value.github.githubPat=t),icon:"lock"},null,8,["modelValue"])):C("",!0),xe,l.value?(v(),I(T,{key:1,modelValue:l.value.github.gistId,"onUpdate:modelValue":e[12]||(e[12]=t=>l.value.github.gistId=t),icon:"numbers"},null,8,["modelValue"])):C("",!0),s(y,{disabled:!l.value||!r(f),class:"ml-auto mt-4",icon:"save",label:"Save",onClick:S},null,8,["disabled"])]),_:1}),s(g,{"aria-description":"my data",class:"p-4 pt-0"},{default:_(()=>[Se,s(y,{class:"mx-auto mt-4",icon:"backup",label:"Back up database",onClick:e[13]||(e[13]=t=>o.$router.push("/export"))}),s(y,{class:"mx-auto mt-4",icon:"cloud_download",label:"Import database",onClick:e[14]||(e[14]=t=>o.$router.push("/import"))}),s(y,{class:"mx-auto mt-4",icon:"delete",label:"Clean browser settings",onClick:W}),s(y,{class:"mx-auto mt-4",icon:"folder",label:"Manage files",onClick:e[15]||(e[15]=t=>o.$router.push("/preferences/my-data"))})]),_:1})]))}});const Be=$(Ie,[["__scopeId","data-v-519432f4"]]);export{Be as default}; diff --git a/src/ui/dist/assets/index-797b1c20.js.gz b/src/ui/dist/assets/index-797b1c20.js.gz deleted file mode 100644 index c6a926bed..000000000 Binary files a/src/ui/dist/assets/index-797b1c20.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-c785df37.css b/src/ui/dist/assets/index-8e1d0104.css similarity index 74% rename from src/ui/dist/assets/index-c785df37.css rename to src/ui/dist/assets/index-8e1d0104.css index 726f6827f..bbc032a11 100644 --- a/src/ui/dist/assets/index-c785df37.css +++ b/src/ui/dist/assets/index-8e1d0104.css @@ -1 +1 @@ -.padding-20[data-v-05c502aa]{padding-left:20px;padding-right:20px}.darkback[data-v-05c502aa]{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);padding-top:10px;padding-bottom:10px}.fixedHeader[data-v-05c502aa]{margin-right:var(--w-scrollbar)}.upperWrapper[data-v-05c502aa]{padding:10px;display:flex;flex-direction:row;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px)}@media screen and (max-width: 950px){.upperWrapper[data-v-05c502aa]{justify-content:center}}#loadPlaylist[data-v-05c502aa]{font-size:2.5em;line-height:35px;width:42px;vertical-align:middle}#loadPlaylist[data-v-05c502aa]:hover{cursor:pointer;font-size:2.6em}h3[data-v-05c502aa]{font-size:1.4em;display:inline;margin:0 0 0 10px}@media screen and (max-width: 950px){h3[data-v-05c502aa]{font-size:1em}}.fixedPlaylistHeader[data-v-05c502aa]{position:fixed;top:var(--h-header);left:calc(var(--w-sidebar) + 40px);right:-3px;padding-right:3px;z-index:100;overflow:clip;border-radius:0 0 20px 20px}@media screen and (max-width: 950px){.fixedPlaylistHeader[data-v-05c502aa]{left:0;height:45px}}.dropdown[data-v-65a2fc08]{display:inline-block;width:100%}.dropdown__selected[data-v-65a2fc08]{background:var(--bg-base-lt);border-radius:1000vmax;color:var(--font-colour);padding:0 10px;width:auto;height:46px;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:space-between;overflow-x:hidden;border:var(--border-container)}.dropdown__selected.expanded[data-v-65a2fc08]{border-radius:1em 1em 0 0}.dropdown__selected[data-v-65a2fc08]:focus-within,.dropdown__selected[data-v-65a2fc08]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-65a2fc08]{position:absolute;z-index:999;max-height:20rem;max-width:100%;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container);top:0;left:0}.dropdown__options .dropdown__option[data-v-65a2fc08]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-65a2fc08]:hover{background:var(--bg-hover)}.dropdown .selected-label[data-v-65a2fc08]{display:flex;flex-direction:row;align-items:center;text-overflow:ellipsis;white-space:nowrap;gap:.5rem;background:var(--bg-base-dk);border-radius:1000vmax;padding:4px .5rem}.dropdown .selected-labels[data-v-65a2fc08]{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap;overflow-x:auto}.filters[data-v-fe8f20c2]{background:var(--bg-base-dk);display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;padding:.5rem;border-radius:1000em;align-items:center;border:var(--border-container)}.filters .multiselect[data-v-fe8f20c2]{overflow-x:hidden}.features div.w-full[data-v-fe8f20c2]{min-width:150px}.features div.w-1\/2[data-v-fe8f20c2]{min-width:100px}.track__data .upper[data-v-fe8f20c2]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.track__data .upper .cover[data-v-fe8f20c2]{min-width:384px;aspect-ratio:1/1}@media (max-width: 1000px){.track__data .upper[data-v-fe8f20c2]{display:flex;flex-direction:column;align-items:center}.track__data .upper .cover[data-v-fe8f20c2]{min-width:20vw}.track__data .upper .track__info__details[data-v-fe8f20c2]{overflow:auto;width:100%}}.wrap[data-v-fe8f20c2]{grid-template-columns:1fr;display:grid;align-items:start}#loadPlaylist[data-v-fe8f20c2],#addToPlaylist[data-v-fe8f20c2]{font-size:3rem;border-radius:1000vmax;width:70px;line-height:70px;text-align:center;vertical-align:middle;cursor:pointer;margin-bottom:1.25rem;transition:all .2s ease-in-out}#loadPlaylist[data-v-fe8f20c2]:hover,#addToPlaylist[data-v-fe8f20c2]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary);transition:none}.card p[data-v-fe8f20c2],.card h2[data-v-fe8f20c2]{text-align:center}.playlist[data-v-fe8f20c2]{height:100%}.playlist h2.error[data-v-fe8f20c2]{color:var(--fail)} +.padding-20[data-v-05c502aa]{padding-left:20px;padding-right:20px}.darkback[data-v-05c502aa]{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);padding-top:10px;padding-bottom:10px}.fixedHeader[data-v-05c502aa]{margin-right:var(--w-scrollbar)}.upperWrapper[data-v-05c502aa]{padding:10px;display:flex;flex-direction:row;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px)}@media screen and (max-width: 950px){.upperWrapper[data-v-05c502aa]{justify-content:center}}#loadPlaylist[data-v-05c502aa]{font-size:2.5em;line-height:35px;width:42px;vertical-align:middle}#loadPlaylist[data-v-05c502aa]:hover{cursor:pointer;font-size:2.6em}h3[data-v-05c502aa]{font-size:1.4em;display:inline;margin:0 0 0 10px}@media screen and (max-width: 950px){h3[data-v-05c502aa]{font-size:1em}}.fixedPlaylistHeader[data-v-05c502aa]{position:fixed;top:var(--h-header);left:calc(var(--w-sidebar) + 40px);right:-3px;padding-right:3px;z-index:100;overflow:clip;border-radius:0 0 20px 20px}@media screen and (max-width: 950px){.fixedPlaylistHeader[data-v-05c502aa]{left:0;height:45px}}.dropdown[data-v-65a2fc08]{display:inline-block;width:100%}.dropdown__selected[data-v-65a2fc08]{background:var(--bg-base-lt);border-radius:1000vmax;color:var(--font-colour);padding:0 10px;width:auto;height:46px;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:space-between;overflow-x:hidden;border:var(--border-container)}.dropdown__selected.expanded[data-v-65a2fc08]{border-radius:1em 1em 0 0}.dropdown__selected[data-v-65a2fc08]:focus-within,.dropdown__selected[data-v-65a2fc08]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-65a2fc08]{position:absolute;z-index:999;max-height:20rem;max-width:100%;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container);top:0;left:0}.dropdown__options .dropdown__option[data-v-65a2fc08]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-65a2fc08]:hover{background:var(--bg-hover)}.dropdown .selected-label[data-v-65a2fc08]{display:flex;flex-direction:row;align-items:center;text-overflow:ellipsis;white-space:nowrap;gap:.5rem;background:var(--bg-base-dk);border-radius:1000vmax;padding:4px .5rem}.dropdown .selected-labels[data-v-65a2fc08]{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap;overflow-x:auto}.filters[data-v-e4e5baa2]{background:var(--bg-base-dk);display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;padding:.5rem;border-radius:1000em;align-items:center;border:var(--border-container)}.filters .multiselect[data-v-e4e5baa2]{overflow-x:hidden}.features div.w-full[data-v-e4e5baa2]{min-width:150px}.features div.w-1\/2[data-v-e4e5baa2]{min-width:100px}.track__data .upper[data-v-e4e5baa2]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.track__data .upper .cover[data-v-e4e5baa2]{min-width:384px;aspect-ratio:1/1}@media (max-width: 1000px){.track__data .upper[data-v-e4e5baa2]{display:flex;flex-direction:column;align-items:center}.track__data .upper .cover[data-v-e4e5baa2]{min-width:20vw}.track__data .upper .track__info__details[data-v-e4e5baa2]{overflow:auto;width:100%}}.wrap[data-v-e4e5baa2]{grid-template-columns:1fr;display:grid;align-items:start}#loadPlaylist[data-v-e4e5baa2],#addToPlaylist[data-v-e4e5baa2]{font-size:3rem;border-radius:1000vmax;width:70px;line-height:70px;text-align:center;vertical-align:middle;cursor:pointer;margin-bottom:1.25rem;transition:all .2s ease-in-out}#loadPlaylist[data-v-e4e5baa2]:hover,#addToPlaylist[data-v-e4e5baa2]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary);transition:none}.card p[data-v-e4e5baa2],.card h2[data-v-e4e5baa2]{text-align:center}.playlist[data-v-e4e5baa2]{height:100%}.playlist h2.error[data-v-e4e5baa2]{color:var(--fail)} diff --git a/src/ui/dist/assets/index-8e1d0104.css.gz b/src/ui/dist/assets/index-8e1d0104.css.gz new file mode 100644 index 000000000..dc7d13523 Binary files /dev/null and b/src/ui/dist/assets/index-8e1d0104.css.gz differ diff --git a/src/ui/dist/assets/index-6c60d543.js b/src/ui/dist/assets/index-91bfa428.js similarity index 89% rename from src/ui/dist/assets/index-6c60d543.js rename to src/ui/dist/assets/index-91bfa428.js index 6191cc1eb..2119164c2 100644 --- a/src/ui/dist/assets/index-6c60d543.js +++ b/src/ui/dist/assets/index-91bfa428.js @@ -1 +1 @@ -import{n as W,B as $,c as g,g as F,u as d,bO as G,t as x,f as A,d as C,a as I,F as j,i as H,o as f,aA as B,b as K,bB as O,L as N,_ as q}from"./index-e23b36b9.js";import{I as V}from"./IconButton-d95cc9cd.js";var S={d:(a,t)=>{for(var e in t)S.o(t,e)&&!S.o(a,e)&&Object.defineProperty(a,e,{enumerable:!0,get:t[e]})},o:(a,t)=>Object.prototype.hasOwnProperty.call(a,t)},y={};function Y(a){let t=[],e=0;for(let o=0;oi?t[e++]=i:(2048>i?t[e++]=i>>6|192:((64512&i)==55296&&o+1>18|240,t[e++]=i>>12&63|128):t[e++]=i>>12|224,t[e++]=i>>6&63|128),t[e++]=63&i|128)}let n=0;for(e=0;en&&(n=2147483648+(2147483647&n)),n%=1e6,n.toString()+"."+n.toString()}S.d(y,{ZP:()=>Q,j1:()=>L,Gb:()=>X,e6:()=>P,XU:()=>J,Iu:()=>M});const z=function(a,t){for(let e=0;e>>n:a<o.append("dt",i)),`https://translate.google.${e.tld}/translate_a/single?${o}`}const D={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa",zh:"Chinese Simplified","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",or:"Odia (Oriya)",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",ur:"Urdu",ug:"Uyghur",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"},X=a=>Boolean(D[a]);function P(a,t=!1){const e={text:"",pronunciation:"",from:{language:{didYouMean:!1,iso:""},text:{autoCorrected:!1,value:"",didYouMean:!1}}};if(a[0].forEach(n=>{n[0]?e.text+=n[0]:n[2]&&(e.pronunciation+=n[2])}),a[2]===a[8][0][0]?e.from.language.iso=a[2]:(e.from.language.didYouMean=!0,e.from.language.iso=a[8][0][0]),a[7]&&a[7][0]){let n=a[7][0];n=n.replace(//g,"["),n=n.replace(/<\/i><\/b>/g,"]"),e.from.text.value=n,a[7][5]===!0?e.from.text.autoCorrected=!0:e.from.text.didYouMean=!0}return t&&(e.raw=a),e}var Z=function(a,t,e,n){return new(e||(e=Promise))(function(o,i){function w(u){try{p(n.next(u))}catch(r){i(r)}}function v(u){try{p(n.throw(u))}catch(r){i(r)}}function p(u){var r;u.done?o(u.value):(r=u.value,r instanceof e?r:new e(function(s){s(r)})).then(w,v)}p((n=n.apply(a,t||[])).next())})};let U="";const J=a=>(U=a,M);function M(a,t={}){return Z(this,void 0,void 0,function*(){const e=L(a,t),n=yield fetch(`${U}${e}`);if(!n.ok)throw new Error("Request failed");return P(yield n.json(),t.raw)})}const Q=M;y.ZP;y.j1;y.Gb;y.e6;var ee=y.XU;y.Iu;const ne={key:0,class:"fill-page"},ae={key:0},te={class:"w-full flex flex-row justify-end"},re={key:1,class:"lyrics"},se=["onClick"],ie=["onClick"],oe=W({__name:"index",setup(a){const t=ee("http://localhost:1234/api/cors/"),e=$(),n=r=>{var m,k;if(!((m=e.lyrics)!=null&&m.lyrics))return!1;const s=e.progress*1e3,l=e.lyrics.lyrics[r],c=parseInt(l.startTimeMs),h=parseInt(l.endTimeMs)?parseInt(l.endTimeMs):parseInt((k=e.lyrics.lyrics[r+1])==null?void 0:k.startTimeMs);if(s>=c&&s=h?"past":"future"},o=r=>{e.lyrics.lyrics[r].originalWorlds?w(r):i(r)},i=async r=>{const s=e.lyrics.lyrics[r];if(s.originalWorlds)return;const l=await t(s.words,{to:"en"});s.originalWorlds=s.words,s.words=l.text},w=r=>{const s=e.lyrics.lyrics[r];s.originalWorlds&&(s.words=s.originalWorlds,s.originalWorlds=null)},v=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{i(c)})},p=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{w(c)})},u=()=>{var s,l,c,h;const r=(l=(s=e.lyrics)==null?void 0:s.lyrics)==null?void 0:l.filter(m=>m.originalWorlds).length;return r&&r>((h=(c=e.lyrics)==null?void 0:c.lyrics)==null?void 0:h.length)/2};return(r,s)=>{var l,c,h,m,k,b;return f(),g(j,null,[F(G,{src:d(e).song.cover},null,8,["src"]),!d(e).lyrics||(l=d(e).lyrics)!=null&&l.error?(f(),g("div",ne,[(c=d(e).lyrics)!=null&&c.error?(f(),g("h1",ae,x((h=d(e).lyrics)==null?void 0:h.error),1)):(f(),A(N,{key:1}))])):C("",!0),I("div",te,[(m=d(e).lyrics)!=null&&m.lyrics?(f(),A(V,{key:0,icon:"translate",label:u()?"Show original":"Translate all",class:"mr-2",onClick:s[0]||(s[0]=_=>u()?p():v())},null,8,["label"])):C("",!0)]),(k=d(e).lyrics)!=null&&k.lyrics?(f(),g("div",re,[(f(!0),g(j,null,H((b=d(e).lyrics)==null?void 0:b.lyrics,(_,T)=>(f(),g("div",{class:B(["line",n(T)]),onClick:E=>d(e).seek(parseInt(_.startTimeMs)/1e3)},[K(x(_.words)+" ",1),I("span",{class:B(["material-symbols-rounded translate",{translated:_.originalWorlds}]),onClick:O(E=>o(T),["stop"])}," translate ",10,ie)],10,se))),256))])):C("",!0)],64)}}});const ue=q(oe,[["__scopeId","data-v-56ae1f29"]]);export{ue as default}; +import{n as G,B as H,c as g,g as W,u as d,bT as $,t as x,f as A,d as C,a as I,F as j,i as F,o as f,aH as B,b as K,bG as N,L as O,_ as q}from"./index-fe2c9584.js";import{I as V}from"./IconButton-f37a9ebc.js";var S={d:(a,t)=>{for(var e in t)S.o(t,e)&&!S.o(a,e)&&Object.defineProperty(a,e,{enumerable:!0,get:t[e]})},o:(a,t)=>Object.prototype.hasOwnProperty.call(a,t)},y={};function Y(a){let t=[],e=0;for(let o=0;oi?t[e++]=i:(2048>i?t[e++]=i>>6|192:((64512&i)==55296&&o+1>18|240,t[e++]=i>>12&63|128):t[e++]=i>>12|224,t[e++]=i>>6&63|128),t[e++]=63&i|128)}let n=0;for(e=0;en&&(n=2147483648+(2147483647&n)),n%=1e6,n.toString()+"."+n.toString()}S.d(y,{ZP:()=>Q,j1:()=>L,Gb:()=>X,e6:()=>P,XU:()=>J,Iu:()=>M});const z=function(a,t){for(let e=0;e>>n:a<o.append("dt",i)),`https://translate.google.${e.tld}/translate_a/single?${o}`}const D={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa",zh:"Chinese Simplified","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",or:"Odia (Oriya)",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",ur:"Urdu",ug:"Uyghur",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"},X=a=>Boolean(D[a]);function P(a,t=!1){const e={text:"",pronunciation:"",from:{language:{didYouMean:!1,iso:""},text:{autoCorrected:!1,value:"",didYouMean:!1}}};if(a[0].forEach(n=>{n[0]?e.text+=n[0]:n[2]&&(e.pronunciation+=n[2])}),a[2]===a[8][0][0]?e.from.language.iso=a[2]:(e.from.language.didYouMean=!0,e.from.language.iso=a[8][0][0]),a[7]&&a[7][0]){let n=a[7][0];n=n.replace(//g,"["),n=n.replace(/<\/i><\/b>/g,"]"),e.from.text.value=n,a[7][5]===!0?e.from.text.autoCorrected=!0:e.from.text.didYouMean=!0}return t&&(e.raw=a),e}var Z=function(a,t,e,n){return new(e||(e=Promise))(function(o,i){function w(u){try{p(n.next(u))}catch(r){i(r)}}function v(u){try{p(n.throw(u))}catch(r){i(r)}}function p(u){var r;u.done?o(u.value):(r=u.value,r instanceof e?r:new e(function(s){s(r)})).then(w,v)}p((n=n.apply(a,t||[])).next())})};let U="";const J=a=>(U=a,M);function M(a,t={}){return Z(this,void 0,void 0,function*(){const e=L(a,t),n=yield fetch(`${U}${e}`);if(!n.ok)throw new Error("Request failed");return P(yield n.json(),t.raw)})}const Q=M;y.ZP;y.j1;y.Gb;y.e6;var ee=y.XU;y.Iu;const ne={key:0,class:"fill-page"},ae={key:0},te={class:"w-full flex flex-row justify-end"},re={key:1,class:"lyrics"},se=["onClick"],ie=["onClick"],oe=G({__name:"index",setup(a){const t=ee("http://localhost:1234/api/cors/"),e=H(),n=r=>{var m,k;if(!((m=e.lyrics)!=null&&m.lyrics))return!1;const s=e.progress*1e3,l=e.lyrics.lyrics[r],c=parseInt(l.startTimeMs),h=parseInt(l.endTimeMs)?parseInt(l.endTimeMs):parseInt((k=e.lyrics.lyrics[r+1])==null?void 0:k.startTimeMs);if(s>=c&&s=h?"past":"future"},o=r=>{e.lyrics.lyrics[r].originalWorlds?w(r):i(r)},i=async r=>{const s=e.lyrics.lyrics[r];if(s.originalWorlds)return;const l=await t(s.words,{to:"en"});s.originalWorlds=s.words,s.words=l.text},w=r=>{const s=e.lyrics.lyrics[r];s.originalWorlds&&(s.words=s.originalWorlds,s.originalWorlds=null)},v=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{i(c)})},p=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{w(c)})},u=()=>{var s,l,c,h;const r=(l=(s=e.lyrics)==null?void 0:s.lyrics)==null?void 0:l.filter(m=>m.originalWorlds).length;return r&&r>((h=(c=e.lyrics)==null?void 0:c.lyrics)==null?void 0:h.length)/2};return(r,s)=>{var l,c,h,m,k,b;return f(),g(j,null,[W($,{src:d(e).song.cover},null,8,["src"]),!d(e).lyrics||(l=d(e).lyrics)!=null&&l.error?(f(),g("div",ne,[(c=d(e).lyrics)!=null&&c.error?(f(),g("h1",ae,x((h=d(e).lyrics)==null?void 0:h.error),1)):(f(),A(O,{key:1}))])):C("",!0),I("div",te,[(m=d(e).lyrics)!=null&&m.lyrics?(f(),A(V,{key:0,icon:"translate",label:u()?"Show original":"Translate all",class:"mr-2",onClick:s[0]||(s[0]=_=>u()?p():v())},null,8,["label"])):C("",!0)]),(k=d(e).lyrics)!=null&&k.lyrics?(f(),g("div",re,[(f(!0),g(j,null,F((b=d(e).lyrics)==null?void 0:b.lyrics,(_,T)=>(f(),g("div",{class:B(["line",n(T)]),onClick:E=>d(e).seek(parseInt(_.startTimeMs)/1e3)},[K(x(_.words)+" ",1),I("span",{class:B(["material-symbols-rounded translate",{translated:_.originalWorlds}]),onClick:N(E=>o(T),["stop"])}," translate ",10,ie)],10,se))),256))])):C("",!0)],64)}}});const ue=q(oe,[["__scopeId","data-v-56ae1f29"]]);export{ue as default}; diff --git a/src/ui/dist/assets/index-91bfa428.js.gz b/src/ui/dist/assets/index-91bfa428.js.gz new file mode 100644 index 000000000..27df4f510 Binary files /dev/null and b/src/ui/dist/assets/index-91bfa428.js.gz differ diff --git a/src/ui/dist/assets/index-b54fd673.js b/src/ui/dist/assets/index-b54fd673.js deleted file mode 100644 index c13ca2db2..000000000 --- a/src/ui/dist/assets/index-b54fd673.js +++ /dev/null @@ -1 +0,0 @@ -import{T as r,_ as i,F as l}from"./index.vue_vue_type_script_setup_true_lang-907870b4.js";import{P as n}from"./PlaylistEntry-3951f4a8.js";import{P as d}from"./PlaylistHeader-ecbb25e6.js";import{_ as p,B as c,p as _,e as y,o as m,f as u}from"./index-e23b36b9.js";const f={components:{Template:r,Index:i,PlaylistEntry:n,FixedPlaylistHeader:l,PlaylistHeader:d},props:{src:{type:String,required:!0},id:{type:Number,required:!0},icon:{type:String,required:!1,default:"favorite"}},data(){return this.updateTracks(),{fixedHeaderHidden:!0,playlist:{},store:c(),selectedSongId:-1}},methods:{parseCover:_,download(e){var t;const a=(t=this.playlist)==null?void 0:t[e];window.open(`/api/tracks/${a.id}/download`)},updateTracks(){fetch(this.src).then(e=>e.json()).then(e=>{this.playlist=e})},loadPlaylist(){fetch("/api/player/load",{method:"POST",body:JSON.stringify({type:"collection"})})}}};function h(e,a,t,x,s,v){const o=y("Template");return m(),u(o,{"cover-icon":t.icon,playlist:s.playlist,"playlist-id":t.id},null,8,["cover-icon","playlist","playlist-id"])}const k=p(f,[["render",h],["__scopeId","data-v-60e33961"]]);export{k as I}; diff --git a/src/ui/dist/assets/index-b54fd673.js.gz b/src/ui/dist/assets/index-b54fd673.js.gz deleted file mode 100644 index 72ba10565..000000000 Binary files a/src/ui/dist/assets/index-b54fd673.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-b9d19734.js b/src/ui/dist/assets/index-b9d19734.js deleted file mode 100644 index b46d8da39..000000000 --- a/src/ui/dist/assets/index-b9d19734.js +++ /dev/null @@ -1 +0,0 @@ -import{n as q,c9 as N,q as x,c as n,a as e,F as u,i as S,u as p,g as f,w as y,C as h,bK as B,o as s,f as C,b as d,t as a,h as F,d as r,ca as D,y as T,L as V,aA as $,bM as L,l as O,m as j,_ as z}from"./index-e23b36b9.js";import{I as A}from"./IconButton-d95cc9cd.js";import{F as M}from"./Form-fb09f2bd.js";import"./Dropdown-b028fe8e.js";const t=v=>(O("data-v-0651bc0d"),v=v(),j(),v),E={class:"downloader py-2 pr-2 grid gap-4 grid-cols-2 items-start"},K={class:"downloads"},P={class:"main"},Y={class:"m-0 mb-4"},G={class:"status"},H={class:"flex flex-col"},J={key:0,class:"info"},Q=t(()=>e("span",{class:"material-symbols-rounded"},"cloud",-1)),R={key:1,class:"info"},U=t(()=>e("span",{class:"material-symbols-rounded"},"file_download",-1)),W={class:"info"},X=t(()=>e("span",{class:"material-symbols-rounded"},"percent",-1)),Z={key:2,class:"info"},oo=t(()=>e("span",{class:"material-symbols-rounded"},"speed",-1)),eo={key:3,class:"info"},so=t(()=>e("span",{class:"material-symbols-rounded"},"timer",-1)),no=t(()=>e("div",{class:"error"},[e("span",null,"This song could not be downloaded:"),e("ul",{class:"block list-disc ml-8"},[e("li",null," verify that the source link is working "),e("li",null," try again later ")])],-1)),ao={key:0,class:"info"},lo=t(()=>e("span",{class:"material-symbols-rounded"},"link",-1)),ro=["href"],to={class:"wrap-progress"},io=["aria-valuenow"],co={key:1,class:"material-symbols-rounded downloading"},uo=["onClick"],_o=["onClick"],mo=["onClick"],po={key:1,class:"col-span-2 flex flex-row justify-center items-center"},fo={class:"new-download"},vo=q({__name:"index",setup(v){const _=N(),g=l=>{L.addYesNo("Are you sure you want to redownload this song?",null,null,()=>{console.log("[downloader] reDownload",l),_.downloadFromDb(l)})},m={title:"",artist:"",album:"",cover:"",source:"",href:""},w=x(null),i=x([{name:"source",type:"text",accept:"audio/mp3",required:!0,onChange:async l=>{const c=await B(l);i.value.find(o=>o.name==="title").value=c.title,i.value.find(o=>o.name==="artist").value=c.artist,i.value.find(o=>o.name==="album").value=c.album,i.value.find(o=>o.name==="cover").value=c.cover,i.value.find(o=>o.name==="source").value=c.source},value:m.source},{name:"title",type:"text",icon:"title",required:!0,value:m.title},{name:"artist",type:"text",icon:"person",required:!0,value:m.artist},{name:"album",type:"text",icon:"album",value:m.album},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:m.cover}]),I=async()=>{const l=w.value.toObject();l.id=new Date().getTime(),console.log("[downloader] requestDownload",l),_.downloadOther(l)};return(l,c)=>(s(),n("div",E,[e("div",K,[(s(!0),n(u,null,S(p(_).states,o=>{var k;return s(),C(h,{key:o.songId,class:$([["song",{downloading:((k=p(_).states[o.songId])==null?void 0:k.status)=="downloading"}],"p-4 card items-center"])},{default:y(()=>[o.status!=="pending"?(s(),n(u,{key:0},[e("main",P,[e("h2",Y,[o.song?(s(),n(u,{key:0},[d(a(o.song.title),1)],64)):(s(),n(u,{key:1},[d(a(o.filename),1)],64))]),e("div",G,[o.song?(s(),C(h,{key:0,class:"info p-4"},{default:y(()=>[f(F,{src:o.song.cover,class:"cover"},null,8,["src"]),e("div",H,[e("span",null,a(o.song.album),1),e("span",null,a(o.song.artist),1)])]),_:2},1024)):r("",!0),o.status!=="error"?(s(),n(u,{key:1},[o.downloaded||o.total?(s(),n("div",J,[Q,d(" "+a(p(D)(o.downloaded))+" / "+a(p(D)(o.total)),1)])):r("",!0),o.chunk?(s(),n("div",R,[U,d(" "+a(o.chunk),1)])):r("",!0),e("div",W,[X,d(" "+a(o.status==="downloading"?o.percent:100)+"% ",1)]),o.speed!=="0"?(s(),n("div",Z,[oo,d(" "+a(o.speed),1)])):r("",!0),o.elapsed!=="0"||o.eta!==0?(s(),n("div",eo,[so,d(" "+a(o.elapsed)+" / "+a(o.eta)+"s ",1)])):r("",!0)],64)):(s(),n(u,{key:2},[no,o.song?(s(),n("div",ao,[lo,e("a",{href:o.song.source,target:"_blank",rel:"noopener noreferrer"},a(o.song.source),9,ro)])):r("",!0)],64))])]),e("aside",null,[e("div",to,[o.status=="downloading"?(s(),n("div",{key:0,class:"progress-bar",role:"progressbar","aria-valuenow":o.percent,"aria-valuemin":"0","aria-valuemax":"100",style:T({"--progress":o.percent+"%"})},null,12,io)):r("",!0),o.status=="downloading"?(s(),n("span",co," south ")):o.status=="finished"?(s(),n("span",{key:2,class:"material-symbols-rounded cursor-pointer finished",onClick:b=>p(_).download(o.songId)}," download_for_offline ",8,uo)):o.status=="downloaded"?(s(),n("span",{key:3,class:"material-symbols-rounded cursor-pointer downloaded",onClick:b=>g(o.songId)}," download_done ",8,_o)):o.status=="error"?(s(),n("span",{key:4,class:"material-symbols-rounded cursor-pointer error",onClick:b=>g(o.songId)}," error ",8,mo)):r("",!0)])])],64)):(s(),n("div",po,[f(V)]))]),_:2},1032,["class"])}),128))]),e("div",fo,[f(h,{class:"custom p-4 flex flex-col"},{default:y(()=>[f(M,{ref_key:"form",ref:w,options:i.value},null,8,["options"]),f(A,{icon:"download_for_offline",label:"Download",class:"w-full mt-8",onClick:I})]),_:1})])]))}});const ko=z(vo,[["__scopeId","data-v-0651bc0d"]]);export{ko as default}; diff --git a/src/ui/dist/assets/index-b9d19734.js.gz b/src/ui/dist/assets/index-b9d19734.js.gz deleted file mode 100644 index f41b3cf09..000000000 Binary files a/src/ui/dist/assets/index-b9d19734.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-4da1bf93.css b/src/ui/dist/assets/index-c49644b0.css similarity index 51% rename from src/ui/dist/assets/index-4da1bf93.css rename to src/ui/dist/assets/index-c49644b0.css index f4957f055..e55946f34 100644 --- a/src/ui/dist/assets/index-4da1bf93.css +++ b/src/ui/dist/assets/index-c49644b0.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined";@import"https://fonts.googleapis.com/icon?family=Material+Icons+Round";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap";@font-face{font-family:v-contextmenu;src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=#iefix) format("embedded-opentype"),url(data:font/woff;base64,d09GRgABAAAAAAUAAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kgMY21hcAAAAYAAAABeAAABhpnABr5nbHlmAAAB4AAAAS4AAAE8h1VEkmhlYWQAAAMQAAAALwAAADYPY7HCaGhlYQAAA0AAAAAcAAAAJAfeA4RobXR4AAADXAAAAAwAAAAMC+kAAGxvY2EAAANoAAAACAAAAAgAdgCebWF4cAAAA3AAAAAfAAAAIAESAF1uYW1lAAADkAAAAUUAAAJtPlT+fXBvc3QAAATYAAAAKAAAADlBG9LpeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sE4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDxTYm7438AQw9zA0AAUZgTJAQAl4gyOeJzFkMENgDAMAy9t6QMxRV88GIgXc3TirlFMKA8mqCXHimMpUYAFiOIhJrAL48Ep19yPrO4nz2SpEait9K7+U0U0y65BJTMNNm/1H5vXfXT6CnVQJ7byknADpO8MFwAAeJwVjL1Kw1AARu93Y/7a3MTe/KdN2yS2V6kGjLEKYru4KA6Cgzj6ALp2cegiODj4DCKIr1D6AL6A7qIP4BNE48fhwFk+IhPy+yktpYDYZJ1skyNyRgiUEVKTxkhEmdMR3ER2fceURCYSNUtz6RB+qjheMS6HvqIqFkx0sZMUY5FTgd1yQg9QeDEQtqNzPuhw6RGNQHTvqhP6BLeXdazJVnW8OXWKvq3NDM5Dzh80RZY1SlcsE9e+p8t6Q6meZStyl70N2oMRiuj0kvXb/Oq+vIkHvg7M57DbffNl2opaNbeRZ/NQXWVaELFszcHsuxnYRjz8IvXwL/pBf0irDkeFkmO8pyPHBD48+s6qVzMJwLBfvTEEKcMFw5wb1aKJMGEQECwJ0awWRv30B+KIMJEAAHicY2BkYGAA4sM/urfH89t8ZeBmYQCBa0pmzxD0/4csDMwSQC4HAxNIFABNGgrfAHicY2BkYGBu+N/AEMPCAAJAkpEBFTADAEcJAmwEAAAAA+kAAAQAAAAAAAAAAHYAnnicY2BkYGBgZghkYGUAASYg5gJCBob/YD4DABD3AXAAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicY2BigAAuBuyAmZGJkZmRhYGxgjuxqCi/XLcoMz2jhIEBAC8dBRY=) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4i7dfDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=) format("truetype"),url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%3E%0A%3C!--%0A2013-9-30%3A%20Created.%0A--%3E%0A%3Csvg%3E%0A%3Cmetadata%3E%0ACreated%20by%20iconfont%0A%3C%2Fmetadata%3E%0A%3Cdefs%3E%0A%0A%3Cfont%20id%3D%22iconfont%22%20horiz-adv-x%3D%221024%22%20%3E%0A%20%20%3Cfont-face%0A%20%20%20%20font-family%3D%22iconfont%22%0A%20%20%20%20font-weight%3D%22500%22%0A%20%20%20%20font-stretch%3D%22normal%22%0A%20%20%20%20units-per-em%3D%221024%22%0A%20%20%20%20ascent%3D%22896%22%0A%20%20%20%20descent%3D%22-128%22%0A%20%20%2F%3E%0A%20%20%20%20%3Cmissing-glyph%20%2F%3E%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22x%22%20unicode%3D%22x%22%20horiz-adv-x%3D%221001%22%0Ad%3D%22M281%20543q-27%20-1%20-53%20-1h-83q-18%200%20-36.5%20-6t-32.5%20-18.5t-23%20-32t-9%20-45.5v-76h912v41q0%2016%20-0.5%2030t-0.5%2018q0%2013%20-5%2029t-17%2029.5t-31.5%2022.5t-49.5%209h-133v-97h-438v97zM955%20310v-52q0%20-23%200.5%20-52t0.5%20-58t-10.5%20-47.5t-26%20-30t-33%20-16t-31.5%20-4.5q-14%20-1%20-29.5%20-0.5%0At-29.5%200.5h-32l-45%20128h-439l-44%20-128h-29h-34q-20%200%20-45%201q-25%200%20-41%209.5t-25.5%2023t-13.5%2029.5t-4%2030v167h911zM163%20247q-12%200%20-21%20-8.5t-9%20-21.5t9%20-21.5t21%20-8.5q13%200%2022%208.5t9%2021.5t-9%2021.5t-22%208.5zM316%20123q-8%20-26%20-14%20-48q-5%20-19%20-10.5%20-37t-7.5%20-25t-3%20-15t1%20-14.5%0At9.5%20-10.5t21.5%20-4h37h67h81h80h64h36q23%200%2034%2012t2%2038q-5%2013%20-9.5%2030.5t-9.5%2034.5q-5%2019%20-11%2039h-368zM336%20498v228q0%2011%202.5%2023t10%2021.5t20.5%2015.5t34%206h188q31%200%2051.5%20-14.5t20.5%20-52.5v-227h-327z%22%20%2F%3E%0A%20%20%20%20%0A%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22arrow-right%22%20unicode%3D%22%26%2358914%3B%22%20d%3D%22M725.3399071604938%20383.8342991012345a41.425224691358025%2041.425224691358025%200%200%200-12.924670103703681-30.074713125925918l-343.82936493827134-325.2708642765434a41.425224691358025%2041.425224691358025%200%200%200-56.91825872592596%2060.23227670123452l312.0976428246912%20295.1961511506175-312.0976428246914%20295.4447024987654a41.50807514074074%2041.50807514074074%200%200%200-1.6570089876543506%2058.575267713580246c15.74158538271605%2016.570089876543207%2042.00517783703699%2017.315743920987664%2058.575267713580246%201.6570089876543506l343.8293649382716-325.6022660740737a41.425224691358025%2041.425224691358025%200%200%200%2012.924670103703713-30.15756357530862z%22%20%20horiz-adv-x%3D%221024%22%20%2F%3E%0A%0A%20%20%20%20%0A%0A%0A%20%20%3C%2Ffont%3E%0A%3C%2Fdefs%3E%3C%2Fsvg%3E%0A) format("svg")}.v-contextmenu-icon{font-family:v-contextmenu!important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-contextmenu-icon-right-arrow:before{content:"\e622"}.v-contextmenu{position:absolute;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:2px 2px 8px 0 rgba(150,150,150,.2);box-shadow:2px 2px 8px #96969633;font-size:14px;white-space:nowrap;line-height:1;z-index:2020;-webkit-tap-highlight-color:transparent}.v-contextmenu-inner{padding:5px 0;margin:0;list-style:none}.v-contextmenu-item{padding:5px 14px;line-height:1;color:#333;cursor:pointer}.v-contextmenu-item--hover{color:#fff;background-color:#2d3035}.v-contextmenu-item--disabled{color:#3336;cursor:not-allowed}.v-contextmenu-divider{height:0;margin:5px 0;border-bottom:1px solid #e8e8e8}.v-contextmenu-group__title{padding:5px 14px 2.5px;color:#3333338c;font-size:60%}.v-contextmenu-group__menus{padding:0 5px;margin:0;list-style:none}.v-contextmenu-group__menus .v-contextmenu-item{display:inline-block;padding:5px 9px}.v-contextmenu-submenu{position:relative}.v-contextmenu-submenu__title{padding-right:22.4px}.v-contextmenu-submenu__menus{position:absolute}.v-contextmenu-submenu__menus--left{left:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}.v-contextmenu-submenu__menus--right{right:0;-webkit-transform:translateX(100%);transform:translate(100%)}.v-contextmenu-submenu__menus--top{top:-6px}.v-contextmenu-submenu__menus--bottom{bottom:-6px}.v-contextmenu-submenu__arrow{position:absolute;right:5px}.v-contextmenu-enter-active{-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.v-contextmenu-leave-active{-webkit-transition:opacity .3s cubic-bezier(1,.5,.8,1);transition:opacity .3s cubic-bezier(1,.5,.8,1)}.v-contextmenu-enter-from,.v-contextmenu-leave-to{opacity:0}.link[data-v-148b3d73]{text-decoration:none}div.navEntry[data-v-148b3d73]{display:flex;flex-direction:row;padding:10px;border-radius:5px;color:var(--fg-base-dk)}div.navEntry.img[data-v-148b3d73]{padding:5px}div.navEntry[data-v-148b3d73]:hover,.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover-dk);cursor:pointer;color:var(--fg-base)}.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover)}.name[data-v-148b3d73]{font-weight:700}.icon[data-v-148b3d73]{width:34px}.icon[data-v-148b3d73] :has:not(.material-symbols-rounded){height:34px}.icon[data-v-148b3d73]{width:100%;border-radius:3px}.logo[data-v-99b49a72]{fill:var(--fg-base);padding:10px;width:60%}.logo[data-v-99b49a72]:hover{cursor:pointer}.collapseSidebar[data-v-99b49a72]{display:flex;flex-direction:row;justify-content:center;align-items:center;height:40px}.collapseSidebar.minimised[data-v-99b49a72]{justify-content:center}.collapseSidebar .clickSymbol[data-v-99b49a72]{border-radius:5px}.collapseSidebar .clickSymbol[data-v-99b49a72]:hover{cursor:pointer;background:var(--hover-2)}.static[data-v-99b49a72]{flex-shrink:0;flex-grow:0}@media screen and (max-width: 750px){.static[data-v-99b49a72]{display:flex;flex-direction:row;justify-content:space-between;width:100%}}h2[data-v-99b49a72]{margin-bottom:0}.cover[data-v-99b49a72]{position:absolute;bottom:10px;width:100%;transform:translate(-10px,10px)}.playlistList[data-v-99b49a72]{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.playlistList.expanded[data-v-99b49a72]{padding:0 10px}.playlistList>a[data-v-99b49a72]{font-size:.92em;text-decoration:none;color:var(--font-darker);margin-bottom:4px;margin-top:4px}.playlistList>a[data-v-99b49a72]:hover{color:var(--font-colour)}hr[data-v-99b49a72]{width:100%}div.sidebar[data-v-99b49a72]{background:var(--bg-base-dk);width:calc(var(--w-sidebar) + 20px);min-width:calc(var(--w-sidebar) + 20px);max-width:calc(var(--w-sidebar) + 20px);display:flex;flex-direction:column;padding:10px;margin:10px;border-radius:8px;max-height:100%;z-index:1;position:relative;overflow:hidden;border:var(--border-container)}@media screen and (max-width: 750px){div.sidebar[data-v-99b49a72]{flex-direction:row;width:100vw;position:absolute;bottom:0;margin:0;max-width:100vw;border-radius:0}}h2[data-v-99b49a72]:hover{cursor:pointer}h2[data-v-99b49a72]{margin:0;padding:10px}div.body[data-v-772535b8]{flex-grow:1;overflow-y:auto;overflow-x:hidden;max-width:calc(100vw - var(--sidebar-width));max-height:calc(100vh - var(--player-height) - var(--header-height))}div.body.maximised[data-v-772535b8]{max-width:100vw;max-height:100vh}@media screen and (max-width: 950px){div.body[data-v-772535b8]{max-width:100vw;max-height:calc(100vh - var(--player-height-mobile) - var(--sidebar-height) - var(--header-height))}}.hidden[data-v-625a8655]{display:none}@keyframes marquee-625a8655{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-625a8655]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-625a8655],.marqueeWrapper *[data-v-625a8655]{text-decoration:inherit}.marqueeWrapper[data-v-625a8655]{position:relative;margin:0}.replacer[data-v-625a8655]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-625a8655]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-625a8655]{position:relative;animation:marquee-625a8655 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-625a8655]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.progressBar__track[data-v-80b99d67]{position:relative;width:100%;height:5px;margin:10px 0;border-radius:1000vmax;background-color:var(--fg-base-dkr)}.progressBar__progress[data-v-80b99d67]{position:relative;height:5px;border-radius:1000vmax;background-color:var(--fg-base)}.progressBar__progress.hover[data-v-80b99d67]{background-color:var(--fg-secondary)}.progressBar__progress.hover[data-v-80b99d67]:after{content:""}.progressBar__progress[data-v-80b99d67]:after{position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background-color:var(--fg-base)}.dropdown[data-v-f0ed46f1]{position:relative;display:inline-block}.dropdown__selected[data-v-f0ed46f1]{color:var(--fg-base-dk);cursor:pointer;font-size:1.5rem;border-radius:10px;padding:5px}.dropdown__selected[data-v-f0ed46f1]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary)}.dropdown__options[data-v-f0ed46f1]{position:absolute;z-index:999;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:5px;filter:var(--drop-shadow)}.dropdown__options .dropdown__option[data-v-f0ed46f1]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-f0ed46f1]:hover{background:var(--bg-hover)}.loader[data-v-a886b69f]{width:20px;height:20px;margin:auto;border:3px solid var(--fg-base-dk);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-a886b69f 1s linear infinite}@keyframes rotation-a886b69f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#waveform wave,#waveform canvas{width:100%;height:calc(var(--h-player) / 2 - 1em)!important}.hidden[data-v-80913a8e]{display:none}@keyframes marquee-80913a8e{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-80913a8e]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-80913a8e],.marqueeWrapper *[data-v-80913a8e]{text-decoration:inherit}.marqueeWrapper[data-v-80913a8e]{position:relative;margin:0}.replacer[data-v-80913a8e]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-80913a8e]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-80913a8e]{position:relative;animation:marquee-80913a8e 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-80913a8e]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.artist[data-v-156468cf]:not(:last-child):after{content:", "}.artist>a[data-v-156468cf]{color:inherit;text-decoration:none}.artist>a[data-v-156468cf]:active,.artist>a[data-v-156468cf]:hover{color:inherit;text-decoration:underline}.player .on-this-device>.material-symbols-rounded{color:var(--fg-secondary)}.player[data-v-0d0bd51a]{background:var(--bg-base-lt);border-top:1px solid var(--border-base);z-index:2}.icon[data-v-0d0bd51a]{color:var(--fg-base-dk)}.icon[data-v-0d0bd51a]:hover{color:var(--fg-base)}.desktop[data-v-0d0bd51a]{display:grid;height:calc(var(--h-player) - 1px);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"song-info controls aux";gap:10px}.desktop .song-info[data-v-0d0bd51a]{grid-area:song-info;display:grid;align-items:center;grid-template-columns:calc(var(--h-player) - 40px) fit-content(100%) 20px 20px;gap:10px;overflow:hidden}.desktop .song-info .title-artist[data-v-0d0bd51a]{overflow:hidden}.desktop .song-info div[data-v-0d0bd51a]{margin:auto 0}.desktop .controls[data-v-0d0bd51a]{grid-area:controls;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto}.desktop .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(2,20px) 40px repeat(2,20px);gap:1.5em;justify-content:center}.desktop .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:1.5rem}.desktop .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:2.5rem}.desktop .controls .bottom .display[data-v-0d0bd51a]{display:grid;grid-template-columns:1fr 10fr 1fr;gap:.5em;margin-bottom:.5em;align-items:center}.desktop .aux[data-v-0d0bd51a]{grid-area:aux;justify-content:end;display:grid;grid-template-columns:20px 20px 20px minmax(auto,8vw);gap:1em;align-items:center}.desktop .aux a.icon[data-v-0d0bd51a]{display:flex;text-decoration:none}.desktop .aux a.icon.router-link-active[data-v-0d0bd51a]{color:var(--fg-secondary)}.mobile .small[data-v-0d0bd51a]{display:grid;grid-template-columns:calc(var(--h-player-mobile) - 1em) 1fr 30px 30px;gap:1em;margin:.5em;align-items:center;max-width:calc(100vw - 2em)}.mobile .small .cover[data-v-0d0bd51a]{border-radius:10px;background:var(--bg-base-dk);margin:auto 0}.mobile .full[data-v-0d0bd51a]{position:absolute;top:0;left:0;width:100vw;height:calc(100vh - var(--h-sidebar));max-height:calc(100vh - var(--h-sidebar));overflow:hidden;background:var(--bg-base);padding:2em;display:grid;grid-template-columns:1fr;grid-template-rows:30px 1fr fit-content(100%)}.mobile .full .cover[data-v-0d0bd51a]{filter:drop-shadow(0 25px 25px rgba(0,0,0,.3))}.mobile .full .controls[data-v-0d0bd51a]{display:flex;flex-direction:column-reverse}.mobile .full .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5em;justify-content:center}.mobile .full .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:2rem}.mobile .full .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:3rem}.playerInPicture{position:absolute;top:calc(100% - 348px);left:calc(70% - 8px);z-index:2000;width:30%;border-radius:8px;display:flex;flex-direction:column;background:var(--bg-base-lt);overflow:hidden;box-shadow:0 0 100px 3px #000c}@media screen and (max-width: 950px){.playerInPicture{width:calc(100% - 16px);left:8px!important;bottom:8px!important}}.playerInPicture .header{padding:0 8px 8px;display:flex;flex-direction:row;justify-content:space-between;transform:translateY(8px)}.playerInPicture .header .title{font-size:.8em;color:var(--fg-base-dk);display:flex;flex-direction:column;justify-content:center;max-width:calc(100% - 56px);width:100%}.playerInPicture .header .buttons{width:48px;height:24px}.playerInPicture .header .buttons span:hover{cursor:pointer}.playerInPicture .header.minimised{margin-bottom:8px}.playerInPicture .frame{flex-grow:1;min-height:300px}.playerInPicture .frame.minimised{display:none}.playerInPicture iframe{min-height:300px;width:100%;height:100%;transform:translateY(8px)}.text-input-with-icon[data-v-1d758894]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk);width:100%}.text-input-with-icon input[data-v-1d758894]{color:var(--fg-base-dk)}.text-input-with-icon[data-v-1d758894]:focus-within,.text-input-with-icon[data-v-1d758894]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-icon:focus-within input[data-v-1d758894],.text-input-with-icon:hover input[data-v-1d758894]{color:var(--fg-base)}.text-input-with-icon.expanded[data-v-1d758894]{border-radius:1em 1em 0 0}input[type=text][data-v-1d758894]{background:none!important;border:none!important}.suggestions[data-v-a7f85506]{background:var(--bg-base-lt);border:var(--border-container);z-index:1001;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);overflow:hidden}.download-anim[data-v-b76d387a]{color:var(--fg-base-dk);animation:anim-b76d387a .5s ease-out forwards}@keyframes anim-b76d387a{0%{opacity:1;transform:translateY(500px)}to{opacity:0;transform:translateY(0)}}.suggestion[data-v-b76d387a]{display:grid;grid-template-columns:48px 1fr;gap:1em;padding:.5em}.suggestion .cover[data-v-b76d387a]{border-radius:.5em}.suggestion[data-v-b76d387a]:hover,.suggestion.selected[data-v-b76d387a]{background:var(--bg-hover-dk);cursor:pointer}.suggestion span[data-v-b76d387a]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.suggestion span[data-v-b76d387a]:last-child{color:var(--fg-base-dk);font-size:.8rem}.header[data-v-b76d387a]{background:var(--bg-base-dk);height:var(--h-header);display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-shadow:0 0 10px 0 var(--shadow);z-index:10;border-bottom:var(--border-container)}.logo[data-v-b76d387a]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%}.logo[data-v-b76d387a]:hover{cursor:pointer}.search input[data-v-b76d387a]{width:500px}.loader[data-v-a8d83b29]{width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-content:center}.spinner[data-v-a8d83b29]{margin:auto;width:100%;text-align:center}.spinner>div[data-v-a8d83b29]{width:18px;height:18px;background-color:var(--fg-base-dk);margin:5px;border-radius:100%;display:inline-block;animation:sk-bouncedelay-a8d83b29 1.4s infinite ease-in-out both}.spinner .bounce1[data-v-a8d83b29]{animation-delay:-.32s}.spinner .bounce2[data-v-a8d83b29]{animation-delay:-.16s}@keyframes sk-bouncedelay-a8d83b29{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.startup[data-v-24a52185]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.startup .wrap[data-v-24a52185]{width:80%}.startup .logo[data-v-24a52185]{display:flex;flex-direction:row;justify-content:center;width:100%;align-items:center}.startup .logo svg[data-v-24a52185]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%;max-width:400px}.startup .logo p[data-v-24a52185]{font-size:1em;color:var(--fg-base);z-index:1;margin-left:50px}.card[data-v-04b9eb92]{background:var(--bg-base-lt);border-radius:1em;border:var(--border-container);position:relative}.card[data-v-04b9eb92]:before{content:"";border-radius:1em;box-shadow:0 0 10px #0000001a;position:absolute;inset:0;z-index:-1}.card.withHover[data-v-04b9eb92]:hover{background:var(--bg-hover-dk)}.card.disabled[data-v-04b9eb92]{opacity:.5;cursor:not-allowed!important}.notification[data-v-49e9d059]{padding:.5em 1em;display:flex;flex-direction:row;gap:2em;align-items:center;justify-content:space-between;color:#fff;filter:var(--drop-shadow)}.notification.success[data-v-49e9d059]{background-color:var(--success)}.notification.error[data-v-49e9d059]{background-color:var(--fail)}.notification.info[data-v-49e9d059]{background-color:var(--info)}.notification.warning[data-v-49e9d059]{background-color:var(--warning)}.notification h4[data-v-49e9d059],.notification p[data-v-49e9d059]{margin:0}.notification .details[data-v-49e9d059]{font-size:.8em}.close[data-v-49e9d059]{cursor:pointer}.notification[data-v-4dd7578e]{gap:2em;align-items:center;color:var(--fg-base);overflow:hidden;filter:var(--drop-shadow);background:var(--fg-contrast)}.notification .message[data-v-4dd7578e]{padding:.5em 1em}.notification .message h4[data-v-4dd7578e]{margin:0}.notification .message .details[data-v-4dd7578e]{font-size:.8em}.yes-no[data-v-4dd7578e]{display:flex;flex-direction:row}.yes-no .option[data-v-4dd7578e]{flex:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.yes-no .option.yes[data-v-4dd7578e]{background-color:var(--success)}.yes-no .option.no[data-v-4dd7578e]{background-color:var(--fail)}.notifications[data-v-ca1aa49b]{position:absolute;inset:auto auto 0 0;z-index:10;margin:2em 2em calc(var(--h-player) + 10px) calc(var(--w-sidebar) + 40px);display:flex;flex-direction:column;gap:1em;align-items:flex-start}.notifications .notification[data-v-ca1aa49b]{min-width:200px;max-width:400px}.noLink{text-decoration:none;color:unset}.noLink:hover{text-decoration:none;cursor:default;color:unset}.linkOnHover{text-decoration:none;color:unset}.linkOnHover:hover{text-decoration:underline;cursor:pointer;color:var(--fg-base)}.v-contextmenu{background:var(--fg-contrast)!important;font-family:var(--ff-base)!important;border:1px solid var(--bg-hover-dk);box-shadow:none;--webkit-box-shadow: none;color:var(--fg-base)!important}.v-contextmenu-divider{border-color:var(--border-base)}.v-contextmenu-item{color:var(--fg-base)!important;margin:5px;padding:10px 22px 10px 15px;border-radius:5px}.v-contextmenu-item--hover{background:var(--bg-hover-dk)!important}::-webkit-scrollbar{width:var(--w-scrollbar);height:var(--w-scrollbar);padding:0;margin:0;z-index:101}::-webkit-scrollbar-track{border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover-dk)}:root{--fg-secondary: #1ed760;--fg-secondary-dk: #217e41;--bg-contrast: white;--fg-contrast: #121212;--fg-base: white;--fg-base-dk: #a7a7a7;--fg-base-dkr: #999;--bg-hover-ltr: #242424;--bg-hover-lt: hsla(0,0%,100%,.04);--bg-hover: hsla(0,0%,100%,.3);--bg-hover-dk: hsla(0,0%,100%,.1);--border-base: hsla(0,0%,100%,.1);--border-container: var(--border-base);--bg-gradient: linear-gradient(to left bottom, #1ed760, #217e41);--bg-base: #121212;--bg-base-lt: #181818;--bg-base-dk: black;--bg-fixedPlaylistHeader: var(--bg-base-lt);--border-fixedPlaylistHeader: #303030;--bg-input: var(--background-light);--ff-base: Poppins, sans-serif;--h-playlistEntry: 64px;--h-player: 88px;--h-player-mobile: 64px;--h-header: 64px;--w-sidebar: 44px;--h-sidebar: 64px;--w-scrollbar: 8px;--drop-shadow: drop-shadow(0 0 .5rem rgba(0, 0, 0, .2));--background: #1e1e1e;--neutral: #374148;--success: #00c48b;--fail: #e85454;--warning: #c7aa19;--info: #189de4}.showIfMobile{display:none!important}.hideIfMobile{display:inherit}@media only screen and (max-width: 750px){.showIfMobile{display:inherit!important}.hideIfMobile{display:none!important}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}h3{font-size:1.125rem;line-height:1.75rem}h4{margin-top:1rem;margin-bottom:1rem;font-weight:700}h5{color:var(--fg-base-dk);text-transform:uppercase}h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}a{text-decoration-line:underline}a:hover{color:var(--fg-secondary)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.text-base{color:var(--fg-base)}.text-muted{color:var(--fg-base-dk)}.text-very-muted{color:var(--fg-base-dkr)}.text-secondary{color:var(--fg-secondary)}.bg-secondary{background-color:var(--fg-secondary)}p{margin-top:.5rem;margin-bottom:.5rem}.h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}.h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}.h5{color:var(--fg-base-dk);text-transform:uppercase}.h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-0{top:0px}.left-0{left:0px}.z-\[1000\]{z-index:1000}.-z-10{z-index:-10}.z-10{z-index:10}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mb-2{margin-bottom:.5rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mt-10{margin-top:2.5rem}.mb-0{margin-bottom:0}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.mr-4{margin-right:1rem}.ml-auto{margin-left:auto}.mt-\[10px\]{margin-top:10px}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.\!grid{display:grid!important}.hidden{display:none}.h-8{height:2rem}.h-12{height:3rem}.h-full{height:100%}.w-full{width:100%}.w-8{width:2rem}.w-1\/2{width:50%}.w-1{width:.25rem}.max-w-sm{max-width:24rem}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\!grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-3xl{border-radius:1.5rem}.rounded-md{border-radius:.375rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.p-4{padding:1rem}.p-2{padding:.5rem}.p-\[10px\]{padding:10px}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pb-4{padding-bottom:1rem}.pr-4{padding-right:1rem}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem;line-height:1.25rem}.text-5xl{font-size:3rem;line-height:1}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-2xl{--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*{--tw-invert: 0}.fill-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.ms-wght-100{font-variation-settings:"wght" 100}.ms-wght-200{font-variation-settings:"wght" 200}.ms-wght-300{font-variation-settings:"wght" 300}.ms-wght-400{font-variation-settings:"wght" 400}.ms-wght-500{font-variation-settings:"wght" 500}.ms-wght-600{font-variation-settings:"wght" 600}.ms-wght-700{font-variation-settings:"wght" 700}.ms-wght-800{font-variation-settings:"wght" 800}.ms-wght-900{font-variation-settings:"wght" 900}.ms-fill{font-variation-settings:"FILL" 1}#app{font-family:var(--ff-base)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--fg-base)!important}hr{border-color:var(--border-base)}div.interface{display:flex;flex-direction:row;flex-grow:1;z-index:2;max-height:calc(100vh - var(--h-player) - var(--h-header))}@media only screen and (max-width: 750px){div.interface{max-height:calc(100vh - var(--h-player-mobile) - var(--h-header) - var(--h-sidebar))}}div.appRoot{display:flex;flex-direction:column;width:100vw;height:100vh}html,body{margin:0;padding:0}.bgImageWrapper{position:fixed;top:0;left:0;height:100%;width:100%;z-index:0!important;background:black}.bgImage{height:100%;width:100%;z-index:0!important;filter:blur(100px) brightness(.75);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.1)}.mobileMenu{display:flex;flex-direction:row;justify-content:center}input[type=text],input[type=password]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text]:focus,input[type=password]:focus{outline:none}input[type=text]:hover,input[type=password]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}@media (min-width: 640px){.sm\:ml-0{margin-left:0}}@media (min-width: 768px){.md\:\!w-96{width:24rem!important}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} +@import"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined";@import"https://fonts.googleapis.com/icon?family=Material+Icons+Round";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap";@font-face{font-family:v-contextmenu;src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=#iefix) format("embedded-opentype"),url(data:font/woff;base64,d09GRgABAAAAAAUAAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kgMY21hcAAAAYAAAABeAAABhpnABr5nbHlmAAAB4AAAAS4AAAE8h1VEkmhlYWQAAAMQAAAALwAAADYPY7HCaGhlYQAAA0AAAAAcAAAAJAfeA4RobXR4AAADXAAAAAwAAAAMC+kAAGxvY2EAAANoAAAACAAAAAgAdgCebWF4cAAAA3AAAAAfAAAAIAESAF1uYW1lAAADkAAAAUUAAAJtPlT+fXBvc3QAAATYAAAAKAAAADlBG9LpeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sE4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDxTYm7438AQw9zA0AAUZgTJAQAl4gyOeJzFkMENgDAMAy9t6QMxRV88GIgXc3TirlFMKA8mqCXHimMpUYAFiOIhJrAL48Ep19yPrO4nz2SpEait9K7+U0U0y65BJTMNNm/1H5vXfXT6CnVQJ7byknADpO8MFwAAeJwVjL1Kw1AARu93Y/7a3MTe/KdN2yS2V6kGjLEKYru4KA6Cgzj6ALp2cegiODj4DCKIr1D6AL6A7qIP4BNE48fhwFk+IhPy+yktpYDYZJ1skyNyRgiUEVKTxkhEmdMR3ER2fceURCYSNUtz6RB+qjheMS6HvqIqFkx0sZMUY5FTgd1yQg9QeDEQtqNzPuhw6RGNQHTvqhP6BLeXdazJVnW8OXWKvq3NDM5Dzh80RZY1SlcsE9e+p8t6Q6meZStyl70N2oMRiuj0kvXb/Oq+vIkHvg7M57DbffNl2opaNbeRZ/NQXWVaELFszcHsuxnYRjz8IvXwL/pBf0irDkeFkmO8pyPHBD48+s6qVzMJwLBfvTEEKcMFw5wb1aKJMGEQECwJ0awWRv30B+KIMJEAAHicY2BkYGAA4sM/urfH89t8ZeBmYQCBa0pmzxD0/4csDMwSQC4HAxNIFABNGgrfAHicY2BkYGBu+N/AEMPCAAJAkpEBFTADAEcJAmwEAAAAA+kAAAQAAAAAAAAAAHYAnnicY2BkYGBgZghkYGUAASYg5gJCBob/YD4DABD3AXAAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicY2BigAAuBuyAmZGJkZmRhYGxgjuxqCi/XLcoMz2jhIEBAC8dBRY=) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4i7dfDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=) format("truetype"),url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%3E%0A%3C!--%0A2013-9-30%3A%20Created.%0A--%3E%0A%3Csvg%3E%0A%3Cmetadata%3E%0ACreated%20by%20iconfont%0A%3C%2Fmetadata%3E%0A%3Cdefs%3E%0A%0A%3Cfont%20id%3D%22iconfont%22%20horiz-adv-x%3D%221024%22%20%3E%0A%20%20%3Cfont-face%0A%20%20%20%20font-family%3D%22iconfont%22%0A%20%20%20%20font-weight%3D%22500%22%0A%20%20%20%20font-stretch%3D%22normal%22%0A%20%20%20%20units-per-em%3D%221024%22%0A%20%20%20%20ascent%3D%22896%22%0A%20%20%20%20descent%3D%22-128%22%0A%20%20%2F%3E%0A%20%20%20%20%3Cmissing-glyph%20%2F%3E%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22x%22%20unicode%3D%22x%22%20horiz-adv-x%3D%221001%22%0Ad%3D%22M281%20543q-27%20-1%20-53%20-1h-83q-18%200%20-36.5%20-6t-32.5%20-18.5t-23%20-32t-9%20-45.5v-76h912v41q0%2016%20-0.5%2030t-0.5%2018q0%2013%20-5%2029t-17%2029.5t-31.5%2022.5t-49.5%209h-133v-97h-438v97zM955%20310v-52q0%20-23%200.5%20-52t0.5%20-58t-10.5%20-47.5t-26%20-30t-33%20-16t-31.5%20-4.5q-14%20-1%20-29.5%20-0.5%0At-29.5%200.5h-32l-45%20128h-439l-44%20-128h-29h-34q-20%200%20-45%201q-25%200%20-41%209.5t-25.5%2023t-13.5%2029.5t-4%2030v167h911zM163%20247q-12%200%20-21%20-8.5t-9%20-21.5t9%20-21.5t21%20-8.5q13%200%2022%208.5t9%2021.5t-9%2021.5t-22%208.5zM316%20123q-8%20-26%20-14%20-48q-5%20-19%20-10.5%20-37t-7.5%20-25t-3%20-15t1%20-14.5%0At9.5%20-10.5t21.5%20-4h37h67h81h80h64h36q23%200%2034%2012t2%2038q-5%2013%20-9.5%2030.5t-9.5%2034.5q-5%2019%20-11%2039h-368zM336%20498v228q0%2011%202.5%2023t10%2021.5t20.5%2015.5t34%206h188q31%200%2051.5%20-14.5t20.5%20-52.5v-227h-327z%22%20%2F%3E%0A%20%20%20%20%0A%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22arrow-right%22%20unicode%3D%22%26%2358914%3B%22%20d%3D%22M725.3399071604938%20383.8342991012345a41.425224691358025%2041.425224691358025%200%200%200-12.924670103703681-30.074713125925918l-343.82936493827134-325.2708642765434a41.425224691358025%2041.425224691358025%200%200%200-56.91825872592596%2060.23227670123452l312.0976428246912%20295.1961511506175-312.0976428246914%20295.4447024987654a41.50807514074074%2041.50807514074074%200%200%200-1.6570089876543506%2058.575267713580246c15.74158538271605%2016.570089876543207%2042.00517783703699%2017.315743920987664%2058.575267713580246%201.6570089876543506l343.8293649382716-325.6022660740737a41.425224691358025%2041.425224691358025%200%200%200%2012.924670103703713-30.15756357530862z%22%20%20horiz-adv-x%3D%221024%22%20%2F%3E%0A%0A%20%20%20%20%0A%0A%0A%20%20%3C%2Ffont%3E%0A%3C%2Fdefs%3E%3C%2Fsvg%3E%0A) format("svg")}.v-contextmenu-icon{font-family:v-contextmenu!important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-contextmenu-icon-right-arrow:before{content:"\e622"}.v-contextmenu{position:absolute;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:2px 2px 8px 0 rgba(150,150,150,.2);box-shadow:2px 2px 8px #96969633;font-size:14px;white-space:nowrap;line-height:1;z-index:2020;-webkit-tap-highlight-color:transparent}.v-contextmenu-inner{padding:5px 0;margin:0;list-style:none}.v-contextmenu-item{padding:5px 14px;line-height:1;color:#333;cursor:pointer}.v-contextmenu-item--hover{color:#fff;background-color:#2d3035}.v-contextmenu-item--disabled{color:#3336;cursor:not-allowed}.v-contextmenu-divider{height:0;margin:5px 0;border-bottom:1px solid #e8e8e8}.v-contextmenu-group__title{padding:5px 14px 2.5px;color:#3333338c;font-size:60%}.v-contextmenu-group__menus{padding:0 5px;margin:0;list-style:none}.v-contextmenu-group__menus .v-contextmenu-item{display:inline-block;padding:5px 9px}.v-contextmenu-submenu{position:relative}.v-contextmenu-submenu__title{padding-right:22.4px}.v-contextmenu-submenu__menus{position:absolute}.v-contextmenu-submenu__menus--left{left:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}.v-contextmenu-submenu__menus--right{right:0;-webkit-transform:translateX(100%);transform:translate(100%)}.v-contextmenu-submenu__menus--top{top:-6px}.v-contextmenu-submenu__menus--bottom{bottom:-6px}.v-contextmenu-submenu__arrow{position:absolute;right:5px}.v-contextmenu-enter-active{-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.v-contextmenu-leave-active{-webkit-transition:opacity .3s cubic-bezier(1,.5,.8,1);transition:opacity .3s cubic-bezier(1,.5,.8,1)}.v-contextmenu-enter-from,.v-contextmenu-leave-to{opacity:0}.link[data-v-148b3d73]{text-decoration:none}div.navEntry[data-v-148b3d73]{display:flex;flex-direction:row;padding:10px;border-radius:5px;color:var(--fg-base-dk)}div.navEntry.img[data-v-148b3d73]{padding:5px}div.navEntry[data-v-148b3d73]:hover,.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover-dk);cursor:pointer;color:var(--fg-base)}.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover)}.name[data-v-148b3d73]{font-weight:700}.icon[data-v-148b3d73]{width:34px}.icon[data-v-148b3d73] :has:not(.material-symbols-rounded){height:34px}.icon[data-v-148b3d73]{width:100%;border-radius:3px}.logo[data-v-50cefd67]{fill:var(--fg-base);padding:10px;width:60%}.logo[data-v-50cefd67]:hover{cursor:pointer}.collapseSidebar[data-v-50cefd67]{display:flex;flex-direction:row;justify-content:center;align-items:center;height:40px}.collapseSidebar.minimised[data-v-50cefd67]{justify-content:center}.collapseSidebar .clickSymbol[data-v-50cefd67]{border-radius:5px}.collapseSidebar .clickSymbol[data-v-50cefd67]:hover{cursor:pointer;background:var(--hover-2)}.static[data-v-50cefd67]{flex-shrink:0;flex-grow:0}@media screen and (max-width: 750px){.static[data-v-50cefd67]{display:flex;flex-direction:row;justify-content:space-between;width:100%}}h2[data-v-50cefd67]{margin-bottom:0}.cover[data-v-50cefd67]{position:absolute;bottom:10px;width:100%;transform:translate(-10px,10px)}.playlistList[data-v-50cefd67]{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.playlistList.expanded[data-v-50cefd67]{padding:0 10px}.playlistList>a[data-v-50cefd67]{font-size:.92em;text-decoration:none;color:var(--font-darker);margin-bottom:4px;margin-top:4px}.playlistList>a[data-v-50cefd67]:hover{color:var(--font-colour)}hr[data-v-50cefd67]{width:100%}div.sidebar[data-v-50cefd67]{background:var(--bg-base-dk);width:calc(var(--w-sidebar) + 20px);min-width:calc(var(--w-sidebar) + 20px);max-width:calc(var(--w-sidebar) + 20px);display:flex;flex-direction:column;padding:10px;margin:10px;border-radius:8px;max-height:100%;z-index:1;position:relative;overflow:hidden;border:var(--border-container)}@media screen and (max-width: 750px){div.sidebar[data-v-50cefd67]{flex-direction:row;width:100vw;position:absolute;bottom:0;margin:0;max-width:100vw;border-radius:0}}h2[data-v-50cefd67]:hover{cursor:pointer}h2[data-v-50cefd67]{margin:0;padding:10px}div.body[data-v-772535b8]{flex-grow:1;overflow-y:auto;overflow-x:hidden;max-width:calc(100vw - var(--sidebar-width));max-height:calc(100vh - var(--player-height) - var(--header-height))}div.body.maximised[data-v-772535b8]{max-width:100vw;max-height:100vh}@media screen and (max-width: 950px){div.body[data-v-772535b8]{max-width:100vw;max-height:calc(100vh - var(--player-height-mobile) - var(--sidebar-height) - var(--header-height))}}.hidden[data-v-625a8655]{display:none}@keyframes marquee-625a8655{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-625a8655]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-625a8655],.marqueeWrapper *[data-v-625a8655]{text-decoration:inherit}.marqueeWrapper[data-v-625a8655]{position:relative;margin:0}.replacer[data-v-625a8655]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-625a8655]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-625a8655]{position:relative;animation:marquee-625a8655 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-625a8655]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.progressBar__track[data-v-80b99d67]{position:relative;width:100%;height:5px;margin:10px 0;border-radius:1000vmax;background-color:var(--fg-base-dkr)}.progressBar__progress[data-v-80b99d67]{position:relative;height:5px;border-radius:1000vmax;background-color:var(--fg-base)}.progressBar__progress.hover[data-v-80b99d67]{background-color:var(--fg-secondary)}.progressBar__progress.hover[data-v-80b99d67]:after{content:""}.progressBar__progress[data-v-80b99d67]:after{position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background-color:var(--fg-base)}.dropdown[data-v-f0ed46f1]{position:relative;display:inline-block}.dropdown__selected[data-v-f0ed46f1]{color:var(--fg-base-dk);cursor:pointer;font-size:1.5rem;border-radius:10px;padding:5px}.dropdown__selected[data-v-f0ed46f1]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary)}.dropdown__options[data-v-f0ed46f1]{position:absolute;z-index:999;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:5px;filter:var(--drop-shadow)}.dropdown__options .dropdown__option[data-v-f0ed46f1]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-f0ed46f1]:hover{background:var(--bg-hover)}.loader[data-v-a886b69f]{width:20px;height:20px;margin:auto;border:3px solid var(--fg-base-dk);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-a886b69f 1s linear infinite}@keyframes rotation-a886b69f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#waveform wave,#waveform canvas{width:100%;height:calc(var(--h-player) / 2 - 1em)!important}.hidden[data-v-80913a8e]{display:none}@keyframes marquee-80913a8e{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-80913a8e]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-80913a8e],.marqueeWrapper *[data-v-80913a8e]{text-decoration:inherit}.marqueeWrapper[data-v-80913a8e]{position:relative;margin:0}.replacer[data-v-80913a8e]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-80913a8e]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-80913a8e]{position:relative;animation:marquee-80913a8e 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-80913a8e]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.artist[data-v-156468cf]:not(:last-child):after{content:", "}.artist>a[data-v-156468cf]{color:inherit;text-decoration:none}.artist>a[data-v-156468cf]:active,.artist>a[data-v-156468cf]:hover{color:inherit;text-decoration:underline}.player .on-this-device>.material-symbols-rounded{color:var(--fg-secondary)}.player[data-v-0d0bd51a]{background:var(--bg-base-lt);border-top:1px solid var(--border-base);z-index:2}.icon[data-v-0d0bd51a]{color:var(--fg-base-dk)}.icon[data-v-0d0bd51a]:hover{color:var(--fg-base)}.desktop[data-v-0d0bd51a]{display:grid;height:calc(var(--h-player) - 1px);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"song-info controls aux";gap:10px}.desktop .song-info[data-v-0d0bd51a]{grid-area:song-info;display:grid;align-items:center;grid-template-columns:calc(var(--h-player) - 40px) fit-content(100%) 20px 20px;gap:10px;overflow:hidden}.desktop .song-info .title-artist[data-v-0d0bd51a]{overflow:hidden}.desktop .song-info div[data-v-0d0bd51a]{margin:auto 0}.desktop .controls[data-v-0d0bd51a]{grid-area:controls;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto}.desktop .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(2,20px) 40px repeat(2,20px);gap:1.5em;justify-content:center}.desktop .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:1.5rem}.desktop .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:2.5rem}.desktop .controls .bottom .display[data-v-0d0bd51a]{display:grid;grid-template-columns:1fr 10fr 1fr;gap:.5em;margin-bottom:.5em;align-items:center}.desktop .aux[data-v-0d0bd51a]{grid-area:aux;justify-content:end;display:grid;grid-template-columns:20px 20px 20px minmax(auto,8vw);gap:1em;align-items:center}.desktop .aux a.icon[data-v-0d0bd51a]{display:flex;text-decoration:none}.desktop .aux a.icon.router-link-active[data-v-0d0bd51a]{color:var(--fg-secondary)}.mobile .small[data-v-0d0bd51a]{display:grid;grid-template-columns:calc(var(--h-player-mobile) - 1em) 1fr 30px 30px;gap:1em;margin:.5em;align-items:center;max-width:calc(100vw - 2em)}.mobile .small .cover[data-v-0d0bd51a]{border-radius:10px;background:var(--bg-base-dk);margin:auto 0}.mobile .full[data-v-0d0bd51a]{position:absolute;top:0;left:0;width:100vw;height:calc(100vh - var(--h-sidebar));max-height:calc(100vh - var(--h-sidebar));overflow:hidden;background:var(--bg-base);padding:2em;display:grid;grid-template-columns:1fr;grid-template-rows:30px 1fr fit-content(100%)}.mobile .full .cover[data-v-0d0bd51a]{filter:drop-shadow(0 25px 25px rgba(0,0,0,.3))}.mobile .full .controls[data-v-0d0bd51a]{display:flex;flex-direction:column-reverse}.mobile .full .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5em;justify-content:center}.mobile .full .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:2rem}.mobile .full .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:3rem}.playerInPicture{position:absolute;top:calc(100% - 348px);left:calc(70% - 8px);z-index:2000;width:30%;border-radius:8px;display:flex;flex-direction:column;background:var(--bg-base-lt);overflow:hidden;box-shadow:0 0 100px 3px #000c}@media screen and (max-width: 950px){.playerInPicture{width:calc(100% - 16px);left:8px!important;bottom:8px!important}}.playerInPicture .header{padding:0 8px 8px;display:flex;flex-direction:row;justify-content:space-between;transform:translateY(8px)}.playerInPicture .header .title{font-size:.8em;color:var(--fg-base-dk);display:flex;flex-direction:column;justify-content:center;max-width:calc(100% - 56px);width:100%}.playerInPicture .header .buttons{width:48px;height:24px}.playerInPicture .header .buttons span:hover{cursor:pointer}.playerInPicture .header.minimised{margin-bottom:8px}.playerInPicture .frame{flex-grow:1;min-height:300px}.playerInPicture .frame.minimised{display:none}.playerInPicture iframe{min-height:300px;width:100%;height:100%;transform:translateY(8px)}.text-input-with-icon[data-v-25594ebd]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk);width:100%}.text-input-with-icon input[data-v-25594ebd]{color:var(--fg-base-dk)}.text-input-with-icon[data-v-25594ebd]:focus-within,.text-input-with-icon[data-v-25594ebd]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-icon:focus-within input[data-v-25594ebd],.text-input-with-icon:hover input[data-v-25594ebd]{color:var(--fg-base)}.text-input-with-icon.expanded[data-v-25594ebd]{border-radius:1em 1em 0 0}input[type=text][data-v-25594ebd]{background:none!important;border:none!important}input[type=text][data-v-25594ebd],input[type=password][data-v-25594ebd]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text][data-v-25594ebd]:focus,input[type=password][data-v-25594ebd]:focus{outline:none}input[type=text][data-v-25594ebd]:hover,input[type=password][data-v-25594ebd]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}.suggestions[data-v-a7f85506]{background:var(--bg-base-lt);border:var(--border-container);z-index:1001;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);overflow:hidden}.download-anim[data-v-b76d387a]{color:var(--fg-base-dk);animation:anim-b76d387a .5s ease-out forwards}@keyframes anim-b76d387a{0%{opacity:1;transform:translateY(500px)}to{opacity:0;transform:translateY(0)}}.suggestion[data-v-b76d387a]{display:grid;grid-template-columns:48px 1fr;gap:1em;padding:.5em}.suggestion .cover[data-v-b76d387a]{border-radius:.5em}.suggestion[data-v-b76d387a]:hover,.suggestion.selected[data-v-b76d387a]{background:var(--bg-hover-dk);cursor:pointer}.suggestion span[data-v-b76d387a]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.suggestion span[data-v-b76d387a]:last-child{color:var(--fg-base-dk);font-size:.8rem}.header[data-v-b76d387a]{background:var(--bg-base-dk);height:var(--h-header);display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-shadow:0 0 10px 0 var(--shadow);z-index:10;border-bottom:var(--border-container)}.logo[data-v-b76d387a]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%}.logo[data-v-b76d387a]:hover{cursor:pointer}.search input[data-v-b76d387a]{width:500px}.loader[data-v-a8d83b29]{width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-content:center}.spinner[data-v-a8d83b29]{margin:auto;width:100%;text-align:center}.spinner>div[data-v-a8d83b29]{width:18px;height:18px;background-color:var(--fg-base-dk);margin:5px;border-radius:100%;display:inline-block;animation:sk-bouncedelay-a8d83b29 1.4s infinite ease-in-out both}.spinner .bounce1[data-v-a8d83b29]{animation-delay:-.32s}.spinner .bounce2[data-v-a8d83b29]{animation-delay:-.16s}@keyframes sk-bouncedelay-a8d83b29{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.startup[data-v-24a52185]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.startup .wrap[data-v-24a52185]{width:80%}.startup .logo[data-v-24a52185]{display:flex;flex-direction:row;justify-content:center;width:100%;align-items:center}.startup .logo svg[data-v-24a52185]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%;max-width:400px}.startup .logo p[data-v-24a52185]{font-size:1em;color:var(--fg-base);z-index:1;margin-left:50px}.card[data-v-04b9eb92]{background:var(--bg-base-lt);border-radius:1em;border:var(--border-container);position:relative}.card[data-v-04b9eb92]:before{content:"";border-radius:1em;box-shadow:0 0 10px #0000001a;position:absolute;inset:0;z-index:-1}.card.withHover[data-v-04b9eb92]:hover{background:var(--bg-hover-dk)}.card.disabled[data-v-04b9eb92]{opacity:.5;cursor:not-allowed!important}.notification[data-v-49e9d059]{padding:.5em 1em;display:flex;flex-direction:row;gap:2em;align-items:center;justify-content:space-between;color:#fff;filter:var(--drop-shadow)}.notification.success[data-v-49e9d059]{background-color:var(--success)}.notification.error[data-v-49e9d059]{background-color:var(--fail)}.notification.info[data-v-49e9d059]{background-color:var(--info)}.notification.warning[data-v-49e9d059]{background-color:var(--warning)}.notification h4[data-v-49e9d059],.notification p[data-v-49e9d059]{margin:0}.notification .details[data-v-49e9d059]{font-size:.8em}.close[data-v-49e9d059]{cursor:pointer}.notification[data-v-4dd7578e]{gap:2em;align-items:center;color:var(--fg-base);overflow:hidden;filter:var(--drop-shadow);background:var(--fg-contrast)}.notification .message[data-v-4dd7578e]{padding:.5em 1em}.notification .message h4[data-v-4dd7578e]{margin:0}.notification .message .details[data-v-4dd7578e]{font-size:.8em}.yes-no[data-v-4dd7578e]{display:flex;flex-direction:row}.yes-no .option[data-v-4dd7578e]{flex:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.yes-no .option.yes[data-v-4dd7578e]{background-color:var(--success)}.yes-no .option.no[data-v-4dd7578e]{background-color:var(--fail)}.notifications[data-v-ca1aa49b]{position:absolute;inset:auto auto 0 0;z-index:10;margin:2em 2em calc(var(--h-player) + 10px) calc(var(--w-sidebar) + 40px);display:flex;flex-direction:column;gap:1em;align-items:flex-start}.notifications .notification[data-v-ca1aa49b]{min-width:200px;max-width:400px}.noLink{text-decoration:none;color:unset}.noLink:hover{text-decoration:none;cursor:default;color:unset}.linkOnHover{text-decoration:none;color:unset}.linkOnHover:hover{text-decoration:underline;cursor:pointer;color:var(--fg-base)}.v-contextmenu{background:var(--fg-contrast)!important;font-family:var(--ff-base)!important;border:1px solid var(--bg-hover-dk);box-shadow:none;--webkit-box-shadow: none;color:var(--fg-base)!important}.v-contextmenu-divider{border-color:var(--border-base)}.v-contextmenu-item{color:var(--fg-base)!important;margin:5px;padding:10px 22px 10px 15px;border-radius:5px}.v-contextmenu-item--hover{background:var(--bg-hover-dk)!important}::-webkit-scrollbar{width:var(--w-scrollbar);height:var(--w-scrollbar);padding:0;margin:0;z-index:101}::-webkit-scrollbar-track{border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover-dk)}:root{--fg-secondary: #1ed760;--fg-secondary-dk: #217e41;--bg-contrast: white;--fg-contrast: #121212;--fg-base: white;--fg-base-dk: #a7a7a7;--fg-base-dkr: #999;--bg-hover-ltr: #242424;--bg-hover-lt: hsla(0,0%,100%,.04);--bg-hover: hsla(0,0%,100%,.3);--bg-hover-dk: hsla(0,0%,100%,.1);--border-base: hsla(0,0%,100%,.1);--border-container: var(--border-base);--bg-gradient: linear-gradient(to left bottom, #1ed760, #217e41);--bg-base: #121212;--bg-base-lt: #181818;--bg-base-dk: black;--bg-fixedPlaylistHeader: var(--bg-base-lt);--border-fixedPlaylistHeader: #303030;--bg-input: var(--background-light);--ff-base: Poppins, sans-serif;--h-playlistEntry: 64px;--h-player: 88px;--h-player-mobile: 64px;--h-header: 64px;--w-sidebar: 44px;--h-sidebar: 64px;--w-scrollbar: 8px;--drop-shadow: drop-shadow(0 0 .5rem rgba(0, 0, 0, .2));--background: #1e1e1e;--neutral: #374148;--success: #00c48b;--fail: #e85454;--warning: #c7aa19;--info: #189de4}.showIfMobile{display:none!important}.hideIfMobile{display:inherit}@media only screen and (max-width: 750px){.showIfMobile{display:inherit!important}.hideIfMobile{display:none!important}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}h3{font-size:1.125rem;line-height:1.75rem}h4{margin-top:1rem;margin-bottom:1rem;font-weight:700}h5{color:var(--fg-base-dk);text-transform:uppercase}h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}a{text-decoration-line:underline}a:hover{color:var(--fg-secondary)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.text-base{color:var(--fg-base)}.text-muted{color:var(--fg-base-dk)}.text-very-muted{color:var(--fg-base-dkr)}.text-secondary{color:var(--fg-secondary)}.bg-secondary{background-color:var(--fg-secondary)}p{margin-top:.5rem;margin-bottom:.5rem}.h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}.h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}.h5{color:var(--fg-base-dk);text-transform:uppercase}.h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-0{top:0px}.left-0{left:0px}.z-\[1000\]{z-index:1000}.-z-10{z-index:-10}.z-10{z-index:10}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mb-2{margin-bottom:.5rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mt-10{margin-top:2.5rem}.mb-0{margin-bottom:0}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.mr-4{margin-right:1rem}.ml-auto{margin-left:auto}.mt-\[10px\]{margin-top:10px}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.\!grid{display:grid!important}.hidden{display:none}.h-8{height:2rem}.h-12{height:3rem}.h-full{height:100%}.w-full{width:100%}.w-8{width:2rem}.w-1\/2{width:50%}.w-1{width:.25rem}.max-w-sm{max-width:24rem}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\!grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-3xl{border-radius:1.5rem}.rounded-md{border-radius:.375rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.p-4{padding:1rem}.p-2{padding:.5rem}.p-\[10px\]{padding:10px}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pb-4{padding-bottom:1rem}.pr-4{padding-right:1rem}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem;line-height:1.25rem}.text-5xl{font-size:3rem;line-height:1}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-2xl{--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*{--tw-invert: 0}.fill-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.ms-wght-100{font-variation-settings:"wght" 100}.ms-wght-200{font-variation-settings:"wght" 200}.ms-wght-300{font-variation-settings:"wght" 300}.ms-wght-400{font-variation-settings:"wght" 400}.ms-wght-500{font-variation-settings:"wght" 500}.ms-wght-600{font-variation-settings:"wght" 600}.ms-wght-700{font-variation-settings:"wght" 700}.ms-wght-800{font-variation-settings:"wght" 800}.ms-wght-900{font-variation-settings:"wght" 900}.ms-fill{font-variation-settings:"FILL" 1}#app{font-family:var(--ff-base)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--fg-base)!important}hr{border-color:var(--border-base)}div.interface{display:flex;flex-direction:row;flex-grow:1;z-index:2;max-height:calc(100vh - var(--h-player) - var(--h-header))}@media only screen and (max-width: 750px){div.interface{max-height:calc(100vh - var(--h-player-mobile) - var(--h-header) - var(--h-sidebar))}}div.appRoot{display:flex;flex-direction:column;width:100vw;height:100vh}html,body{margin:0;padding:0}.bgImageWrapper{position:fixed;top:0;left:0;height:100%;width:100%;z-index:0!important;background:black}.bgImage{height:100%;width:100%;z-index:0!important;filter:blur(100px) brightness(.75);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.1)}.mobileMenu{display:flex;flex-direction:row;justify-content:center}input[type=text],input[type=password]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text]:focus,input[type=password]:focus{outline:none}input[type=text]:hover,input[type=password]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}@media (min-width: 640px){.sm\:ml-0{margin-left:0}}@media (min-width: 768px){.md\:\!w-96{width:24rem!important}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} diff --git a/src/ui/dist/assets/index-c49644b0.css.gz b/src/ui/dist/assets/index-c49644b0.css.gz new file mode 100644 index 000000000..ce50c5238 Binary files /dev/null and b/src/ui/dist/assets/index-c49644b0.css.gz differ diff --git a/src/ui/dist/assets/index-c785df37.css.gz b/src/ui/dist/assets/index-c785df37.css.gz deleted file mode 100644 index 01a0b5da9..000000000 Binary files a/src/ui/dist/assets/index-c785df37.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-cd6ad498.js b/src/ui/dist/assets/index-cd6ad498.js new file mode 100644 index 000000000..d79bfd1e7 --- /dev/null +++ b/src/ui/dist/assets/index-cd6ad498.js @@ -0,0 +1 @@ +import{n as O,o as b,c as x,a,t as w,aH as $,_ as P,q as k,G as q,d as C,bD as j,br as F,c4 as T,A as N,c5 as H,c6 as M,g as s,w as _,C as g,b as E,u as r,F as z,i as K,f as I,T as B,c7 as L,l as R,m as Q}from"./index-fe2c9584.js";import{I as y}from"./IconButton-f37a9ebc.js";import{D}from"./Dropdown-489f43f3.js";import{G as X}from"./gistClient-d0f6f626.js";const Y={class:"material-symbols-rounded ms-wght-300 cursor-pointer"},Z={class:"checkbox__label"},ee={class:"checkbox__label__title"},le={class:"checkbox__label__sublabel italic"},te=O({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},sublabel:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(i,{emit:d}){const n=i,p=m=>d("update:modelValue",m),c=()=>{n.disabled||p(!n.modelValue)};return(m,l)=>(b(),x("div",{class:$([{"opacity-50":i.disabled},"checkbox"]),onClick:c},[a("span",Y,w(i.modelValue?"check_box":"check_box_outline_blank"),1),a("div",Z,[a("div",ee,w(i.label),1),a("div",le,w(i.sublabel),1)])],2))}});const V=P(te,[["__scopeId","data-v-982c4110"]]);const ae={key:0,class:"material-symbols-rounded"},se=["disabled","placeholder","type"],oe={__name:"PasswordInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,disabled:Boolean},emits:["update:modelValue","change","submit"],setup(i,{emit:d}){const n=i,p=k(n.modelValue);q(()=>n.modelValue,h=>{p.value=h});const c=()=>{d("update:modelValue",p.value),d("change",p.value)},m=h=>{h.key==="Enter"&&d("submit",p)},l=k(!1);return(h,f)=>(b(),x("div",{class:$([{disabled:i.disabled},"text-input-with-icon rounded-3xl flex items-center px-4"])},[i.icon?(b(),x("span",ae,w(i.icon),1)):C("",!0),j(a("input",{"onUpdate:modelValue":f[0]||(f[0]=S=>p.value=S),disabled:i.disabled,placeholder:i.placeholder,type:l.value?"text":"password",onInput:c,onKeyup:m},null,40,se),[[F,p.value]]),a("span",{class:"material-symbols-rounded cursor-pointer",onClick:f[1]||(f[1]=S=>l.value=!l.value)},w(l.value?"visibility":"visibility_off"),1)],2))}},A=P(oe,[["__scopeId","data-v-5e026540"]]);const ne={name:"Theme",props:{name:String},methods:{selected(){return T.getCurrentTheme()==this.name},select(){T.setTheme(this.name),this.$emit("selected")}}},ie=["src"];function de(i,d,n,p,c,m){return b(),x("div",{onClick:d[0]||(d[0]=(...l)=>m.select&&m.select(...l)),class:"wrapper"},[a("p",{class:$(["mb-4",{selected:m.selected()}])},w(n.name),3),a("img",{src:`/assets/img/themes/${this.name}.svg`,class:$({selected:m.selected()})},null,10,ie)])}const ue=P(ne,[["render",de],["__scopeId","data-v-74855c2d"]]),u=i=>(R("data-v-519432f4"),i=i(),Q(),i),re={class:"p-[10px] preferences"},ce=u(()=>a("summary",{class:"cursor-pointer"},"How to",-1)),pe=u(()=>a("p",null,[E("1) Head over to the "),a("a",{href:"https://developer.spotify.com/dashboard/applications",target:"_blank"},"spotify developer dashboard")],-1)),me=u(()=>a("p",null,"2) Create An App",-1)),ve=u(()=>a("p",null,"3) Enter any name and any description",-1)),be=u(()=>a("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),he=u(()=>a("hr",{class:"my-4"},null,-1)),fe=u(()=>a("h5",null,"Client ID: ",-1)),_e=u(()=>a("h5",{class:"mt-4"},"Client Secret: ",-1)),ge=u(()=>a("h2",{class:"mt-[10px]"},"Player",-1)),ye=u(()=>a("h2",{class:"mt-[10px]"},"Theme",-1)),Ve={class:"themes"},ke=u(()=>a("h2",{class:"mt-[10px]"},"Sidebar",-1)),we=u(()=>a("h2",{class:"mt-[10px]"},"Cache Behaviour",-1)),Ce=u(()=>a("h2",{class:"mt-[10px]"},"Github",-1)),xe=u(()=>a("h5",{class:"mt-4"},"PAT: ",-1)),Se=u(()=>a("h5",{class:"mt-4"},"Gist ID: ",-1)),Ie=u(()=>a("h2",{class:"mt-[10px]"},"My Data",-1)),$e=O({__name:"index",setup(i){const d=k(!1),n=k({id:"",secret:""}),p=N(()=>d.value?Object.values(n.value).some(o=>o==="")?!1:n.value.id!==c.value.id||n.value.secret!==c.value.secret||d.value!==c.value.enabled:c.value.enabled),c=k({id:"",secret:"",enabled:!1});fetch("/api/config/spotify").then(async o=>{let e={id:"",secret:"",enabled:!1};if(o.status==200)e=await o.json();else if([204,401].includes(o.status))e={id:"restricted",secret:"restricted",enabled:!1};else throw new Error("Failed to fetch spotify config");c.value=e,c.value.enabled=![e.id,e.secret].includes("restricted"),d.value=c.value.enabled,n.value.id=e.id.replace("restricted",""),n.value.secret=e.secret.replace("restricted","")});const m=async()=>{if(!p.value)return;let o=n.value.id,e=n.value.secret;d.value||(e=o="restricted"),(await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:o,secret:e})})).ok&&(c.value={id:o,secret:e,enabled:d.value})},l=k(null),h=k("");H().then(o=>{l.value=o,h.value=JSON.stringify(o)});const f=N(()=>l.value?JSON.stringify(l.value)!==h.value:!1),S=async()=>{f.value&&(await L(l.value),h.value=JSON.stringify(l.value))},v=M(),G=["dynamic","light","dark"],W=()=>{localStorage.clear(),sessionStorage.clear(),window.location.reload()},U=`http://${window.location.host}/api/spotify/callback`;return q(()=>{var o,e;return(e=(o=l.value)==null?void 0:o.github)==null?void 0:e.githubPat},async()=>{var o,e;(e=(o=l.value)==null?void 0:o.github)!=null&&e.githubPat&&(l.value.github.gistId||(l.value.github.gistId=await X.search(l.value.github.githubPat),console.log(l.value.github.gistId)))}),(o,e)=>(b(),x("div",re,[s(g,{"aria-description":"spotify",class:"p-4 pt-0"},{default:_(()=>[s(V,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=t=>d.value=t),class:"h2 mb-2",label:"Spotify"},null,8,["modelValue"]),a("details",null,[ce,pe,me,ve,a("p",null,[E("4) Edit the settings: set the redirect url to "),a("a",{href:U},w(U))]),be]),he,fe,s(A,{modelValue:n.value.id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.value.id=t),disabled:!d.value,icon:"token"},null,8,["modelValue","disabled"]),_e,s(A,{modelValue:n.value.secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.value.secret=t),disabled:!d.value,icon:"lock"},null,8,["modelValue","disabled"]),s(y,{disabled:!r(p),class:"ml-auto mt-4",icon:"save",label:"Save",onClick:m},null,8,["disabled"])]),_:1}),s(g,{"aria-description":"player",class:"p-4 pt-0"},{default:_(()=>[ge,s(V,{modelValue:r(v).player.pictureInPicture,"onUpdate:modelValue":e[3]||(e[3]=t=>r(v).player.pictureInPicture=t),label:"Support Picture in Picture",sublabel:"this will slightly reduce performance"},null,8,["modelValue"]),s(D,{modelValue:r(v).player.type,"onUpdate:modelValue":e[4]||(e[4]=t=>r(v).player.type=t),options:[{value:"web",label:"Native player",icon:"horizontal_rule"},{value:"web/wave",label:"Wave player",icon:"graphic_eq"}],icon:"music_note"},null,8,["modelValue"])]),_:1}),s(g,{"aria-description":"theme",class:"p-4 pt-0"},{default:_(()=>[ye,s(V,{modelValue:r(v).ambient,"onUpdate:modelValue":e[5]||(e[5]=t=>r(v).ambient=t),disabled:!r(v).themeSupportsAmbient,label:"Ambient"},null,8,["modelValue","disabled"]),a("div",Ve,[(b(),x(z,null,K(G,(t,J)=>s(ue,{key:J,name:t},null,8,["name"])),64))])]),_:1}),s(g,{"aria-description":"sidebar",class:"p-4 pt-0"},{default:_(()=>[ke,s(V,{modelValue:r(v).sidebar.news,"onUpdate:modelValue":e[6]||(e[6]=t=>r(v).sidebar.news=t),label:"Show 'News' Tab"},null,8,["modelValue"]),s(V,{modelValue:r(v).sidebar.sports,"onUpdate:modelValue":e[7]||(e[7]=t=>r(v).sidebar.sports=t),label:"Show 'Sports' Tab"},null,8,["modelValue"])]),_:1}),s(g,{"aria-description":"cache behaviour",class:"p-4 pt-0"},{default:_(()=>[we,l.value?(b(),I(V,{key:0,modelValue:l.value.cache.preserve,"onUpdate:modelValue":e[8]||(e[8]=t=>l.value.cache.preserve=t),label:"Preserve cache"},null,8,["modelValue"])):C("",!0),l.value?(b(),I(V,{key:1,modelValue:l.value.cache.preserveInSession,"onUpdate:modelValue":e[9]||(e[9]=t=>l.value.cache.preserveInSession=t),disabled:l.value.cache.preserve,label:"Preserve cache in session"},null,8,["modelValue","disabled"])):C("",!0),l.value?(b(),I(D,{key:2,modelValue:l.value.cache.strategy,"onUpdate:modelValue":e[10]||(e[10]=t=>l.value.cache.strategy=t),options:[{value:"all",label:"All Songs"},{value:"playlist",label:"Current Playlist"},{value:"currentNext",label:"Current + Next Song "},{value:"current",label:"Current Song Only"}],icon:"cached"},null,8,["modelValue"])):C("",!0),s(y,{disabled:!l.value||!r(f),class:"ml-auto mt-4",icon:"save",label:"Save",onClick:S},null,8,["disabled"])]),_:1}),s(g,{"aria-description":"github settings",class:"p-4 pt-0"},{default:_(()=>[Ce,xe,l.value?(b(),I(B,{key:0,modelValue:l.value.github.githubPat,"onUpdate:modelValue":e[11]||(e[11]=t=>l.value.github.githubPat=t),icon:"lock"},null,8,["modelValue"])):C("",!0),Se,l.value?(b(),I(B,{key:1,modelValue:l.value.github.gistId,"onUpdate:modelValue":e[12]||(e[12]=t=>l.value.github.gistId=t),icon:"numbers"},null,8,["modelValue"])):C("",!0),s(y,{disabled:!l.value||!r(f),class:"ml-auto mt-4",icon:"save",label:"Save",onClick:S},null,8,["disabled"])]),_:1}),s(g,{"aria-description":"my data",class:"p-4 pt-0"},{default:_(()=>[Ie,s(y,{class:"mx-auto mt-4",icon:"backup",label:"Back up database",onClick:e[13]||(e[13]=t=>o.$router.push("/export"))}),s(y,{class:"mx-auto mt-4",icon:"cloud_download",label:"Import database",onClick:e[14]||(e[14]=t=>o.$router.push("/import"))}),s(y,{class:"mx-auto mt-4",icon:"delete",label:"Clean browser settings",onClick:W}),s(y,{class:"mx-auto mt-4",icon:"folder",label:"Manage files",onClick:e[15]||(e[15]=t=>o.$router.push("/preferences/my-data"))})]),_:1})]))}});const De=P($e,[["__scopeId","data-v-519432f4"]]);export{De as default}; diff --git a/src/ui/dist/assets/index-cd6ad498.js.gz b/src/ui/dist/assets/index-cd6ad498.js.gz new file mode 100644 index 000000000..b0b56876f Binary files /dev/null and b/src/ui/dist/assets/index-cd6ad498.js.gz differ diff --git a/src/ui/dist/assets/index-e23b36b9.js b/src/ui/dist/assets/index-e23b36b9.js deleted file mode 100644 index 05039c87a..000000000 --- a/src/ui/dist/assets/index-e23b36b9.js +++ /dev/null @@ -1,45 +0,0 @@ -var f2=Object.defineProperty;var d2=(e,t,r)=>t in e?f2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Pi=(e,t,r)=>(d2(e,typeof t!="symbol"?t+"":t,r),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerpolicy&&(l.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?l.credentials="include":o.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();function h2(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const p2=()=>{},Wu=Object.assign,g2=Object.prototype.hasOwnProperty,ga=(e,t)=>g2.call(e,t),rr=Array.isArray,jo=e=>wp(e)==="[object Map]",m2=e=>typeof e=="function",v2=e=>typeof e=="string",Fu=e=>typeof e=="symbol",ma=e=>e!==null&&typeof e=="object",y2=Object.prototype.toString,wp=e=>y2.call(e),_2=e=>wp(e).slice(8,-1),Vu=e=>v2(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Hu=(e,t)=>!Object.is(e,t),b2=(e,t,r)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})};let un;class Ap{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&un&&(this.parent=un,this.index=(un.scopes||(un.scopes=[])).push(this)-1)}run(t){if(this.active){const r=un;try{return un=this,t()}finally{un=r}}}on(){un=this}off(){un=this.parent}stop(t){if(this.active){let r,s;for(r=0,s=this.effects.length;r{const t=new Set(e);return t.w=0,t.n=0,t},Cp=e=>(e.w&Or)>0,Ep=e=>(e.n&Or)>0,x2=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let s=0;s{(h==="length"||h>=s)&&c.push(d)});else switch(r!==void 0&&c.push(u.get(r)),t){case"add":rr(e)?Vu(r)&&c.push(u.get("length")):(c.push(u.get(Qr)),jo(e)&&c.push(u.get(pu)));break;case"delete":rr(e)||(c.push(u.get(Qr)),jo(e)&&c.push(u.get(pu)));break;case"set":jo(e)&&c.push(u.get(Qr));break}if(c.length===1)c[0]&&gu(c[0]);else{const d=[];for(const h of c)h&&d.push(...h);gu(Uu(d))}}function gu(e,t){const r=rr(e)?e:[...e];for(const s of r)s.computed&&Zd(s);for(const s of r)s.computed||Zd(s)}function Zd(e,t){(e!==Sn||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const C2=h2("__proto__,__v_isRef,__isVue"),Op=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Fu)),E2=ya(),k2=ya(!1,!0),S2=ya(!0),O2=ya(!0,!0),Gd=R2();function R2(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const s=Ze(this);for(let l=0,u=this.length;l{e[t]=function(...r){ri();const s=Ze(this)[t].apply(this,r);return ii(),s}}),e}function ya(e=!1,t=!1){return function(s,o,l){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&l===(e?t?Bp:$p:t?Lp:Ip).get(s))return s;const u=rr(s);if(!e&&u&&ga(Gd,o))return Reflect.get(Gd,o,l);const c=Reflect.get(s,o,l);return(Fu(o)?Op.has(o):C2(o))||(e||fn(s,"get",o),t)?c:vt(c)?u&&Vu(o)?c:c.value:ma(c)?e?Dp(c):si(c):c}}const T2=Rp(),M2=Rp(!0);function Rp(e=!1){return function(r,s,o,l){let u=r[s];if(Ii(u)&&vt(u)&&!vt(o))return!1;if(!e&&(!Qo(o)&&!Ii(o)&&(u=Ze(u),o=Ze(o)),!rr(r)&&vt(u)&&!vt(o)))return u.value=o,!0;const c=rr(r)&&Vu(s)?Number(s)e,_a=e=>Reflect.getPrototypeOf(e);function Io(e,t,r=!1,s=!1){e=e.__v_raw;const o=Ze(e),l=Ze(t);r||(t!==l&&fn(o,"get",t),fn(o,"get",l));const{has:u}=_a(o),c=s?qu:r?ju:Rs;if(u.call(o,t))return c(e.get(t));if(u.call(o,l))return c(e.get(l));e!==o&&e.get(t)}function Lo(e,t=!1){const r=this.__v_raw,s=Ze(r),o=Ze(e);return t||(e!==o&&fn(s,"has",e),fn(s,"has",o)),e===o?r.has(e):r.has(e)||r.has(o)}function $o(e,t=!1){return e=e.__v_raw,!t&&fn(Ze(e),"iterate",Qr),Reflect.get(e,"size",e)}function Yd(e){e=Ze(e);const t=Ze(this);return _a(t).has.call(t,e)||(t.add(e),sr(t,"add",e,e)),this}function Jd(e,t){t=Ze(t);const r=Ze(this),{has:s,get:o}=_a(r);let l=s.call(r,e);l||(e=Ze(e),l=s.call(r,e));const u=o.call(r,e);return r.set(e,t),l?Hu(t,u)&&sr(r,"set",e,t):sr(r,"add",e,t),this}function Xd(e){const t=Ze(this),{has:r,get:s}=_a(t);let o=r.call(t,e);o||(e=Ze(e),o=r.call(t,e)),s&&s.call(t,e);const l=t.delete(e);return o&&sr(t,"delete",e,void 0),l}function Qd(){const e=Ze(this),t=e.size!==0,r=e.clear();return t&&sr(e,"clear",void 0,void 0),r}function Bo(e,t){return function(s,o){const l=this,u=l.__v_raw,c=Ze(u),d=t?qu:e?ju:Rs;return!e&&fn(c,"iterate",Qr),u.forEach((h,p)=>s.call(o,d(h),d(p),l))}}function Do(e,t,r){return function(...s){const o=this.__v_raw,l=Ze(o),u=jo(l),c=e==="entries"||e===Symbol.iterator&&u,d=e==="keys"&&u,h=o[e](...s),p=r?qu:t?ju:Rs;return!t&&fn(l,"iterate",d?pu:Qr),{next(){const{value:m,done:g}=h.next();return g?{value:m,done:g}:{value:c?[p(m[0]),p(m[1])]:p(m),done:g}},[Symbol.iterator](){return this}}}}function vr(e){return function(...t){return e==="delete"?!1:this}}function N2(){const e={get(l){return Io(this,l)},get size(){return $o(this)},has:Lo,add:Yd,set:Jd,delete:Xd,clear:Qd,forEach:Bo(!1,!1)},t={get(l){return Io(this,l,!1,!0)},get size(){return $o(this)},has:Lo,add:Yd,set:Jd,delete:Xd,clear:Qd,forEach:Bo(!1,!0)},r={get(l){return Io(this,l,!0)},get size(){return $o(this,!0)},has(l){return Lo.call(this,l,!0)},add:vr("add"),set:vr("set"),delete:vr("delete"),clear:vr("clear"),forEach:Bo(!0,!1)},s={get(l){return Io(this,l,!0,!0)},get size(){return $o(this,!0)},has(l){return Lo.call(this,l,!0)},add:vr("add"),set:vr("set"),delete:vr("delete"),clear:vr("clear"),forEach:Bo(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Do(l,!1,!1),r[l]=Do(l,!0,!1),t[l]=Do(l,!1,!0),s[l]=Do(l,!0,!0)}),[e,r,t,s]}const[W2,F2,V2,H2]=N2();function ba(e,t){const r=t?e?H2:V2:e?F2:W2;return(s,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ga(r,o)&&o in s?r:s,o,l)}const U2={get:ba(!1,!1)},q2={get:ba(!1,!0)},j2={get:ba(!0,!1)},K2={get:ba(!0,!0)},Ip=new WeakMap,Lp=new WeakMap,$p=new WeakMap,Bp=new WeakMap;function z2(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Z2(e){return e.__v_skip||!Object.isExtensible(e)?0:z2(_2(e))}function si(e){return Ii(e)?e:wa(e,!1,Tp,U2,Ip)}function G2(e){return wa(e,!1,B2,q2,Lp)}function Dp(e){return wa(e,!0,Mp,j2,$p)}function XE(e){return wa(e,!0,D2,K2,Bp)}function wa(e,t,r,s,o){if(!ma(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const u=Z2(e);if(u===0)return e;const c=new Proxy(e,u===2?s:r);return o.set(e,c),c}function kr(e){return Ii(e)?kr(e.__v_raw):!!(e&&e.__v_isReactive)}function Ii(e){return!!(e&&e.__v_isReadonly)}function Qo(e){return!!(e&&e.__v_isShallow)}function Np(e){return kr(e)||Ii(e)}function Ze(e){const t=e&&e.__v_raw;return t?Ze(t):e}function Li(e){return b2(e,"__v_skip",!0),e}const Rs=e=>ma(e)?si(e):e,ju=e=>ma(e)?Dp(e):e;function Ku(e){Er&&Sn&&(e=Ze(e),Sp(e.dep||(e.dep=Uu())))}function Aa(e,t){e=Ze(e),e.dep&&gu(e.dep)}function vt(e){return!!(e&&e.__v_isRef===!0)}function $e(e){return Wp(e,!1)}function Y2(e){return Wp(e,!0)}function Wp(e,t){return vt(e)?e:new J2(e,t)}class J2{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:Ze(t),this._value=r?t:Rs(t)}get value(){return Ku(this),this._value}set value(t){const r=this.__v_isShallow||Qo(t)||Ii(t);t=r?t:Ze(t),Hu(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:Rs(t),Aa(this))}}function QE(e){Aa(e)}function Q(e){return vt(e)?e.value:e}const X2={get:(e,t,r)=>Q(Reflect.get(e,t,r)),set:(e,t,r,s)=>{const o=e[t];return vt(o)&&!vt(r)?(o.value=r,!0):Reflect.set(e,t,r,s)}};function Fp(e){return kr(e)?e:new Proxy(e,X2)}class Q2{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:s}=t(()=>Ku(this),()=>Aa(this));this._get=r,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function ek(e){return new Q2(e)}function eA(e){const t=rr(e)?new Array(e.length):{};for(const r in e)t[r]=nA(e,r);return t}class tA{constructor(t,r,s){this._object=t,this._key=r,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function nA(e,t,r){const s=e[t];return vt(s)?s:new tA(e,t,r)}var Vp;class rA{constructor(t,r,s,o){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this[Vp]=!1,this._dirty=!0,this.effect=new va(t,()=>{this._dirty||(this._dirty=!0,Aa(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=Ze(this);return Ku(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Vp="__v_isReadonly";function iA(e,t,r=!1){let s,o;const l=m2(e);return l?(s=e,o=p2):(s=e.get,o=e.set),new rA(s,o,l||!o,r)}function Hp(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const sA="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",oA=Hp(sA);function Lr(e){if(He(e)){const t={};for(let r=0;r{if(r){const s=r.split(lA);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function st(e){let t="";if(St(e))t=e;else if(He(e))for(let r=0;rSt(e)?e:e==null?"":He(e)||At(e)&&(e.toString===zp||!De(e.toString))?JSON.stringify(e,Up,2):String(e),Up=(e,t)=>t&&t.__v_isRef?Up(e,t.value):jp(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[s,o])=>(r[`${s} =>`]=o,r),{})}:Kp(t)?{[`Set(${t.size})`]:[...t.values()]}:At(t)&&!He(t)&&!Zp(t)?String(t):t,lt={},Si=[],Wn=()=>{},cA=()=>!1,fA=/^on[^a-z]/,xa=e=>fA.test(e),qp=e=>e.startsWith("onUpdate:"),en=Object.assign,zu=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},dA=Object.prototype.hasOwnProperty,Qe=(e,t)=>dA.call(e,t),He=Array.isArray,jp=e=>Gu(e)==="[object Map]",Kp=e=>Gu(e)==="[object Set]",De=e=>typeof e=="function",St=e=>typeof e=="string",At=e=>e!==null&&typeof e=="object",Zu=e=>At(e)&&De(e.then)&&De(e.catch),zp=Object.prototype.toString,Gu=e=>zp.call(e),Zp=e=>Gu(e)==="[object Object]",bs=Hp(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Pa=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},hA=/-(\w)/g,Fn=Pa(e=>e.replace(hA,(t,r)=>r?r.toUpperCase():"")),pA=/\B([A-Z])/g,Ca=Pa(e=>e.replace(pA,"-$1").toLowerCase()),Yu=Pa(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ko=Pa(e=>e?`on${Yu(e)}`:""),mu=(e,t)=>!Object.is(e,t),ws=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},Gp=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let eh;const gA=()=>eh||(eh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),As=[];function mA(e,...t){ri();const r=As.length?As[As.length-1].component:null,s=r&&r.appContext.config.warnHandler,o=vA();if(s)ir(s,r,11,[e+t.join(""),r&&r.proxy,o.map(({vnode:l})=>`at <${kg(r,l.type)}>`).join(` -`),o]);else{const l=[`[Vue warn]: ${e}`,...t];o.length&&l.push(` -`,...yA(o)),console.warn(...l)}ii()}function vA(){let e=As[As.length-1];if(!e)return[];const t=[];for(;e;){const r=t[0];r&&r.vnode===e?r.recurseCount++:t.push({vnode:e,recurseCount:0});const s=e.component&&e.component.parent;e=s&&s.vnode}return t}function yA(e){const t=[];return e.forEach((r,s)=>{t.push(...s===0?[]:[` -`],..._A(r))}),t}function _A({vnode:e,recurseCount:t}){const r=t>0?`... (${t} recursive calls)`:"",s=e.component?e.component.parent==null:!1,o=` at <${kg(e.component,e.type,s)}`,l=">"+r;return e.props?[o,...bA(e.props),l]:[o+l]}function bA(e){const t=[],r=Object.keys(e);return r.slice(0,3).forEach(s=>{t.push(...Yp(s,e[s]))}),r.length>3&&t.push(" ..."),t}function Yp(e,t,r){return St(t)?(t=JSON.stringify(t),r?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?r?t:[`${e}=${t}`]:vt(t)?(t=Yp(e,Ze(t.value),!0),r?t:[`${e}=Ref<`,t,">"]):De(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ze(t),r?t:[`${e}=`,t])}function ir(e,t,r,s){let o;try{o=s?e(...s):e()}catch(l){Ui(l,t,r)}return o}function An(e,t,r,s){if(De(e)){const l=ir(e,t,r,s);return l&&Zu(l)&&l.catch(u=>{Ui(u,t,r)}),l}const o=[];for(let l=0;l>>1;Ms(Bt[s])Bn&&Bt.splice(t,1)}function Qp(e){He(e)?Oi.push(...e):(!er||!er.includes(e,e.allowRecurse?Gr+1:Gr))&&Oi.push(e),Xp()}function th(e,t=Ts?Bn+1:0){for(;tMs(r)-Ms(s)),Gr=0;Gre.id==null?1/0:e.id,PA=(e,t)=>{const r=Ms(e)-Ms(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function eg(e){yu=!1,Ts=!0,Bt.sort(PA);const t=Wn;try{for(Bn=0;Bnss.emit(o,...l)),No=[]):typeof window<"u"&&window.HTMLElement&&!(!((s=(r=window.navigator)===null||r===void 0?void 0:r.userAgent)===null||s===void 0)&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(l=>{CA(l,t)}),setTimeout(()=>{ss||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,No=[])},3e3)):No=[]}function EA(e,t,...r){if(e.isUnmounted)return;const s=e.vnode.props||lt;let o=r;const l=t.startsWith("update:"),u=l&&t.slice(7);if(u&&u in s){const p=`${u==="modelValue"?"model":u}Modifiers`,{number:m,trim:g}=s[p]||lt;g&&(o=r.map(P=>P.trim())),m&&(o=r.map(Gp))}let c,d=s[c=Ko(t)]||s[c=Ko(Fn(t))];!d&&l&&(d=s[c=Ko(Ca(t))]),d&&An(d,e,6,o);const h=s[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,An(h,e,6,o)}}function tg(e,t,r=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const l=e.emits;let u={},c=!1;if(!De(e)){const d=h=>{const p=tg(h,t,!0);p&&(c=!0,en(u,p))};!r&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}return!l&&!c?(At(e)&&s.set(e,null),null):(He(l)?l.forEach(d=>u[d]=null):en(u,l),At(e)&&s.set(e,u),u)}function ka(e,t){return!e||!xa(t)?!1:(t=t.slice(2).replace(/Once$/,""),Qe(e,t[0].toLowerCase()+t.slice(1))||Qe(e,Ca(t))||Qe(e,t))}let Dt=null,Sa=null;function Is(e){const t=Dt;return Dt=e,Sa=e&&e.type.__scopeId||null,t}function Oa(e){Sa=e}function Ra(){Sa=null}const nk=e=>$t;function $t(e,t=Dt,r){if(!t||e._n)return e;const s=(...o)=>{s._d&&ph(-1);const l=Is(t),u=e(...o);return Is(l),s._d&&ph(1),u};return s._n=!0,s._c=!0,s._d=!0,s}function zo(e){const{type:t,vnode:r,proxy:s,withProxy:o,props:l,propsOptions:[u],slots:c,attrs:d,emit:h,render:p,renderCache:m,data:g,setupState:P,ctx:E,inheritAttrs:B}=e;let $,k;const y=Is(e);try{if(r.shapeFlag&4){const W=o||s;$=cn(p.call(W,W,m,l,P,g,E)),k=d}else{const W=t;$=cn(W.length>1?W(l,{attrs:d,slots:c,emit:h}):W(l,null)),k=t.props?d:SA(d)}}catch(W){Ps.length=0,Ui(W,e,1),$=ge(qt)}let O=$;if(k&&B!==!1){const W=Object.keys(k),{shapeFlag:U}=O;W.length&&U&7&&(u&&W.some(qp)&&(k=OA(k,u)),O=or(O,k))}return r.dirs&&(O=or(O),O.dirs=O.dirs?O.dirs.concat(r.dirs):r.dirs),r.transition&&(O.transition=r.transition),$=O,Is(y),$}function kA(e){let t;for(let r=0;r{let t;for(const r in e)(r==="class"||r==="style"||xa(r))&&((t||(t={}))[r]=e[r]);return t},OA=(e,t)=>{const r={};for(const s in e)(!qp(s)||!(s.slice(9)in t))&&(r[s]=e[s]);return r};function RA(e,t,r){const{props:s,children:o,component:l}=e,{props:u,children:c,patchFlag:d}=t,h=l.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&d>=0){if(d&1024)return!0;if(d&16)return s?nh(s,u,h):!!u;if(d&8){const p=t.dynamicProps;for(let m=0;me.__isSuspense,TA={name:"Suspense",__isSuspense:!0,process(e,t,r,s,o,l,u,c,d,h){e==null?MA(t,r,s,o,l,u,c,d,h):IA(e,t,r,s,o,u,c,d,h)},hydrate:LA,create:Qu,normalize:$A},rk=TA;function Ls(e,t){const r=e.props&&e.props[t];De(r)&&r()}function MA(e,t,r,s,o,l,u,c,d){const{p:h,o:{createElement:p}}=d,m=p("div"),g=e.suspense=Qu(e,o,s,t,m,r,l,u,c,d);h(null,g.pendingBranch=e.ssContent,m,null,s,g,l,u),g.deps>0?(Ls(e,"onPending"),Ls(e,"onFallback"),h(null,e.ssFallback,t,r,s,null,l,u),Ri(g,e.ssFallback)):g.resolve()}function IA(e,t,r,s,o,l,u,c,{p:d,um:h,o:{createElement:p}}){const m=t.suspense=e.suspense;m.vnode=t,t.el=e.el;const g=t.ssContent,P=t.ssFallback,{activeBranch:E,pendingBranch:B,isInFallback:$,isHydrating:k}=m;if(B)m.pendingBranch=g,Dn(g,B)?(d(B,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():$&&(d(E,P,r,s,o,null,l,u,c),Ri(m,P))):(m.pendingId++,k?(m.isHydrating=!1,m.activeBranch=B):h(B,o,m),m.deps=0,m.effects.length=0,m.hiddenContainer=p("div"),$?(d(null,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():(d(E,P,r,s,o,null,l,u,c),Ri(m,P))):E&&Dn(g,E)?(d(E,g,r,s,o,m,l,u,c),m.resolve(!0)):(d(null,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0&&m.resolve()));else if(E&&Dn(g,E))d(E,g,r,s,o,m,l,u,c),Ri(m,g);else if(Ls(t,"onPending"),m.pendingBranch=g,m.pendingId++,d(null,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0)m.resolve();else{const{timeout:y,pendingId:O}=m;y>0?setTimeout(()=>{m.pendingId===O&&m.fallback(P)},y):y===0&&m.fallback(P)}}function Qu(e,t,r,s,o,l,u,c,d,h,p=!1){const{p:m,m:g,um:P,n:E,o:{parentNode:B,remove:$}}=h,k=Gp(e.props&&e.props.timeout),y={vnode:e,parent:t,parentComponent:r,isSVG:u,container:s,hiddenContainer:o,anchor:l,deps:0,pendingId:0,timeout:typeof k=="number"?k:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:p,isUnmounted:!1,effects:[],resolve(O=!1){const{vnode:W,activeBranch:U,pendingBranch:z,pendingId:H,effects:I,parentComponent:j,container:Z}=y;if(y.isHydrating)y.isHydrating=!1;else if(!O){const T=U&&z.transition&&z.transition.mode==="out-in";T&&(U.transition.afterLeave=()=>{H===y.pendingId&&g(z,Z,L,0)});let{anchor:L}=y;U&&(L=E(U),P(U,j,y,!0)),T||g(z,Z,L,0)}Ri(y,z),y.pendingBranch=null,y.isInFallback=!1;let V=y.parent,w=!1;for(;V;){if(V.pendingBranch){V.effects.push(...I),w=!0;break}V=V.parent}w||Qp(I),y.effects=[],Ls(W,"onResolve")},fallback(O){if(!y.pendingBranch)return;const{vnode:W,activeBranch:U,parentComponent:z,container:H,isSVG:I}=y;Ls(W,"onFallback");const j=E(U),Z=()=>{y.isInFallback&&(m(null,O,H,j,z,null,I,c,d),Ri(y,O))},V=O.transition&&O.transition.mode==="out-in";V&&(U.transition.afterLeave=Z),y.isInFallback=!0,P(U,z,null,!0),V||Z()},move(O,W,U){y.activeBranch&&g(y.activeBranch,O,W,U),y.container=O},next(){return y.activeBranch&&E(y.activeBranch)},registerDep(O,W){const U=!!y.pendingBranch;U&&y.deps++;const z=O.vnode.el;O.asyncDep.catch(H=>{Ui(H,O,0)}).then(H=>{if(O.isUnmounted||y.isUnmounted||y.pendingId!==O.suspenseId)return;O.asyncResolved=!0;const{vnode:I}=O;Cu(O,H,!1),z&&(I.el=z);const j=!z&&O.subTree.el;W(O,I,B(z||O.subTree.el),z?null:E(O.subTree),y,u,d),j&&$(j),Xu(O,I.el),U&&--y.deps===0&&y.resolve()})},unmount(O,W){y.isUnmounted=!0,y.activeBranch&&P(y.activeBranch,r,O,W),y.pendingBranch&&P(y.pendingBranch,r,O,W)}};return y}function LA(e,t,r,s,o,l,u,c,d){const h=t.suspense=Qu(t,s,r,e.parentNode,document.createElement("div"),null,o,l,u,c,!0),p=d(e,h.pendingBranch=t.ssContent,r,h,l,u);return h.deps===0&&h.resolve(),p}function $A(e){const{shapeFlag:t,children:r}=e,s=t&32;e.ssContent=rh(s?r.default:r),e.ssFallback=s?rh(r.fallback):ge(qt)}function rh(e){let t;if(De(e)){const r=ni&&e._c;r&&(e._d=!1,pe()),e=e(),r&&(e._d=!0,t=Jt,_g())}return He(e)&&(e=kA(e)),e=cn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(r=>r!==e)),e}function rg(e,t){t&&t.pendingBranch?He(e)?t.effects.push(...e):t.effects.push(e):Qp(e)}function Ri(e,t){e.activeBranch=t;const{vnode:r,parentComponent:s}=e,o=r.el=t.el;s&&s.subTree===r&&(s.vnode.el=o,Xu(s,o))}function Cr(e,t){if(Et){let r=Et.provides;const s=Et.parent&&Et.parent.provides;s===r&&(r=Et.provides=Object.create(s)),r[e]=t}}function Xt(e,t,r=!1){const s=Et||Dt;if(s){const o=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return r&&De(t)?t.call(s.proxy):t}}function ik(e,t){return Ws(e,null,t)}function BA(e,t){return Ws(e,null,{flush:"post"})}function sk(e,t){return Ws(e,null,{flush:"sync"})}const ih={};function ft(e,t,r){return Ws(e,t,r)}function Ws(e,t,{immediate:r,deep:s,flush:o,onTrack:l,onTrigger:u}=lt){const c=Et;let d,h=!1,p=!1;if(vt(e)?(d=()=>e.value,h=Qo(e)):kr(e)?(d=()=>e,s=!0):He(e)?(p=!0,h=e.some(k=>kr(k)||Qo(k)),d=()=>e.map(k=>{if(vt(k))return k.value;if(kr(k))return Xr(k);if(De(k))return ir(k,c,2)})):De(e)?t?d=()=>ir(e,c,2):d=()=>{if(!(c&&c.isUnmounted))return m&&m(),An(e,c,3,[g])}:d=Wn,t&&s){const k=d;d=()=>Xr(k())}let m,g=k=>{m=$.onStop=()=>{ir(k,c,4)}};if(Di)return g=Wn,t?r&&An(t,c,3,[d(),p?[]:void 0,g]):d(),Wn;let P=p?[]:ih;const E=()=>{if($.active)if(t){const k=$.run();(s||h||(p?k.some((y,O)=>mu(y,P[O])):mu(k,P)))&&(m&&m(),An(t,c,3,[k,P===ih?void 0:P,g]),P=k)}else $.run()};E.allowRecurse=!!t;let B;o==="sync"?B=E:o==="post"?B=()=>Mt(E,c&&c.suspense):(E.pre=!0,c&&(E.id=c.uid),B=()=>Ea(E));const $=new va(d,B);return t?r?E():P=$.run():o==="post"?Mt($.run.bind($),c&&c.suspense):$.run(),()=>{$.stop(),c&&c.scope&&zu(c.scope.effects,$)}}function DA(e,t,r){const s=this.proxy,o=St(e)?e.includes(".")?ig(s,e):()=>s[e]:e.bind(s,s);let l;De(t)?l=t:(l=t.handler,r=t);const u=Et;Tr(this);const c=Ws(o,l.bind(s),r);return u?Tr(u):Sr(),c}function ig(e,t){const r=t.split(".");return()=>{let s=e;for(let o=0;o{Xr(r,t)});else if(Zp(e))for(const r in e)Xr(e[r],t);return e}function sg(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ut(()=>{e.isMounted=!0}),Ma(()=>{e.isUnmounting=!0}),e}const wn=[Function,Array],NA={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:wn,onEnter:wn,onAfterEnter:wn,onEnterCancelled:wn,onBeforeLeave:wn,onLeave:wn,onAfterLeave:wn,onLeaveCancelled:wn,onBeforeAppear:wn,onAppear:wn,onAfterAppear:wn,onAppearCancelled:wn},setup(e,{slots:t}){const r=Br(),s=sg();let o;return()=>{const l=t.default&&ec(t.default(),!0);if(!l||!l.length)return;let u=l[0];if(l.length>1){for(const B of l)if(B.type!==qt){u=B;break}}const c=Ze(e),{mode:d}=c;if(s.isLeaving)return eu(u);const h=sh(u);if(!h)return eu(u);const p=$s(h,c,s,r);$i(h,p);const m=r.subTree,g=m&&sh(m);let P=!1;const{getTransitionKey:E}=h.type;if(E){const B=E();o===void 0?o=B:B!==o&&(o=B,P=!0)}if(g&&g.type!==qt&&(!Dn(h,g)||P)){const B=$s(g,c,s,r);if($i(g,B),d==="out-in")return s.isLeaving=!0,B.afterLeave=()=>{s.isLeaving=!1,r.update()},eu(u);d==="in-out"&&h.type!==qt&&(B.delayLeave=($,k,y)=>{const O=ag(s,g);O[String(g.key)]=g,$._leaveCb=()=>{k(),$._leaveCb=void 0,delete p.delayedLeave},p.delayedLeave=y})}return u}}},og=NA;function ag(e,t){const{leavingVNodes:r}=e;let s=r.get(t.type);return s||(s=Object.create(null),r.set(t.type,s)),s}function $s(e,t,r,s){const{appear:o,mode:l,persisted:u=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:h,onEnterCancelled:p,onBeforeLeave:m,onLeave:g,onAfterLeave:P,onLeaveCancelled:E,onBeforeAppear:B,onAppear:$,onAfterAppear:k,onAppearCancelled:y}=t,O=String(e.key),W=ag(r,e),U=(I,j)=>{I&&An(I,s,9,j)},z=(I,j)=>{const Z=j[1];U(I,j),He(I)?I.every(V=>V.length<=1)&&Z():I.length<=1&&Z()},H={mode:l,persisted:u,beforeEnter(I){let j=c;if(!r.isMounted)if(o)j=B||c;else return;I._leaveCb&&I._leaveCb(!0);const Z=W[O];Z&&Dn(e,Z)&&Z.el._leaveCb&&Z.el._leaveCb(),U(j,[I])},enter(I){let j=d,Z=h,V=p;if(!r.isMounted)if(o)j=$||d,Z=k||h,V=y||p;else return;let w=!1;const T=I._enterCb=L=>{w||(w=!0,L?U(V,[I]):U(Z,[I]),H.delayedLeave&&H.delayedLeave(),I._enterCb=void 0)};j?z(j,[I,T]):T()},leave(I,j){const Z=String(e.key);if(I._enterCb&&I._enterCb(!0),r.isUnmounting)return j();U(m,[I]);let V=!1;const w=I._leaveCb=T=>{V||(V=!0,j(),T?U(E,[I]):U(P,[I]),I._leaveCb=void 0,W[Z]===e&&delete W[Z])};W[Z]=e,g?z(g,[I,w]):w()},clone(I){return $s(I,t,r,s)}};return H}function eu(e){if(Fs(e))return e=or(e),e.children=null,e}function sh(e){return Fs(e)?e.children?e.children[0]:void 0:e}function $i(e,t){e.shapeFlag&6&&e.component?$i(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ec(e,t=!1,r){let s=[],o=0;for(let l=0;l1)for(let l=0;l!!e.type.__asyncLoader;function ok(e){De(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:s,delay:o=200,timeout:l,suspensible:u=!0,onError:c}=e;let d=null,h,p=0;const m=()=>(p++,d=null,g()),g=()=>{let P;return d||(P=d=t().catch(E=>{if(E=E instanceof Error?E:new Error(String(E)),c)return new Promise((B,$)=>{c(E,()=>B(m()),()=>$(E),p+1)});throw E}).then(E=>P!==d&&d?d:(E&&(E.__esModule||E[Symbol.toStringTag]==="Module")&&(E=E.default),h=E,E)))};return dt({name:"AsyncComponentWrapper",__asyncLoader:g,get __asyncResolved(){return h},setup(){const P=Et;if(h)return()=>tu(h,P);const E=y=>{d=null,Ui(y,P,13,!s)};if(u&&P.suspense||Di)return g().then(y=>()=>tu(y,P)).catch(y=>(E(y),()=>s?ge(s,{error:y}):null));const B=$e(!1),$=$e(),k=$e(!!o);return o&&setTimeout(()=>{k.value=!1},o),l!=null&&setTimeout(()=>{if(!B.value&&!$.value){const y=new Error(`Async component timed out after ${l}ms.`);E(y),$.value=y}},l),g().then(()=>{B.value=!0,P.parent&&Fs(P.parent.vnode)&&Ea(P.parent.update)}).catch(y=>{E(y),$.value=y}),()=>{if(B.value&&h)return tu(h,P);if($.value&&s)return ge(s,{error:$.value});if(r&&!k.value)return ge(r)}}})}function tu(e,{vnode:{ref:t,props:r,children:s,shapeFlag:o},parent:l}){const u=ge(e,r,s);return u.ref=t,u}const Fs=e=>e.type.__isKeepAlive,WA={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const r=Br(),s=r.ctx;if(!s.renderer)return()=>{const y=t.default&&t.default();return y&&y.length===1?y[0]:y};const o=new Map,l=new Set;let u=null;const c=r.suspense,{renderer:{p:d,m:h,um:p,o:{createElement:m}}}=s,g=m("div");s.activate=(y,O,W,U,z)=>{const H=y.component;h(y,O,W,0,c),d(H.vnode,y,O,W,H,c,U,y.slotScopeIds,z),Mt(()=>{H.isDeactivated=!1,H.a&&ws(H.a);const I=y.props&&y.props.onVnodeMounted;I&&Yt(I,H.parent,y)},c)},s.deactivate=y=>{const O=y.component;h(y,g,null,1,c),Mt(()=>{O.da&&ws(O.da);const W=y.props&&y.props.onVnodeUnmounted;W&&Yt(W,O.parent,y),O.isDeactivated=!0},c)};function P(y){nu(y),p(y,r,c,!0)}function E(y){o.forEach((O,W)=>{const U=aa(O.type);U&&(!y||!y(U))&&B(W)})}function B(y){const O=o.get(y);!u||O.type!==u.type?P(O):u&&nu(u),o.delete(y),l.delete(y)}ft(()=>[e.include,e.exclude],([y,O])=>{y&&E(W=>ps(y,W)),O&&E(W=>!ps(O,W))},{flush:"post",deep:!0});let $=null;const k=()=>{$!=null&&o.set($,ru(r.subTree))};return Ut(k),tc(k),Ma(()=>{o.forEach(y=>{const{subTree:O,suspense:W}=r,U=ru(O);if(y.type===U.type){nu(U);const z=U.component.da;z&&Mt(z,W);return}P(y)})}),()=>{if($=null,!t.default)return null;const y=t.default(),O=y[0];if(y.length>1)return u=null,y;if(!Rr(O)||!(O.shapeFlag&4)&&!(O.shapeFlag&128))return u=null,O;let W=ru(O);const U=W.type,z=aa(ei(W)?W.type.__asyncResolved||{}:U),{include:H,exclude:I,max:j}=e;if(H&&(!z||!ps(H,z))||I&&z&&ps(I,z))return u=W,O;const Z=W.key==null?U:W.key,V=o.get(Z);return W.el&&(W=or(W),O.shapeFlag&128&&(O.ssContent=W)),$=Z,V?(W.el=V.el,W.component=V.component,W.transition&&$i(W,W.transition),W.shapeFlag|=512,l.delete(Z),l.add(Z)):(l.add(Z),j&&l.size>parseInt(j,10)&&B(l.values().next().value)),W.shapeFlag|=256,u=W,ng(O.type)?O:W}}},ak=WA;function ps(e,t){return He(e)?e.some(r=>ps(r,t)):St(e)?e.split(",").includes(t):e.test?e.test(t):!1}function FA(e,t){lg(e,"a",t)}function VA(e,t){lg(e,"da",t)}function lg(e,t,r=Et){const s=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Ta(t,s,r),r){let o=r.parent;for(;o&&o.parent;)Fs(o.parent.vnode)&&HA(s,t,r,o),o=o.parent}}function HA(e,t,r,s){const o=Ta(t,e,s,!0);nc(()=>{zu(s[t],o)},r)}function nu(e){let t=e.shapeFlag;t&256&&(t-=256),t&512&&(t-=512),e.shapeFlag=t}function ru(e){return e.shapeFlag&128?e.ssContent:e}function Ta(e,t,r=Et,s=!1){if(r){const o=r[e]||(r[e]=[]),l=t.__weh||(t.__weh=(...u)=>{if(r.isUnmounted)return;ri(),Tr(r);const c=An(t,r,e,u);return Sr(),ii(),c});return s?o.unshift(l):o.push(l),l}}const ar=e=>(t,r=Et)=>(!Di||e==="sp")&&Ta(e,(...s)=>t(...s),r),UA=ar("bm"),Ut=ar("m"),qA=ar("bu"),tc=ar("u"),Ma=ar("bum"),nc=ar("um"),jA=ar("sp"),KA=ar("rtg"),zA=ar("rtc");function ZA(e,t=Et){Ta("ec",e,t)}function ta(e,t){const r=Dt;if(r===null)return e;const s=La(r)||r.proxy,o=e.dirs||(e.dirs=[]);for(let l=0;lt(u,c,void 0,l&&l[c]));else{const u=Object.keys(e);o=new Array(u.length);for(let c=0,d=u.length;c{const l=s.fn(...o);return l&&(l.key=s.key),l}:s.fn)}return e}function na(e,t,r={},s,o){if(Dt.isCE||Dt.parent&&ei(Dt.parent)&&Dt.parent.isCE)return ge("slot",t==="default"?null:{name:t},s&&s());let l=e[t];l&&l._c&&(l._d=!1),pe();const u=l&&cg(l(r)),c=at(rt,{key:r.key||u&&u.key||`_${t}`},u||(s?s():[]),u&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function cg(e){return e.some(t=>Rr(t)?!(t.type===qt||t.type===rt&&!cg(t.children)):!0)?e:null}function fk(e,t){const r={};for(const s in e)r[t&&/[A-Z]/.test(s)?`on:${s}`:Ko(s)]=e[s];return r}const _u=e=>e?xg(e)?La(e)||e.proxy:_u(e.parent):null,ra=en(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>_u(e.parent),$root:e=>_u(e.root),$emit:e=>e.emit,$options:e=>sc(e),$forceUpdate:e=>e.f||(e.f=()=>Ea(e.update)),$nextTick:e=>e.n||(e.n=$r.bind(e.proxy)),$watch:e=>DA.bind(e)}),bu={get({_:e},t){const{ctx:r,setupState:s,data:o,props:l,accessCache:u,type:c,appContext:d}=e;let h;if(t[0]!=="$"){const P=u[t];if(P!==void 0)switch(P){case 1:return s[t];case 2:return o[t];case 4:return r[t];case 3:return l[t]}else{if(s!==lt&&Qe(s,t))return u[t]=1,s[t];if(o!==lt&&Qe(o,t))return u[t]=2,o[t];if((h=e.propsOptions[0])&&Qe(h,t))return u[t]=3,l[t];if(r!==lt&&Qe(r,t))return u[t]=4,r[t];wu&&(u[t]=0)}}const p=ra[t];let m,g;if(p)return t==="$attrs"&&fn(e,"get",t),p(e);if((m=c.__cssModules)&&(m=m[t]))return m;if(r!==lt&&Qe(r,t))return u[t]=4,r[t];if(g=d.config.globalProperties,Qe(g,t))return g[t]},set({_:e},t,r){const{data:s,setupState:o,ctx:l}=e;return o!==lt&&Qe(o,t)?(o[t]=r,!0):s!==lt&&Qe(s,t)?(s[t]=r,!0):Qe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:s,appContext:o,propsOptions:l}},u){let c;return!!r[u]||e!==lt&&Qe(e,u)||t!==lt&&Qe(t,u)||(c=l[0])&&Qe(c,u)||Qe(s,u)||Qe(ra,u)||Qe(o.config.globalProperties,u)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:Qe(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}},YA=en({},bu,{get(e,t){if(t!==Symbol.unscopables)return bu.get(e,t,e)},has(e,t){return t[0]!=="_"&&!oA(t)}});let wu=!0;function JA(e){const t=sc(e),r=e.proxy,s=e.ctx;wu=!1,t.beforeCreate&&ah(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:u,watch:c,provide:d,inject:h,created:p,beforeMount:m,mounted:g,beforeUpdate:P,updated:E,activated:B,deactivated:$,beforeDestroy:k,beforeUnmount:y,destroyed:O,unmounted:W,render:U,renderTracked:z,renderTriggered:H,errorCaptured:I,serverPrefetch:j,expose:Z,inheritAttrs:V,components:w,directives:T,filters:L}=t;if(h&&XA(h,s,null,e.appContext.config.unwrapInjectedRef),u)for(const F in u){const R=u[F];De(R)&&(s[F]=R.bind(r))}if(o){const F=o.call(r,r);At(F)&&(e.data=si(F))}if(wu=!0,l)for(const F in l){const R=l[F],b=De(R)?R.bind(r,r):De(R.get)?R.get.bind(r,r):Wn,Y=!De(R)&&De(R.set)?R.set.bind(r):Wn,se=Ye({get:b,set:Y});Object.defineProperty(s,F,{enumerable:!0,configurable:!0,get:()=>se.value,set:me=>se.value=me})}if(c)for(const F in c)fg(c[F],s,r,F);if(d){const F=De(d)?d.call(r):d;Reflect.ownKeys(F).forEach(R=>{Cr(R,F[R])})}p&&ah(p,e,"c");function A(F,R){He(R)?R.forEach(b=>F(b.bind(r))):R&&F(R.bind(r))}if(A(UA,m),A(Ut,g),A(qA,P),A(tc,E),A(FA,B),A(VA,$),A(ZA,I),A(zA,z),A(KA,H),A(Ma,y),A(nc,W),A(jA,j),He(Z))if(Z.length){const F=e.exposed||(e.exposed={});Z.forEach(R=>{Object.defineProperty(F,R,{get:()=>r[R],set:b=>r[R]=b})})}else e.exposed||(e.exposed={});U&&e.render===Wn&&(e.render=U),V!=null&&(e.inheritAttrs=V),w&&(e.components=w),T&&(e.directives=T)}function XA(e,t,r=Wn,s=!1){He(e)&&(e=Au(e));for(const o in e){const l=e[o];let u;At(l)?"default"in l?u=Xt(l.from||o,l.default,!0):u=Xt(l.from||o):u=Xt(l),vt(u)&&s?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>u.value,set:c=>u.value=c}):t[o]=u}}function ah(e,t,r){An(He(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,r)}function fg(e,t,r,s){const o=s.includes(".")?ig(r,s):()=>r[s];if(St(e)){const l=t[e];De(l)&&ft(o,l)}else if(De(e))ft(o,e.bind(r));else if(At(e))if(He(e))e.forEach(l=>fg(l,t,r,s));else{const l=De(e.handler)?e.handler.bind(r):t[e.handler];De(l)&&ft(o,l,e)}}function sc(e){const t=e.type,{mixins:r,extends:s}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:u}}=e.appContext,c=l.get(t);let d;return c?d=c:!o.length&&!r&&!s?d=t:(d={},o.length&&o.forEach(h=>ia(d,h,u,!0)),ia(d,t,u)),At(t)&&l.set(t,d),d}function ia(e,t,r,s=!1){const{mixins:o,extends:l}=t;l&&ia(e,l,r,!0),o&&o.forEach(u=>ia(e,u,r,!0));for(const u in t)if(!(s&&u==="expose")){const c=QA[u]||r&&r[u];e[u]=c?c(e[u],t[u]):t[u]}return e}const QA={data:lh,props:Zr,emits:Zr,methods:Zr,computed:Zr,beforeCreate:Ht,created:Ht,beforeMount:Ht,mounted:Ht,beforeUpdate:Ht,updated:Ht,beforeDestroy:Ht,beforeUnmount:Ht,destroyed:Ht,unmounted:Ht,activated:Ht,deactivated:Ht,errorCaptured:Ht,serverPrefetch:Ht,components:Zr,directives:Zr,watch:t5,provide:lh,inject:e5};function lh(e,t){return t?e?function(){return en(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function e5(e,t){return Zr(Au(e),Au(t))}function Au(e){if(He(e)){const t={};for(let r=0;r0)&&!(u&16)){if(u&8){const p=e.vnode.dynamicProps;for(let m=0;m{d=!0;const[g,P]=hg(m,t,!0);en(u,g),P&&c.push(...P)};!r&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!l&&!d)return At(e)&&s.set(e,Si),Si;if(He(l))for(let p=0;p-1,P[1]=B<0||E-1||Qe(P,"default"))&&c.push(m)}}}const h=[u,c];return At(e)&&s.set(e,h),h}function uh(e){return e[0]!=="$"}function ch(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function fh(e,t){return ch(e)===ch(t)}function dh(e,t){return He(t)?t.findIndex(r=>fh(r,e)):De(t)&&fh(t,e)?0:-1}const pg=e=>e[0]==="_"||e==="$stable",oc=e=>He(e)?e.map(cn):[cn(e)],i5=(e,t,r)=>{if(t._n)return t;const s=$t((...o)=>oc(t(...o)),r);return s._c=!1,s},gg=(e,t,r)=>{const s=e._ctx;for(const o in e){if(pg(o))continue;const l=e[o];if(De(l))t[o]=i5(o,l,s);else if(l!=null){const u=oc(l);t[o]=()=>u}}},mg=(e,t)=>{const r=oc(t);e.slots.default=()=>r},s5=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=Ze(t),vu(t,"_",r)):gg(t,e.slots={})}else e.slots={},t&&mg(e,t);vu(e.slots,Ia,1)},o5=(e,t,r)=>{const{vnode:s,slots:o}=e;let l=!0,u=lt;if(s.shapeFlag&32){const c=t._;c?r&&c===1?l=!1:(en(o,t),!r&&c===1&&delete o._):(l=!t.$stable,gg(t,o)),u=t}else t&&(mg(e,t),u={default:1});if(l)for(const c in o)!pg(c)&&!(c in u)&&delete o[c]};function vg(){return{app:null,config:{isNativeTag:cA,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let a5=0;function l5(e,t){return function(s,o=null){De(s)||(s=Object.assign({},s)),o!=null&&!At(o)&&(o=null);const l=vg(),u=new Set;let c=!1;const d=l.app={_uid:a5++,_component:s,_props:o,_container:null,_context:l,_instance:null,version:S5,get config(){return l.config},set config(h){},use(h,...p){return u.has(h)||(h&&De(h.install)?(u.add(h),h.install(d,...p)):De(h)&&(u.add(h),h(d,...p))),d},mixin(h){return l.mixins.includes(h)||l.mixins.push(h),d},component(h,p){return p?(l.components[h]=p,d):l.components[h]},directive(h,p){return p?(l.directives[h]=p,d):l.directives[h]},mount(h,p,m){if(!c){const g=ge(s,o);return g.appContext=l,p&&t?t(g,h):e(g,h,m),c=!0,d._container=h,h.__vue_app__=d,La(g.component)||g.component.proxy}},unmount(){c&&(e(null,d._container),delete d._container.__vue_app__)},provide(h,p){return l.provides[h]=p,d}};return d}}function sa(e,t,r,s,o=!1){if(He(e)){e.forEach((g,P)=>sa(g,t&&(He(t)?t[P]:t),r,s,o));return}if(ei(s)&&!o)return;const l=s.shapeFlag&4?La(s.component)||s.component.proxy:s.el,u=o?null:l,{i:c,r:d}=e,h=t&&t.r,p=c.refs===lt?c.refs={}:c.refs,m=c.setupState;if(h!=null&&h!==d&&(St(h)?(p[h]=null,Qe(m,h)&&(m[h]=null)):vt(h)&&(h.value=null)),De(d))ir(d,c,12,[u,p]);else{const g=St(d),P=vt(d);if(g||P){const E=()=>{if(e.f){const B=g?p[d]:d.value;o?He(B)&&zu(B,l):He(B)?B.includes(l)||B.push(l):g?(p[d]=[l],Qe(m,d)&&(m[d]=p[d])):(d.value=[l],e.k&&(p[e.k]=d.value))}else g?(p[d]=u,Qe(m,d)&&(m[d]=u)):P&&(d.value=u,e.k&&(p[e.k]=u))};u?(E.id=-1,Mt(E,r)):E()}}}let yr=!1;const Wo=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Fo=e=>e.nodeType===8;function u5(e){const{mt:t,p:r,o:{patchProp:s,createText:o,nextSibling:l,parentNode:u,remove:c,insert:d,createComment:h}}=e,p=(k,y)=>{if(!y.hasChildNodes()){r(null,k,y),ea(),y._vnode=k;return}yr=!1,m(y.firstChild,k,null,null,null),ea(),y._vnode=k,yr&&console.error("Hydration completed but contains mismatches.")},m=(k,y,O,W,U,z=!1)=>{const H=Fo(k)&&k.data==="[",I=()=>B(k,y,O,W,U,H),{type:j,ref:Z,shapeFlag:V,patchFlag:w}=y;let T=k.nodeType;y.el=k,w===-2&&(z=!1,y.dynamicChildren=null);let L=null;switch(j){case Bs:T!==3?y.children===""?(d(y.el=o(""),u(k),k),L=k):L=I():(k.data!==y.children&&(yr=!0,k.data=y.children),L=l(k));break;case qt:T!==8||H?L=I():L=l(k);break;case Ti:if(H&&(k=l(k),T=k.nodeType),T===1||T===3){L=k;const C=!y.children.length;for(let A=0;A{z=z||!!y.dynamicChildren;const{type:H,props:I,patchFlag:j,shapeFlag:Z,dirs:V}=y,w=H==="input"&&V||H==="option";if(w||j!==-1){if(V&&$n(y,null,O,"created"),I)if(w||!z||j&48)for(const L in I)(w&&L.endsWith("value")||xa(L)&&!bs(L))&&s(k,L,null,I[L],!1,void 0,O);else I.onClick&&s(k,"onClick",null,I.onClick,!1,void 0,O);let T;if((T=I&&I.onVnodeBeforeMount)&&Yt(T,O,y),V&&$n(y,null,O,"beforeMount"),((T=I&&I.onVnodeMounted)||V)&&rg(()=>{T&&Yt(T,O,y),V&&$n(y,null,O,"mounted")},W),Z&16&&!(I&&(I.innerHTML||I.textContent))){let L=P(k.firstChild,y,k,O,W,U,z);for(;L;){yr=!0;const C=L;L=L.nextSibling,c(C)}}else Z&8&&k.textContent!==y.children&&(yr=!0,k.textContent=y.children)}return k.nextSibling},P=(k,y,O,W,U,z,H)=>{H=H||!!y.dynamicChildren;const I=y.children,j=I.length;for(let Z=0;Z{const{slotScopeIds:H}=y;H&&(U=U?U.concat(H):H);const I=u(k),j=P(l(k),y,I,O,W,U,z);return j&&Fo(j)&&j.data==="]"?l(y.anchor=j):(yr=!0,d(y.anchor=h("]"),I,j),j)},B=(k,y,O,W,U,z)=>{if(yr=!0,y.el=null,z){const j=$(k);for(;;){const Z=l(k);if(Z&&Z!==j)c(Z);else break}}const H=l(k),I=u(k);return c(k),r(null,y,I,H,O,W,Wo(I),U),H},$=k=>{let y=0;for(;k;)if(k=l(k),k&&Fo(k)&&(k.data==="["&&y++,k.data==="]")){if(y===0)return l(k);y--}return k};return[p,m]}const Mt=rg;function c5(e){return yg(e)}function f5(e){return yg(e,u5)}function yg(e,t){const r=gA();r.__VUE__=!0;const{insert:s,remove:o,patchProp:l,createElement:u,createText:c,createComment:d,setText:h,setElementText:p,parentNode:m,nextSibling:g,setScopeId:P=Wn,insertStaticContent:E}=e,B=(S,N,J,ee=null,oe=null,ce=null,ye=!1,de=null,he=!!N.dynamicChildren)=>{if(S===N)return;S&&!Dn(S,N)&&(ee=ue(S),me(S,oe,ce,!0),S=null),N.patchFlag===-2&&(he=!1,N.dynamicChildren=null);const{type:ae,ref:Ee,shapeFlag:xe}=N;switch(ae){case Bs:$(S,N,J,ee);break;case qt:k(S,N,J,ee);break;case Ti:S==null&&y(N,J,ee,ye);break;case rt:w(S,N,J,ee,oe,ce,ye,de,he);break;default:xe&1?U(S,N,J,ee,oe,ce,ye,de,he):xe&6?T(S,N,J,ee,oe,ce,ye,de,he):(xe&64||xe&128)&&ae.process(S,N,J,ee,oe,ce,ye,de,he,Ae)}Ee!=null&&oe&&sa(Ee,S&&S.ref,ce,N||S,!N)},$=(S,N,J,ee)=>{if(S==null)s(N.el=c(N.children),J,ee);else{const oe=N.el=S.el;N.children!==S.children&&h(oe,N.children)}},k=(S,N,J,ee)=>{S==null?s(N.el=d(N.children||""),J,ee):N.el=S.el},y=(S,N,J,ee)=>{[S.el,S.anchor]=E(S.children,N,J,ee,S.el,S.anchor)},O=({el:S,anchor:N},J,ee)=>{let oe;for(;S&&S!==N;)oe=g(S),s(S,J,ee),S=oe;s(N,J,ee)},W=({el:S,anchor:N})=>{let J;for(;S&&S!==N;)J=g(S),o(S),S=J;o(N)},U=(S,N,J,ee,oe,ce,ye,de,he)=>{ye=ye||N.type==="svg",S==null?z(N,J,ee,oe,ce,ye,de,he):j(S,N,oe,ce,ye,de,he)},z=(S,N,J,ee,oe,ce,ye,de)=>{let he,ae;const{type:Ee,props:xe,shapeFlag:Se,transition:Re,dirs:Ve}=S;if(he=S.el=u(S.type,ce,xe&&xe.is,xe),Se&8?p(he,S.children):Se&16&&I(S.children,he,null,ee,oe,ce&&Ee!=="foreignObject",ye,de),Ve&&$n(S,null,ee,"created"),xe){for(const Ke in xe)Ke!=="value"&&!bs(Ke)&&l(he,Ke,null,xe[Ke],ce,S.children,ee,oe,ne);"value"in xe&&l(he,"value",null,xe.value),(ae=xe.onVnodeBeforeMount)&&Yt(ae,ee,S)}H(he,S,S.scopeId,ye,ee),Ve&&$n(S,null,ee,"beforeMount");const Ge=(!oe||oe&&!oe.pendingBranch)&&Re&&!Re.persisted;Ge&&Re.beforeEnter(he),s(he,N,J),((ae=xe&&xe.onVnodeMounted)||Ge||Ve)&&Mt(()=>{ae&&Yt(ae,ee,S),Ge&&Re.enter(he),Ve&&$n(S,null,ee,"mounted")},oe)},H=(S,N,J,ee,oe)=>{if(J&&P(S,J),ee)for(let ce=0;ce{for(let ae=he;ae{const de=N.el=S.el;let{patchFlag:he,dynamicChildren:ae,dirs:Ee}=N;he|=S.patchFlag&16;const xe=S.props||lt,Se=N.props||lt;let Re;J&&Kr(J,!1),(Re=Se.onVnodeBeforeUpdate)&&Yt(Re,J,N,S),Ee&&$n(N,S,J,"beforeUpdate"),J&&Kr(J,!0);const Ve=oe&&N.type!=="foreignObject";if(ae?Z(S.dynamicChildren,ae,de,J,ee,Ve,ce):ye||R(S,N,de,null,J,ee,Ve,ce,!1),he>0){if(he&16)V(de,N,xe,Se,J,ee,oe);else if(he&2&&xe.class!==Se.class&&l(de,"class",null,Se.class,oe),he&4&&l(de,"style",xe.style,Se.style,oe),he&8){const Ge=N.dynamicProps;for(let Ke=0;Ke{Re&&Yt(Re,J,N,S),Ee&&$n(N,S,J,"updated")},ee)},Z=(S,N,J,ee,oe,ce,ye)=>{for(let de=0;de{if(J!==ee){if(J!==lt)for(const de in J)!bs(de)&&!(de in ee)&&l(S,de,J[de],null,ye,N.children,oe,ce,ne);for(const de in ee){if(bs(de))continue;const he=ee[de],ae=J[de];he!==ae&&de!=="value"&&l(S,de,ae,he,ye,N.children,oe,ce,ne)}"value"in ee&&l(S,"value",J.value,ee.value)}},w=(S,N,J,ee,oe,ce,ye,de,he)=>{const ae=N.el=S?S.el:c(""),Ee=N.anchor=S?S.anchor:c("");let{patchFlag:xe,dynamicChildren:Se,slotScopeIds:Re}=N;Re&&(de=de?de.concat(Re):Re),S==null?(s(ae,J,ee),s(Ee,J,ee),I(N.children,J,Ee,oe,ce,ye,de,he)):xe>0&&xe&64&&Se&&S.dynamicChildren?(Z(S.dynamicChildren,Se,J,oe,ce,ye,de),(N.key!=null||oe&&N===oe.subTree)&&ac(S,N,!0)):R(S,N,J,Ee,oe,ce,ye,de,he)},T=(S,N,J,ee,oe,ce,ye,de,he)=>{N.slotScopeIds=de,S==null?N.shapeFlag&512?oe.ctx.activate(N,J,ee,ye,he):L(N,J,ee,oe,ce,ye,he):C(S,N,he)},L=(S,N,J,ee,oe,ce,ye)=>{const de=S.component=Ag(S,ee,oe);if(Fs(S)&&(de.ctx.renderer=Ae),Pg(de),de.asyncDep){if(oe&&oe.registerDep(de,A),!S.el){const he=de.subTree=ge(qt);k(null,he,N,J)}return}A(de,S,N,J,oe,ce,ye)},C=(S,N,J)=>{const ee=N.component=S.component;if(RA(S,N,J))if(ee.asyncDep&&!ee.asyncResolved){F(ee,N,J);return}else ee.next=N,xA(ee.update),ee.update();else N.el=S.el,ee.vnode=N},A=(S,N,J,ee,oe,ce,ye)=>{const de=()=>{if(S.isMounted){let{next:Ee,bu:xe,u:Se,parent:Re,vnode:Ve}=S,Ge=Ee,Ke;Kr(S,!1),Ee?(Ee.el=Ve.el,F(S,Ee,ye)):Ee=Ve,xe&&ws(xe),(Ke=Ee.props&&Ee.props.onVnodeBeforeUpdate)&&Yt(Ke,Re,Ee,Ve),Kr(S,!0);const ht=zo(S),Nt=S.subTree;S.subTree=ht,B(Nt,ht,m(Nt.el),ue(Nt),S,oe,ce),Ee.el=ht.el,Ge===null&&Xu(S,ht.el),Se&&Mt(Se,oe),(Ke=Ee.props&&Ee.props.onVnodeUpdated)&&Mt(()=>Yt(Ke,Re,Ee,Ve),oe)}else{let Ee;const{el:xe,props:Se}=N,{bm:Re,m:Ve,parent:Ge}=S,Ke=ei(N);if(Kr(S,!1),Re&&ws(Re),!Ke&&(Ee=Se&&Se.onVnodeBeforeMount)&&Yt(Ee,Ge,N),Kr(S,!0),xe&&Ce){const ht=()=>{S.subTree=zo(S),Ce(xe,S.subTree,S,oe,null)};Ke?N.type.__asyncLoader().then(()=>!S.isUnmounted&&ht()):ht()}else{const ht=S.subTree=zo(S);B(null,ht,J,ee,S,oe,ce),N.el=ht.el}if(Ve&&Mt(Ve,oe),!Ke&&(Ee=Se&&Se.onVnodeMounted)){const ht=N;Mt(()=>Yt(Ee,Ge,ht),oe)}(N.shapeFlag&256||Ge&&ei(Ge.vnode)&&Ge.vnode.shapeFlag&256)&&S.a&&Mt(S.a,oe),S.isMounted=!0,N=J=ee=null}},he=S.effect=new va(de,()=>Ea(ae),S.scope),ae=S.update=()=>he.run();ae.id=S.uid,Kr(S,!0),ae()},F=(S,N,J)=>{N.component=S;const ee=S.vnode.props;S.vnode=N,S.next=null,r5(S,N.props,ee,J),o5(S,N.children,J),ri(),th(),ii()},R=(S,N,J,ee,oe,ce,ye,de,he=!1)=>{const ae=S&&S.children,Ee=S?S.shapeFlag:0,xe=N.children,{patchFlag:Se,shapeFlag:Re}=N;if(Se>0){if(Se&128){Y(ae,xe,J,ee,oe,ce,ye,de,he);return}else if(Se&256){b(ae,xe,J,ee,oe,ce,ye,de,he);return}}Re&8?(Ee&16&&ne(ae,oe,ce),xe!==ae&&p(J,xe)):Ee&16?Re&16?Y(ae,xe,J,ee,oe,ce,ye,de,he):ne(ae,oe,ce,!0):(Ee&8&&p(J,""),Re&16&&I(xe,J,ee,oe,ce,ye,de,he))},b=(S,N,J,ee,oe,ce,ye,de,he)=>{S=S||Si,N=N||Si;const ae=S.length,Ee=N.length,xe=Math.min(ae,Ee);let Se;for(Se=0;SeEe?ne(S,oe,ce,!0,!1,xe):I(N,J,ee,oe,ce,ye,de,he,xe)},Y=(S,N,J,ee,oe,ce,ye,de,he)=>{let ae=0;const Ee=N.length;let xe=S.length-1,Se=Ee-1;for(;ae<=xe&&ae<=Se;){const Re=S[ae],Ve=N[ae]=he?xr(N[ae]):cn(N[ae]);if(Dn(Re,Ve))B(Re,Ve,J,null,oe,ce,ye,de,he);else break;ae++}for(;ae<=xe&&ae<=Se;){const Re=S[xe],Ve=N[Se]=he?xr(N[Se]):cn(N[Se]);if(Dn(Re,Ve))B(Re,Ve,J,null,oe,ce,ye,de,he);else break;xe--,Se--}if(ae>xe){if(ae<=Se){const Re=Se+1,Ve=ReSe)for(;ae<=xe;)me(S[ae],oe,ce,!0),ae++;else{const Re=ae,Ve=ae,Ge=new Map;for(ae=Ve;ae<=Se;ae++){const Ot=N[ae]=he?xr(N[ae]):cn(N[ae]);Ot.key!=null&&Ge.set(Ot.key,ae)}let Ke,ht=0;const Nt=Se-Ve+1;let Rn=!1,ai=0;const Hn=new Array(Nt);for(ae=0;ae=Nt){me(Ot,oe,ce,!0);continue}let jt;if(Ot.key!=null)jt=Ge.get(Ot.key);else for(Ke=Ve;Ke<=Se;Ke++)if(Hn[Ke-Ve]===0&&Dn(Ot,N[Ke])){jt=Ke;break}jt===void 0?me(Ot,oe,ce,!0):(Hn[jt-Ve]=ae+1,jt>=ai?ai=jt:Rn=!0,B(Ot,N[jt],J,null,oe,ce,ye,de,he),ht++)}const li=Rn?d5(Hn):Si;for(Ke=li.length-1,ae=Nt-1;ae>=0;ae--){const Ot=Ve+ae,jt=N[Ot],ui=Ot+1{const{el:ce,type:ye,transition:de,children:he,shapeFlag:ae}=S;if(ae&6){se(S.component.subTree,N,J,ee);return}if(ae&128){S.suspense.move(N,J,ee);return}if(ae&64){ye.move(S,N,J,Ae);return}if(ye===rt){s(ce,N,J);for(let xe=0;xede.enter(ce),oe);else{const{leave:xe,delayLeave:Se,afterLeave:Re}=de,Ve=()=>s(ce,N,J),Ge=()=>{xe(ce,()=>{Ve(),Re&&Re()})};Se?Se(ce,Ve,Ge):Ge()}else s(ce,N,J)},me=(S,N,J,ee=!1,oe=!1)=>{const{type:ce,props:ye,ref:de,children:he,dynamicChildren:ae,shapeFlag:Ee,patchFlag:xe,dirs:Se}=S;if(de!=null&&sa(de,null,J,S,!0),Ee&256){N.ctx.deactivate(S);return}const Re=Ee&1&&Se,Ve=!ei(S);let Ge;if(Ve&&(Ge=ye&&ye.onVnodeBeforeUnmount)&&Yt(Ge,N,S),Ee&6)G(S.component,J,ee);else{if(Ee&128){S.suspense.unmount(J,ee);return}Re&&$n(S,null,N,"beforeUnmount"),Ee&64?S.type.remove(S,N,J,oe,Ae,ee):ae&&(ce!==rt||xe>0&&xe&64)?ne(ae,N,J,!1,!0):(ce===rt&&xe&384||!oe&&Ee&16)&&ne(he,N,J),ee&&ve(S)}(Ve&&(Ge=ye&&ye.onVnodeUnmounted)||Re)&&Mt(()=>{Ge&&Yt(Ge,N,S),Re&&$n(S,null,N,"unmounted")},J)},ve=S=>{const{type:N,el:J,anchor:ee,transition:oe}=S;if(N===rt){Ie(J,ee);return}if(N===Ti){W(S);return}const ce=()=>{o(J),oe&&!oe.persisted&&oe.afterLeave&&oe.afterLeave()};if(S.shapeFlag&1&&oe&&!oe.persisted){const{leave:ye,delayLeave:de}=oe,he=()=>ye(J,ce);de?de(S.el,ce,he):he()}else ce()},Ie=(S,N)=>{let J;for(;S!==N;)J=g(S),o(S),S=J;o(N)},G=(S,N,J)=>{const{bum:ee,scope:oe,update:ce,subTree:ye,um:de}=S;ee&&ws(ee),oe.stop(),ce&&(ce.active=!1,me(ye,S,N,J)),de&&Mt(de,N),Mt(()=>{S.isUnmounted=!0},N),N&&N.pendingBranch&&!N.isUnmounted&&S.asyncDep&&!S.asyncResolved&&S.suspenseId===N.pendingId&&(N.deps--,N.deps===0&&N.resolve())},ne=(S,N,J,ee=!1,oe=!1,ce=0)=>{for(let ye=ce;yeS.shapeFlag&6?ue(S.component.subTree):S.shapeFlag&128?S.suspense.next():g(S.anchor||S.el),be=(S,N,J)=>{S==null?N._vnode&&me(N._vnode,null,null,!0):B(N._vnode||null,S,N,null,null,null,J),th(),ea(),N._vnode=S},Ae={p:B,um:me,m:se,r:ve,mt:L,mc:I,pc:R,pbc:Z,n:ue,o:e};let qe,Ce;return t&&([qe,Ce]=t(Ae)),{render:be,hydrate:qe,createApp:l5(be,qe)}}function Kr({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function ac(e,t,r=!1){const s=e.children,o=t.children;if(He(s)&&He(o))for(let l=0;l>1,e[r[c]]0&&(t[s]=r[l-1]),r[l]=s)}}for(l=r.length,u=r[l-1];l-- >0;)r[l]=u,u=t[u];return r}const h5=e=>e.__isTeleport,xs=e=>e&&(e.disabled||e.disabled===""),hh=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Pu=(e,t)=>{const r=e&&e.to;return St(r)?t?t(r):null:r},p5={__isTeleport:!0,process(e,t,r,s,o,l,u,c,d,h){const{mc:p,pc:m,pbc:g,o:{insert:P,querySelector:E,createText:B,createComment:$}}=h,k=xs(t.props);let{shapeFlag:y,children:O,dynamicChildren:W}=t;if(e==null){const U=t.el=B(""),z=t.anchor=B("");P(U,r,s),P(z,r,s);const H=t.target=Pu(t.props,E),I=t.targetAnchor=B("");H&&(P(I,H),u=u||hh(H));const j=(Z,V)=>{y&16&&p(O,Z,V,o,l,u,c,d)};k?j(r,z):H&&j(H,I)}else{t.el=e.el;const U=t.anchor=e.anchor,z=t.target=e.target,H=t.targetAnchor=e.targetAnchor,I=xs(e.props),j=I?r:z,Z=I?U:H;if(u=u||hh(z),W?(g(e.dynamicChildren,W,j,o,l,u,c),ac(e,t,!0)):d||m(e,t,j,Z,o,l,u,c,!1),k)I||Vo(t,r,U,h,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const V=t.target=Pu(t.props,E);V&&Vo(t,V,null,h,0)}else I&&Vo(t,z,H,h,1)}},remove(e,t,r,s,{um:o,o:{remove:l}},u){const{shapeFlag:c,children:d,anchor:h,targetAnchor:p,target:m,props:g}=e;if(m&&l(p),(u||!xs(g))&&(l(h),c&16))for(let P=0;P0?Jt||Si:null,_g(),ni>0&&Jt&&Jt.push(e),e}function ke(e,t,r,s,o,l){return bg(fe(e,t,r,s,o,l,!0))}function at(e,t,r,s,o){return bg(ge(e,t,r,s,o,!0))}function Rr(e){return e?e.__v_isVNode===!0:!1}function Dn(e,t){return e.type===t.type&&e.key===t.key}function dk(e){}const Ia="__vInternal",wg=({key:e})=>e??null,Zo=({ref:e,ref_key:t,ref_for:r})=>e!=null?St(e)||vt(e)||De(e)?{i:Dt,r:e,k:t,f:!!r}:e:null;function fe(e,t=null,r=null,s=0,o=null,l=e===rt?0:1,u=!1,c=!1){const d={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&wg(t),ref:t&&Zo(t),scopeId:Sa,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null};return c?(uc(d,r),l&128&&e.normalize(d)):r&&(d.shapeFlag|=St(r)?8:16),ni>0&&!u&&Jt&&(d.patchFlag>0||l&6)&&d.patchFlag!==32&&Jt.push(d),d}const ge=m5;function m5(e,t=null,r=null,s=0,o=null,l=!1){if((!e||e===ug)&&(e=qt),Rr(e)){const c=or(e,t,!0);return r&&uc(c,r),ni>0&&!l&&Jt&&(c.shapeFlag&6?Jt[Jt.indexOf(e)]=c:Jt.push(c)),c.patchFlag|=-2,c}if(C5(e)&&(e=e.__vccOpts),t){t=v5(t);let{class:c,style:d}=t;c&&!St(c)&&(t.class=st(c)),At(d)&&(Np(d)&&!He(d)&&(d=en({},d)),t.style=Lr(d))}const u=St(e)?1:ng(e)?128:h5(e)?64:At(e)?4:De(e)?2:0;return fe(e,t,r,s,o,u,l,!0)}function v5(e){return e?Np(e)||Ia in e?en({},e):e:null}function or(e,t,r=!1){const{props:s,ref:o,patchFlag:l,children:u}=e,c=t?y5(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&wg(c),ref:t&&t.ref?r&&o?He(o)?o.concat(Zo(t)):[o,Zo(t)]:Zo(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==rt?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&or(e.ssContent),ssFallback:e.ssFallback&&or(e.ssFallback),el:e.el,anchor:e.anchor}}function Vs(e=" ",t=0){return ge(Bs,null,e,t)}function hk(e,t){const r=ge(Ti,null,e);return r.staticCount=t,r}function it(e="",t=!1){return t?(pe(),at(qt,null,e)):ge(qt,null,e)}function cn(e){return e==null||typeof e=="boolean"?ge(qt):He(e)?ge(rt,null,e.slice()):typeof e=="object"?xr(e):ge(Bs,null,String(e))}function xr(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:or(e)}function uc(e,t){let r=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(He(t))r=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),uc(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!(Ia in t)?t._ctx=Dt:o===3&&Dt&&(Dt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else De(t)?(t={default:t,_ctx:Dt},r=32):(t=String(t),s&64?(r=16,t=[Vs(t)]):r=8);e.children=t,e.shapeFlag|=r}function y5(...e){const t={};for(let r=0;rEt||Dt,Tr=e=>{Et=e,e.scope.on()},Sr=()=>{Et&&Et.scope.off(),Et=null};function xg(e){return e.vnode.shapeFlag&4}let Di=!1;function Pg(e,t=!1){Di=t;const{props:r,children:s}=e.vnode,o=xg(e);n5(e,r,o,t),s5(e,s);const l=o?w5(e,t):void 0;return Di=!1,l}function w5(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=Li(new Proxy(e.ctx,bu));const{setup:s}=r;if(s){const o=e.setupContext=s.length>1?Eg(e):null;Tr(e),ri();const l=ir(s,e,0,[e.props,o]);if(ii(),Sr(),Zu(l)){if(l.then(Sr,Sr),t)return l.then(u=>{Cu(e,u,t)}).catch(u=>{Ui(u,e,0)});e.asyncDep=l}else Cu(e,l,t)}else Cg(e,t)}function Cu(e,t,r){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:At(t)&&(e.setupState=Fp(t)),Cg(e,r)}let oa,Eu;function pk(e){oa=e,Eu=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,YA))}}const gk=()=>!oa;function Cg(e,t,r){const s=e.type;if(!e.render){if(!t&&oa&&!s.render){const o=s.template||sc(e).template;if(o){const{isCustomElement:l,compilerOptions:u}=e.appContext.config,{delimiters:c,compilerOptions:d}=s,h=en(en({isCustomElement:l,delimiters:c},u),d);s.render=oa(o,h)}}e.render=s.render||Wn,Eu&&Eu(e)}Tr(e),ri(),JA(e),ii(),Sr()}function A5(e){return new Proxy(e.attrs,{get(t,r){return fn(e,"get","$attrs"),t[r]}})}function Eg(e){const t=s=>{e.exposed=s||{}};let r;return{get attrs(){return r||(r=A5(e))},slots:e.slots,emit:e.emit,expose:t}}function La(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Fp(Li(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in ra)return ra[r](e)}}))}const x5=/(?:^|[-_])(\w)/g,P5=e=>e.replace(x5,t=>t.toUpperCase()).replace(/[-_]/g,"");function aa(e,t=!0){return De(e)?e.displayName||e.name:e.name||t&&e.__name}function kg(e,t,r=!1){let s=aa(t);if(!s&&t.__file){const o=t.__file.match(/([^/\\]+)\.\w+$/);o&&(s=o[1])}if(!s&&e&&e.parent){const o=l=>{for(const u in l)if(l[u]===t)return u};s=o(e.components||e.parent.type.components)||o(e.appContext.components)}return s?P5(s):r?"App":"Anonymous"}function C5(e){return De(e)&&"__vccOpts"in e}const Ye=(e,t)=>iA(e,t,Di);function mk(){return null}function vk(){return null}function yk(e){}function _k(e,t){return null}function bk(){return Sg().slots}function wk(){return Sg().attrs}function Sg(){const e=Br();return e.setupContext||(e.setupContext=Eg(e))}function Ak(e,t){const r=He(e)?e.reduce((s,o)=>(s[o]={},s),{}):e;for(const s in t){const o=r[s];o?He(o)||De(o)?r[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(r[s]={default:t[s]})}return r}function xk(e,t){const r={};for(const s in e)t.includes(s)||Object.defineProperty(r,s,{enumerable:!0,get:()=>e[s]});return r}function Pk(e){const t=Br();let r=e();return Sr(),Zu(r)&&(r=r.catch(s=>{throw Tr(t),s})),[r,()=>Tr(t)]}function cc(e,t,r){const s=arguments.length;return s===2?At(t)&&!He(t)?Rr(t)?ge(e,null,[t]):ge(e,t):ge(e,null,t):(s>3?r=Array.prototype.slice.call(arguments,2):s===3&&Rr(r)&&(r=[r]),ge(e,t,r))}const E5=Symbol(""),Ck=()=>{{const e=Xt(E5);return e||mA("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function Ek(){}function kk(e,t,r,s){const o=r[s];if(o&&k5(o,e))return o;const l=t();return l.memo=e.slice(),r[s]=l}function k5(e,t){const r=e.memo;if(r.length!=t.length)return!1;for(let s=0;s0&&Jt&&Jt.push(e),!0}const S5="3.2.40",O5={createComponentInstance:Ag,setupComponent:Pg,renderComponentRoot:zo,setCurrentRenderingInstance:Is,isVNode:Rr,normalizeVNode:cn},Sk=O5,Ok=null,Rk=null;function R5(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const T5="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",M5=R5(T5);function Og(e){return!!e||e===""}function I5(e,t){if(e.length!==t.length)return!1;let r=!0;for(let s=0;r&&sMr(r,t))}const iu={},L5=/^on[^a-z]/,$5=e=>L5.test(e),B5=e=>e.startsWith("onUpdate:"),Hs=Object.assign,dn=Array.isArray,Us=e=>Tg(e)==="[object Set]",gh=e=>Tg(e)==="[object Date]",Rg=e=>typeof e=="function",la=e=>typeof e=="string",mh=e=>typeof e=="symbol",ku=e=>e!==null&&typeof e=="object",D5=Object.prototype.toString,Tg=e=>D5.call(e),fc=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},N5=/-(\w)/g,vh=fc(e=>e.replace(N5,(t,r)=>r?r.toUpperCase():"")),W5=/\B([A-Z])/g,Mi=fc(e=>e.replace(W5,"-$1").toLowerCase()),F5=fc(e=>e.charAt(0).toUpperCase()+e.slice(1)),V5=(e,t)=>{for(let r=0;r{const t=parseFloat(e);return isNaN(t)?e:t},H5="http://www.w3.org/2000/svg",Yr=typeof document<"u"?document:null,yh=Yr&&Yr.createElement("template"),U5={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,s)=>{const o=t?Yr.createElementNS(H5,e):Yr.createElement(e,r?{is:r}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>Yr.createTextNode(e),createComment:e=>Yr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,s,o,l){const u=r?r.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===l||!(o=o.nextSibling)););else{yh.innerHTML=s?`${e}`:e;const c=yh.content;if(s){const d=c.firstChild;for(;d.firstChild;)c.appendChild(d.firstChild);c.removeChild(d)}t.insertBefore(c,r)}return[u?u.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}};function q5(e,t,r){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}function j5(e,t,r){const s=e.style,o=la(r);if(r&&!o){for(const l in r)Su(s,l,r[l]);if(t&&!la(t))for(const l in t)r[l]==null&&Su(s,l,"")}else{const l=s.display;o?t!==r&&(s.cssText=r):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=l)}}const _h=/\s*!important$/;function Su(e,t,r){if(dn(r))r.forEach(s=>Su(e,t,s));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const s=K5(e,t);_h.test(r)?e.setProperty(Mi(s),r.replace(_h,""),"important"):e[s]=r}}const bh=["Webkit","Moz","ms"],su={};function K5(e,t){const r=su[t];if(r)return r;let s=Fn(t);if(s!=="filter"&&s in e)return su[t]=s;s=F5(s);for(let o=0;o{let e=Date.now,t=!1;if(typeof window<"u"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const r=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(r&&Number(r[1])<=53)}return[e,t]})();let Ou=0;const Y5=Promise.resolve(),J5=()=>{Ou=0},X5=()=>Ou||(Y5.then(J5),Ou=Mg());function nr(e,t,r,s){e.addEventListener(t,r,s)}function Q5(e,t,r,s){e.removeEventListener(t,r,s)}function e4(e,t,r,s,o=null){const l=e._vei||(e._vei={}),u=l[t];if(s&&u)u.value=s;else{const[c,d]=t4(t);if(s){const h=l[t]=n4(s,o);nr(e,c,h,d)}else u&&(Q5(e,c,u,d),l[t]=void 0)}}const Ah=/(?:Once|Passive|Capture)$/;function t4(e){let t;if(Ah.test(e)){t={};let s;for(;s=e.match(Ah);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Mi(e.slice(2)),t]}function n4(e,t){const r=s=>{const o=s.timeStamp||Mg();(G5||o>=r.attached-1)&&An(r4(s,r.value),t,5,[s])};return r.value=e,r.attached=X5(),r}function r4(e,t){if(dn(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const xh=/^on[a-z]/,i4=(e,t,r,s,o=!1,l,u,c,d)=>{t==="class"?q5(e,s,o):t==="style"?j5(e,r,s):$5(t)?B5(t)||e4(e,t,r,s,u):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):s4(e,t,s,o))?Z5(e,t,s,l,u,c,d):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),z5(e,t,s,o))};function s4(e,t,r,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&xh.test(t)&&Rg(r)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||xh.test(t)&&la(r)?!1:t in e}function o4(e,t){const r=dt(e);class s extends dc{constructor(l){super(r,l,t)}}return s.def=r,s}const Tk=e=>o4(e,P4),a4=typeof HTMLElement<"u"?HTMLElement:class{};class dc extends a4{constructor(t,r={},s){super(),this._def=t,this._props=r,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):this.attachShadow({mode:"open"})}connectedCallback(){this._connected=!0,this._instance||this._resolveDef()}disconnectedCallback(){this._connected=!1,$r(()=>{this._connected||(Lh(null,this.shadowRoot),this._instance=null)})}_resolveDef(){if(this._resolved)return;this._resolved=!0;for(let s=0;s{for(const o of s)this._setAttr(o.attributeName)}).observe(this,{attributes:!0});const t=s=>{const{props:o,styles:l}=s,u=!dn(o),c=o?u?Object.keys(o):o:[];let d;if(u)for(const h in this._props){const p=o[h];(p===Number||p&&p.type===Number)&&(this._props[h]=Ni(this._props[h]),(d||(d=Object.create(null)))[h]=!0)}this._numberProps=d;for(const h of Object.keys(this))h[0]!=="_"&&this._setProp(h,this[h],!0,!1);for(const h of c.map(vh))Object.defineProperty(this,h,{get(){return this._getProp(h)},set(p){this._setProp(h,p)}});this._applyStyles(l),this._update()},r=this._def.__asyncLoader;r?r().then(t):t(this._def)}_setAttr(t){let r=this.getAttribute(t);this._numberProps&&this._numberProps[t]&&(r=Ni(r)),this._setProp(vh(t),r,!1)}_getProp(t){return this._props[t]}_setProp(t,r,s=!0,o=!0){r!==this._props[t]&&(this._props[t]=r,o&&this._instance&&this._update(),s&&(r===!0?this.setAttribute(Mi(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(Mi(t),r+""):r||this.removeAttribute(Mi(t))))}_update(){Lh(this._createVNode(),this.shadowRoot)}_createVNode(){const t=ge(this._def,Hs({},this._props));return this._instance||(t.ce=r=>{this._instance=r,r.isCE=!0,r.emit=(o,...l)=>{this.dispatchEvent(new CustomEvent(o,{detail:l}))};let s=this;for(;s=s&&(s.parentNode||s.host);)if(s instanceof dc){r.parent=s._instance;break}}),t}_applyStyles(t){t&&t.forEach(r=>{const s=document.createElement("style");s.textContent=r,this.shadowRoot.appendChild(s)})}}function Mk(e="$style"){{const t=Br();if(!t)return iu;const r=t.type.__cssModules;if(!r)return iu;const s=r[e];return s||iu}}function Ik(e){const t=Br();if(!t)return;const r=()=>Ru(t.subTree,e(t.proxy));BA(r),Ut(()=>{const s=new MutationObserver(r);s.observe(t.subTree.el.parentNode,{childList:!0}),nc(()=>s.disconnect())})}function Ru(e,t){if(e.shapeFlag&128){const r=e.suspense;e=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Ru(r.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Ph(e.el,t);else if(e.type===rt)e.children.forEach(r=>Ru(r,t));else if(e.type===Ti){let{el:r,anchor:s}=e;for(;r&&(Ph(r,t),r!==s);)r=r.nextSibling}}function Ph(e,t){if(e.nodeType===1){const r=e.style;for(const s in t)r.setProperty(`--${s}`,t[s])}}const _r="transition",os="animation",Ig=(e,{slots:t})=>cc(og,$g(e),t);Ig.displayName="Transition";const Lg={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},l4=Ig.props=Hs({},og.props,Lg),zr=(e,t=[])=>{dn(e)?e.forEach(r=>r(...t)):e&&e(...t)},Ch=e=>e?dn(e)?e.some(t=>t.length>1):e.length>1:!1;function $g(e){const t={};for(const w in e)w in Lg||(t[w]=e[w]);if(e.css===!1)return t;const{name:r="v",type:s,duration:o,enterFromClass:l=`${r}-enter-from`,enterActiveClass:u=`${r}-enter-active`,enterToClass:c=`${r}-enter-to`,appearFromClass:d=l,appearActiveClass:h=u,appearToClass:p=c,leaveFromClass:m=`${r}-leave-from`,leaveActiveClass:g=`${r}-leave-active`,leaveToClass:P=`${r}-leave-to`}=e,E=u4(o),B=E&&E[0],$=E&&E[1],{onBeforeEnter:k,onEnter:y,onEnterCancelled:O,onLeave:W,onLeaveCancelled:U,onBeforeAppear:z=k,onAppear:H=y,onAppearCancelled:I=O}=t,j=(w,T,L)=>{wr(w,T?p:c),wr(w,T?h:u),L&&L()},Z=(w,T)=>{w._isLeaving=!1,wr(w,m),wr(w,P),wr(w,g),T&&T()},V=w=>(T,L)=>{const C=w?H:y,A=()=>j(T,w,L);zr(C,[T,A]),Eh(()=>{wr(T,w?d:l),Qn(T,w?p:c),Ch(C)||kh(T,s,B,A)})};return Hs(t,{onBeforeEnter(w){zr(k,[w]),Qn(w,l),Qn(w,u)},onBeforeAppear(w){zr(z,[w]),Qn(w,d),Qn(w,h)},onEnter:V(!1),onAppear:V(!0),onLeave(w,T){w._isLeaving=!0;const L=()=>Z(w,T);Qn(w,m),Dg(),Qn(w,g),Eh(()=>{w._isLeaving&&(wr(w,m),Qn(w,P),Ch(W)||kh(w,s,$,L))}),zr(W,[w,L])},onEnterCancelled(w){j(w,!1),zr(O,[w])},onAppearCancelled(w){j(w,!0),zr(I,[w])},onLeaveCancelled(w){Z(w),zr(U,[w])}})}function u4(e){if(e==null)return null;if(ku(e))return[ou(e.enter),ou(e.leave)];{const t=ou(e);return[t,t]}}function ou(e){return Ni(e)}function Qn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e._vtc||(e._vtc=new Set)).add(t)}function wr(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:r}=e;r&&(r.delete(t),r.size||(e._vtc=void 0))}function Eh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let c4=0;function kh(e,t,r,s){const o=e._endId=++c4,l=()=>{o===e._endId&&s()};if(r)return setTimeout(l,r);const{type:u,timeout:c,propCount:d}=Bg(e,t);if(!u)return s();const h=u+"end";let p=0;const m=()=>{e.removeEventListener(h,g),l()},g=P=>{P.target===e&&++p>=d&&m()};setTimeout(()=>{p(r[E]||"").split(", "),o=s(_r+"Delay"),l=s(_r+"Duration"),u=Sh(o,l),c=s(os+"Delay"),d=s(os+"Duration"),h=Sh(c,d);let p=null,m=0,g=0;t===_r?u>0&&(p=_r,m=u,g=l.length):t===os?h>0&&(p=os,m=h,g=d.length):(m=Math.max(u,h),p=m>0?u>h?_r:os:null,g=p?p===_r?l.length:d.length:0);const P=p===_r&&/\b(transform|all)(,|$)/.test(r[_r+"Property"]);return{type:p,timeout:m,propCount:g,hasTransform:P}}function Sh(e,t){for(;e.lengthOh(r)+Oh(e[s])))}function Oh(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Dg(){return document.body.offsetHeight}const Ng=new WeakMap,Wg=new WeakMap,f4={name:"TransitionGroup",props:Hs({},l4,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=Br(),s=sg();let o,l;return tc(()=>{if(!o.length)return;const u=e.moveClass||`${e.name||"v"}-move`;if(!g4(o[0].el,r.vnode.el,u))return;o.forEach(d4),o.forEach(h4);const c=o.filter(p4);Dg(),c.forEach(d=>{const h=d.el,p=h.style;Qn(h,u),p.transform=p.webkitTransform=p.transitionDuration="";const m=h._moveCb=g=>{g&&g.target!==h||(!g||/transform$/.test(g.propertyName))&&(h.removeEventListener("transitionend",m),h._moveCb=null,wr(h,u))};h.addEventListener("transitionend",m)})}),()=>{const u=Ze(e),c=$g(u);let d=u.tag||rt;o=l,l=t.default?ec(t.default()):[];for(let h=0;h{u.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),r.split(/\s+/).forEach(u=>u&&s.classList.add(u)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:l}=Bg(s);return o.removeChild(s),l}const Ir=e=>{const t=e.props["onUpdate:modelValue"]||!1;return dn(t)?r=>V5(t,r):t};function m4(e){e.target.composing=!0}function Rh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ua={created(e,{modifiers:{lazy:t,trim:r,number:s}},o){e._assign=Ir(o);const l=s||o.props&&o.props.type==="number";nr(e,t?"change":"input",u=>{if(u.target.composing)return;let c=e.value;r&&(c=c.trim()),l&&(c=Ni(c)),e._assign(c)}),r&&nr(e,"change",()=>{e.value=e.value.trim()}),t||(nr(e,"compositionstart",m4),nr(e,"compositionend",Rh),nr(e,"change",Rh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:r,trim:s,number:o}},l){if(e._assign=Ir(l),e.composing||document.activeElement===e&&e.type!=="range"&&(r||s&&e.value.trim()===t||(o||e.type==="number")&&Ni(e.value)===t))return;const u=t??"";e.value!==u&&(e.value=u)}},Fg={deep:!0,created(e,t,r){e._assign=Ir(r),nr(e,"change",()=>{const s=e._modelValue,o=Wi(e),l=e.checked,u=e._assign;if(dn(s)){const c=$a(s,o),d=c!==-1;if(l&&!d)u(s.concat(o));else if(!l&&d){const h=[...s];h.splice(c,1),u(h)}}else if(Us(s)){const c=new Set(s);l?c.add(o):c.delete(o),u(c)}else u(Hg(e,l))})},mounted:Th,beforeUpdate(e,t,r){e._assign=Ir(r),Th(e,t,r)}};function Th(e,{value:t,oldValue:r},s){e._modelValue=t,dn(t)?e.checked=$a(t,s.props.value)>-1:Us(t)?e.checked=t.has(s.props.value):t!==r&&(e.checked=Mr(t,Hg(e,!0)))}const Vg={created(e,{value:t},r){e.checked=Mr(t,r.props.value),e._assign=Ir(r),nr(e,"change",()=>{e._assign(Wi(e))})},beforeUpdate(e,{value:t,oldValue:r},s){e._assign=Ir(s),t!==r&&(e.checked=Mr(t,s.props.value))}},v4={deep:!0,created(e,{value:t,modifiers:{number:r}},s){const o=Us(t);nr(e,"change",()=>{const l=Array.prototype.filter.call(e.options,u=>u.selected).map(u=>r?Ni(Wi(u)):Wi(u));e._assign(e.multiple?o?new Set(l):l:l[0])}),e._assign=Ir(s)},mounted(e,{value:t}){Mh(e,t)},beforeUpdate(e,t,r){e._assign=Ir(r)},updated(e,{value:t}){Mh(e,t)}};function Mh(e,t){const r=e.multiple;if(!(r&&!dn(t)&&!Us(t))){for(let s=0,o=e.options.length;s-1:l.selected=t.has(u);else if(Mr(Wi(l),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!r&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Wi(e){return"_value"in e?e._value:e.value}function Hg(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const y4={created(e,t,r){Ho(e,t,r,null,"created")},mounted(e,t,r){Ho(e,t,r,null,"mounted")},beforeUpdate(e,t,r,s){Ho(e,t,r,s,"beforeUpdate")},updated(e,t,r,s){Ho(e,t,r,s,"updated")}};function Ug(e,t){switch(e){case"SELECT":return v4;case"TEXTAREA":return ua;default:switch(t){case"checkbox":return Fg;case"radio":return Vg;default:return ua}}}function Ho(e,t,r,s,o){const u=Ug(e.tagName,r.props&&r.props.type)[o];u&&u(e,t,r,s)}function _4(){ua.getSSRProps=({value:e})=>({value:e}),Vg.getSSRProps=({value:e},t)=>{if(t.props&&Mr(t.props.value,e))return{checked:!0}},Fg.getSSRProps=({value:e},t)=>{if(dn(e)){if(t.props&&$a(e,t.props.value)>-1)return{checked:!0}}else if(Us(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},y4.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const r=Ug(t.type.toUpperCase(),t.props&&t.props.type);if(r.getSSRProps)return r.getSSRProps(e,t)}}const b4=["ctrl","shift","alt","meta"],w4={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>b4.some(r=>e[`${r}Key`]&&!t.includes(r))},Ds=(e,t)=>(r,...s)=>{for(let o=0;or=>{if(!("key"in r))return;const s=Mi(r.key);if(t.some(o=>o===s||A4[o]===s))return e(r)},ca={beforeMount(e,{value:t},{transition:r}){e._vod=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):as(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:s}){!t!=!r&&(s?t?(s.beforeEnter(e),as(e,!0),s.enter(e)):s.leave(e,()=>{as(e,!1)}):as(e,t))},beforeUnmount(e,{value:t}){as(e,t)}};function as(e,t){e.style.display=t?e._vod:"none"}function x4(){ca.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const qg=Hs({patchProp:i4},U5);let Cs,Ih=!1;function jg(){return Cs||(Cs=c5(qg))}function Kg(){return Cs=Ih?Cs:f5(qg),Ih=!0,Cs}const Lh=(...e)=>{jg().render(...e)},P4=(...e)=>{Kg().hydrate(...e)},C4=(...e)=>{const t=jg().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=zg(s);if(!o)return;const l=t._component;!Rg(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.innerHTML="";const u=r(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),u},t},Bk=(...e)=>{const t=Kg().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=zg(s);if(o)return r(o,!0,o instanceof SVGElement)},t};function zg(e){return la(e)?document.querySelector(e):e}let $h=!1;const Dk=()=>{$h||($h=!0,_4(),x4())};const E4={dark:!1,dynamic:!0},k4={dark:!0,dynamic:!1},Jr={"fg-secondary":{dark:"#1ed760",dynamic:"#00c48b",light:"#18a74b"},"fg-secondary-dk":{dark:"#217e41",dynamic:"#00c48b",light:"#80dda0"},"bg-contrast":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-contrast":{dark:"#121212",dynamic:"#1e1e1e",light:"white"},"fg-base":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-base-dk":{dark:"#a7a7a7",dynamic:"#c2bebe",light:"#8b8c91"},"fg-base-dkr":{dark:"#999",light:"#8b8c91",dynamic:"#999"},"bg-hover-ltr":{dark:"#242424"},"bg-hover-lt":{dark:"hsla(0,0%,100%,0.04)",light:"#b3b3b31f"},"bg-hover":{dark:"hsla(0,0%,100%,0.3)",dynamic:"#00c48b82",light:"#7c828f5e"},"bg-hover-dk":{dark:"hsla(0,0%,100%,0.1)",dynamic:"#00c48b42",light:"#E3E7EB"},"bg-gradient":{dark:"linear-gradient(to left bottom, #1ed760, #217e41)",dynamic:"linear-gradient(to left bottom, #00a53c, #00297f)",light:"linear-gradient(to left bottom, #18a74b, #80dda0)"},"bg-gradient-placeholder":{dark:"linear-gradient(to left bottom, #00a53c, #00297f)"},"bg-base":{dark:"#121212",light:"white"},"bg-base-lt":{dark:"#181818",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-base-dk":{dark:"black",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-input":{dark:"var(--background-light)",light:"var(--background)"},"bg-fixedPlaylistHeader":{dark:"var(--bg-base-lt)",dynamic:"#374148"},"border-fixedPlaylistHeader":{dark:"#303030",dynamic:"none",light:"#D0D0D0"},"border-base":{dark:"hsla(0,0%,100%,0.1)",light:"#E3E7EB"},"border-container":{dark:"1px solid var(--border-base)",light:"1px solid var(--border-base)",dynamic:"1px solid transparent"},"ff-base":{dark:"Poppins, sans-serif"},"h-playlistEntry":{dark:"64px"},"h-player":{dark:"88px"},"h-player-mobile":{dark:"64px"},"h-header":{dark:"64px"},coverAsBackground:E4,supportsAmbient:k4};var S4=!1;/*! - * pinia v2.0.33 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */let Zg;const Ba=e=>Zg=e,Gg=Symbol();function Tu(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Es;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Es||(Es={}));function O4(){const e=xp(!0),t=e.run(()=>$e({}));let r=[],s=[];const o=Li({install(l){Ba(o),o._a=l,l.provide(Gg,o),l.config.globalProperties.$pinia=o,s.forEach(u=>r.push(u)),s=[]},use(l){return!this._a&&!S4?s.push(l):r.push(l),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return o}const Yg=()=>{};function Bh(e,t,r,s=Yg){e.push(t);const o=()=>{const l=e.indexOf(t);l>-1&&(e.splice(l,1),s())};return!r&&w2()&&A2(o),o}function Ci(e,...t){e.slice().forEach(r=>{r(...t)})}function Mu(e,t){e instanceof Map&&t instanceof Map&&t.forEach((r,s)=>e.set(s,r)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const s=t[r],o=e[r];Tu(o)&&Tu(s)&&e.hasOwnProperty(r)&&!vt(s)&&!kr(s)?e[r]=Mu(o,s):e[r]=s}return e}const R4=Symbol();function T4(e){return!Tu(e)||!e.hasOwnProperty(R4)}const{assign:Ar}=Object;function M4(e){return!!(vt(e)&&e.effect)}function I4(e,t,r,s){const{state:o,actions:l,getters:u}=t,c=r.state.value[e];let d;function h(){c||(r.state.value[e]=o?o():{});const p=eA(r.state.value[e]);return Ar(p,l,Object.keys(u||{}).reduce((m,g)=>(m[g]=Li(Ye(()=>{Ba(r);const P=r._s.get(e);return u[g].call(P,P)})),m),{}))}return d=Jg(e,h,t,r,s,!0),d}function Jg(e,t,r={},s,o,l){let u;const c=Ar({actions:{}},r),d={deep:!0};let h,p,m=Li([]),g=Li([]),P;const E=s.state.value[e];!l&&!E&&(s.state.value[e]={}),$e({});let B;function $(H){let I;h=p=!1,typeof H=="function"?(H(s.state.value[e]),I={type:Es.patchFunction,storeId:e,events:P}):(Mu(s.state.value[e],H),I={type:Es.patchObject,payload:H,storeId:e,events:P});const j=B=Symbol();$r().then(()=>{B===j&&(h=!0)}),p=!0,Ci(m,I,s.state.value[e])}const k=l?function(){const{state:I}=r,j=I?I():{};this.$patch(Z=>{Ar(Z,j)})}:Yg;function y(){u.stop(),m=[],g=[],s._s.delete(e)}function O(H,I){return function(){Ba(s);const j=Array.from(arguments),Z=[],V=[];function w(C){Z.push(C)}function T(C){V.push(C)}Ci(g,{args:j,name:H,store:U,after:w,onError:T});let L;try{L=I.apply(this&&this.$id===e?this:U,j)}catch(C){throw Ci(V,C),C}return L instanceof Promise?L.then(C=>(Ci(Z,C),C)).catch(C=>(Ci(V,C),Promise.reject(C))):(Ci(Z,L),L)}}const W={_p:s,$id:e,$onAction:Bh.bind(null,g),$patch:$,$reset:k,$subscribe(H,I={}){const j=Bh(m,H,I.detached,()=>Z()),Z=u.run(()=>ft(()=>s.state.value[e],V=>{(I.flush==="sync"?p:h)&&H({storeId:e,type:Es.direct,events:P},V)},Ar({},d,I)));return j},$dispose:y},U=si(W);s._s.set(e,U);const z=s._e.run(()=>(u=xp(),u.run(()=>t())));for(const H in z){const I=z[H];if(vt(I)&&!M4(I)||kr(I))l||(E&&T4(I)&&(vt(I)?I.value=E[H]:Mu(I,E[H])),s.state.value[e][H]=I);else if(typeof I=="function"){const j=O(H,I);z[H]=j,c.actions[H]=I}}return Ar(U,z),Ar(Ze(U),z),Object.defineProperty(U,"$state",{get:()=>s.state.value[e],set:H=>{$(I=>{Ar(I,H)})}}),s._p.forEach(H=>{Ar(U,u.run(()=>H({store:U,app:s._a,pinia:s,options:c})))}),E&&l&&r.hydrate&&r.hydrate(U.$state,E),h=!0,p=!0,U}function Da(e,t,r){let s,o;const l=typeof t=="function";typeof e=="string"?(s=e,o=l?r:t):(o=e,s=e.id);function u(c,d){const h=Br();return c=c||h&&Xt(Gg,null),c&&Ba(c),c=Zg,c._s.has(s)||(l?Jg(s,t,o,c):I4(s,o,c)),c._s.get(s)}return u.$id=s,u}const L4=e=>[...new Set(e)],$4=(e,t)=>e.filter(r=>!t.includes(r)),B4=(e,t)=>e.filter(r=>t.includes(r)),D4=e=>typeof e=="bigint"||!Number.isNaN(Number(e))&&Math.floor(Number(e))===e,N4=e=>typeof e=="bigint"||e>=0&&Number.isSafeInteger(e);function ls(e,t){if(t.length===0)return e;let r;const s=[...e];for(let o=s.length-1,l=0,u=0;o>0;o--,l++){l%=t.length,u+=r=t[l].codePointAt(0);const c=(r+l+u)%o,d=s[o],h=s[c];s[c]=d,s[o]=h}return s}const W4=(e,t)=>{const r=[];let s=e;if(typeof s=="bigint"){const o=BigInt(t.length);do r.unshift(t[Number(s%o)]),s/=o;while(s>BigInt(0))}else do r.unshift(t[s%t.length]),s=Math.floor(s/t.length);while(s>0);return r},F4=(e,t)=>e.reduce((r,s)=>{const o=t.indexOf(s);if(o===-1)throw new Error(`The provided ID (${e.join("")}) is invalid, as it contains characters that do not exist in the alphabet (${t.join("")})`);if(typeof r=="bigint")return r*BigInt(t.length)+BigInt(o);const l=r*t.length+o;if(Number.isSafeInteger(l))return l;if(typeof BigInt=="function")return BigInt(r)*BigInt(t.length)+BigInt(o);throw new Error("Unable to decode the provided string, due to lack of support for BigInt numbers in the current environment")},0),V4=/^\+?\d+$/,H4=e=>V4.test(e)?Number.parseInt(e,10):Number.NaN,U4=(e,t,r)=>Array.from({length:Math.ceil(e.length/t)},(s,o)=>r(e.slice(o*t,(o+1)*t))),Dh=e=>new RegExp(e.map(t=>Xg(t)).sort((t,r)=>r.length-t.length).join("|")),q4=e=>new RegExp(`^[${e.map(t=>Xg(t)).sort((t,r)=>r.length-t.length).join("")}]+$`),Xg=e=>e.replace(/[\s#$()*+,.?[\\\]^{|}-]/g,"\\$&"),Nh=16,Wh=3.5,j4=12,Fh=16,K4=12,Vh=100;class Qg{constructor(t="",r=0,s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",o="cfhistuCFHISTU"){if(this.minLength=r,typeof r!="number")throw new TypeError(`Hashids: Provided 'minLength' has to be a number (is ${typeof r})`);if(typeof t!="string")throw new TypeError(`Hashids: Provided 'salt' has to be a string (is ${typeof t})`);if(typeof s!="string")throw new TypeError(`Hashids: Provided alphabet has to be a string (is ${typeof s})`);const l=Array.from(t),u=Array.from(s),c=Array.from(o);this.salt=l;const d=L4(u);if(d.lengthWh)&&(p=Math.ceil(this.alphabet.length/Wh),p>this.seps.length&&(m=p-this.seps.length,this.seps.push(...this.alphabet.slice(0,m)),this.alphabet=this.alphabet.slice(m))),this.alphabet=ls(this.alphabet,l);const g=Math.ceil(this.alphabet.length/j4);this.alphabet.length<3?(this.guards=this.seps.slice(0,g),this.seps=this.seps.slice(g)):(this.guards=this.alphabet.slice(0,g),this.alphabet=this.alphabet.slice(g)),this.guardsRegExp=Dh(this.guards),this.sepsRegExp=Dh(this.seps),this.allowedCharsRegExp=q4([...this.alphabet,...this.guards,...this.seps])}encode(t,...r){const s="";let o=Array.isArray(t)?t:[...t!=null?[t]:[],...r];return o.length===0||(o.every(D4)||(o=o.map(l=>typeof l=="bigint"||typeof l=="number"?l:H4(String(l)))),!o.every(N4))?s:this._encode(o).join("")}decode(t){return!t||typeof t!="string"||t.length===0?[]:this._decode(t)}encodeHex(t){let r=t;switch(typeof r){case"bigint":r=r.toString(Fh);break;case"string":if(!/^[\dA-Fa-f]+$/.test(r))return"";break;default:throw new Error(`Hashids: The provided value is neither a string, nor a BigInt (got: ${typeof r})`)}const s=U4(r,K4,o=>Number.parseInt(`1${o}`,16));return this.encode(s)}decodeHex(t){return this.decode(t).map(r=>r.toString(Fh).slice(1)).join("")}isValidId(t){return this.allowedCharsRegExp.test(t)}_encode(t){let{alphabet:r}=this;const s=t.reduce((h,p,m)=>h+(typeof p=="bigint"?Number(p%BigInt(m+Vh)):p%(m+Vh)),0);let o=[r[s%r.length]];const l=[...o],{seps:u}=this,{guards:c}=this;if(t.forEach((h,p)=>{const m=l.concat(this.salt,r);r=ls(r,m);const g=W4(h,r);if(o.push(...g),p+10){const p=h/2;o=o.slice(p,p+this.minLength)}}return o}_decode(t){if(!this.isValidId(t))throw new Error(`The provided ID (${t}) is invalid, as it contains characters that do not exist in the alphabet (${this.guards.join("")}${this.seps.join("")}${this.alphabet.join("")})`);const r=t.split(this.guardsRegExp),s=r.length===3||r.length===2?1:0,o=r[s];if(o.length===0)return[];const l=o[Symbol.iterator]().next().value,u=o.slice(l.length).split(this.sepsRegExp);let c=this.alphabet;const d=[];for(const h of u){const p=[l,...this.salt,...c],m=ls(c,p.slice(0,c.length));d.push(F4(Array.from(h),m)),c=m}return this._encode(d).join("")!==t?[]:d}}const em=new Qg("reapOne.playlist",22),tm=new Qg("reapOne.track",22),Nk=e=>em.encode(String(e)),z4=e=>{const t=em.decode(e);return Number(t[0])},Hh=e=>tm.encode(String(e)),Z4=e=>{const t=tm.decode(e);return Number(t[0])},Iu=(e,t)=>String(e).padStart(t,"0"),Go=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,G4=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,nm=(e,t="track")=>(t=="playlist"?G4:Go)(e),Wk=e=>e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()),Fk=e=>window.open(e,"_blank"),Uh=Ye(()=>window.innerWidth<768),Vk=e=>/^(https?:\/\/)?((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$/i.test(e),Hk=e=>{const{key:t,mode:r}=e.spotify.features,s=["B","F#","C#","G#","D#","A#","F","C","G","D","A","E"],o=["A","D#","A#","F","C","G","D","A","E","B","F#","C#"];return`${(r=="Major"?s:o).indexOf(t)+1}${r=="Major"?"B":"A"}`},Uk=(e,t=null)=>{t||(e.includes("track")&&(t="track"),e.includes("album")&&(t="album"),e.includes("playlist")&&(t="playlist"));const r=new RegExp(`https://open.spotify.com/${t}/([a-zA-Z0-9]+)`),s=e.match(r);return s?s[1]:null},qk=e=>new Date(e).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"numeric"}),jk=e=>{if(e<=0)return"N/A";const t=Math.floor(e/60),r=Iu(Math.floor(e%60),2);return`${t}:${r}`},Kk=e=>{const t=["B","KB","MB","GB","TB"];let r=0;for(;e>1e3&&r{await Fi().fetchPlaylists()},Y4=e=>Fi().getPlaylistById(e),J4=async e=>{await fetch(`/api/playlists/${e.id}`,{method:"POST",body:JSON.stringify({name:e.name,description:e.description,cover:e.cover})}),await Na()},X4=async()=>await(await fetch("/api/playlists")).json(),Q4=e=>Y4(e),zk=e=>Q4(z4(e)),Zk=async e=>(await fetch(`/api/playlists/${e}`,{method:"DELETE"})).ok?(await Na(),!0):!1,rm=async()=>{const t=await(await fetch("/api/playlists/new")).json();return await Na(),t},Gk=async(e,t="",r="")=>{const s=await rm();return await J4({id:s,name:e,description:t,cover:r,plays:0}),s},Yk=async(e,t)=>{await fetch(`/api/playlists/${e}/tracks`,{method:"DELETE",body:JSON.stringify({songId:t})}),await Na()},Fi=Da({id:"data",state:()=>({playlists:[]}),getters:{notEmpty(){return!this.empty},empty(){return this.playlists.length===0},playlistsAsDropdown(e=!0){const t=this.playlists.map(r=>({value:r.id.toString(),label:r.name}));return e&&t.push({value:"new",label:"(new playlist)"}),t},getPlaylistById(){return e=>this.playlists.find(t=>t.id===e)}},actions:{setPlaylists(e){this.playlists=e},initialise(){this.fetchPlaylists()},async fetchPlaylists(){const e=await X4();this.setPlaylists(e)}}}),e3=class{constructor(){Pi(this,"ws",null);Pi(this,"connections",$e([]));Pi(this,"player",null);Pi(this,"me",null);Pi(this,"sendInfoTask",null);this.connect()}connect(){console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port=="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${e}:${t}/player/ws`);const r=Qt();this.sendInfoTask&&clearInterval(this.sendInfoTask),this.sendInfoTask=setInterval(()=>this.sendInfo(),300),this.ws.onclose=()=>{console.log("disconnected"),setTimeout(()=>this.connect(),1e3)},this.ws.onopen=()=>{console.log("connected")};const s=o=>{if(typeof o=="string")switch(o){case"play":r.play();break;case"pause":r.pause();break}if(typeof o=="object")switch(o.command){case"seek":r.seek(o.time);break;case"set volume":r.setVolume(o.volume);break;case"set repeat":r.setRepeat(o.repeat);break;case"set mute":r.setMute(o.mute);break}};this.ws.onmessage=o=>{switch(o=JSON.parse(o.data),o.type){case"info":if(typeof o.data=="boolean")return;r.playing=o.data.playing,r.progress=o.data.progress,r.volume=o.data.volume,r.repeat=o.data.repeat;break;case"new client":console.log("new client",o.data);break;case"client disconnected":break;case"player disconnected":break;case"connections":this.updateConnections(o.data);break;case"command":s(o.data);break}}}sendInfo(){var r,s;if(((s=(r=this.me)==null?void 0:r.type)==null?void 0:s.toLowerCase())!=="player")return;const e=Qt(),t={playing:e.playing,progress:e.progress,volume:e.volume,repeat:e.repeat};this.send("info",t)}updateConnections(e){this.connections.value=e,this.me=e.find(t=>t.friendlyName.includes("(You)"))}send(e,t){var r;(r=this.ws)==null||r.send(JSON.stringify({type:e,data:t}))}sendCommand(e){this.send("command",e)}setPlayer(e){this.send("set player",e.id)}makeMePlayer(){this.send("type","Player")}play(){this.sendCommand("play")}pause(){this.sendCommand("pause")}seek(e){this.sendCommand({command:"seek",time:e})}setVolume(e){this.sendCommand({command:"set volume",volume:e})}setRepeat(e){this.sendCommand({command:"set repeat",repeat:e})}setMute(e){this.sendCommand({command:"set mute",mute:e})}},t3=()=>{fetch("/api/player/next")},n3=()=>{fetch("/api/player/previous")},r3=e=>{fetch("/api/player/shuffle",{method:"POST",body:JSON.stringify(e)})},i3=()=>fetch("/api/player/shuffle").then(e=>e.json()),hc=Da({id:"downloader",state:()=>({ws:null,states:{},onDownload:[]}),getters:{empty(){return Object.keys(this.states).length===0}},actions:{_fireDownload(e){this.onDownload.forEach(t=>t(e))},initialise(){const e=()=>{console.log("[downloader] attempting reconnect");const t=window.location.hostname,r=window.location.port==="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${t}:${r}/download/ws`),this.ws.onclose=()=>{console.log("[downloader] ws closed"),setTimeout(()=>e(),1e3)},this.ws.onopen=()=>{console.log("[downloader] ws connected")},this.ws.onmessage=s=>{const o=JSON.parse(s.data);if(!o.action){if(o.status=="finished"){this.states[o.songId]={...this.states[o.songId],...o};return}this.states[o.songId]=o}}};e()},send(e){var t;(t=this.ws)==null||t.send(JSON.stringify(e))},downloadFromDb(e){this.send({action:"download",source:"db",songId:e}),this.states[e]={songId:e,status:"pending"},this._fireDownload(e)},downloadOther(e){this.send({action:"download",source:"other",...e}),this.states[e.id]={songId:e.id,status:"pending"},this._fireDownload(e.id)},download(e){window.open(`/api/tracks/${e}/download`,"_blank","noopener noreferrer"),this.states[e].status="downloaded"}}}),Jk=async e=>{await fetch(`/api/tracks/${e.id}`,{method:"PUT",body:JSON.stringify({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover})})},Xk=async(e,t,r)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({[t]:r})})},Qk=async e=>await(await fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:e})})).json(),e6=async(e,t)=>{e==="new"&&(e=await rm()),typeof e=="string"&&console.error("playlistId cannot be a string",e),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify({source:t.source,title:t.title,artist:t.artist,album:t.album,cover:t.cover,spotify:t.metadata?JSON.stringify(t.metadata.spotify):""})})},t6=async(e,t=!0)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({favourite:t})})},n6=e=>{hc().downloadFromDb(e)},s3=async e=>await(await fetch(`/api/tracks/${e}`)).json(),r6=async e=>{const t=Z4(e);return await s3(t)},o3=async(e,t=!1,r=null)=>{const s={id:e};return t&&(s.forceFetch=!0),r&&(s.spotifyId=r),await(await fetch("/api/spotify/meta",{method:"POST",body:JSON.stringify(s)})).json()},i6=async e=>await(await fetch(`/api/spotify/recommendations/${e}`)).json(),a3=async e=>{const r=await(await fetch("https://spotify-lyric-api.herokuapp.com/?trackid="+e)).json();return{error:r.message,lyrics:r.lines}},l3=async(e=!1)=>{var o,l;const r=Qt().song;let s=(o=r.metadata.spotify)==null?void 0:o.id;return!s&&e&&(s=(l=(await o3(r.id)).spotify)==null?void 0:l.id),s?await a3(s):{error:"Spotify equivalent unknown."}},Qt=Da({id:"player",state:()=>({playing:!1,progress:0,ready:!1,muted:!1,shuffle:!1,song:{title:null,artist:null,album:null,cover:Go(null),source:null,duration:null,favourite:!1,id:-1,metadata:{plays:0,spotify:{id:null}}},playlist:{cover:null,description:null,name:null,id:-1,songs:[]},lyrics:null,volume:50,repeat:"repeat",sharedPlayer:null,player:null}),actions:{playPause(){this.playing?this.pause():this.play()},toggleRepeat(){var e;switch(this.repeat){case"repeat":this.repeat="repeat_on";break;case"repeat_on":this.repeat="repeat_one_on";break;case"repeat_one_on":this.repeat="repeat";break}localStorage.setItem("reap.repeat",this.repeat),(e=this.player)==null||e.setRepeat(this.repeat)},setRepeat(e){this.repeat=e},setMute(e){var t;this.muted=e,(t=this.player)==null||t.setMute(e)},toggleMute(){this.setMute(!this.muted)},setShuffle(e){this.shuffle=e,r3(e)},toggleShuffle(){this.setShuffle(!this.shuffle)},onSongEnded(){if(this.repeat==="repeat_one_on")this.play();else{if(this.repeat==="repeat"&&this.playlist.index.value===this.playlist.songs.length-1)return;this.next()}},play(){this.player.play()},pause(){this.player.pause()},next(){t3()},previous(){n3()},setPlayer(e){e&&this.player!==e&&(this.player=e)},async setSong(e){e.id!=this.song.id&&(this.song=e,this.song.cover=Go(e.cover),this.progress=0,this.lyrics=null,this.lyrics=await l3(!0))},setReady(e){this.ready!==e&&(this.ready=e,e?Fi().initialise():(this.$reset(),Fi().$reset()))},setDuration(e){this.song.duration=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({duration:e})})},setPlaying(e){this.playing=e},seek(e){this.player.seek(e)},seekPercent(e){this.seek(this.durationSeconds*e/100)},setProgress(e){this.progress=Math.round(e)},setFavourite(e){this.song.favourite=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({favourite:e})})},setPlaylist(e){this.playlist.songs=e.songs,this.playlist.cover=Go(e.cover),this.playlist.description=e.description,this.playlist.name=e.name,this.playlist.id=e.id},setVolume(e){var t;e!=this.volume&&(this.volume=e,localStorage.setItem("reap.volume",e),this.player.setVolume&&((t=this.player)==null||t.setVolume(e)))},toggleFavourite(){this.setFavourite(!this.song.favourite)},async initialise(){this.volume=localStorage.getItem("reap.volume")||50,this.repeat=localStorage.getItem("reap.repeat")||"repeat_on",this.sharedPlayer=new e3,this.setShuffle(await i3())},loadPlaylist(e,t=null){const r={type:"playlist",id:e};typeof e=="string"&&(r.type=e,r.id=t),fetch("/api/player/load",{method:"POST",body:JSON.stringify(r)})},loadSong(e,t){const r={index:t};typeof e=="number"?isNaN(e)||(r.playlistIndex=e):r.type=e,fetch("/api/player/at",{method:"POST",body:JSON.stringify(r)})}},getters:{hasLyrics(e){var t;return(t=e.lyrics)==null?void 0:t.lyrics},durationSeconds(e){return e.song.duration},displayDuration(e){const t=e.song.duration;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Iu(Math.floor(t%60),2)}`},stream(e){return`/api/player/stream/${e.song.id}`},cover(e){return e.song.cover},progressPercent(e){return e.progress/this.durationSeconds*1e3},displayProgress(e){const t=e.progress;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Iu(Math.floor(t%60),2)}`},loaded(e){return e.song.id!=-1},shuffleIcon(e){return e.shuffle?"shuffle_on":"shuffle"},muteIcon(e){return e.muted?"volume_off":e.volume>50?"volume_up":e.volume>0?"volume_down":"volume_mute"},playlist(e){return{...e.playlist,index:Ye(()=>{var t,r;return((r=(t=e.playlist)==null?void 0:t.songs)==null?void 0:r.findIndex(s=>s.id===e.song.id))??-1})}}}}),im="reapOne.settings",u3="dynamic",sm=e=>{localStorage.setItem(im,JSON.stringify({sidebar:e.sidebar,player:e.player,theme:e.theme,ambient:e.ambient}))},c3={sidebar:{sports:!1,news:!1,collapsed:!1},player:{expandedCover:!1,pictureInPicture:!1,type:"web"},theme:u3,ambient:!0},gs=()=>JSON.parse(localStorage.getItem(im)||JSON.stringify(c3)),f3=()=>{const e=gs();console.log("migrateSettings",e);const t=localStorage.getItem("sidebar.showSportsTab"),r=localStorage.getItem("sidebar.showNewsTab"),s=localStorage.getItem("player.inBrowser"),o=localStorage.getItem("player.collapsedSidebar"),l=localStorage.getItem("player.exapndCover"),u=localStorage.getItem("theme");t&&(e.sidebar.sports=t==="true",localStorage.removeItem("sidebar.showSportsTab")),r&&(e.sidebar.news=r==="true",localStorage.removeItem("sidebar.showNewsTab")),s&&localStorage.removeItem("player.inBrowser"),o&&(e.sidebar.collapsed=o==="true",localStorage.removeItem("player.collapsedSidebar")),l&&(e.player.expandedCover=l==="true",localStorage.removeItem("player.exapndCover")),u&&(e.theme=u,localStorage.removeItem("theme")),sm(e)},oi=Da("settings",()=>{f3();const e=$e(gs().player),t=$e(gs().sidebar),r=$e(gs().theme),s=$e(gs().ambient),o=()=>{sm({player:e.value,sidebar:t.value,theme:r.value,ambient:s.value})};ft(()=>e,o,{deep:!0}),ft(()=>t,o,{deep:!0}),ft(()=>r,o,{deep:!0}),ft(()=>s,o,{deep:!0});const l=Ye(()=>window.getCurrentThemeProperty("supportsAmbient"));return{player:e,sidebar:t,theme:r,ambient:s,themeSupportsAmbient:l}}),om=()=>{console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port==5173?1234:window.location.port,r=new WebSocket(`ws://${e}:${t}/ws`);r.onclose=()=>{console.log("ws closed"),Qt().setReady(!1),setTimeout(()=>om(),1e3)},r.onopen=()=>{console.log("ws connected"),Qt().setReady(!0)},r.onmessage=s=>{const o=Qt(),l=JSON.parse(s.data);l.path=="player.song"&&o.setSong(l.data),l.path=="player.playlist"&&o.setPlaylist(l.data)}},d3=()=>{Qt().initialise(),Fi().fetchPlaylists(),hc().initialise()},us=e=>{const t=new CustomEvent("notification.add",{detail:e});window.dispatchEvent(t)},am={addSuccess(e,t,r){const s=Math.random().toString(36).substring(7);return us({id:s,message:e,details:t,type:"success",timeout:r}),s},addError(e,t,r){const s=Math.random().toString(36).substring(7);return us({id:s,message:e,details:t,type:"error",timeout:r}),s},addInfo(e,t,r){const s=Math.random().toString(36).substring(7);return us({id:s,message:e,details:t,type:"info",timeout:r}),s},addWarning(e,t,r){const s=Math.random().toString(36).substring(7);return us({id:s,message:e,details:t,type:"warning",timeout:r}),s},addYesNo(e,t,r,s,o,l){const u=Math.random().toString(36).substring(7);return us({id:u,message:e,details:t,type:"yes-no",timeout:r,onYes:s,onNo:o,onTimeout:l}),u},remove(e){const t=new CustomEvent("notification.remove",{detail:e});window.dispatchEvent(t)},clear(){const e=new CustomEvent("notification.clear");window.dispatchEvent(e)}},h3=async()=>await(await fetch("/api/config/first-time")).json(),s6=async(e,t)=>{await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:e,secret:t})})},p3=async()=>{const e=await fetch("/api/spotify/authorise");return e.status==200?(am.addYesNo("Do you want to authorise reAudioPlayer ONE to access your Spotify account?","You will be redirected to Spotify to authorise reAudioPlayer ONE to access your account.",null,async()=>{window.location.href=await e.text()}),!1):e.status==204},o6=async()=>await(await fetch("/api/config")).json(),a6=async e=>{await fetch("/api/config",{method:"PUT",body:JSON.stringify(e)})},g3=1.1,qh=window.localStorage.getItem("renderedIcons"),Yo=qh?new Map(JSON.parse(qh)):new Map,m3=()=>{window.localStorage.setItem("renderedIcons",JSON.stringify([...Yo]))},fa=(e,t,r=500)=>e||lm(t,r),lm=async(e,t=500)=>{await document.fonts.ready;const r=`${g3}-${e}-${t}`;if(Yo.has(r))return Yo.get(r);const s=document.createElement("canvas"),o=s.getContext("2d"),l=getComputedStyle(document.documentElement).getPropertyValue("--bg-gradient-placeholder"),u=l.match(/(#[0-9a-f]{3,6})/g)[0],c=l.match(/(#[0-9a-f]{3,6})/g)[1],d=o.createLinearGradient(t,0,0,t);d.addColorStop(0,u),d.addColorStop(1,c);const h=t;o.canvas.width=h,o.canvas.height=h,o.fillStyle=d,o.fillRect(0,0,h,h),o.font=`300 ${h}px Material Symbols Rounded`,o.fillStyle="whitesmoke",o.fillText(e,0,h);const p=s.toDataURL();return Yo.set(r,p),m3(),p};/*! Fast Average Color | © 2022 Denis Seleznev | MIT License | https://github.com/fast-average-color/fast-average-color */function v3(e){var t=e.toString(16);return t.length===1?"0"+t:t}function jh(e){return"#"+e.map(v3).join("")}function y3(e){var t=(e[0]*299+e[1]*587+e[2]*114)/1e3;return t<128}function _3(e){return e?b3(e)?e:[e]:[]}function b3(e){return Array.isArray(e[0])}function pc(e,t,r){for(var s=0;s=t-r&&e<=t+r}function P3(e,t,r){var s=r[0],o=r[1],l=r[2],u=r[3],c=r[4],d=e[t+3],h=Uo(d,u,c);return u?!!(!d&&h||Uo(e[t],s,c)&&Uo(e[t+1],o,c)&&Uo(e[t+2],l,c)&&h):h}function C3(e,t,r){for(var s={},o=24,l=r.ignoredColor,u=r.step,c=[0,0,0,0,0],d=0;dl?(d=o/l,u=Lu,c=Math.round(u/d)):(d=l/o,c=Lu,u=Math.round(c/d)),(u>o||c>l||u"u";function B3(){return $3?cm?new OffscreenCanvas(1,1):null:document.createElement("canvas")}var D3="FastAverageColor: ";function Ln(e){return Error(D3+e)}function cs(e,t){t||console.error(e)}var N3=function(){function e(){this.canvas=null,this.ctx=null}return e.prototype.getColorAsync=function(t,r){if(!t)return Promise.reject(Ln("call .getColorAsync() without resource."));if(typeof t=="string"){if(typeof Image>"u")return Promise.reject(Ln("resource as string is not supported in this environment"));var s=new Image;return s.crossOrigin=r&&r.crossOrigin||"",s.src=t,this.bindImageEvents(s,r)}else{if(um(t)&&!t.complete)return this.bindImageEvents(t,r);var o=this.getColor(t,r);return o.error?Promise.reject(o.error):Promise.resolve(o)}},e.prototype.getColor=function(t,r){r=r||{};var s=Kh(r);if(!t){var o=Ln("call .getColor(null) without resource");return cs(o,r.silent),this.prepareResult(s,o)}var l=O3(t),u=L3(l,r);if(!u.srcWidth||!u.srcHeight||!u.destWidth||!u.destHeight){var o=Ln('incorrect sizes for resource "'.concat(Zh(t),'"'));return cs(o,r.silent),this.prepareResult(s,o)}if(!this.canvas&&(this.canvas=B3(),!this.canvas)){var o=Ln("OffscreenCanvas is not supported in this browser");return cs(o,r.silent),this.prepareResult(s,o)}if(!this.ctx){if(this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),!this.ctx){var o=Ln("Canvas Context 2D is not supported in this browser");return cs(o,r.silent),this.prepareResult(s)}this.ctx.imageSmoothingEnabled=!1}this.canvas.width=u.destWidth,this.canvas.height=u.destHeight;try{this.ctx.clearRect(0,0,u.destWidth,u.destHeight),this.ctx.drawImage(t,u.srcLeft,u.srcTop,u.srcWidth,u.srcHeight,0,0,u.destWidth,u.destHeight);var c=this.ctx.getImageData(0,0,u.destWidth,u.destHeight).data;return this.prepareResult(this.getColorFromArray4(c,r))}catch(d){var o=Ln("security error (CORS) for resource ".concat(Zh(t),`. -Details: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image`));return cs(o,r.silent),!r.silent&&console.error(d),this.prepareResult(s,o)}},e.prototype.getColorFromArray4=function(t,r){r=r||{};var s=4,o=t.length,l=Kh(r);if(o{const r=e.hex,s=Math.round(t*255).toString(16);return r+s},W3=async(e,t,r=.25)=>{if(!oi().ambient)return;var o=e.width/100,l=e.height/100,u=e.naturalWidth,c=e.naturalHeight;const d=await Promise.all([vs.getColorAsync(t,{height:l}),vs.getColorAsync(t,{left:u-o,width:o}),vs.getColorAsync(t,{width:o}),vs.getColorAsync(t,{top:c-l,height:l})]);o*=40,l*=40;var h=ys(d[0],r),p=ys(d[1],r),m=ys(d[2],r),g=ys(d[3],r);const P=" 10px",E=` ${o}px `,B=o+"px",$=l+"px";e.style.boxShadow=["0 -".concat($," ").concat(E," ").concat(P," ").concat(h),"".concat(B," 0 ").concat(E," ").concat(P," ").concat(p),"0 ".concat($," ").concat(E," ").concat(P," ").concat(m),"-".concat(B," 0 ").concat(E," ").concat(P," ").concat(g)].join(", ")},F3=async(e,t,r="to top right",s=.2)=>{if(!oi().ambient)return;const l=await vs.getColorAsync(t),u=ys(l,s),c=`linear-gradient(${r}, ${u}, transparent)`;e.style.background=c},V3=["alt","src"],ks=dt({__name:"Cover",props:{src:{type:String,required:!0},type:{type:String,required:!1,default:"track"},placeholder:{type:String,required:!1},withAmbient:{type:Boolean,required:!1,default:!1},ambientOpacity:{type:Number,required:!1,default:.2}},setup(e){const t=e,r=Ye(()=>t.placeholder?t.placeholder:t.type==="track"?"music_note":"queue_music"),s=$e(null),o=async()=>{if(s.value=await lm(r.value),!s.value){setTimeout(()=>{o()},100);return}},l=()=>{s.value=nm(t.src,t.type),s.value||o()};ft(()=>t.src,l),l();const u=$e(null),c=async()=>{if(!t.withAmbient||!u.value||!window.getCurrentThemeProperty("supportsAmbient"))return;const d=await fa(s.value,r.value);console.log(d),W3(u.value,d,t.ambientOpacity)};return(d,h)=>(pe(),ke("img",{ref_key:"element",ref:u,alt:t.type,src:Q(fa)(s.value,Q(r)),class:"cover",onError:o,onLoad:c},null,40,V3))}});const xt=(e,t)=>{const r=e.__vccOpts||e;for(const[s,o]of t)r[s]=o;return r},H3={name:"NavEntry",components:{Cover:ks},props:{icon:String,img:String,name:String,href:String,hasChildSites:Boolean,parentHref:String,minimised:Boolean},computed:{showImg(){return this.img?!0:/^\/playlist\/\w{22}$/.exec(this.href)},active(){return this.hasChildSites?this.$route.path.includes(this.href)?!0:(console.log(this.parentHref),this.parentHref&&this.$route.path.includes(this.parentHref)):!1}}},U3={key:0,class:"material-icons-round icon"},q3={key:2,class:"name hideIfMobile"};function j3(e,t,r,s,o,l){const u=ti("Cover"),c=ti("router-link");return pe(),at(c,{to:r.href,class:"link"},{default:$t(()=>[fe("div",{class:st([{active:l.active,img:l.showImg},"navEntry"])},[r.icon?(pe(),ke("span",U3,nt(r.icon),1)):it("",!0),l.showImg?(pe(),at(u,{key:1,src:r.img,class:"icon",type:"playlist"},null,8,["src"])):it("",!0),r.minimised?it("",!0):(pe(),ke("span",q3,nt(r.name),1))],2)]),_:1},8,["to"])}const kn=xt(H3,[["render",j3],["__scopeId","data-v-148b3d73"]]);const K3=e=>(Oa("data-v-99b49a72"),e=e(),Ra(),e),z3={class:"sidebar drop-shadow-xl"},Z3={class:"static"},G3={key:0},Y3=K3(()=>fe("br",{class:"hideIfMobile"},null,-1)),J3={key:0,class:"hideIfMobile"},X3={key:1,class:"playlistList expanded hideIfMobile"},Q3={key:2,class:"playlistList hideIfMobile"},ex=["src"],tx={name:"Sidebar",components:{NavEntry:kn},watch:{minimised(){this.collapseSidebar()}},mounted(){this.collapseSidebar()},computed:{minimised(){return!0}},methods:{hideCover(){this.$emit("expandCover",!1)},collapseSidebar(){document.documentElement.style.setProperty("--w-sidebar",this.minimised?"44px":"200px")}}},nx=Object.assign(tx,{setup(e){const t=Qt(),r=Fi(),s=Ye(()=>t.song.cover),o=Ye(()=>r.playlists),l=oi();return(u,c)=>{const d=ti("router-link");return pe(),ke("div",z3,[fe("div",Z3,[ge(kn,{hasChildSites:!0,minimised:u.minimised,href:"/collection/playlists",icon:"library_music",name:"Your Library",parentHref:"/collection"},null,8,["minimised"]),ge(kn,{minimised:u.minimised,href:"/discover",icon:"explore",name:"Discover"},null,8,["minimised"]),Q(l).sidebar.news||Q(l).sidebar.sports?(pe(),ke("br",G3)):it("",!0),Q(l).sidebar.news?(pe(),at(kn,{key:1,hasChildSites:!0,minimised:u.minimised,href:"/news",icon:"newspaper",name:"News"},null,8,["minimised"])):it("",!0),Q(l).sidebar.sports?(pe(),at(kn,{key:2,hasChildSites:!0,minimised:u.minimised,href:"/sports",icon:"sports_soccer",name:"Sports"},null,8,["minimised"])):it("",!0),Y3,ge(kn,{minimised:u.minimised,class:"hideIfMobile",href:"/playlist/create",icon:"add_circle",name:"Create Playlist"},null,8,["minimised"]),ge(kn,{minimised:u.minimised,href:"/collection/tracks",icon:"favorite",name:"Liked Songs"},null,8,["minimised"])]),Q(o).length?(pe(),ke("hr",J3)):it("",!0),u.minimised?(pe(),ke("div",Q3,[(pe(!0),ke(rt,null,Bi(Q(o),(h,p)=>(pe(),at(kn,{key:p,href:h.href,img:h.cover,minimised:u.minimised,name:h.name},null,8,["href","img","minimised","name"]))),128))])):(pe(),ke("div",X3,[(pe(!0),ke(rt,null,Bi(Q(o),(h,p)=>(pe(),at(d,{key:p,to:h.href},{default:$t(()=>[Vs(nt(h.name),1)]),_:2},1032,["to"]))),128))])),Q(l).player.expandedCover?(pe(),ke("img",{key:3,src:Q(s),class:"cover hideIfMobile",onClick:c[0]||(c[0]=h=>Q(l).player.expandedCover=!1)},null,8,ex)):it("",!0)])}}}),fm=xt(nx,[["__scopeId","data-v-99b49a72"]]);const rx={name:"Body",data(){return{maximised:!1}},methods:{onMaximiseChange(e){this.maximised=e,this.$emit("maximise",e)}}};function ix(e,t,r,s,o,l){const u=ti("router-view");return pe(),ke("div",{class:st(["body",{maximised:o.maximised}])},[ge(u,{onMaximise:l.onMaximiseChange,class:"view"},null,8,["onMaximise"])],2)}const dm=xt(rx,[["render",ix],["__scopeId","data-v-772535b8"]]),sx={class:"html-audio"},ox=["src"],ax=dt({__name:"HtmlAudio",setup(e,{expose:t}){const r=Qt(),s=$e(null);let o=!1;Ut(()=>{s.value.src=null,s.value.src=r.stream,s.value.load(),s.value.onloadedmetadata=()=>{s.value&&(r.setDuration(s.value.duration),(o||r.playing)&&(u(),o=!1))}}),ft(()=>r.song.id,()=>{s.value.paused||(o=!0),s.value.src=null,s.value.src=r.stream,s.value.load(),r.setPlaying(!s.value.paused)});const l=()=>{o=!0,r.onSongEnded()},u=()=>{try{s.value.play()}catch{}},c=()=>{s.value.pause()},d=g=>{s.value.currentTime=g},h=g=>{let P=g/100;P=Math.min(Math.max(P,0),1),s.value.volume=P},p=g=>{s.value.muted=g};return Ut(()=>{h(r.volume)}),t({play:u,pause:c,seek:d,setVolume:h,setMute:p}),(g,P)=>(pe(),ke("div",sx,[fe("audio",{ref_key:"audio",ref:s,src:Q(r).stream,onEnded:l,onPause:P[0]||(P[0]=E=>Q(r).setPlaying(!1)),onPlay:P[1]||(P[1]=E=>Q(r).setPlaying(!0)),onTimeupdate:P[2]||(P[2]=E=>{var B;return Q(r).setProgress((B=s.value)==null?void 0:B.currentTime)})},null,40,ox)]))}});const lx={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e?e.scrollWidth>e.clientWidth:!1},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}},props:{text:String},watch:{text(){this.update()}}},ux={key:0,class:"replacer"},cx={key:0,class:"overlay"};function fx(e,t,r,s,o,l){return pe(),ke("div",{class:st([{marquee:o.isMarquee},"marqueeWrapper"])},[fe("span",{ref:"marquee",class:st({marquee:o.isMarquee})},[Vs(nt(r.text)+" ",1),o.isMarquee?(pe(),ke("span",ux,nt(r.text),1)):it("",!0)],2),o.isMarquee?(pe(),ke("div",cx)):it("",!0)],2)}const tr=xt(lx,[["render",fx],["__scopeId","data-v-625a8655"]]);const dx={props:{modelValue:{type:Number,required:!0},max:{type:Number,default:100}},watch:{modelValue(){this.value=this.modelValue}},computed:{percentage(){return Math.min(1,this.value/this.max)*100}},methods:{seek(e){const t=e.offsetX,r=this.$el.offsetWidth;this.value=t/r*this.max,this.$emit("change",this.value);try{this.$emit("update:modelValue",this.value)}catch{}}},data(){return{hover:!1,value:this.modelValue||0}}},hx={class:"progressBar__track"};function px(e,t,r,s,o,l){return pe(),ke("div",{ref:"el",class:"progressBar",onClick:t[0]||(t[0]=(...u)=>l.seek&&l.seek(...u)),onMouseenter:t[1]||(t[1]=u=>o.hover=!0),onMouseleave:t[2]||(t[2]=u=>o.hover=!1)},[fe("div",hx,[fe("div",{class:st([{hover:o.hover},"progressBar__progress"]),style:Lr({width:`${l.percentage}%`})},null,6)])],544)}const au=xt(dx,[["render",px],["__scopeId","data-v-80b99d67"]]),gx={class:"dropdown"},mx=["onClick"],vx={class:"material-symbols-rounded"},yx={key:0,class:"material-symbols-rounded"},_x=dt({__name:"IconDropdown",props:{modelValue:{type:String,required:!0},icon:{type:String,required:!0},options:{type:Array,required:!0}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=$e(r.options),o=$e(r.modelValue),l=$e(!1);ft(r,d=>{o.value=d.modelValue,s.value=d.options},{deep:!0});const u=d=>{o.value=d,t("update:modelValue",d),l.value=!1},c=$e(null);return ft(l,d=>{$r(()=>{if(d){const h=c.value.getBoundingClientRect();window.innerHeight-h.top>h.height?(c.value.style.top="100%",c.value.style.bottom="auto"):(c.value.style.top="auto",c.value.style.bottom="100%"),h.left<0?(c.value.style.left="0",c.value.style.right="auto"):h.right>window.innerWidth&&(c.value.style.left="auto",c.value.style.right="0")}})}),document.addEventListener("click",()=>{l.value=!1}),(d,h)=>(pe(),ke("div",gx,[fe("span",{class:"dropdown__selected material-symbols-rounded ms-wght-400",onClick:h[0]||(h[0]=Ds(p=>l.value=!l.value,["stop"]))},nt(e.icon),1),l.value?(pe(),ke("div",{key:0,ref_key:"trueDropdown",ref:c,class:st([{expanded:l.value},"dropdown__options"])},[(pe(!0),ke(rt,null,Bi(s.value,p=>(pe(),ke("div",{key:p.value,class:"dropdown__option",onClick:Ds(m=>u(p.value),["stop"])},[fe("span",vx,nt(p.icon),1),fe("span",null,nt(p.label),1),o.value==p.value?(pe(),ke("span",yx,"check")):it("",!0)],8,mx))),128))],2)):it("",!0)]))}});const lu=xt(_x,[["__scopeId","data-v-f0ed46f1"]]),Vn=document.createElement("video");Vn.style.position="absolute";Vn.style.top="0";Vn.style.left="0";Vn.style.width="500px";Vn.style.height="500px";Vn.style.zIndex="-1000";document.body.appendChild(Vn);const Nn=$e("error"),qo=async()=>{if(Nn.value=="error"||Nn.value=="loading")return!1;await Vn.requestPictureInPicture()},hm=()=>{const e=Qt(),t=oi();let r;const s=async o=>{if(!t.player.pictureInPicture||e.song.id<0)return!1;r==null||r.terminate(),r=new Worker("/assets/ffmpeg/ffmpeg-worker-mp4.js"),Nn.value="loading",console.log("loading new cover",o);const u=await(await fetch(o)).blob(),c=URL.createObjectURL(u);Vn.src="";const d="t.jpg",h=[],p=new Image;p.src=c,p.style.width="100%",p.style.height="100%",p.onload=()=>{const E=document.createElement("canvas");E.width=p.width,E.height=p.height,E.getContext("2d").drawImage(p,0,0);const $=E.toDataURL("image/jpeg",1),k=m($);h.push({name:d,data:k}),console.log("loaded image",h),requestAnimationFrame(g)};function m(E){var B=E.replace(/^data[^,]+,/,""),$=window.atob(B),k=$.length,y=new Uint8Array(new ArrayBuffer(k));for(let O=0;O{Vn.src=webkitURL.createObjectURL(E)}};return ft(()=>t.player.pictureInPicture,async o=>{console.log("pictureInPicture enabled",o),o?(hm(),o=!0,Nn.value="error",await s(e.song.cover)):(r==null||r.terminate(),o=!1,Nn.value="error")}),t.player.pictureInPicture?(ft(()=>e.song.cover,s),!0):!1},bx={class:"loader"},wx=dt({__name:"Spinner",setup(e){const t=$e(null);return Ut(()=>{var l,u;const s=((l=t.value)==null?void 0:l.clientWidth)??0,o=8/80;for(const c of((u=t.value)==null?void 0:u.children)??[])c.style.width=`${s*.8}px`,c.style.height=`${s*.8}px`,c.style.borderWidth=`${s*o}px`,c.style.margin=`${s*o}px`}),(r,s)=>(pe(),ke("span",bx))}});const Gh=xt(wx,[["__scopeId","data-v-a886b69f"]]);var fs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ax(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function l6(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){if(this instanceof s){var o=[null];o.push.apply(o,arguments);var l=Function.bind.apply(t,o);return new l}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),r}var $u={},xx={get exports(){return $u},set exports(e){$u=e}};/*! - * wavesurfer.js 6.4.0 (2022-11-05) - * https://wavesurfer-js.org - * @license BSD-3-Clause - */(function(e,t){(function(s,o){e.exports=o()})(self,()=>(()=>{var r={"./src/drawer.canvasentry.js":(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=m(d("./src/util/style.js")),p=m(d("./src/util/get-id.js"));function m($){return $&&$.__esModule?$:{default:$}}function g($,k){if(!($ instanceof k))throw new TypeError("Cannot call a class as a function")}function P($,k){for(var y=0;y=w;Y--)R=O[2*Y+1]||0,b=Math.round(R/A),y.lineTo((Y-Z)*L+this.halfPixel,C-b);y.lineTo((w-Z)*L,C-Math.round((O[2*w+1]||0)/A)),y.closePath(),y.fill()}}},{key:"destroy",value:function(){this.waveCtx=null,this.wave=null,this.progressCtx=null,this.progress=null}},{key:"getImage",value:function(y,O,W){var U=this;if(W==="blob")return new Promise(function(z){U.wave.toBlob(z,y,O)});if(W==="dataURL")return this.wave.toDataURL(y,O)}}]),$}();c.default=B,u.exports=c.default},"./src/drawer.js":(u,c,d)=>{function h(I){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(j){return typeof j}:function(j){return j&&typeof Symbol=="function"&&j.constructor===Symbol&&j!==Symbol.prototype?"symbol":typeof j},h(I)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=g(d("./src/util/index.js"));function m(I){if(typeof WeakMap!="function")return null;var j=new WeakMap,Z=new WeakMap;return(m=function(w){return w?Z:j})(I)}function g(I,j){if(!j&&I&&I.__esModule)return I;if(I===null||h(I)!=="object"&&typeof I!="function")return{default:I};var Z=m(j);if(Z&&Z.has(I))return Z.get(I);var V={},w=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var T in I)if(T!=="default"&&Object.prototype.hasOwnProperty.call(I,T)){var L=w?Object.getOwnPropertyDescriptor(I,T):null;L&&(L.get||L.set)?Object.defineProperty(V,T,L):V[T]=I[T]}return V.default=I,Z&&Z.set(I,V),V}function P(I,j){if(!(I instanceof j))throw new TypeError("Cannot call a class as a function")}function E(I,j){for(var Z=0;Z"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function z(I){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Z){return Z.__proto__||Object.getPrototypeOf(Z)},z(I)}var H=function(I){$(Z,I);var j=y(Z);function Z(V,w){var T;return P(this,Z),T=j.call(this),T.container=p.withOrientation(V,w.vertical),T.params=w,T.width=0,T.height=w.height*T.params.pixelRatio,T.lastPos=0,T.wrapper=null,T}return B(Z,[{key:"style",value:function(w,T){return p.style(w,T)}},{key:"createWrapper",value:function(){this.wrapper=p.withOrientation(this.container.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.wrapper,{display:"block",position:"relative",userSelect:"none",webkitUserSelect:"none",height:this.params.height+"px"}),(this.params.fillParent||this.params.scrollParent)&&this.style(this.wrapper,{width:"100%",cursor:this.params.hideCursor?"none":"auto",overflowX:this.params.hideScrollbar?"hidden":"auto",overflowY:"hidden"}),this.setupWrapperEvents()}},{key:"handleEvent",value:function(w,T){!T&&w.preventDefault();var L=p.withOrientation(w.targetTouches?w.targetTouches[0]:w,this.params.vertical).clientX,C=this.wrapper.getBoundingClientRect(),A=this.width,F=this.getWidth(),R=this.getProgressPixels(C,L),b;return!this.params.fillParent&&A=A.bottom-C)return}w.params.interact&&w.fireEvent("click",T,w.handleEvent(T))}),this.wrapper.addEventListener("dblclick",function(T){w.params.interact&&w.fireEvent("dblclick",T,w.handleEvent(T))}),this.wrapper.addEventListener("scroll",function(T){return w.fireEvent("scroll",T)})}},{key:"drawPeaks",value:function(w,T,L,C){this.setWidth(T)||this.clearWave(),this.params.barWidth?this.drawBars(w,0,L,C):this.drawWave(w,0,L,C)}},{key:"resetScroll",value:function(){this.wrapper!==null&&(this.wrapper.scrollLeft=0)}},{key:"recenter",value:function(w){var T=this.wrapper.scrollWidth*w;this.recenterOnPosition(T,!0)}},{key:"recenterOnPosition",value:function(w,T){var L=this.wrapper.scrollLeft,C=~~(this.wrapper.clientWidth/2),A=this.wrapper.scrollWidth-this.wrapper.clientWidth,F=w-C,R=F-L;if(A!=0){if(!T&&-C<=R&&R=T){if(this.lastPos=L,this.params.scrollParent&&this.params.autoCenter){var C=~~(this.wrapper.scrollWidth*w);this.recenterOnPosition(C,this.params.autoCenterImmediately)}this.updateProgress(L)}}},{key:"destroy",value:function(){this.unAll(),this.wrapper&&(this.wrapper.parentNode==this.container.domElement&&this.container.removeChild(this.wrapper.domElement),this.wrapper=null)}},{key:"updateCursor",value:function(){}},{key:"updateSize",value:function(){}},{key:"drawBars",value:function(w,T,L,C){}},{key:"drawWave",value:function(w,T,L,C){}},{key:"clearWave",value:function(){}},{key:"updateProgress",value:function(w){}}]),Z}(p.Observer);c.default=H,u.exports=c.default},"./src/drawer.multicanvas.js":(u,c,d)=>{function h(V){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w},h(V)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=B(d("./src/drawer.js")),m=E(d("./src/util/index.js")),g=B(d("./src/drawer.canvasentry.js"));function P(V){if(typeof WeakMap!="function")return null;var w=new WeakMap,T=new WeakMap;return(P=function(C){return C?T:w})(V)}function E(V,w){if(!w&&V&&V.__esModule)return V;if(V===null||h(V)!=="object"&&typeof V!="function")return{default:V};var T=P(w);if(T&&T.has(V))return T.get(V);var L={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var A in V)if(A!=="default"&&Object.prototype.hasOwnProperty.call(V,A)){var F=C?Object.getOwnPropertyDescriptor(V,A):null;F&&(F.get||F.set)?Object.defineProperty(L,A,F):L[A]=V[A]}return L.default=V,T&&T.set(V,L),L}function B(V){return V&&V.__esModule?V:{default:V}}function $(V,w){if(!(V instanceof w))throw new TypeError("Cannot call a class as a function")}function k(V,w){for(var T=0;T"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function j(V){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(T){return T.__proto__||Object.getPrototypeOf(T)},j(V)}var Z=function(V){O(T,V);var w=U(T);function T(L,C){var A;return $(this,T),A=w.call(this,L,C),A.maxCanvasWidth=C.maxCanvasWidth,A.maxCanvasElementWidth=Math.round(C.maxCanvasWidth/C.pixelRatio),A.hasProgressCanvas=C.waveColor!=C.progressColor,A.halfPixel=.5/C.pixelRatio,A.canvases=[],A.progressWave=null,A.EntryClass=g.default,A.canvasContextAttributes=C.drawingContextAttributes,A.overlap=2*Math.ceil(C.pixelRatio/2),A.barRadius=C.barRadius||0,A.vertical=C.vertical,A}return y(T,[{key:"init",value:function(){this.createWrapper(),this.createElements()}},{key:"createElements",value:function(){this.progressWave=m.withOrientation(this.wrapper.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.progressWave,{position:"absolute",zIndex:3,left:0,top:0,bottom:0,overflow:"hidden",width:"0",display:"none",boxSizing:"border-box",borderRightStyle:"solid",pointerEvents:"none"}),this.addCanvas(),this.updateCursor()}},{key:"updateCursor",value:function(){this.style(this.progressWave,{borderRightWidth:this.params.cursorWidth+"px",borderRightColor:this.params.cursorColor})}},{key:"updateSize",value:function(){for(var C=this,A=Math.round(this.width/this.params.pixelRatio),F=Math.ceil(A/(this.maxCanvasElementWidth+this.overlap));this.canvases.lengthF;)this.removeCanvas();var R=this.maxCanvasWidth+this.overlap,b=this.canvases.length-1;this.canvases.forEach(function(Y,se){se==b&&(R=C.width-C.maxCanvasWidth*b),C.updateDimensions(Y,R,C.height),Y.clearWave()})}},{key:"addCanvas",value:function(){var C=new this.EntryClass;C.canvasContextAttributes=this.canvasContextAttributes,C.hasProgressCanvas=this.hasProgressCanvas,C.halfPixel=this.halfPixel;var A=this.maxCanvasElementWidth*this.canvases.length,F=m.withOrientation(this.wrapper.appendChild(document.createElement("canvas")),this.params.vertical);if(this.style(F,{position:"absolute",zIndex:2,left:A+"px",top:0,bottom:0,height:"100%",pointerEvents:"none"}),C.initWave(F),this.hasProgressCanvas){var R=m.withOrientation(this.progressWave.appendChild(document.createElement("canvas")),this.params.vertical);this.style(R,{position:"absolute",left:A+"px",top:0,bottom:0,height:"100%"}),C.initProgress(R)}this.canvases.push(C)}},{key:"removeCanvas",value:function(){var C=this.canvases[this.canvases.length-1];C.wave.parentElement.removeChild(C.wave.domElement),this.hasProgressCanvas&&C.progress.parentElement.removeChild(C.progress.domElement),C&&(C.destroy(),C=null),this.canvases.pop()}},{key:"updateDimensions",value:function(C,A,F){var R=Math.round(A/this.params.pixelRatio),b=Math.round(this.width/this.params.pixelRatio);C.updateDimensions(R,b,A,F),this.style(this.progressWave,{display:"block"})}},{key:"clearWave",value:function(){var C=this;m.frame(function(){C.canvases.forEach(function(A){return A.clearWave()})})()}},{key:"drawBars",value:function(C,A,F,R){var b=this;return this.prepareDraw(C,A,F,R,function(Y){var se=Y.absmax,me=Y.hasMinVals;Y.height;var ve=Y.offsetY,Ie=Y.halfH,G=Y.peaks,ne=Y.channelIndex;if(F!==void 0){var ue=me?2:1,be=G.length/ue,Ae=b.params.barWidth*b.params.pixelRatio,qe=b.params.barGap===null?Math.max(b.params.pixelRatio,~~(Ae/2)):Math.max(b.params.pixelRatio,b.params.barGap*b.params.pixelRatio),Ce=Ae+qe,S=be/b.width,N=F,J=R,ee=N;for(ee;eeoe&&(oe=de),ce+=ue}while(ce1&&arguments[1]!==void 0?arguments[1]:this.params.waveColor,F=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.params.progressColor;C.setFillStyles(A,F)}},{key:"applyCanvasTransforms",value:function(C){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;C.applyCanvasTransforms(A)}},{key:"getImage",value:function(C,A,F){if(F==="blob")return Promise.all(this.canvases.map(function(b){return b.getImage(C,A,F)}));if(F==="dataURL"){var R=this.canvases.map(function(b){return b.getImage(C,A,F)});return R.length>1?R:R[0]}}},{key:"updateProgress",value:function(C){this.style(this.progressWave,{width:C+"px"})}}]),T}(p.default);c.default=Z,u.exports=c.default},"./src/mediaelement-webaudio.js":(u,c,d)=>{function h(j){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Z){return typeof Z}:function(Z){return Z&&typeof Symbol=="function"&&Z.constructor===Symbol&&Z!==Symbol.prototype?"symbol":typeof Z},h(j)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=m(d("./src/mediaelement.js"));function m(j){return j&&j.__esModule?j:{default:j}}function g(j,Z){if(!(j instanceof Z))throw new TypeError("Cannot call a class as a function")}function P(j,Z){for(var V=0;V"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function H(j){return H=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(V){return V.__proto__||Object.getPrototypeOf(V)},H(j)}var I=function(j){k(V,j);var Z=O(V);function V(w){var T;return g(this,V),T=Z.call(this,w),T.params=w,T.sourceMediaElement=null,T}return E(V,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer(),this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode()}},{key:"_load",value:function(T,L,C){B(H(V.prototype),"_load",this).call(this,T,L,C),this.createMediaElementSource(T)}},{key:"createMediaElementSource",value:function(T){this.sourceMediaElement=this.ac.createMediaElementSource(T),this.sourceMediaElement.connect(this.analyser)}},{key:"play",value:function(T,L){return this.resumeAudioContext(),B(H(V.prototype),"play",this).call(this,T,L)}},{key:"destroy",value:function(){B(H(V.prototype),"destroy",this).call(this),this.destroyWebAudio()}}]),V}(p.default);c.default=I,u.exports=c.default},"./src/mediaelement.js":(u,c,d)=>{function h(w){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},h(w)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=E(d("./src/webaudio.js")),m=P(d("./src/util/index.js"));function g(w){if(typeof WeakMap!="function")return null;var T=new WeakMap,L=new WeakMap;return(g=function(A){return A?L:T})(w)}function P(w,T){if(!T&&w&&w.__esModule)return w;if(w===null||h(w)!=="object"&&typeof w!="function")return{default:w};var L=g(T);if(L&&L.has(w))return L.get(w);var C={},A=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var F in w)if(F!=="default"&&Object.prototype.hasOwnProperty.call(w,F)){var R=A?Object.getOwnPropertyDescriptor(w,F):null;R&&(R.get||R.set)?Object.defineProperty(C,F,R):C[F]=w[F]}return C.default=w,L&&L.set(w,C),C}function E(w){return w&&w.__esModule?w:{default:w}}function B(w,T){if(!(w instanceof T))throw new TypeError("Cannot call a class as a function")}function $(w,T){for(var L=0;L"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Z(w){return Z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},Z(w)}var V=function(w){W(L,w);var T=z(L);function L(C){var A;return B(this,L),A=T.call(this,C),A.params=C,A.media={currentTime:0,duration:0,paused:!0,playbackRate:1,play:function(){},pause:function(){},volume:0},A.mediaType=C.mediaType.toLowerCase(),A.elementPosition=C.elementPosition,A.peaks=null,A.playbackRate=1,A.volume=1,A.isMuted=!1,A.buffer=null,A.onPlayEnd=null,A.mediaListeners={},A}return k(L,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer()}},{key:"_setupMediaListeners",value:function(){var A=this;this.mediaListeners.error=function(){A.fireEvent("error","Error loading media element")},this.mediaListeners.canplay=function(){A.fireEvent("canplay")},this.mediaListeners.ended=function(){A.fireEvent("finish")},this.mediaListeners.play=function(){A.fireEvent("play")},this.mediaListeners.pause=function(){A.fireEvent("pause")},this.mediaListeners.seeked=function(F){A.fireEvent("seek")},this.mediaListeners.volumechange=function(F){A.isMuted=A.media.muted,A.isMuted?A.volume=0:A.volume=A.media.volume,A.fireEvent("volume")},Object.keys(this.mediaListeners).forEach(function(F){A.media.removeEventListener(F,A.mediaListeners[F]),A.media.addEventListener(F,A.mediaListeners[F])})}},{key:"createTimer",value:function(){var A=this,F=function R(){A.isPaused()||(A.fireEvent("audioprocess",A.getCurrentTime()),m.frame(R)())};this.on("play",F),this.on("pause",function(){A.fireEvent("audioprocess",A.getCurrentTime())})}},{key:"load",value:function(A,F,R,b){var Y=document.createElement(this.mediaType);Y.controls=this.params.mediaControls,Y.autoplay=this.params.autoplay||!1,Y.preload=b??"auto",Y.src=A,Y.style.width="100%";var se=F.querySelector(this.mediaType);se&&F.removeChild(se),F.appendChild(Y),this._load(Y,R,b)}},{key:"loadElt",value:function(A,F){A.controls=this.params.mediaControls,A.autoplay=this.params.autoplay||!1,this._load(A,F,A.preload)}},{key:"_load",value:function(A,F,R){if(!(A instanceof HTMLMediaElement)||typeof A.addEventListener>"u")throw new Error("media parameter is not a valid media element");typeof A.load=="function"&&!(F&&R=="none")&&A.load(),this.media=A,this._setupMediaListeners(),this.peaks=F,this.onPlayEnd=null,this.buffer=null,this.isMuted=A.muted,this.setPlaybackRate(this.playbackRate),this.setVolume(this.volume)}},{key:"isPaused",value:function(){return!this.media||this.media.paused}},{key:"getDuration",value:function(){if(this.explicitDuration)return this.explicitDuration;var A=(this.buffer||this.media).duration;return A>=1/0&&(A=this.media.seekable.end(0)),A}},{key:"getCurrentTime",value:function(){return this.media&&this.media.currentTime}},{key:"getPlayedPercents",value:function(){return this.getCurrentTime()/this.getDuration()||0}},{key:"getPlaybackRate",value:function(){return this.playbackRate||this.media.playbackRate}},{key:"setPlaybackRate",value:function(A){this.playbackRate=A||1,this.media.playbackRate=this.playbackRate}},{key:"seekTo",value:function(A){A!=null&&!isNaN(A)&&(this.media.currentTime=A),this.clearPlayEnd()}},{key:"play",value:function(A,F){this.seekTo(A);var R=this.media.play();return F&&this.setPlayEnd(F),R}},{key:"pause",value:function(){var A;return this.media&&(A=this.media.pause()),this.clearPlayEnd(),A}},{key:"setPlayEnd",value:function(A){var F=this;this.clearPlayEnd(),this._onPlayEnd=function(R){R>=A&&(F.pause(),F.seekTo(A))},this.on("audioprocess",this._onPlayEnd)}},{key:"clearPlayEnd",value:function(){this._onPlayEnd&&(this.un("audioprocess",this._onPlayEnd),this._onPlayEnd=null)}},{key:"getPeaks",value:function(A,F,R){return this.buffer?y(Z(L.prototype),"getPeaks",this).call(this,A,F,R):this.peaks||[]}},{key:"setSinkId",value:function(A){return A?this.media.setSinkId?this.media.setSinkId(A):Promise.reject(new Error("setSinkId is not supported in your browser")):Promise.reject(new Error("Invalid deviceId: "+A))}},{key:"getVolume",value:function(){return this.volume}},{key:"setVolume",value:function(A){this.volume=A,this.media.volume!==this.volume&&(this.media.volume=this.volume)}},{key:"setMute",value:function(A){this.isMuted=this.media.muted=A}},{key:"destroy",value:function(){var A=this;this.pause(),this.unAll(),this.destroyed=!0,Object.keys(this.mediaListeners).forEach(function(F){A.media&&A.media.removeEventListener(F,A.mediaListeners[F])}),this.params.removeMediaElementOnDestroy&&this.media&&this.media.parentNode&&this.media.parentNode.removeChild(this.media),this.media=null}}]),L}(p.default);c.default=V,u.exports=c.default},"./src/peakcache.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function d(g,P){if(!(g instanceof P))throw new TypeError("Cannot call a class as a function")}function h(g,P){for(var E=0;E{Object.defineProperty(c,"__esModule",{value:!0}),c.default=g;var h=m(d("./src/util/max.js")),p=m(d("./src/util/min.js"));function m(P){return P&&P.__esModule?P:{default:P}}function g(P){var E=(0,h.default)(P),B=(0,p.default)(P);return-B>E?-B:E}u.exports=c.default},"./src/util/clamp.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h,p,m){return Math.min(Math.max(p,h),m)}u.exports=c.default},"./src/util/fetch.js":(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=B;var h=p(d("./src/util/observer.js"));function p($){return $&&$.__esModule?$:{default:$}}function m($,k){if(!($ instanceof k))throw new TypeError("Cannot call a class as a function")}function g($,k){for(var y=0;y{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var h=p(d("./src/util/request-animation-frame.js"));function p(g){return g&&g.__esModule?g:{default:g}}function m(g){return function(){for(var P=arguments.length,E=new Array(P),B=0;B{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h){return h===void 0&&(h="wavesurfer_"),h+Math.random().toString(32).substring(2)}u.exports=c.default},"./src/util/index.js":(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Observer",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(c,"absMax",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(c,"clamp",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(c,"debounce",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(c,"fetchFile",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(c,"frame",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(c,"getId",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(c,"ignoreSilenceMode",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(c,"max",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(c,"min",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(c,"preventClick",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(c,"requestAnimationFrame",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(c,"style",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(c,"withOrientation",{enumerable:!0,get:function(){return U.default}});var h=H(d("./src/util/get-id.js")),p=H(d("./src/util/max.js")),m=H(d("./src/util/min.js")),g=H(d("./src/util/absMax.js")),P=H(d("./src/util/observer.js")),E=H(d("./src/util/style.js")),B=H(d("./src/util/request-animation-frame.js")),$=H(d("./src/util/frame.js")),k=H(d("./node_modules/debounce/index.js")),y=H(d("./src/util/prevent-click.js")),O=H(d("./src/util/fetch.js")),W=H(d("./src/util/clamp.js")),U=H(d("./src/util/orientation.js")),z=H(d("./src/util/silence-mode.js"));function H(I){return I&&I.__esModule?I:{default:I}}},"./src/util/max.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h){var p=-1/0;return Object.keys(h).forEach(function(m){h[m]>p&&(p=h[m])}),p}u.exports=c.default},"./src/util/min.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h){var p=Number(1/0);return Object.keys(h).forEach(function(m){h[m]{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function d(g,P){if(!(g instanceof P))throw new TypeError("Cannot call a class as a function")}function h(g,P){for(var E=0;E=0;k--)$[k]==B&&$.splice(k,1);else $.length=0}}},{key:"unAll",value:function(){this.handlers=null}},{key:"once",value:function(E,B){var $=this,k=function y(){for(var O=arguments.length,W=new Array(O),U=0;U1?B-1:0),k=1;k{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var d={width:"height",height:"width",overflowX:"overflowY",overflowY:"overflowX",clientWidth:"clientHeight",clientHeight:"clientWidth",clientX:"clientY",clientY:"clientX",scrollWidth:"scrollHeight",scrollLeft:"scrollTop",offsetLeft:"offsetTop",offsetTop:"offsetLeft",offsetHeight:"offsetWidth",offsetWidth:"offsetHeight",left:"top",right:"bottom",top:"left",bottom:"right",borderRightStyle:"borderBottomStyle",borderRightWidth:"borderBottomWidth",borderRightColor:"borderBottomColor"};function h(g,P){return Object.prototype.hasOwnProperty.call(d,g)&&P?d[g]:g}var p=Symbol("isProxy");function m(g,P){return g[p]?g:new Proxy(g,{get:function(B,$,k){if($===p)return!0;if($==="domElement")return B;if($==="style")return m(B.style,P);if($==="canvas")return m(B.canvas,P);if($==="getBoundingClientRect")return function(){return m(B.getBoundingClientRect.apply(B,arguments),P)};if($==="getContext")return function(){return m(B.getContext.apply(B,arguments),P)};var y=B[h($,P)];return typeof y=="function"?y.bind(B):y},set:function(B,$,k){return B[h($,P)]=k,!0}})}u.exports=c.default},"./src/util/prevent-click.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=h;function d(p){p.stopPropagation(),document.body.removeEventListener("click",d,!0)}function h(p){document.body.addEventListener("click",d,!0)}u.exports=c.default},"./src/util/request-animation-frame.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var d=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(h,p){return setTimeout(h,1e3/60)}).bind(window);c.default=d,u.exports=c.default},"./src/util/silence-mode.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(){var h="data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAACcQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA//////////////////////////////////////////////////////////////////8AAABhTEFNRTMuMTAwA8MAAAAAAAAAABQgJAUHQQAB9AAAAnGMHkkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQxAADgnABGiAAQBCqgCRMAAgEAH///////////////7+n/9FTuQsQH//////2NG0jWUGlio5gLQTOtIoeR2WX////X4s9Atb/JRVCbBUpeRUq//////////////////9RUi0f2jn/+xDECgPCjAEQAABN4AAANIAAAAQVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==",p=document.createElement("div");p.innerHTML='';var m=p.children.item(0);m.src=h,m.preload="auto",m.type="audio/mpeg",m.disableRemotePlayback=!0,m.play(),m.remove(),p.remove()}u.exports=c.default},"./src/util/style.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h,p){return Object.keys(p).forEach(function(m){h.style[m]!==p[m]&&(h.style[m]=p[m])}),h}u.exports=c.default},"./src/wavesurfer.js":(u,c,d)=>{function h(C){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(A){return typeof A}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},h(C)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=y(d("./src/util/index.js")),m=$(d("./src/drawer.multicanvas.js")),g=$(d("./src/webaudio.js")),P=$(d("./src/mediaelement.js")),E=$(d("./src/peakcache.js")),B=$(d("./src/mediaelement-webaudio.js"));function $(C){return C&&C.__esModule?C:{default:C}}function k(C){if(typeof WeakMap!="function")return null;var A=new WeakMap,F=new WeakMap;return(k=function(b){return b?F:A})(C)}function y(C,A){if(!A&&C&&C.__esModule)return C;if(C===null||h(C)!=="object"&&typeof C!="function")return{default:C};var F=k(A);if(F&&F.has(C))return F.get(C);var R={},b=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in C)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(C,Y)){var se=b?Object.getOwnPropertyDescriptor(C,Y):null;se&&(se.get||se.set)?Object.defineProperty(R,Y,se):R[Y]=C[Y]}return R.default=C,F&&F.set(C,R),R}function O(C,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(A&&A.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),Object.defineProperty(C,"prototype",{writable:!1}),A&&W(C,A)}function W(C,A){return W=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(R,b){return R.__proto__=b,R},W(C,A)}function U(C){var A=I();return function(){var R=j(C),b;if(A){var Y=j(this).constructor;b=Reflect.construct(R,arguments,Y)}else b=R.apply(this,arguments);return z(this,b)}}function z(C,A){if(A&&(h(A)==="object"||typeof A=="function"))return A;if(A!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return H(C)}function H(C){if(C===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C}function I(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function j(C){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(F){return F.__proto__||Object.getPrototypeOf(F)},j(C)}function Z(C,A,F){return A in C?Object.defineProperty(C,A,{value:F,enumerable:!0,configurable:!0,writable:!0}):C[A]=F,C}function V(C,A){if(!(C instanceof A))throw new TypeError("Cannot call a class as a function")}function w(C,A){for(var F=0;F=this.getDuration()?this.seekTo(1):this.seekTo(b/this.getDuration())}},{key:"play",value:function(b,Y){var se=this;return this.params.ignoreSilenceMode&&p.ignoreSilenceMode(),this.fireEvent("interaction",function(){return se.play(b,Y)}),this.backend.play(b,Y)}},{key:"setPlayEnd",value:function(b){this.backend.setPlayEnd(b)}},{key:"pause",value:function(){if(!this.backend.isPaused())return this.backend.pause()}},{key:"playPause",value:function(){return this.backend.isPaused()?this.play():this.pause()}},{key:"isPlaying",value:function(){return!this.backend.isPaused()}},{key:"skipBackward",value:function(b){this.skip(-b||-this.params.skipLength)}},{key:"skipForward",value:function(b){this.skip(b||this.params.skipLength)}},{key:"skip",value:function(b){var Y=this.getDuration()||1,se=this.getCurrentTime()||0;se=Math.max(0,Math.min(Y,se+(b||0))),this.seekAndCenter(se/Y)}},{key:"seekAndCenter",value:function(b){this.seekTo(b),this.drawer.recenter(b)}},{key:"seekTo",value:function(b){var Y=this;if(typeof b!="number"||!isFinite(b)||b<0||b>1)throw new Error("Error calling wavesurfer.seekTo, parameter must be a number between 0 and 1!");this.fireEvent("interaction",function(){return Y.seekTo(b)});var se=this.params.backend==="WebAudio",me=this.backend.isPaused();se&&!me&&this.backend.pause();var ve=this.params.scrollParent;this.params.scrollParent=!1,this.backend.seekTo(b*this.getDuration()),this.drawer.progress(b),se&&!me&&this.backend.play(),this.params.scrollParent=ve,this.fireEvent("seek",b)}},{key:"stop",value:function(){this.pause(),this.seekTo(0),this.drawer.progress(0)}},{key:"setSinkId",value:function(b){return this.backend.setSinkId(b)}},{key:"setVolume",value:function(b){this.backend.setVolume(b),this.fireEvent("volume",b)}},{key:"getVolume",value:function(){return this.backend.getVolume()}},{key:"setPlaybackRate",value:function(b){this.backend.setPlaybackRate(b)}},{key:"getPlaybackRate",value:function(){return this.backend.getPlaybackRate()}},{key:"toggleMute",value:function(){this.setMute(!this.isMuted)}},{key:"setMute",value:function(b){if(b===this.isMuted){this.fireEvent("mute",this.isMuted);return}this.backend.setMute?(this.backend.setMute(b),this.isMuted=b):b?(this.savedVolume=this.backend.getVolume(),this.backend.setVolume(0),this.isMuted=!0,this.fireEvent("volume",0)):(this.backend.setVolume(this.savedVolume),this.isMuted=!1,this.fireEvent("volume",this.savedVolume)),this.fireEvent("mute",this.isMuted)}},{key:"getMute",value:function(){return this.isMuted}},{key:"getFilters",value:function(){return this.backend.filters||[]}},{key:"toggleScroll",value:function(){this.params.scrollParent=!this.params.scrollParent,this.drawBuffer()}},{key:"toggleInteraction",value:function(){this.params.interact=!this.params.interact}},{key:"getWaveColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].waveColor:this.params.waveColor}},{key:"setWaveColor",value:function(b){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.params.splitChannelsOptions.channelColors[Y]?this.params.splitChannelsOptions.channelColors[Y].waveColor=b:this.params.waveColor=b,this.drawBuffer()}},{key:"getProgressColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].progressColor:this.params.progressColor}},{key:"setProgressColor",value:function(b,Y){this.params.splitChannelsOptions.channelColors[Y]?this.params.splitChannelsOptions.channelColors[Y].progressColor=b:this.params.progressColor=b,this.drawBuffer()}},{key:"getBackgroundColor",value:function(){return this.params.backgroundColor}},{key:"setBackgroundColor",value:function(b){this.params.backgroundColor=b,p.style(this.container,{background:this.params.backgroundColor})}},{key:"getCursorColor",value:function(){return this.params.cursorColor}},{key:"setCursorColor",value:function(b){this.params.cursorColor=b,this.drawer.updateCursor()}},{key:"getHeight",value:function(){return this.params.height}},{key:"setHeight",value:function(b){this.params.height=b,this.drawer.setHeight(b*this.params.pixelRatio),this.drawBuffer()}},{key:"setFilteredChannels",value:function(b){this.params.splitChannelsOptions.filterChannels=b,this.drawBuffer()}},{key:"drawBuffer",value:function(){var b=Math.round(this.getDuration()*this.params.minPxPerSec*this.params.pixelRatio),Y=this.drawer.getWidth(),se=b,me=0,ve=Math.max(me+Y,se);this.params.fillParent&&(!this.params.scrollParent||b{function h(w){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},h(w)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=g(d("./src/util/index.js"));function m(w){if(typeof WeakMap!="function")return null;var T=new WeakMap,L=new WeakMap;return(m=function(A){return A?L:T})(w)}function g(w,T){if(!T&&w&&w.__esModule)return w;if(w===null||h(w)!=="object"&&typeof w!="function")return{default:w};var L=m(T);if(L&&L.has(w))return L.get(w);var C={},A=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var F in w)if(F!=="default"&&Object.prototype.hasOwnProperty.call(w,F)){var R=A?Object.getOwnPropertyDescriptor(w,F):null;R&&(R.get||R.set)?Object.defineProperty(C,F,R):C[F]=w[F]}return C.default=w,L&&L.set(w,C),C}function P(w,T){if(!(w instanceof T))throw new TypeError("Cannot call a class as a function")}function E(w,T){for(var L=0;L"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function z(w){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},z(w)}function H(w,T,L){return T in w?Object.defineProperty(w,T,{value:L,enumerable:!0,configurable:!0,writable:!0}):w[T]=L,w}var I="playing",j="paused",Z="finished",V=function(w){$(L,w);var T=y(L);function L(C){var A,F,R;return P(this,L),R=T.call(this),H(W(R),"audioContext",null),H(W(R),"offlineAudioContext",null),H(W(R),"stateBehaviors",(A={},H(A,I,{init:function(){this.addOnAudioProcess()},getPlayedPercents:function(){var Y=this.getDuration();return this.getCurrentTime()/Y||0},getCurrentTime:function(){return this.startPosition+this.getPlayedTime()}}),H(A,j,{init:function(){this.removeOnAudioProcess()},getPlayedPercents:function(){var Y=this.getDuration();return this.getCurrentTime()/Y||0},getCurrentTime:function(){return this.startPosition}}),H(A,Z,{init:function(){this.removeOnAudioProcess(),this.fireEvent("finish")},getPlayedPercents:function(){return 1},getCurrentTime:function(){return this.getDuration()}}),A)),R.params=C,R.ac=C.audioContext||(R.supportsWebAudio()?R.getAudioContext():{}),R.lastPlay=R.ac.currentTime,R.startPosition=0,R.scheduledPause=null,R.states=(F={},H(F,I,Object.create(R.stateBehaviors[I])),H(F,j,Object.create(R.stateBehaviors[j])),H(F,Z,Object.create(R.stateBehaviors[Z])),F),R.buffer=null,R.filters=[],R.gainNode=null,R.mergedPeaks=null,R.offlineAc=null,R.peaks=null,R.playbackRate=1,R.analyser=null,R.scriptNode=null,R.source=null,R.splitPeaks=[],R.state=null,R.explicitDuration=C.duration,R.sinkStreamDestination=null,R.sinkAudioElement=null,R.destroyed=!1,R}return B(L,[{key:"supportsWebAudio",value:function(){return!!(window.AudioContext||window.webkitAudioContext)}},{key:"getAudioContext",value:function(){return window.WaveSurferAudioContext||(window.WaveSurferAudioContext=new(window.AudioContext||window.webkitAudioContext)),window.WaveSurferAudioContext}},{key:"getOfflineAudioContext",value:function(A){return window.WaveSurferOfflineAudioContext||(window.WaveSurferOfflineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,A)),window.WaveSurferOfflineAudioContext}},{key:"init",value:function(){this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode(),this.setState(j),this.setPlaybackRate(this.params.audioRate),this.setLength(0)}},{key:"disconnectFilters",value:function(){this.filters&&(this.filters.forEach(function(A){A&&A.disconnect()}),this.filters=null,this.analyser.connect(this.gainNode))}},{key:"setState",value:function(A){this.state!==this.states[A]&&(this.state=this.states[A],this.state.init.call(this))}},{key:"setFilter",value:function(){for(var A=arguments.length,F=new Array(A),R=0;R=A.getDuration()?(A.setState(Z),A.fireEvent("pause")):F>=A.scheduledPause?A.pause():A.state===A.states[I]&&A.fireEvent("audioprocess",F)}}},{key:"removeOnAudioProcess",value:function(){this.scriptNode.onaudioprocess=null}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser(),this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.ac.createGain?this.gainNode=this.ac.createGain():this.gainNode=this.ac.createGainNode(),this.gainNode.connect(this.ac.destination)}},{key:"setSinkId",value:function(A){return A?(this.sinkAudioElement||(this.sinkAudioElement=new window.Audio,this.sinkAudioElement.autoplay=!0),this.sinkAudioElement.setSinkId?(this.sinkStreamDestination||(this.sinkStreamDestination=this.ac.createMediaStreamDestination()),this.gainNode.disconnect(),this.gainNode.connect(this.sinkStreamDestination),this.sinkAudioElement.srcObject=this.sinkStreamDestination.stream,this.sinkAudioElement.setSinkId(A)):Promise.reject(new Error("setSinkId is not supported in your browser"))):Promise.reject(new Error("Invalid deviceId: "+A))}},{key:"setVolume",value:function(A){this.gainNode.gain.setValueAtTime(A,this.ac.currentTime)}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(A,F,R){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac&&this.ac.sampleRate?this.ac.sampleRate:44100)),"webkitAudioContext"in window?this.offlineAc.decodeAudioData(A,function(b){return F(b)},R):this.offlineAc.decodeAudioData(A).then(function(b){return F(b)}).catch(function(b){return R(b)})}},{key:"setPeaks",value:function(A,F){F!=null&&(this.explicitDuration=F),this.peaks=A}},{key:"setLength",value:function(A){if(!(this.mergedPeaks&&A==2*this.mergedPeaks.length-1+2)){this.splitPeaks=[],this.mergedPeaks=[];var F=this.buffer?this.buffer.numberOfChannels:1,R;for(R=0;Rqe&&(qe=S),Sthis.mergedPeaks[2*ne])&&(this.mergedPeaks[2*ne]=qe),(ve==0||Ae=this.getDuration()&&(A=0)),F==null&&(F=this.getDuration()),this.startPosition=A,this.lastPlay=this.ac.currentTime,this.state===this.states[Z]&&this.setState(j),{start:A,end:F}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(A,F){if(this.buffer){this.createSource();var R=this.seekTo(A,F);A=R.start,F=R.end,this.scheduledPause=F,this.source.start(0,A),this.resumeAudioContext(),this.setState(I),this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null,this.startPosition+=this.getPlayedTime();try{this.source&&this.source.stop(0)}catch{}this.setState(j),this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"getPlaybackRate",value:function(){return this.playbackRate}},{key:"setPlaybackRate",value:function(A){this.playbackRate=A||1,this.source&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.ac.currentTime)}},{key:"setPlayEnd",value:function(A){this.scheduledPause=A}}]),L}(p.Observer);c.default=V,H(V,"scriptBufferSize",256),u.exports=c.default},"./node_modules/debounce/index.js":u=>{function c(d,h,p){var m,g,P,E,B;h==null&&(h=100);function $(){var y=Date.now()-E;y=0?m=setTimeout($,h-y):(m=null,p||(B=d.apply(P,g),P=g=null))}var k=function(){P=this,g=arguments,E=Date.now();var y=p&&!m;return m||(m=setTimeout($,h)),y&&(B=d.apply(P,g),P=g=null),B};return k.clear=function(){m&&(clearTimeout(m),m=null)},k.flush=function(){m&&(B=d.apply(P,g),P=g=null,clearTimeout(m),m=null)},k}c.debounce=c,u.exports=c}},s={};function o(u){var c=s[u];if(c!==void 0)return c.exports;var d=s[u]={exports:{}};return r[u](d,d.exports,o),d.exports}var l=o("./src/wavesurfer.js");return l})())})(xx);const Px=Ax($u),Yh=dt({__name:"WaveAudio",setup(e,{expose:t}){const r=$e(null);Ut(()=>{const m=window.getCurrentTheme(),g=Jr["fg-base"][m],P=Jr["fg-secondary"][m];r.value=Px.create({container:"#waveform",waveColor:g,progressColor:P,cursorWidth:0,barWidth:1,pixelRatio:1,responsive:!0,barGap:0,backend:"MediaElement"}),r.value.on("play",()=>{s.setPlaying(!0)}),r.value.on("pause",()=>{s.setPlaying(!1)}),r.value.on("audioprocess",()=>{s.setProgress(r.value.getCurrentTime())}),r.value.on("finish",()=>{o=!0,s.onSongEnded()}),r.value.on("waveform-ready",()=>{r.value&&(s.setDuration(r.value.getDuration()),(o||s.playing)&&(l(),o=!1))})});const s=Qt();let o=!1;Ut(()=>{r.value.load(s.stream)}),ft(()=>s.song.id,()=>{r.value.isPlaying()&&(o=!0),r.value.load(s.stream),s.setPlaying(!1)});const l=()=>{try{r.value.play()}catch{}},u=()=>{r.value.pause()},c=m=>{r.value.seekTo(m/s.durationSeconds)},d=m=>{let g=m/100;g=Math.min(Math.max(g,0),1),r.value.setVolume(g)},h=m=>{r.value.setMute(m)};return Ut(()=>{d(s.volume)}),t({play:l,pause:u,seek:c,setVolume:d,setMute:h}),(m,g)=>(pe(),ke("div",{id:"waveform",onAudioprocess:g[0]||(g[0]=P=>Q(s).setProgress(P))},null,32))}});const Cx=dt({__name:"AmbientBackground",props:{src:{type:String,required:!0},direction:{type:String,required:!1,default:"to bottom"},placeholder:{type:String,required:!1}},setup(e){const t=e,r=oi(),s=$e(null),o=async(l=void 0)=>{if(!s.value)return;const u=l===void 0?nm(t.src):l,c=await fa(u,t.placeholder);try{await F3(s.value,c,t.direction)}catch(d){if(!(d instanceof Error)||!d.message.includes("Error loading image"))throw d;await o(null)}};return ft(()=>t.src,()=>$r(o)),Ut(o),(l,u)=>e.src!=null&&Q(r).ambient?(pe(),ke("div",{key:0,ref_key:"ambientGradient",ref:s,class:"ambient-gradient absolute inset-0 pointer-events-none"},null,512)):it("",!0)}});const Ex={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e.scrollWidth>e.clientWidth},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}}},kx={key:0,class:"replacer"},Sx={key:0,class:"overlay"};function Ox(e,t,r,s,o,l){return pe(),ke("div",{class:st([{marquee:o.isMarquee},"marqueeWrapper"])},[fe("span",{ref:"marquee",class:st({marquee:o.isMarquee})},[na(e.$slots,"default",{},void 0,!0),o.isMarquee?(pe(),ke("span",kx,[na(e.$slots,"default",{},void 0,!0)])):it("",!0)],2),o.isMarquee?(pe(),ke("div",Sx)):it("",!0)],2)}const Rx=xt(Ex,[["render",Ox],["__scopeId","data-v-80913a8e"]]),Tx={class:"artist"},Mx=dt({__name:"ArtistMarquee",props:{artist:{type:String,required:!0}},setup(e){const t=e,r=Ye(()=>t.artist.split(", "));return(s,o)=>{const l=ti("router-link");return pe(),at(Rx,null,{default:$t(()=>[(pe(!0),ke(rt,null,Bi(Q(r),u=>(pe(),ke("span",Tx,[ge(l,{to:"/artist/"+u},{default:$t(()=>[Vs(nt(u),1)]),_:2},1032,["to"])]))),256))]),_:1})}}});const Ix=xt(Mx,[["__scopeId","data-v-156468cf"]]),Lx=e=>(Oa("data-v-0d0bd51a"),e=e(),Ra(),e),$x={class:"player relative"},Bx={key:1,class:"desktop mx-4"},Dx={class:"song-info"},Nx={class:"title-artist"},Wx={class:"controls"},Fx={class:"top relative"},Vx=["disabled"],Hx=["disabled"],Ux=["disabled"],qx={class:"bottom"},jx={class:"display"},Kx={class:"text-xs text-muted text-left"},zx={class:"aux relative"},Zx={key:0,class:"cursor-pointer material-symbols-rounded ms-fill"},Gx={key:2,class:"mobile mx-4"},Yx={class:"artist-title overflow-hidden"},Jx={class:"full"},Xx={class:"rest"},Qx={class:"song-info"},eP=Lx(()=>fe("div",{class:"rest"},null,-1)),tP={class:"title-artist mb-4"},nP={class:"controls mb-4"},rP={class:"top"},iP={class:"bottom"},sP={class:"flex flex-row justify-between"},oP={class:"text-xs text-muted text-right"},aP={class:"text-xs text-muted text-left"},lP={class:"aux flex flex-row justify-between"},uP={class:"flex flex-row"},cP=dt({__name:"Player",setup(e){const t=Qt(),r=oi(),s=$e(null),o=$e(""),l=Ye(()=>t.sharedPlayer.connections.map(m=>({value:m.id,label:m.friendlyName})));ft(o,m=>{var g;m===((g=t.sharedPlayer.me)==null?void 0:g.id)?(t.sharedPlayer.makeMePlayer(),t.setPlaying(!1)):u(m)}),ft(()=>t.sharedPlayer.connections,m=>{var g;(!o.value||!m.find(P=>P.id===o.value))&&(o.value=(g=t.sharedPlayer.me)==null?void 0:g.id)});const u=m=>{const g=t.sharedPlayer.connections.find(P=>P.id===m);g&&(t.sharedPlayer.setPlayer(g),s.value=t.sharedPlayer)};Ut(()=>{var m;o.value=(m=t.sharedPlayer.me)==null?void 0:m.id}),ft(s,()=>{t.setPlayer(s.value)}),Ut(()=>{t.setPlayer(s.value)});const c=$e(!1),d=Ye(()=>{var m;return o.value===((m=t.sharedPlayer.me)==null?void 0:m.id)}),h=Ye(()=>r.player.type==="web"&&d.value),p=Ye(()=>r.player.type==="web/wave"&&d.value);return(m,g)=>{const P=ti("router-link");return pe(),ke("div",$x,[ge(Cx,{src:Q(t).song.cover,direction:"to top right"},null,8,["src"]),Q(h)?(pe(),at(ax,{key:0,ref_key:"playable",ref:s},null,512)):it("",!0),Q(Uh)?(pe(),ke("div",Gx,[Q(Uh)&&!Q(d)?(pe(),ke("audio",{key:0,id:"hijackVolume",onVolumechange:g[14]||(g[14]=E=>Q(t).setVolume(E.target.volume*100))},null,32)):it("",!0),ta(fe("div",{class:"small",onClick:g[18]||(g[18]=E=>c.value=!0)},[ge(ks,{src:Q(t).song.cover,class:"cover rounded-md"},null,8,["src"]),fe("div",Yx,[ge(tr,{text:Q(t).song.title,class:"text-sm"},null,8,["text"]),ge(tr,{text:Q(t).song.artist,class:"text-xs text-muted"},null,8,["text"])]),ge(lu,{modelValue:o.value,"onUpdate:modelValue":g[15]||(g[15]=E=>o.value=E),class:st([{"on-this-device":Q(d)},"material-symbols-rounded"]),options:Q(l),icon:"devices",onClick:g[16]||(g[16]=Ds(()=>{},["stop"]))},null,8,["modelValue","class","options"]),fe("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-xl",onClick:g[17]||(g[17]=Ds((...E)=>Q(t).playPause&&Q(t).playPause(...E),["stop"]))},nt(Q(t).playing?"pause":"play_arrow"),1)],512),[[ca,!c.value]]),ta(fe("div",Jx,[fe("div",null,[fe("span",{class:"material-symbols-rounded ms-wght-500",onClick:g[19]||(g[19]=E=>c.value=!1)}," expand_more ")]),ge(P,{class:"my-auto linkOnHover",to:"/player"},{default:$t(()=>[ge(ks,{src:Q(t).song.cover,class:"cover rounded-md"},null,8,["src"])]),_:1}),fe("div",Xx,[fe("div",Qx,[eP,fe("div",tP,[ge(P,{to:`/track/${Q(Hh)(Q(t).song.id)}`,class:"linkOnHover"},{default:$t(()=>[ge(tr,{text:Q(t).song.title,class:"text-2xl font-bold"},null,8,["text"])]),_:1},8,["to"]),ge(P,{to:`/search/${Q(t).song.artist}`,class:"linkOnHover"},{default:$t(()=>[ge(tr,{text:Q(t).song.artist,class:"text-muted text-xs"},null,8,["text"])]),_:1},8,["to"])])]),fe("div",nP,[fe("div",rP,[fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[20]||(g[20]=(...E)=>Q(t).toggleShuffle&&Q(t).toggleShuffle(...E))},nt(Q(t).shuffleIcon),1),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:g[21]||(g[21]=(...E)=>Q(t).previous&&Q(t).previous(...E))}," skip_previous "),fe("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-4xl",onClick:g[22]||(g[22]=(...E)=>Q(t).playPause&&Q(t).playPause(...E))},nt(Q(t).playing?"pause_circle":"play_circle"),1),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:g[23]||(g[23]=(...E)=>Q(t).next&&Q(t).next(...E))}," skip_next "),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[24]||(g[24]=(...E)=>Q(t).toggleRepeat&&Q(t).toggleRepeat(...E))},nt(Q(t).repeat),1)]),fe("div",iP,[Q(p)?(pe(),at(Yh,{key:0,ref_key:"playable",ref:s},null,512)):(pe(),at(au,{key:1,modelValue:Q(t).progressPercent,"onUpdate:modelValue":g[25]||(g[25]=E=>Q(t).progressPercent=E),max:"1000",onChange:g[26]||(g[26]=E=>Q(t).seekPercent(E/10))},null,8,["modelValue"])),fe("div",sP,[fe("span",oP,nt(Q(t).displayProgress),1),fe("span",aP,nt(Q(t).song.duration),1)])])]),fe("div",lP,[fe("div",uP,[fe("span",{class:st([{"ms-fill":Q(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:g[27]||(g[27]=(...E)=>Q(t).toggleFavourite&&Q(t).toggleFavourite(...E))}," favorite ",2),Q(r).player.pictureInPicture?(pe(),ke(rt,{key:0},[Q(Nn)=="loading"?(pe(),at(Gh,{key:0})):(pe(),ke("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl ml-2",onClick:g[28]||(g[28]=(...E)=>Q(qo)&&Q(qo)(...E))},nt(Q(Nn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):it("",!0)]),ge(lu,{modelValue:o.value,"onUpdate:modelValue":g[29]||(g[29]=E=>o.value=E),class:st({"on-this-device":Q(d)}),options:Q(l),icon:"devices"},null,8,["modelValue","class","options"])])])],512),[[ca,c.value]])])):(pe(),ke("div",Bx,[fe("div",Dx,[ge(P,{class:"linkOnHover",to:"/player"},{default:$t(()=>[Q(t).loaded?(pe(),at(ks,{key:0,src:Q(t).song.cover,class:"cover rounded-md"},null,8,["src"])):it("",!0)]),_:1}),Q(t).loaded?(pe(),ke(rt,{key:0},[fe("div",Nx,[ge(P,{to:`/track/${Q(Hh)(Q(t).song.id)}`,class:"linkOnHover"},{default:$t(()=>[ge(tr,{text:Q(t).song.title,class:""},null,8,["text"])]),_:1},8,["to"]),ge(Ix,{artist:Q(t).song.artist,class:"text-muted text-xs"},null,8,["artist"])]),fe("span",{class:st([{"ms-fill":Q(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:g[0]||(g[0]=(...E)=>Q(t).toggleFavourite&&Q(t).toggleFavourite(...E))}," favorite ",2),Q(r).player.pictureInPicture?(pe(),ke(rt,{key:0},[Q(Nn)=="loading"?(pe(),at(Gh,{key:0})):(pe(),ke("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl",onClick:g[1]||(g[1]=(...E)=>Q(qo)&&Q(qo)(...E))},nt(Q(Nn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):it("",!0)],64)):(pe(),at(P,{key:1,to:"/collection/playlists"},{default:$t(()=>[ge(tr,{class:"text-xs text-muted",text:"Nothing playing yet..."})]),_:1}))]),fe("div",Wx,[fe("div",Fx,[fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[2]||(g[2]=(...E)=>Q(t).toggleShuffle&&Q(t).toggleShuffle(...E))},nt(Q(t).shuffleIcon),1),fe("span",{class:st([{"cursor-not-allowed":!Q(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!Q(t).loaded,onClick:g[3]||(g[3]=(...E)=>Q(t).previous&&Q(t).previous(...E))}," skip_previous ",10,Vx),fe("span",{class:st([{"cursor-not-allowed":!Q(t).loaded},"cursor-pointer material-symbols-rounded ms-fill text-4xl"]),disabled:!Q(t).loaded,onClick:g[4]||(g[4]=(...E)=>Q(t).playPause&&Q(t).playPause(...E))},nt(Q(t).playing?"pause_circle":"play_circle"),11,Hx),fe("span",{class:st([{"cursor-not-allowed":!Q(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!Q(t).loaded,onClick:g[5]||(g[5]=(...E)=>Q(t).next&&Q(t).next(...E))}," skip_next ",10,Ux),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[6]||(g[6]=(...E)=>Q(t).toggleRepeat&&Q(t).toggleRepeat(...E))},nt(Q(t).repeat),1)]),fe("div",qx,[fe("div",jx,[fe("span",{class:"text-xs text-muted text-right cursor-pointer",onClick:g[7]||(g[7]=E=>Q(r).player.type=Q(r).player.type==="web"?"web/wave":"web")},nt(Q(t).displayProgress),1),Q(p)?(pe(),at(Yh,{key:0,ref_key:"playable",ref:s},null,512)):(pe(),at(au,{key:1,modelValue:Q(t).progressPercent,"onUpdate:modelValue":g[8]||(g[8]=E=>Q(t).progressPercent=E),max:"1000",onChange:g[9]||(g[9]=E=>Q(t).seekPercent(E/10))},null,8,["modelValue"])),fe("span",Kx,nt(Q(t).displayDuration),1)])])]),fe("div",zx,[ge(P,{to:"/sing-along",class:"icon"},{default:$t(()=>[Q(t).loaded&&Q(t).hasLyrics?(pe(),ke("span",Zx," mic ")):it("",!0)]),_:1}),ge(lu,{modelValue:o.value,"onUpdate:modelValue":g[10]||(g[10]=E=>o.value=E),class:st({"on-this-device":Q(d)}),options:Q(l),icon:"devices"},null,8,["modelValue","class","options"]),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:g[11]||(g[11]=(...E)=>Q(t).toggleMute&&Q(t).toggleMute(...E))},nt(Q(t).muteIcon),1),ge(au,{modelValue:Q(t).volume,"onUpdate:modelValue":g[12]||(g[12]=E=>Q(t).volume=E),max:"100",onChange:g[13]||(g[13]=E=>Q(t).setVolume(E))},null,8,["modelValue"])])]))])}}});const pm=xt(cP,[["__scopeId","data-v-0d0bd51a"]]);const u6=(e,t,r)=>{const s=new CustomEvent("player.play",{detail:{title:e,artist:t,source:r}});window.dispatchEvent(s)},fP={components:{Marquee:tr},name:"PlayerInPicture",props:{expandCover:Boolean},watch:{disabled(){this.disabled||this.$nextTick(()=>{this.$refs.player.addEventListener("mousedown",this.mouseDown,!1),window.addEventListener("mouseup",this.mouseUp,!1)})}},methods:{mouseDown(e){const t=this.$refs.player,r=document.getElementById("appRoot");e=e||window.event;var s=e.clientX,o=e.clientY,l=t.offsetTop,u=t.offsetLeft,c=parseInt(t.offsetWidth),d=parseInt(t.offsetHeight),h=parseInt(r.offsetWidth)-8,p=parseInt(r.offsetHeight)-8;r.style.cursor="move";var m=s-u,g=o-l;document.onmousemove=P=>{P=P||window.event,P.preventDefault(),P.stopPropagation();var E=P.clientX,B=P.clientY,$=E-m,k=B-g;$<8&&($=8),k<8&&(k=8),$+c>h&&($=h-c),k+d>p&&(k=p-d),this.divMove(t,$,k)}},mouseUp(){document.getElementById("appRoot").style.cursor="default",document.onmousemove=function(){}},divMove(e,t,r){e.style.bottom="auto",e.style.right="auto",e.style.left=t+"px",e.style.top=r+"px"}},data(){const e=Qt();return window.addEventListener("player.play",t=>{const r=t.detail,s=r.source;if(this.name=`${r.artist} - ${r.title}`,e.pause(),s.includes("youtu")){var o=/youtu(?:.*\/v\/|.*v\=|\.be\/)([A-Za-z0-9_\-]{11})/;const l=s.match(o);if(l!=null&&l[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}if(s.includes("audius")){var o=/audius.co\/([A-Za-z0-9]+)\/([A-Za-z0-9\-]+)/;const u=s.match(o);if(console.log(u,s),u!=null&&u[1]&&(u!=null&&u[2])){fetch(`https://blockdaemon-audius-discovery-01.bdnodes.net/v1/full/tracks?handle=${u[1]}&slug=${u[2]}`).then(c=>c.json()).then(c=>{const d=c.data.id;this.el=``}),this.minimised=!1,this.disabled=!1;return}}if(s.includes("spotify")){var o=/spotify(?:.*\/(album|track|playlist)\/)([A-Za-z0-9_\-]{22})/;const u=s.match(o);if(u!=null&&u[1]){console.log(u),this.el=``,this.minimised=!1,this.disabled=!1;return}}s.includes("soundcloud")&&(fetch(`https://soundcloud.com/oembed?url=${s}&format=json`).then(l=>l.json()).then(l=>{this.el=l.html.replace('height="400"','height="70"').replace("&show_artwork=true","&show_artwork=true&auto_play=true").replace("o.minimised=!o.minimised)},nt(o.minimised?"zoom_out_map":"zoom_in_map"),1),fe("span",{class:"material-symbols-rounded ms-wght-500",onClick:t[1]||(t[1]=c=>o.disabled=!o.disabled)},"close")])],2),fe("div",{class:st([{minimised:o.minimised},"frame"]),innerHTML:o.el},null,10,gP)],512))}const vP=xt(fP,[["render",mP]]),yP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},_P=fe("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),bP=[_P];function wP(e,t){return pe(),ke("svg",yP,bP)}const AP={render:wP},xP="modulepreload",PP=function(e){return"/"+e},Jh={},gt=function(t,r,s){if(!r||r.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(r.map(l=>{if(l=PP(l),l in Jh)return;Jh[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(!!s)for(let p=o.length-1;p>=0;p--){const m=o[p];if(m.href===l&&(!u||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${c}`))return;const h=document.createElement("link");if(h.rel=u?"stylesheet":xP,u||(h.as="script",h.crossOrigin=""),h.href=l,document.head.appendChild(h),u)return new Promise((p,m)=>{h.addEventListener("load",p),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t())};/*! - * vue-router v4.1.5 - * (c) 2022 Eduardo San Martin Morote - * @license MIT - */const ki=typeof window<"u";function CP(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const tt=Object.assign;function uu(e,t){const r={};for(const s in t){const o=t[s];r[s]=On(o)?o.map(e):e(o)}return r}const Ss=()=>{},On=Array.isArray,EP=/\/$/,kP=e=>e.replace(EP,"");function cu(e,t,r="/"){let s,o={},l="",u="";const c=t.indexOf("#");let d=t.indexOf("?");return c=0&&(d=-1),d>-1&&(s=t.slice(0,d),l=t.slice(d+1,c>-1?c:t.length),o=e(l)),c>-1&&(s=s||t.slice(0,c),u=t.slice(c,t.length)),s=TP(s??t,r),{fullPath:s+(l&&"?")+l+u,path:s,query:o,hash:u}}function SP(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function Xh(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function OP(e,t,r){const s=t.matched.length-1,o=r.matched.length-1;return s>-1&&s===o&&Vi(t.matched[s],r.matched[o])&&gm(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function Vi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function gm(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!RP(e[r],t[r]))return!1;return!0}function RP(e,t){return On(e)?Qh(e,t):On(t)?Qh(t,e):e===t}function Qh(e,t){return On(t)?e.length===t.length&&e.every((r,s)=>r===t[s]):e.length===1&&e[0]===t}function TP(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),s=e.split("/");let o=r.length-1,l,u;for(l=0;l1&&o--;else break;return r.slice(0,o).join("/")+"/"+s.slice(l-(l===s.length?1:0)).join("/")}var Ns;(function(e){e.pop="pop",e.push="push"})(Ns||(Ns={}));var Os;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Os||(Os={}));function MP(e){if(!e)if(ki){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),kP(e)}const IP=/^[^#]+#/;function LP(e,t){return e.replace(IP,"#")+t}function $P(e,t){const r=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-r.left-(t.left||0),top:s.top-r.top-(t.top||0)}}const Wa=()=>({left:window.pageXOffset,top:window.pageYOffset});function BP(e){let t;if("el"in e){const r=e.el,s=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?s?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;t=$P(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function ep(e,t){return(history.state?history.state.position-t:-1)+e}const Bu=new Map;function DP(e,t){Bu.set(e,t)}function NP(e){const t=Bu.get(e);return Bu.delete(e),t}let WP=()=>location.protocol+"//"+location.host;function mm(e,t){const{pathname:r,search:s,hash:o}=t,l=e.indexOf("#");if(l>-1){let c=o.includes(e.slice(l))?e.slice(l).length:1,d=o.slice(c);return d[0]!=="/"&&(d="/"+d),Xh(d,"")}return Xh(r,e)+s+o}function FP(e,t,r,s){let o=[],l=[],u=null;const c=({state:g})=>{const P=mm(e,location),E=r.value,B=t.value;let $=0;if(g){if(r.value=P,t.value=g,u&&u===E){u=null;return}$=B?g.position-B.position:0}else s(P);o.forEach(k=>{k(r.value,E,{delta:$,type:Ns.pop,direction:$?$>0?Os.forward:Os.back:Os.unknown})})};function d(){u=r.value}function h(g){o.push(g);const P=()=>{const E=o.indexOf(g);E>-1&&o.splice(E,1)};return l.push(P),P}function p(){const{history:g}=window;g.state&&g.replaceState(tt({},g.state,{scroll:Wa()}),"")}function m(){for(const g of l)g();l=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",p)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",p),{pauseListeners:d,listen:h,destroy:m}}function tp(e,t,r,s=!1,o=!1){return{back:e,current:t,forward:r,replaced:s,position:window.history.length,scroll:o?Wa():null}}function VP(e){const{history:t,location:r}=window,s={value:mm(e,r)},o={value:t.state};o.value||l(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(d,h,p){const m=e.indexOf("#"),g=m>-1?(r.host&&document.querySelector("base")?e:e.slice(m))+d:WP()+e+d;try{t[p?"replaceState":"pushState"](h,"",g),o.value=h}catch(P){console.error(P),r[p?"replace":"assign"](g)}}function u(d,h){const p=tt({},t.state,tp(o.value.back,d,o.value.forward,!0),h,{position:o.value.position});l(d,p,!0),s.value=d}function c(d,h){const p=tt({},o.value,t.state,{forward:d,scroll:Wa()});l(p.current,p,!0);const m=tt({},tp(s.value,d,null),{position:p.position+1},h);l(d,m,!1),s.value=d}return{location:s,state:o,push:c,replace:u}}function HP(e){e=MP(e);const t=VP(e),r=FP(e,t.state,t.location,t.replace);function s(l,u=!0){u||r.pauseListeners(),history.go(l)}const o=tt({location:"",base:e,go:s,createHref:LP.bind(null,e)},t,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function UP(e){return typeof e=="string"||e&&typeof e=="object"}function vm(e){return typeof e=="string"||typeof e=="symbol"}const br={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ym=Symbol("");var np;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(np||(np={}));function Hi(e,t){return tt(new Error,{type:e,[ym]:!0},t)}function Xn(e,t){return e instanceof Error&&ym in e&&(t==null||!!(e.type&t))}const rp="[^/]+?",qP={sensitive:!1,strict:!1,start:!0,end:!0},jP=/[.+*?^${}()[\]/\\]/g;function KP(e,t){const r=tt({},qP,t),s=[];let o=r.start?"^":"";const l=[];for(const h of e){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let m=0;mt.length?t.length===1&&t[0]===40+40?1:-1:0}function ZP(e,t){let r=0;const s=e.score,o=t.score;for(;r0&&t[t.length-1]<0}const GP={type:0,value:""},YP=/[a-zA-Z0-9_]/;function JP(e){if(!e)return[[]];if(e==="/")return[[GP]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(P){throw new Error(`ERR (${r})/"${h}": ${P}`)}let r=0,s=r;const o=[];let l;function u(){l&&o.push(l),l=[]}let c=0,d,h="",p="";function m(){h&&(r===0?l.push({type:0,value:h}):r===1||r===2||r===3?(l.length>1&&(d==="*"||d==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:h,regexp:p,repeatable:d==="*"||d==="+",optional:d==="*"||d==="?"})):t("Invalid state to consume buffer"),h="")}function g(){h+=d}for(;c{u(y)}:Ss}function u(p){if(vm(p)){const m=s.get(p);m&&(s.delete(p),r.splice(r.indexOf(m),1),m.children.forEach(u),m.alias.forEach(u))}else{const m=r.indexOf(p);m>-1&&(r.splice(m,1),p.record.name&&s.delete(p.record.name),p.children.forEach(u),p.alias.forEach(u))}}function c(){return r}function d(p){let m=0;for(;m=0&&(p.record.path!==r[m].record.path||!_m(p,r[m]));)m++;r.splice(m,0,p),p.record.name&&!op(p)&&s.set(p.record.name,p)}function h(p,m){let g,P={},E,B;if("name"in p&&p.name){if(g=s.get(p.name),!g)throw Hi(1,{location:p});B=g.record.name,P=tt(sp(m.params,g.keys.filter(y=>!y.optional).map(y=>y.name)),p.params&&sp(p.params,g.keys.map(y=>y.name))),E=g.stringify(P)}else if("path"in p)E=p.path,g=r.find(y=>y.re.test(E)),g&&(P=g.parse(E),B=g.record.name);else{if(g=m.name?s.get(m.name):r.find(y=>y.re.test(m.path)),!g)throw Hi(1,{location:p,currentLocation:m});B=g.record.name,P=tt({},m.params,p.params),E=g.stringify(P)}const $=[];let k=g;for(;k;)$.unshift(k.record),k=k.parent;return{name:B,path:E,params:P,matched:$,meta:nC($)}}return e.forEach(p=>l(p)),{addRoute:l,resolve:h,removeRoute:u,getRoutes:c,getRecordMatcher:o}}function sp(e,t){const r={};for(const s of t)s in e&&(r[s]=e[s]);return r}function eC(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:tC(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function tC(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const s in e.components)t[s]=typeof r=="boolean"?r:r[s];return t}function op(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function nC(e){return e.reduce((t,r)=>tt(t,r.meta),{})}function ap(e,t){const r={};for(const s in e)r[s]=s in t?t[s]:e[s];return r}function _m(e,t){return t.children.some(r=>r===e||_m(e,r))}const bm=/#/g,rC=/&/g,iC=/\//g,sC=/=/g,oC=/\?/g,wm=/\+/g,aC=/%5B/g,lC=/%5D/g,Am=/%5E/g,uC=/%60/g,xm=/%7B/g,cC=/%7C/g,Pm=/%7D/g,fC=/%20/g;function gc(e){return encodeURI(""+e).replace(cC,"|").replace(aC,"[").replace(lC,"]")}function dC(e){return gc(e).replace(xm,"{").replace(Pm,"}").replace(Am,"^")}function Du(e){return gc(e).replace(wm,"%2B").replace(fC,"+").replace(bm,"%23").replace(rC,"%26").replace(uC,"`").replace(xm,"{").replace(Pm,"}").replace(Am,"^")}function hC(e){return Du(e).replace(sC,"%3D")}function pC(e){return gc(e).replace(bm,"%23").replace(oC,"%3F")}function gC(e){return e==null?"":pC(e).replace(iC,"%2F")}function da(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function mC(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&Du(l)):[s&&Du(s)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+r,l!=null&&(t+="="+l))})}return t}function vC(e){const t={};for(const r in e){const s=e[r];s!==void 0&&(t[r]=On(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const yC=Symbol(""),up=Symbol(""),Fa=Symbol(""),mc=Symbol(""),Nu=Symbol("");function ds(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function r(){e=[]}return{add:t,list:()=>e,reset:r}}function Pr(e,t,r,s,o){const l=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((u,c)=>{const d=m=>{m===!1?c(Hi(4,{from:r,to:t})):m instanceof Error?c(m):UP(m)?c(Hi(2,{from:t,to:m})):(l&&s.enterCallbacks[o]===l&&typeof m=="function"&&l.push(m),u())},h=e.call(s&&s.instances[o],t,r,d);let p=Promise.resolve(h);e.length<3&&(p=p.then(d)),p.catch(m=>c(m))})}function fu(e,t,r,s){const o=[];for(const l of e)for(const u in l.components){let c=l.components[u];if(!(t!=="beforeRouteEnter"&&!l.instances[u]))if(_C(c)){const h=(c.__vccOpts||c)[t];h&&o.push(Pr(h,r,s,l,u))}else{let d=c();o.push(()=>d.then(h=>{if(!h)return Promise.reject(new Error(`Couldn't resolve component "${u}" at "${l.path}"`));const p=CP(h)?h.default:h;l.components[u]=p;const g=(p.__vccOpts||p)[t];return g&&Pr(g,r,s,l,u)()}))}}return o}function _C(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function cp(e){const t=Xt(Fa),r=Xt(mc),s=Ye(()=>t.resolve(Q(e.to))),o=Ye(()=>{const{matched:d}=s.value,{length:h}=d,p=d[h-1],m=r.matched;if(!p||!m.length)return-1;const g=m.findIndex(Vi.bind(null,p));if(g>-1)return g;const P=fp(d[h-2]);return h>1&&fp(p)===P&&m[m.length-1].path!==P?m.findIndex(Vi.bind(null,d[h-2])):g}),l=Ye(()=>o.value>-1&&xC(r.params,s.value.params)),u=Ye(()=>o.value>-1&&o.value===r.matched.length-1&&gm(r.params,s.value.params));function c(d={}){return AC(d)?t[Q(e.replace)?"replace":"push"](Q(e.to)).catch(Ss):Promise.resolve()}return{route:s,href:Ye(()=>s.value.href),isActive:l,isExactActive:u,navigate:c}}const bC=dt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:cp,setup(e,{slots:t}){const r=si(cp(e)),{options:s}=Xt(Fa),o=Ye(()=>({[dp(e.activeClass,s.linkActiveClass,"router-link-active")]:r.isActive,[dp(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const l=t.default&&t.default(r);return e.custom?l:cc("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},l)}}}),wC=bC;function AC(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function xC(e,t){for(const r in t){const s=t[r],o=e[r];if(typeof s=="string"){if(s!==o)return!1}else if(!On(o)||o.length!==s.length||s.some((l,u)=>l!==o[u]))return!1}return!0}function fp(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const dp=(e,t,r)=>e??t??r,PC=dt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const s=Xt(Nu),o=Ye(()=>e.route||s.value),l=Xt(up,0),u=Ye(()=>{let h=Q(l);const{matched:p}=o.value;let m;for(;(m=p[h])&&!m.components;)h++;return h}),c=Ye(()=>o.value.matched[u.value]);Cr(up,Ye(()=>u.value+1)),Cr(yC,c),Cr(Nu,o);const d=$e();return ft(()=>[d.value,c.value,e.name],([h,p,m],[g,P,E])=>{p&&(p.instances[m]=h,P&&P!==p&&h&&h===g&&(p.leaveGuards.size||(p.leaveGuards=P.leaveGuards),p.updateGuards.size||(p.updateGuards=P.updateGuards))),h&&p&&(!P||!Vi(p,P)||!g)&&(p.enterCallbacks[m]||[]).forEach(B=>B(h))},{flush:"post"}),()=>{const h=o.value,p=e.name,m=c.value,g=m&&m.components[p];if(!g)return hp(r.default,{Component:g,route:h});const P=m.props[p],E=P?P===!0?h.params:typeof P=="function"?P(h):P:null,$=cc(g,tt({},E,t,{onVnodeUnmounted:k=>{k.component.isUnmounted&&(m.instances[p]=null)},ref:d}));return hp(r.default,{Component:$,route:h})||$}}});function hp(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const CC=PC;function EC(e){const t=QP(e.routes,e),r=e.parseQuery||mC,s=e.stringifyQuery||lp,o=e.history,l=ds(),u=ds(),c=ds(),d=Y2(br);let h=br;ki&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=uu.bind(null,G=>""+G),m=uu.bind(null,gC),g=uu.bind(null,da);function P(G,ne){let ue,be;return vm(G)?(ue=t.getRecordMatcher(G),be=ne):be=G,t.addRoute(be,ue)}function E(G){const ne=t.getRecordMatcher(G);ne&&t.removeRoute(ne)}function B(){return t.getRoutes().map(G=>G.record)}function $(G){return!!t.getRecordMatcher(G)}function k(G,ne){if(ne=tt({},ne||d.value),typeof G=="string"){const S=cu(r,G,ne.path),N=t.resolve({path:S.path},ne),J=o.createHref(S.fullPath);return tt(S,N,{params:g(N.params),hash:da(S.hash),redirectedFrom:void 0,href:J})}let ue;if("path"in G)ue=tt({},G,{path:cu(r,G.path,ne.path).path});else{const S=tt({},G.params);for(const N in S)S[N]==null&&delete S[N];ue=tt({},G,{params:m(G.params)}),ne.params=m(ne.params)}const be=t.resolve(ue,ne),Ae=G.hash||"";be.params=p(g(be.params));const qe=SP(s,tt({},G,{hash:dC(Ae),path:be.path})),Ce=o.createHref(qe);return tt({fullPath:qe,hash:Ae,query:s===lp?vC(G.query):G.query||{}},be,{redirectedFrom:void 0,href:Ce})}function y(G){return typeof G=="string"?cu(r,G,d.value.path):tt({},G)}function O(G,ne){if(h!==G)return Hi(8,{from:ne,to:G})}function W(G){return H(G)}function U(G){return W(tt(y(G),{replace:!0}))}function z(G){const ne=G.matched[G.matched.length-1];if(ne&&ne.redirect){const{redirect:ue}=ne;let be=typeof ue=="function"?ue(G):ue;return typeof be=="string"&&(be=be.includes("?")||be.includes("#")?be=y(be):{path:be},be.params={}),tt({query:G.query,hash:G.hash,params:"path"in be?{}:G.params},be)}}function H(G,ne){const ue=h=k(G),be=d.value,Ae=G.state,qe=G.force,Ce=G.replace===!0,S=z(ue);if(S)return H(tt(y(S),{state:typeof S=="object"?tt({},Ae,S.state):Ae,force:qe,replace:Ce}),ne||ue);const N=ue;N.redirectedFrom=ne;let J;return!qe&&OP(s,be,ue)&&(J=Hi(16,{to:N,from:be}),Y(be,be,!0,!1)),(J?Promise.resolve(J):j(N,be)).catch(ee=>Xn(ee)?Xn(ee,2)?ee:b(ee):F(ee,N,be)).then(ee=>{if(ee){if(Xn(ee,2))return H(tt({replace:Ce},y(ee.to),{state:typeof ee.to=="object"?tt({},Ae,ee.to.state):Ae,force:qe}),ne||N)}else ee=V(N,be,!0,Ce,Ae);return Z(N,be,ee),ee})}function I(G,ne){const ue=O(G,ne);return ue?Promise.reject(ue):Promise.resolve()}function j(G,ne){let ue;const[be,Ae,qe]=kC(G,ne);ue=fu(be.reverse(),"beforeRouteLeave",G,ne);for(const S of be)S.leaveGuards.forEach(N=>{ue.push(Pr(N,G,ne))});const Ce=I.bind(null,G,ne);return ue.push(Ce),Ei(ue).then(()=>{ue=[];for(const S of l.list())ue.push(Pr(S,G,ne));return ue.push(Ce),Ei(ue)}).then(()=>{ue=fu(Ae,"beforeRouteUpdate",G,ne);for(const S of Ae)S.updateGuards.forEach(N=>{ue.push(Pr(N,G,ne))});return ue.push(Ce),Ei(ue)}).then(()=>{ue=[];for(const S of G.matched)if(S.beforeEnter&&!ne.matched.includes(S))if(On(S.beforeEnter))for(const N of S.beforeEnter)ue.push(Pr(N,G,ne));else ue.push(Pr(S.beforeEnter,G,ne));return ue.push(Ce),Ei(ue)}).then(()=>(G.matched.forEach(S=>S.enterCallbacks={}),ue=fu(qe,"beforeRouteEnter",G,ne),ue.push(Ce),Ei(ue))).then(()=>{ue=[];for(const S of u.list())ue.push(Pr(S,G,ne));return ue.push(Ce),Ei(ue)}).catch(S=>Xn(S,8)?S:Promise.reject(S))}function Z(G,ne,ue){for(const be of c.list())be(G,ne,ue)}function V(G,ne,ue,be,Ae){const qe=O(G,ne);if(qe)return qe;const Ce=ne===br,S=ki?history.state:{};ue&&(be||Ce?o.replace(G.fullPath,tt({scroll:Ce&&S&&S.scroll},Ae)):o.push(G.fullPath,Ae)),d.value=G,Y(G,ne,ue,Ce),b()}let w;function T(){w||(w=o.listen((G,ne,ue)=>{if(!Ie.listening)return;const be=k(G),Ae=z(be);if(Ae){H(tt(Ae,{replace:!0}),be).catch(Ss);return}h=be;const qe=d.value;ki&&DP(ep(qe.fullPath,ue.delta),Wa()),j(be,qe).catch(Ce=>Xn(Ce,12)?Ce:Xn(Ce,2)?(H(Ce.to,be).then(S=>{Xn(S,20)&&!ue.delta&&ue.type===Ns.pop&&o.go(-1,!1)}).catch(Ss),Promise.reject()):(ue.delta&&o.go(-ue.delta,!1),F(Ce,be,qe))).then(Ce=>{Ce=Ce||V(be,qe,!1),Ce&&(ue.delta&&!Xn(Ce,8)?o.go(-ue.delta,!1):ue.type===Ns.pop&&Xn(Ce,20)&&o.go(-1,!1)),Z(be,qe,Ce)}).catch(Ss)}))}let L=ds(),C=ds(),A;function F(G,ne,ue){b(G);const be=C.list();return be.length?be.forEach(Ae=>Ae(G,ne,ue)):console.error(G),Promise.reject(G)}function R(){return A&&d.value!==br?Promise.resolve():new Promise((G,ne)=>{L.add([G,ne])})}function b(G){return A||(A=!G,T(),L.list().forEach(([ne,ue])=>G?ue(G):ne()),L.reset()),G}function Y(G,ne,ue,be){const{scrollBehavior:Ae}=e;if(!ki||!Ae)return Promise.resolve();const qe=!ue&&NP(ep(G.fullPath,0))||(be||!ue)&&history.state&&history.state.scroll||null;return $r().then(()=>Ae(G,ne,qe)).then(Ce=>Ce&&BP(Ce)).catch(Ce=>F(Ce,G,ne))}const se=G=>o.go(G);let me;const ve=new Set,Ie={currentRoute:d,listening:!0,addRoute:P,removeRoute:E,hasRoute:$,getRoutes:B,resolve:k,options:e,push:W,replace:U,go:se,back:()=>se(-1),forward:()=>se(1),beforeEach:l.add,beforeResolve:u.add,afterEach:c.add,onError:C.add,isReady:R,install(G){const ne=this;G.component("RouterLink",wC),G.component("RouterView",CC),G.config.globalProperties.$router=ne,Object.defineProperty(G.config.globalProperties,"$route",{enumerable:!0,get:()=>Q(d)}),ki&&!me&&d.value===br&&(me=!0,W(o.location).catch(Ae=>{}));const ue={};for(const Ae in br)ue[Ae]=Ye(()=>d.value[Ae]);G.provide(Fa,ne),G.provide(mc,si(ue)),G.provide(Nu,d);const be=G.unmount;ve.add(G),G.unmount=function(){ve.delete(G),ve.size<1&&(h=br,w&&w(),w=null,d.value=br,me=!1,A=!1),be()}}};return Ie}function Ei(e){return e.reduce((t,r)=>t.then(()=>r()),Promise.resolve())}function kC(e,t){const r=[],s=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let u=0;uVi(h,c))?s.push(c):r.push(c));const d=e.matched[u];d&&(t.matched.find(h=>Vi(h,d))||o.push(d))}return[r,s,o]}function c6(){return Xt(Fa)}function f6(){return Xt(mc)}const SC=[{path:"/",component:()=>gt(()=>import("./index-1c21d252.js"),["assets/index-1c21d252.js","assets/TrackCompact-b3eeb676.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-48798df5.js","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/TrackCompact-ec18cf3e.css","assets/PlaylistEntry-3951f4a8.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-11952707.css","assets/spotify-05acbfc2.js","assets/PlaylistItem-5e6b8631.js","assets/PlaylistItem-dcaa4cde.css","assets/index-97d03c40.css"])},{path:"/discover",component:()=>gt(()=>import("./Explore-7664200e.js"),["assets/Explore-7664200e.js","assets/Explore-e4c09a4f.css"]),meta:{title:"Discover - reAudioPlayer One"}},{path:"/search",component:()=>gt(()=>import("./Search-aa56b019.js"),["assets/Search-aa56b019.js","assets/ArtistItem-e888ed10.js","assets/ArtistItem-2a1e363c.css","assets/ReleaseItem-d83a159e.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-48798df5.js","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/ReleaseItem-874d3860.css","assets/Search-25e5af5d.css"]),meta:{title:"Search - reAudioPlayer One"}},{name:"Search",path:"/search/:query",component:()=>gt(()=>import("./Search-aa56b019.js"),["assets/Search-aa56b019.js","assets/ArtistItem-e888ed10.js","assets/ArtistItem-2a1e363c.css","assets/ReleaseItem-d83a159e.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-48798df5.js","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/ReleaseItem-874d3860.css","assets/Search-25e5af5d.css"]),meta:{title:"Search - reAudioPlayer One"}},{path:"/collection/albums",component:()=>gt(()=>import("./Albums-d39b4558.js"),["assets/Albums-d39b4558.js","assets/CollectionHeader-16e536cf.js","assets/CollectionHeader-d7b2d6c7.css","assets/Albums-cd4d9140.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/artists",component:()=>gt(()=>import("./Artists-62c5f05c.js"),["assets/Artists-62c5f05c.js","assets/FullShelf-c00e086a.js","assets/FullShelf-261568ae.css","assets/ArtistItem-e888ed10.js","assets/ArtistItem-2a1e363c.css","assets/CollectionHeader-16e536cf.js","assets/CollectionHeader-d7b2d6c7.css","assets/Artists-57c2320a.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/playlists",component:()=>gt(()=>import("./Playlists-f1d051fd.js"),["assets/Playlists-f1d051fd.js","assets/FullShelf-c00e086a.js","assets/FullShelf-261568ae.css","assets/PlaylistItem-5e6b8631.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-48798df5.js","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/playerInPicture-af203fdf.js","assets/PlaylistItem-dcaa4cde.css","assets/CollectionHeader-16e536cf.js","assets/CollectionHeader-d7b2d6c7.css","assets/Playlists-652c06ae.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/releases",component:()=>gt(()=>import("./Releases-3a1ca557.js"),["assets/Releases-3a1ca557.js","assets/FullShelf-c00e086a.js","assets/FullShelf-261568ae.css","assets/ReleaseItem-d83a159e.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-48798df5.js","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/ReleaseItem-874d3860.css","assets/CollectionHeader-16e536cf.js","assets/CollectionHeader-d7b2d6c7.css","assets/Releases-46f16e90.css"]),meta:{title:"Releases - reAudioPlayer One"}},{path:"/collection/tracks",component:()=>gt(()=>import("./Tracks-66865724.js"),["assets/Tracks-66865724.js","assets/index-b54fd673.js","assets/index.vue_vue_type_script_setup_true_lang-907870b4.js","assets/FactCard-6c6c11f6.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-3951f4a8.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-11952707.css","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/index-c785df37.css","assets/index-3c790919.css"]),meta:{title:"Liked Songs - reAudioPlayer One"}},{path:"/collection/tracks/breaking",component:()=>gt(()=>import("./Breaking-9f943681.js"),["assets/Breaking-9f943681.js","assets/index-b54fd673.js","assets/index.vue_vue_type_script_setup_true_lang-907870b4.js","assets/FactCard-6c6c11f6.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-3951f4a8.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-11952707.css","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/index-c785df37.css","assets/index-3c790919.css"]),meta:{title:"Breaking Songs - reAudioPlayer One"}},{path:"/playlist/:hash",component:()=>gt(()=>import("./index-497e833f.js"),["assets/index-497e833f.js","assets/index.vue_vue_type_script_setup_true_lang-907870b4.js","assets/FactCard-6c6c11f6.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-3951f4a8.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-11952707.css","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/index-c785df37.css"]),meta:{title:"Playlist - reAudioPlayer One"}},{path:"/track/:hash",component:()=>gt(()=>import("./Track-2c5bf628.js"),["assets/Track-2c5bf628.js","assets/ExternalEntry-2fd0cbdd.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/ExternalEntry-1ad4a4e1.css","assets/FactCard-6c6c11f6.js","assets/FactCard-3c5d1fcf.css","assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js","assets/spotify-05acbfc2.js","assets/Track-50ce7320.css"]),meta:{title:"Track - reAudioPlayer One"}},{path:"/artist/:name",component:()=>gt(()=>import("./Artist-0055545d.js"),["assets/Artist-0055545d.js","assets/FactCard-6c6c11f6.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/PlaylistEntry-3951f4a8.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-11952707.css","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/spotify-05acbfc2.js","assets/Artist-f38fcfe4.css"]),meta:{title:"Artist - reAudioPlayer One"}},{path:"/preferences",component:()=>gt(()=>import("./index-797b1c20.js"),["assets/index-797b1c20.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/gistClient-9c650d59.js","assets/index-ea9d5540.css"]),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/preferences/my-data",component:()=>gt(()=>import("./LocalData-0aea2bc5.js"),["assets/LocalData-0aea2bc5.js","assets/TrackCompact-b3eeb676.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-48798df5.js","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/TrackCompact-ec18cf3e.css","assets/LocalData-a67e58b2.css"]),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/import",component:()=>gt(()=>import("./Import-701459a8.js"),["assets/Import-701459a8.js","assets/gistClient-9c650d59.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Import-a6f1cef5.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/export",component:()=>gt(()=>import("./Export-098bea4b.js"),["assets/Export-098bea4b.js","assets/gistClient-9c650d59.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Export-013fe12d.css"]),meta:{title:"Export - reAudioPlayer One"}},{path:"/sing-along",component:()=>gt(()=>import("./index-6c60d543.js"),["assets/index-6c60d543.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/index-4e4ed216.css"]),meta:{title:"Sing Along - reAudioPlayer One"}},{path:"/download",component:()=>gt(()=>import("./index-b9d19734.js"),["assets/index-b9d19734.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/index-f90ed871.css"]),meta:{title:"Download - reAudioPlayer One"}},{path:"/welcome",component:()=>gt(()=>import("./Welcome-63dbe3a9.js"),["assets/Welcome-63dbe3a9.js","assets/Welcome-1d742ab1.css"]),meta:{title:"Welcome to reAudioPlayer One"}},{path:"/news",component:()=>gt(()=>import("./News-704a602c.js"),["assets/News-704a602c.js","assets/FullShelf-c00e086a.js","assets/FullShelf-261568ae.css","assets/News-815a31c4.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/sports",component:()=>gt(()=>import("./Sports-ea11e191.js"),["assets/Sports-ea11e191.js","assets/FullShelf-c00e086a.js","assets/FullShelf-261568ae.css","assets/Sports-385f73f9.css"]),meta:{title:"Sports - reAudioPlayer One"}},{path:"/news/:url",component:()=>gt(()=>import("./NewsArticle-35f86d23.js"),["assets/NewsArticle-35f86d23.js","assets/NewsArticle-f71d5ef8.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/player",component:()=>gt(()=>import("./BigPlayer-4a9a8458.js"),["assets/BigPlayer-4a9a8458.js","assets/PlaylistEntry-3951f4a8.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js","assets/Template-59011f9c.js","assets/IconButton-d95cc9cd.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-fb09f2bd.js","assets/Dropdown-b028fe8e.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-11952707.css","assets/PlaylistHeader-ecbb25e6.js","assets/PlaylistHeader-d0359b1d.css","assets/PlaylistItem-5e6b8631.js","assets/Playlist-48798df5.js","assets/ExternalEntry-2fd0cbdd.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/PlaylistItem-dcaa4cde.css","assets/BigPlayer-84aacaed.css"]),meta:{title:"reAudioPlayer One"}}],_s=EC({history:HP(),routes:SC}),OC=["placeholder"],RC=dt({__name:"TextInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},expanded:{type:Boolean,required:!1,default:!1},onKeyUp:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{emit:t}){const r=e,s=$e(r.modelValue);ft(()=>r.modelValue,u=>{s.value=u});const o=()=>{t("update:modelValue",s.value),t("change",s.value)},l=u=>{r.onKeyUp&&r.onKeyUp(u)||u.key==="Enter"&&t("submit",s)};return(u,c)=>(pe(),ke("div",{class:st(["text-input-with-icon rounded-3xl flex items-center px-4",{expanded:e.expanded}])},[fe("span",{class:st([{"cursor-pointer":e.onClick},"material-symbols-rounded ms-wght-200"]),onClick:c[0]||(c[0]=(...d)=>e.onClick&&e.onClick(...d))},nt(e.icon),3),ta(fe("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>s.value=d),placeholder:e.placeholder,type:"text",onInput:o,onKeyup:l,onFocusout:c[2]||(c[2]=d=>u.$emit("focusout"))},null,40,OC),[[ua,s.value]])],2))}});const TC=xt(RC,[["__scopeId","data-v-1d758894"]]);var ha={},MC={get exports(){return ha},set exports(e){ha=e}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(e,t){(function(){var r,s="4.17.21",o=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",c="Invalid `variable` option passed into `_.template`",d="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",m=1,g=2,P=4,E=1,B=2,$=1,k=2,y=4,O=8,W=16,U=32,z=64,H=128,I=256,j=512,Z=30,V="...",w=800,T=16,L=1,C=2,A=3,F=1/0,R=9007199254740991,b=17976931348623157e292,Y=0/0,se=4294967295,me=se-1,ve=se>>>1,Ie=[["ary",H],["bind",$],["bindKey",k],["curry",O],["curryRight",W],["flip",j],["partial",U],["partialRight",z],["rearg",I]],G="[object Arguments]",ne="[object Array]",ue="[object AsyncFunction]",be="[object Boolean]",Ae="[object Date]",qe="[object DOMException]",Ce="[object Error]",S="[object Function]",N="[object GeneratorFunction]",J="[object Map]",ee="[object Number]",oe="[object Null]",ce="[object Object]",ye="[object Promise]",de="[object Proxy]",he="[object RegExp]",ae="[object Set]",Ee="[object String]",xe="[object Symbol]",Se="[object Undefined]",Re="[object WeakMap]",Ve="[object WeakSet]",Ge="[object ArrayBuffer]",Ke="[object DataView]",ht="[object Float32Array]",Nt="[object Float64Array]",Rn="[object Int8Array]",ai="[object Int16Array]",Hn="[object Int32Array]",li="[object Uint8Array]",Ot="[object Uint8ClampedArray]",jt="[object Uint16Array]",ui="[object Uint32Array]",Mm=/\b__p \+= '';/g,Im=/\b(__p \+=) '' \+/g,Lm=/(__e\(.*?\)|\b__t\)) \+\n'';/g,vc=/&(?:amp|lt|gt|quot|#39);/g,yc=/[&<>"']/g,$m=RegExp(vc.source),Bm=RegExp(yc.source),Dm=/<%-([\s\S]+?)%>/g,Nm=/<%([\s\S]+?)%>/g,_c=/<%=([\s\S]+?)%>/g,Wm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fm=/^\w*$/,Vm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ha=/[\\^$.*+?()[\]{}|]/g,Hm=RegExp(Ha.source),Ua=/^\s+/,Um=/\s/,qm=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,jm=/\{\n\/\* \[wrapped with (.+)\] \*/,Km=/,? & /,zm=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Zm=/[()=,{}\[\]\/\s]/,Gm=/\\(\\)?/g,Ym=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bc=/\w*$/,Jm=/^[-+]0x[0-9a-f]+$/i,Xm=/^0b[01]+$/i,Qm=/^\[object .+?Constructor\]$/,ev=/^0o[0-7]+$/i,tv=/^(?:0|[1-9]\d*)$/,nv=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,qs=/($^)/,rv=/['\n\r\u2028\u2029\\]/g,js="\\ud800-\\udfff",iv="\\u0300-\\u036f",sv="\\ufe20-\\ufe2f",ov="\\u20d0-\\u20ff",wc=iv+sv+ov,Ac="\\u2700-\\u27bf",xc="a-z\\xdf-\\xf6\\xf8-\\xff",av="\\xac\\xb1\\xd7\\xf7",lv="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",uv="\\u2000-\\u206f",cv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pc="A-Z\\xc0-\\xd6\\xd8-\\xde",Cc="\\ufe0e\\ufe0f",Ec=av+lv+uv+cv,qa="['’]",fv="["+js+"]",kc="["+Ec+"]",Ks="["+wc+"]",Sc="\\d+",dv="["+Ac+"]",Oc="["+xc+"]",Rc="[^"+js+Ec+Sc+Ac+xc+Pc+"]",ja="\\ud83c[\\udffb-\\udfff]",hv="(?:"+Ks+"|"+ja+")",Tc="[^"+js+"]",Ka="(?:\\ud83c[\\udde6-\\uddff]){2}",za="[\\ud800-\\udbff][\\udc00-\\udfff]",ci="["+Pc+"]",Mc="\\u200d",Ic="(?:"+Oc+"|"+Rc+")",pv="(?:"+ci+"|"+Rc+")",Lc="(?:"+qa+"(?:d|ll|m|re|s|t|ve))?",$c="(?:"+qa+"(?:D|LL|M|RE|S|T|VE))?",Bc=hv+"?",Dc="["+Cc+"]?",gv="(?:"+Mc+"(?:"+[Tc,Ka,za].join("|")+")"+Dc+Bc+")*",mv="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vv="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Nc=Dc+Bc+gv,yv="(?:"+[dv,Ka,za].join("|")+")"+Nc,_v="(?:"+[Tc+Ks+"?",Ks,Ka,za,fv].join("|")+")",bv=RegExp(qa,"g"),wv=RegExp(Ks,"g"),Za=RegExp(ja+"(?="+ja+")|"+_v+Nc,"g"),Av=RegExp([ci+"?"+Oc+"+"+Lc+"(?="+[kc,ci,"$"].join("|")+")",pv+"+"+$c+"(?="+[kc,ci+Ic,"$"].join("|")+")",ci+"?"+Ic+"+"+Lc,ci+"+"+$c,vv,mv,Sc,yv].join("|"),"g"),xv=RegExp("["+Mc+js+wc+Cc+"]"),Pv=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Cv=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ev=-1,ct={};ct[ht]=ct[Nt]=ct[Rn]=ct[ai]=ct[Hn]=ct[li]=ct[Ot]=ct[jt]=ct[ui]=!0,ct[G]=ct[ne]=ct[Ge]=ct[be]=ct[Ke]=ct[Ae]=ct[Ce]=ct[S]=ct[J]=ct[ee]=ct[ce]=ct[he]=ct[ae]=ct[Ee]=ct[Re]=!1;var ut={};ut[G]=ut[ne]=ut[Ge]=ut[Ke]=ut[be]=ut[Ae]=ut[ht]=ut[Nt]=ut[Rn]=ut[ai]=ut[Hn]=ut[J]=ut[ee]=ut[ce]=ut[he]=ut[ae]=ut[Ee]=ut[xe]=ut[li]=ut[Ot]=ut[jt]=ut[ui]=!0,ut[Ce]=ut[S]=ut[Re]=!1;var kv={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Sv={"&":"&","<":"<",">":">",'"':""","'":"'"},Ov={"&":"&","<":"<",">":">",""":'"',"'":"'"},Rv={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tv=parseFloat,Mv=parseInt,Wc=typeof fs=="object"&&fs&&fs.Object===Object&&fs,Iv=typeof self=="object"&&self&&self.Object===Object&&self,Rt=Wc||Iv||Function("return this")(),Ga=t&&!t.nodeType&&t,Dr=Ga&&!0&&e&&!e.nodeType&&e,Fc=Dr&&Dr.exports===Ga,Ya=Fc&&Wc.process,hn=function(){try{var q=Dr&&Dr.require&&Dr.require("util").types;return q||Ya&&Ya.binding&&Ya.binding("util")}catch{}}(),Vc=hn&&hn.isArrayBuffer,Hc=hn&&hn.isDate,Uc=hn&&hn.isMap,qc=hn&&hn.isRegExp,jc=hn&&hn.isSet,Kc=hn&&hn.isTypedArray;function tn(q,te,X){switch(X.length){case 0:return q.call(te);case 1:return q.call(te,X[0]);case 2:return q.call(te,X[0],X[1]);case 3:return q.call(te,X[0],X[1],X[2])}return q.apply(te,X)}function Lv(q,te,X,we){for(var Le=-1,Je=q==null?0:q.length;++Le-1}function Ja(q,te,X){for(var we=-1,Le=q==null?0:q.length;++we-1;);return X}function ef(q,te){for(var X=q.length;X--&&fi(te,q[X],0)>-1;);return X}function Uv(q,te){for(var X=q.length,we=0;X--;)q[X]===te&&++we;return we}var qv=tl(kv),jv=tl(Sv);function Kv(q){return"\\"+Rv[q]}function zv(q,te){return q==null?r:q[te]}function di(q){return xv.test(q)}function Zv(q){return Pv.test(q)}function Gv(q){for(var te,X=[];!(te=q.next()).done;)X.push(te.value);return X}function sl(q){var te=-1,X=Array(q.size);return q.forEach(function(we,Le){X[++te]=[Le,we]}),X}function tf(q,te){return function(X){return q(te(X))}}function cr(q,te){for(var X=-1,we=q.length,Le=0,Je=[];++X-1}function By(n,i){var a=this.__data__,f=co(a,n);return f<0?(++this.size,a.push([n,i])):a[f][1]=i,this}Un.prototype.clear=My,Un.prototype.delete=Iy,Un.prototype.get=Ly,Un.prototype.has=$y,Un.prototype.set=By;function qn(n){var i=-1,a=n==null?0:n.length;for(this.clear();++i=i?n:i)),n}function vn(n,i,a,f,v,x){var M,D=i&m,K=i&g,re=i&P;if(a&&(M=v?a(n,f,v,x):a(n)),M!==r)return M;if(!yt(n))return n;var ie=Be(n);if(ie){if(M=F1(n),!D)return Kt(n,M)}else{var le=Lt(n),_e=le==S||le==N;if(mr(n))return Nf(n,D);if(le==ce||le==G||_e&&!v){if(M=K||_e?{}:rd(n),!D)return K?O1(n,Xy(M,n)):S1(n,pf(M,n))}else{if(!ut[le])return v?n:{};M=V1(n,le,D)}}x||(x=new Pn);var Pe=x.get(n);if(Pe)return Pe;x.set(n,M),Md(n)?n.forEach(function(Me){M.add(vn(Me,i,a,Me,n,x))}):Rd(n)&&n.forEach(function(Me,Ue){M.set(Ue,vn(Me,i,a,Ue,n,x))});var Te=re?K?Tl:Rl:K?Zt:kt,We=ie?r:Te(n);return pn(We||n,function(Me,Ue){We&&(Ue=Me,Me=n[Ue]),Yi(M,Ue,vn(Me,i,a,Ue,n,x))}),M}function Qy(n){var i=kt(n);return function(a){return gf(a,n,i)}}function gf(n,i,a){var f=a.length;if(n==null)return!f;for(n=ot(n);f--;){var v=a[f],x=i[v],M=n[v];if(M===r&&!(v in n)||!x(M))return!1}return!0}function mf(n,i,a){if(typeof n!="function")throw new gn(u);return rs(function(){n.apply(r,a)},i)}function Ji(n,i,a,f){var v=-1,x=zs,M=!0,D=n.length,K=[],re=i.length;if(!D)return K;a&&(i=pt(i,nn(a))),f?(x=Ja,M=!1):i.length>=o&&(x=qi,M=!1,i=new Fr(i));e:for(;++vv?0:v+a),f=f===r||f>v?v:Ne(f),f<0&&(f+=v),f=a>f?0:Ld(f);a0&&a(D)?i>1?Tt(D,i-1,a,f,v):ur(v,D):f||(v[v.length]=D)}return v}var dl=qf(),_f=qf(!0);function Tn(n,i){return n&&dl(n,i,kt)}function hl(n,i){return n&&_f(n,i,kt)}function ho(n,i){return lr(i,function(a){return Gn(n[a])})}function Hr(n,i){i=pr(i,n);for(var a=0,f=i.length;n!=null&&ai}function n1(n,i){return n!=null&&et.call(n,i)}function r1(n,i){return n!=null&&i in ot(n)}function i1(n,i,a){return n>=It(i,a)&&n=120&&ie.length>=120)?new Fr(M&&ie):r}ie=n[0];var le=-1,_e=D[0];e:for(;++le-1;)D!==n&&ro.call(D,K,1),ro.call(n,K,1);return n}function Rf(n,i){for(var a=n?i.length:0,f=a-1;a--;){var v=i[a];if(a==f||v!==x){var x=v;Zn(v)?ro.call(n,v,1):xl(n,v)}}return n}function bl(n,i){return n+oo(cf()*(i-n+1))}function v1(n,i,a,f){for(var v=-1,x=Ct(so((i-n)/(a||1)),0),M=X(x);x--;)M[f?x:++v]=n,n+=a;return M}function wl(n,i){var a="";if(!n||i<1||i>R)return a;do i%2&&(a+=n),i=oo(i/2),i&&(n+=n);while(i);return a}function Fe(n,i){return Nl(od(n,i,Gt),n+"")}function y1(n){return hf(xi(n))}function _1(n,i){var a=xi(n);return Po(a,Vr(i,0,a.length))}function es(n,i,a,f){if(!yt(n))return n;i=pr(i,n);for(var v=-1,x=i.length,M=x-1,D=n;D!=null&&++vv?0:v+i),a=a>v?v:a,a<0&&(a+=v),v=i>a?0:a-i>>>0,i>>>=0;for(var x=X(v);++f>>1,M=n[x];M!==null&&!sn(M)&&(a?M<=i:M=o){var re=i?null:I1(n);if(re)return Gs(re);M=!1,v=qi,K=new Fr}else K=i?[]:D;e:for(;++f=f?n:yn(n,i,a)}var Df=cy||function(n){return Rt.clearTimeout(n)};function Nf(n,i){if(i)return n.slice();var a=n.length,f=sf?sf(a):new n.constructor(a);return n.copy(f),f}function kl(n){var i=new n.constructor(n.byteLength);return new to(i).set(new to(n)),i}function P1(n,i){var a=i?kl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.byteLength)}function C1(n){var i=new n.constructor(n.source,bc.exec(n));return i.lastIndex=n.lastIndex,i}function E1(n){return Gi?ot(Gi.call(n)):{}}function Wf(n,i){var a=i?kl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.length)}function Ff(n,i){if(n!==i){var a=n!==r,f=n===null,v=n===n,x=sn(n),M=i!==r,D=i===null,K=i===i,re=sn(i);if(!D&&!re&&!x&&n>i||x&&M&&K&&!D&&!re||f&&M&&K||!a&&K||!v)return 1;if(!f&&!x&&!re&&n=D)return K;var re=a[f];return K*(re=="desc"?-1:1)}}return n.index-i.index}function Vf(n,i,a,f){for(var v=-1,x=n.length,M=a.length,D=-1,K=i.length,re=Ct(x-M,0),ie=X(K+re),le=!f;++D1?a[v-1]:r,M=v>2?a[2]:r;for(x=n.length>3&&typeof x=="function"?(v--,x):r,M&&Ft(a[0],a[1],M)&&(x=v<3?r:x,v=1),i=ot(i);++f-1?v[x?i[M]:M]:r}}function zf(n){return zn(function(i){var a=i.length,f=a,v=mn.prototype.thru;for(n&&i.reverse();f--;){var x=i[f];if(typeof x!="function")throw new gn(u);if(v&&!M&&Ao(x)=="wrapper")var M=new mn([],!0)}for(f=M?f:a;++f1&&ze.reverse(),ie&&KD))return!1;var re=x.get(n),ie=x.get(i);if(re&&ie)return re==i&&ie==n;var le=-1,_e=!0,Pe=a&B?new Fr:r;for(x.set(n,i),x.set(i,n);++le1?"& ":"")+i[f],i=i.join(a>2?", ":" "),n.replace(qm,`{ -/* [wrapped with `+i+`] */ -`)}function U1(n){return Be(n)||jr(n)||!!(lf&&n&&n[lf])}function Zn(n,i){var a=typeof n;return i=i??R,!!i&&(a=="number"||a!="symbol"&&tv.test(n))&&n>-1&&n%1==0&&n0){if(++i>=w)return arguments[0]}else i=0;return n.apply(r,arguments)}}function Po(n,i){var a=-1,f=n.length,v=f-1;for(i=i===r?f:i;++a1?n[i-1]:r;return a=typeof a=="function"?(n.pop(),a):r,yd(n,a)});function _d(n){var i=_(n);return i.__chain__=!0,i}function e0(n,i){return i(n),n}function Co(n,i){return i(n)}var t0=zn(function(n){var i=n.length,a=i?n[0]:0,f=this.__wrapped__,v=function(x){return fl(x,n)};return i>1||this.__actions__.length||!(f instanceof je)||!Zn(a)?this.thru(v):(f=f.slice(a,+a+(i?1:0)),f.__actions__.push({func:Co,args:[v],thisArg:r}),new mn(f,this.__chain__).thru(function(x){return i&&!x.length&&x.push(r),x}))});function n0(){return _d(this)}function r0(){return new mn(this.value(),this.__chain__)}function i0(){this.__values__===r&&(this.__values__=Id(this.value()));var n=this.__index__>=this.__values__.length,i=n?r:this.__values__[this.__index__++];return{done:n,value:i}}function s0(){return this}function o0(n){for(var i,a=this;a instanceof uo;){var f=dd(a);f.__index__=0,f.__values__=r,i?v.__wrapped__=f:i=f;var v=f;a=a.__wrapped__}return v.__wrapped__=n,i}function a0(){var n=this.__wrapped__;if(n instanceof je){var i=n;return this.__actions__.length&&(i=new je(this)),i=i.reverse(),i.__actions__.push({func:Co,args:[Wl],thisArg:r}),new mn(i,this.__chain__)}return this.thru(Wl)}function l0(){return $f(this.__wrapped__,this.__actions__)}var u0=vo(function(n,i,a){et.call(n,a)?++n[a]:jn(n,a,1)});function c0(n,i,a){var f=Be(n)?zc:e1;return a&&Ft(n,i,a)&&(i=r),f(n,Oe(i,3))}function f0(n,i){var a=Be(n)?lr:yf;return a(n,Oe(i,3))}var d0=Kf(hd),h0=Kf(pd);function p0(n,i){return Tt(Eo(n,i),1)}function g0(n,i){return Tt(Eo(n,i),F)}function m0(n,i,a){return a=a===r?1:Ne(a),Tt(Eo(n,i),a)}function bd(n,i){var a=Be(n)?pn:dr;return a(n,Oe(i,3))}function wd(n,i){var a=Be(n)?$v:vf;return a(n,Oe(i,3))}var v0=vo(function(n,i,a){et.call(n,a)?n[a].push(i):jn(n,a,[i])});function y0(n,i,a,f){n=zt(n)?n:xi(n),a=a&&!f?Ne(a):0;var v=n.length;return a<0&&(a=Ct(v+a,0)),To(n)?a<=v&&n.indexOf(i,a)>-1:!!v&&fi(n,i,a)>-1}var _0=Fe(function(n,i,a){var f=-1,v=typeof i=="function",x=zt(n)?X(n.length):[];return dr(n,function(M){x[++f]=v?tn(i,M,a):Xi(M,i,a)}),x}),b0=vo(function(n,i,a){jn(n,a,i)});function Eo(n,i){var a=Be(n)?pt:Pf;return a(n,Oe(i,3))}function w0(n,i,a,f){return n==null?[]:(Be(i)||(i=i==null?[]:[i]),a=f?r:a,Be(a)||(a=a==null?[]:[a]),Sf(n,i,a))}var A0=vo(function(n,i,a){n[a?0:1].push(i)},function(){return[[],[]]});function x0(n,i,a){var f=Be(n)?Xa:Jc,v=arguments.length<3;return f(n,Oe(i,4),a,v,dr)}function P0(n,i,a){var f=Be(n)?Bv:Jc,v=arguments.length<3;return f(n,Oe(i,4),a,v,vf)}function C0(n,i){var a=Be(n)?lr:yf;return a(n,Oo(Oe(i,3)))}function E0(n){var i=Be(n)?hf:y1;return i(n)}function k0(n,i,a){(a?Ft(n,i,a):i===r)?i=1:i=Ne(i);var f=Be(n)?Gy:_1;return f(n,i)}function S0(n){var i=Be(n)?Yy:w1;return i(n)}function O0(n){if(n==null)return 0;if(zt(n))return To(n)?hi(n):n.length;var i=Lt(n);return i==J||i==ae?n.size:vl(n).length}function R0(n,i,a){var f=Be(n)?Qa:A1;return a&&Ft(n,i,a)&&(i=r),f(n,Oe(i,3))}var T0=Fe(function(n,i){if(n==null)return[];var a=i.length;return a>1&&Ft(n,i[0],i[1])?i=[]:a>2&&Ft(i[0],i[1],i[2])&&(i=[i[0]]),Sf(n,Tt(i,1),[])}),ko=fy||function(){return Rt.Date.now()};function M0(n,i){if(typeof i!="function")throw new gn(u);return n=Ne(n),function(){if(--n<1)return i.apply(this,arguments)}}function Ad(n,i,a){return i=a?r:i,i=n&&i==null?n.length:i,Kn(n,H,r,r,r,r,i)}function xd(n,i){var a;if(typeof i!="function")throw new gn(u);return n=Ne(n),function(){return--n>0&&(a=i.apply(this,arguments)),n<=1&&(i=r),a}}var Vl=Fe(function(n,i,a){var f=$;if(a.length){var v=cr(a,wi(Vl));f|=U}return Kn(n,f,i,a,v)}),Pd=Fe(function(n,i,a){var f=$|k;if(a.length){var v=cr(a,wi(Pd));f|=U}return Kn(i,f,n,a,v)});function Cd(n,i,a){i=a?r:i;var f=Kn(n,O,r,r,r,r,r,i);return f.placeholder=Cd.placeholder,f}function Ed(n,i,a){i=a?r:i;var f=Kn(n,W,r,r,r,r,r,i);return f.placeholder=Ed.placeholder,f}function kd(n,i,a){var f,v,x,M,D,K,re=0,ie=!1,le=!1,_e=!0;if(typeof n!="function")throw new gn(u);i=bn(i)||0,yt(a)&&(ie=!!a.leading,le="maxWait"in a,x=le?Ct(bn(a.maxWait)||0,i):x,_e="trailing"in a?!!a.trailing:_e);function Pe(wt){var En=f,Jn=v;return f=v=r,re=wt,M=n.apply(Jn,En),M}function Te(wt){return re=wt,D=rs(Ue,i),ie?Pe(wt):M}function We(wt){var En=wt-K,Jn=wt-re,Kd=i-En;return le?It(Kd,x-Jn):Kd}function Me(wt){var En=wt-K,Jn=wt-re;return K===r||En>=i||En<0||le&&Jn>=x}function Ue(){var wt=ko();if(Me(wt))return ze(wt);D=rs(Ue,We(wt))}function ze(wt){return D=r,_e&&f?Pe(wt):(f=v=r,M)}function on(){D!==r&&Df(D),re=0,f=K=v=D=r}function Vt(){return D===r?M:ze(ko())}function an(){var wt=ko(),En=Me(wt);if(f=arguments,v=this,K=wt,En){if(D===r)return Te(K);if(le)return Df(D),D=rs(Ue,i),Pe(K)}return D===r&&(D=rs(Ue,i)),M}return an.cancel=on,an.flush=Vt,an}var I0=Fe(function(n,i){return mf(n,1,i)}),L0=Fe(function(n,i,a){return mf(n,bn(i)||0,a)});function $0(n){return Kn(n,j)}function So(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new gn(u);var a=function(){var f=arguments,v=i?i.apply(this,f):f[0],x=a.cache;if(x.has(v))return x.get(v);var M=n.apply(this,f);return a.cache=x.set(v,M)||x,M};return a.cache=new(So.Cache||qn),a}So.Cache=qn;function Oo(n){if(typeof n!="function")throw new gn(u);return function(){var i=arguments;switch(i.length){case 0:return!n.call(this);case 1:return!n.call(this,i[0]);case 2:return!n.call(this,i[0],i[1]);case 3:return!n.call(this,i[0],i[1],i[2])}return!n.apply(this,i)}}function B0(n){return xd(2,n)}var D0=x1(function(n,i){i=i.length==1&&Be(i[0])?pt(i[0],nn(Oe())):pt(Tt(i,1),nn(Oe()));var a=i.length;return Fe(function(f){for(var v=-1,x=It(f.length,a);++v=i}),jr=wf(function(){return arguments}())?wf:function(n){return _t(n)&&et.call(n,"callee")&&!af.call(n,"callee")},Be=X.isArray,X0=Vc?nn(Vc):o1;function zt(n){return n!=null&&Ro(n.length)&&!Gn(n)}function bt(n){return _t(n)&&zt(n)}function Q0(n){return n===!0||n===!1||_t(n)&&Wt(n)==be}var mr=hy||Ql,eb=Hc?nn(Hc):a1;function tb(n){return _t(n)&&n.nodeType===1&&!is(n)}function nb(n){if(n==null)return!0;if(zt(n)&&(Be(n)||typeof n=="string"||typeof n.splice=="function"||mr(n)||Ai(n)||jr(n)))return!n.length;var i=Lt(n);if(i==J||i==ae)return!n.size;if(ns(n))return!vl(n).length;for(var a in n)if(et.call(n,a))return!1;return!0}function rb(n,i){return Qi(n,i)}function ib(n,i,a){a=typeof a=="function"?a:r;var f=a?a(n,i):r;return f===r?Qi(n,i,r,a):!!f}function Ul(n){if(!_t(n))return!1;var i=Wt(n);return i==Ce||i==qe||typeof n.message=="string"&&typeof n.name=="string"&&!is(n)}function sb(n){return typeof n=="number"&&uf(n)}function Gn(n){if(!yt(n))return!1;var i=Wt(n);return i==S||i==N||i==ue||i==de}function Od(n){return typeof n=="number"&&n==Ne(n)}function Ro(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=R}function yt(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}function _t(n){return n!=null&&typeof n=="object"}var Rd=Uc?nn(Uc):u1;function ob(n,i){return n===i||ml(n,i,Il(i))}function ab(n,i,a){return a=typeof a=="function"?a:r,ml(n,i,Il(i),a)}function lb(n){return Td(n)&&n!=+n}function ub(n){if(K1(n))throw new Le(l);return Af(n)}function cb(n){return n===null}function fb(n){return n==null}function Td(n){return typeof n=="number"||_t(n)&&Wt(n)==ee}function is(n){if(!_t(n)||Wt(n)!=ce)return!1;var i=no(n);if(i===null)return!0;var a=et.call(i,"constructor")&&i.constructor;return typeof a=="function"&&a instanceof a&&Xs.call(a)==ay}var ql=qc?nn(qc):c1;function db(n){return Od(n)&&n>=-R&&n<=R}var Md=jc?nn(jc):f1;function To(n){return typeof n=="string"||!Be(n)&&_t(n)&&Wt(n)==Ee}function sn(n){return typeof n=="symbol"||_t(n)&&Wt(n)==xe}var Ai=Kc?nn(Kc):d1;function hb(n){return n===r}function pb(n){return _t(n)&&Lt(n)==Re}function gb(n){return _t(n)&&Wt(n)==Ve}var mb=wo(yl),vb=wo(function(n,i){return n<=i});function Id(n){if(!n)return[];if(zt(n))return To(n)?xn(n):Kt(n);if(ji&&n[ji])return Gv(n[ji]());var i=Lt(n),a=i==J?sl:i==ae?Gs:xi;return a(n)}function Yn(n){if(!n)return n===0?n:0;if(n=bn(n),n===F||n===-F){var i=n<0?-1:1;return i*b}return n===n?n:0}function Ne(n){var i=Yn(n),a=i%1;return i===i?a?i-a:i:0}function Ld(n){return n?Vr(Ne(n),0,se):0}function bn(n){if(typeof n=="number")return n;if(sn(n))return Y;if(yt(n)){var i=typeof n.valueOf=="function"?n.valueOf():n;n=yt(i)?i+"":i}if(typeof n!="string")return n===0?n:+n;n=Xc(n);var a=Xm.test(n);return a||ev.test(n)?Mv(n.slice(2),a?2:8):Jm.test(n)?Y:+n}function $d(n){return Mn(n,Zt(n))}function yb(n){return n?Vr(Ne(n),-R,R):n===0?n:0}function Xe(n){return n==null?"":rn(n)}var _b=_i(function(n,i){if(ns(i)||zt(i)){Mn(i,kt(i),n);return}for(var a in i)et.call(i,a)&&Yi(n,a,i[a])}),Bd=_i(function(n,i){Mn(i,Zt(i),n)}),Mo=_i(function(n,i,a,f){Mn(i,Zt(i),n,f)}),bb=_i(function(n,i,a,f){Mn(i,kt(i),n,f)}),wb=zn(fl);function Ab(n,i){var a=yi(n);return i==null?a:pf(a,i)}var xb=Fe(function(n,i){n=ot(n);var a=-1,f=i.length,v=f>2?i[2]:r;for(v&&Ft(i[0],i[1],v)&&(f=1);++a1),x}),Mn(n,Tl(n),a),f&&(a=vn(a,m|g|P,L1));for(var v=i.length;v--;)xl(a,i[v]);return a});function Vb(n,i){return Nd(n,Oo(Oe(i)))}var Hb=zn(function(n,i){return n==null?{}:g1(n,i)});function Nd(n,i){if(n==null)return{};var a=pt(Tl(n),function(f){return[f]});return i=Oe(i),Of(n,a,function(f,v){return i(f,v[0])})}function Ub(n,i,a){i=pr(i,n);var f=-1,v=i.length;for(v||(v=1,n=r);++fi){var f=n;n=i,i=f}if(a||n%1||i%1){var v=cf();return It(n+v*(i-n+Tv("1e-"+((v+"").length-1))),i)}return bl(n,i)}var ew=bi(function(n,i,a){return i=i.toLowerCase(),n+(a?Vd(i):i)});function Vd(n){return zl(Xe(n).toLowerCase())}function Hd(n){return n=Xe(n),n&&n.replace(nv,qv).replace(wv,"")}function tw(n,i,a){n=Xe(n),i=rn(i);var f=n.length;a=a===r?f:Vr(Ne(a),0,f);var v=a;return a-=i.length,a>=0&&n.slice(a,v)==i}function nw(n){return n=Xe(n),n&&Bm.test(n)?n.replace(yc,jv):n}function rw(n){return n=Xe(n),n&&Hm.test(n)?n.replace(Ha,"\\$&"):n}var iw=bi(function(n,i,a){return n+(a?"-":"")+i.toLowerCase()}),sw=bi(function(n,i,a){return n+(a?" ":"")+i.toLowerCase()}),ow=jf("toLowerCase");function aw(n,i,a){n=Xe(n),i=Ne(i);var f=i?hi(n):0;if(!i||f>=i)return n;var v=(i-f)/2;return bo(oo(v),a)+n+bo(so(v),a)}function lw(n,i,a){n=Xe(n),i=Ne(i);var f=i?hi(n):0;return i&&f>>0,a?(n=Xe(n),n&&(typeof i=="string"||i!=null&&!ql(i))&&(i=rn(i),!i&&di(n))?gr(xn(n),0,a):n.split(i,a)):[]}var gw=bi(function(n,i,a){return n+(a?" ":"")+zl(i)});function mw(n,i,a){return n=Xe(n),a=a==null?0:Vr(Ne(a),0,n.length),i=rn(i),n.slice(a,a+i.length)==i}function vw(n,i,a){var f=_.templateSettings;a&&Ft(n,i,a)&&(i=r),n=Xe(n),i=Mo({},i,f,Xf);var v=Mo({},i.imports,f.imports,Xf),x=kt(v),M=il(v,x),D,K,re=0,ie=i.interpolate||qs,le="__p += '",_e=ol((i.escape||qs).source+"|"+ie.source+"|"+(ie===_c?Ym:qs).source+"|"+(i.evaluate||qs).source+"|$","g"),Pe="//# sourceURL="+(et.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ev+"]")+` -`;n.replace(_e,function(Me,Ue,ze,on,Vt,an){return ze||(ze=on),le+=n.slice(re,an).replace(rv,Kv),Ue&&(D=!0,le+=`' + -__e(`+Ue+`) + -'`),Vt&&(K=!0,le+=`'; -`+Vt+`; -__p += '`),ze&&(le+=`' + -((__t = (`+ze+`)) == null ? '' : __t) + -'`),re=an+Me.length,Me}),le+=`'; -`;var Te=et.call(i,"variable")&&i.variable;if(!Te)le=`with (obj) { -`+le+` -} -`;else if(Zm.test(Te))throw new Le(c);le=(K?le.replace(Mm,""):le).replace(Im,"$1").replace(Lm,"$1;"),le="function("+(Te||"obj")+`) { -`+(Te?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(D?", __e = _.escape":"")+(K?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+le+`return __p -}`;var We=qd(function(){return Je(x,Pe+"return "+le).apply(r,M)});if(We.source=le,Ul(We))throw We;return We}function yw(n){return Xe(n).toLowerCase()}function _w(n){return Xe(n).toUpperCase()}function bw(n,i,a){if(n=Xe(n),n&&(a||i===r))return Xc(n);if(!n||!(i=rn(i)))return n;var f=xn(n),v=xn(i),x=Qc(f,v),M=ef(f,v)+1;return gr(f,x,M).join("")}function ww(n,i,a){if(n=Xe(n),n&&(a||i===r))return n.slice(0,nf(n)+1);if(!n||!(i=rn(i)))return n;var f=xn(n),v=ef(f,xn(i))+1;return gr(f,0,v).join("")}function Aw(n,i,a){if(n=Xe(n),n&&(a||i===r))return n.replace(Ua,"");if(!n||!(i=rn(i)))return n;var f=xn(n),v=Qc(f,xn(i));return gr(f,v).join("")}function xw(n,i){var a=Z,f=V;if(yt(i)){var v="separator"in i?i.separator:v;a="length"in i?Ne(i.length):a,f="omission"in i?rn(i.omission):f}n=Xe(n);var x=n.length;if(di(n)){var M=xn(n);x=M.length}if(a>=x)return n;var D=a-hi(f);if(D<1)return f;var K=M?gr(M,0,D).join(""):n.slice(0,D);if(v===r)return K+f;if(M&&(D+=K.length-D),ql(v)){if(n.slice(D).search(v)){var re,ie=K;for(v.global||(v=ol(v.source,Xe(bc.exec(v))+"g")),v.lastIndex=0;re=v.exec(ie);)var le=re.index;K=K.slice(0,le===r?D:le)}}else if(n.indexOf(rn(v),D)!=D){var _e=K.lastIndexOf(v);_e>-1&&(K=K.slice(0,_e))}return K+f}function Pw(n){return n=Xe(n),n&&$m.test(n)?n.replace(vc,Qv):n}var Cw=bi(function(n,i,a){return n+(a?" ":"")+i.toUpperCase()}),zl=jf("toUpperCase");function Ud(n,i,a){return n=Xe(n),i=a?r:i,i===r?Zv(n)?ny(n):Wv(n):n.match(i)||[]}var qd=Fe(function(n,i){try{return tn(n,r,i)}catch(a){return Ul(a)?a:new Le(a)}}),Ew=zn(function(n,i){return pn(i,function(a){a=In(a),jn(n,a,Vl(n[a],n))}),n});function kw(n){var i=n==null?0:n.length,a=Oe();return n=i?pt(n,function(f){if(typeof f[1]!="function")throw new gn(u);return[a(f[0]),f[1]]}):[],Fe(function(f){for(var v=-1;++vR)return[];var a=se,f=It(n,se);i=Oe(i),n-=se;for(var v=rl(f,i);++a0||i<0)?new je(a):(n<0?a=a.takeRight(-n):n&&(a=a.drop(n)),i!==r&&(i=Ne(i),a=i<0?a.dropRight(-i):a.take(i-n)),a)},je.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},je.prototype.toArray=function(){return this.take(se)},Tn(je.prototype,function(n,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),f=/^(?:head|last)$/.test(i),v=_[f?"take"+(i=="last"?"Right":""):i],x=f||/^find/.test(i);v&&(_.prototype[i]=function(){var M=this.__wrapped__,D=f?[1]:arguments,K=M instanceof je,re=D[0],ie=K||Be(M),le=function(Ue){var ze=v.apply(_,ur([Ue],D));return f&&_e?ze[0]:ze};ie&&a&&typeof re=="function"&&re.length!=1&&(K=ie=!1);var _e=this.__chain__,Pe=!!this.__actions__.length,Te=x&&!_e,We=K&&!Pe;if(!x&&ie){M=We?M:new je(this);var Me=n.apply(M,D);return Me.__actions__.push({func:Co,args:[le],thisArg:r}),new mn(Me,_e)}return Te&&We?n.apply(this,D):(Me=this.thru(le),Te?f?Me.value()[0]:Me.value():Me)})}),pn(["pop","push","shift","sort","splice","unshift"],function(n){var i=Ys[n],a=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",f=/^(?:pop|shift)$/.test(n);_.prototype[n]=function(){var v=arguments;if(f&&!this.__chain__){var x=this.value();return i.apply(Be(x)?x:[],v)}return this[a](function(M){return i.apply(Be(M)?M:[],v)})}}),Tn(je.prototype,function(n,i){var a=_[i];if(a){var f=a.name+"";et.call(vi,f)||(vi[f]=[]),vi[f].push({name:i,func:a})}}),vi[yo(r,k).name]=[{name:"wrapper",func:r}],je.prototype.clone=Py,je.prototype.reverse=Cy,je.prototype.value=Ey,_.prototype.at=t0,_.prototype.chain=n0,_.prototype.commit=r0,_.prototype.next=i0,_.prototype.plant=o0,_.prototype.reverse=a0,_.prototype.toJSON=_.prototype.valueOf=_.prototype.value=l0,_.prototype.first=_.prototype.head,ji&&(_.prototype[ji]=s0),_},pi=ry();Dr?((Dr.exports=pi)._=pi,Ga._=pi):Rt._=pi}).call(fs)})(MC,ha);const IC={class:"flex flex-col"},LC=dt({__name:"InputWithAutoComplete",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},suggest:{type:Function,required:!0},clickSuggest:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{emit:t}){const r=e,s=$e(-1),o=g=>g.key==="ArrowDown"?(s.value++,s.value>=d.value.length&&(s.value=-1),!0):g.key==="ArrowUp"?(s.value===-1&&(s.value=d.value.length),s.value--,s.value<0&&(s.value=-1),!0):g.key==="Enter"&&(console.log(s.value),s.value>=0)?(r.clickSuggest(d.value[s.value]),s.value=-1,d.value=[],!0):!1;document.addEventListener("click",g=>{var P;(P=u.value)!=null&&P.contains(g.target)||(d.value=[],s.value=-1)});const l=$e(r.modelValue);ft(()=>r.modelValue,g=>{l.value=g});const u=$e(null),c=Ye(()=>{var g,P;return{top:u.value.offsetTop+u.value.offsetHeight+"px",left:((g=u.value)==null?void 0:g.offsetLeft)+"px",width:((P=u.value)==null?void 0:P.offsetWidth)+"px"}}),d=$e([]),h=ha.debounce(async()=>{d.value=(await r.suggest(l.value)).slice(0,5)},300),p=()=>{t("update:modelValue",l.value),t("change",l.value),h()},m=g=>{t("submit",g),d.value=[]};return(g,P)=>(pe(),ke(rt,null,[fe("div",{ref_key:"inputElement",ref:u},[ge(TC,{modelValue:l.value,"onUpdate:modelValue":P[0]||(P[0]=E=>l.value=E),class:"md:!w-96",icon:e.icon,placeholder:e.placeholder,onSubmit:m,onChange:p,onKeyUp:o,expanded:d.value.length>0},null,8,["modelValue","icon","placeholder","expanded"])],512),d.value.length>0?(pe(),at(lc,{key:0,to:"#autocomplete-target"},[fe("div",{class:"suggestions absolute w-full z-10",style:Lr(Q(c)),onClick:P[1]||(P[1]=Ds(E=>d.value=[],["stop"]))},[fe("div",IC,[(pe(!0),ke(rt,null,Bi(d.value,(E,B)=>na(g.$slots,"default",{selected:B===s.value,value:E},void 0,!0)),256))])],4)])):it("",!0)],64))}});const $C=xt(LC,[["__scopeId","data-v-a7f85506"]]),BC={class:"header grid grid-cols-3 justify-between drop-shadow-md"},DC={class:"search flex flex-row"},NC=["onClick"],WC={class:"flex flex-col overflow-hidden"},FC={class:"mr-2 flex flex-row gap-2"},VC=dt({__name:"Header",setup(e){const t=$e(null),r=$e(!1),s=Ye(()=>{if(!t.value)return{};const h=`calc(${t.value.offsetTop}px + 10px)`,p=`calc(${t.value.offsetLeft}px + 10px)`;return{top:h,left:p}});hc().onDownload.push(h=>{r.value=!0,setTimeout(()=>{r.value=!1},500)});const l=h=>{_s.push(h.href)},u=async h=>h.length?(await(await fetch("/api/search",{method:"POST",body:JSON.stringify({query:h,scope:["local"]})})).json()).tracks:[];let c=$e("");Ut(()=>{c.value=_s.currentRoute.value.params.query||"",_s.afterEach(h=>{c.value=h.params.query||"",console.log(c.value)})});let d=()=>{_s.push({name:"Search",params:{query:c.value}})};return(h,p)=>(pe(),ke("div",BC,[ge(Q(AP),{class:"hideIfMobile logo",onClick:p[0]||(p[0]=m=>h.$router.push("/"))}),fe("div",DC,[ge(kn,{class:"sm:ml-0 mr-2",href:"/",icon:"home",minimised:"",name:"Home"}),ge($C,{modelValue:Q(c),"onUpdate:modelValue":p[1]||(p[1]=m=>vt(c)?c.value=m:c=m),class:"md:!w-96",icon:"search",placeholder:"Search...",onSubmit:Q(d),clickSuggest:l,suggest:u},{default:$t(({value:m,selected:g})=>[fe("div",{class:st(["suggestion",{selected:g}]),onClick:P=>l(m)},[ge(ks,{src:m.cover},null,8,["src"]),fe("div",WC,[ge(tr,{text:m.title},null,8,["text"]),ge(tr,{class:"text-sm text-muted",text:m.artist},null,8,["text"])])],10,NC)]),_:1},8,["modelValue","onSubmit"])]),fe("div",FC,[fe("div",{class:"download",ref_key:"downloadIcon",ref:t},[ge(kn,{href:"/download",icon:"download",minimised:"",name:"Download"}),(pe(),at(lc,{to:"#popup-target"},[r.value?(pe(),ke("span",{key:0,class:"download-anim absolute top-0 left-0 z-[1000] material-symbols-rounded",style:Lr(Q(s))},"download",4)):it("",!0)]))],512),ge(kn,{href:"/preferences",icon:"settings",minimised:"",name:"Preferences"})])]))}});const HC=xt(VC,[["__scopeId","data-v-b76d387a"]]);const UC={name:"Loader"},qC=e=>(Oa("data-v-a8d83b29"),e=e(),Ra(),e),jC={class:"loader"},KC=qC(()=>fe("div",{class:"spinner"},[fe("div",{class:"bounce1"}),fe("div",{class:"bounce2"}),fe("div",{class:"bounce3"})],-1)),zC=[KC];function ZC(e,t,r,s,o,l){return pe(),ke("div",jC,zC)}const GC=xt(UC,[["render",ZC],["__scopeId","data-v-a8d83b29"]]),YC={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},JC=fe("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),XC=[JC];function QC(e,t){return pe(),ke("svg",YC,XC)}const eE={render:QC};const tE={class:"startup"},nE={class:"wrap"},rE={class:"logo"},iE={__name:"Startup",setup(e){return Ut(()=>{am.clear()}),(t,r)=>(pe(),ke("div",tE,[fe("div",nE,[fe("div",rE,[ge(Q(eE))]),ge(Q(GC))])]))}},sE=xt(iE,[["__scopeId","data-v-24a52185"]]),oE=dt({__name:"Card",props:{withHover:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){return(t,r)=>(pe(),ke("div",{class:st([{withHover:e.withHover,disabled:e.disabled},"card"])},[na(t.$slots,"default",{},void 0,!0)],2))}});const Cm=xt(oE,[["__scopeId","data-v-04b9eb92"]]),aE={class:"message"},lE={key:0,class:"details"},uE=dt({__name:"ClosableNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=s=>{t("remove",s)};return(s,o)=>(pe(),at(Cm,{class:st([e.notification.type,"notification"])},{default:$t(()=>[fe("div",aE,[fe("h4",null,nt(e.notification.message),1),e.notification.details?(pe(),ke("span",lE,nt(e.notification.details),1)):it("",!0)]),fe("span",{class:"material-symbols-rounded close",onClick:o[0]||(o[0]=l=>r(e.notification.id))}," close ")]),_:1},8,["class"]))}});const cE=xt(uE,[["__scopeId","data-v-49e9d059"]]),Em=e=>(Oa("data-v-4dd7578e"),e=e(),Ra(),e),fE={class:"message"},dE={key:0,class:"details"},hE=Em(()=>fe("span",{class:"material-symbols-rounded"}," check ",-1)),pE=[hE],gE=Em(()=>fe("span",{class:"material-symbols-rounded"}," close ",-1)),mE=[gE],vE=dt({__name:"YesNoNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=e,s=()=>{t("remove",r.notification.id),r.notification.onNo&&r.notification.onNo()},o=()=>{t("remove",r.notification.id),r.notification.onYes&&r.notification.onYes()};return(l,u)=>(pe(),at(Cm,{class:"notification"},{default:$t(()=>[fe("div",fE,[fe("h4",null,nt(e.notification.message),1),e.notification.details?(pe(),ke("span",dE,nt(e.notification.details),1)):it("",!0)]),fe("div",{class:"yes-no"},[fe("div",{class:"yes option",onClick:o},pE),fe("div",{class:"no option",onClick:s},mE)])]),_:1}))}});const yE=xt(vE,[["__scopeId","data-v-4dd7578e"]]),_E={class:"notifications"},bE=dt({__name:"NotificationHandler",setup(e){const t=["success","error","info","warning"],r=$e([]),s=u=>{r.value.push(u),u.timeout&&setTimeout(()=>{var c;(c=u.onTimeout)==null||c.call(u),o(u.id)},u.timeout)},o=u=>{r.value=r.value.filter(c=>c.id!=u)},l=()=>{r.value=[]};return window.addEventListener("notification.add",u=>{const c=u.detail;s(c)}),window.addEventListener("notification.remove",u=>{const c=u.detail;o(c)}),window.addEventListener("notification.clear",()=>{l()}),(u,c)=>(pe(),ke("div",_E,[(pe(!0),ke(rt,null,Bi(r.value,d=>(pe(),ke(rt,{key:d.id},[t.includes(d.type)?(pe(),at(cE,{key:0,notification:d,onRemove:o},null,8,["notification"])):d.type=="yes-no"?(pe(),at(yE,{key:1,notification:d,onRemove:o},null,8,["notification"])):it("",!0)],64))),128))]))}});const wE=xt(bE,[["__scopeId","data-v-ca1aa49b"]]);const AE=["src"],xE={id:"appRoot",class:"appRoot"},PE={class:"interface"},CE=fe("div",{id:"popup-target"},null,-1),EE=fe("div",{id:"dropdown-target"},null,-1),kE=fe("div",{id:"autocomplete-target"},null,-1),SE={name:"App",components:{Sidebar:fm,Body:dm,Player:pm},async mounted(){const e=oi();window.getThemes=()=>{window.themes=[];for(const t of Object.keys(Jr))for(const r of Object.keys(Jr[t]))window.themes.includes(r)||window.themes.push(r);return window.themes},window.getCurrentTheme=()=>e.theme,window.setTheme=t=>{if(window.getThemes().includes(t)){e.theme=t;for(const r of Object.keys(Jr)){const s=Jr[r];if(r=="coverAsBackground"){this.coverAsBackground=Boolean(s[t]);continue}document.documentElement.style.setProperty(`--${r}`,s[t]??s.dark)}}},window.setTheme(e.theme||"dynamic"),window.getCurrentThemeProperty=t=>{const r=Jr[t];return r[e.theme]??r.dark},d3(),om(),await h3()&&this.$router.push("/welcome"),await p3()},data(){return{maximised:!1,coverAsBackground:!1}},watch:{$route(e){document.title=e.meta.title||"reAudioPlayer One"}}},OE=Object.assign(SE,{setup(e){hm();const t=Qt(),r=$e(null);ft(()=>t.song.cover,()=>{s()});const s=async()=>{r.value=await fa(t.song.cover,"graphic_eq")};return s(),(o,l)=>(pe(),ke(rt,null,[fe("div",{class:st([{hidden:!o.coverAsBackground},"bgImageWrapper"])},[fe("div",{style:Lr({backgroundImage:`url(${r.value})`}),class:"bgImage"},[fe("img",{src:r.value,class:"hidden",onError:l[0]||(l[0]=u=>o.src=null)},null,40,AE)],4)],2),fe("div",xE,[Q(t).ready?(pe(),ke(rt,{key:0},[ge(HC),fe("div",PE,[o.maximised?it("",!0):(pe(),at(fm,{key:0})),ge(dm,{onMaximise:l[1]||(l[1]=u=>o.maximised=u)})]),ge(pm),o.maximised?it("",!0):(pe(),at(vP,{key:0}))],64)):(pe(),at(sE,{key:1}))]),CE,EE,kE,ge(wE)],64))}});function Jo(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Jo=function(t){return typeof t}:Jo=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jo(e)}function RE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pp(e,t){for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:{},s,o,l,u=function(d){for(var h=arguments.length,p=new Array(h>1?h-1:0),m=1;m1){var h=c.find(function(m){return m.isIntersecting});h&&(d=h)}if(o.callback){var p=d.isIntersecting&&d.intersectionRatio>=o.threshold;if(p===o.oldResult)return;o.oldResult=p,o.callback(p,d)}},this.options.intersection),s.context.$nextTick(function(){o.observer&&o.observer.observe(o.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Sm(e,t,r){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new DE(e,s,r);e._vue_visibilityState=o}}function NE(e,t,r){var s=t.value,o=t.oldValue;if(!km(s,o)){var l=e._vue_visibilityState;if(!s){Om(e);return}l?l.createObserver(s,r):Sm(e,{value:s},r)}}function Om(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Xo={bind:Sm,update:NE,unbind:Om};function WE(e){e.directive("observe-visibility",Xo)}var FE={version:"1.0.0",install:WE},pa=null;typeof window<"u"?pa=window.Vue:typeof global<"u"&&(pa=global.Vue);pa&&pa.use(FE);var Rm=function(t,r){var s,o=r.arg;if(!o){console.error("参数有误");return}var l=r.value,u=vt(o)?o.value:(s=r.instance)===null||s===void 0?void 0:s.$refs[o];if(!u){console.error("没有找到 ".concat(o," 对应的实例"));return}if(typeof u.addReference!="function"){console.error("".concat(o," 对应的实例不是 VContextmenu"));return}t.$contextmenuKey=o,u.addReference(t,l)},Tm=function(t,r){var s,o=t.$contextmenuKey;if(o){var l=(s=r.instance)===null||s===void 0?void 0:s.$refs[o];l==null||l.removeReference(t)}},VE=function(t,r){Tm(t,r),Rm(t,r)},HE={mounted:Rm,updated:VE,beforeUnmount:Tm},mt={contextmenu:"v-contextmenu",contextmenuIcon:"v-contextmenu-icon",contextmenuInner:"v-contextmenu-inner",contextmenuDivider:"v-contextmenu-divider",contextmenuItem:"v-contextmenu-item",contextmenuItemHover:"v-contextmenu-item--hover",contextmenuItemDisabled:"v-contextmenu-item--disabled",contextmenuGroup:"v-contextmenu-group",contextmenuGroupTitle:"v-contextmenu-group__title",contextmenuGroupMenus:"v-contextmenu-group__menus",contextmenuSubmenu:"v-contextmenu-submenu",contextmenuSubmenuTitle:"v-contextmenu-submenu__title",contextmenuSubmenuMenus:"v-contextmenu-submenu__menus",contextmenuSubmenuMenusTop:"v-contextmenu-submenu__menus--top",contextmenuSubmenuMenusRight:"v-contextmenu-submenu__menus--right",contextmenuSubmenuMenusBottom:"v-contextmenu-submenu__menus--bottom",contextmenuSubmenuMenusLeft:"v-contextmenu-submenu__menus--left",contextmenuSubmenuArrow:"v-contextmenu-submenu__arrow"};function UE(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Rr(e)}var qE={trigger:["contextmenu"]},mp=dt({name:"VContextmenu",props:{modelValue:{type:Boolean,default:!1},autoAjustPlacement:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},teleport:{type:[String,Object],default:function(){return"body"}}},emits:["show","hide","update:modelValue"],setup:function(t,r){var s=r.emit,o=$e(null),l=$e(t.modelValue||!1),u=function(O){l.value=O,s("update:modelValue",O)},c=$e({top:0,left:0}),d=Ye(function(){return{top:"".concat(c.value.top,"px"),left:"".concat(c.value.left,"px")}}),h=$e(null),p=function(O,W){var U=O instanceof Event?W:O,z=(U==null?void 0:U.autoAjustPlacement)||t.autoAjustPlacement,H={top:(U==null?void 0:U.top)||0,left:(U==null?void 0:U.left)||0};if(O instanceof Event){var I,j;O.preventDefault(),H.top=(I=U==null?void 0:U.top)!==null&&I!==void 0?I:O.pageY,H.left=(j=U==null?void 0:U.left)!==null&&j!==void 0?j:O.pageX}u(!0),$r(function(){if(z){var Z=o.value;if(!Z)return;var V=Z.clientWidth,w=Z.clientHeight;if(w+H.top>=window.innerHeight+window.scrollY){var T=H.top-w;T>window.scrollY&&(H.top=T)}if(V+H.left>=window.innerWidth+window.scrollX){var L=H.left-V;L>window.scrollX&&(H.left=L)}}c.value=H,s("show")})},m=function(){h.value=null,u(!1),s("hide")},g=si(new Map),P=$e(),E=Ye(function(){return P.value&&g.get(P.value)}),B=function(O,W){var U=function(){return W!=null&&W.trigger?Array.isArray(W.trigger)?W.trigger:[W.trigger]:qE.trigger}(),z=function(I){t.disabled||(P.value=O,p(I,{}))};U.forEach(function(H){O.addEventListener(H,z)}),g.set(O,{triggers:U,handler:z})},$=function(O){var W=g.get(O);W&&(W.triggers.forEach(function(U){O.removeEventListener(U,W.handler)}),g.delete(O))},k=function(O){if(!(!O.target||!o.value||!P.value)){var W=o.value.contains(O.target)||E.value&&E.value.triggers.includes("click")&&P.value.contains(O.target);W||u(!1)}};return ft(l,function(y){y?document.addEventListener("click",k):document.removeEventListener("click",k)}),Ma(function(){document.removeEventListener("click",k)}),Cr("visible",l),Cr("autoAjustPlacement",t.autoAjustPlacement),Cr("show",p),Cr("hide",m),{visible:l,style:d,currentReferenceOptions:E,currentOptions:h,contextmenuRef:o,addReference:B,removeReference:$,toggle:u,show:p,hide:m}},methods:{renderContent:function(){var t,r;return ta(ge("div",{class:mt.contextmenu,ref:"contextmenuRef",style:this.style},[ge("ul",{class:mt.contextmenuInner},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r,{triggerOptions:"currentReferenceOptions",options:"currentOptions"})])]),[[ca,"visible"]])}},render:function(){var t;return this.visible?this.teleport?ge(lc,{to:this.teleport},UE(t=this.renderContent())?t:{default:function(){return[t]}}):this.renderContent():null}});function ln(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var vp=dt({name:"VContextmenuItem",props:{disabled:{type:Boolean,default:!1},hideOnClick:{type:Boolean,default:!0}},emits:["click","mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=Xt("hide"),l=$e(!1),u=Ye(function(){var p;return p={},ln(p,mt.contextmenuItem,!0),ln(p,mt.contextmenuItemDisabled,t.disabled),ln(p,mt.contextmenuItemHover,l.value),p}),c=function(m){t.disabled||(s("click",m),t.hideOnClick&&(o==null||o()))},d=function(m){t.disabled||(l.value=!0,s("mouseenter",m))},h=function(m){t.disabled||(l.value=!1,s("mouseleave",m))};return{classes:u,handleClick:c,handleMouseenter:d,handleMouseleave:h}},render:function(){var t,r;return ge("li",{class:this.classes,onClick:this.handleClick,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])}}),yp=dt({name:"VContextmenuDivider",render:function(){return ge("li",{class:mt.contextmenuDivider},null)}}),jE=dt({name:"VContextmenuIcon",props:{name:{type:String,required:!0}},render:function(){return ge("i",{class:[mt.contextmenuIcon,"".concat(mt.contextmenuIcon,"-").concat(this.name)]},null)}}),_p=dt({name:"VContextmenuSubmenu",props:{title:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=$e(null),l=Xt("autoAjustPlacement"),u=$e(["top","right"]),c=$e(!1),d=function(P){t.disabled||(c.value=!0,s("mouseenter",P),$r(function(){var E=[];if(l){var B=P.target,$=B.getBoundingClientRect();if(!o.value)return;var k=o.value.clientWidth,y=o.value.clientHeight;$.right+k>=window.innerWidth?E.push("left"):E.push("right"),$.bottom+y>=window.innerHeight?E.push("bottom"):E.push("top")}u.value=E}))},h=function(P){t.disabled||(c.value=!1,s("mouseleave",P))},p=Ye(function(){var g;return g={},ln(g,mt.contextmenuItem,!0),ln(g,mt.contextmenuSubmenuTitle,!0),ln(g,mt.contextmenuItemHover,c.value),ln(g,mt.contextmenuItemDisabled,t.disabled),g}),m=Ye(function(){var g;return g={},ln(g,mt.contextmenu,!0),ln(g,mt.contextmenuSubmenuMenus,!0),ln(g,mt.contextmenuSubmenuMenusTop,u.value.includes("top")),ln(g,mt.contextmenuSubmenuMenusRight,u.value.includes("right")),ln(g,mt.contextmenuSubmenuMenusBottom,u.value.includes("bottom")),ln(g,mt.contextmenuSubmenuMenusLeft,u.value.includes("left")),g});return{hover:c,submenuRef:o,titleClasses:p,menusClasses:m,handleMouseenter:d,handleMouseleave:h}},render:function(){var t,r,s,o;return ge("li",{class:mt.contextmenuSubmenu,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[ge("div",{class:this.titleClasses},[((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title,ge("span",{class:mt.contextmenuSubmenuArrow},[ge(jE,{name:"right-arrow"},null)])]),this.hover?ge("div",{ref:"submenuRef",class:this.menusClasses},[ge("ul",{class:mt.contextmenuInner},[(s=(o=this.$slots).default)===null||s===void 0?void 0:s.call(o)])]):null])}}),bp=dt({name:"VContextmenuGroup",props:{title:{type:String,default:void 0},maxWidth:{type:[Number,String],default:void 0}},setup:function(t){var r=Ye(function(){if(t.maxWidth)return{"max-width":typeof t.maxWidth=="number"?"".concat(t.maxWidth,"px"):t.maxWidth,"overflow-x":"auto"}});return{style:r}},methods:{renderTitle:function(){var t,r,s=((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title;return s?ge("div",{class:mt.contextmenuGroupTitle},[s]):null}},render:function(){var t,r;return ge("li",{class:mt.contextmenuGroup},[this.renderTitle(),ge("ul",{style:this.style,class:mt.contextmenuGroupMenus},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])])}}),KE="3.0.0",zE=function(t){t.directive("contextmenu",HE),t.component(mp.name,mp),t.component(vp.name,vp),t.component(yp.name,yp),t.component(_p.name,_p),t.component(bp.name,bp)},ZE={install:zE,version:KE};const Va=C4(OE);Va.directive("observe-visibility",{beforeMount:(e,t,r)=>{r.context=t.instance,Xo.bind(e,t,r)},updated:Xo.update,unmounted:Xo.unbind});Va.use(ZE);Va.use(_s);Va.use(O4()).mount("#app");export{xk as $,Ye as A,Qt as B,Cm as C,og as D,qt as E,rt as F,Ap as G,rk as H,Bs as I,Ig as J,ak as K,GC as L,tr as M,Lk as N,An as O,ir as P,Fn as Q,va as R,Ti as S,lc as T,Yu as U,dc as V,or as W,Rk as X,C4 as Y,f5 as Z,xt as _,fe as a,CA as a$,c5 as a0,Bk as a1,ck as a2,hk as a3,ek as a4,ok as a5,o4 as a6,vk as a7,yk as a8,mk as a9,st as aA,tk as aB,FA as aC,UA as aD,Ma as aE,qA as aF,VA as aG,ZA as aH,Ut as aI,zA as aJ,KA as aK,A2 as aL,jA as aM,nc as aN,tc as aO,Cr as aP,Fp as aQ,Qp as aR,si as aS,Dp as aT,pk as aU,Lh as aV,uk as aW,lk as aX,Ok as aY,$s as aZ,ph as a_,Tk as aa,ss as ab,YE as ac,xp as ad,Br as ae,w2 as af,ec as ag,v5 as ah,cc as ai,Ui as aj,P4 as ak,Ek as al,Dk as am,Xt as an,k5 as ao,Np as ap,kr as aq,Ii as ar,vt as as,gk as at,Qo as au,Rr as av,Li as aw,Ak as ax,y5 as ay,$r as az,Vs as b,jk as b$,$i as b0,G2 as b1,XE as b2,Y2 as b3,E5 as b4,Sk as b5,JE as b6,Ko as b7,fk as b8,Ze as b9,kk as bA,Ds as bB,nk as bC,l6 as bD,fs as bE,Ax as bF,Vk as bG,z4 as bH,e6 as bI,f6 as bJ,Qk as bK,J4 as bL,am as bM,Zk as bN,Cx as bO,TC as bP,lu as bQ,rm as bR,Nk as bS,zk as bT,Ix as bU,r6 as bV,o3 as bW,i6 as bX,Uk as bY,Fk as bZ,Hk as b_,nA as ba,eA as bb,dk as bc,QE as bd,wk as be,Mk as bf,Ik as bg,Ck as bh,bk as bi,sg as bj,Fg as bk,y4 as bl,Vg as bm,v4 as bn,ua as bo,ca as bp,S5 as bq,mA as br,ft as bs,ik as bt,BA as bu,sk as bv,Pk as bw,_k as bx,ta as by,$k as bz,ke as c,n6 as c0,qk as c1,o6 as c2,oi as c3,a6 as c4,nm as c5,Yk as c6,Xk as c7,Qg as c8,hc as c9,Kk as ca,s6 as cb,h3 as cc,Uh as cd,t6 as ce,Jk as cf,u6 as cg,Wk as ch,it as d,ti as e,at as f,ge as g,ks as h,Bi as i,Fi as j,Q4 as k,Oa as l,Ra as m,dt as n,pe as o,Go as p,$e as q,na as r,c6 as s,nt as t,Q as u,p3 as v,$t as w,Gk as x,Lr as y,Hh as z}; diff --git a/src/ui/dist/assets/index-e23b36b9.js.gz b/src/ui/dist/assets/index-e23b36b9.js.gz deleted file mode 100644 index 147613242..000000000 Binary files a/src/ui/dist/assets/index-e23b36b9.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-ea9d5540.css.gz b/src/ui/dist/assets/index-ea9d5540.css.gz deleted file mode 100644 index 9e6295653..000000000 Binary files a/src/ui/dist/assets/index-ea9d5540.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-fe2c9584.js b/src/ui/dist/assets/index-fe2c9584.js new file mode 100644 index 000000000..4fff57e82 --- /dev/null +++ b/src/ui/dist/assets/index-fe2c9584.js @@ -0,0 +1,45 @@ +var d2=Object.defineProperty;var h2=(e,t,r)=>t in e?d2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Pi=(e,t,r)=>(h2(e,typeof t!="symbol"?t+"":t,r),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerpolicy&&(l.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?l.credentials="include":o.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();function p2(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const g2=()=>{},Fu=Object.assign,m2=Object.prototype.hasOwnProperty,pa=(e,t)=>m2.call(e,t),rr=Array.isArray,jo=e=>Ap(e)==="[object Map]",v2=e=>typeof e=="function",y2=e=>typeof e=="string",Vu=e=>typeof e=="symbol",ga=e=>e!==null&&typeof e=="object",_2=Object.prototype.toString,Ap=e=>_2.call(e),b2=e=>Ap(e).slice(8,-1),Hu=e=>y2(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Uu=(e,t)=>!Object.is(e,t),w2=(e,t,r)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})};let un;class Pp{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&un&&(this.parent=un,this.index=(un.scopes||(un.scopes=[])).push(this)-1)}run(t){if(this.active){const r=un;try{return un=this,t()}finally{un=r}}}on(){un=this}off(){un=this.parent}stop(t){if(this.active){let r,s;for(r=0,s=this.effects.length;r{const t=new Set(e);return t.w=0,t.n=0,t},Ep=e=>(e.w&Or)>0,kp=e=>(e.n&Or)>0,x2=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let s=0;s{(h==="length"||h>=s)&&c.push(d)});else switch(r!==void 0&&c.push(u.get(r)),t){case"add":rr(e)?Hu(r)&&c.push(u.get("length")):(c.push(u.get(Xr)),jo(e)&&c.push(u.get(gu)));break;case"delete":rr(e)||(c.push(u.get(Xr)),jo(e)&&c.push(u.get(gu)));break;case"set":jo(e)&&c.push(u.get(Xr));break}if(c.length===1)c[0]&&mu(c[0]);else{const d=[];for(const h of c)h&&d.push(...h);mu(ju(d))}}function mu(e,t){const r=rr(e)?e:[...e];for(const s of r)s.computed&&Gd(s);for(const s of r)s.computed||Gd(s)}function Gd(e,t){(e!==Sn||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const E2=p2("__proto__,__v_isRef,__isVue"),Rp=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vu)),k2=va(),S2=va(!1,!0),O2=va(!0),R2=va(!0,!0),Yd=T2();function T2(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const s=Ze(this);for(let l=0,u=this.length;l{e[t]=function(...r){ni();const s=Ze(this)[t].apply(this,r);return ri(),s}}),e}function va(e=!1,t=!1){return function(s,o,l){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&l===(e?t?Dp:Bp:t?$p:Lp).get(s))return s;const u=rr(s);if(!e&&u&&pa(Yd,o))return Reflect.get(Yd,o,l);const c=Reflect.get(s,o,l);return(Vu(o)?Rp.has(o):E2(o))||(e||fn(s,"get",o),t)?c:vt(c)?u&&Hu(o)?c:c.value:ga(c)?e?Np(c):ii(c):c}}const M2=Tp(),I2=Tp(!0);function Tp(e=!1){return function(r,s,o,l){let u=r[s];if(Mi(u)&&vt(u)&&!vt(o))return!1;if(!e&&(!Xo(o)&&!Mi(o)&&(u=Ze(u),o=Ze(o)),!rr(r)&&vt(u)&&!vt(o)))return u.value=o,!0;const c=rr(r)&&Hu(s)?Number(s)e,ya=e=>Reflect.getPrototypeOf(e);function Mo(e,t,r=!1,s=!1){e=e.__v_raw;const o=Ze(e),l=Ze(t);r||(t!==l&&fn(o,"get",t),fn(o,"get",l));const{has:u}=ya(o),c=s?qu:r?Ku:Os;if(u.call(o,t))return c(e.get(t));if(u.call(o,l))return c(e.get(l));e!==o&&e.get(t)}function Io(e,t=!1){const r=this.__v_raw,s=Ze(r),o=Ze(e);return t||(e!==o&&fn(s,"has",e),fn(s,"has",o)),e===o?r.has(e):r.has(e)||r.has(o)}function Lo(e,t=!1){return e=e.__v_raw,!t&&fn(Ze(e),"iterate",Xr),Reflect.get(e,"size",e)}function Jd(e){e=Ze(e);const t=Ze(this);return ya(t).has.call(t,e)||(t.add(e),sr(t,"add",e,e)),this}function Xd(e,t){t=Ze(t);const r=Ze(this),{has:s,get:o}=ya(r);let l=s.call(r,e);l||(e=Ze(e),l=s.call(r,e));const u=o.call(r,e);return r.set(e,t),l?Uu(t,u)&&sr(r,"set",e,t):sr(r,"add",e,t),this}function Qd(e){const t=Ze(this),{has:r,get:s}=ya(t);let o=r.call(t,e);o||(e=Ze(e),o=r.call(t,e)),s&&s.call(t,e);const l=t.delete(e);return o&&sr(t,"delete",e,void 0),l}function eh(){const e=Ze(this),t=e.size!==0,r=e.clear();return t&&sr(e,"clear",void 0,void 0),r}function $o(e,t){return function(s,o){const l=this,u=l.__v_raw,c=Ze(u),d=t?qu:e?Ku:Os;return!e&&fn(c,"iterate",Xr),u.forEach((h,g)=>s.call(o,d(h),d(g),l))}}function Bo(e,t,r){return function(...s){const o=this.__v_raw,l=Ze(o),u=jo(l),c=e==="entries"||e===Symbol.iterator&&u,d=e==="keys"&&u,h=o[e](...s),g=r?qu:t?Ku:Os;return!t&&fn(l,"iterate",d?gu:Xr),{next(){const{value:m,done:p}=h.next();return p?{value:m,done:p}:{value:c?[g(m[0]),g(m[1])]:g(m),done:p}},[Symbol.iterator](){return this}}}}function vr(e){return function(...t){return e==="delete"?!1:this}}function W2(){const e={get(l){return Mo(this,l)},get size(){return Lo(this)},has:Io,add:Jd,set:Xd,delete:Qd,clear:eh,forEach:$o(!1,!1)},t={get(l){return Mo(this,l,!1,!0)},get size(){return Lo(this)},has:Io,add:Jd,set:Xd,delete:Qd,clear:eh,forEach:$o(!1,!0)},r={get(l){return Mo(this,l,!0)},get size(){return Lo(this,!0)},has(l){return Io.call(this,l,!0)},add:vr("add"),set:vr("set"),delete:vr("delete"),clear:vr("clear"),forEach:$o(!0,!1)},s={get(l){return Mo(this,l,!0,!0)},get size(){return Lo(this,!0)},has(l){return Io.call(this,l,!0)},add:vr("add"),set:vr("set"),delete:vr("delete"),clear:vr("clear"),forEach:$o(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Bo(l,!1,!1),r[l]=Bo(l,!0,!1),t[l]=Bo(l,!1,!0),s[l]=Bo(l,!0,!0)}),[e,r,t,s]}const[F2,V2,H2,U2]=W2();function _a(e,t){const r=t?e?U2:H2:e?V2:F2;return(s,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(pa(r,o)&&o in s?r:s,o,l)}const j2={get:_a(!1,!1)},q2={get:_a(!1,!0)},K2={get:_a(!0,!1)},z2={get:_a(!0,!0)},Lp=new WeakMap,$p=new WeakMap,Bp=new WeakMap,Dp=new WeakMap;function Z2(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function G2(e){return e.__v_skip||!Object.isExtensible(e)?0:Z2(b2(e))}function ii(e){return Mi(e)?e:ba(e,!1,Mp,j2,Lp)}function Y2(e){return ba(e,!1,D2,q2,$p)}function Np(e){return ba(e,!0,Ip,K2,Bp)}function XE(e){return ba(e,!0,N2,z2,Dp)}function ba(e,t,r,s,o){if(!ga(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const u=G2(e);if(u===0)return e;const c=new Proxy(e,u===2?s:r);return o.set(e,c),c}function kr(e){return Mi(e)?kr(e.__v_raw):!!(e&&e.__v_isReactive)}function Mi(e){return!!(e&&e.__v_isReadonly)}function Xo(e){return!!(e&&e.__v_isShallow)}function Wp(e){return kr(e)||Mi(e)}function Ze(e){const t=e&&e.__v_raw;return t?Ze(t):e}function Ii(e){return w2(e,"__v_skip",!0),e}const Os=e=>ga(e)?ii(e):e,Ku=e=>ga(e)?Np(e):e;function zu(e){Er&&Sn&&(e=Ze(e),Op(e.dep||(e.dep=ju())))}function wa(e,t){e=Ze(e),e.dep&&mu(e.dep)}function vt(e){return!!(e&&e.__v_isRef===!0)}function Le(e){return Fp(e,!1)}function J2(e){return Fp(e,!0)}function Fp(e,t){return vt(e)?e:new X2(e,t)}class X2{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:Ze(t),this._value=r?t:Os(t)}get value(){return zu(this),this._value}set value(t){const r=this.__v_isShallow||Xo(t)||Mi(t);t=r?t:Ze(t),Uu(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:Os(t),wa(this))}}function QE(e){wa(e)}function Q(e){return vt(e)?e.value:e}const Q2={get:(e,t,r)=>Q(Reflect.get(e,t,r)),set:(e,t,r,s)=>{const o=e[t];return vt(o)&&!vt(r)?(o.value=r,!0):Reflect.set(e,t,r,s)}};function Vp(e){return kr(e)?e:new Proxy(e,Q2)}class eA{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:s}=t(()=>zu(this),()=>wa(this));this._get=r,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function ek(e){return new eA(e)}function tA(e){const t=rr(e)?new Array(e.length):{};for(const r in e)t[r]=rA(e,r);return t}class nA{constructor(t,r,s){this._object=t,this._key=r,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function rA(e,t,r){const s=e[t];return vt(s)?s:new nA(e,t,r)}var Hp;class iA{constructor(t,r,s,o){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this[Hp]=!1,this._dirty=!0,this.effect=new ma(t,()=>{this._dirty||(this._dirty=!0,wa(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=Ze(this);return zu(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Hp="__v_isReadonly";function sA(e,t,r=!1){let s,o;const l=v2(e);return l?(s=e,o=g2):(s=e.get,o=e.set),new iA(s,o,l||!o,r)}function Up(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const oA="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",aA=Up(oA);function Lr(e){if(He(e)){const t={};for(let r=0;r{if(r){const s=r.split(uA);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function it(e){let t="";if(St(e))t=e;else if(He(e))for(let r=0;rSt(e)?e:e==null?"":He(e)||At(e)&&(e.toString===Zp||!De(e.toString))?JSON.stringify(e,jp,2):String(e),jp=(e,t)=>t&&t.__v_isRef?jp(e,t.value):Kp(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[s,o])=>(r[`${s} =>`]=o,r),{})}:zp(t)?{[`Set(${t.size})`]:[...t.values()]}:At(t)&&!He(t)&&!Gp(t)?String(t):t,at={},ki=[],Wn=()=>{},fA=()=>!1,dA=/^on[^a-z]/,Aa=e=>dA.test(e),qp=e=>e.startsWith("onUpdate:"),en=Object.assign,Zu=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},hA=Object.prototype.hasOwnProperty,Qe=(e,t)=>hA.call(e,t),He=Array.isArray,Kp=e=>Yu(e)==="[object Map]",zp=e=>Yu(e)==="[object Set]",De=e=>typeof e=="function",St=e=>typeof e=="string",At=e=>e!==null&&typeof e=="object",Gu=e=>At(e)&&De(e.then)&&De(e.catch),Zp=Object.prototype.toString,Yu=e=>Zp.call(e),Gp=e=>Yu(e)==="[object Object]",_s=Up(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Pa=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},pA=/-(\w)/g,Fn=Pa(e=>e.replace(pA,(t,r)=>r?r.toUpperCase():"")),gA=/\B([A-Z])/g,xa=Pa(e=>e.replace(gA,"-$1").toLowerCase()),Ju=Pa(e=>e.charAt(0).toUpperCase()+e.slice(1)),qo=Pa(e=>e?`on${Ju(e)}`:""),vu=(e,t)=>!Object.is(e,t),bs=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},Yp=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let th;const mA=()=>th||(th=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),ws=[];function vA(e,...t){ni();const r=ws.length?ws[ws.length-1].component:null,s=r&&r.appContext.config.warnHandler,o=yA();if(s)ir(s,r,11,[e+t.join(""),r&&r.proxy,o.map(({vnode:l})=>`at <${Sg(r,l.type)}>`).join(` +`),o]);else{const l=[`[Vue warn]: ${e}`,...t];o.length&&l.push(` +`,..._A(o)),console.warn(...l)}ri()}function yA(){let e=ws[ws.length-1];if(!e)return[];const t=[];for(;e;){const r=t[0];r&&r.vnode===e?r.recurseCount++:t.push({vnode:e,recurseCount:0});const s=e.component&&e.component.parent;e=s&&s.vnode}return t}function _A(e){const t=[];return e.forEach((r,s)=>{t.push(...s===0?[]:[` +`],...bA(r))}),t}function bA({vnode:e,recurseCount:t}){const r=t>0?`... (${t} recursive calls)`:"",s=e.component?e.component.parent==null:!1,o=` at <${Sg(e.component,e.type,s)}`,l=">"+r;return e.props?[o,...wA(e.props),l]:[o+l]}function wA(e){const t=[],r=Object.keys(e);return r.slice(0,3).forEach(s=>{t.push(...Jp(s,e[s]))}),r.length>3&&t.push(" ..."),t}function Jp(e,t,r){return St(t)?(t=JSON.stringify(t),r?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?r?t:[`${e}=${t}`]:vt(t)?(t=Jp(e,Ze(t.value),!0),r?t:[`${e}=Ref<`,t,">"]):De(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ze(t),r?t:[`${e}=`,t])}function ir(e,t,r,s){let o;try{o=s?e(...s):e()}catch(l){Hi(l,t,r)}return o}function An(e,t,r,s){if(De(e)){const l=ir(e,t,r,s);return l&&Gu(l)&&l.catch(u=>{Hi(u,t,r)}),l}const o=[];for(let l=0;l>>1;Ts($t[s])Bn&&$t.splice(t,1)}function eg(e){He(e)?Si.push(...e):(!er||!er.includes(e,e.allowRecurse?Gr+1:Gr))&&Si.push(e),Qp()}function nh(e,t=Rs?Bn+1:0){for(;t<$t.length;t++){const r=$t[t];r&&r.pre&&($t.splice(t,1),t--,r())}}function Qo(e){if(Si.length){const t=[...new Set(Si)];if(Si.length=0,er){er.push(...t);return}for(er=t,er.sort((r,s)=>Ts(r)-Ts(s)),Gr=0;Gre.id==null?1/0:e.id,CA=(e,t)=>{const r=Ts(e)-Ts(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function tg(e){_u=!1,Rs=!0,$t.sort(CA);const t=Wn;try{for(Bn=0;Bn<$t.length;Bn++){const r=$t[Bn];r&&r.active!==!1&&ir(r,null,14)}}finally{Bn=0,$t.length=0,Qo(),Rs=!1,Xu=null,($t.length||Si.length)&&tg()}}let is,Do=[];function EA(e,t){var r,s;is=e,is?(is.enabled=!0,Do.forEach(({event:o,args:l})=>is.emit(o,...l)),Do=[]):typeof window<"u"&&window.HTMLElement&&!(!((s=(r=window.navigator)===null||r===void 0?void 0:r.userAgent)===null||s===void 0)&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(l=>{EA(l,t)}),setTimeout(()=>{is||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Do=[])},3e3)):Do=[]}function kA(e,t,...r){if(e.isUnmounted)return;const s=e.vnode.props||at;let o=r;const l=t.startsWith("update:"),u=l&&t.slice(7);if(u&&u in s){const g=`${u==="modelValue"?"model":u}Modifiers`,{number:m,trim:p}=s[g]||at;p&&(o=r.map(x=>x.trim())),m&&(o=r.map(Yp))}let c,d=s[c=qo(t)]||s[c=qo(Fn(t))];!d&&l&&(d=s[c=qo(xa(t))]),d&&An(d,e,6,o);const h=s[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,An(h,e,6,o)}}function ng(e,t,r=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const l=e.emits;let u={},c=!1;if(!De(e)){const d=h=>{const g=ng(h,t,!0);g&&(c=!0,en(u,g))};!r&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}return!l&&!c?(At(e)&&s.set(e,null),null):(He(l)?l.forEach(d=>u[d]=null):en(u,l),At(e)&&s.set(e,u),u)}function Ea(e,t){return!e||!Aa(t)?!1:(t=t.slice(2).replace(/Once$/,""),Qe(e,t[0].toLowerCase()+t.slice(1))||Qe(e,xa(t))||Qe(e,t))}let Bt=null,ka=null;function Ms(e){const t=Bt;return Bt=e,ka=e&&e.type.__scopeId||null,t}function Sa(e){ka=e}function Oa(){ka=null}const nk=e=>Ht;function Ht(e,t=Bt,r){if(!t||e._n)return e;const s=(...o)=>{s._d&&gh(-1);const l=Ms(t),u=e(...o);return Ms(l),s._d&&gh(1),u};return s._n=!0,s._c=!0,s._d=!0,s}function Ko(e){const{type:t,vnode:r,proxy:s,withProxy:o,props:l,propsOptions:[u],slots:c,attrs:d,emit:h,render:g,renderCache:m,data:p,setupState:x,ctx:E,inheritAttrs:B}=e;let $,k;const y=Ms(e);try{if(r.shapeFlag&4){const W=o||s;$=cn(g.call(W,W,m,l,x,p,E)),k=d}else{const W=t;$=cn(W.length>1?W(l,{attrs:d,slots:c,emit:h}):W(l,null)),k=t.props?d:OA(d)}}catch(W){Ps.length=0,Hi(W,e,1),$=ge(jt)}let O=$;if(k&&B!==!1){const W=Object.keys(k),{shapeFlag:U}=O;W.length&&U&7&&(u&&W.some(qp)&&(k=RA(k,u)),O=or(O,k))}return r.dirs&&(O=or(O),O.dirs=O.dirs?O.dirs.concat(r.dirs):r.dirs),r.transition&&(O.transition=r.transition),$=O,Ms(y),$}function SA(e){let t;for(let r=0;r{let t;for(const r in e)(r==="class"||r==="style"||Aa(r))&&((t||(t={}))[r]=e[r]);return t},RA=(e,t)=>{const r={};for(const s in e)(!qp(s)||!(s.slice(9)in t))&&(r[s]=e[s]);return r};function TA(e,t,r){const{props:s,children:o,component:l}=e,{props:u,children:c,patchFlag:d}=t,h=l.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&d>=0){if(d&1024)return!0;if(d&16)return s?rh(s,u,h):!!u;if(d&8){const g=t.dynamicProps;for(let m=0;me.__isSuspense,MA={name:"Suspense",__isSuspense:!0,process(e,t,r,s,o,l,u,c,d,h){e==null?IA(t,r,s,o,l,u,c,d,h):LA(e,t,r,s,o,u,c,d,h)},hydrate:$A,create:ec,normalize:BA},rk=MA;function Is(e,t){const r=e.props&&e.props[t];De(r)&&r()}function IA(e,t,r,s,o,l,u,c,d){const{p:h,o:{createElement:g}}=d,m=g("div"),p=e.suspense=ec(e,o,s,t,m,r,l,u,c,d);h(null,p.pendingBranch=e.ssContent,m,null,s,p,l,u),p.deps>0?(Is(e,"onPending"),Is(e,"onFallback"),h(null,e.ssFallback,t,r,s,null,l,u),Oi(p,e.ssFallback)):p.resolve()}function LA(e,t,r,s,o,l,u,c,{p:d,um:h,o:{createElement:g}}){const m=t.suspense=e.suspense;m.vnode=t,t.el=e.el;const p=t.ssContent,x=t.ssFallback,{activeBranch:E,pendingBranch:B,isInFallback:$,isHydrating:k}=m;if(B)m.pendingBranch=p,Dn(p,B)?(d(B,p,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():$&&(d(E,x,r,s,o,null,l,u,c),Oi(m,x))):(m.pendingId++,k?(m.isHydrating=!1,m.activeBranch=B):h(B,o,m),m.deps=0,m.effects.length=0,m.hiddenContainer=g("div"),$?(d(null,p,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():(d(E,x,r,s,o,null,l,u,c),Oi(m,x))):E&&Dn(p,E)?(d(E,p,r,s,o,m,l,u,c),m.resolve(!0)):(d(null,p,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0&&m.resolve()));else if(E&&Dn(p,E))d(E,p,r,s,o,m,l,u,c),Oi(m,p);else if(Is(t,"onPending"),m.pendingBranch=p,m.pendingId++,d(null,p,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0)m.resolve();else{const{timeout:y,pendingId:O}=m;y>0?setTimeout(()=>{m.pendingId===O&&m.fallback(x)},y):y===0&&m.fallback(x)}}function ec(e,t,r,s,o,l,u,c,d,h,g=!1){const{p:m,m:p,um:x,n:E,o:{parentNode:B,remove:$}}=h,k=Yp(e.props&&e.props.timeout),y={vnode:e,parent:t,parentComponent:r,isSVG:u,container:s,hiddenContainer:o,anchor:l,deps:0,pendingId:0,timeout:typeof k=="number"?k:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:g,isUnmounted:!1,effects:[],resolve(O=!1){const{vnode:W,activeBranch:U,pendingBranch:z,pendingId:H,effects:I,parentComponent:q,container:Z}=y;if(y.isHydrating)y.isHydrating=!1;else if(!O){const T=U&&z.transition&&z.transition.mode==="out-in";T&&(U.transition.afterLeave=()=>{H===y.pendingId&&p(z,Z,L,0)});let{anchor:L}=y;U&&(L=E(U),x(U,q,y,!0)),T||p(z,Z,L,0)}Oi(y,z),y.pendingBranch=null,y.isInFallback=!1;let V=y.parent,w=!1;for(;V;){if(V.pendingBranch){V.effects.push(...I),w=!0;break}V=V.parent}w||eg(I),y.effects=[],Is(W,"onResolve")},fallback(O){if(!y.pendingBranch)return;const{vnode:W,activeBranch:U,parentComponent:z,container:H,isSVG:I}=y;Is(W,"onFallback");const q=E(U),Z=()=>{y.isInFallback&&(m(null,O,H,q,z,null,I,c,d),Oi(y,O))},V=O.transition&&O.transition.mode==="out-in";V&&(U.transition.afterLeave=Z),y.isInFallback=!0,x(U,z,null,!0),V||Z()},move(O,W,U){y.activeBranch&&p(y.activeBranch,O,W,U),y.container=O},next(){return y.activeBranch&&E(y.activeBranch)},registerDep(O,W){const U=!!y.pendingBranch;U&&y.deps++;const z=O.vnode.el;O.asyncDep.catch(H=>{Hi(H,O,0)}).then(H=>{if(O.isUnmounted||y.isUnmounted||y.pendingId!==O.suspenseId)return;O.asyncResolved=!0;const{vnode:I}=O;Eu(O,H,!1),z&&(I.el=z);const q=!z&&O.subTree.el;W(O,I,B(z||O.subTree.el),z?null:E(O.subTree),y,u,d),q&&$(q),Qu(O,I.el),U&&--y.deps===0&&y.resolve()})},unmount(O,W){y.isUnmounted=!0,y.activeBranch&&x(y.activeBranch,r,O,W),y.pendingBranch&&x(y.pendingBranch,r,O,W)}};return y}function $A(e,t,r,s,o,l,u,c,d){const h=t.suspense=ec(t,s,r,e.parentNode,document.createElement("div"),null,o,l,u,c,!0),g=d(e,h.pendingBranch=t.ssContent,r,h,l,u);return h.deps===0&&h.resolve(),g}function BA(e){const{shapeFlag:t,children:r}=e,s=t&32;e.ssContent=ih(s?r.default:r),e.ssFallback=s?ih(r.fallback):ge(jt)}function ih(e){let t;if(De(e)){const r=ei&&e._c;r&&(e._d=!1,pe()),e=e(),r&&(e._d=!0,t=Jt,bg())}return He(e)&&(e=SA(e)),e=cn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(r=>r!==e)),e}function ig(e,t){t&&t.pendingBranch?He(e)?t.effects.push(...e):t.effects.push(e):eg(e)}function Oi(e,t){e.activeBranch=t;const{vnode:r,parentComponent:s}=e,o=r.el=t.el;s&&s.subTree===r&&(s.vnode.el=o,Qu(s,o))}function Cr(e,t){if(Et){let r=Et.provides;const s=Et.parent&&Et.parent.provides;s===r&&(r=Et.provides=Object.create(s)),r[e]=t}}function Xt(e,t,r=!1){const s=Et||Bt;if(s){const o=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return r&&De(t)?t.call(s.proxy):t}}function ik(e,t){return Ns(e,null,t)}function DA(e,t){return Ns(e,null,{flush:"post"})}function sk(e,t){return Ns(e,null,{flush:"sync"})}const sh={};function ht(e,t,r){return Ns(e,t,r)}function Ns(e,t,{immediate:r,deep:s,flush:o,onTrack:l,onTrigger:u}=at){const c=Et;let d,h=!1,g=!1;if(vt(e)?(d=()=>e.value,h=Xo(e)):kr(e)?(d=()=>e,s=!0):He(e)?(g=!0,h=e.some(k=>kr(k)||Xo(k)),d=()=>e.map(k=>{if(vt(k))return k.value;if(kr(k))return Jr(k);if(De(k))return ir(k,c,2)})):De(e)?t?d=()=>ir(e,c,2):d=()=>{if(!(c&&c.isUnmounted))return m&&m(),An(e,c,3,[p])}:d=Wn,t&&s){const k=d;d=()=>Jr(k())}let m,p=k=>{m=$.onStop=()=>{ir(k,c,4)}};if(Bi)return p=Wn,t?r&&An(t,c,3,[d(),g?[]:void 0,p]):d(),Wn;let x=g?[]:sh;const E=()=>{if($.active)if(t){const k=$.run();(s||h||(g?k.some((y,O)=>vu(y,x[O])):vu(k,x)))&&(m&&m(),An(t,c,3,[k,x===sh?void 0:x,p]),x=k)}else $.run()};E.allowRecurse=!!t;let B;o==="sync"?B=E:o==="post"?B=()=>Mt(E,c&&c.suspense):(E.pre=!0,c&&(E.id=c.uid),B=()=>Ca(E));const $=new ma(d,B);return t?r?E():x=$.run():o==="post"?Mt($.run.bind($),c&&c.suspense):$.run(),()=>{$.stop(),c&&c.scope&&Zu(c.scope.effects,$)}}function NA(e,t,r){const s=this.proxy,o=St(e)?e.includes(".")?sg(s,e):()=>s[e]:e.bind(s,s);let l;De(t)?l=t:(l=t.handler,r=t);const u=Et;Tr(this);const c=Ns(o,l.bind(s),r);return u?Tr(u):Sr(),c}function sg(e,t){const r=t.split(".");return()=>{let s=e;for(let o=0;o{Jr(r,t)});else if(Gp(e))for(const r in e)Jr(e[r],t);return e}function og(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ut(()=>{e.isMounted=!0}),Ta(()=>{e.isUnmounting=!0}),e}const wn=[Function,Array],WA={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:wn,onEnter:wn,onAfterEnter:wn,onEnterCancelled:wn,onBeforeLeave:wn,onLeave:wn,onAfterLeave:wn,onLeaveCancelled:wn,onBeforeAppear:wn,onAppear:wn,onAfterAppear:wn,onAppearCancelled:wn},setup(e,{slots:t}){const r=Br(),s=og();let o;return()=>{const l=t.default&&tc(t.default(),!0);if(!l||!l.length)return;let u=l[0];if(l.length>1){for(const B of l)if(B.type!==jt){u=B;break}}const c=Ze(e),{mode:d}=c;if(s.isLeaving)return tu(u);const h=oh(u);if(!h)return tu(u);const g=Ls(h,c,s,r);Li(h,g);const m=r.subTree,p=m&&oh(m);let x=!1;const{getTransitionKey:E}=h.type;if(E){const B=E();o===void 0?o=B:B!==o&&(o=B,x=!0)}if(p&&p.type!==jt&&(!Dn(h,p)||x)){const B=Ls(p,c,s,r);if(Li(p,B),d==="out-in")return s.isLeaving=!0,B.afterLeave=()=>{s.isLeaving=!1,r.update()},tu(u);d==="in-out"&&h.type!==jt&&(B.delayLeave=($,k,y)=>{const O=lg(s,p);O[String(p.key)]=p,$._leaveCb=()=>{k(),$._leaveCb=void 0,delete g.delayedLeave},g.delayedLeave=y})}return u}}},ag=WA;function lg(e,t){const{leavingVNodes:r}=e;let s=r.get(t.type);return s||(s=Object.create(null),r.set(t.type,s)),s}function Ls(e,t,r,s){const{appear:o,mode:l,persisted:u=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:h,onEnterCancelled:g,onBeforeLeave:m,onLeave:p,onAfterLeave:x,onLeaveCancelled:E,onBeforeAppear:B,onAppear:$,onAfterAppear:k,onAppearCancelled:y}=t,O=String(e.key),W=lg(r,e),U=(I,q)=>{I&&An(I,s,9,q)},z=(I,q)=>{const Z=q[1];U(I,q),He(I)?I.every(V=>V.length<=1)&&Z():I.length<=1&&Z()},H={mode:l,persisted:u,beforeEnter(I){let q=c;if(!r.isMounted)if(o)q=B||c;else return;I._leaveCb&&I._leaveCb(!0);const Z=W[O];Z&&Dn(e,Z)&&Z.el._leaveCb&&Z.el._leaveCb(),U(q,[I])},enter(I){let q=d,Z=h,V=g;if(!r.isMounted)if(o)q=$||d,Z=k||h,V=y||g;else return;let w=!1;const T=I._enterCb=L=>{w||(w=!0,L?U(V,[I]):U(Z,[I]),H.delayedLeave&&H.delayedLeave(),I._enterCb=void 0)};q?z(q,[I,T]):T()},leave(I,q){const Z=String(e.key);if(I._enterCb&&I._enterCb(!0),r.isUnmounting)return q();U(m,[I]);let V=!1;const w=I._leaveCb=T=>{V||(V=!0,q(),T?U(E,[I]):U(x,[I]),I._leaveCb=void 0,W[Z]===e&&delete W[Z])};W[Z]=e,p?z(p,[I,w]):w()},clone(I){return Ls(I,t,r,s)}};return H}function tu(e){if(Ws(e))return e=or(e),e.children=null,e}function oh(e){return Ws(e)?e.children?e.children[0]:void 0:e}function Li(e,t){e.shapeFlag&6&&e.component?Li(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function tc(e,t=!1,r){let s=[],o=0;for(let l=0;l1)for(let l=0;l!!e.type.__asyncLoader;function ok(e){De(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:s,delay:o=200,timeout:l,suspensible:u=!0,onError:c}=e;let d=null,h,g=0;const m=()=>(g++,d=null,p()),p=()=>{let x;return d||(x=d=t().catch(E=>{if(E=E instanceof Error?E:new Error(String(E)),c)return new Promise((B,$)=>{c(E,()=>B(m()),()=>$(E),g+1)});throw E}).then(E=>x!==d&&d?d:(E&&(E.__esModule||E[Symbol.toStringTag]==="Module")&&(E=E.default),h=E,E)))};return ct({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return h},setup(){const x=Et;if(h)return()=>nu(h,x);const E=y=>{d=null,Hi(y,x,13,!s)};if(u&&x.suspense||Bi)return p().then(y=>()=>nu(y,x)).catch(y=>(E(y),()=>s?ge(s,{error:y}):null));const B=Le(!1),$=Le(),k=Le(!!o);return o&&setTimeout(()=>{k.value=!1},o),l!=null&&setTimeout(()=>{if(!B.value&&!$.value){const y=new Error(`Async component timed out after ${l}ms.`);E(y),$.value=y}},l),p().then(()=>{B.value=!0,x.parent&&Ws(x.parent.vnode)&&Ca(x.parent.update)}).catch(y=>{E(y),$.value=y}),()=>{if(B.value&&h)return nu(h,x);if($.value&&s)return ge(s,{error:$.value});if(r&&!k.value)return ge(r)}}})}function nu(e,{vnode:{ref:t,props:r,children:s,shapeFlag:o},parent:l}){const u=ge(e,r,s);return u.ref=t,u}const Ws=e=>e.type.__isKeepAlive,FA={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const r=Br(),s=r.ctx;if(!s.renderer)return()=>{const y=t.default&&t.default();return y&&y.length===1?y[0]:y};const o=new Map,l=new Set;let u=null;const c=r.suspense,{renderer:{p:d,m:h,um:g,o:{createElement:m}}}=s,p=m("div");s.activate=(y,O,W,U,z)=>{const H=y.component;h(y,O,W,0,c),d(H.vnode,y,O,W,H,c,U,y.slotScopeIds,z),Mt(()=>{H.isDeactivated=!1,H.a&&bs(H.a);const I=y.props&&y.props.onVnodeMounted;I&&Yt(I,H.parent,y)},c)},s.deactivate=y=>{const O=y.component;h(y,p,null,1,c),Mt(()=>{O.da&&bs(O.da);const W=y.props&&y.props.onVnodeUnmounted;W&&Yt(W,O.parent,y),O.isDeactivated=!0},c)};function x(y){ru(y),g(y,r,c,!0)}function E(y){o.forEach((O,W)=>{const U=oa(O.type);U&&(!y||!y(U))&&B(W)})}function B(y){const O=o.get(y);!u||O.type!==u.type?x(O):u&&ru(u),o.delete(y),l.delete(y)}ht(()=>[e.include,e.exclude],([y,O])=>{y&&E(W=>hs(y,W)),O&&E(W=>!hs(O,W))},{flush:"post",deep:!0});let $=null;const k=()=>{$!=null&&o.set($,iu(r.subTree))};return Ut(k),nc(k),Ta(()=>{o.forEach(y=>{const{subTree:O,suspense:W}=r,U=iu(O);if(y.type===U.type){ru(U);const z=U.component.da;z&&Mt(z,W);return}x(y)})}),()=>{if($=null,!t.default)return null;const y=t.default(),O=y[0];if(y.length>1)return u=null,y;if(!Rr(O)||!(O.shapeFlag&4)&&!(O.shapeFlag&128))return u=null,O;let W=iu(O);const U=W.type,z=oa(Qr(W)?W.type.__asyncResolved||{}:U),{include:H,exclude:I,max:q}=e;if(H&&(!z||!hs(H,z))||I&&z&&hs(I,z))return u=W,O;const Z=W.key==null?U:W.key,V=o.get(Z);return W.el&&(W=or(W),O.shapeFlag&128&&(O.ssContent=W)),$=Z,V?(W.el=V.el,W.component=V.component,W.transition&&Li(W,W.transition),W.shapeFlag|=512,l.delete(Z),l.add(Z)):(l.add(Z),q&&l.size>parseInt(q,10)&&B(l.values().next().value)),W.shapeFlag|=256,u=W,rg(O.type)?O:W}}},ak=FA;function hs(e,t){return He(e)?e.some(r=>hs(r,t)):St(e)?e.split(",").includes(t):e.test?e.test(t):!1}function VA(e,t){ug(e,"a",t)}function HA(e,t){ug(e,"da",t)}function ug(e,t,r=Et){const s=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Ra(t,s,r),r){let o=r.parent;for(;o&&o.parent;)Ws(o.parent.vnode)&&UA(s,t,r,o),o=o.parent}}function UA(e,t,r,s){const o=Ra(t,e,s,!0);rc(()=>{Zu(s[t],o)},r)}function ru(e){let t=e.shapeFlag;t&256&&(t-=256),t&512&&(t-=512),e.shapeFlag=t}function iu(e){return e.shapeFlag&128?e.ssContent:e}function Ra(e,t,r=Et,s=!1){if(r){const o=r[e]||(r[e]=[]),l=t.__weh||(t.__weh=(...u)=>{if(r.isUnmounted)return;ni(),Tr(r);const c=An(t,r,e,u);return Sr(),ri(),c});return s?o.unshift(l):o.push(l),l}}const ar=e=>(t,r=Et)=>(!Bi||e==="sp")&&Ra(e,(...s)=>t(...s),r),jA=ar("bm"),Ut=ar("m"),qA=ar("bu"),nc=ar("u"),Ta=ar("bum"),rc=ar("um"),KA=ar("sp"),zA=ar("rtg"),ZA=ar("rtc");function GA(e,t=Et){Ra("ec",e,t)}function ea(e,t){const r=Bt;if(r===null)return e;const s=La(r)||r.proxy,o=e.dirs||(e.dirs=[]);for(let l=0;lt(u,c,void 0,l&&l[c]));else{const u=Object.keys(e);o=new Array(u.length);for(let c=0,d=u.length;c{const l=s.fn(...o);return l&&(l.key=s.key),l}:s.fn)}return e}function ta(e,t,r={},s,o){if(Bt.isCE||Bt.parent&&Qr(Bt.parent)&&Bt.parent.isCE)return ge("slot",t==="default"?null:{name:t},s&&s());let l=e[t];l&&l._c&&(l._d=!1),pe();const u=l&&fg(l(r)),c=ut(st,{key:r.key||u&&u.key||`_${t}`},u||(s?s():[]),u&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function fg(e){return e.some(t=>Rr(t)?!(t.type===jt||t.type===st&&!fg(t.children)):!0)?e:null}function fk(e,t){const r={};for(const s in e)r[t&&/[A-Z]/.test(s)?`on:${s}`:qo(s)]=e[s];return r}const bu=e=>e?xg(e)?La(e)||e.proxy:bu(e.parent):null,na=en(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>bu(e.parent),$root:e=>bu(e.root),$emit:e=>e.emit,$options:e=>oc(e),$forceUpdate:e=>e.f||(e.f=()=>Ca(e.update)),$nextTick:e=>e.n||(e.n=$r.bind(e.proxy)),$watch:e=>NA.bind(e)}),wu={get({_:e},t){const{ctx:r,setupState:s,data:o,props:l,accessCache:u,type:c,appContext:d}=e;let h;if(t[0]!=="$"){const x=u[t];if(x!==void 0)switch(x){case 1:return s[t];case 2:return o[t];case 4:return r[t];case 3:return l[t]}else{if(s!==at&&Qe(s,t))return u[t]=1,s[t];if(o!==at&&Qe(o,t))return u[t]=2,o[t];if((h=e.propsOptions[0])&&Qe(h,t))return u[t]=3,l[t];if(r!==at&&Qe(r,t))return u[t]=4,r[t];Au&&(u[t]=0)}}const g=na[t];let m,p;if(g)return t==="$attrs"&&fn(e,"get",t),g(e);if((m=c.__cssModules)&&(m=m[t]))return m;if(r!==at&&Qe(r,t))return u[t]=4,r[t];if(p=d.config.globalProperties,Qe(p,t))return p[t]},set({_:e},t,r){const{data:s,setupState:o,ctx:l}=e;return o!==at&&Qe(o,t)?(o[t]=r,!0):s!==at&&Qe(s,t)?(s[t]=r,!0):Qe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:s,appContext:o,propsOptions:l}},u){let c;return!!r[u]||e!==at&&Qe(e,u)||t!==at&&Qe(t,u)||(c=l[0])&&Qe(c,u)||Qe(s,u)||Qe(na,u)||Qe(o.config.globalProperties,u)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:Qe(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}},JA=en({},wu,{get(e,t){if(t!==Symbol.unscopables)return wu.get(e,t,e)},has(e,t){return t[0]!=="_"&&!aA(t)}});let Au=!0;function XA(e){const t=oc(e),r=e.proxy,s=e.ctx;Au=!1,t.beforeCreate&&lh(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:u,watch:c,provide:d,inject:h,created:g,beforeMount:m,mounted:p,beforeUpdate:x,updated:E,activated:B,deactivated:$,beforeDestroy:k,beforeUnmount:y,destroyed:O,unmounted:W,render:U,renderTracked:z,renderTriggered:H,errorCaptured:I,serverPrefetch:q,expose:Z,inheritAttrs:V,components:w,directives:T,filters:L}=t;if(h&&QA(h,s,null,e.appContext.config.unwrapInjectedRef),u)for(const F in u){const R=u[F];De(R)&&(s[F]=R.bind(r))}if(o){const F=o.call(r,r);At(F)&&(e.data=ii(F))}if(Au=!0,l)for(const F in l){const R=l[F],b=De(R)?R.bind(r,r):De(R.get)?R.get.bind(r,r):Wn,Y=!De(R)&&De(R.set)?R.set.bind(r):Wn,se=Ye({get:b,set:Y});Object.defineProperty(s,F,{enumerable:!0,configurable:!0,get:()=>se.value,set:me=>se.value=me})}if(c)for(const F in c)dg(c[F],s,r,F);if(d){const F=De(d)?d.call(r):d;Reflect.ownKeys(F).forEach(R=>{Cr(R,F[R])})}g&&lh(g,e,"c");function A(F,R){He(R)?R.forEach(b=>F(b.bind(r))):R&&F(R.bind(r))}if(A(jA,m),A(Ut,p),A(qA,x),A(nc,E),A(VA,B),A(HA,$),A(GA,I),A(ZA,z),A(zA,H),A(Ta,y),A(rc,W),A(KA,q),He(Z))if(Z.length){const F=e.exposed||(e.exposed={});Z.forEach(R=>{Object.defineProperty(F,R,{get:()=>r[R],set:b=>r[R]=b})})}else e.exposed||(e.exposed={});U&&e.render===Wn&&(e.render=U),V!=null&&(e.inheritAttrs=V),w&&(e.components=w),T&&(e.directives=T)}function QA(e,t,r=Wn,s=!1){He(e)&&(e=Pu(e));for(const o in e){const l=e[o];let u;At(l)?"default"in l?u=Xt(l.from||o,l.default,!0):u=Xt(l.from||o):u=Xt(l),vt(u)&&s?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>u.value,set:c=>u.value=c}):t[o]=u}}function lh(e,t,r){An(He(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,r)}function dg(e,t,r,s){const o=s.includes(".")?sg(r,s):()=>r[s];if(St(e)){const l=t[e];De(l)&&ht(o,l)}else if(De(e))ht(o,e.bind(r));else if(At(e))if(He(e))e.forEach(l=>dg(l,t,r,s));else{const l=De(e.handler)?e.handler.bind(r):t[e.handler];De(l)&&ht(o,l,e)}}function oc(e){const t=e.type,{mixins:r,extends:s}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:u}}=e.appContext,c=l.get(t);let d;return c?d=c:!o.length&&!r&&!s?d=t:(d={},o.length&&o.forEach(h=>ra(d,h,u,!0)),ra(d,t,u)),At(t)&&l.set(t,d),d}function ra(e,t,r,s=!1){const{mixins:o,extends:l}=t;l&&ra(e,l,r,!0),o&&o.forEach(u=>ra(e,u,r,!0));for(const u in t)if(!(s&&u==="expose")){const c=e5[u]||r&&r[u];e[u]=c?c(e[u],t[u]):t[u]}return e}const e5={data:uh,props:Zr,emits:Zr,methods:Zr,computed:Zr,beforeCreate:Vt,created:Vt,beforeMount:Vt,mounted:Vt,beforeUpdate:Vt,updated:Vt,beforeDestroy:Vt,beforeUnmount:Vt,destroyed:Vt,unmounted:Vt,activated:Vt,deactivated:Vt,errorCaptured:Vt,serverPrefetch:Vt,components:Zr,directives:Zr,watch:n5,provide:uh,inject:t5};function uh(e,t){return t?e?function(){return en(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function t5(e,t){return Zr(Pu(e),Pu(t))}function Pu(e){if(He(e)){const t={};for(let r=0;r0)&&!(u&16)){if(u&8){const g=e.vnode.dynamicProps;for(let m=0;m{d=!0;const[p,x]=pg(m,t,!0);en(u,p),x&&c.push(...x)};!r&&t.mixins.length&&t.mixins.forEach(g),e.extends&&g(e.extends),e.mixins&&e.mixins.forEach(g)}if(!l&&!d)return At(e)&&s.set(e,ki),ki;if(He(l))for(let g=0;g-1,x[1]=B<0||E-1||Qe(x,"default"))&&c.push(m)}}}const h=[u,c];return At(e)&&s.set(e,h),h}function ch(e){return e[0]!=="$"}function fh(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function dh(e,t){return fh(e)===fh(t)}function hh(e,t){return He(t)?t.findIndex(r=>dh(r,e)):De(t)&&dh(t,e)?0:-1}const gg=e=>e[0]==="_"||e==="$stable",ac=e=>He(e)?e.map(cn):[cn(e)],s5=(e,t,r)=>{if(t._n)return t;const s=Ht((...o)=>ac(t(...o)),r);return s._c=!1,s},mg=(e,t,r)=>{const s=e._ctx;for(const o in e){if(gg(o))continue;const l=e[o];if(De(l))t[o]=s5(o,l,s);else if(l!=null){const u=ac(l);t[o]=()=>u}}},vg=(e,t)=>{const r=ac(t);e.slots.default=()=>r},o5=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=Ze(t),yu(t,"_",r)):mg(t,e.slots={})}else e.slots={},t&&vg(e,t);yu(e.slots,Ma,1)},a5=(e,t,r)=>{const{vnode:s,slots:o}=e;let l=!0,u=at;if(s.shapeFlag&32){const c=t._;c?r&&c===1?l=!1:(en(o,t),!r&&c===1&&delete o._):(l=!t.$stable,mg(t,o)),u=t}else t&&(vg(e,t),u={default:1});if(l)for(const c in o)!gg(c)&&!(c in u)&&delete o[c]};function yg(){return{app:null,config:{isNativeTag:fA,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let l5=0;function u5(e,t){return function(s,o=null){De(s)||(s=Object.assign({},s)),o!=null&&!At(o)&&(o=null);const l=yg(),u=new Set;let c=!1;const d=l.app={_uid:l5++,_component:s,_props:o,_container:null,_context:l,_instance:null,version:O5,get config(){return l.config},set config(h){},use(h,...g){return u.has(h)||(h&&De(h.install)?(u.add(h),h.install(d,...g)):De(h)&&(u.add(h),h(d,...g))),d},mixin(h){return l.mixins.includes(h)||l.mixins.push(h),d},component(h,g){return g?(l.components[h]=g,d):l.components[h]},directive(h,g){return g?(l.directives[h]=g,d):l.directives[h]},mount(h,g,m){if(!c){const p=ge(s,o);return p.appContext=l,g&&t?t(p,h):e(p,h,m),c=!0,d._container=h,h.__vue_app__=d,La(p.component)||p.component.proxy}},unmount(){c&&(e(null,d._container),delete d._container.__vue_app__)},provide(h,g){return l.provides[h]=g,d}};return d}}function ia(e,t,r,s,o=!1){if(He(e)){e.forEach((p,x)=>ia(p,t&&(He(t)?t[x]:t),r,s,o));return}if(Qr(s)&&!o)return;const l=s.shapeFlag&4?La(s.component)||s.component.proxy:s.el,u=o?null:l,{i:c,r:d}=e,h=t&&t.r,g=c.refs===at?c.refs={}:c.refs,m=c.setupState;if(h!=null&&h!==d&&(St(h)?(g[h]=null,Qe(m,h)&&(m[h]=null)):vt(h)&&(h.value=null)),De(d))ir(d,c,12,[u,g]);else{const p=St(d),x=vt(d);if(p||x){const E=()=>{if(e.f){const B=p?g[d]:d.value;o?He(B)&&Zu(B,l):He(B)?B.includes(l)||B.push(l):p?(g[d]=[l],Qe(m,d)&&(m[d]=g[d])):(d.value=[l],e.k&&(g[e.k]=d.value))}else p?(g[d]=u,Qe(m,d)&&(m[d]=u)):x&&(d.value=u,e.k&&(g[e.k]=u))};u?(E.id=-1,Mt(E,r)):E()}}}let yr=!1;const No=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Wo=e=>e.nodeType===8;function c5(e){const{mt:t,p:r,o:{patchProp:s,createText:o,nextSibling:l,parentNode:u,remove:c,insert:d,createComment:h}}=e,g=(k,y)=>{if(!y.hasChildNodes()){r(null,k,y),Qo(),y._vnode=k;return}yr=!1,m(y.firstChild,k,null,null,null),Qo(),y._vnode=k,yr&&console.error("Hydration completed but contains mismatches.")},m=(k,y,O,W,U,z=!1)=>{const H=Wo(k)&&k.data==="[",I=()=>B(k,y,O,W,U,H),{type:q,ref:Z,shapeFlag:V,patchFlag:w}=y;let T=k.nodeType;y.el=k,w===-2&&(z=!1,y.dynamicChildren=null);let L=null;switch(q){case $s:T!==3?y.children===""?(d(y.el=o(""),u(k),k),L=k):L=I():(k.data!==y.children&&(yr=!0,k.data=y.children),L=l(k));break;case jt:T!==8||H?L=I():L=l(k);break;case Ri:if(H&&(k=l(k),T=k.nodeType),T===1||T===3){L=k;const C=!y.children.length;for(let A=0;A{z=z||!!y.dynamicChildren;const{type:H,props:I,patchFlag:q,shapeFlag:Z,dirs:V}=y,w=H==="input"&&V||H==="option";if(w||q!==-1){if(V&&$n(y,null,O,"created"),I)if(w||!z||q&48)for(const L in I)(w&&L.endsWith("value")||Aa(L)&&!_s(L))&&s(k,L,null,I[L],!1,void 0,O);else I.onClick&&s(k,"onClick",null,I.onClick,!1,void 0,O);let T;if((T=I&&I.onVnodeBeforeMount)&&Yt(T,O,y),V&&$n(y,null,O,"beforeMount"),((T=I&&I.onVnodeMounted)||V)&&ig(()=>{T&&Yt(T,O,y),V&&$n(y,null,O,"mounted")},W),Z&16&&!(I&&(I.innerHTML||I.textContent))){let L=x(k.firstChild,y,k,O,W,U,z);for(;L;){yr=!0;const C=L;L=L.nextSibling,c(C)}}else Z&8&&k.textContent!==y.children&&(yr=!0,k.textContent=y.children)}return k.nextSibling},x=(k,y,O,W,U,z,H)=>{H=H||!!y.dynamicChildren;const I=y.children,q=I.length;for(let Z=0;Z{const{slotScopeIds:H}=y;H&&(U=U?U.concat(H):H);const I=u(k),q=x(l(k),y,I,O,W,U,z);return q&&Wo(q)&&q.data==="]"?l(y.anchor=q):(yr=!0,d(y.anchor=h("]"),I,q),q)},B=(k,y,O,W,U,z)=>{if(yr=!0,y.el=null,z){const q=$(k);for(;;){const Z=l(k);if(Z&&Z!==q)c(Z);else break}}const H=l(k),I=u(k);return c(k),r(null,y,I,H,O,W,No(I),U),H},$=k=>{let y=0;for(;k;)if(k=l(k),k&&Wo(k)&&(k.data==="["&&y++,k.data==="]")){if(y===0)return l(k);y--}return k};return[g,m]}const Mt=ig;function f5(e){return _g(e)}function d5(e){return _g(e,c5)}function _g(e,t){const r=mA();r.__VUE__=!0;const{insert:s,remove:o,patchProp:l,createElement:u,createText:c,createComment:d,setText:h,setElementText:g,parentNode:m,nextSibling:p,setScopeId:x=Wn,insertStaticContent:E}=e,B=(S,N,J,ee=null,oe=null,ce=null,ye=!1,de=null,he=!!N.dynamicChildren)=>{if(S===N)return;S&&!Dn(S,N)&&(ee=ue(S),me(S,oe,ce,!0),S=null),N.patchFlag===-2&&(he=!1,N.dynamicChildren=null);const{type:ae,ref:Ee,shapeFlag:Pe}=N;switch(ae){case $s:$(S,N,J,ee);break;case jt:k(S,N,J,ee);break;case Ri:S==null&&y(N,J,ee,ye);break;case st:w(S,N,J,ee,oe,ce,ye,de,he);break;default:Pe&1?U(S,N,J,ee,oe,ce,ye,de,he):Pe&6?T(S,N,J,ee,oe,ce,ye,de,he):(Pe&64||Pe&128)&&ae.process(S,N,J,ee,oe,ce,ye,de,he,Ae)}Ee!=null&&oe&&ia(Ee,S&&S.ref,ce,N||S,!N)},$=(S,N,J,ee)=>{if(S==null)s(N.el=c(N.children),J,ee);else{const oe=N.el=S.el;N.children!==S.children&&h(oe,N.children)}},k=(S,N,J,ee)=>{S==null?s(N.el=d(N.children||""),J,ee):N.el=S.el},y=(S,N,J,ee)=>{[S.el,S.anchor]=E(S.children,N,J,ee,S.el,S.anchor)},O=({el:S,anchor:N},J,ee)=>{let oe;for(;S&&S!==N;)oe=p(S),s(S,J,ee),S=oe;s(N,J,ee)},W=({el:S,anchor:N})=>{let J;for(;S&&S!==N;)J=p(S),o(S),S=J;o(N)},U=(S,N,J,ee,oe,ce,ye,de,he)=>{ye=ye||N.type==="svg",S==null?z(N,J,ee,oe,ce,ye,de,he):q(S,N,oe,ce,ye,de,he)},z=(S,N,J,ee,oe,ce,ye,de)=>{let he,ae;const{type:Ee,props:Pe,shapeFlag:ke,transition:Re,dirs:Ve}=S;if(he=S.el=u(S.type,ce,Pe&&Pe.is,Pe),ke&8?g(he,S.children):ke&16&&I(S.children,he,null,ee,oe,ce&&Ee!=="foreignObject",ye,de),Ve&&$n(S,null,ee,"created"),Pe){for(const Ke in Pe)Ke!=="value"&&!_s(Ke)&&l(he,Ke,null,Pe[Ke],ce,S.children,ee,oe,ne);"value"in Pe&&l(he,"value",null,Pe.value),(ae=Pe.onVnodeBeforeMount)&&Yt(ae,ee,S)}H(he,S,S.scopeId,ye,ee),Ve&&$n(S,null,ee,"beforeMount");const Ge=(!oe||oe&&!oe.pendingBranch)&&Re&&!Re.persisted;Ge&&Re.beforeEnter(he),s(he,N,J),((ae=Pe&&Pe.onVnodeMounted)||Ge||Ve)&&Mt(()=>{ae&&Yt(ae,ee,S),Ge&&Re.enter(he),Ve&&$n(S,null,ee,"mounted")},oe)},H=(S,N,J,ee,oe)=>{if(J&&x(S,J),ee)for(let ce=0;ce{for(let ae=he;ae{const de=N.el=S.el;let{patchFlag:he,dynamicChildren:ae,dirs:Ee}=N;he|=S.patchFlag&16;const Pe=S.props||at,ke=N.props||at;let Re;J&&Kr(J,!1),(Re=ke.onVnodeBeforeUpdate)&&Yt(Re,J,N,S),Ee&&$n(N,S,J,"beforeUpdate"),J&&Kr(J,!0);const Ve=oe&&N.type!=="foreignObject";if(ae?Z(S.dynamicChildren,ae,de,J,ee,Ve,ce):ye||R(S,N,de,null,J,ee,Ve,ce,!1),he>0){if(he&16)V(de,N,Pe,ke,J,ee,oe);else if(he&2&&Pe.class!==ke.class&&l(de,"class",null,ke.class,oe),he&4&&l(de,"style",Pe.style,ke.style,oe),he&8){const Ge=N.dynamicProps;for(let Ke=0;Ke{Re&&Yt(Re,J,N,S),Ee&&$n(N,S,J,"updated")},ee)},Z=(S,N,J,ee,oe,ce,ye)=>{for(let de=0;de{if(J!==ee){if(J!==at)for(const de in J)!_s(de)&&!(de in ee)&&l(S,de,J[de],null,ye,N.children,oe,ce,ne);for(const de in ee){if(_s(de))continue;const he=ee[de],ae=J[de];he!==ae&&de!=="value"&&l(S,de,ae,he,ye,N.children,oe,ce,ne)}"value"in ee&&l(S,"value",J.value,ee.value)}},w=(S,N,J,ee,oe,ce,ye,de,he)=>{const ae=N.el=S?S.el:c(""),Ee=N.anchor=S?S.anchor:c("");let{patchFlag:Pe,dynamicChildren:ke,slotScopeIds:Re}=N;Re&&(de=de?de.concat(Re):Re),S==null?(s(ae,J,ee),s(Ee,J,ee),I(N.children,J,Ee,oe,ce,ye,de,he)):Pe>0&&Pe&64&&ke&&S.dynamicChildren?(Z(S.dynamicChildren,ke,J,oe,ce,ye,de),(N.key!=null||oe&&N===oe.subTree)&&lc(S,N,!0)):R(S,N,J,Ee,oe,ce,ye,de,he)},T=(S,N,J,ee,oe,ce,ye,de,he)=>{N.slotScopeIds=de,S==null?N.shapeFlag&512?oe.ctx.activate(N,J,ee,ye,he):L(N,J,ee,oe,ce,ye,he):C(S,N,he)},L=(S,N,J,ee,oe,ce,ye)=>{const de=S.component=Pg(S,ee,oe);if(Ws(S)&&(de.ctx.renderer=Ae),Cg(de),de.asyncDep){if(oe&&oe.registerDep(de,A),!S.el){const he=de.subTree=ge(jt);k(null,he,N,J)}return}A(de,S,N,J,oe,ce,ye)},C=(S,N,J)=>{const ee=N.component=S.component;if(TA(S,N,J))if(ee.asyncDep&&!ee.asyncResolved){F(ee,N,J);return}else ee.next=N,xA(ee.update),ee.update();else N.el=S.el,ee.vnode=N},A=(S,N,J,ee,oe,ce,ye)=>{const de=()=>{if(S.isMounted){let{next:Ee,bu:Pe,u:ke,parent:Re,vnode:Ve}=S,Ge=Ee,Ke;Kr(S,!1),Ee?(Ee.el=Ve.el,F(S,Ee,ye)):Ee=Ve,Pe&&bs(Pe),(Ke=Ee.props&&Ee.props.onVnodeBeforeUpdate)&&Yt(Ke,Re,Ee,Ve),Kr(S,!0);const pt=Ko(S),Dt=S.subTree;S.subTree=pt,B(Dt,pt,m(Dt.el),ue(Dt),S,oe,ce),Ee.el=pt.el,Ge===null&&Qu(S,pt.el),ke&&Mt(ke,oe),(Ke=Ee.props&&Ee.props.onVnodeUpdated)&&Mt(()=>Yt(Ke,Re,Ee,Ve),oe)}else{let Ee;const{el:Pe,props:ke}=N,{bm:Re,m:Ve,parent:Ge}=S,Ke=Qr(N);if(Kr(S,!1),Re&&bs(Re),!Ke&&(Ee=ke&&ke.onVnodeBeforeMount)&&Yt(Ee,Ge,N),Kr(S,!0),Pe&&Ce){const pt=()=>{S.subTree=Ko(S),Ce(Pe,S.subTree,S,oe,null)};Ke?N.type.__asyncLoader().then(()=>!S.isUnmounted&&pt()):pt()}else{const pt=S.subTree=Ko(S);B(null,pt,J,ee,S,oe,ce),N.el=pt.el}if(Ve&&Mt(Ve,oe),!Ke&&(Ee=ke&&ke.onVnodeMounted)){const pt=N;Mt(()=>Yt(Ee,Ge,pt),oe)}(N.shapeFlag&256||Ge&&Qr(Ge.vnode)&&Ge.vnode.shapeFlag&256)&&S.a&&Mt(S.a,oe),S.isMounted=!0,N=J=ee=null}},he=S.effect=new ma(de,()=>Ca(ae),S.scope),ae=S.update=()=>he.run();ae.id=S.uid,Kr(S,!0),ae()},F=(S,N,J)=>{N.component=S;const ee=S.vnode.props;S.vnode=N,S.next=null,i5(S,N.props,ee,J),a5(S,N.children,J),ni(),nh(),ri()},R=(S,N,J,ee,oe,ce,ye,de,he=!1)=>{const ae=S&&S.children,Ee=S?S.shapeFlag:0,Pe=N.children,{patchFlag:ke,shapeFlag:Re}=N;if(ke>0){if(ke&128){Y(ae,Pe,J,ee,oe,ce,ye,de,he);return}else if(ke&256){b(ae,Pe,J,ee,oe,ce,ye,de,he);return}}Re&8?(Ee&16&&ne(ae,oe,ce),Pe!==ae&&g(J,Pe)):Ee&16?Re&16?Y(ae,Pe,J,ee,oe,ce,ye,de,he):ne(ae,oe,ce,!0):(Ee&8&&g(J,""),Re&16&&I(Pe,J,ee,oe,ce,ye,de,he))},b=(S,N,J,ee,oe,ce,ye,de,he)=>{S=S||ki,N=N||ki;const ae=S.length,Ee=N.length,Pe=Math.min(ae,Ee);let ke;for(ke=0;keEe?ne(S,oe,ce,!0,!1,Pe):I(N,J,ee,oe,ce,ye,de,he,Pe)},Y=(S,N,J,ee,oe,ce,ye,de,he)=>{let ae=0;const Ee=N.length;let Pe=S.length-1,ke=Ee-1;for(;ae<=Pe&&ae<=ke;){const Re=S[ae],Ve=N[ae]=he?Pr(N[ae]):cn(N[ae]);if(Dn(Re,Ve))B(Re,Ve,J,null,oe,ce,ye,de,he);else break;ae++}for(;ae<=Pe&&ae<=ke;){const Re=S[Pe],Ve=N[ke]=he?Pr(N[ke]):cn(N[ke]);if(Dn(Re,Ve))B(Re,Ve,J,null,oe,ce,ye,de,he);else break;Pe--,ke--}if(ae>Pe){if(ae<=ke){const Re=ke+1,Ve=Reke)for(;ae<=Pe;)me(S[ae],oe,ce,!0),ae++;else{const Re=ae,Ve=ae,Ge=new Map;for(ae=Ve;ae<=ke;ae++){const Ot=N[ae]=he?Pr(N[ae]):cn(N[ae]);Ot.key!=null&&Ge.set(Ot.key,ae)}let Ke,pt=0;const Dt=ke-Ve+1;let Rn=!1,oi=0;const Hn=new Array(Dt);for(ae=0;ae=Dt){me(Ot,oe,ce,!0);continue}let qt;if(Ot.key!=null)qt=Ge.get(Ot.key);else for(Ke=Ve;Ke<=ke;Ke++)if(Hn[Ke-Ve]===0&&Dn(Ot,N[Ke])){qt=Ke;break}qt===void 0?me(Ot,oe,ce,!0):(Hn[qt-Ve]=ae+1,qt>=oi?oi=qt:Rn=!0,B(Ot,N[qt],J,null,oe,ce,ye,de,he),pt++)}const ai=Rn?h5(Hn):ki;for(Ke=ai.length-1,ae=Dt-1;ae>=0;ae--){const Ot=Ve+ae,qt=N[Ot],li=Ot+1{const{el:ce,type:ye,transition:de,children:he,shapeFlag:ae}=S;if(ae&6){se(S.component.subTree,N,J,ee);return}if(ae&128){S.suspense.move(N,J,ee);return}if(ae&64){ye.move(S,N,J,Ae);return}if(ye===st){s(ce,N,J);for(let Pe=0;Pede.enter(ce),oe);else{const{leave:Pe,delayLeave:ke,afterLeave:Re}=de,Ve=()=>s(ce,N,J),Ge=()=>{Pe(ce,()=>{Ve(),Re&&Re()})};ke?ke(ce,Ve,Ge):Ge()}else s(ce,N,J)},me=(S,N,J,ee=!1,oe=!1)=>{const{type:ce,props:ye,ref:de,children:he,dynamicChildren:ae,shapeFlag:Ee,patchFlag:Pe,dirs:ke}=S;if(de!=null&&ia(de,null,J,S,!0),Ee&256){N.ctx.deactivate(S);return}const Re=Ee&1&&ke,Ve=!Qr(S);let Ge;if(Ve&&(Ge=ye&&ye.onVnodeBeforeUnmount)&&Yt(Ge,N,S),Ee&6)G(S.component,J,ee);else{if(Ee&128){S.suspense.unmount(J,ee);return}Re&&$n(S,null,N,"beforeUnmount"),Ee&64?S.type.remove(S,N,J,oe,Ae,ee):ae&&(ce!==st||Pe>0&&Pe&64)?ne(ae,N,J,!1,!0):(ce===st&&Pe&384||!oe&&Ee&16)&&ne(he,N,J),ee&&ve(S)}(Ve&&(Ge=ye&&ye.onVnodeUnmounted)||Re)&&Mt(()=>{Ge&&Yt(Ge,N,S),Re&&$n(S,null,N,"unmounted")},J)},ve=S=>{const{type:N,el:J,anchor:ee,transition:oe}=S;if(N===st){Ie(J,ee);return}if(N===Ri){W(S);return}const ce=()=>{o(J),oe&&!oe.persisted&&oe.afterLeave&&oe.afterLeave()};if(S.shapeFlag&1&&oe&&!oe.persisted){const{leave:ye,delayLeave:de}=oe,he=()=>ye(J,ce);de?de(S.el,ce,he):he()}else ce()},Ie=(S,N)=>{let J;for(;S!==N;)J=p(S),o(S),S=J;o(N)},G=(S,N,J)=>{const{bum:ee,scope:oe,update:ce,subTree:ye,um:de}=S;ee&&bs(ee),oe.stop(),ce&&(ce.active=!1,me(ye,S,N,J)),de&&Mt(de,N),Mt(()=>{S.isUnmounted=!0},N),N&&N.pendingBranch&&!N.isUnmounted&&S.asyncDep&&!S.asyncResolved&&S.suspenseId===N.pendingId&&(N.deps--,N.deps===0&&N.resolve())},ne=(S,N,J,ee=!1,oe=!1,ce=0)=>{for(let ye=ce;yeS.shapeFlag&6?ue(S.component.subTree):S.shapeFlag&128?S.suspense.next():p(S.anchor||S.el),be=(S,N,J)=>{S==null?N._vnode&&me(N._vnode,null,null,!0):B(N._vnode||null,S,N,null,null,null,J),nh(),Qo(),N._vnode=S},Ae={p:B,um:me,m:se,r:ve,mt:L,mc:I,pc:R,pbc:Z,n:ue,o:e};let je,Ce;return t&&([je,Ce]=t(Ae)),{render:be,hydrate:je,createApp:u5(be,je)}}function Kr({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function lc(e,t,r=!1){const s=e.children,o=t.children;if(He(s)&&He(o))for(let l=0;l>1,e[r[c]]0&&(t[s]=r[l-1]),r[l]=s)}}for(l=r.length,u=r[l-1];l-- >0;)r[l]=u,u=t[u];return r}const p5=e=>e.__isTeleport,As=e=>e&&(e.disabled||e.disabled===""),ph=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Cu=(e,t)=>{const r=e&&e.to;return St(r)?t?t(r):null:r},g5={__isTeleport:!0,process(e,t,r,s,o,l,u,c,d,h){const{mc:g,pc:m,pbc:p,o:{insert:x,querySelector:E,createText:B,createComment:$}}=h,k=As(t.props);let{shapeFlag:y,children:O,dynamicChildren:W}=t;if(e==null){const U=t.el=B(""),z=t.anchor=B("");x(U,r,s),x(z,r,s);const H=t.target=Cu(t.props,E),I=t.targetAnchor=B("");H&&(x(I,H),u=u||ph(H));const q=(Z,V)=>{y&16&&g(O,Z,V,o,l,u,c,d)};k?q(r,z):H&&q(H,I)}else{t.el=e.el;const U=t.anchor=e.anchor,z=t.target=e.target,H=t.targetAnchor=e.targetAnchor,I=As(e.props),q=I?r:z,Z=I?U:H;if(u=u||ph(z),W?(p(e.dynamicChildren,W,q,o,l,u,c),lc(e,t,!0)):d||m(e,t,q,Z,o,l,u,c,!1),k)I||Fo(t,r,U,h,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const V=t.target=Cu(t.props,E);V&&Fo(t,V,null,h,0)}else I&&Fo(t,z,H,h,1)}},remove(e,t,r,s,{um:o,o:{remove:l}},u){const{shapeFlag:c,children:d,anchor:h,targetAnchor:g,target:m,props:p}=e;if(m&&l(g),(u||!As(p))&&(l(h),c&16))for(let x=0;x0?Jt||ki:null,bg(),ei>0&&Jt&&Jt.push(e),e}function Se(e,t,r,s,o,l){return wg(fe(e,t,r,s,o,l,!0))}function ut(e,t,r,s,o){return wg(ge(e,t,r,s,o,!0))}function Rr(e){return e?e.__v_isVNode===!0:!1}function Dn(e,t){return e.type===t.type&&e.key===t.key}function dk(e){}const Ma="__vInternal",Ag=({key:e})=>e??null,zo=({ref:e,ref_key:t,ref_for:r})=>e!=null?St(e)||vt(e)||De(e)?{i:Bt,r:e,k:t,f:!!r}:e:null;function fe(e,t=null,r=null,s=0,o=null,l=e===st?0:1,u=!1,c=!1){const d={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ag(t),ref:t&&zo(t),scopeId:ka,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null};return c?(cc(d,r),l&128&&e.normalize(d)):r&&(d.shapeFlag|=St(r)?8:16),ei>0&&!u&&Jt&&(d.patchFlag>0||l&6)&&d.patchFlag!==32&&Jt.push(d),d}const ge=v5;function v5(e,t=null,r=null,s=0,o=null,l=!1){if((!e||e===cg)&&(e=jt),Rr(e)){const c=or(e,t,!0);return r&&cc(c,r),ei>0&&!l&&Jt&&(c.shapeFlag&6?Jt[Jt.indexOf(e)]=c:Jt.push(c)),c.patchFlag|=-2,c}if(E5(e)&&(e=e.__vccOpts),t){t=y5(t);let{class:c,style:d}=t;c&&!St(c)&&(t.class=it(c)),At(d)&&(Wp(d)&&!He(d)&&(d=en({},d)),t.style=Lr(d))}const u=St(e)?1:rg(e)?128:p5(e)?64:At(e)?4:De(e)?2:0;return fe(e,t,r,s,o,u,l,!0)}function y5(e){return e?Wp(e)||Ma in e?en({},e):e:null}function or(e,t,r=!1){const{props:s,ref:o,patchFlag:l,children:u}=e,c=t?_5(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Ag(c),ref:t&&t.ref?r&&o?He(o)?o.concat(zo(t)):[o,zo(t)]:zo(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==st?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&or(e.ssContent),ssFallback:e.ssFallback&&or(e.ssFallback),el:e.el,anchor:e.anchor}}function Ia(e=" ",t=0){return ge($s,null,e,t)}function hk(e,t){const r=ge(Ri,null,e);return r.staticCount=t,r}function nt(e="",t=!1){return t?(pe(),ut(jt,null,e)):ge(jt,null,e)}function cn(e){return e==null||typeof e=="boolean"?ge(jt):He(e)?ge(st,null,e.slice()):typeof e=="object"?Pr(e):ge($s,null,String(e))}function Pr(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:or(e)}function cc(e,t){let r=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(He(t))r=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),cc(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!(Ma in t)?t._ctx=Bt:o===3&&Bt&&(Bt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else De(t)?(t={default:t,_ctx:Bt},r=32):(t=String(t),s&64?(r=16,t=[Ia(t)]):r=8);e.children=t,e.shapeFlag|=r}function _5(...e){const t={};for(let r=0;rEt||Bt,Tr=e=>{Et=e,e.scope.on()},Sr=()=>{Et&&Et.scope.off(),Et=null};function xg(e){return e.vnode.shapeFlag&4}let Bi=!1;function Cg(e,t=!1){Bi=t;const{props:r,children:s}=e.vnode,o=xg(e);r5(e,r,o,t),o5(e,s);const l=o?A5(e,t):void 0;return Bi=!1,l}function A5(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=Ii(new Proxy(e.ctx,wu));const{setup:s}=r;if(s){const o=e.setupContext=s.length>1?kg(e):null;Tr(e),ni();const l=ir(s,e,0,[e.props,o]);if(ri(),Sr(),Gu(l)){if(l.then(Sr,Sr),t)return l.then(u=>{Eu(e,u,t)}).catch(u=>{Hi(u,e,0)});e.asyncDep=l}else Eu(e,l,t)}else Eg(e,t)}function Eu(e,t,r){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:At(t)&&(e.setupState=Vp(t)),Eg(e,r)}let sa,ku;function pk(e){sa=e,ku=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,JA))}}const gk=()=>!sa;function Eg(e,t,r){const s=e.type;if(!e.render){if(!t&&sa&&!s.render){const o=s.template||oc(e).template;if(o){const{isCustomElement:l,compilerOptions:u}=e.appContext.config,{delimiters:c,compilerOptions:d}=s,h=en(en({isCustomElement:l,delimiters:c},u),d);s.render=sa(o,h)}}e.render=s.render||Wn,ku&&ku(e)}Tr(e),ni(),XA(e),ri(),Sr()}function P5(e){return new Proxy(e.attrs,{get(t,r){return fn(e,"get","$attrs"),t[r]}})}function kg(e){const t=s=>{e.exposed=s||{}};let r;return{get attrs(){return r||(r=P5(e))},slots:e.slots,emit:e.emit,expose:t}}function La(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Vp(Ii(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in na)return na[r](e)}}))}const x5=/(?:^|[-_])(\w)/g,C5=e=>e.replace(x5,t=>t.toUpperCase()).replace(/[-_]/g,"");function oa(e,t=!0){return De(e)?e.displayName||e.name:e.name||t&&e.__name}function Sg(e,t,r=!1){let s=oa(t);if(!s&&t.__file){const o=t.__file.match(/([^/\\]+)\.\w+$/);o&&(s=o[1])}if(!s&&e&&e.parent){const o=l=>{for(const u in l)if(l[u]===t)return u};s=o(e.components||e.parent.type.components)||o(e.appContext.components)}return s?C5(s):r?"App":"Anonymous"}function E5(e){return De(e)&&"__vccOpts"in e}const Ye=(e,t)=>sA(e,t,Bi);function mk(){return null}function vk(){return null}function yk(e){}function _k(e,t){return null}function bk(){return Og().slots}function wk(){return Og().attrs}function Og(){const e=Br();return e.setupContext||(e.setupContext=kg(e))}function Ak(e,t){const r=He(e)?e.reduce((s,o)=>(s[o]={},s),{}):e;for(const s in t){const o=r[s];o?He(o)||De(o)?r[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(r[s]={default:t[s]})}return r}function Pk(e,t){const r={};for(const s in e)t.includes(s)||Object.defineProperty(r,s,{enumerable:!0,get:()=>e[s]});return r}function xk(e){const t=Br();let r=e();return Sr(),Gu(r)&&(r=r.catch(s=>{throw Tr(t),s})),[r,()=>Tr(t)]}function fc(e,t,r){const s=arguments.length;return s===2?At(t)&&!He(t)?Rr(t)?ge(e,null,[t]):ge(e,t):ge(e,null,t):(s>3?r=Array.prototype.slice.call(arguments,2):s===3&&Rr(r)&&(r=[r]),ge(e,t,r))}const k5=Symbol(""),Ck=()=>{{const e=Xt(k5);return e||vA("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function Ek(){}function kk(e,t,r,s){const o=r[s];if(o&&S5(o,e))return o;const l=t();return l.memo=e.slice(),r[s]=l}function S5(e,t){const r=e.memo;if(r.length!=t.length)return!1;for(let s=0;s0&&Jt&&Jt.push(e),!0}const O5="3.2.40",R5={createComponentInstance:Pg,setupComponent:Cg,renderComponentRoot:Ko,setCurrentRenderingInstance:Ms,isVNode:Rr,normalizeVNode:cn},Sk=R5,Ok=null,Rk=null;function T5(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const M5="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",I5=T5(M5);function Rg(e){return!!e||e===""}function L5(e,t){if(e.length!==t.length)return!1;let r=!0;for(let s=0;r&&sMr(r,t))}const su={},$5=/^on[^a-z]/,B5=e=>$5.test(e),D5=e=>e.startsWith("onUpdate:"),Vs=Object.assign,dn=Array.isArray,Hs=e=>Mg(e)==="[object Set]",mh=e=>Mg(e)==="[object Date]",Tg=e=>typeof e=="function",aa=e=>typeof e=="string",vh=e=>typeof e=="symbol",Su=e=>e!==null&&typeof e=="object",N5=Object.prototype.toString,Mg=e=>N5.call(e),dc=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},W5=/-(\w)/g,yh=dc(e=>e.replace(W5,(t,r)=>r?r.toUpperCase():"")),F5=/\B([A-Z])/g,Ti=dc(e=>e.replace(F5,"-$1").toLowerCase()),V5=dc(e=>e.charAt(0).toUpperCase()+e.slice(1)),H5=(e,t)=>{for(let r=0;r{const t=parseFloat(e);return isNaN(t)?e:t},U5="http://www.w3.org/2000/svg",Yr=typeof document<"u"?document:null,_h=Yr&&Yr.createElement("template"),j5={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,s)=>{const o=t?Yr.createElementNS(U5,e):Yr.createElement(e,r?{is:r}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>Yr.createTextNode(e),createComment:e=>Yr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,s,o,l){const u=r?r.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===l||!(o=o.nextSibling)););else{_h.innerHTML=s?`${e}`:e;const c=_h.content;if(s){const d=c.firstChild;for(;d.firstChild;)c.appendChild(d.firstChild);c.removeChild(d)}t.insertBefore(c,r)}return[u?u.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}};function q5(e,t,r){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}function K5(e,t,r){const s=e.style,o=aa(r);if(r&&!o){for(const l in r)Ou(s,l,r[l]);if(t&&!aa(t))for(const l in t)r[l]==null&&Ou(s,l,"")}else{const l=s.display;o?t!==r&&(s.cssText=r):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=l)}}const bh=/\s*!important$/;function Ou(e,t,r){if(dn(r))r.forEach(s=>Ou(e,t,s));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const s=z5(e,t);bh.test(r)?e.setProperty(Ti(s),r.replace(bh,""),"important"):e[s]=r}}const wh=["Webkit","Moz","ms"],ou={};function z5(e,t){const r=ou[t];if(r)return r;let s=Fn(t);if(s!=="filter"&&s in e)return ou[t]=s;s=V5(s);for(let o=0;o{let e=Date.now,t=!1;if(typeof window<"u"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const r=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(r&&Number(r[1])<=53)}return[e,t]})();let Ru=0;const J5=Promise.resolve(),X5=()=>{Ru=0},Q5=()=>Ru||(J5.then(X5),Ru=Ig());function nr(e,t,r,s){e.addEventListener(t,r,s)}function e4(e,t,r,s){e.removeEventListener(t,r,s)}function t4(e,t,r,s,o=null){const l=e._vei||(e._vei={}),u=l[t];if(s&&u)u.value=s;else{const[c,d]=n4(t);if(s){const h=l[t]=r4(s,o);nr(e,c,h,d)}else u&&(e4(e,c,u,d),l[t]=void 0)}}const Ph=/(?:Once|Passive|Capture)$/;function n4(e){let t;if(Ph.test(e)){t={};let s;for(;s=e.match(Ph);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ti(e.slice(2)),t]}function r4(e,t){const r=s=>{const o=s.timeStamp||Ig();(Y5||o>=r.attached-1)&&An(i4(s,r.value),t,5,[s])};return r.value=e,r.attached=Q5(),r}function i4(e,t){if(dn(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const xh=/^on[a-z]/,s4=(e,t,r,s,o=!1,l,u,c,d)=>{t==="class"?q5(e,s,o):t==="style"?K5(e,r,s):B5(t)?D5(t)||t4(e,t,r,s,u):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):o4(e,t,s,o))?G5(e,t,s,l,u,c,d):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Z5(e,t,s,o))};function o4(e,t,r,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&xh.test(t)&&Tg(r)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||xh.test(t)&&aa(r)?!1:t in e}function a4(e,t){const r=ct(e);class s extends hc{constructor(l){super(r,l,t)}}return s.def=r,s}const Tk=e=>a4(e,C4),l4=typeof HTMLElement<"u"?HTMLElement:class{};class hc extends l4{constructor(t,r={},s){super(),this._def=t,this._props=r,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):this.attachShadow({mode:"open"})}connectedCallback(){this._connected=!0,this._instance||this._resolveDef()}disconnectedCallback(){this._connected=!1,$r(()=>{this._connected||($h(null,this.shadowRoot),this._instance=null)})}_resolveDef(){if(this._resolved)return;this._resolved=!0;for(let s=0;s{for(const o of s)this._setAttr(o.attributeName)}).observe(this,{attributes:!0});const t=s=>{const{props:o,styles:l}=s,u=!dn(o),c=o?u?Object.keys(o):o:[];let d;if(u)for(const h in this._props){const g=o[h];(g===Number||g&&g.type===Number)&&(this._props[h]=Di(this._props[h]),(d||(d=Object.create(null)))[h]=!0)}this._numberProps=d;for(const h of Object.keys(this))h[0]!=="_"&&this._setProp(h,this[h],!0,!1);for(const h of c.map(yh))Object.defineProperty(this,h,{get(){return this._getProp(h)},set(g){this._setProp(h,g)}});this._applyStyles(l),this._update()},r=this._def.__asyncLoader;r?r().then(t):t(this._def)}_setAttr(t){let r=this.getAttribute(t);this._numberProps&&this._numberProps[t]&&(r=Di(r)),this._setProp(yh(t),r,!1)}_getProp(t){return this._props[t]}_setProp(t,r,s=!0,o=!0){r!==this._props[t]&&(this._props[t]=r,o&&this._instance&&this._update(),s&&(r===!0?this.setAttribute(Ti(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(Ti(t),r+""):r||this.removeAttribute(Ti(t))))}_update(){$h(this._createVNode(),this.shadowRoot)}_createVNode(){const t=ge(this._def,Vs({},this._props));return this._instance||(t.ce=r=>{this._instance=r,r.isCE=!0,r.emit=(o,...l)=>{this.dispatchEvent(new CustomEvent(o,{detail:l}))};let s=this;for(;s=s&&(s.parentNode||s.host);)if(s instanceof hc){r.parent=s._instance;break}}),t}_applyStyles(t){t&&t.forEach(r=>{const s=document.createElement("style");s.textContent=r,this.shadowRoot.appendChild(s)})}}function Mk(e="$style"){{const t=Br();if(!t)return su;const r=t.type.__cssModules;if(!r)return su;const s=r[e];return s||su}}function Ik(e){const t=Br();if(!t)return;const r=()=>Tu(t.subTree,e(t.proxy));DA(r),Ut(()=>{const s=new MutationObserver(r);s.observe(t.subTree.el.parentNode,{childList:!0}),rc(()=>s.disconnect())})}function Tu(e,t){if(e.shapeFlag&128){const r=e.suspense;e=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Tu(r.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Ch(e.el,t);else if(e.type===st)e.children.forEach(r=>Tu(r,t));else if(e.type===Ri){let{el:r,anchor:s}=e;for(;r&&(Ch(r,t),r!==s);)r=r.nextSibling}}function Ch(e,t){if(e.nodeType===1){const r=e.style;for(const s in t)r.setProperty(`--${s}`,t[s])}}const _r="transition",ss="animation",Lg=(e,{slots:t})=>fc(ag,Bg(e),t);Lg.displayName="Transition";const $g={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},u4=Lg.props=Vs({},ag.props,$g),zr=(e,t=[])=>{dn(e)?e.forEach(r=>r(...t)):e&&e(...t)},Eh=e=>e?dn(e)?e.some(t=>t.length>1):e.length>1:!1;function Bg(e){const t={};for(const w in e)w in $g||(t[w]=e[w]);if(e.css===!1)return t;const{name:r="v",type:s,duration:o,enterFromClass:l=`${r}-enter-from`,enterActiveClass:u=`${r}-enter-active`,enterToClass:c=`${r}-enter-to`,appearFromClass:d=l,appearActiveClass:h=u,appearToClass:g=c,leaveFromClass:m=`${r}-leave-from`,leaveActiveClass:p=`${r}-leave-active`,leaveToClass:x=`${r}-leave-to`}=e,E=c4(o),B=E&&E[0],$=E&&E[1],{onBeforeEnter:k,onEnter:y,onEnterCancelled:O,onLeave:W,onLeaveCancelled:U,onBeforeAppear:z=k,onAppear:H=y,onAppearCancelled:I=O}=t,q=(w,T,L)=>{wr(w,T?g:c),wr(w,T?h:u),L&&L()},Z=(w,T)=>{w._isLeaving=!1,wr(w,m),wr(w,x),wr(w,p),T&&T()},V=w=>(T,L)=>{const C=w?H:y,A=()=>q(T,w,L);zr(C,[T,A]),kh(()=>{wr(T,w?d:l),Qn(T,w?g:c),Eh(C)||Sh(T,s,B,A)})};return Vs(t,{onBeforeEnter(w){zr(k,[w]),Qn(w,l),Qn(w,u)},onBeforeAppear(w){zr(z,[w]),Qn(w,d),Qn(w,h)},onEnter:V(!1),onAppear:V(!0),onLeave(w,T){w._isLeaving=!0;const L=()=>Z(w,T);Qn(w,m),Ng(),Qn(w,p),kh(()=>{w._isLeaving&&(wr(w,m),Qn(w,x),Eh(W)||Sh(w,s,$,L))}),zr(W,[w,L])},onEnterCancelled(w){q(w,!1),zr(O,[w])},onAppearCancelled(w){q(w,!0),zr(I,[w])},onLeaveCancelled(w){Z(w),zr(U,[w])}})}function c4(e){if(e==null)return null;if(Su(e))return[au(e.enter),au(e.leave)];{const t=au(e);return[t,t]}}function au(e){return Di(e)}function Qn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e._vtc||(e._vtc=new Set)).add(t)}function wr(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:r}=e;r&&(r.delete(t),r.size||(e._vtc=void 0))}function kh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let f4=0;function Sh(e,t,r,s){const o=e._endId=++f4,l=()=>{o===e._endId&&s()};if(r)return setTimeout(l,r);const{type:u,timeout:c,propCount:d}=Dg(e,t);if(!u)return s();const h=u+"end";let g=0;const m=()=>{e.removeEventListener(h,p),l()},p=x=>{x.target===e&&++g>=d&&m()};setTimeout(()=>{g(r[E]||"").split(", "),o=s(_r+"Delay"),l=s(_r+"Duration"),u=Oh(o,l),c=s(ss+"Delay"),d=s(ss+"Duration"),h=Oh(c,d);let g=null,m=0,p=0;t===_r?u>0&&(g=_r,m=u,p=l.length):t===ss?h>0&&(g=ss,m=h,p=d.length):(m=Math.max(u,h),g=m>0?u>h?_r:ss:null,p=g?g===_r?l.length:d.length:0);const x=g===_r&&/\b(transform|all)(,|$)/.test(r[_r+"Property"]);return{type:g,timeout:m,propCount:p,hasTransform:x}}function Oh(e,t){for(;e.lengthRh(r)+Rh(e[s])))}function Rh(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Ng(){return document.body.offsetHeight}const Wg=new WeakMap,Fg=new WeakMap,d4={name:"TransitionGroup",props:Vs({},u4,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=Br(),s=og();let o,l;return nc(()=>{if(!o.length)return;const u=e.moveClass||`${e.name||"v"}-move`;if(!m4(o[0].el,r.vnode.el,u))return;o.forEach(h4),o.forEach(p4);const c=o.filter(g4);Ng(),c.forEach(d=>{const h=d.el,g=h.style;Qn(h,u),g.transform=g.webkitTransform=g.transitionDuration="";const m=h._moveCb=p=>{p&&p.target!==h||(!p||/transform$/.test(p.propertyName))&&(h.removeEventListener("transitionend",m),h._moveCb=null,wr(h,u))};h.addEventListener("transitionend",m)})}),()=>{const u=Ze(e),c=Bg(u);let d=u.tag||st;o=l,l=t.default?tc(t.default()):[];for(let h=0;h{u.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),r.split(/\s+/).forEach(u=>u&&s.classList.add(u)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:l}=Dg(s);return o.removeChild(s),l}const Ir=e=>{const t=e.props["onUpdate:modelValue"]||!1;return dn(t)?r=>H5(t,r):t};function v4(e){e.target.composing=!0}function Th(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const la={created(e,{modifiers:{lazy:t,trim:r,number:s}},o){e._assign=Ir(o);const l=s||o.props&&o.props.type==="number";nr(e,t?"change":"input",u=>{if(u.target.composing)return;let c=e.value;r&&(c=c.trim()),l&&(c=Di(c)),e._assign(c)}),r&&nr(e,"change",()=>{e.value=e.value.trim()}),t||(nr(e,"compositionstart",v4),nr(e,"compositionend",Th),nr(e,"change",Th))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:r,trim:s,number:o}},l){if(e._assign=Ir(l),e.composing||document.activeElement===e&&e.type!=="range"&&(r||s&&e.value.trim()===t||(o||e.type==="number")&&Di(e.value)===t))return;const u=t??"";e.value!==u&&(e.value=u)}},Vg={deep:!0,created(e,t,r){e._assign=Ir(r),nr(e,"change",()=>{const s=e._modelValue,o=Ni(e),l=e.checked,u=e._assign;if(dn(s)){const c=$a(s,o),d=c!==-1;if(l&&!d)u(s.concat(o));else if(!l&&d){const h=[...s];h.splice(c,1),u(h)}}else if(Hs(s)){const c=new Set(s);l?c.add(o):c.delete(o),u(c)}else u(Ug(e,l))})},mounted:Mh,beforeUpdate(e,t,r){e._assign=Ir(r),Mh(e,t,r)}};function Mh(e,{value:t,oldValue:r},s){e._modelValue=t,dn(t)?e.checked=$a(t,s.props.value)>-1:Hs(t)?e.checked=t.has(s.props.value):t!==r&&(e.checked=Mr(t,Ug(e,!0)))}const Hg={created(e,{value:t},r){e.checked=Mr(t,r.props.value),e._assign=Ir(r),nr(e,"change",()=>{e._assign(Ni(e))})},beforeUpdate(e,{value:t,oldValue:r},s){e._assign=Ir(s),t!==r&&(e.checked=Mr(t,s.props.value))}},y4={deep:!0,created(e,{value:t,modifiers:{number:r}},s){const o=Hs(t);nr(e,"change",()=>{const l=Array.prototype.filter.call(e.options,u=>u.selected).map(u=>r?Di(Ni(u)):Ni(u));e._assign(e.multiple?o?new Set(l):l:l[0])}),e._assign=Ir(s)},mounted(e,{value:t}){Ih(e,t)},beforeUpdate(e,t,r){e._assign=Ir(r)},updated(e,{value:t}){Ih(e,t)}};function Ih(e,t){const r=e.multiple;if(!(r&&!dn(t)&&!Hs(t))){for(let s=0,o=e.options.length;s-1:l.selected=t.has(u);else if(Mr(Ni(l),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!r&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ni(e){return"_value"in e?e._value:e.value}function Ug(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const _4={created(e,t,r){Vo(e,t,r,null,"created")},mounted(e,t,r){Vo(e,t,r,null,"mounted")},beforeUpdate(e,t,r,s){Vo(e,t,r,s,"beforeUpdate")},updated(e,t,r,s){Vo(e,t,r,s,"updated")}};function jg(e,t){switch(e){case"SELECT":return y4;case"TEXTAREA":return la;default:switch(t){case"checkbox":return Vg;case"radio":return Hg;default:return la}}}function Vo(e,t,r,s,o){const u=jg(e.tagName,r.props&&r.props.type)[o];u&&u(e,t,r,s)}function b4(){la.getSSRProps=({value:e})=>({value:e}),Hg.getSSRProps=({value:e},t)=>{if(t.props&&Mr(t.props.value,e))return{checked:!0}},Vg.getSSRProps=({value:e},t)=>{if(dn(e)){if(t.props&&$a(e,t.props.value)>-1)return{checked:!0}}else if(Hs(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},_4.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const r=jg(t.type.toUpperCase(),t.props&&t.props.type);if(r.getSSRProps)return r.getSSRProps(e,t)}}const w4=["ctrl","shift","alt","meta"],A4={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>w4.some(r=>e[`${r}Key`]&&!t.includes(r))},Bs=(e,t)=>(r,...s)=>{for(let o=0;or=>{if(!("key"in r))return;const s=Ti(r.key);if(t.some(o=>o===s||P4[o]===s))return e(r)},ua={beforeMount(e,{value:t},{transition:r}){e._vod=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):os(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:s}){!t!=!r&&(s?t?(s.beforeEnter(e),os(e,!0),s.enter(e)):s.leave(e,()=>{os(e,!1)}):os(e,t))},beforeUnmount(e,{value:t}){os(e,t)}};function os(e,t){e.style.display=t?e._vod:"none"}function x4(){ua.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const qg=Vs({patchProp:s4},j5);let xs,Lh=!1;function Kg(){return xs||(xs=f5(qg))}function zg(){return xs=Lh?xs:d5(qg),Lh=!0,xs}const $h=(...e)=>{Kg().render(...e)},C4=(...e)=>{zg().hydrate(...e)},E4=(...e)=>{const t=Kg().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=Zg(s);if(!o)return;const l=t._component;!Tg(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.innerHTML="";const u=r(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),u},t},Bk=(...e)=>{const t=zg().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=Zg(s);if(o)return r(o,!0,o instanceof SVGElement)},t};function Zg(e){return aa(e)?document.querySelector(e):e}let Bh=!1;const Dk=()=>{Bh||(Bh=!0,b4(),x4())};const k4={dark:!1,dynamic:!0},S4={dark:!0,dynamic:!1},ti={"fg-secondary":{dark:"#1ed760",dynamic:"#00c48b",light:"#18a74b"},"fg-secondary-dk":{dark:"#217e41",dynamic:"#00c48b",light:"#80dda0"},"bg-contrast":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-contrast":{dark:"#121212",dynamic:"#1e1e1e",light:"white"},"fg-base":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-base-dk":{dark:"#a7a7a7",dynamic:"#c2bebe",light:"#8b8c91"},"fg-base-dkr":{dark:"#999",light:"#8b8c91",dynamic:"#999"},"bg-hover-ltr":{dark:"#242424"},"bg-hover-lt":{dark:"hsla(0,0%,100%,0.04)",light:"#b3b3b31f"},"bg-hover":{dark:"hsla(0,0%,100%,0.3)",dynamic:"#00c48b82",light:"#7c828f5e"},"bg-hover-dk":{dark:"hsla(0,0%,100%,0.1)",dynamic:"#00c48b42",light:"#E3E7EB"},"bg-gradient":{dark:"linear-gradient(to left bottom, #1ed760, #217e41)",dynamic:"linear-gradient(to left bottom, #00a53c, #00297f)",light:"linear-gradient(to left bottom, #18a74b, #80dda0)"},"bg-gradient-placeholder":{dark:"linear-gradient(to left bottom, #00a53c, #00297f)"},"bg-base":{dark:"#121212",light:"white"},"bg-base-lt":{dark:"#181818",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-base-dk":{dark:"black",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-input":{dark:"var(--background-light)",light:"var(--background)"},"bg-fixedPlaylistHeader":{dark:"var(--bg-base-lt)",dynamic:"#374148"},"border-fixedPlaylistHeader":{dark:"#303030",dynamic:"none",light:"#D0D0D0"},"border-base":{dark:"hsla(0,0%,100%,0.1)",light:"#E3E7EB"},"border-container":{dark:"1px solid var(--border-base)",light:"1px solid var(--border-base)",dynamic:"1px solid transparent"},"ff-base":{dark:"Poppins, sans-serif"},"h-playlistEntry":{dark:"64px"},"h-player":{dark:"88px"},"h-player-mobile":{dark:"64px"},"h-header":{dark:"64px"},coverAsBackground:k4,supportsAmbient:S4};var O4=!1;/*! + * pinia v2.0.33 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let Gg;const Ba=e=>Gg=e,Yg=Symbol();function Mu(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Cs;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Cs||(Cs={}));function R4(){const e=xp(!0),t=e.run(()=>Le({}));let r=[],s=[];const o=Ii({install(l){Ba(o),o._a=l,l.provide(Yg,o),l.config.globalProperties.$pinia=o,s.forEach(u=>r.push(u)),s=[]},use(l){return!this._a&&!O4?s.push(l):r.push(l),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return o}const Jg=()=>{};function Dh(e,t,r,s=Jg){e.push(t);const o=()=>{const l=e.indexOf(t);l>-1&&(e.splice(l,1),s())};return!r&&A2()&&P2(o),o}function xi(e,...t){e.slice().forEach(r=>{r(...t)})}function Iu(e,t){e instanceof Map&&t instanceof Map&&t.forEach((r,s)=>e.set(s,r)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const s=t[r],o=e[r];Mu(o)&&Mu(s)&&e.hasOwnProperty(r)&&!vt(s)&&!kr(s)?e[r]=Iu(o,s):e[r]=s}return e}const T4=Symbol();function M4(e){return!Mu(e)||!e.hasOwnProperty(T4)}const{assign:Ar}=Object;function I4(e){return!!(vt(e)&&e.effect)}function L4(e,t,r,s){const{state:o,actions:l,getters:u}=t,c=r.state.value[e];let d;function h(){c||(r.state.value[e]=o?o():{});const g=tA(r.state.value[e]);return Ar(g,l,Object.keys(u||{}).reduce((m,p)=>(m[p]=Ii(Ye(()=>{Ba(r);const x=r._s.get(e);return u[p].call(x,x)})),m),{}))}return d=Xg(e,h,t,r,s,!0),d}function Xg(e,t,r={},s,o,l){let u;const c=Ar({actions:{}},r),d={deep:!0};let h,g,m=Ii([]),p=Ii([]),x;const E=s.state.value[e];!l&&!E&&(s.state.value[e]={}),Le({});let B;function $(H){let I;h=g=!1,typeof H=="function"?(H(s.state.value[e]),I={type:Cs.patchFunction,storeId:e,events:x}):(Iu(s.state.value[e],H),I={type:Cs.patchObject,payload:H,storeId:e,events:x});const q=B=Symbol();$r().then(()=>{B===q&&(h=!0)}),g=!0,xi(m,I,s.state.value[e])}const k=l?function(){const{state:I}=r,q=I?I():{};this.$patch(Z=>{Ar(Z,q)})}:Jg;function y(){u.stop(),m=[],p=[],s._s.delete(e)}function O(H,I){return function(){Ba(s);const q=Array.from(arguments),Z=[],V=[];function w(C){Z.push(C)}function T(C){V.push(C)}xi(p,{args:q,name:H,store:U,after:w,onError:T});let L;try{L=I.apply(this&&this.$id===e?this:U,q)}catch(C){throw xi(V,C),C}return L instanceof Promise?L.then(C=>(xi(Z,C),C)).catch(C=>(xi(V,C),Promise.reject(C))):(xi(Z,L),L)}}const W={_p:s,$id:e,$onAction:Dh.bind(null,p),$patch:$,$reset:k,$subscribe(H,I={}){const q=Dh(m,H,I.detached,()=>Z()),Z=u.run(()=>ht(()=>s.state.value[e],V=>{(I.flush==="sync"?g:h)&&H({storeId:e,type:Cs.direct,events:x},V)},Ar({},d,I)));return q},$dispose:y},U=ii(W);s._s.set(e,U);const z=s._e.run(()=>(u=xp(),u.run(()=>t())));for(const H in z){const I=z[H];if(vt(I)&&!I4(I)||kr(I))l||(E&&M4(I)&&(vt(I)?I.value=E[H]:Iu(I,E[H])),s.state.value[e][H]=I);else if(typeof I=="function"){const q=O(H,I);z[H]=q,c.actions[H]=I}}return Ar(U,z),Ar(Ze(U),z),Object.defineProperty(U,"$state",{get:()=>s.state.value[e],set:H=>{$(I=>{Ar(I,H)})}}),s._p.forEach(H=>{Ar(U,u.run(()=>H({store:U,app:s._a,pinia:s,options:c})))}),E&&l&&r.hydrate&&r.hydrate(U.$state,E),h=!0,g=!0,U}function Da(e,t,r){let s,o;const l=typeof t=="function";typeof e=="string"?(s=e,o=l?r:t):(o=e,s=e.id);function u(c,d){const h=Br();return c=c||h&&Xt(Yg,null),c&&Ba(c),c=Gg,c._s.has(s)||(l?Xg(s,t,o,c):L4(s,o,c)),c._s.get(s)}return u.$id=s,u}const $4=e=>[...new Set(e)],B4=(e,t)=>e.filter(r=>!t.includes(r)),D4=(e,t)=>e.filter(r=>t.includes(r)),N4=e=>typeof e=="bigint"||!Number.isNaN(Number(e))&&Math.floor(Number(e))===e,W4=e=>typeof e=="bigint"||e>=0&&Number.isSafeInteger(e);function as(e,t){if(t.length===0)return e;let r;const s=[...e];for(let o=s.length-1,l=0,u=0;o>0;o--,l++){l%=t.length,u+=r=t[l].codePointAt(0);const c=(r+l+u)%o,d=s[o],h=s[c];s[c]=d,s[o]=h}return s}const F4=(e,t)=>{const r=[];let s=e;if(typeof s=="bigint"){const o=BigInt(t.length);do r.unshift(t[Number(s%o)]),s/=o;while(s>BigInt(0))}else do r.unshift(t[s%t.length]),s=Math.floor(s/t.length);while(s>0);return r},V4=(e,t)=>e.reduce((r,s)=>{const o=t.indexOf(s);if(o===-1)throw new Error(`The provided ID (${e.join("")}) is invalid, as it contains characters that do not exist in the alphabet (${t.join("")})`);if(typeof r=="bigint")return r*BigInt(t.length)+BigInt(o);const l=r*t.length+o;if(Number.isSafeInteger(l))return l;if(typeof BigInt=="function")return BigInt(r)*BigInt(t.length)+BigInt(o);throw new Error("Unable to decode the provided string, due to lack of support for BigInt numbers in the current environment")},0),H4=/^\+?\d+$/,U4=e=>H4.test(e)?Number.parseInt(e,10):Number.NaN,j4=(e,t,r)=>Array.from({length:Math.ceil(e.length/t)},(s,o)=>r(e.slice(o*t,(o+1)*t))),Nh=e=>new RegExp(e.map(t=>Qg(t)).sort((t,r)=>r.length-t.length).join("|")),q4=e=>new RegExp(`^[${e.map(t=>Qg(t)).sort((t,r)=>r.length-t.length).join("")}]+$`),Qg=e=>e.replace(/[\s#$()*+,.?[\\\]^{|}-]/g,"\\$&"),Wh=16,Fh=3.5,K4=12,Vh=16,z4=12,Hh=100;class em{constructor(t="",r=0,s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",o="cfhistuCFHISTU"){if(this.minLength=r,typeof r!="number")throw new TypeError(`Hashids: Provided 'minLength' has to be a number (is ${typeof r})`);if(typeof t!="string")throw new TypeError(`Hashids: Provided 'salt' has to be a string (is ${typeof t})`);if(typeof s!="string")throw new TypeError(`Hashids: Provided alphabet has to be a string (is ${typeof s})`);const l=Array.from(t),u=Array.from(s),c=Array.from(o);this.salt=l;const d=$4(u);if(d.lengthFh)&&(g=Math.ceil(this.alphabet.length/Fh),g>this.seps.length&&(m=g-this.seps.length,this.seps.push(...this.alphabet.slice(0,m)),this.alphabet=this.alphabet.slice(m))),this.alphabet=as(this.alphabet,l);const p=Math.ceil(this.alphabet.length/K4);this.alphabet.length<3?(this.guards=this.seps.slice(0,p),this.seps=this.seps.slice(p)):(this.guards=this.alphabet.slice(0,p),this.alphabet=this.alphabet.slice(p)),this.guardsRegExp=Nh(this.guards),this.sepsRegExp=Nh(this.seps),this.allowedCharsRegExp=q4([...this.alphabet,...this.guards,...this.seps])}encode(t,...r){const s="";let o=Array.isArray(t)?t:[...t!=null?[t]:[],...r];return o.length===0||(o.every(N4)||(o=o.map(l=>typeof l=="bigint"||typeof l=="number"?l:U4(String(l)))),!o.every(W4))?s:this._encode(o).join("")}decode(t){return!t||typeof t!="string"||t.length===0?[]:this._decode(t)}encodeHex(t){let r=t;switch(typeof r){case"bigint":r=r.toString(Vh);break;case"string":if(!/^[\dA-Fa-f]+$/.test(r))return"";break;default:throw new Error(`Hashids: The provided value is neither a string, nor a BigInt (got: ${typeof r})`)}const s=j4(r,z4,o=>Number.parseInt(`1${o}`,16));return this.encode(s)}decodeHex(t){return this.decode(t).map(r=>r.toString(Vh).slice(1)).join("")}isValidId(t){return this.allowedCharsRegExp.test(t)}_encode(t){let{alphabet:r}=this;const s=t.reduce((h,g,m)=>h+(typeof g=="bigint"?Number(g%BigInt(m+Hh)):g%(m+Hh)),0);let o=[r[s%r.length]];const l=[...o],{seps:u}=this,{guards:c}=this;if(t.forEach((h,g)=>{const m=l.concat(this.salt,r);r=as(r,m);const p=F4(h,r);if(o.push(...p),g+10){const g=h/2;o=o.slice(g,g+this.minLength)}}return o}_decode(t){if(!this.isValidId(t))throw new Error(`The provided ID (${t}) is invalid, as it contains characters that do not exist in the alphabet (${this.guards.join("")}${this.seps.join("")}${this.alphabet.join("")})`);const r=t.split(this.guardsRegExp),s=r.length===3||r.length===2?1:0,o=r[s];if(o.length===0)return[];const l=o[Symbol.iterator]().next().value,u=o.slice(l.length).split(this.sepsRegExp);let c=this.alphabet;const d=[];for(const h of u){const g=[l,...this.salt,...c],m=as(c,g.slice(0,c.length));d.push(V4(Array.from(h),m)),c=m}return this._encode(d).join("")!==t?[]:d}}const tm=new em("reapOne.playlist",22),nm=new em("reapOne.track",22),Nk=e=>tm.encode(String(e)),Wk=e=>{const t=tm.decode(e);return Number(t[0])},Uh=e=>nm.encode(String(e)),Z4=e=>{const t=nm.decode(e);return Number(t[0])},Lu=(e,t)=>String(e).padStart(t,"0"),Zo=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,G4=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,rm=(e,t="track")=>(t=="playlist"?G4:Zo)(e),Fk=e=>e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()),Vk=e=>window.open(e,"_blank"),jh=Ye(()=>window.innerWidth<768),Hk=e=>/^(https?:\/\/)?((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$/i.test(e),Uk=e=>{const{key:t,mode:r}=e.spotify.features,s=["B","F#","C#","G#","D#","A#","F","C","G","D","A","E"],o=["A","D#","A#","F","C","G","D","A","E","B","F#","C#"];return`${(r=="Major"?s:o).indexOf(t)+1}${r=="Major"?"B":"A"}`},jk=(e,t=null)=>{t||(e.includes("track")&&(t="track"),e.includes("album")&&(t="album"),e.includes("playlist")&&(t="playlist"));const r=new RegExp(`https://open.spotify.com/${t}/([a-zA-Z0-9]+)`),s=e.match(r);return s?s[1]:null},qk=e=>new Date(e).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"numeric"}),Kk=e=>{if(e<=0)return"N/A";const t=Math.floor(e/60),r=Lu(Math.floor(e%60),2);return`${t}:${r}`},zk=e=>{const t=["B","KB","MB","GB","TB"];let r=0;for(;e>1e3&&r{await Wi().fetchPlaylists()},Y4=e=>Wi().getPlaylistById(e),J4=async e=>{await fetch(`/api/playlists/${e.id}`,{method:"POST",body:JSON.stringify({name:e.name,description:e.description,cover:e.cover})}),await Na()},X4=async()=>await(await fetch("/api/playlists")).json(),Q4=e=>Y4(e),Zk=e=>Q4(e),Gk=async e=>(await fetch(`/api/playlists/${e}`,{method:"DELETE"})).ok?(await Na(),!0):!1,im=async()=>{const t=await(await fetch("/api/playlists/new")).json();return await Na(),t},Yk=async(e,t="",r="")=>{const s=await im();return await J4({id:s,name:e,description:t,cover:r,plays:0}),s},Jk=async(e,t)=>{await fetch(`/api/playlists/${e}/tracks`,{method:"DELETE",body:JSON.stringify({songId:t})}),await Na()},Xk=async e=>await(await fetch("/api/playlists/smart/peek",{method:"POST",body:JSON.stringify(e)})).json(),Wi=Da({id:"data",state:()=>({playlists:[]}),getters:{notEmpty(){return!this.empty},empty(){return this.playlists.length===0},playlistsAsDropdown(e=!0){const t=this.playlists.map(r=>({value:r.id.toString(),label:r.name}));return e&&t.push({value:"new",label:"(new playlist)"}),t},getPlaylistById(){return e=>this.playlists.find(t=>t.id===e)}},actions:{setPlaylists(e){this.playlists=e},initialise(){this.fetchPlaylists()},async fetchPlaylists(){const e=await X4();this.setPlaylists(e)}}}),e3=class{constructor(){Pi(this,"ws",null);Pi(this,"connections",Le([]));Pi(this,"player",null);Pi(this,"me",null);Pi(this,"sendInfoTask",null);this.connect()}connect(){console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port=="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${e}:${t}/player/ws`);const r=Qt();this.sendInfoTask&&clearInterval(this.sendInfoTask),this.sendInfoTask=setInterval(()=>this.sendInfo(),300),this.ws.onclose=()=>{console.log("disconnected"),setTimeout(()=>this.connect(),1e3)},this.ws.onopen=()=>{console.log("connected")};const s=o=>{if(typeof o=="string")switch(o){case"play":r.play();break;case"pause":r.pause();break}if(typeof o=="object")switch(o.command){case"seek":r.seek(o.time);break;case"set volume":r.setVolume(o.volume);break;case"set repeat":r.setRepeat(o.repeat);break;case"set mute":r.setMute(o.mute);break}};this.ws.onmessage=o=>{switch(o=JSON.parse(o.data),o.type){case"info":if(typeof o.data=="boolean")return;r.playing=o.data.playing,r.progress=o.data.progress,r.volume=o.data.volume,r.repeat=o.data.repeat;break;case"new client":console.log("new client",o.data);break;case"client disconnected":break;case"player disconnected":break;case"connections":this.updateConnections(o.data);break;case"command":s(o.data);break}}}sendInfo(){var r,s;if(((s=(r=this.me)==null?void 0:r.type)==null?void 0:s.toLowerCase())!=="player")return;const e=Qt(),t={playing:e.playing,progress:e.progress,volume:e.volume,repeat:e.repeat};this.send("info",t)}updateConnections(e){this.connections.value=e,this.me=e.find(t=>t.friendlyName.includes("(You)"))}send(e,t){var r;(r=this.ws)==null||r.send(JSON.stringify({type:e,data:t}))}sendCommand(e){this.send("command",e)}setPlayer(e){this.send("set player",e.id)}makeMePlayer(){this.send("type","Player")}play(){this.sendCommand("play")}pause(){this.sendCommand("pause")}seek(e){this.sendCommand({command:"seek",time:e})}setVolume(e){this.sendCommand({command:"set volume",volume:e})}setRepeat(e){this.sendCommand({command:"set repeat",repeat:e})}setMute(e){this.sendCommand({command:"set mute",mute:e})}},t3=()=>{fetch("/api/player/next")},n3=()=>{fetch("/api/player/previous")},r3=e=>{fetch("/api/player/shuffle",{method:"POST",body:JSON.stringify(e)})},i3=()=>fetch("/api/player/shuffle").then(e=>e.json()),pc=Da({id:"downloader",state:()=>({ws:null,states:{},onDownload:[]}),getters:{empty(){return Object.keys(this.states).length===0}},actions:{_fireDownload(e){this.onDownload.forEach(t=>t(e))},initialise(){const e=()=>{console.log("[downloader] attempting reconnect");const t=window.location.hostname,r=window.location.port==="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${t}:${r}/download/ws`),this.ws.onclose=()=>{console.log("[downloader] ws closed"),setTimeout(()=>e(),1e3)},this.ws.onopen=()=>{console.log("[downloader] ws connected")},this.ws.onmessage=s=>{const o=JSON.parse(s.data);if(!o.action){if(o.status=="finished"){this.states[o.songId]={...this.states[o.songId],...o};return}this.states[o.songId]=o}}};e()},send(e){var t;(t=this.ws)==null||t.send(JSON.stringify(e))},downloadFromDb(e){this.send({action:"download",source:"db",songId:e}),this.states[e]={songId:e,status:"pending"},this._fireDownload(e)},downloadOther(e){this.send({action:"download",source:"other",...e}),this.states[e.id]={songId:e.id,status:"pending"},this._fireDownload(e.id)},download(e){window.open(`/api/tracks/${e}/download`,"_blank","noopener noreferrer"),this.states[e].status="downloaded"}}}),Qk=async e=>{await fetch(`/api/tracks/${e.id}`,{method:"PUT",body:JSON.stringify({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover})})},e6=async(e,t,r)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({[t]:r})})},t6=async e=>await(await fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:e})})).json(),n6=async(e,t)=>{e==="new"&&(e=await im()),typeof e=="string"&&console.error("playlistId cannot be a string",e),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify({source:t.source,title:t.title,artist:t.artist,album:t.album,cover:t.cover,spotify:t.metadata?JSON.stringify(t.metadata.spotify):""})})},r6=async(e,t=!0)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({favourite:t})})},i6=e=>{pc().downloadFromDb(e)},s3=async e=>await(await fetch(`/api/tracks/${e}`)).json(),s6=async e=>{const t=Z4(e);return await s3(t)},o3=async(e,t=!1,r=null)=>{const s={id:e};return t&&(s.forceFetch=!0),r&&(s.spotifyId=r),await(await fetch("/api/spotify/meta",{method:"POST",body:JSON.stringify(s)})).json()},o6=async e=>await(await fetch(`/api/spotify/recommendations/${e}`)).json(),a3=async e=>{const r=await(await fetch("https://spotify-lyric-api.herokuapp.com/?trackid="+e)).json();return{error:r.message,lyrics:r.lines}},l3=async(e=!1)=>{var o,l;const r=Qt().song;let s=(o=r.metadata.spotify)==null?void 0:o.id;return!s&&e&&(s=(l=(await o3(r.id)).spotify)==null?void 0:l.id),s?await a3(s):{error:"Spotify equivalent unknown."}},Qt=Da({id:"player",state:()=>({playing:!1,progress:0,ready:!1,muted:!1,shuffle:!1,song:{title:null,artist:null,album:null,cover:Zo(null),source:null,duration:null,favourite:!1,id:-1,metadata:{plays:0,spotify:{id:null}}},playlist:{cover:null,description:null,name:null,id:-1,songs:[]},lyrics:null,volume:50,repeat:"repeat",sharedPlayer:null,player:null}),actions:{playPause(){this.playing?this.pause():this.play()},toggleRepeat(){var e;switch(this.repeat){case"repeat":this.repeat="repeat_on";break;case"repeat_on":this.repeat="repeat_one_on";break;case"repeat_one_on":this.repeat="repeat";break}localStorage.setItem("reap.repeat",this.repeat),(e=this.player)==null||e.setRepeat(this.repeat)},setRepeat(e){this.repeat=e},setMute(e){var t;this.muted=e,(t=this.player)==null||t.setMute(e)},toggleMute(){this.setMute(!this.muted)},setShuffle(e){this.shuffle=e,r3(e)},toggleShuffle(){this.setShuffle(!this.shuffle)},onSongEnded(){if(this.repeat==="repeat_one_on")this.play();else{if(this.repeat==="repeat"&&this.playlist.index.value===this.playlist.songs.length-1)return;this.next()}},play(){this.player.play()},pause(){this.player.pause()},next(){t3()},previous(){n3()},setPlayer(e){e&&this.player!==e&&(this.player=e)},async setSong(e){e.id!=this.song.id&&(this.song=e,this.song.cover=Zo(e.cover),this.progress=0,this.lyrics=null,this.lyrics=await l3(!0))},setReady(e){this.ready!==e&&(this.ready=e,e?Wi().initialise():(this.$reset(),Wi().$reset()))},setDuration(e){this.song.duration=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({duration:e})})},setPlaying(e){this.playing=e},seek(e){this.player.seek(e)},seekPercent(e){this.seek(this.durationSeconds*e/100)},setProgress(e){this.progress=Math.round(e)},setFavourite(e){this.song.favourite=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({favourite:e})})},setPlaylist(e){this.playlist.songs=e.songs,this.playlist.cover=Zo(e.cover),this.playlist.description=e.description,this.playlist.name=e.name,this.playlist.id=e.id},setVolume(e){var t;e!=this.volume&&(this.volume=e,localStorage.setItem("reap.volume",e),this.player.setVolume&&((t=this.player)==null||t.setVolume(e)))},toggleFavourite(){this.setFavourite(!this.song.favourite)},async initialise(){this.volume=localStorage.getItem("reap.volume")||50,this.repeat=localStorage.getItem("reap.repeat")||"repeat_on",this.sharedPlayer=new e3,this.setShuffle(await i3())},loadPlaylist(e,t=null){const r={type:"playlist",id:e};e==="track"&&(r.type=e,r.id=t),fetch("/api/player/load",{method:"POST",body:JSON.stringify(r)})},loadSong(e,t){const r={index:t};e==="track"?r.type=e:r.playlist=e,fetch("/api/player/at",{method:"POST",body:JSON.stringify(r)})}},getters:{hasLyrics(e){var t;return(t=e.lyrics)==null?void 0:t.lyrics},durationSeconds(e){return e.song.duration},displayDuration(e){const t=e.song.duration;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Lu(Math.floor(t%60),2)}`},stream(e){return`/api/player/stream/${e.song.id}`},cover(e){return e.song.cover},progressPercent(e){return e.progress/this.durationSeconds*1e3},displayProgress(e){const t=e.progress;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Lu(Math.floor(t%60),2)}`},loaded(e){return e.song.id!=-1},shuffleIcon(e){return e.shuffle?"shuffle_on":"shuffle"},muteIcon(e){return e.muted?"volume_off":e.volume>50?"volume_up":e.volume>0?"volume_down":"volume_mute"},playlist(e){return{...e.playlist,index:Ye(()=>{var t,r;return((r=(t=e.playlist)==null?void 0:t.songs)==null?void 0:r.findIndex(s=>s.id===e.song.id))??-1})}}}}),sm="reapOne.settings",u3="dynamic",om=e=>{localStorage.setItem(sm,JSON.stringify({sidebar:e.sidebar,player:e.player,theme:e.theme,ambient:e.ambient}))},c3={sidebar:{sports:!1,news:!1,collapsed:!1},player:{expandedCover:!1,pictureInPicture:!1,type:"web"},theme:u3,ambient:!0},ps=()=>JSON.parse(localStorage.getItem(sm)||JSON.stringify(c3)),f3=()=>{const e=ps();console.log("migrateSettings",e);const t=localStorage.getItem("sidebar.showSportsTab"),r=localStorage.getItem("sidebar.showNewsTab"),s=localStorage.getItem("player.inBrowser"),o=localStorage.getItem("player.collapsedSidebar"),l=localStorage.getItem("player.exapndCover"),u=localStorage.getItem("theme");t&&(e.sidebar.sports=t==="true",localStorage.removeItem("sidebar.showSportsTab")),r&&(e.sidebar.news=r==="true",localStorage.removeItem("sidebar.showNewsTab")),s&&localStorage.removeItem("player.inBrowser"),o&&(e.sidebar.collapsed=o==="true",localStorage.removeItem("player.collapsedSidebar")),l&&(e.player.expandedCover=l==="true",localStorage.removeItem("player.exapndCover")),u&&(e.theme=u,localStorage.removeItem("theme")),om(e)},si=Da("settings",()=>{f3();const e=Le(ps().player),t=Le(ps().sidebar),r=Le(ps().theme),s=Le(ps().ambient),o=()=>{om({player:e.value,sidebar:t.value,theme:r.value,ambient:s.value})};ht(()=>e,o,{deep:!0}),ht(()=>t,o,{deep:!0}),ht(()=>r,o,{deep:!0}),ht(()=>s,o,{deep:!0});const l=Ye(()=>window.getCurrentThemeProperty&&window.getCurrentThemeProperty("supportsAmbient"));return{player:e,sidebar:t,theme:r,ambient:s,themeSupportsAmbient:l}}),am=()=>{console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port==5173?1234:window.location.port,r=new WebSocket(`ws://${e}:${t}/ws`);r.onclose=()=>{console.log("ws closed"),Qt().setReady(!1),setTimeout(()=>am(),1e3)},r.onopen=()=>{console.log("ws connected"),Qt().setReady(!0)},r.onmessage=s=>{const o=Qt(),l=JSON.parse(s.data);l.path=="player.song"&&o.setSong(l.data),l.path=="player.playlist"&&o.setPlaylist(l.data)}},d3=()=>{Qt().initialise(),Wi().fetchPlaylists(),pc().initialise()},ls=e=>{const t=new CustomEvent("notification.add",{detail:e});window.dispatchEvent(t)},lm={addSuccess(e,t,r){const s=Math.random().toString(36).substring(7);return ls({id:s,message:e,details:t,type:"success",timeout:r}),s},addError(e,t,r){const s=Math.random().toString(36).substring(7);return ls({id:s,message:e,details:t,type:"error",timeout:r}),s},addInfo(e,t,r){const s=Math.random().toString(36).substring(7);return ls({id:s,message:e,details:t,type:"info",timeout:r}),s},addWarning(e,t,r){const s=Math.random().toString(36).substring(7);return ls({id:s,message:e,details:t,type:"warning",timeout:r}),s},addYesNo(e,t,r,s,o,l){const u=Math.random().toString(36).substring(7);return ls({id:u,message:e,details:t,type:"yes-no",timeout:r,onYes:s,onNo:o,onTimeout:l}),u},remove(e){const t=new CustomEvent("notification.remove",{detail:e});window.dispatchEvent(t)},clear(){const e=new CustomEvent("notification.clear");window.dispatchEvent(e)}},h3=async()=>await(await fetch("/api/config/first-time")).json(),a6=async(e,t)=>{await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:e,secret:t})})},p3=async()=>{const e=await fetch("/api/spotify/authorise");return e.status==200?(lm.addYesNo("Do you want to authorise reAudioPlayer ONE to access your Spotify account?","You will be redirected to Spotify to authorise reAudioPlayer ONE to access your account.",null,async()=>{window.location.href=await e.text()}),!1):e.status==204},l6=async()=>await(await fetch("/api/config")).json(),u6=async e=>{await fetch("/api/config",{method:"PUT",body:JSON.stringify(e)})},g3=1.1,qh=window.localStorage.getItem("renderedIcons"),Go=qh?new Map(JSON.parse(qh)):new Map,m3=()=>{window.localStorage.setItem("renderedIcons",JSON.stringify([...Go]))},ca=(e,t,r=500)=>e||um(t,r),um=async(e,t=500)=>{await document.fonts.ready;const r=`${g3}-${e}-${t}`;if(Go.has(r))return Go.get(r);const s=document.createElement("canvas"),o=s.getContext("2d"),l=getComputedStyle(document.documentElement).getPropertyValue("--bg-gradient-placeholder"),u=l.match(/(#[0-9a-f]{3,6})/g)[0],c=l.match(/(#[0-9a-f]{3,6})/g)[1],d=o.createLinearGradient(t,0,0,t);d.addColorStop(0,u),d.addColorStop(1,c);const h=t;o.canvas.width=h,o.canvas.height=h,o.fillStyle=d,o.fillRect(0,0,h,h),o.font=`300 ${h}px Material Symbols Rounded`,o.fillStyle="whitesmoke",o.fillText(e,0,h);const g=s.toDataURL();return Go.set(r,g),m3(),g};/*! Fast Average Color | © 2022 Denis Seleznev | MIT License | https://github.com/fast-average-color/fast-average-color */function v3(e){var t=e.toString(16);return t.length===1?"0"+t:t}function Kh(e){return"#"+e.map(v3).join("")}function y3(e){var t=(e[0]*299+e[1]*587+e[2]*114)/1e3;return t<128}function _3(e){return e?b3(e)?e:[e]:[]}function b3(e){return Array.isArray(e[0])}function gc(e,t,r){for(var s=0;s=t-r&&e<=t+r}function x3(e,t,r){var s=r[0],o=r[1],l=r[2],u=r[3],c=r[4],d=e[t+3],h=Ho(d,u,c);return u?!!(!d&&h||Ho(e[t],s,c)&&Ho(e[t+1],o,c)&&Ho(e[t+2],l,c)&&h):h}function C3(e,t,r){for(var s={},o=24,l=r.ignoredColor,u=r.step,c=[0,0,0,0,0],d=0;dl?(d=o/l,u=$u,c=Math.round(u/d)):(d=l/o,c=$u,u=Math.round(c/d)),(u>o||c>l||u"u";function B3(){return $3?fm?new OffscreenCanvas(1,1):null:document.createElement("canvas")}var D3="FastAverageColor: ";function Ln(e){return Error(D3+e)}function us(e,t){t||console.error(e)}var N3=function(){function e(){this.canvas=null,this.ctx=null}return e.prototype.getColorAsync=function(t,r){if(!t)return Promise.reject(Ln("call .getColorAsync() without resource."));if(typeof t=="string"){if(typeof Image>"u")return Promise.reject(Ln("resource as string is not supported in this environment"));var s=new Image;return s.crossOrigin=r&&r.crossOrigin||"",s.src=t,this.bindImageEvents(s,r)}else{if(cm(t)&&!t.complete)return this.bindImageEvents(t,r);var o=this.getColor(t,r);return o.error?Promise.reject(o.error):Promise.resolve(o)}},e.prototype.getColor=function(t,r){r=r||{};var s=zh(r);if(!t){var o=Ln("call .getColor(null) without resource");return us(o,r.silent),this.prepareResult(s,o)}var l=O3(t),u=L3(l,r);if(!u.srcWidth||!u.srcHeight||!u.destWidth||!u.destHeight){var o=Ln('incorrect sizes for resource "'.concat(Gh(t),'"'));return us(o,r.silent),this.prepareResult(s,o)}if(!this.canvas&&(this.canvas=B3(),!this.canvas)){var o=Ln("OffscreenCanvas is not supported in this browser");return us(o,r.silent),this.prepareResult(s,o)}if(!this.ctx){if(this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),!this.ctx){var o=Ln("Canvas Context 2D is not supported in this browser");return us(o,r.silent),this.prepareResult(s)}this.ctx.imageSmoothingEnabled=!1}this.canvas.width=u.destWidth,this.canvas.height=u.destHeight;try{this.ctx.clearRect(0,0,u.destWidth,u.destHeight),this.ctx.drawImage(t,u.srcLeft,u.srcTop,u.srcWidth,u.srcHeight,0,0,u.destWidth,u.destHeight);var c=this.ctx.getImageData(0,0,u.destWidth,u.destHeight).data;return this.prepareResult(this.getColorFromArray4(c,r))}catch(d){var o=Ln("security error (CORS) for resource ".concat(Gh(t),`. +Details: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image`));return us(o,r.silent),!r.silent&&console.error(d),this.prepareResult(s,o)}},e.prototype.getColorFromArray4=function(t,r){r=r||{};var s=4,o=t.length,l=zh(r);if(o{const r=e.hex,s=Math.round(t*255).toString(16);return r+s},W3=async(e,t,r=.25)=>{if(!si().ambient)return;var o=e.width/100,l=e.height/100,u=e.naturalWidth,c=e.naturalHeight;const d=await Promise.all([ms.getColorAsync(t,{height:l}),ms.getColorAsync(t,{left:u-o,width:o}),ms.getColorAsync(t,{width:o}),ms.getColorAsync(t,{top:c-l,height:l})]);o*=40,l*=40;var h=vs(d[0],r),g=vs(d[1],r),m=vs(d[2],r),p=vs(d[3],r);const x=" 10px",E=` ${o}px `,B=o+"px",$=l+"px";e.style.boxShadow=["0 -".concat($," ").concat(E," ").concat(x," ").concat(h),"".concat(B," 0 ").concat(E," ").concat(x," ").concat(g),"0 ".concat($," ").concat(E," ").concat(x," ").concat(m),"-".concat(B," 0 ").concat(E," ").concat(x," ").concat(p)].join(", ")},F3=async(e,t,r="to top right",s=.2)=>{if(!si().ambient)return;const l=await ms.getColorAsync(t),u=vs(l,s),c=`linear-gradient(${r}, ${u}, transparent)`;e.style.background=c},Wa=Le({theme:"dynamic"});window.getThemes=()=>{window.themes=[];for(const e of Object.keys(ti))for(const t of Object.keys(ti[e]))window.themes.includes(t)||window.themes.push(t);return window.themes};window.getCurrentTheme=()=>Wa.value.theme;window.setTheme=e=>{if(window.getThemes().includes(e)){Wa.theme=e;for(const t of Object.keys(ti)){const r=ti[t];t!="coverAsBackground"&&document.documentElement.style.setProperty(`--${t}`,r[e]??r.dark)}}};window.setTheme(Wa.theme||"dynamic");window.getCurrentThemeProperty=e=>{const t=ti[e];return t[Wa.theme]??t.dark};const V3=window,H3=["alt","src"],Es=ct({__name:"Cover",props:{src:{type:String,required:!0},type:{type:String,required:!1,default:"track"},placeholder:{type:String,required:!1},withAmbient:{type:Boolean,required:!1,default:!1},ambientOpacity:{type:Number,required:!1,default:.2}},setup(e){const t=e,r=Ye(()=>t.placeholder?t.placeholder:t.type==="track"?"music_note":"queue_music"),s=Le(null),o=async()=>{if(s.value=await um(r.value),!s.value){setTimeout(()=>{o()},100);return}},l=()=>{s.value=rm(t.src,t.type),s.value||o()};ht(()=>t.src,l),l();const u=Le(null),c=async()=>{if(!t.withAmbient||!u.value||!V3.getCurrentThemeProperty("supportsAmbient"))return;const d=await ca(s.value,r.value);console.log(d),W3(u.value,d,t.ambientOpacity)};return(d,h)=>(pe(),Se("img",{ref_key:"element",ref:u,alt:t.type,src:Q(ca)(s.value,Q(r)),class:"cover",onError:o,onLoad:c},null,40,H3))}});const Pt=(e,t)=>{const r=e.__vccOpts||e;for(const[s,o]of t)r[s]=o;return r},U3={name:"NavEntry",components:{Cover:Es},props:{icon:String,img:String,name:String,href:String,hasChildSites:Boolean,parentHref:String,minimised:Boolean},computed:{showImg(){return this.img?!0:/^\/playlist\/\w{22}$/.exec(this.href)},active(){return this.hasChildSites?this.$route.path.includes(this.href)?!0:(console.log(this.parentHref),this.parentHref&&this.$route.path.includes(this.parentHref)):!1}}},j3={key:0,class:"material-icons-round icon"},q3={key:2,class:"name hideIfMobile"};function K3(e,t,r,s,o,l){const u=$i("Cover"),c=$i("router-link");return pe(),ut(c,{to:r.href,class:"link"},{default:Ht(()=>[fe("div",{class:it([{active:l.active,img:l.showImg},"navEntry"])},[r.icon?(pe(),Se("span",j3,rt(r.icon),1)):nt("",!0),l.showImg?(pe(),ut(u,{key:1,src:r.img,class:"icon",type:"playlist"},null,8,["src"])):nt("",!0),r.minimised?nt("",!0):(pe(),Se("span",q3,rt(r.name),1))],2)]),_:1},8,["to"])}const kn=Pt(U3,[["render",K3],["__scopeId","data-v-148b3d73"]]),z3=e=>(Sa("data-v-50cefd67"),e=e(),Oa(),e),Z3={class:"sidebar drop-shadow-xl"},G3={class:"static"},Y3={key:0},J3=z3(()=>fe("br",{class:"hideIfMobile"},null,-1)),X3={key:0,class:"hideIfMobile"},Q3={class:"playlistList hideIfMobile"},eP=["src"],tP={name:"Sidebar",components:{NavEntry:kn},watch:{minimised(){this.collapseSidebar()}},mounted(){this.collapseSidebar()},computed:{minimised(){return!0}},methods:{hideCover(){this.$emit("expandCover",!1)},collapseSidebar(){document.documentElement.style.setProperty("--w-sidebar",this.minimised?"44px":"200px")}}},nP=ct({...tP,setup(e){const t=Qt(),r=Wi(),s=Ye(()=>t.song.cover),o=Ye(()=>r.playlists),l=si();return(u,c)=>(pe(),Se("div",Z3,[fe("div",G3,[ge(kn,{hasChildSites:!0,minimised:u.minimised,href:"/collection/playlists",icon:"library_music",name:"Your Library",parentHref:"/collection"},null,8,["minimised"]),ge(kn,{minimised:u.minimised,href:"/discover",icon:"explore",name:"Discover"},null,8,["minimised"]),Q(l).sidebar.news||Q(l).sidebar.sports?(pe(),Se("br",Y3)):nt("",!0),Q(l).sidebar.news?(pe(),ut(kn,{key:1,hasChildSites:!0,minimised:u.minimised,href:"/news",icon:"newspaper",name:"News"},null,8,["minimised"])):nt("",!0),Q(l).sidebar.sports?(pe(),ut(kn,{key:2,hasChildSites:!0,minimised:u.minimised,href:"/sports",icon:"sports_soccer",name:"Sports"},null,8,["minimised"])):nt("",!0),J3,ge(kn,{minimised:u.minimised,class:"hideIfMobile",href:"/playlist/create",icon:"add_circle",name:"Create Playlist"},null,8,["minimised"]),ge(kn,{minimised:u.minimised,href:"/collection/tracks",icon:"favorite",name:"Liked Songs"},null,8,["minimised"])]),Q(o).length?(pe(),Se("hr",X3)):nt("",!0),fe("div",Q3,[(pe(!0),Se(st,null,Fs(Q(o).filter(d=>d.type!="special"),(d,h)=>(pe(),ut(kn,{key:h,href:d.href,img:d.cover,minimised:u.minimised,name:d.name},null,8,["href","img","minimised","name"]))),128))]),Q(l).player.expandedCover?(pe(),Se("img",{key:1,src:Q(s),class:"cover hideIfMobile",onClick:c[0]||(c[0]=d=>Q(l).player.expandedCover=!1)},null,8,eP)):nt("",!0)]))}});const dm=Pt(nP,[["__scopeId","data-v-50cefd67"]]);const rP={name:"Body",data(){return{maximised:!1}},methods:{onMaximiseChange(e){this.maximised=e,this.$emit("maximise",e)}}};function iP(e,t,r,s,o,l){const u=$i("router-view");return pe(),Se("div",{class:it(["body",{maximised:o.maximised}])},[ge(u,{onMaximise:l.onMaximiseChange,class:"view"},null,8,["onMaximise"])],2)}const hm=Pt(rP,[["render",iP],["__scopeId","data-v-772535b8"]]),sP={class:"html-audio"},oP=["src"],aP=ct({__name:"HtmlAudio",setup(e,{expose:t}){const r=Qt(),s=Le(null);let o=!1;Ut(()=>{s.value.src=null,s.value.src=r.stream,s.value.load(),s.value.onloadedmetadata=()=>{s.value&&(r.setDuration(s.value.duration),(o||r.playing)&&(u(),o=!1))}}),ht(()=>r.song.id,()=>{s.value.paused||(o=!0),s.value.src=null,s.value.src=r.stream,s.value.load(),r.setPlaying(!s.value.paused)});const l=()=>{o=!0,r.onSongEnded()},u=()=>{try{s.value.play()}catch{}},c=()=>{s.value.pause()},d=p=>{s.value.currentTime=p},h=p=>{let x=p/100;x=Math.min(Math.max(x,0),1),s.value.volume=x},g=p=>{s.value.muted=p};return Ut(()=>{h(r.volume)}),t({play:u,pause:c,seek:d,setVolume:h,setMute:g}),(p,x)=>(pe(),Se("div",sP,[fe("audio",{ref_key:"audio",ref:s,src:Q(r).stream,onEnded:l,onPause:x[0]||(x[0]=E=>Q(r).setPlaying(!1)),onPlay:x[1]||(x[1]=E=>Q(r).setPlaying(!0)),onTimeupdate:x[2]||(x[2]=E=>{var B;return Q(r).setProgress((B=s.value)==null?void 0:B.currentTime)})},null,40,oP)]))}});const lP={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e?e.scrollWidth>e.clientWidth:!1},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}},props:{text:String},watch:{text(){this.update()}}},uP={key:0,class:"replacer"},cP={key:0,class:"overlay"};function fP(e,t,r,s,o,l){return pe(),Se("div",{class:it([{marquee:o.isMarquee},"marqueeWrapper"])},[fe("span",{ref:"marquee",class:it({marquee:o.isMarquee})},[Ia(rt(r.text)+" ",1),o.isMarquee?(pe(),Se("span",uP,rt(r.text),1)):nt("",!0)],2),o.isMarquee?(pe(),Se("div",cP)):nt("",!0)],2)}const tr=Pt(lP,[["render",fP],["__scopeId","data-v-625a8655"]]);const dP={props:{modelValue:{type:Number,required:!0},max:{type:Number,default:100}},watch:{modelValue(){this.value=this.modelValue}},computed:{percentage(){return Math.min(1,this.value/this.max)*100}},methods:{seek(e){const t=e.offsetX,r=this.$el.offsetWidth;this.value=t/r*this.max,this.$emit("change",this.value);try{this.$emit("update:modelValue",this.value)}catch{}}},data(){return{hover:!1,value:this.modelValue||0}}},hP={class:"progressBar__track"};function pP(e,t,r,s,o,l){return pe(),Se("div",{ref:"el",class:"progressBar",onClick:t[0]||(t[0]=(...u)=>l.seek&&l.seek(...u)),onMouseenter:t[1]||(t[1]=u=>o.hover=!0),onMouseleave:t[2]||(t[2]=u=>o.hover=!1)},[fe("div",hP,[fe("div",{class:it([{hover:o.hover},"progressBar__progress"]),style:Lr({width:`${l.percentage}%`})},null,6)])],544)}const lu=Pt(dP,[["render",pP],["__scopeId","data-v-80b99d67"]]),gP={class:"dropdown"},mP=["onClick"],vP={class:"material-symbols-rounded"},yP={key:0,class:"material-symbols-rounded"},_P=ct({__name:"IconDropdown",props:{modelValue:{type:String,required:!0},icon:{type:String,required:!0},options:{type:Array,required:!0}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=Le(r.options),o=Le(r.modelValue),l=Le(!1);ht(r,d=>{o.value=d.modelValue,s.value=d.options},{deep:!0});const u=d=>{o.value=d,t("update:modelValue",d),l.value=!1},c=Le(null);return ht(l,d=>{$r(()=>{if(d){const h=c.value.getBoundingClientRect();window.innerHeight-h.top>h.height?(c.value.style.top="100%",c.value.style.bottom="auto"):(c.value.style.top="auto",c.value.style.bottom="100%"),h.left<0?(c.value.style.left="0",c.value.style.right="auto"):h.right>window.innerWidth&&(c.value.style.left="auto",c.value.style.right="0")}})}),document.addEventListener("click",()=>{l.value=!1}),(d,h)=>(pe(),Se("div",gP,[fe("span",{class:"dropdown__selected material-symbols-rounded ms-wght-400",onClick:h[0]||(h[0]=Bs(g=>l.value=!l.value,["stop"]))},rt(e.icon),1),l.value?(pe(),Se("div",{key:0,ref_key:"trueDropdown",ref:c,class:it([{expanded:l.value},"dropdown__options"])},[(pe(!0),Se(st,null,Fs(s.value,g=>(pe(),Se("div",{key:g.value,class:"dropdown__option",onClick:Bs(m=>u(g.value),["stop"])},[fe("span",vP,rt(g.icon),1),fe("span",null,rt(g.label),1),o.value==g.value?(pe(),Se("span",yP,"check")):nt("",!0)],8,mP))),128))],2)):nt("",!0)]))}});const uu=Pt(_P,[["__scopeId","data-v-f0ed46f1"]]),Vn=document.createElement("video");Vn.style.position="absolute";Vn.style.top="0";Vn.style.left="0";Vn.style.width="500px";Vn.style.height="500px";Vn.style.zIndex="-1000";document.body.appendChild(Vn);const Nn=Le("error"),Uo=async()=>{if(Nn.value=="error"||Nn.value=="loading")return!1;await Vn.requestPictureInPicture()},pm=()=>{const e=Qt(),t=si();let r;const s=async o=>{if(!t.player.pictureInPicture||e.song.id<0)return!1;r==null||r.terminate(),r=new Worker("/assets/ffmpeg/ffmpeg-worker-mp4.js"),Nn.value="loading",console.log("loading new cover",o);const u=await(await fetch(o)).blob(),c=URL.createObjectURL(u);Vn.src="";const d="t.jpg",h=[],g=new Image;g.src=c,g.style.width="100%",g.style.height="100%",g.onload=()=>{const E=document.createElement("canvas");E.width=g.width,E.height=g.height,E.getContext("2d").drawImage(g,0,0);const $=E.toDataURL("image/jpeg",1),k=m($);h.push({name:d,data:k}),console.log("loaded image",h),requestAnimationFrame(p)};function m(E){var B=E.replace(/^data[^,]+,/,""),$=window.atob(B),k=$.length,y=new Uint8Array(new ArrayBuffer(k));for(let O=0;O{Vn.src=webkitURL.createObjectURL(E)}};return ht(()=>t.player.pictureInPicture,async o=>{console.log("pictureInPicture enabled",o),o?(pm(),o=!0,Nn.value="error",await s(e.song.cover)):(r==null||r.terminate(),o=!1,Nn.value="error")}),t.player.pictureInPicture?(ht(()=>e.song.cover,s),!0):!1},bP={class:"loader"},wP=ct({__name:"Spinner",setup(e){const t=Le(null);return Ut(()=>{var l,u;const s=((l=t.value)==null?void 0:l.clientWidth)??0,o=8/80;for(const c of((u=t.value)==null?void 0:u.children)??[])c.style.width=`${s*.8}px`,c.style.height=`${s*.8}px`,c.style.borderWidth=`${s*o}px`,c.style.margin=`${s*o}px`}),(r,s)=>(pe(),Se("span",bP))}});const Yh=Pt(wP,[["__scopeId","data-v-a886b69f"]]);var cs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function AP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function c6(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){if(this instanceof s){var o=[null];o.push.apply(o,arguments);var l=Function.bind.apply(t,o);return new l}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),r}var Bu={},PP={get exports(){return Bu},set exports(e){Bu=e}};/*! + * wavesurfer.js 6.4.0 (2022-11-05) + * https://wavesurfer-js.org + * @license BSD-3-Clause + */(function(e,t){(function(s,o){e.exports=o()})(self,()=>(()=>{var r={"./src/drawer.canvasentry.js":(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=m(d("./src/util/style.js")),g=m(d("./src/util/get-id.js"));function m($){return $&&$.__esModule?$:{default:$}}function p($,k){if(!($ instanceof k))throw new TypeError("Cannot call a class as a function")}function x($,k){for(var y=0;y=w;Y--)R=O[2*Y+1]||0,b=Math.round(R/A),y.lineTo((Y-Z)*L+this.halfPixel,C-b);y.lineTo((w-Z)*L,C-Math.round((O[2*w+1]||0)/A)),y.closePath(),y.fill()}}},{key:"destroy",value:function(){this.waveCtx=null,this.wave=null,this.progressCtx=null,this.progress=null}},{key:"getImage",value:function(y,O,W){var U=this;if(W==="blob")return new Promise(function(z){U.wave.toBlob(z,y,O)});if(W==="dataURL")return this.wave.toDataURL(y,O)}}]),$}();c.default=B,u.exports=c.default},"./src/drawer.js":(u,c,d)=>{function h(I){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(q){return typeof q}:function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q},h(I)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var g=p(d("./src/util/index.js"));function m(I){if(typeof WeakMap!="function")return null;var q=new WeakMap,Z=new WeakMap;return(m=function(w){return w?Z:q})(I)}function p(I,q){if(!q&&I&&I.__esModule)return I;if(I===null||h(I)!=="object"&&typeof I!="function")return{default:I};var Z=m(q);if(Z&&Z.has(I))return Z.get(I);var V={},w=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var T in I)if(T!=="default"&&Object.prototype.hasOwnProperty.call(I,T)){var L=w?Object.getOwnPropertyDescriptor(I,T):null;L&&(L.get||L.set)?Object.defineProperty(V,T,L):V[T]=I[T]}return V.default=I,Z&&Z.set(I,V),V}function x(I,q){if(!(I instanceof q))throw new TypeError("Cannot call a class as a function")}function E(I,q){for(var Z=0;Z"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function z(I){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Z){return Z.__proto__||Object.getPrototypeOf(Z)},z(I)}var H=function(I){$(Z,I);var q=y(Z);function Z(V,w){var T;return x(this,Z),T=q.call(this),T.container=g.withOrientation(V,w.vertical),T.params=w,T.width=0,T.height=w.height*T.params.pixelRatio,T.lastPos=0,T.wrapper=null,T}return B(Z,[{key:"style",value:function(w,T){return g.style(w,T)}},{key:"createWrapper",value:function(){this.wrapper=g.withOrientation(this.container.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.wrapper,{display:"block",position:"relative",userSelect:"none",webkitUserSelect:"none",height:this.params.height+"px"}),(this.params.fillParent||this.params.scrollParent)&&this.style(this.wrapper,{width:"100%",cursor:this.params.hideCursor?"none":"auto",overflowX:this.params.hideScrollbar?"hidden":"auto",overflowY:"hidden"}),this.setupWrapperEvents()}},{key:"handleEvent",value:function(w,T){!T&&w.preventDefault();var L=g.withOrientation(w.targetTouches?w.targetTouches[0]:w,this.params.vertical).clientX,C=this.wrapper.getBoundingClientRect(),A=this.width,F=this.getWidth(),R=this.getProgressPixels(C,L),b;return!this.params.fillParent&&A=A.bottom-C)return}w.params.interact&&w.fireEvent("click",T,w.handleEvent(T))}),this.wrapper.addEventListener("dblclick",function(T){w.params.interact&&w.fireEvent("dblclick",T,w.handleEvent(T))}),this.wrapper.addEventListener("scroll",function(T){return w.fireEvent("scroll",T)})}},{key:"drawPeaks",value:function(w,T,L,C){this.setWidth(T)||this.clearWave(),this.params.barWidth?this.drawBars(w,0,L,C):this.drawWave(w,0,L,C)}},{key:"resetScroll",value:function(){this.wrapper!==null&&(this.wrapper.scrollLeft=0)}},{key:"recenter",value:function(w){var T=this.wrapper.scrollWidth*w;this.recenterOnPosition(T,!0)}},{key:"recenterOnPosition",value:function(w,T){var L=this.wrapper.scrollLeft,C=~~(this.wrapper.clientWidth/2),A=this.wrapper.scrollWidth-this.wrapper.clientWidth,F=w-C,R=F-L;if(A!=0){if(!T&&-C<=R&&R=T){if(this.lastPos=L,this.params.scrollParent&&this.params.autoCenter){var C=~~(this.wrapper.scrollWidth*w);this.recenterOnPosition(C,this.params.autoCenterImmediately)}this.updateProgress(L)}}},{key:"destroy",value:function(){this.unAll(),this.wrapper&&(this.wrapper.parentNode==this.container.domElement&&this.container.removeChild(this.wrapper.domElement),this.wrapper=null)}},{key:"updateCursor",value:function(){}},{key:"updateSize",value:function(){}},{key:"drawBars",value:function(w,T,L,C){}},{key:"drawWave",value:function(w,T,L,C){}},{key:"clearWave",value:function(){}},{key:"updateProgress",value:function(w){}}]),Z}(g.Observer);c.default=H,u.exports=c.default},"./src/drawer.multicanvas.js":(u,c,d)=>{function h(V){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w},h(V)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var g=B(d("./src/drawer.js")),m=E(d("./src/util/index.js")),p=B(d("./src/drawer.canvasentry.js"));function x(V){if(typeof WeakMap!="function")return null;var w=new WeakMap,T=new WeakMap;return(x=function(C){return C?T:w})(V)}function E(V,w){if(!w&&V&&V.__esModule)return V;if(V===null||h(V)!=="object"&&typeof V!="function")return{default:V};var T=x(w);if(T&&T.has(V))return T.get(V);var L={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var A in V)if(A!=="default"&&Object.prototype.hasOwnProperty.call(V,A)){var F=C?Object.getOwnPropertyDescriptor(V,A):null;F&&(F.get||F.set)?Object.defineProperty(L,A,F):L[A]=V[A]}return L.default=V,T&&T.set(V,L),L}function B(V){return V&&V.__esModule?V:{default:V}}function $(V,w){if(!(V instanceof w))throw new TypeError("Cannot call a class as a function")}function k(V,w){for(var T=0;T"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function q(V){return q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(T){return T.__proto__||Object.getPrototypeOf(T)},q(V)}var Z=function(V){O(T,V);var w=U(T);function T(L,C){var A;return $(this,T),A=w.call(this,L,C),A.maxCanvasWidth=C.maxCanvasWidth,A.maxCanvasElementWidth=Math.round(C.maxCanvasWidth/C.pixelRatio),A.hasProgressCanvas=C.waveColor!=C.progressColor,A.halfPixel=.5/C.pixelRatio,A.canvases=[],A.progressWave=null,A.EntryClass=p.default,A.canvasContextAttributes=C.drawingContextAttributes,A.overlap=2*Math.ceil(C.pixelRatio/2),A.barRadius=C.barRadius||0,A.vertical=C.vertical,A}return y(T,[{key:"init",value:function(){this.createWrapper(),this.createElements()}},{key:"createElements",value:function(){this.progressWave=m.withOrientation(this.wrapper.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.progressWave,{position:"absolute",zIndex:3,left:0,top:0,bottom:0,overflow:"hidden",width:"0",display:"none",boxSizing:"border-box",borderRightStyle:"solid",pointerEvents:"none"}),this.addCanvas(),this.updateCursor()}},{key:"updateCursor",value:function(){this.style(this.progressWave,{borderRightWidth:this.params.cursorWidth+"px",borderRightColor:this.params.cursorColor})}},{key:"updateSize",value:function(){for(var C=this,A=Math.round(this.width/this.params.pixelRatio),F=Math.ceil(A/(this.maxCanvasElementWidth+this.overlap));this.canvases.lengthF;)this.removeCanvas();var R=this.maxCanvasWidth+this.overlap,b=this.canvases.length-1;this.canvases.forEach(function(Y,se){se==b&&(R=C.width-C.maxCanvasWidth*b),C.updateDimensions(Y,R,C.height),Y.clearWave()})}},{key:"addCanvas",value:function(){var C=new this.EntryClass;C.canvasContextAttributes=this.canvasContextAttributes,C.hasProgressCanvas=this.hasProgressCanvas,C.halfPixel=this.halfPixel;var A=this.maxCanvasElementWidth*this.canvases.length,F=m.withOrientation(this.wrapper.appendChild(document.createElement("canvas")),this.params.vertical);if(this.style(F,{position:"absolute",zIndex:2,left:A+"px",top:0,bottom:0,height:"100%",pointerEvents:"none"}),C.initWave(F),this.hasProgressCanvas){var R=m.withOrientation(this.progressWave.appendChild(document.createElement("canvas")),this.params.vertical);this.style(R,{position:"absolute",left:A+"px",top:0,bottom:0,height:"100%"}),C.initProgress(R)}this.canvases.push(C)}},{key:"removeCanvas",value:function(){var C=this.canvases[this.canvases.length-1];C.wave.parentElement.removeChild(C.wave.domElement),this.hasProgressCanvas&&C.progress.parentElement.removeChild(C.progress.domElement),C&&(C.destroy(),C=null),this.canvases.pop()}},{key:"updateDimensions",value:function(C,A,F){var R=Math.round(A/this.params.pixelRatio),b=Math.round(this.width/this.params.pixelRatio);C.updateDimensions(R,b,A,F),this.style(this.progressWave,{display:"block"})}},{key:"clearWave",value:function(){var C=this;m.frame(function(){C.canvases.forEach(function(A){return A.clearWave()})})()}},{key:"drawBars",value:function(C,A,F,R){var b=this;return this.prepareDraw(C,A,F,R,function(Y){var se=Y.absmax,me=Y.hasMinVals;Y.height;var ve=Y.offsetY,Ie=Y.halfH,G=Y.peaks,ne=Y.channelIndex;if(F!==void 0){var ue=me?2:1,be=G.length/ue,Ae=b.params.barWidth*b.params.pixelRatio,je=b.params.barGap===null?Math.max(b.params.pixelRatio,~~(Ae/2)):Math.max(b.params.pixelRatio,b.params.barGap*b.params.pixelRatio),Ce=Ae+je,S=be/b.width,N=F,J=R,ee=N;for(ee;eeoe&&(oe=de),ce+=ue}while(ce1&&arguments[1]!==void 0?arguments[1]:this.params.waveColor,F=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.params.progressColor;C.setFillStyles(A,F)}},{key:"applyCanvasTransforms",value:function(C){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;C.applyCanvasTransforms(A)}},{key:"getImage",value:function(C,A,F){if(F==="blob")return Promise.all(this.canvases.map(function(b){return b.getImage(C,A,F)}));if(F==="dataURL"){var R=this.canvases.map(function(b){return b.getImage(C,A,F)});return R.length>1?R:R[0]}}},{key:"updateProgress",value:function(C){this.style(this.progressWave,{width:C+"px"})}}]),T}(g.default);c.default=Z,u.exports=c.default},"./src/mediaelement-webaudio.js":(u,c,d)=>{function h(q){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Z){return typeof Z}:function(Z){return Z&&typeof Symbol=="function"&&Z.constructor===Symbol&&Z!==Symbol.prototype?"symbol":typeof Z},h(q)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var g=m(d("./src/mediaelement.js"));function m(q){return q&&q.__esModule?q:{default:q}}function p(q,Z){if(!(q instanceof Z))throw new TypeError("Cannot call a class as a function")}function x(q,Z){for(var V=0;V"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function H(q){return H=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(V){return V.__proto__||Object.getPrototypeOf(V)},H(q)}var I=function(q){k(V,q);var Z=O(V);function V(w){var T;return p(this,V),T=Z.call(this,w),T.params=w,T.sourceMediaElement=null,T}return E(V,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer(),this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode()}},{key:"_load",value:function(T,L,C){B(H(V.prototype),"_load",this).call(this,T,L,C),this.createMediaElementSource(T)}},{key:"createMediaElementSource",value:function(T){this.sourceMediaElement=this.ac.createMediaElementSource(T),this.sourceMediaElement.connect(this.analyser)}},{key:"play",value:function(T,L){return this.resumeAudioContext(),B(H(V.prototype),"play",this).call(this,T,L)}},{key:"destroy",value:function(){B(H(V.prototype),"destroy",this).call(this),this.destroyWebAudio()}}]),V}(g.default);c.default=I,u.exports=c.default},"./src/mediaelement.js":(u,c,d)=>{function h(w){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},h(w)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var g=E(d("./src/webaudio.js")),m=x(d("./src/util/index.js"));function p(w){if(typeof WeakMap!="function")return null;var T=new WeakMap,L=new WeakMap;return(p=function(A){return A?L:T})(w)}function x(w,T){if(!T&&w&&w.__esModule)return w;if(w===null||h(w)!=="object"&&typeof w!="function")return{default:w};var L=p(T);if(L&&L.has(w))return L.get(w);var C={},A=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var F in w)if(F!=="default"&&Object.prototype.hasOwnProperty.call(w,F)){var R=A?Object.getOwnPropertyDescriptor(w,F):null;R&&(R.get||R.set)?Object.defineProperty(C,F,R):C[F]=w[F]}return C.default=w,L&&L.set(w,C),C}function E(w){return w&&w.__esModule?w:{default:w}}function B(w,T){if(!(w instanceof T))throw new TypeError("Cannot call a class as a function")}function $(w,T){for(var L=0;L"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Z(w){return Z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},Z(w)}var V=function(w){W(L,w);var T=z(L);function L(C){var A;return B(this,L),A=T.call(this,C),A.params=C,A.media={currentTime:0,duration:0,paused:!0,playbackRate:1,play:function(){},pause:function(){},volume:0},A.mediaType=C.mediaType.toLowerCase(),A.elementPosition=C.elementPosition,A.peaks=null,A.playbackRate=1,A.volume=1,A.isMuted=!1,A.buffer=null,A.onPlayEnd=null,A.mediaListeners={},A}return k(L,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer()}},{key:"_setupMediaListeners",value:function(){var A=this;this.mediaListeners.error=function(){A.fireEvent("error","Error loading media element")},this.mediaListeners.canplay=function(){A.fireEvent("canplay")},this.mediaListeners.ended=function(){A.fireEvent("finish")},this.mediaListeners.play=function(){A.fireEvent("play")},this.mediaListeners.pause=function(){A.fireEvent("pause")},this.mediaListeners.seeked=function(F){A.fireEvent("seek")},this.mediaListeners.volumechange=function(F){A.isMuted=A.media.muted,A.isMuted?A.volume=0:A.volume=A.media.volume,A.fireEvent("volume")},Object.keys(this.mediaListeners).forEach(function(F){A.media.removeEventListener(F,A.mediaListeners[F]),A.media.addEventListener(F,A.mediaListeners[F])})}},{key:"createTimer",value:function(){var A=this,F=function R(){A.isPaused()||(A.fireEvent("audioprocess",A.getCurrentTime()),m.frame(R)())};this.on("play",F),this.on("pause",function(){A.fireEvent("audioprocess",A.getCurrentTime())})}},{key:"load",value:function(A,F,R,b){var Y=document.createElement(this.mediaType);Y.controls=this.params.mediaControls,Y.autoplay=this.params.autoplay||!1,Y.preload=b??"auto",Y.src=A,Y.style.width="100%";var se=F.querySelector(this.mediaType);se&&F.removeChild(se),F.appendChild(Y),this._load(Y,R,b)}},{key:"loadElt",value:function(A,F){A.controls=this.params.mediaControls,A.autoplay=this.params.autoplay||!1,this._load(A,F,A.preload)}},{key:"_load",value:function(A,F,R){if(!(A instanceof HTMLMediaElement)||typeof A.addEventListener>"u")throw new Error("media parameter is not a valid media element");typeof A.load=="function"&&!(F&&R=="none")&&A.load(),this.media=A,this._setupMediaListeners(),this.peaks=F,this.onPlayEnd=null,this.buffer=null,this.isMuted=A.muted,this.setPlaybackRate(this.playbackRate),this.setVolume(this.volume)}},{key:"isPaused",value:function(){return!this.media||this.media.paused}},{key:"getDuration",value:function(){if(this.explicitDuration)return this.explicitDuration;var A=(this.buffer||this.media).duration;return A>=1/0&&(A=this.media.seekable.end(0)),A}},{key:"getCurrentTime",value:function(){return this.media&&this.media.currentTime}},{key:"getPlayedPercents",value:function(){return this.getCurrentTime()/this.getDuration()||0}},{key:"getPlaybackRate",value:function(){return this.playbackRate||this.media.playbackRate}},{key:"setPlaybackRate",value:function(A){this.playbackRate=A||1,this.media.playbackRate=this.playbackRate}},{key:"seekTo",value:function(A){A!=null&&!isNaN(A)&&(this.media.currentTime=A),this.clearPlayEnd()}},{key:"play",value:function(A,F){this.seekTo(A);var R=this.media.play();return F&&this.setPlayEnd(F),R}},{key:"pause",value:function(){var A;return this.media&&(A=this.media.pause()),this.clearPlayEnd(),A}},{key:"setPlayEnd",value:function(A){var F=this;this.clearPlayEnd(),this._onPlayEnd=function(R){R>=A&&(F.pause(),F.seekTo(A))},this.on("audioprocess",this._onPlayEnd)}},{key:"clearPlayEnd",value:function(){this._onPlayEnd&&(this.un("audioprocess",this._onPlayEnd),this._onPlayEnd=null)}},{key:"getPeaks",value:function(A,F,R){return this.buffer?y(Z(L.prototype),"getPeaks",this).call(this,A,F,R):this.peaks||[]}},{key:"setSinkId",value:function(A){return A?this.media.setSinkId?this.media.setSinkId(A):Promise.reject(new Error("setSinkId is not supported in your browser")):Promise.reject(new Error("Invalid deviceId: "+A))}},{key:"getVolume",value:function(){return this.volume}},{key:"setVolume",value:function(A){this.volume=A,this.media.volume!==this.volume&&(this.media.volume=this.volume)}},{key:"setMute",value:function(A){this.isMuted=this.media.muted=A}},{key:"destroy",value:function(){var A=this;this.pause(),this.unAll(),this.destroyed=!0,Object.keys(this.mediaListeners).forEach(function(F){A.media&&A.media.removeEventListener(F,A.mediaListeners[F])}),this.params.removeMediaElementOnDestroy&&this.media&&this.media.parentNode&&this.media.parentNode.removeChild(this.media),this.media=null}}]),L}(g.default);c.default=V,u.exports=c.default},"./src/peakcache.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function d(p,x){if(!(p instanceof x))throw new TypeError("Cannot call a class as a function")}function h(p,x){for(var E=0;E{Object.defineProperty(c,"__esModule",{value:!0}),c.default=p;var h=m(d("./src/util/max.js")),g=m(d("./src/util/min.js"));function m(x){return x&&x.__esModule?x:{default:x}}function p(x){var E=(0,h.default)(x),B=(0,g.default)(x);return-B>E?-B:E}u.exports=c.default},"./src/util/clamp.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h,g,m){return Math.min(Math.max(g,h),m)}u.exports=c.default},"./src/util/fetch.js":(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=B;var h=g(d("./src/util/observer.js"));function g($){return $&&$.__esModule?$:{default:$}}function m($,k){if(!($ instanceof k))throw new TypeError("Cannot call a class as a function")}function p($,k){for(var y=0;y{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var h=g(d("./src/util/request-animation-frame.js"));function g(p){return p&&p.__esModule?p:{default:p}}function m(p){return function(){for(var x=arguments.length,E=new Array(x),B=0;B{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h){return h===void 0&&(h="wavesurfer_"),h+Math.random().toString(32).substring(2)}u.exports=c.default},"./src/util/index.js":(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Observer",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(c,"absMax",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(c,"clamp",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(c,"debounce",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(c,"fetchFile",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(c,"frame",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(c,"getId",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(c,"ignoreSilenceMode",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(c,"max",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(c,"min",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(c,"preventClick",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(c,"requestAnimationFrame",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(c,"style",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(c,"withOrientation",{enumerable:!0,get:function(){return U.default}});var h=H(d("./src/util/get-id.js")),g=H(d("./src/util/max.js")),m=H(d("./src/util/min.js")),p=H(d("./src/util/absMax.js")),x=H(d("./src/util/observer.js")),E=H(d("./src/util/style.js")),B=H(d("./src/util/request-animation-frame.js")),$=H(d("./src/util/frame.js")),k=H(d("./node_modules/debounce/index.js")),y=H(d("./src/util/prevent-click.js")),O=H(d("./src/util/fetch.js")),W=H(d("./src/util/clamp.js")),U=H(d("./src/util/orientation.js")),z=H(d("./src/util/silence-mode.js"));function H(I){return I&&I.__esModule?I:{default:I}}},"./src/util/max.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h){var g=-1/0;return Object.keys(h).forEach(function(m){h[m]>g&&(g=h[m])}),g}u.exports=c.default},"./src/util/min.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h){var g=Number(1/0);return Object.keys(h).forEach(function(m){h[m]{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function d(p,x){if(!(p instanceof x))throw new TypeError("Cannot call a class as a function")}function h(p,x){for(var E=0;E=0;k--)$[k]==B&&$.splice(k,1);else $.length=0}}},{key:"unAll",value:function(){this.handlers=null}},{key:"once",value:function(E,B){var $=this,k=function y(){for(var O=arguments.length,W=new Array(O),U=0;U1?B-1:0),k=1;k{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var d={width:"height",height:"width",overflowX:"overflowY",overflowY:"overflowX",clientWidth:"clientHeight",clientHeight:"clientWidth",clientX:"clientY",clientY:"clientX",scrollWidth:"scrollHeight",scrollLeft:"scrollTop",offsetLeft:"offsetTop",offsetTop:"offsetLeft",offsetHeight:"offsetWidth",offsetWidth:"offsetHeight",left:"top",right:"bottom",top:"left",bottom:"right",borderRightStyle:"borderBottomStyle",borderRightWidth:"borderBottomWidth",borderRightColor:"borderBottomColor"};function h(p,x){return Object.prototype.hasOwnProperty.call(d,p)&&x?d[p]:p}var g=Symbol("isProxy");function m(p,x){return p[g]?p:new Proxy(p,{get:function(B,$,k){if($===g)return!0;if($==="domElement")return B;if($==="style")return m(B.style,x);if($==="canvas")return m(B.canvas,x);if($==="getBoundingClientRect")return function(){return m(B.getBoundingClientRect.apply(B,arguments),x)};if($==="getContext")return function(){return m(B.getContext.apply(B,arguments),x)};var y=B[h($,x)];return typeof y=="function"?y.bind(B):y},set:function(B,$,k){return B[h($,x)]=k,!0}})}u.exports=c.default},"./src/util/prevent-click.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=h;function d(g){g.stopPropagation(),document.body.removeEventListener("click",d,!0)}function h(g){document.body.addEventListener("click",d,!0)}u.exports=c.default},"./src/util/request-animation-frame.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var d=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(h,g){return setTimeout(h,1e3/60)}).bind(window);c.default=d,u.exports=c.default},"./src/util/silence-mode.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(){var h="data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAACcQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA//////////////////////////////////////////////////////////////////8AAABhTEFNRTMuMTAwA8MAAAAAAAAAABQgJAUHQQAB9AAAAnGMHkkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQxAADgnABGiAAQBCqgCRMAAgEAH///////////////7+n/9FTuQsQH//////2NG0jWUGlio5gLQTOtIoeR2WX////X4s9Atb/JRVCbBUpeRUq//////////////////9RUi0f2jn/+xDECgPCjAEQAABN4AAANIAAAAQVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==",g=document.createElement("div");g.innerHTML='';var m=g.children.item(0);m.src=h,m.preload="auto",m.type="audio/mpeg",m.disableRemotePlayback=!0,m.play(),m.remove(),g.remove()}u.exports=c.default},"./src/util/style.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=d;function d(h,g){return Object.keys(g).forEach(function(m){h.style[m]!==g[m]&&(h.style[m]=g[m])}),h}u.exports=c.default},"./src/wavesurfer.js":(u,c,d)=>{function h(C){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(A){return typeof A}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},h(C)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var g=y(d("./src/util/index.js")),m=$(d("./src/drawer.multicanvas.js")),p=$(d("./src/webaudio.js")),x=$(d("./src/mediaelement.js")),E=$(d("./src/peakcache.js")),B=$(d("./src/mediaelement-webaudio.js"));function $(C){return C&&C.__esModule?C:{default:C}}function k(C){if(typeof WeakMap!="function")return null;var A=new WeakMap,F=new WeakMap;return(k=function(b){return b?F:A})(C)}function y(C,A){if(!A&&C&&C.__esModule)return C;if(C===null||h(C)!=="object"&&typeof C!="function")return{default:C};var F=k(A);if(F&&F.has(C))return F.get(C);var R={},b=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in C)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(C,Y)){var se=b?Object.getOwnPropertyDescriptor(C,Y):null;se&&(se.get||se.set)?Object.defineProperty(R,Y,se):R[Y]=C[Y]}return R.default=C,F&&F.set(C,R),R}function O(C,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(A&&A.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),Object.defineProperty(C,"prototype",{writable:!1}),A&&W(C,A)}function W(C,A){return W=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(R,b){return R.__proto__=b,R},W(C,A)}function U(C){var A=I();return function(){var R=q(C),b;if(A){var Y=q(this).constructor;b=Reflect.construct(R,arguments,Y)}else b=R.apply(this,arguments);return z(this,b)}}function z(C,A){if(A&&(h(A)==="object"||typeof A=="function"))return A;if(A!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return H(C)}function H(C){if(C===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C}function I(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function q(C){return q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(F){return F.__proto__||Object.getPrototypeOf(F)},q(C)}function Z(C,A,F){return A in C?Object.defineProperty(C,A,{value:F,enumerable:!0,configurable:!0,writable:!0}):C[A]=F,C}function V(C,A){if(!(C instanceof A))throw new TypeError("Cannot call a class as a function")}function w(C,A){for(var F=0;F=this.getDuration()?this.seekTo(1):this.seekTo(b/this.getDuration())}},{key:"play",value:function(b,Y){var se=this;return this.params.ignoreSilenceMode&&g.ignoreSilenceMode(),this.fireEvent("interaction",function(){return se.play(b,Y)}),this.backend.play(b,Y)}},{key:"setPlayEnd",value:function(b){this.backend.setPlayEnd(b)}},{key:"pause",value:function(){if(!this.backend.isPaused())return this.backend.pause()}},{key:"playPause",value:function(){return this.backend.isPaused()?this.play():this.pause()}},{key:"isPlaying",value:function(){return!this.backend.isPaused()}},{key:"skipBackward",value:function(b){this.skip(-b||-this.params.skipLength)}},{key:"skipForward",value:function(b){this.skip(b||this.params.skipLength)}},{key:"skip",value:function(b){var Y=this.getDuration()||1,se=this.getCurrentTime()||0;se=Math.max(0,Math.min(Y,se+(b||0))),this.seekAndCenter(se/Y)}},{key:"seekAndCenter",value:function(b){this.seekTo(b),this.drawer.recenter(b)}},{key:"seekTo",value:function(b){var Y=this;if(typeof b!="number"||!isFinite(b)||b<0||b>1)throw new Error("Error calling wavesurfer.seekTo, parameter must be a number between 0 and 1!");this.fireEvent("interaction",function(){return Y.seekTo(b)});var se=this.params.backend==="WebAudio",me=this.backend.isPaused();se&&!me&&this.backend.pause();var ve=this.params.scrollParent;this.params.scrollParent=!1,this.backend.seekTo(b*this.getDuration()),this.drawer.progress(b),se&&!me&&this.backend.play(),this.params.scrollParent=ve,this.fireEvent("seek",b)}},{key:"stop",value:function(){this.pause(),this.seekTo(0),this.drawer.progress(0)}},{key:"setSinkId",value:function(b){return this.backend.setSinkId(b)}},{key:"setVolume",value:function(b){this.backend.setVolume(b),this.fireEvent("volume",b)}},{key:"getVolume",value:function(){return this.backend.getVolume()}},{key:"setPlaybackRate",value:function(b){this.backend.setPlaybackRate(b)}},{key:"getPlaybackRate",value:function(){return this.backend.getPlaybackRate()}},{key:"toggleMute",value:function(){this.setMute(!this.isMuted)}},{key:"setMute",value:function(b){if(b===this.isMuted){this.fireEvent("mute",this.isMuted);return}this.backend.setMute?(this.backend.setMute(b),this.isMuted=b):b?(this.savedVolume=this.backend.getVolume(),this.backend.setVolume(0),this.isMuted=!0,this.fireEvent("volume",0)):(this.backend.setVolume(this.savedVolume),this.isMuted=!1,this.fireEvent("volume",this.savedVolume)),this.fireEvent("mute",this.isMuted)}},{key:"getMute",value:function(){return this.isMuted}},{key:"getFilters",value:function(){return this.backend.filters||[]}},{key:"toggleScroll",value:function(){this.params.scrollParent=!this.params.scrollParent,this.drawBuffer()}},{key:"toggleInteraction",value:function(){this.params.interact=!this.params.interact}},{key:"getWaveColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].waveColor:this.params.waveColor}},{key:"setWaveColor",value:function(b){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.params.splitChannelsOptions.channelColors[Y]?this.params.splitChannelsOptions.channelColors[Y].waveColor=b:this.params.waveColor=b,this.drawBuffer()}},{key:"getProgressColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].progressColor:this.params.progressColor}},{key:"setProgressColor",value:function(b,Y){this.params.splitChannelsOptions.channelColors[Y]?this.params.splitChannelsOptions.channelColors[Y].progressColor=b:this.params.progressColor=b,this.drawBuffer()}},{key:"getBackgroundColor",value:function(){return this.params.backgroundColor}},{key:"setBackgroundColor",value:function(b){this.params.backgroundColor=b,g.style(this.container,{background:this.params.backgroundColor})}},{key:"getCursorColor",value:function(){return this.params.cursorColor}},{key:"setCursorColor",value:function(b){this.params.cursorColor=b,this.drawer.updateCursor()}},{key:"getHeight",value:function(){return this.params.height}},{key:"setHeight",value:function(b){this.params.height=b,this.drawer.setHeight(b*this.params.pixelRatio),this.drawBuffer()}},{key:"setFilteredChannels",value:function(b){this.params.splitChannelsOptions.filterChannels=b,this.drawBuffer()}},{key:"drawBuffer",value:function(){var b=Math.round(this.getDuration()*this.params.minPxPerSec*this.params.pixelRatio),Y=this.drawer.getWidth(),se=b,me=0,ve=Math.max(me+Y,se);this.params.fillParent&&(!this.params.scrollParent||b{function h(w){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},h(w)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var g=p(d("./src/util/index.js"));function m(w){if(typeof WeakMap!="function")return null;var T=new WeakMap,L=new WeakMap;return(m=function(A){return A?L:T})(w)}function p(w,T){if(!T&&w&&w.__esModule)return w;if(w===null||h(w)!=="object"&&typeof w!="function")return{default:w};var L=m(T);if(L&&L.has(w))return L.get(w);var C={},A=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var F in w)if(F!=="default"&&Object.prototype.hasOwnProperty.call(w,F)){var R=A?Object.getOwnPropertyDescriptor(w,F):null;R&&(R.get||R.set)?Object.defineProperty(C,F,R):C[F]=w[F]}return C.default=w,L&&L.set(w,C),C}function x(w,T){if(!(w instanceof T))throw new TypeError("Cannot call a class as a function")}function E(w,T){for(var L=0;L"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function z(w){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},z(w)}function H(w,T,L){return T in w?Object.defineProperty(w,T,{value:L,enumerable:!0,configurable:!0,writable:!0}):w[T]=L,w}var I="playing",q="paused",Z="finished",V=function(w){$(L,w);var T=y(L);function L(C){var A,F,R;return x(this,L),R=T.call(this),H(W(R),"audioContext",null),H(W(R),"offlineAudioContext",null),H(W(R),"stateBehaviors",(A={},H(A,I,{init:function(){this.addOnAudioProcess()},getPlayedPercents:function(){var Y=this.getDuration();return this.getCurrentTime()/Y||0},getCurrentTime:function(){return this.startPosition+this.getPlayedTime()}}),H(A,q,{init:function(){this.removeOnAudioProcess()},getPlayedPercents:function(){var Y=this.getDuration();return this.getCurrentTime()/Y||0},getCurrentTime:function(){return this.startPosition}}),H(A,Z,{init:function(){this.removeOnAudioProcess(),this.fireEvent("finish")},getPlayedPercents:function(){return 1},getCurrentTime:function(){return this.getDuration()}}),A)),R.params=C,R.ac=C.audioContext||(R.supportsWebAudio()?R.getAudioContext():{}),R.lastPlay=R.ac.currentTime,R.startPosition=0,R.scheduledPause=null,R.states=(F={},H(F,I,Object.create(R.stateBehaviors[I])),H(F,q,Object.create(R.stateBehaviors[q])),H(F,Z,Object.create(R.stateBehaviors[Z])),F),R.buffer=null,R.filters=[],R.gainNode=null,R.mergedPeaks=null,R.offlineAc=null,R.peaks=null,R.playbackRate=1,R.analyser=null,R.scriptNode=null,R.source=null,R.splitPeaks=[],R.state=null,R.explicitDuration=C.duration,R.sinkStreamDestination=null,R.sinkAudioElement=null,R.destroyed=!1,R}return B(L,[{key:"supportsWebAudio",value:function(){return!!(window.AudioContext||window.webkitAudioContext)}},{key:"getAudioContext",value:function(){return window.WaveSurferAudioContext||(window.WaveSurferAudioContext=new(window.AudioContext||window.webkitAudioContext)),window.WaveSurferAudioContext}},{key:"getOfflineAudioContext",value:function(A){return window.WaveSurferOfflineAudioContext||(window.WaveSurferOfflineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,A)),window.WaveSurferOfflineAudioContext}},{key:"init",value:function(){this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode(),this.setState(q),this.setPlaybackRate(this.params.audioRate),this.setLength(0)}},{key:"disconnectFilters",value:function(){this.filters&&(this.filters.forEach(function(A){A&&A.disconnect()}),this.filters=null,this.analyser.connect(this.gainNode))}},{key:"setState",value:function(A){this.state!==this.states[A]&&(this.state=this.states[A],this.state.init.call(this))}},{key:"setFilter",value:function(){for(var A=arguments.length,F=new Array(A),R=0;R=A.getDuration()?(A.setState(Z),A.fireEvent("pause")):F>=A.scheduledPause?A.pause():A.state===A.states[I]&&A.fireEvent("audioprocess",F)}}},{key:"removeOnAudioProcess",value:function(){this.scriptNode.onaudioprocess=null}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser(),this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.ac.createGain?this.gainNode=this.ac.createGain():this.gainNode=this.ac.createGainNode(),this.gainNode.connect(this.ac.destination)}},{key:"setSinkId",value:function(A){return A?(this.sinkAudioElement||(this.sinkAudioElement=new window.Audio,this.sinkAudioElement.autoplay=!0),this.sinkAudioElement.setSinkId?(this.sinkStreamDestination||(this.sinkStreamDestination=this.ac.createMediaStreamDestination()),this.gainNode.disconnect(),this.gainNode.connect(this.sinkStreamDestination),this.sinkAudioElement.srcObject=this.sinkStreamDestination.stream,this.sinkAudioElement.setSinkId(A)):Promise.reject(new Error("setSinkId is not supported in your browser"))):Promise.reject(new Error("Invalid deviceId: "+A))}},{key:"setVolume",value:function(A){this.gainNode.gain.setValueAtTime(A,this.ac.currentTime)}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(A,F,R){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac&&this.ac.sampleRate?this.ac.sampleRate:44100)),"webkitAudioContext"in window?this.offlineAc.decodeAudioData(A,function(b){return F(b)},R):this.offlineAc.decodeAudioData(A).then(function(b){return F(b)}).catch(function(b){return R(b)})}},{key:"setPeaks",value:function(A,F){F!=null&&(this.explicitDuration=F),this.peaks=A}},{key:"setLength",value:function(A){if(!(this.mergedPeaks&&A==2*this.mergedPeaks.length-1+2)){this.splitPeaks=[],this.mergedPeaks=[];var F=this.buffer?this.buffer.numberOfChannels:1,R;for(R=0;Rje&&(je=S),Sthis.mergedPeaks[2*ne])&&(this.mergedPeaks[2*ne]=je),(ve==0||Ae=this.getDuration()&&(A=0)),F==null&&(F=this.getDuration()),this.startPosition=A,this.lastPlay=this.ac.currentTime,this.state===this.states[Z]&&this.setState(q),{start:A,end:F}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(A,F){if(this.buffer){this.createSource();var R=this.seekTo(A,F);A=R.start,F=R.end,this.scheduledPause=F,this.source.start(0,A),this.resumeAudioContext(),this.setState(I),this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null,this.startPosition+=this.getPlayedTime();try{this.source&&this.source.stop(0)}catch{}this.setState(q),this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"getPlaybackRate",value:function(){return this.playbackRate}},{key:"setPlaybackRate",value:function(A){this.playbackRate=A||1,this.source&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.ac.currentTime)}},{key:"setPlayEnd",value:function(A){this.scheduledPause=A}}]),L}(g.Observer);c.default=V,H(V,"scriptBufferSize",256),u.exports=c.default},"./node_modules/debounce/index.js":u=>{function c(d,h,g){var m,p,x,E,B;h==null&&(h=100);function $(){var y=Date.now()-E;y=0?m=setTimeout($,h-y):(m=null,g||(B=d.apply(x,p),x=p=null))}var k=function(){x=this,p=arguments,E=Date.now();var y=g&&!m;return m||(m=setTimeout($,h)),y&&(B=d.apply(x,p),x=p=null),B};return k.clear=function(){m&&(clearTimeout(m),m=null)},k.flush=function(){m&&(B=d.apply(x,p),x=p=null,clearTimeout(m),m=null)},k}c.debounce=c,u.exports=c}},s={};function o(u){var c=s[u];if(c!==void 0)return c.exports;var d=s[u]={exports:{}};return r[u](d,d.exports,o),d.exports}var l=o("./src/wavesurfer.js");return l})())})(PP);const xP=AP(Bu),Jh=ct({__name:"WaveAudio",setup(e,{expose:t}){const r=Le(null);Ut(()=>{const m=window.getCurrentTheme(),p=ti["fg-base"][m],x=ti["fg-secondary"][m];r.value=xP.create({container:"#waveform",waveColor:p,progressColor:x,barWidth:2,responsive:!0,backend:"MediaElement"}),r.value.on("play",()=>{s.setPlaying(!0)}),r.value.on("pause",()=>{s.setPlaying(!1)}),r.value.on("audioprocess",()=>{s.setProgress(r.value.getCurrentTime())}),r.value.on("finish",()=>{o=!0,s.onSongEnded()}),r.value.on("waveform-ready",()=>{r.value&&(s.setDuration(r.value.getDuration()),(o||s.playing)&&(l(),o=!1))})});const s=Qt();let o=!1;Ut(()=>{r.value.load(s.stream)}),ht(()=>s.song.id,()=>{r.value.isPlaying()&&(o=!0),r.value.load(s.stream),s.setPlaying(!1)});const l=()=>{try{r.value.play()}catch{}},u=()=>{r.value.pause()},c=m=>{r.value.seekTo(m/s.durationSeconds)},d=m=>{let p=m/100;p=Math.min(Math.max(p,0),1),r.value.setVolume(p)},h=m=>{r.value.setMute(m)};return Ut(()=>{d(s.volume)}),t({play:l,pause:u,seek:c,setVolume:d,setMute:h}),(m,p)=>(pe(),Se("div",{id:"waveform",onAudioprocess:p[0]||(p[0]=x=>Q(s).setProgress(x))},null,32))}});const CP=ct({__name:"AmbientBackground",props:{src:{type:String,required:!0},direction:{type:String,required:!1,default:"to bottom"},placeholder:{type:String,required:!1}},setup(e){const t=e,r=si(),s=Le(null),o=async(l=void 0)=>{if(!s.value)return;const u=l===void 0?rm(t.src):l,c=await ca(u,t.placeholder);try{await F3(s.value,c,t.direction)}catch(d){if(!(d instanceof Error)||!d.message.includes("Error loading image"))throw d;await o(null)}};return ht(()=>t.src,()=>$r(o)),Ut(o),(l,u)=>e.src!=null&&Q(r).ambient?(pe(),Se("div",{key:0,ref_key:"ambientGradient",ref:s,class:"ambient-gradient absolute inset-0 pointer-events-none"},null,512)):nt("",!0)}});const EP={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e.scrollWidth>e.clientWidth},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}}},kP={key:0,class:"replacer"},SP={key:0,class:"overlay"};function OP(e,t,r,s,o,l){return pe(),Se("div",{class:it([{marquee:o.isMarquee},"marqueeWrapper"])},[fe("span",{ref:"marquee",class:it({marquee:o.isMarquee})},[ta(e.$slots,"default",{},void 0,!0),o.isMarquee?(pe(),Se("span",kP,[ta(e.$slots,"default",{},void 0,!0)])):nt("",!0)],2),o.isMarquee?(pe(),Se("div",SP)):nt("",!0)],2)}const RP=Pt(EP,[["render",OP],["__scopeId","data-v-80913a8e"]]),TP={class:"artist"},MP=ct({__name:"ArtistMarquee",props:{artist:{type:String,required:!0}},setup(e){const t=e,r=Ye(()=>t.artist.split(", "));return(s,o)=>{const l=$i("router-link");return pe(),ut(RP,null,{default:Ht(()=>[(pe(!0),Se(st,null,Fs(Q(r),u=>(pe(),Se("span",TP,[ge(l,{to:"/artist/"+u},{default:Ht(()=>[Ia(rt(u),1)]),_:2},1032,["to"])]))),256))]),_:1})}}});const IP=Pt(MP,[["__scopeId","data-v-156468cf"]]),LP=e=>(Sa("data-v-0d0bd51a"),e=e(),Oa(),e),$P={class:"player relative"},BP={key:1,class:"desktop mx-4"},DP={class:"song-info"},NP={class:"title-artist"},WP={class:"controls"},FP={class:"top relative"},VP=["disabled"],HP=["disabled"],UP=["disabled"],jP={class:"bottom"},qP={class:"display"},KP={class:"text-xs text-muted text-left"},zP={class:"aux relative"},ZP={key:0,class:"cursor-pointer material-symbols-rounded ms-fill"},GP={key:2,class:"mobile mx-4"},YP={class:"artist-title overflow-hidden"},JP={class:"full"},XP={class:"rest"},QP={class:"song-info"},ex=LP(()=>fe("div",{class:"rest"},null,-1)),tx={class:"title-artist mb-4"},nx={class:"controls mb-4"},rx={class:"top"},ix={class:"bottom"},sx={class:"flex flex-row justify-between"},ox={class:"text-xs text-muted text-right"},ax={class:"text-xs text-muted text-left"},lx={class:"aux flex flex-row justify-between"},ux={class:"flex flex-row"},cx=ct({__name:"Player",setup(e){const t=Qt(),r=si(),s=Le(null),o=Le(""),l=Ye(()=>t.sharedPlayer.connections.map(m=>({value:m.id,label:m.friendlyName})));ht(o,m=>{var p;m===((p=t.sharedPlayer.me)==null?void 0:p.id)?(t.sharedPlayer.makeMePlayer(),t.setPlaying(!1)):u(m)}),ht(()=>t.sharedPlayer.connections,m=>{var p;(!o.value||!m.find(x=>x.id===o.value))&&(o.value=(p=t.sharedPlayer.me)==null?void 0:p.id)});const u=m=>{const p=t.sharedPlayer.connections.find(x=>x.id===m);p&&(t.sharedPlayer.setPlayer(p),s.value=t.sharedPlayer)};Ut(()=>{var m;o.value=(m=t.sharedPlayer.me)==null?void 0:m.id}),ht(s,()=>{t.setPlayer(s.value)}),Ut(()=>{t.setPlayer(s.value)});const c=Le(!1),d=Ye(()=>{var m;return o.value===((m=t.sharedPlayer.me)==null?void 0:m.id)}),h=Ye(()=>r.player.type==="web"&&d.value),g=Ye(()=>r.player.type==="web/wave"&&d.value);return(m,p)=>{const x=$i("router-link");return pe(),Se("div",$P,[ge(CP,{src:Q(t).song.cover,direction:"to top right"},null,8,["src"]),Q(h)?(pe(),ut(aP,{key:0,ref_key:"playable",ref:s},null,512)):nt("",!0),Q(jh)?(pe(),Se("div",GP,[Q(jh)&&!Q(d)?(pe(),Se("audio",{key:0,id:"hijackVolume",onVolumechange:p[14]||(p[14]=E=>Q(t).setVolume(E.target.volume*100))},null,32)):nt("",!0),ea(fe("div",{class:"small",onClick:p[18]||(p[18]=E=>c.value=!0)},[ge(Es,{src:Q(t).song.cover,class:"cover rounded-md"},null,8,["src"]),fe("div",YP,[ge(tr,{text:Q(t).song.title,class:"text-sm"},null,8,["text"]),ge(tr,{text:Q(t).song.artist,class:"text-xs text-muted"},null,8,["text"])]),ge(uu,{modelValue:o.value,"onUpdate:modelValue":p[15]||(p[15]=E=>o.value=E),class:it([{"on-this-device":Q(d)},"material-symbols-rounded"]),options:Q(l),icon:"devices",onClick:p[16]||(p[16]=Bs(()=>{},["stop"]))},null,8,["modelValue","class","options"]),fe("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-xl",onClick:p[17]||(p[17]=Bs((...E)=>Q(t).playPause&&Q(t).playPause(...E),["stop"]))},rt(Q(t).playing?"pause":"play_arrow"),1)],512),[[ua,!c.value]]),ea(fe("div",JP,[fe("div",null,[fe("span",{class:"material-symbols-rounded ms-wght-500",onClick:p[19]||(p[19]=E=>c.value=!1)}," expand_more ")]),ge(x,{class:"my-auto linkOnHover",to:"/player"},{default:Ht(()=>[ge(Es,{src:Q(t).song.cover,class:"cover rounded-md"},null,8,["src"])]),_:1}),fe("div",XP,[fe("div",QP,[ex,fe("div",tx,[ge(x,{to:`/track/${Q(Uh)(Q(t).song.id)}`,class:"linkOnHover"},{default:Ht(()=>[ge(tr,{text:Q(t).song.title,class:"text-2xl font-bold"},null,8,["text"])]),_:1},8,["to"]),ge(x,{to:`/search/${Q(t).song.artist}`,class:"linkOnHover"},{default:Ht(()=>[ge(tr,{text:Q(t).song.artist,class:"text-muted text-xs"},null,8,["text"])]),_:1},8,["to"])])]),fe("div",nx,[fe("div",rx,[fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:p[20]||(p[20]=(...E)=>Q(t).toggleShuffle&&Q(t).toggleShuffle(...E))},rt(Q(t).shuffleIcon),1),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:p[21]||(p[21]=(...E)=>Q(t).previous&&Q(t).previous(...E))}," skip_previous "),fe("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-4xl",onClick:p[22]||(p[22]=(...E)=>Q(t).playPause&&Q(t).playPause(...E))},rt(Q(t).playing?"pause_circle":"play_circle"),1),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:p[23]||(p[23]=(...E)=>Q(t).next&&Q(t).next(...E))}," skip_next "),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:p[24]||(p[24]=(...E)=>Q(t).toggleRepeat&&Q(t).toggleRepeat(...E))},rt(Q(t).repeat),1)]),fe("div",ix,[Q(g)?(pe(),ut(Jh,{key:0,ref_key:"playable",ref:s},null,512)):(pe(),ut(lu,{key:1,modelValue:Q(t).progressPercent,"onUpdate:modelValue":p[25]||(p[25]=E=>Q(t).progressPercent=E),max:"1000",onChange:p[26]||(p[26]=E=>Q(t).seekPercent(E/10))},null,8,["modelValue"])),fe("div",sx,[fe("span",ox,rt(Q(t).displayProgress),1),fe("span",ax,rt(Q(t).song.duration),1)])])]),fe("div",lx,[fe("div",ux,[fe("span",{class:it([{"ms-fill":Q(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:p[27]||(p[27]=(...E)=>Q(t).toggleFavourite&&Q(t).toggleFavourite(...E))}," favorite ",2),Q(r).player.pictureInPicture?(pe(),Se(st,{key:0},[Q(Nn)=="loading"?(pe(),ut(Yh,{key:0})):(pe(),Se("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl ml-2",onClick:p[28]||(p[28]=(...E)=>Q(Uo)&&Q(Uo)(...E))},rt(Q(Nn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):nt("",!0)]),ge(uu,{modelValue:o.value,"onUpdate:modelValue":p[29]||(p[29]=E=>o.value=E),class:it({"on-this-device":Q(d)}),options:Q(l),icon:"devices"},null,8,["modelValue","class","options"])])])],512),[[ua,c.value]])])):(pe(),Se("div",BP,[fe("div",DP,[ge(x,{class:"linkOnHover",to:"/player"},{default:Ht(()=>[Q(t).loaded?(pe(),ut(Es,{key:0,src:Q(t).song.cover,class:"cover rounded-md"},null,8,["src"])):nt("",!0)]),_:1}),Q(t).loaded?(pe(),Se(st,{key:0},[fe("div",NP,[ge(x,{to:`/track/${Q(Uh)(Q(t).song.id)}`,class:"linkOnHover"},{default:Ht(()=>[ge(tr,{text:Q(t).song.title,class:""},null,8,["text"])]),_:1},8,["to"]),ge(IP,{artist:Q(t).song.artist,class:"text-muted text-xs"},null,8,["artist"])]),fe("span",{class:it([{"ms-fill":Q(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:p[0]||(p[0]=(...E)=>Q(t).toggleFavourite&&Q(t).toggleFavourite(...E))}," favorite ",2),Q(r).player.pictureInPicture?(pe(),Se(st,{key:0},[Q(Nn)=="loading"?(pe(),ut(Yh,{key:0})):(pe(),Se("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl",onClick:p[1]||(p[1]=(...E)=>Q(Uo)&&Q(Uo)(...E))},rt(Q(Nn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):nt("",!0)],64)):(pe(),ut(x,{key:1,to:"/collection/playlists"},{default:Ht(()=>[ge(tr,{class:"text-xs text-muted",text:"Nothing playing yet..."})]),_:1}))]),fe("div",WP,[fe("div",FP,[fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:p[2]||(p[2]=(...E)=>Q(t).toggleShuffle&&Q(t).toggleShuffle(...E))},rt(Q(t).shuffleIcon),1),fe("span",{class:it([{"cursor-not-allowed":!Q(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!Q(t).loaded,onClick:p[3]||(p[3]=(...E)=>Q(t).previous&&Q(t).previous(...E))}," skip_previous ",10,VP),fe("span",{class:it([{"cursor-not-allowed":!Q(t).loaded},"cursor-pointer material-symbols-rounded ms-fill text-4xl"]),disabled:!Q(t).loaded,onClick:p[4]||(p[4]=(...E)=>Q(t).playPause&&Q(t).playPause(...E))},rt(Q(t).playing?"pause_circle":"play_circle"),11,HP),fe("span",{class:it([{"cursor-not-allowed":!Q(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!Q(t).loaded,onClick:p[5]||(p[5]=(...E)=>Q(t).next&&Q(t).next(...E))}," skip_next ",10,UP),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:p[6]||(p[6]=(...E)=>Q(t).toggleRepeat&&Q(t).toggleRepeat(...E))},rt(Q(t).repeat),1)]),fe("div",jP,[fe("div",qP,[fe("span",{class:"text-xs text-muted text-right cursor-pointer",onClick:p[7]||(p[7]=E=>Q(r).player.type=Q(r).player.type==="web"?"web/wave":"web")},rt(Q(t).displayProgress),1),Q(g)?(pe(),ut(Jh,{key:0,ref_key:"playable",ref:s},null,512)):(pe(),ut(lu,{key:1,modelValue:Q(t).progressPercent,"onUpdate:modelValue":p[8]||(p[8]=E=>Q(t).progressPercent=E),max:"1000",onChange:p[9]||(p[9]=E=>Q(t).seekPercent(E/10))},null,8,["modelValue"])),fe("span",KP,rt(Q(t).displayDuration),1)])])]),fe("div",zP,[ge(x,{to:"/sing-along",class:"icon"},{default:Ht(()=>[Q(t).loaded&&Q(t).hasLyrics?(pe(),Se("span",ZP," mic ")):nt("",!0)]),_:1}),ge(uu,{modelValue:o.value,"onUpdate:modelValue":p[10]||(p[10]=E=>o.value=E),class:it({"on-this-device":Q(d)}),options:Q(l),icon:"devices"},null,8,["modelValue","class","options"]),fe("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:p[11]||(p[11]=(...E)=>Q(t).toggleMute&&Q(t).toggleMute(...E))},rt(Q(t).muteIcon),1),ge(lu,{modelValue:Q(t).volume,"onUpdate:modelValue":p[12]||(p[12]=E=>Q(t).volume=E),max:"100",onChange:p[13]||(p[13]=E=>Q(t).setVolume(E))},null,8,["modelValue"])])]))])}}});const gm=Pt(cx,[["__scopeId","data-v-0d0bd51a"]]);const f6=(e,t,r)=>{const s=new CustomEvent("player.play",{detail:{title:e,artist:t,source:r}});window.dispatchEvent(s)},fx={components:{Marquee:tr},name:"PlayerInPicture",props:{expandCover:Boolean},watch:{disabled(){this.disabled||this.$nextTick(()=>{this.$refs.player.addEventListener("mousedown",this.mouseDown,!1),window.addEventListener("mouseup",this.mouseUp,!1)})}},methods:{mouseDown(e){const t=this.$refs.player,r=document.getElementById("appRoot");e=e||window.event;var s=e.clientX,o=e.clientY,l=t.offsetTop,u=t.offsetLeft,c=parseInt(t.offsetWidth),d=parseInt(t.offsetHeight),h=parseInt(r.offsetWidth)-8,g=parseInt(r.offsetHeight)-8;r.style.cursor="move";var m=s-u,p=o-l;document.onmousemove=x=>{x=x||window.event,x.preventDefault(),x.stopPropagation();var E=x.clientX,B=x.clientY,$=E-m,k=B-p;$<8&&($=8),k<8&&(k=8),$+c>h&&($=h-c),k+d>g&&(k=g-d),this.divMove(t,$,k)}},mouseUp(){document.getElementById("appRoot").style.cursor="default",document.onmousemove=function(){}},divMove(e,t,r){e.style.bottom="auto",e.style.right="auto",e.style.left=t+"px",e.style.top=r+"px"}},data(){const e=Qt();return window.addEventListener("player.play",t=>{const r=t.detail,s=r.source;if(this.name=`${r.artist} - ${r.title}`,e.pause(),s.includes("youtu")){var o=/youtu(?:.*\/v\/|.*v\=|\.be\/)([A-Za-z0-9_\-]{11})/;const l=s.match(o);if(l!=null&&l[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}if(s.includes("audius")){var o=/audius.co\/([A-Za-z0-9]+)\/([A-Za-z0-9\-]+)/;const u=s.match(o);if(console.log(u,s),u!=null&&u[1]&&(u!=null&&u[2])){fetch(`https://blockdaemon-audius-discovery-01.bdnodes.net/v1/full/tracks?handle=${u[1]}&slug=${u[2]}`).then(c=>c.json()).then(c=>{const d=c.data.id;this.el=``}),this.minimised=!1,this.disabled=!1;return}}if(s.includes("spotify")){var o=/spotify(?:.*\/(album|track|playlist)\/)([A-Za-z0-9_\-]{22})/;const u=s.match(o);if(u!=null&&u[1]){console.log(u),this.el=``,this.minimised=!1,this.disabled=!1;return}}s.includes("soundcloud")&&(fetch(`https://soundcloud.com/oembed?url=${s}&format=json`).then(l=>l.json()).then(l=>{this.el=l.html.replace('height="400"','height="70"').replace("&show_artwork=true","&show_artwork=true&auto_play=true").replace("o.minimised=!o.minimised)},rt(o.minimised?"zoom_out_map":"zoom_in_map"),1),fe("span",{class:"material-symbols-rounded ms-wght-500",onClick:t[1]||(t[1]=c=>o.disabled=!o.disabled)},"close")])],2),fe("div",{class:it([{minimised:o.minimised},"frame"]),innerHTML:o.el},null,10,gx)],512))}const vx=Pt(fx,[["render",mx]]),yx={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},_x=fe("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),bx=[_x];function wx(e,t){return pe(),Se("svg",yx,bx)}const Ax={render:wx},Px="modulepreload",xx=function(e){return"/"+e},Xh={},dt=function(t,r,s){if(!r||r.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(r.map(l=>{if(l=xx(l),l in Xh)return;Xh[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(!!s)for(let g=o.length-1;g>=0;g--){const m=o[g];if(m.href===l&&(!u||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${c}`))return;const h=document.createElement("link");if(h.rel=u?"stylesheet":Px,u||(h.as="script",h.crossOrigin=""),h.href=l,document.head.appendChild(h),u)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t())};/*! + * vue-router v4.1.5 + * (c) 2022 Eduardo San Martin Morote + * @license MIT + */const Ei=typeof window<"u";function Cx(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const tt=Object.assign;function cu(e,t){const r={};for(const s in t){const o=t[s];r[s]=On(o)?o.map(e):e(o)}return r}const ks=()=>{},On=Array.isArray,Ex=/\/$/,kx=e=>e.replace(Ex,"");function fu(e,t,r="/"){let s,o={},l="",u="";const c=t.indexOf("#");let d=t.indexOf("?");return c=0&&(d=-1),d>-1&&(s=t.slice(0,d),l=t.slice(d+1,c>-1?c:t.length),o=e(l)),c>-1&&(s=s||t.slice(0,c),u=t.slice(c,t.length)),s=Tx(s??t,r),{fullPath:s+(l&&"?")+l+u,path:s,query:o,hash:u}}function Sx(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function Qh(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ox(e,t,r){const s=t.matched.length-1,o=r.matched.length-1;return s>-1&&s===o&&Fi(t.matched[s],r.matched[o])&&mm(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function Fi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function mm(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!Rx(e[r],t[r]))return!1;return!0}function Rx(e,t){return On(e)?ep(e,t):On(t)?ep(t,e):e===t}function ep(e,t){return On(t)?e.length===t.length&&e.every((r,s)=>r===t[s]):e.length===1&&e[0]===t}function Tx(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),s=e.split("/");let o=r.length-1,l,u;for(l=0;l1&&o--;else break;return r.slice(0,o).join("/")+"/"+s.slice(l-(l===s.length?1:0)).join("/")}var Ds;(function(e){e.pop="pop",e.push="push"})(Ds||(Ds={}));var Ss;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ss||(Ss={}));function Mx(e){if(!e)if(Ei){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),kx(e)}const Ix=/^[^#]+#/;function Lx(e,t){return e.replace(Ix,"#")+t}function $x(e,t){const r=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-r.left-(t.left||0),top:s.top-r.top-(t.top||0)}}const Fa=()=>({left:window.pageXOffset,top:window.pageYOffset});function Bx(e){let t;if("el"in e){const r=e.el,s=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?s?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;t=$x(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function tp(e,t){return(history.state?history.state.position-t:-1)+e}const Du=new Map;function Dx(e,t){Du.set(e,t)}function Nx(e){const t=Du.get(e);return Du.delete(e),t}let Wx=()=>location.protocol+"//"+location.host;function vm(e,t){const{pathname:r,search:s,hash:o}=t,l=e.indexOf("#");if(l>-1){let c=o.includes(e.slice(l))?e.slice(l).length:1,d=o.slice(c);return d[0]!=="/"&&(d="/"+d),Qh(d,"")}return Qh(r,e)+s+o}function Fx(e,t,r,s){let o=[],l=[],u=null;const c=({state:p})=>{const x=vm(e,location),E=r.value,B=t.value;let $=0;if(p){if(r.value=x,t.value=p,u&&u===E){u=null;return}$=B?p.position-B.position:0}else s(x);o.forEach(k=>{k(r.value,E,{delta:$,type:Ds.pop,direction:$?$>0?Ss.forward:Ss.back:Ss.unknown})})};function d(){u=r.value}function h(p){o.push(p);const x=()=>{const E=o.indexOf(p);E>-1&&o.splice(E,1)};return l.push(x),x}function g(){const{history:p}=window;p.state&&p.replaceState(tt({},p.state,{scroll:Fa()}),"")}function m(){for(const p of l)p();l=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",g)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",g),{pauseListeners:d,listen:h,destroy:m}}function np(e,t,r,s=!1,o=!1){return{back:e,current:t,forward:r,replaced:s,position:window.history.length,scroll:o?Fa():null}}function Vx(e){const{history:t,location:r}=window,s={value:vm(e,r)},o={value:t.state};o.value||l(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(d,h,g){const m=e.indexOf("#"),p=m>-1?(r.host&&document.querySelector("base")?e:e.slice(m))+d:Wx()+e+d;try{t[g?"replaceState":"pushState"](h,"",p),o.value=h}catch(x){console.error(x),r[g?"replace":"assign"](p)}}function u(d,h){const g=tt({},t.state,np(o.value.back,d,o.value.forward,!0),h,{position:o.value.position});l(d,g,!0),s.value=d}function c(d,h){const g=tt({},o.value,t.state,{forward:d,scroll:Fa()});l(g.current,g,!0);const m=tt({},np(s.value,d,null),{position:g.position+1},h);l(d,m,!1),s.value=d}return{location:s,state:o,push:c,replace:u}}function Hx(e){e=Mx(e);const t=Vx(e),r=Fx(e,t.state,t.location,t.replace);function s(l,u=!0){u||r.pauseListeners(),history.go(l)}const o=tt({location:"",base:e,go:s,createHref:Lx.bind(null,e)},t,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Ux(e){return typeof e=="string"||e&&typeof e=="object"}function ym(e){return typeof e=="string"||typeof e=="symbol"}const br={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},_m=Symbol("");var rp;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(rp||(rp={}));function Vi(e,t){return tt(new Error,{type:e,[_m]:!0},t)}function Xn(e,t){return e instanceof Error&&_m in e&&(t==null||!!(e.type&t))}const ip="[^/]+?",jx={sensitive:!1,strict:!1,start:!0,end:!0},qx=/[.+*?^${}()[\]/\\]/g;function Kx(e,t){const r=tt({},jx,t),s=[];let o=r.start?"^":"";const l=[];for(const h of e){const g=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let m=0;mt.length?t.length===1&&t[0]===40+40?1:-1:0}function Zx(e,t){let r=0;const s=e.score,o=t.score;for(;r0&&t[t.length-1]<0}const Gx={type:0,value:""},Yx=/[a-zA-Z0-9_]/;function Jx(e){if(!e)return[[]];if(e==="/")return[[Gx]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(x){throw new Error(`ERR (${r})/"${h}": ${x}`)}let r=0,s=r;const o=[];let l;function u(){l&&o.push(l),l=[]}let c=0,d,h="",g="";function m(){h&&(r===0?l.push({type:0,value:h}):r===1||r===2||r===3?(l.length>1&&(d==="*"||d==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:h,regexp:g,repeatable:d==="*"||d==="+",optional:d==="*"||d==="?"})):t("Invalid state to consume buffer"),h="")}function p(){h+=d}for(;c{u(y)}:ks}function u(g){if(ym(g)){const m=s.get(g);m&&(s.delete(g),r.splice(r.indexOf(m),1),m.children.forEach(u),m.alias.forEach(u))}else{const m=r.indexOf(g);m>-1&&(r.splice(m,1),g.record.name&&s.delete(g.record.name),g.children.forEach(u),g.alias.forEach(u))}}function c(){return r}function d(g){let m=0;for(;m=0&&(g.record.path!==r[m].record.path||!bm(g,r[m]));)m++;r.splice(m,0,g),g.record.name&&!ap(g)&&s.set(g.record.name,g)}function h(g,m){let p,x={},E,B;if("name"in g&&g.name){if(p=s.get(g.name),!p)throw Vi(1,{location:g});B=p.record.name,x=tt(op(m.params,p.keys.filter(y=>!y.optional).map(y=>y.name)),g.params&&op(g.params,p.keys.map(y=>y.name))),E=p.stringify(x)}else if("path"in g)E=g.path,p=r.find(y=>y.re.test(E)),p&&(x=p.parse(E),B=p.record.name);else{if(p=m.name?s.get(m.name):r.find(y=>y.re.test(m.path)),!p)throw Vi(1,{location:g,currentLocation:m});B=p.record.name,x=tt({},m.params,g.params),E=p.stringify(x)}const $=[];let k=p;for(;k;)$.unshift(k.record),k=k.parent;return{name:B,path:E,params:x,matched:$,meta:nC($)}}return e.forEach(g=>l(g)),{addRoute:l,resolve:h,removeRoute:u,getRoutes:c,getRecordMatcher:o}}function op(e,t){const r={};for(const s of t)s in e&&(r[s]=e[s]);return r}function eC(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:tC(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function tC(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const s in e.components)t[s]=typeof r=="boolean"?r:r[s];return t}function ap(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function nC(e){return e.reduce((t,r)=>tt(t,r.meta),{})}function lp(e,t){const r={};for(const s in e)r[s]=s in t?t[s]:e[s];return r}function bm(e,t){return t.children.some(r=>r===e||bm(e,r))}const wm=/#/g,rC=/&/g,iC=/\//g,sC=/=/g,oC=/\?/g,Am=/\+/g,aC=/%5B/g,lC=/%5D/g,Pm=/%5E/g,uC=/%60/g,xm=/%7B/g,cC=/%7C/g,Cm=/%7D/g,fC=/%20/g;function mc(e){return encodeURI(""+e).replace(cC,"|").replace(aC,"[").replace(lC,"]")}function dC(e){return mc(e).replace(xm,"{").replace(Cm,"}").replace(Pm,"^")}function Nu(e){return mc(e).replace(Am,"%2B").replace(fC,"+").replace(wm,"%23").replace(rC,"%26").replace(uC,"`").replace(xm,"{").replace(Cm,"}").replace(Pm,"^")}function hC(e){return Nu(e).replace(sC,"%3D")}function pC(e){return mc(e).replace(wm,"%23").replace(oC,"%3F")}function gC(e){return e==null?"":pC(e).replace(iC,"%2F")}function fa(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function mC(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&Nu(l)):[s&&Nu(s)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+r,l!=null&&(t+="="+l))})}return t}function vC(e){const t={};for(const r in e){const s=e[r];s!==void 0&&(t[r]=On(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const yC=Symbol(""),cp=Symbol(""),Va=Symbol(""),vc=Symbol(""),Wu=Symbol("");function fs(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function r(){e=[]}return{add:t,list:()=>e,reset:r}}function xr(e,t,r,s,o){const l=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((u,c)=>{const d=m=>{m===!1?c(Vi(4,{from:r,to:t})):m instanceof Error?c(m):Ux(m)?c(Vi(2,{from:t,to:m})):(l&&s.enterCallbacks[o]===l&&typeof m=="function"&&l.push(m),u())},h=e.call(s&&s.instances[o],t,r,d);let g=Promise.resolve(h);e.length<3&&(g=g.then(d)),g.catch(m=>c(m))})}function du(e,t,r,s){const o=[];for(const l of e)for(const u in l.components){let c=l.components[u];if(!(t!=="beforeRouteEnter"&&!l.instances[u]))if(_C(c)){const h=(c.__vccOpts||c)[t];h&&o.push(xr(h,r,s,l,u))}else{let d=c();o.push(()=>d.then(h=>{if(!h)return Promise.reject(new Error(`Couldn't resolve component "${u}" at "${l.path}"`));const g=Cx(h)?h.default:h;l.components[u]=g;const p=(g.__vccOpts||g)[t];return p&&xr(p,r,s,l,u)()}))}}return o}function _C(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function fp(e){const t=Xt(Va),r=Xt(vc),s=Ye(()=>t.resolve(Q(e.to))),o=Ye(()=>{const{matched:d}=s.value,{length:h}=d,g=d[h-1],m=r.matched;if(!g||!m.length)return-1;const p=m.findIndex(Fi.bind(null,g));if(p>-1)return p;const x=dp(d[h-2]);return h>1&&dp(g)===x&&m[m.length-1].path!==x?m.findIndex(Fi.bind(null,d[h-2])):p}),l=Ye(()=>o.value>-1&&PC(r.params,s.value.params)),u=Ye(()=>o.value>-1&&o.value===r.matched.length-1&&mm(r.params,s.value.params));function c(d={}){return AC(d)?t[Q(e.replace)?"replace":"push"](Q(e.to)).catch(ks):Promise.resolve()}return{route:s,href:Ye(()=>s.value.href),isActive:l,isExactActive:u,navigate:c}}const bC=ct({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:fp,setup(e,{slots:t}){const r=ii(fp(e)),{options:s}=Xt(Va),o=Ye(()=>({[hp(e.activeClass,s.linkActiveClass,"router-link-active")]:r.isActive,[hp(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const l=t.default&&t.default(r);return e.custom?l:fc("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},l)}}}),wC=bC;function AC(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function PC(e,t){for(const r in t){const s=t[r],o=e[r];if(typeof s=="string"){if(s!==o)return!1}else if(!On(o)||o.length!==s.length||s.some((l,u)=>l!==o[u]))return!1}return!0}function dp(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const hp=(e,t,r)=>e??t??r,xC=ct({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const s=Xt(Wu),o=Ye(()=>e.route||s.value),l=Xt(cp,0),u=Ye(()=>{let h=Q(l);const{matched:g}=o.value;let m;for(;(m=g[h])&&!m.components;)h++;return h}),c=Ye(()=>o.value.matched[u.value]);Cr(cp,Ye(()=>u.value+1)),Cr(yC,c),Cr(Wu,o);const d=Le();return ht(()=>[d.value,c.value,e.name],([h,g,m],[p,x,E])=>{g&&(g.instances[m]=h,x&&x!==g&&h&&h===p&&(g.leaveGuards.size||(g.leaveGuards=x.leaveGuards),g.updateGuards.size||(g.updateGuards=x.updateGuards))),h&&g&&(!x||!Fi(g,x)||!p)&&(g.enterCallbacks[m]||[]).forEach(B=>B(h))},{flush:"post"}),()=>{const h=o.value,g=e.name,m=c.value,p=m&&m.components[g];if(!p)return pp(r.default,{Component:p,route:h});const x=m.props[g],E=x?x===!0?h.params:typeof x=="function"?x(h):x:null,$=fc(p,tt({},E,t,{onVnodeUnmounted:k=>{k.component.isUnmounted&&(m.instances[g]=null)},ref:d}));return pp(r.default,{Component:$,route:h})||$}}});function pp(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const CC=xC;function EC(e){const t=Qx(e.routes,e),r=e.parseQuery||mC,s=e.stringifyQuery||up,o=e.history,l=fs(),u=fs(),c=fs(),d=J2(br);let h=br;Ei&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const g=cu.bind(null,G=>""+G),m=cu.bind(null,gC),p=cu.bind(null,fa);function x(G,ne){let ue,be;return ym(G)?(ue=t.getRecordMatcher(G),be=ne):be=G,t.addRoute(be,ue)}function E(G){const ne=t.getRecordMatcher(G);ne&&t.removeRoute(ne)}function B(){return t.getRoutes().map(G=>G.record)}function $(G){return!!t.getRecordMatcher(G)}function k(G,ne){if(ne=tt({},ne||d.value),typeof G=="string"){const S=fu(r,G,ne.path),N=t.resolve({path:S.path},ne),J=o.createHref(S.fullPath);return tt(S,N,{params:p(N.params),hash:fa(S.hash),redirectedFrom:void 0,href:J})}let ue;if("path"in G)ue=tt({},G,{path:fu(r,G.path,ne.path).path});else{const S=tt({},G.params);for(const N in S)S[N]==null&&delete S[N];ue=tt({},G,{params:m(G.params)}),ne.params=m(ne.params)}const be=t.resolve(ue,ne),Ae=G.hash||"";be.params=g(p(be.params));const je=Sx(s,tt({},G,{hash:dC(Ae),path:be.path})),Ce=o.createHref(je);return tt({fullPath:je,hash:Ae,query:s===up?vC(G.query):G.query||{}},be,{redirectedFrom:void 0,href:Ce})}function y(G){return typeof G=="string"?fu(r,G,d.value.path):tt({},G)}function O(G,ne){if(h!==G)return Vi(8,{from:ne,to:G})}function W(G){return H(G)}function U(G){return W(tt(y(G),{replace:!0}))}function z(G){const ne=G.matched[G.matched.length-1];if(ne&&ne.redirect){const{redirect:ue}=ne;let be=typeof ue=="function"?ue(G):ue;return typeof be=="string"&&(be=be.includes("?")||be.includes("#")?be=y(be):{path:be},be.params={}),tt({query:G.query,hash:G.hash,params:"path"in be?{}:G.params},be)}}function H(G,ne){const ue=h=k(G),be=d.value,Ae=G.state,je=G.force,Ce=G.replace===!0,S=z(ue);if(S)return H(tt(y(S),{state:typeof S=="object"?tt({},Ae,S.state):Ae,force:je,replace:Ce}),ne||ue);const N=ue;N.redirectedFrom=ne;let J;return!je&&Ox(s,be,ue)&&(J=Vi(16,{to:N,from:be}),Y(be,be,!0,!1)),(J?Promise.resolve(J):q(N,be)).catch(ee=>Xn(ee)?Xn(ee,2)?ee:b(ee):F(ee,N,be)).then(ee=>{if(ee){if(Xn(ee,2))return H(tt({replace:Ce},y(ee.to),{state:typeof ee.to=="object"?tt({},Ae,ee.to.state):Ae,force:je}),ne||N)}else ee=V(N,be,!0,Ce,Ae);return Z(N,be,ee),ee})}function I(G,ne){const ue=O(G,ne);return ue?Promise.reject(ue):Promise.resolve()}function q(G,ne){let ue;const[be,Ae,je]=kC(G,ne);ue=du(be.reverse(),"beforeRouteLeave",G,ne);for(const S of be)S.leaveGuards.forEach(N=>{ue.push(xr(N,G,ne))});const Ce=I.bind(null,G,ne);return ue.push(Ce),Ci(ue).then(()=>{ue=[];for(const S of l.list())ue.push(xr(S,G,ne));return ue.push(Ce),Ci(ue)}).then(()=>{ue=du(Ae,"beforeRouteUpdate",G,ne);for(const S of Ae)S.updateGuards.forEach(N=>{ue.push(xr(N,G,ne))});return ue.push(Ce),Ci(ue)}).then(()=>{ue=[];for(const S of G.matched)if(S.beforeEnter&&!ne.matched.includes(S))if(On(S.beforeEnter))for(const N of S.beforeEnter)ue.push(xr(N,G,ne));else ue.push(xr(S.beforeEnter,G,ne));return ue.push(Ce),Ci(ue)}).then(()=>(G.matched.forEach(S=>S.enterCallbacks={}),ue=du(je,"beforeRouteEnter",G,ne),ue.push(Ce),Ci(ue))).then(()=>{ue=[];for(const S of u.list())ue.push(xr(S,G,ne));return ue.push(Ce),Ci(ue)}).catch(S=>Xn(S,8)?S:Promise.reject(S))}function Z(G,ne,ue){for(const be of c.list())be(G,ne,ue)}function V(G,ne,ue,be,Ae){const je=O(G,ne);if(je)return je;const Ce=ne===br,S=Ei?history.state:{};ue&&(be||Ce?o.replace(G.fullPath,tt({scroll:Ce&&S&&S.scroll},Ae)):o.push(G.fullPath,Ae)),d.value=G,Y(G,ne,ue,Ce),b()}let w;function T(){w||(w=o.listen((G,ne,ue)=>{if(!Ie.listening)return;const be=k(G),Ae=z(be);if(Ae){H(tt(Ae,{replace:!0}),be).catch(ks);return}h=be;const je=d.value;Ei&&Dx(tp(je.fullPath,ue.delta),Fa()),q(be,je).catch(Ce=>Xn(Ce,12)?Ce:Xn(Ce,2)?(H(Ce.to,be).then(S=>{Xn(S,20)&&!ue.delta&&ue.type===Ds.pop&&o.go(-1,!1)}).catch(ks),Promise.reject()):(ue.delta&&o.go(-ue.delta,!1),F(Ce,be,je))).then(Ce=>{Ce=Ce||V(be,je,!1),Ce&&(ue.delta&&!Xn(Ce,8)?o.go(-ue.delta,!1):ue.type===Ds.pop&&Xn(Ce,20)&&o.go(-1,!1)),Z(be,je,Ce)}).catch(ks)}))}let L=fs(),C=fs(),A;function F(G,ne,ue){b(G);const be=C.list();return be.length?be.forEach(Ae=>Ae(G,ne,ue)):console.error(G),Promise.reject(G)}function R(){return A&&d.value!==br?Promise.resolve():new Promise((G,ne)=>{L.add([G,ne])})}function b(G){return A||(A=!G,T(),L.list().forEach(([ne,ue])=>G?ue(G):ne()),L.reset()),G}function Y(G,ne,ue,be){const{scrollBehavior:Ae}=e;if(!Ei||!Ae)return Promise.resolve();const je=!ue&&Nx(tp(G.fullPath,0))||(be||!ue)&&history.state&&history.state.scroll||null;return $r().then(()=>Ae(G,ne,je)).then(Ce=>Ce&&Bx(Ce)).catch(Ce=>F(Ce,G,ne))}const se=G=>o.go(G);let me;const ve=new Set,Ie={currentRoute:d,listening:!0,addRoute:x,removeRoute:E,hasRoute:$,getRoutes:B,resolve:k,options:e,push:W,replace:U,go:se,back:()=>se(-1),forward:()=>se(1),beforeEach:l.add,beforeResolve:u.add,afterEach:c.add,onError:C.add,isReady:R,install(G){const ne=this;G.component("RouterLink",wC),G.component("RouterView",CC),G.config.globalProperties.$router=ne,Object.defineProperty(G.config.globalProperties,"$route",{enumerable:!0,get:()=>Q(d)}),Ei&&!me&&d.value===br&&(me=!0,W(o.location).catch(Ae=>{}));const ue={};for(const Ae in br)ue[Ae]=Ye(()=>d.value[Ae]);G.provide(Va,ne),G.provide(vc,ii(ue)),G.provide(Wu,d);const be=G.unmount;ve.add(G),G.unmount=function(){ve.delete(G),ve.size<1&&(h=br,w&&w(),w=null,d.value=br,me=!1,A=!1),be()}}};return Ie}function Ci(e){return e.reduce((t,r)=>t.then(()=>r()),Promise.resolve())}function kC(e,t){const r=[],s=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let u=0;uFi(h,c))?s.push(c):r.push(c));const d=e.matched[u];d&&(t.matched.find(h=>Fi(h,d))||o.push(d))}return[r,s,o]}function d6(){return Xt(Va)}function h6(){return Xt(vc)}const SC=[{path:"/",component:()=>dt(()=>import("./index-7819f3fe.js"),["assets/index-7819f3fe.js","assets/TrackCompact-54657b5e.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-41f8fb8f.js","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/TrackCompact-ec18cf3e.css","assets/PlaylistEntry-a7c7e55a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4058086a.css","assets/spotify-ec009aad.js","assets/PlaylistItem-0efbc30a.js","assets/PlaylistItem-8556515c.css","assets/index-97d03c40.css"])},{path:"/discover",component:()=>dt(()=>import("./Explore-16ffab45.js"),["assets/Explore-16ffab45.js","assets/Explore-e4c09a4f.css"]),meta:{title:"Discover - reAudioPlayer One"}},{path:"/search",component:()=>dt(()=>import("./Search-3135be97.js"),["assets/Search-3135be97.js","assets/ArtistItem-1dbe560d.js","assets/ArtistItem-2a1e363c.css","assets/ReleaseItem-145a7ce1.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-41f8fb8f.js","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/ReleaseItem-874d3860.css","assets/Search-25e5af5d.css"]),meta:{title:"Search - reAudioPlayer One"}},{name:"Search",path:"/search/:query",component:()=>dt(()=>import("./Search-3135be97.js"),["assets/Search-3135be97.js","assets/ArtistItem-1dbe560d.js","assets/ArtistItem-2a1e363c.css","assets/ReleaseItem-145a7ce1.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-41f8fb8f.js","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/ReleaseItem-874d3860.css","assets/Search-25e5af5d.css"]),meta:{title:"Search - reAudioPlayer One"}},{path:"/collection/albums",component:()=>dt(()=>import("./Albums-157252fb.js"),["assets/Albums-157252fb.js","assets/CollectionHeader-f21b5037.js","assets/CollectionHeader-d7b2d6c7.css","assets/Albums-cd4d9140.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/artists",component:()=>dt(()=>import("./Artists-2a83adb2.js"),["assets/Artists-2a83adb2.js","assets/FullShelf-6722f9a0.js","assets/FullShelf-261568ae.css","assets/ArtistItem-1dbe560d.js","assets/ArtistItem-2a1e363c.css","assets/CollectionHeader-f21b5037.js","assets/CollectionHeader-d7b2d6c7.css","assets/Artists-57c2320a.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/playlists",component:()=>dt(()=>import("./Playlists-ac767eb6.js"),["assets/Playlists-ac767eb6.js","assets/FullShelf-6722f9a0.js","assets/FullShelf-261568ae.css","assets/PlaylistItem-0efbc30a.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-41f8fb8f.js","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/playerInPicture-af203fdf.js","assets/PlaylistItem-8556515c.css","assets/CollectionHeader-f21b5037.js","assets/CollectionHeader-d7b2d6c7.css","assets/Playlists-660e6a71.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/releases",component:()=>dt(()=>import("./Releases-9b1072c5.js"),["assets/Releases-9b1072c5.js","assets/FullShelf-6722f9a0.js","assets/FullShelf-261568ae.css","assets/ReleaseItem-145a7ce1.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-41f8fb8f.js","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/ReleaseItem-874d3860.css","assets/CollectionHeader-f21b5037.js","assets/CollectionHeader-d7b2d6c7.css","assets/Releases-46f16e90.css"]),meta:{title:"Releases - reAudioPlayer One"}},{path:"/collection/tracks",component:()=>dt(()=>import("./Tracks-b0e344de.js"),["assets/Tracks-b0e344de.js","assets/index-06cb9ce9.js","assets/index.vue_vue_type_script_setup_true_lang-25852a10.js","assets/FactCard-89ebd574.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-a7c7e55a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4058086a.css","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/index-8e1d0104.css","assets/index-092e6edb.css"]),meta:{title:"Liked Songs - reAudioPlayer One"}},{path:"/collection/tracks/breaking",component:()=>dt(()=>import("./Breaking-1c37c796.js"),["assets/Breaking-1c37c796.js","assets/index-06cb9ce9.js","assets/index.vue_vue_type_script_setup_true_lang-25852a10.js","assets/FactCard-89ebd574.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-a7c7e55a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4058086a.css","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/index-8e1d0104.css","assets/index-092e6edb.css"]),meta:{title:"Breaking Songs - reAudioPlayer One"}},{path:"/playlist/smart/editor",component:()=>dt(()=>import("./Editor-b299878f.js"),["assets/Editor-b299878f.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js","assets/PlaylistEntry-a7c7e55a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/Template-f7fd23e9.js","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4058086a.css","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/Editor-0bd65813.css"]),meta:{title:"Smart Playlist Editor - reAudioPlayer One"}},{path:"/playlist/:hash",component:()=>dt(()=>import("./index-3fbf2886.js"),["assets/index-3fbf2886.js","assets/index.vue_vue_type_script_setup_true_lang-25852a10.js","assets/FactCard-89ebd574.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-a7c7e55a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4058086a.css","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/index-8e1d0104.css"]),meta:{title:"Playlist - reAudioPlayer One"}},{path:"/track/:hash",component:()=>dt(()=>import("./Track-3bc61d50.js"),["assets/Track-3bc61d50.js","assets/ExternalEntry-7bdbc9d0.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/ExternalEntry-1ad4a4e1.css","assets/FactCard-89ebd574.js","assets/FactCard-3c5d1fcf.css","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/spotify-ec009aad.js","assets/Track-50ce7320.css"]),meta:{title:"Track - reAudioPlayer One"}},{path:"/artist/:name",component:()=>dt(()=>import("./Artist-0471b7ab.js"),["assets/Artist-0471b7ab.js","assets/FactCard-89ebd574.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/PlaylistEntry-a7c7e55a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4058086a.css","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/spotify-ec009aad.js","assets/Artist-f38fcfe4.css"]),meta:{title:"Artist - reAudioPlayer One"}},{path:"/preferences",component:()=>dt(()=>import("./index-cd6ad498.js"),["assets/index-cd6ad498.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/gistClient-d0f6f626.js","assets/index-76812b81.css"]),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/preferences/my-data",component:()=>dt(()=>import("./LocalData-98518e1f.js"),["assets/LocalData-98518e1f.js","assets/TrackCompact-54657b5e.js","assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/Playlist-41f8fb8f.js","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/TrackCompact-ec18cf3e.css","assets/LocalData-a67e58b2.css"]),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/import",component:()=>dt(()=>import("./Import-de0dbd70.js"),["assets/Import-de0dbd70.js","assets/gistClient-d0f6f626.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Import-a6f1cef5.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/export",component:()=>dt(()=>import("./Export-ea4f315d.js"),["assets/Export-ea4f315d.js","assets/gistClient-d0f6f626.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Export-013fe12d.css"]),meta:{title:"Export - reAudioPlayer One"}},{path:"/sing-along",component:()=>dt(()=>import("./index-91bfa428.js"),["assets/index-91bfa428.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/index-4e4ed216.css"]),meta:{title:"Sing Along - reAudioPlayer One"}},{path:"/download",component:()=>dt(()=>import("./index-6aeba909.js"),["assets/index-6aeba909.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/index-f90ed871.css"]),meta:{title:"Download - reAudioPlayer One"}},{path:"/welcome",component:()=>dt(()=>import("./Welcome-524b8e03.js"),["assets/Welcome-524b8e03.js","assets/Welcome-5b21c29e.css"]),meta:{title:"Welcome to reAudioPlayer One"}},{path:"/news",component:()=>dt(()=>import("./News-697c1603.js"),["assets/News-697c1603.js","assets/FullShelf-6722f9a0.js","assets/FullShelf-261568ae.css","assets/News-815a31c4.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/sports",component:()=>dt(()=>import("./Sports-acd84399.js"),["assets/Sports-acd84399.js","assets/FullShelf-6722f9a0.js","assets/FullShelf-261568ae.css","assets/Sports-385f73f9.css"]),meta:{title:"Sports - reAudioPlayer One"}},{path:"/news/:url",component:()=>dt(()=>import("./NewsArticle-6755655f.js"),["assets/NewsArticle-6755655f.js","assets/NewsArticle-f71d5ef8.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/player",component:()=>dt(()=>import("./BigPlayer-87cb4568.js"),["assets/BigPlayer-87cb4568.js","assets/Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js","assets/PlaylistEntry-a7c7e55a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js","assets/Template-f7fd23e9.js","assets/IconButton-f37a9ebc.js","assets/IconButton-ff1e50bb.css","assets/Template-fe5eeb6e.css","assets/Form-6220abd3.js","assets/Dropdown-489f43f3.js","assets/Dropdown-bc8d2dbe.css","assets/Form-886284c9.css","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4058086a.css","assets/PlaylistHeader-1850e9b2.js","assets/PlaylistHeader-107555cd.css","assets/PlaylistItem-0efbc30a.js","assets/Playlist-41f8fb8f.js","assets/ExternalEntry-7bdbc9d0.js","assets/ExternalEntry-1ad4a4e1.css","assets/Playlist-b839cbd8.css","assets/PlaylistItem-8556515c.css","assets/BigPlayer-1a9916b1.css"]),meta:{title:"reAudioPlayer One"}}],ys=EC({history:Hx(),routes:SC}),OC=["placeholder"],RC=ct({__name:"TextInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},expanded:{type:Boolean,required:!1,default:!1},onKeyUp:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{emit:t}){const r=e,s=Le(r.modelValue);ht(()=>r.modelValue,u=>{s.value=u});const o=()=>{t("update:modelValue",s.value),t("change",s.value)},l=u=>{r.onKeyUp&&r.onKeyUp(u)||u.key==="Enter"&&t("submit",s)};return(u,c)=>(pe(),Se("div",{class:it(["text-input-with-icon rounded-3xl flex items-center px-4",{expanded:e.expanded}])},[fe("span",{class:it([{"cursor-pointer":e.onClick},"material-symbols-rounded ms-wght-200"]),onClick:c[0]||(c[0]=(...d)=>e.onClick&&e.onClick(...d))},rt(e.icon),3),ea(fe("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>s.value=d),placeholder:e.placeholder,type:"text",onInput:o,onKeyup:l,onFocusout:c[2]||(c[2]=d=>u.$emit("focusout"))},null,40,OC),[[la,s.value]])],2))}});const TC=Pt(RC,[["__scopeId","data-v-25594ebd"]]);var da={},MC={get exports(){return da},set exports(e){da=e}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(e,t){(function(){var r,s="4.17.21",o=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",c="Invalid `variable` option passed into `_.template`",d="__lodash_hash_undefined__",h=500,g="__lodash_placeholder__",m=1,p=2,x=4,E=1,B=2,$=1,k=2,y=4,O=8,W=16,U=32,z=64,H=128,I=256,q=512,Z=30,V="...",w=800,T=16,L=1,C=2,A=3,F=1/0,R=9007199254740991,b=17976931348623157e292,Y=0/0,se=4294967295,me=se-1,ve=se>>>1,Ie=[["ary",H],["bind",$],["bindKey",k],["curry",O],["curryRight",W],["flip",q],["partial",U],["partialRight",z],["rearg",I]],G="[object Arguments]",ne="[object Array]",ue="[object AsyncFunction]",be="[object Boolean]",Ae="[object Date]",je="[object DOMException]",Ce="[object Error]",S="[object Function]",N="[object GeneratorFunction]",J="[object Map]",ee="[object Number]",oe="[object Null]",ce="[object Object]",ye="[object Promise]",de="[object Proxy]",he="[object RegExp]",ae="[object Set]",Ee="[object String]",Pe="[object Symbol]",ke="[object Undefined]",Re="[object WeakMap]",Ve="[object WeakSet]",Ge="[object ArrayBuffer]",Ke="[object DataView]",pt="[object Float32Array]",Dt="[object Float64Array]",Rn="[object Int8Array]",oi="[object Int16Array]",Hn="[object Int32Array]",ai="[object Uint8Array]",Ot="[object Uint8ClampedArray]",qt="[object Uint16Array]",li="[object Uint32Array]",Im=/\b__p \+= '';/g,Lm=/\b(__p \+=) '' \+/g,$m=/(__e\(.*?\)|\b__t\)) \+\n'';/g,yc=/&(?:amp|lt|gt|quot|#39);/g,_c=/[&<>"']/g,Bm=RegExp(yc.source),Dm=RegExp(_c.source),Nm=/<%-([\s\S]+?)%>/g,Wm=/<%([\s\S]+?)%>/g,bc=/<%=([\s\S]+?)%>/g,Fm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vm=/^\w*$/,Hm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ua=/[\\^$.*+?()[\]{}|]/g,Um=RegExp(Ua.source),ja=/^\s+/,jm=/\s/,qm=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Km=/\{\n\/\* \[wrapped with (.+)\] \*/,zm=/,? & /,Zm=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Gm=/[()=,{}\[\]\/\s]/,Ym=/\\(\\)?/g,Jm=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,wc=/\w*$/,Xm=/^[-+]0x[0-9a-f]+$/i,Qm=/^0b[01]+$/i,ev=/^\[object .+?Constructor\]$/,tv=/^0o[0-7]+$/i,nv=/^(?:0|[1-9]\d*)$/,rv=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Us=/($^)/,iv=/['\n\r\u2028\u2029\\]/g,js="\\ud800-\\udfff",sv="\\u0300-\\u036f",ov="\\ufe20-\\ufe2f",av="\\u20d0-\\u20ff",Ac=sv+ov+av,Pc="\\u2700-\\u27bf",xc="a-z\\xdf-\\xf6\\xf8-\\xff",lv="\\xac\\xb1\\xd7\\xf7",uv="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",cv="\\u2000-\\u206f",fv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Cc="A-Z\\xc0-\\xd6\\xd8-\\xde",Ec="\\ufe0e\\ufe0f",kc=lv+uv+cv+fv,qa="['’]",dv="["+js+"]",Sc="["+kc+"]",qs="["+Ac+"]",Oc="\\d+",hv="["+Pc+"]",Rc="["+xc+"]",Tc="[^"+js+kc+Oc+Pc+xc+Cc+"]",Ka="\\ud83c[\\udffb-\\udfff]",pv="(?:"+qs+"|"+Ka+")",Mc="[^"+js+"]",za="(?:\\ud83c[\\udde6-\\uddff]){2}",Za="[\\ud800-\\udbff][\\udc00-\\udfff]",ui="["+Cc+"]",Ic="\\u200d",Lc="(?:"+Rc+"|"+Tc+")",gv="(?:"+ui+"|"+Tc+")",$c="(?:"+qa+"(?:d|ll|m|re|s|t|ve))?",Bc="(?:"+qa+"(?:D|LL|M|RE|S|T|VE))?",Dc=pv+"?",Nc="["+Ec+"]?",mv="(?:"+Ic+"(?:"+[Mc,za,Za].join("|")+")"+Nc+Dc+")*",vv="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",yv="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Wc=Nc+Dc+mv,_v="(?:"+[hv,za,Za].join("|")+")"+Wc,bv="(?:"+[Mc+qs+"?",qs,za,Za,dv].join("|")+")",wv=RegExp(qa,"g"),Av=RegExp(qs,"g"),Ga=RegExp(Ka+"(?="+Ka+")|"+bv+Wc,"g"),Pv=RegExp([ui+"?"+Rc+"+"+$c+"(?="+[Sc,ui,"$"].join("|")+")",gv+"+"+Bc+"(?="+[Sc,ui+Lc,"$"].join("|")+")",ui+"?"+Lc+"+"+$c,ui+"+"+Bc,yv,vv,Oc,_v].join("|"),"g"),xv=RegExp("["+Ic+js+Ac+Ec+"]"),Cv=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ev=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],kv=-1,ft={};ft[pt]=ft[Dt]=ft[Rn]=ft[oi]=ft[Hn]=ft[ai]=ft[Ot]=ft[qt]=ft[li]=!0,ft[G]=ft[ne]=ft[Ge]=ft[be]=ft[Ke]=ft[Ae]=ft[Ce]=ft[S]=ft[J]=ft[ee]=ft[ce]=ft[he]=ft[ae]=ft[Ee]=ft[Re]=!1;var lt={};lt[G]=lt[ne]=lt[Ge]=lt[Ke]=lt[be]=lt[Ae]=lt[pt]=lt[Dt]=lt[Rn]=lt[oi]=lt[Hn]=lt[J]=lt[ee]=lt[ce]=lt[he]=lt[ae]=lt[Ee]=lt[Pe]=lt[ai]=lt[Ot]=lt[qt]=lt[li]=!0,lt[Ce]=lt[S]=lt[Re]=!1;var Sv={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Ov={"&":"&","<":"<",">":">",'"':""","'":"'"},Rv={"&":"&","<":"<",">":">",""":'"',"'":"'"},Tv={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Mv=parseFloat,Iv=parseInt,Fc=typeof cs=="object"&&cs&&cs.Object===Object&&cs,Lv=typeof self=="object"&&self&&self.Object===Object&&self,Rt=Fc||Lv||Function("return this")(),Ya=t&&!t.nodeType&&t,Dr=Ya&&!0&&e&&!e.nodeType&&e,Vc=Dr&&Dr.exports===Ya,Ja=Vc&&Fc.process,hn=function(){try{var j=Dr&&Dr.require&&Dr.require("util").types;return j||Ja&&Ja.binding&&Ja.binding("util")}catch{}}(),Hc=hn&&hn.isArrayBuffer,Uc=hn&&hn.isDate,jc=hn&&hn.isMap,qc=hn&&hn.isRegExp,Kc=hn&&hn.isSet,zc=hn&&hn.isTypedArray;function tn(j,te,X){switch(X.length){case 0:return j.call(te);case 1:return j.call(te,X[0]);case 2:return j.call(te,X[0],X[1]);case 3:return j.call(te,X[0],X[1],X[2])}return j.apply(te,X)}function $v(j,te,X,we){for(var $e=-1,Je=j==null?0:j.length;++$e-1}function Xa(j,te,X){for(var we=-1,$e=j==null?0:j.length;++we<$e;)if(X(te,j[we]))return!0;return!1}function gt(j,te){for(var X=-1,we=j==null?0:j.length,$e=Array(we);++X-1;);return X}function tf(j,te){for(var X=j.length;X--&&ci(te,j[X],0)>-1;);return X}function jv(j,te){for(var X=j.length,we=0;X--;)j[X]===te&&++we;return we}var qv=nl(Sv),Kv=nl(Ov);function zv(j){return"\\"+Tv[j]}function Zv(j,te){return j==null?r:j[te]}function fi(j){return xv.test(j)}function Gv(j){return Cv.test(j)}function Yv(j){for(var te,X=[];!(te=j.next()).done;)X.push(te.value);return X}function ol(j){var te=-1,X=Array(j.size);return j.forEach(function(we,$e){X[++te]=[$e,we]}),X}function nf(j,te){return function(X){return j(te(X))}}function cr(j,te){for(var X=-1,we=j.length,$e=0,Je=[];++X-1}function Dy(n,i){var a=this.__data__,f=uo(a,n);return f<0?(++this.size,a.push([n,i])):a[f][1]=i,this}Un.prototype.clear=Iy,Un.prototype.delete=Ly,Un.prototype.get=$y,Un.prototype.has=By,Un.prototype.set=Dy;function jn(n){var i=-1,a=n==null?0:n.length;for(this.clear();++i=i?n:i)),n}function vn(n,i,a,f,v,P){var M,D=i&m,K=i&p,re=i&x;if(a&&(M=v?a(n,f,v,P):a(n)),M!==r)return M;if(!yt(n))return n;var ie=Be(n);if(ie){if(M=V1(n),!D)return Kt(n,M)}else{var le=Lt(n),_e=le==S||le==N;if(mr(n))return Wf(n,D);if(le==ce||le==G||_e&&!v){if(M=K||_e?{}:id(n),!D)return K?R1(n,Qy(M,n)):O1(n,gf(M,n))}else{if(!lt[le])return v?n:{};M=H1(n,le,D)}}P||(P=new xn);var xe=P.get(n);if(xe)return xe;P.set(n,M),Id(n)?n.forEach(function(Me){M.add(vn(Me,i,a,Me,n,P))}):Td(n)&&n.forEach(function(Me,Ue){M.set(Ue,vn(Me,i,a,Ue,n,P))});var Te=re?K?Ml:Tl:K?Zt:kt,We=ie?r:Te(n);return pn(We||n,function(Me,Ue){We&&(Ue=Me,Me=n[Ue]),Gi(M,Ue,vn(Me,i,a,Ue,n,P))}),M}function e1(n){var i=kt(n);return function(a){return mf(a,n,i)}}function mf(n,i,a){var f=a.length;if(n==null)return!f;for(n=ot(n);f--;){var v=a[f],P=i[v],M=n[v];if(M===r&&!(v in n)||!P(M))return!1}return!0}function vf(n,i,a){if(typeof n!="function")throw new gn(u);return ns(function(){n.apply(r,a)},i)}function Yi(n,i,a,f){var v=-1,P=Ks,M=!0,D=n.length,K=[],re=i.length;if(!D)return K;a&&(i=gt(i,nn(a))),f?(P=Xa,M=!1):i.length>=o&&(P=Ui,M=!1,i=new Fr(i));e:for(;++vv?0:v+a),f=f===r||f>v?v:Ne(f),f<0&&(f+=v),f=a>f?0:$d(f);a0&&a(D)?i>1?Tt(D,i-1,a,f,v):ur(v,D):f||(v[v.length]=D)}return v}var hl=qf(),bf=qf(!0);function Tn(n,i){return n&&hl(n,i,kt)}function pl(n,i){return n&&bf(n,i,kt)}function fo(n,i){return lr(i,function(a){return Gn(n[a])})}function Hr(n,i){i=pr(i,n);for(var a=0,f=i.length;n!=null&&ai}function r1(n,i){return n!=null&&et.call(n,i)}function i1(n,i){return n!=null&&i in ot(n)}function s1(n,i,a){return n>=It(i,a)&&n=120&&ie.length>=120)?new Fr(M&&ie):r}ie=n[0];var le=-1,_e=D[0];e:for(;++le-1;)D!==n&&no.call(D,K,1),no.call(n,K,1);return n}function Tf(n,i){for(var a=n?i.length:0,f=a-1;a--;){var v=i[a];if(a==f||v!==P){var P=v;Zn(v)?no.call(n,v,1):xl(n,v)}}return n}function wl(n,i){return n+so(ff()*(i-n+1))}function y1(n,i,a,f){for(var v=-1,P=Ct(io((i-n)/(a||1)),0),M=X(P);P--;)M[f?P:++v]=n,n+=a;return M}function Al(n,i){var a="";if(!n||i<1||i>R)return a;do i%2&&(a+=n),i=so(i/2),i&&(n+=n);while(i);return a}function Fe(n,i){return Wl(ad(n,i,Gt),n+"")}function _1(n){return pf(Ai(n))}function b1(n,i){var a=Ai(n);return Po(a,Vr(i,0,a.length))}function Qi(n,i,a,f){if(!yt(n))return n;i=pr(i,n);for(var v=-1,P=i.length,M=P-1,D=n;D!=null&&++vv?0:v+i),a=a>v?v:a,a<0&&(a+=v),v=i>a?0:a-i>>>0,i>>>=0;for(var P=X(v);++f>>1,M=n[P];M!==null&&!sn(M)&&(a?M<=i:M=o){var re=i?null:L1(n);if(re)return Zs(re);M=!1,v=Ui,K=new Fr}else K=i?[]:D;e:for(;++f=f?n:yn(n,i,a)}var Nf=fy||function(n){return Rt.clearTimeout(n)};function Wf(n,i){if(i)return n.slice();var a=n.length,f=of?of(a):new n.constructor(a);return n.copy(f),f}function Sl(n){var i=new n.constructor(n.byteLength);return new eo(i).set(new eo(n)),i}function C1(n,i){var a=i?Sl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.byteLength)}function E1(n){var i=new n.constructor(n.source,wc.exec(n));return i.lastIndex=n.lastIndex,i}function k1(n){return Zi?ot(Zi.call(n)):{}}function Ff(n,i){var a=i?Sl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.length)}function Vf(n,i){if(n!==i){var a=n!==r,f=n===null,v=n===n,P=sn(n),M=i!==r,D=i===null,K=i===i,re=sn(i);if(!D&&!re&&!P&&n>i||P&&M&&K&&!D&&!re||f&&M&&K||!a&&K||!v)return 1;if(!f&&!P&&!re&&n=D)return K;var re=a[f];return K*(re=="desc"?-1:1)}}return n.index-i.index}function Hf(n,i,a,f){for(var v=-1,P=n.length,M=a.length,D=-1,K=i.length,re=Ct(P-M,0),ie=X(K+re),le=!f;++D1?a[v-1]:r,M=v>2?a[2]:r;for(P=n.length>3&&typeof P=="function"?(v--,P):r,M&&Wt(a[0],a[1],M)&&(P=v<3?r:P,v=1),i=ot(i);++f-1?v[P?i[M]:M]:r}}function Zf(n){return zn(function(i){var a=i.length,f=a,v=mn.prototype.thru;for(n&&i.reverse();f--;){var P=i[f];if(typeof P!="function")throw new gn(u);if(v&&!M&&wo(P)=="wrapper")var M=new mn([],!0)}for(f=M?f:a;++f1&&ze.reverse(),ie&&KD))return!1;var re=P.get(n),ie=P.get(i);if(re&&ie)return re==i&&ie==n;var le=-1,_e=!0,xe=a&B?new Fr:r;for(P.set(n,i),P.set(i,n);++le1?"& ":"")+i[f],i=i.join(a>2?", ":" "),n.replace(qm,`{ +/* [wrapped with `+i+`] */ +`)}function j1(n){return Be(n)||qr(n)||!!(uf&&n&&n[uf])}function Zn(n,i){var a=typeof n;return i=i??R,!!i&&(a=="number"||a!="symbol"&&nv.test(n))&&n>-1&&n%1==0&&n0){if(++i>=w)return arguments[0]}else i=0;return n.apply(r,arguments)}}function Po(n,i){var a=-1,f=n.length,v=f-1;for(i=i===r?f:i;++a1?n[i-1]:r;return a=typeof a=="function"?(n.pop(),a):r,_d(n,a)});function bd(n){var i=_(n);return i.__chain__=!0,i}function t0(n,i){return i(n),n}function xo(n,i){return i(n)}var n0=zn(function(n){var i=n.length,a=i?n[0]:0,f=this.__wrapped__,v=function(P){return dl(P,n)};return i>1||this.__actions__.length||!(f instanceof qe)||!Zn(a)?this.thru(v):(f=f.slice(a,+a+(i?1:0)),f.__actions__.push({func:xo,args:[v],thisArg:r}),new mn(f,this.__chain__).thru(function(P){return i&&!P.length&&P.push(r),P}))});function r0(){return bd(this)}function i0(){return new mn(this.value(),this.__chain__)}function s0(){this.__values__===r&&(this.__values__=Ld(this.value()));var n=this.__index__>=this.__values__.length,i=n?r:this.__values__[this.__index__++];return{done:n,value:i}}function o0(){return this}function a0(n){for(var i,a=this;a instanceof lo;){var f=hd(a);f.__index__=0,f.__values__=r,i?v.__wrapped__=f:i=f;var v=f;a=a.__wrapped__}return v.__wrapped__=n,i}function l0(){var n=this.__wrapped__;if(n instanceof qe){var i=n;return this.__actions__.length&&(i=new qe(this)),i=i.reverse(),i.__actions__.push({func:xo,args:[Fl],thisArg:r}),new mn(i,this.__chain__)}return this.thru(Fl)}function u0(){return Bf(this.__wrapped__,this.__actions__)}var c0=mo(function(n,i,a){et.call(n,a)?++n[a]:qn(n,a,1)});function f0(n,i,a){var f=Be(n)?Zc:t1;return a&&Wt(n,i,a)&&(i=r),f(n,Oe(i,3))}function d0(n,i){var a=Be(n)?lr:_f;return a(n,Oe(i,3))}var h0=zf(pd),p0=zf(gd);function g0(n,i){return Tt(Co(n,i),1)}function m0(n,i){return Tt(Co(n,i),F)}function v0(n,i,a){return a=a===r?1:Ne(a),Tt(Co(n,i),a)}function wd(n,i){var a=Be(n)?pn:dr;return a(n,Oe(i,3))}function Ad(n,i){var a=Be(n)?Bv:yf;return a(n,Oe(i,3))}var y0=mo(function(n,i,a){et.call(n,a)?n[a].push(i):qn(n,a,[i])});function _0(n,i,a,f){n=zt(n)?n:Ai(n),a=a&&!f?Ne(a):0;var v=n.length;return a<0&&(a=Ct(v+a,0)),Ro(n)?a<=v&&n.indexOf(i,a)>-1:!!v&&ci(n,i,a)>-1}var b0=Fe(function(n,i,a){var f=-1,v=typeof i=="function",P=zt(n)?X(n.length):[];return dr(n,function(M){P[++f]=v?tn(i,M,a):Ji(M,i,a)}),P}),w0=mo(function(n,i,a){qn(n,a,i)});function Co(n,i){var a=Be(n)?gt:Cf;return a(n,Oe(i,3))}function A0(n,i,a,f){return n==null?[]:(Be(i)||(i=i==null?[]:[i]),a=f?r:a,Be(a)||(a=a==null?[]:[a]),Of(n,i,a))}var P0=mo(function(n,i,a){n[a?0:1].push(i)},function(){return[[],[]]});function x0(n,i,a){var f=Be(n)?Qa:Xc,v=arguments.length<3;return f(n,Oe(i,4),a,v,dr)}function C0(n,i,a){var f=Be(n)?Dv:Xc,v=arguments.length<3;return f(n,Oe(i,4),a,v,yf)}function E0(n,i){var a=Be(n)?lr:_f;return a(n,So(Oe(i,3)))}function k0(n){var i=Be(n)?pf:_1;return i(n)}function S0(n,i,a){(a?Wt(n,i,a):i===r)?i=1:i=Ne(i);var f=Be(n)?Yy:b1;return f(n,i)}function O0(n){var i=Be(n)?Jy:A1;return i(n)}function R0(n){if(n==null)return 0;if(zt(n))return Ro(n)?di(n):n.length;var i=Lt(n);return i==J||i==ae?n.size:yl(n).length}function T0(n,i,a){var f=Be(n)?el:P1;return a&&Wt(n,i,a)&&(i=r),f(n,Oe(i,3))}var M0=Fe(function(n,i){if(n==null)return[];var a=i.length;return a>1&&Wt(n,i[0],i[1])?i=[]:a>2&&Wt(i[0],i[1],i[2])&&(i=[i[0]]),Of(n,Tt(i,1),[])}),Eo=dy||function(){return Rt.Date.now()};function I0(n,i){if(typeof i!="function")throw new gn(u);return n=Ne(n),function(){if(--n<1)return i.apply(this,arguments)}}function Pd(n,i,a){return i=a?r:i,i=n&&i==null?n.length:i,Kn(n,H,r,r,r,r,i)}function xd(n,i){var a;if(typeof i!="function")throw new gn(u);return n=Ne(n),function(){return--n>0&&(a=i.apply(this,arguments)),n<=1&&(i=r),a}}var Hl=Fe(function(n,i,a){var f=$;if(a.length){var v=cr(a,bi(Hl));f|=U}return Kn(n,f,i,a,v)}),Cd=Fe(function(n,i,a){var f=$|k;if(a.length){var v=cr(a,bi(Cd));f|=U}return Kn(i,f,n,a,v)});function Ed(n,i,a){i=a?r:i;var f=Kn(n,O,r,r,r,r,r,i);return f.placeholder=Ed.placeholder,f}function kd(n,i,a){i=a?r:i;var f=Kn(n,W,r,r,r,r,r,i);return f.placeholder=kd.placeholder,f}function Sd(n,i,a){var f,v,P,M,D,K,re=0,ie=!1,le=!1,_e=!0;if(typeof n!="function")throw new gn(u);i=bn(i)||0,yt(a)&&(ie=!!a.leading,le="maxWait"in a,P=le?Ct(bn(a.maxWait)||0,i):P,_e="trailing"in a?!!a.trailing:_e);function xe(wt){var En=f,Jn=v;return f=v=r,re=wt,M=n.apply(Jn,En),M}function Te(wt){return re=wt,D=ns(Ue,i),ie?xe(wt):M}function We(wt){var En=wt-K,Jn=wt-re,zd=i-En;return le?It(zd,P-Jn):zd}function Me(wt){var En=wt-K,Jn=wt-re;return K===r||En>=i||En<0||le&&Jn>=P}function Ue(){var wt=Eo();if(Me(wt))return ze(wt);D=ns(Ue,We(wt))}function ze(wt){return D=r,_e&&f?xe(wt):(f=v=r,M)}function on(){D!==r&&Nf(D),re=0,f=K=v=D=r}function Ft(){return D===r?M:ze(Eo())}function an(){var wt=Eo(),En=Me(wt);if(f=arguments,v=this,K=wt,En){if(D===r)return Te(K);if(le)return Nf(D),D=ns(Ue,i),xe(K)}return D===r&&(D=ns(Ue,i)),M}return an.cancel=on,an.flush=Ft,an}var L0=Fe(function(n,i){return vf(n,1,i)}),$0=Fe(function(n,i,a){return vf(n,bn(i)||0,a)});function B0(n){return Kn(n,q)}function ko(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new gn(u);var a=function(){var f=arguments,v=i?i.apply(this,f):f[0],P=a.cache;if(P.has(v))return P.get(v);var M=n.apply(this,f);return a.cache=P.set(v,M)||P,M};return a.cache=new(ko.Cache||jn),a}ko.Cache=jn;function So(n){if(typeof n!="function")throw new gn(u);return function(){var i=arguments;switch(i.length){case 0:return!n.call(this);case 1:return!n.call(this,i[0]);case 2:return!n.call(this,i[0],i[1]);case 3:return!n.call(this,i[0],i[1],i[2])}return!n.apply(this,i)}}function D0(n){return xd(2,n)}var N0=x1(function(n,i){i=i.length==1&&Be(i[0])?gt(i[0],nn(Oe())):gt(Tt(i,1),nn(Oe()));var a=i.length;return Fe(function(f){for(var v=-1,P=It(f.length,a);++v=i}),qr=Af(function(){return arguments}())?Af:function(n){return _t(n)&&et.call(n,"callee")&&!lf.call(n,"callee")},Be=X.isArray,Q0=Hc?nn(Hc):a1;function zt(n){return n!=null&&Oo(n.length)&&!Gn(n)}function bt(n){return _t(n)&&zt(n)}function eb(n){return n===!0||n===!1||_t(n)&&Nt(n)==be}var mr=py||eu,tb=Uc?nn(Uc):l1;function nb(n){return _t(n)&&n.nodeType===1&&!rs(n)}function rb(n){if(n==null)return!0;if(zt(n)&&(Be(n)||typeof n=="string"||typeof n.splice=="function"||mr(n)||wi(n)||qr(n)))return!n.length;var i=Lt(n);if(i==J||i==ae)return!n.size;if(ts(n))return!yl(n).length;for(var a in n)if(et.call(n,a))return!1;return!0}function ib(n,i){return Xi(n,i)}function sb(n,i,a){a=typeof a=="function"?a:r;var f=a?a(n,i):r;return f===r?Xi(n,i,r,a):!!f}function jl(n){if(!_t(n))return!1;var i=Nt(n);return i==Ce||i==je||typeof n.message=="string"&&typeof n.name=="string"&&!rs(n)}function ob(n){return typeof n=="number"&&cf(n)}function Gn(n){if(!yt(n))return!1;var i=Nt(n);return i==S||i==N||i==ue||i==de}function Rd(n){return typeof n=="number"&&n==Ne(n)}function Oo(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=R}function yt(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}function _t(n){return n!=null&&typeof n=="object"}var Td=jc?nn(jc):c1;function ab(n,i){return n===i||vl(n,i,Ll(i))}function lb(n,i,a){return a=typeof a=="function"?a:r,vl(n,i,Ll(i),a)}function ub(n){return Md(n)&&n!=+n}function cb(n){if(z1(n))throw new $e(l);return Pf(n)}function fb(n){return n===null}function db(n){return n==null}function Md(n){return typeof n=="number"||_t(n)&&Nt(n)==ee}function rs(n){if(!_t(n)||Nt(n)!=ce)return!1;var i=to(n);if(i===null)return!0;var a=et.call(i,"constructor")&&i.constructor;return typeof a=="function"&&a instanceof a&&Js.call(a)==ly}var ql=qc?nn(qc):f1;function hb(n){return Rd(n)&&n>=-R&&n<=R}var Id=Kc?nn(Kc):d1;function Ro(n){return typeof n=="string"||!Be(n)&&_t(n)&&Nt(n)==Ee}function sn(n){return typeof n=="symbol"||_t(n)&&Nt(n)==Pe}var wi=zc?nn(zc):h1;function pb(n){return n===r}function gb(n){return _t(n)&&Lt(n)==Re}function mb(n){return _t(n)&&Nt(n)==Ve}var vb=bo(_l),yb=bo(function(n,i){return n<=i});function Ld(n){if(!n)return[];if(zt(n))return Ro(n)?Pn(n):Kt(n);if(ji&&n[ji])return Yv(n[ji]());var i=Lt(n),a=i==J?ol:i==ae?Zs:Ai;return a(n)}function Yn(n){if(!n)return n===0?n:0;if(n=bn(n),n===F||n===-F){var i=n<0?-1:1;return i*b}return n===n?n:0}function Ne(n){var i=Yn(n),a=i%1;return i===i?a?i-a:i:0}function $d(n){return n?Vr(Ne(n),0,se):0}function bn(n){if(typeof n=="number")return n;if(sn(n))return Y;if(yt(n)){var i=typeof n.valueOf=="function"?n.valueOf():n;n=yt(i)?i+"":i}if(typeof n!="string")return n===0?n:+n;n=Qc(n);var a=Qm.test(n);return a||tv.test(n)?Iv(n.slice(2),a?2:8):Xm.test(n)?Y:+n}function Bd(n){return Mn(n,Zt(n))}function _b(n){return n?Vr(Ne(n),-R,R):n===0?n:0}function Xe(n){return n==null?"":rn(n)}var bb=yi(function(n,i){if(ts(i)||zt(i)){Mn(i,kt(i),n);return}for(var a in i)et.call(i,a)&&Gi(n,a,i[a])}),Dd=yi(function(n,i){Mn(i,Zt(i),n)}),To=yi(function(n,i,a,f){Mn(i,Zt(i),n,f)}),wb=yi(function(n,i,a,f){Mn(i,kt(i),n,f)}),Ab=zn(dl);function Pb(n,i){var a=vi(n);return i==null?a:gf(a,i)}var xb=Fe(function(n,i){n=ot(n);var a=-1,f=i.length,v=f>2?i[2]:r;for(v&&Wt(i[0],i[1],v)&&(f=1);++a1),P}),Mn(n,Ml(n),a),f&&(a=vn(a,m|p|x,$1));for(var v=i.length;v--;)xl(a,i[v]);return a});function Hb(n,i){return Wd(n,So(Oe(i)))}var Ub=zn(function(n,i){return n==null?{}:m1(n,i)});function Wd(n,i){if(n==null)return{};var a=gt(Ml(n),function(f){return[f]});return i=Oe(i),Rf(n,a,function(f,v){return i(f,v[0])})}function jb(n,i,a){i=pr(i,n);var f=-1,v=i.length;for(v||(v=1,n=r);++fi){var f=n;n=i,i=f}if(a||n%1||i%1){var v=ff();return It(n+v*(i-n+Mv("1e-"+((v+"").length-1))),i)}return wl(n,i)}var tw=_i(function(n,i,a){return i=i.toLowerCase(),n+(a?Hd(i):i)});function Hd(n){return Zl(Xe(n).toLowerCase())}function Ud(n){return n=Xe(n),n&&n.replace(rv,qv).replace(Av,"")}function nw(n,i,a){n=Xe(n),i=rn(i);var f=n.length;a=a===r?f:Vr(Ne(a),0,f);var v=a;return a-=i.length,a>=0&&n.slice(a,v)==i}function rw(n){return n=Xe(n),n&&Dm.test(n)?n.replace(_c,Kv):n}function iw(n){return n=Xe(n),n&&Um.test(n)?n.replace(Ua,"\\$&"):n}var sw=_i(function(n,i,a){return n+(a?"-":"")+i.toLowerCase()}),ow=_i(function(n,i,a){return n+(a?" ":"")+i.toLowerCase()}),aw=Kf("toLowerCase");function lw(n,i,a){n=Xe(n),i=Ne(i);var f=i?di(n):0;if(!i||f>=i)return n;var v=(i-f)/2;return _o(so(v),a)+n+_o(io(v),a)}function uw(n,i,a){n=Xe(n),i=Ne(i);var f=i?di(n):0;return i&&f>>0,a?(n=Xe(n),n&&(typeof i=="string"||i!=null&&!ql(i))&&(i=rn(i),!i&&fi(n))?gr(Pn(n),0,a):n.split(i,a)):[]}var mw=_i(function(n,i,a){return n+(a?" ":"")+Zl(i)});function vw(n,i,a){return n=Xe(n),a=a==null?0:Vr(Ne(a),0,n.length),i=rn(i),n.slice(a,a+i.length)==i}function yw(n,i,a){var f=_.templateSettings;a&&Wt(n,i,a)&&(i=r),n=Xe(n),i=To({},i,f,Qf);var v=To({},i.imports,f.imports,Qf),P=kt(v),M=sl(v,P),D,K,re=0,ie=i.interpolate||Us,le="__p += '",_e=al((i.escape||Us).source+"|"+ie.source+"|"+(ie===bc?Jm:Us).source+"|"+(i.evaluate||Us).source+"|$","g"),xe="//# sourceURL="+(et.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++kv+"]")+` +`;n.replace(_e,function(Me,Ue,ze,on,Ft,an){return ze||(ze=on),le+=n.slice(re,an).replace(iv,zv),Ue&&(D=!0,le+=`' + +__e(`+Ue+`) + +'`),Ft&&(K=!0,le+=`'; +`+Ft+`; +__p += '`),ze&&(le+=`' + +((__t = (`+ze+`)) == null ? '' : __t) + +'`),re=an+Me.length,Me}),le+=`'; +`;var Te=et.call(i,"variable")&&i.variable;if(!Te)le=`with (obj) { +`+le+` +} +`;else if(Gm.test(Te))throw new $e(c);le=(K?le.replace(Im,""):le).replace(Lm,"$1").replace($m,"$1;"),le="function("+(Te||"obj")+`) { +`+(Te?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(D?", __e = _.escape":"")+(K?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+le+`return __p +}`;var We=qd(function(){return Je(P,xe+"return "+le).apply(r,M)});if(We.source=le,jl(We))throw We;return We}function _w(n){return Xe(n).toLowerCase()}function bw(n){return Xe(n).toUpperCase()}function ww(n,i,a){if(n=Xe(n),n&&(a||i===r))return Qc(n);if(!n||!(i=rn(i)))return n;var f=Pn(n),v=Pn(i),P=ef(f,v),M=tf(f,v)+1;return gr(f,P,M).join("")}function Aw(n,i,a){if(n=Xe(n),n&&(a||i===r))return n.slice(0,rf(n)+1);if(!n||!(i=rn(i)))return n;var f=Pn(n),v=tf(f,Pn(i))+1;return gr(f,0,v).join("")}function Pw(n,i,a){if(n=Xe(n),n&&(a||i===r))return n.replace(ja,"");if(!n||!(i=rn(i)))return n;var f=Pn(n),v=ef(f,Pn(i));return gr(f,v).join("")}function xw(n,i){var a=Z,f=V;if(yt(i)){var v="separator"in i?i.separator:v;a="length"in i?Ne(i.length):a,f="omission"in i?rn(i.omission):f}n=Xe(n);var P=n.length;if(fi(n)){var M=Pn(n);P=M.length}if(a>=P)return n;var D=a-di(f);if(D<1)return f;var K=M?gr(M,0,D).join(""):n.slice(0,D);if(v===r)return K+f;if(M&&(D+=K.length-D),ql(v)){if(n.slice(D).search(v)){var re,ie=K;for(v.global||(v=al(v.source,Xe(wc.exec(v))+"g")),v.lastIndex=0;re=v.exec(ie);)var le=re.index;K=K.slice(0,le===r?D:le)}}else if(n.indexOf(rn(v),D)!=D){var _e=K.lastIndexOf(v);_e>-1&&(K=K.slice(0,_e))}return K+f}function Cw(n){return n=Xe(n),n&&Bm.test(n)?n.replace(yc,ey):n}var Ew=_i(function(n,i,a){return n+(a?" ":"")+i.toUpperCase()}),Zl=Kf("toUpperCase");function jd(n,i,a){return n=Xe(n),i=a?r:i,i===r?Gv(n)?ry(n):Fv(n):n.match(i)||[]}var qd=Fe(function(n,i){try{return tn(n,r,i)}catch(a){return jl(a)?a:new $e(a)}}),kw=zn(function(n,i){return pn(i,function(a){a=In(a),qn(n,a,Hl(n[a],n))}),n});function Sw(n){var i=n==null?0:n.length,a=Oe();return n=i?gt(n,function(f){if(typeof f[1]!="function")throw new gn(u);return[a(f[0]),f[1]]}):[],Fe(function(f){for(var v=-1;++vR)return[];var a=se,f=It(n,se);i=Oe(i),n-=se;for(var v=il(f,i);++a0||i<0)?new qe(a):(n<0?a=a.takeRight(-n):n&&(a=a.drop(n)),i!==r&&(i=Ne(i),a=i<0?a.dropRight(-i):a.take(i-n)),a)},qe.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},qe.prototype.toArray=function(){return this.take(se)},Tn(qe.prototype,function(n,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),f=/^(?:head|last)$/.test(i),v=_[f?"take"+(i=="last"?"Right":""):i],P=f||/^find/.test(i);v&&(_.prototype[i]=function(){var M=this.__wrapped__,D=f?[1]:arguments,K=M instanceof qe,re=D[0],ie=K||Be(M),le=function(Ue){var ze=v.apply(_,ur([Ue],D));return f&&_e?ze[0]:ze};ie&&a&&typeof re=="function"&&re.length!=1&&(K=ie=!1);var _e=this.__chain__,xe=!!this.__actions__.length,Te=P&&!_e,We=K&&!xe;if(!P&&ie){M=We?M:new qe(this);var Me=n.apply(M,D);return Me.__actions__.push({func:xo,args:[le],thisArg:r}),new mn(Me,_e)}return Te&&We?n.apply(this,D):(Me=this.thru(le),Te?f?Me.value()[0]:Me.value():Me)})}),pn(["pop","push","shift","sort","splice","unshift"],function(n){var i=Gs[n],a=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",f=/^(?:pop|shift)$/.test(n);_.prototype[n]=function(){var v=arguments;if(f&&!this.__chain__){var P=this.value();return i.apply(Be(P)?P:[],v)}return this[a](function(M){return i.apply(Be(M)?M:[],v)})}}),Tn(qe.prototype,function(n,i){var a=_[i];if(a){var f=a.name+"";et.call(mi,f)||(mi[f]=[]),mi[f].push({name:i,func:a})}}),mi[vo(r,k).name]=[{name:"wrapper",func:r}],qe.prototype.clone=Cy,qe.prototype.reverse=Ey,qe.prototype.value=ky,_.prototype.at=n0,_.prototype.chain=r0,_.prototype.commit=i0,_.prototype.next=s0,_.prototype.plant=a0,_.prototype.reverse=l0,_.prototype.toJSON=_.prototype.valueOf=_.prototype.value=u0,_.prototype.first=_.prototype.head,ji&&(_.prototype[ji]=o0),_},hi=iy();Dr?((Dr.exports=hi)._=hi,Ya._=hi):Rt._=hi}).call(cs)})(MC,da);const IC={class:"flex flex-col"},LC=ct({__name:"InputWithAutoComplete",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},suggest:{type:Function,required:!0},clickSuggest:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{emit:t}){const r=e,s=Le(-1),o=p=>p.key==="ArrowDown"?(s.value++,s.value>=d.value.length&&(s.value=-1),!0):p.key==="ArrowUp"?(s.value===-1&&(s.value=d.value.length),s.value--,s.value<0&&(s.value=-1),!0):p.key==="Enter"&&(console.log(s.value),s.value>=0)?(r.clickSuggest(d.value[s.value]),s.value=-1,d.value=[],!0):!1;document.addEventListener("click",p=>{var x;(x=u.value)!=null&&x.contains(p.target)||(d.value=[],s.value=-1)});const l=Le(r.modelValue);ht(()=>r.modelValue,p=>{l.value=p});const u=Le(null),c=Ye(()=>{var p,x;return{top:u.value.offsetTop+u.value.offsetHeight+"px",left:((p=u.value)==null?void 0:p.offsetLeft)+"px",width:((x=u.value)==null?void 0:x.offsetWidth)+"px"}}),d=Le([]),h=da.debounce(async()=>{d.value=(await r.suggest(l.value)).slice(0,5)},300),g=()=>{t("update:modelValue",l.value),t("change",l.value),h()},m=p=>{t("submit",p),d.value=[]};return(p,x)=>(pe(),Se(st,null,[fe("div",{ref_key:"inputElement",ref:u},[ge(TC,{modelValue:l.value,"onUpdate:modelValue":x[0]||(x[0]=E=>l.value=E),class:"md:!w-96",icon:e.icon,placeholder:e.placeholder,onSubmit:m,onChange:g,onKeyUp:o,expanded:d.value.length>0},null,8,["modelValue","icon","placeholder","expanded"])],512),d.value.length>0?(pe(),ut(uc,{key:0,to:"#autocomplete-target"},[fe("div",{class:"suggestions absolute w-full z-10",style:Lr(Q(c)),onClick:x[1]||(x[1]=Bs(E=>d.value=[],["stop"]))},[fe("div",IC,[(pe(!0),Se(st,null,Fs(d.value,(E,B)=>ta(p.$slots,"default",{selected:B===s.value,value:E},void 0,!0)),256))])],4)])):nt("",!0)],64))}});const $C=Pt(LC,[["__scopeId","data-v-a7f85506"]]),BC={class:"header grid grid-cols-3 justify-between drop-shadow-md"},DC={class:"search flex flex-row"},NC=["onClick"],WC={class:"flex flex-col overflow-hidden"},FC={class:"mr-2 flex flex-row gap-2"},VC=ct({__name:"Header",setup(e){const t=Le(null),r=Le(!1),s=Ye(()=>{if(!t.value)return{};const h=`calc(${t.value.offsetTop}px + 10px)`,g=`calc(${t.value.offsetLeft}px + 10px)`;return{top:h,left:g}});pc().onDownload.push(h=>{r.value=!0,setTimeout(()=>{r.value=!1},500)});const l=h=>{ys.push(h.href)},u=async h=>h.length?(await(await fetch("/api/search",{method:"POST",body:JSON.stringify({query:h,scope:["local"]})})).json()).tracks:[];let c=Le("");Ut(()=>{c.value=ys.currentRoute.value.params.query||"",ys.afterEach(h=>{c.value=h.params.query||"",console.log(c.value)})});let d=()=>{ys.push({name:"Search",params:{query:c.value}})};return(h,g)=>(pe(),Se("div",BC,[ge(Q(Ax),{class:"hideIfMobile logo",onClick:g[0]||(g[0]=m=>h.$router.push("/"))}),fe("div",DC,[ge(kn,{class:"sm:ml-0 mr-2",href:"/",icon:"home",minimised:"",name:"Home"}),ge($C,{modelValue:Q(c),"onUpdate:modelValue":g[1]||(g[1]=m=>vt(c)?c.value=m:c=m),class:"md:!w-96",icon:"search",placeholder:"Search...",onSubmit:Q(d),clickSuggest:l,suggest:u},{default:Ht(({value:m,selected:p})=>[fe("div",{class:it(["suggestion",{selected:p}]),onClick:x=>l(m)},[ge(Es,{src:m.cover},null,8,["src"]),fe("div",WC,[ge(tr,{text:m.title},null,8,["text"]),ge(tr,{class:"text-sm text-muted",text:m.artist},null,8,["text"])])],10,NC)]),_:1},8,["modelValue","onSubmit"])]),fe("div",FC,[fe("div",{class:"download",ref_key:"downloadIcon",ref:t},[ge(kn,{href:"/download",icon:"download",minimised:"",name:"Download"}),(pe(),ut(uc,{to:"#popup-target"},[r.value?(pe(),Se("span",{key:0,class:"download-anim absolute top-0 left-0 z-[1000] material-symbols-rounded",style:Lr(Q(s))},"download",4)):nt("",!0)]))],512),ge(kn,{href:"/preferences",icon:"settings",minimised:"",name:"Preferences"})])]))}});const HC=Pt(VC,[["__scopeId","data-v-b76d387a"]]);const UC={name:"Loader"},jC=e=>(Sa("data-v-a8d83b29"),e=e(),Oa(),e),qC={class:"loader"},KC=jC(()=>fe("div",{class:"spinner"},[fe("div",{class:"bounce1"}),fe("div",{class:"bounce2"}),fe("div",{class:"bounce3"})],-1)),zC=[KC];function ZC(e,t,r,s,o,l){return pe(),Se("div",qC,zC)}const GC=Pt(UC,[["render",ZC],["__scopeId","data-v-a8d83b29"]]),YC={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},JC=fe("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),XC=[JC];function QC(e,t){return pe(),Se("svg",YC,XC)}const eE={render:QC};const tE={class:"startup"},nE={class:"wrap"},rE={class:"logo"},iE={__name:"Startup",setup(e){return Ut(()=>{lm.clear()}),(t,r)=>(pe(),Se("div",tE,[fe("div",nE,[fe("div",rE,[ge(Q(eE))]),ge(Q(GC))])]))}},sE=Pt(iE,[["__scopeId","data-v-24a52185"]]),oE=ct({__name:"Card",props:{withHover:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){return(t,r)=>(pe(),Se("div",{class:it([{withHover:e.withHover,disabled:e.disabled},"card"])},[ta(t.$slots,"default",{},void 0,!0)],2))}});const Em=Pt(oE,[["__scopeId","data-v-04b9eb92"]]),aE={class:"message"},lE={key:0,class:"details"},uE=ct({__name:"ClosableNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=s=>{t("remove",s)};return(s,o)=>(pe(),ut(Em,{class:it([e.notification.type,"notification"])},{default:Ht(()=>[fe("div",aE,[fe("h4",null,rt(e.notification.message),1),e.notification.details?(pe(),Se("span",lE,rt(e.notification.details),1)):nt("",!0)]),fe("span",{class:"material-symbols-rounded close",onClick:o[0]||(o[0]=l=>r(e.notification.id))}," close ")]),_:1},8,["class"]))}});const cE=Pt(uE,[["__scopeId","data-v-49e9d059"]]),km=e=>(Sa("data-v-4dd7578e"),e=e(),Oa(),e),fE={class:"message"},dE={key:0,class:"details"},hE=km(()=>fe("span",{class:"material-symbols-rounded"}," check ",-1)),pE=[hE],gE=km(()=>fe("span",{class:"material-symbols-rounded"}," close ",-1)),mE=[gE],vE=ct({__name:"YesNoNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=e,s=()=>{t("remove",r.notification.id),r.notification.onNo&&r.notification.onNo()},o=()=>{t("remove",r.notification.id),r.notification.onYes&&r.notification.onYes()};return(l,u)=>(pe(),ut(Em,{class:"notification"},{default:Ht(()=>[fe("div",fE,[fe("h4",null,rt(e.notification.message),1),e.notification.details?(pe(),Se("span",dE,rt(e.notification.details),1)):nt("",!0)]),fe("div",{class:"yes-no"},[fe("div",{class:"yes option",onClick:o},pE),fe("div",{class:"no option",onClick:s},mE)])]),_:1}))}});const yE=Pt(vE,[["__scopeId","data-v-4dd7578e"]]),_E={class:"notifications"},bE=ct({__name:"NotificationHandler",setup(e){const t=["success","error","info","warning"],r=Le([]),s=u=>{r.value.push(u),u.timeout&&setTimeout(()=>{var c;(c=u.onTimeout)==null||c.call(u),o(u.id)},u.timeout)},o=u=>{r.value=r.value.filter(c=>c.id!=u)},l=()=>{r.value=[]};return window.addEventListener("notification.add",u=>{const c=u.detail;s(c)}),window.addEventListener("notification.remove",u=>{const c=u.detail;o(c)}),window.addEventListener("notification.clear",()=>{l()}),(u,c)=>(pe(),Se("div",_E,[(pe(!0),Se(st,null,Fs(r.value,d=>(pe(),Se(st,{key:d.id},[t.includes(d.type)?(pe(),ut(cE,{key:0,notification:d,onRemove:o},null,8,["notification"])):d.type=="yes-no"?(pe(),ut(yE,{key:1,notification:d,onRemove:o},null,8,["notification"])):nt("",!0)],64))),128))]))}});const wE=Pt(bE,[["__scopeId","data-v-ca1aa49b"]]);const AE=["src"],PE={id:"appRoot",class:"appRoot"},xE={class:"interface"},CE=fe("div",{id:"popup-target"},null,-1),EE=fe("div",{id:"dropdown-target"},null,-1),kE=fe("div",{id:"autocomplete-target"},null,-1),SE={name:"App",components:{Sidebar:dm,Body:hm,Player:gm},async mounted(){si(),d3(),am(),await h3()&&this.$router.push("/welcome"),await p3()},data(){return{maximised:!1,coverAsBackground:!1}},watch:{$route(e){document.title=e.meta.title||"reAudioPlayer One"}}},OE=Object.assign(SE,{setup(e){pm();const t=Qt(),r=Le(null);ht(()=>t.song.cover,()=>{s()});const s=async()=>{r.value=await ca(t.song.cover,"graphic_eq")};return s(),(o,l)=>(pe(),Se(st,null,[fe("div",{class:it([{hidden:!o.coverAsBackground},"bgImageWrapper"])},[fe("div",{style:Lr({backgroundImage:`url(${r.value})`}),class:"bgImage"},[fe("img",{src:r.value,class:"hidden",onError:l[0]||(l[0]=u=>o.src=null)},null,40,AE)],4)],2),fe("div",PE,[Q(t).ready?(pe(),Se(st,{key:0},[ge(HC),fe("div",xE,[o.maximised?nt("",!0):(pe(),ut(dm,{key:0})),ge(hm,{onMaximise:l[1]||(l[1]=u=>o.maximised=u)})]),ge(gm),o.maximised?nt("",!0):(pe(),ut(vx,{key:0}))],64)):(pe(),ut(sE,{key:1}))]),CE,EE,kE,ge(wE)],64))}});function Yo(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Yo=function(t){return typeof t}:Yo=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yo(e)}function RE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gp(e,t){for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:{},s,o,l,u=function(d){for(var h=arguments.length,g=new Array(h>1?h-1:0),m=1;m1){var h=c.find(function(m){return m.isIntersecting});h&&(d=h)}if(o.callback){var g=d.isIntersecting&&d.intersectionRatio>=o.threshold;if(g===o.oldResult)return;o.oldResult=g,o.callback(g,d)}},this.options.intersection),s.context.$nextTick(function(){o.observer&&o.observer.observe(o.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Om(e,t,r){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new DE(e,s,r);e._vue_visibilityState=o}}function NE(e,t,r){var s=t.value,o=t.oldValue;if(!Sm(s,o)){var l=e._vue_visibilityState;if(!s){Rm(e);return}l?l.createObserver(s,r):Om(e,{value:s},r)}}function Rm(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Jo={bind:Om,update:NE,unbind:Rm};function WE(e){e.directive("observe-visibility",Jo)}var FE={version:"1.0.0",install:WE},ha=null;typeof window<"u"?ha=window.Vue:typeof global<"u"&&(ha=global.Vue);ha&&ha.use(FE);var Tm=function(t,r){var s,o=r.arg;if(!o){console.error("参数有误");return}var l=r.value,u=vt(o)?o.value:(s=r.instance)===null||s===void 0?void 0:s.$refs[o];if(!u){console.error("没有找到 ".concat(o," 对应的实例"));return}if(typeof u.addReference!="function"){console.error("".concat(o," 对应的实例不是 VContextmenu"));return}t.$contextmenuKey=o,u.addReference(t,l)},Mm=function(t,r){var s,o=t.$contextmenuKey;if(o){var l=(s=r.instance)===null||s===void 0?void 0:s.$refs[o];l==null||l.removeReference(t)}},VE=function(t,r){Mm(t,r),Tm(t,r)},HE={mounted:Tm,updated:VE,beforeUnmount:Mm},mt={contextmenu:"v-contextmenu",contextmenuIcon:"v-contextmenu-icon",contextmenuInner:"v-contextmenu-inner",contextmenuDivider:"v-contextmenu-divider",contextmenuItem:"v-contextmenu-item",contextmenuItemHover:"v-contextmenu-item--hover",contextmenuItemDisabled:"v-contextmenu-item--disabled",contextmenuGroup:"v-contextmenu-group",contextmenuGroupTitle:"v-contextmenu-group__title",contextmenuGroupMenus:"v-contextmenu-group__menus",contextmenuSubmenu:"v-contextmenu-submenu",contextmenuSubmenuTitle:"v-contextmenu-submenu__title",contextmenuSubmenuMenus:"v-contextmenu-submenu__menus",contextmenuSubmenuMenusTop:"v-contextmenu-submenu__menus--top",contextmenuSubmenuMenusRight:"v-contextmenu-submenu__menus--right",contextmenuSubmenuMenusBottom:"v-contextmenu-submenu__menus--bottom",contextmenuSubmenuMenusLeft:"v-contextmenu-submenu__menus--left",contextmenuSubmenuArrow:"v-contextmenu-submenu__arrow"};function UE(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Rr(e)}var jE={trigger:["contextmenu"]},vp=ct({name:"VContextmenu",props:{modelValue:{type:Boolean,default:!1},autoAjustPlacement:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},teleport:{type:[String,Object],default:function(){return"body"}}},emits:["show","hide","update:modelValue"],setup:function(t,r){var s=r.emit,o=Le(null),l=Le(t.modelValue||!1),u=function(O){l.value=O,s("update:modelValue",O)},c=Le({top:0,left:0}),d=Ye(function(){return{top:"".concat(c.value.top,"px"),left:"".concat(c.value.left,"px")}}),h=Le(null),g=function(O,W){var U=O instanceof Event?W:O,z=(U==null?void 0:U.autoAjustPlacement)||t.autoAjustPlacement,H={top:(U==null?void 0:U.top)||0,left:(U==null?void 0:U.left)||0};if(O instanceof Event){var I,q;O.preventDefault(),H.top=(I=U==null?void 0:U.top)!==null&&I!==void 0?I:O.pageY,H.left=(q=U==null?void 0:U.left)!==null&&q!==void 0?q:O.pageX}u(!0),$r(function(){if(z){var Z=o.value;if(!Z)return;var V=Z.clientWidth,w=Z.clientHeight;if(w+H.top>=window.innerHeight+window.scrollY){var T=H.top-w;T>window.scrollY&&(H.top=T)}if(V+H.left>=window.innerWidth+window.scrollX){var L=H.left-V;L>window.scrollX&&(H.left=L)}}c.value=H,s("show")})},m=function(){h.value=null,u(!1),s("hide")},p=ii(new Map),x=Le(),E=Ye(function(){return x.value&&p.get(x.value)}),B=function(O,W){var U=function(){return W!=null&&W.trigger?Array.isArray(W.trigger)?W.trigger:[W.trigger]:jE.trigger}(),z=function(I){t.disabled||(x.value=O,g(I,{}))};U.forEach(function(H){O.addEventListener(H,z)}),p.set(O,{triggers:U,handler:z})},$=function(O){var W=p.get(O);W&&(W.triggers.forEach(function(U){O.removeEventListener(U,W.handler)}),p.delete(O))},k=function(O){if(!(!O.target||!o.value||!x.value)){var W=o.value.contains(O.target)||E.value&&E.value.triggers.includes("click")&&x.value.contains(O.target);W||u(!1)}};return ht(l,function(y){y?document.addEventListener("click",k):document.removeEventListener("click",k)}),Ta(function(){document.removeEventListener("click",k)}),Cr("visible",l),Cr("autoAjustPlacement",t.autoAjustPlacement),Cr("show",g),Cr("hide",m),{visible:l,style:d,currentReferenceOptions:E,currentOptions:h,contextmenuRef:o,addReference:B,removeReference:$,toggle:u,show:g,hide:m}},methods:{renderContent:function(){var t,r;return ea(ge("div",{class:mt.contextmenu,ref:"contextmenuRef",style:this.style},[ge("ul",{class:mt.contextmenuInner},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r,{triggerOptions:"currentReferenceOptions",options:"currentOptions"})])]),[[ua,"visible"]])}},render:function(){var t;return this.visible?this.teleport?ge(uc,{to:this.teleport},UE(t=this.renderContent())?t:{default:function(){return[t]}}):this.renderContent():null}});function ln(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var yp=ct({name:"VContextmenuItem",props:{disabled:{type:Boolean,default:!1},hideOnClick:{type:Boolean,default:!0}},emits:["click","mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=Xt("hide"),l=Le(!1),u=Ye(function(){var g;return g={},ln(g,mt.contextmenuItem,!0),ln(g,mt.contextmenuItemDisabled,t.disabled),ln(g,mt.contextmenuItemHover,l.value),g}),c=function(m){t.disabled||(s("click",m),t.hideOnClick&&(o==null||o()))},d=function(m){t.disabled||(l.value=!0,s("mouseenter",m))},h=function(m){t.disabled||(l.value=!1,s("mouseleave",m))};return{classes:u,handleClick:c,handleMouseenter:d,handleMouseleave:h}},render:function(){var t,r;return ge("li",{class:this.classes,onClick:this.handleClick,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])}}),_p=ct({name:"VContextmenuDivider",render:function(){return ge("li",{class:mt.contextmenuDivider},null)}}),qE=ct({name:"VContextmenuIcon",props:{name:{type:String,required:!0}},render:function(){return ge("i",{class:[mt.contextmenuIcon,"".concat(mt.contextmenuIcon,"-").concat(this.name)]},null)}}),bp=ct({name:"VContextmenuSubmenu",props:{title:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=Le(null),l=Xt("autoAjustPlacement"),u=Le(["top","right"]),c=Le(!1),d=function(x){t.disabled||(c.value=!0,s("mouseenter",x),$r(function(){var E=[];if(l){var B=x.target,$=B.getBoundingClientRect();if(!o.value)return;var k=o.value.clientWidth,y=o.value.clientHeight;$.right+k>=window.innerWidth?E.push("left"):E.push("right"),$.bottom+y>=window.innerHeight?E.push("bottom"):E.push("top")}u.value=E}))},h=function(x){t.disabled||(c.value=!1,s("mouseleave",x))},g=Ye(function(){var p;return p={},ln(p,mt.contextmenuItem,!0),ln(p,mt.contextmenuSubmenuTitle,!0),ln(p,mt.contextmenuItemHover,c.value),ln(p,mt.contextmenuItemDisabled,t.disabled),p}),m=Ye(function(){var p;return p={},ln(p,mt.contextmenu,!0),ln(p,mt.contextmenuSubmenuMenus,!0),ln(p,mt.contextmenuSubmenuMenusTop,u.value.includes("top")),ln(p,mt.contextmenuSubmenuMenusRight,u.value.includes("right")),ln(p,mt.contextmenuSubmenuMenusBottom,u.value.includes("bottom")),ln(p,mt.contextmenuSubmenuMenusLeft,u.value.includes("left")),p});return{hover:c,submenuRef:o,titleClasses:g,menusClasses:m,handleMouseenter:d,handleMouseleave:h}},render:function(){var t,r,s,o;return ge("li",{class:mt.contextmenuSubmenu,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[ge("div",{class:this.titleClasses},[((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title,ge("span",{class:mt.contextmenuSubmenuArrow},[ge(qE,{name:"right-arrow"},null)])]),this.hover?ge("div",{ref:"submenuRef",class:this.menusClasses},[ge("ul",{class:mt.contextmenuInner},[(s=(o=this.$slots).default)===null||s===void 0?void 0:s.call(o)])]):null])}}),wp=ct({name:"VContextmenuGroup",props:{title:{type:String,default:void 0},maxWidth:{type:[Number,String],default:void 0}},setup:function(t){var r=Ye(function(){if(t.maxWidth)return{"max-width":typeof t.maxWidth=="number"?"".concat(t.maxWidth,"px"):t.maxWidth,"overflow-x":"auto"}});return{style:r}},methods:{renderTitle:function(){var t,r,s=((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title;return s?ge("div",{class:mt.contextmenuGroupTitle},[s]):null}},render:function(){var t,r;return ge("li",{class:mt.contextmenuGroup},[this.renderTitle(),ge("ul",{style:this.style,class:mt.contextmenuGroupMenus},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])])}}),KE="3.0.0",zE=function(t){t.directive("contextmenu",HE),t.component(vp.name,vp),t.component(yp.name,yp),t.component(_p.name,_p),t.component(bp.name,bp),t.component(wp.name,wp)},ZE={install:zE,version:KE};const Ha=E4(OE);Ha.directive("observe-visibility",{beforeMount:(e,t,r)=>{r.context=t.instance,Jo.bind(e,t,r)},updated:Jo.update,unmounted:Jo.unbind});Ha.use(ZE);Ha.use(ys);Ha.use(R4()).mount("#app");export{ir as $,Ye as A,Qt as B,Em as C,Zk as D,ii as E,st as F,ht as G,da as H,Xk as I,uu as J,ag as K,GC as L,tr as M,jt as N,Pp as O,ak as P,rk as Q,ma as R,Ri as S,TC as T,uc as U,$s as V,Lg as W,Lk as X,hc as Y,An as Z,Pt as _,fe as a,$h as a$,Fn as a0,Ju as a1,or as a2,Rk as a3,E4 as a4,d5 as a5,Pk as a6,f5 as a7,Bk as a8,ck as a9,gk as aA,Xo as aB,Rr as aC,Ii as aD,Ak as aE,_5 as aF,$r as aG,it as aH,tk as aI,VA as aJ,jA as aK,Ta as aL,qA as aM,HA as aN,GA as aO,Ut as aP,ZA as aQ,zA as aR,P2 as aS,KA as aT,rc as aU,nc as aV,Cr as aW,Vp as aX,eg as aY,Np as aZ,pk as a_,hk as aa,ek as ab,ok as ac,a4 as ad,vk as ae,yk as af,mk as ag,Tk as ah,is as ai,YE as aj,xp as ak,Br as al,A2 as am,tc as an,y5 as ao,fc as ap,Hi as aq,C4 as ar,Ek as as,Dk as at,Xt as au,S5 as av,Wp as aw,kr as ax,Mi as ay,vt as az,Ia as b,Vk as b$,uk as b0,lk as b1,Ok as b2,Ls as b3,gh as b4,EA as b5,Li as b6,Y2 as b7,XE as b8,J2 as b9,sk as bA,xk as bB,_k as bC,ea as bD,$k as bE,kk as bF,Bs as bG,nk as bH,c6 as bI,cs as bJ,AP as bK,Hk as bL,Wk as bM,n6 as bN,h6 as bO,t6 as bP,J4 as bQ,lm as bR,Gk as bS,CP as bT,im as bU,Nk as bV,IP as bW,s6 as bX,o3 as bY,o6 as bZ,jk as b_,k5 as ba,Sk as bb,JE as bc,qo as bd,fk as be,Ze as bf,rA as bg,tA as bh,dk as bi,QE as bj,wk as bk,Mk as bl,Ik as bm,Ck as bn,bk as bo,og as bp,Vg as bq,_4 as br,Hg as bs,y4 as bt,la as bu,ua as bv,O5 as bw,vA as bx,ik as by,DA as bz,Se as c,Uk as c0,Kk as c1,i6 as c2,qk as c3,V3 as c4,l6 as c5,si as c6,u6 as c7,rm as c8,Jk as c9,e6 as ca,em as cb,pc as cc,zk as cd,a6 as ce,h3 as cf,jh as cg,r6 as ch,Qk as ci,f6 as cj,Fk as ck,nt as d,$i as e,ut as f,ge as g,Es as h,Fs as i,Wi as j,Q4 as k,Sa as l,Oa as m,ct as n,pe as o,Zo as p,Le as q,ta as r,d6 as s,rt as t,Q as u,p3 as v,Ht as w,Yk as x,Lr as y,Uh as z}; diff --git a/src/ui/dist/assets/index-fe2c9584.js.gz b/src/ui/dist/assets/index-fe2c9584.js.gz new file mode 100644 index 000000000..1b48f01a1 Binary files /dev/null and b/src/ui/dist/assets/index-fe2c9584.js.gz differ diff --git a/src/ui/dist/assets/index.vue_vue_type_script_setup_true_lang-25852a10.js b/src/ui/dist/assets/index.vue_vue_type_script_setup_true_lang-25852a10.js new file mode 100644 index 000000000..f66a38d92 --- /dev/null +++ b/src/ui/dist/assets/index.vue_vue_type_script_setup_true_lang-25852a10.js @@ -0,0 +1,10 @@ +import{K as Pr,N as Cr,O as Dr,F as en,P as Ar,R as Rr,S as wr,Q as Mr,U as _n,V as Nr,W as Fr,X as jr,Y as Lr,Z as $r,$ as Ur,a0 as Gr,a1 as Br,a2 as Kr,a3 as Hr,A as Ge,a4 as Vr,f as Xt,d as Ut,c as xt,a as et,a5 as Wr,a6 as Xr,a7 as Yr,a8 as zr,a9 as Jr,aa as Qr,b as tr,g as Pt,ab as Zr,ac as kr,n as Se,ad as qr,ae as _r,af as to,ag as eo,ah as no,ai as ro,aj as oo,ak as ao,al as io,am as so,an as lo,ao as uo,ap as co,aq as fo,ar as vo,as as po,at as ho,au as go,av as mo,aw as yo,ax as bo,ay as So,az as xo,aA as Eo,aB as Oo,aC as To,aD as Io,aE as Po,aF as Co,aG as er,aH as nn,aI as Do,y as Ao,aJ as Ro,aK as wo,aL as Mo,aM as No,aN as Fo,aO as jo,aP as nr,aQ as Lo,aR as $o,aS as Uo,aT as Go,aU as Bo,aV as Ko,o as nt,m as rr,aW as Ho,aX as Vo,l as or,aY as Wo,E as Xo,aZ as Yo,q as bt,a_ as zo,a$ as Jo,i as Pn,r as Qo,e as ar,b0 as ir,b1 as Zo,b2 as ko,b3 as qo,b4 as _o,b5 as ta,b6 as ea,b7 as na,b8 as ra,b9 as oa,ba as aa,bb as ia,bc as sa,t as Yt,bd as la,be as ua,bf as ca,bg as fa,bh as da,bi as va,bj as pa,u as Gt,bk as ha,bl as ga,bm as ma,bn as ya,bo as ba,bp as Sa,bq as xa,br as Ea,bs as Oa,bt as Ta,bu as Ia,bv as sr,bw as Pa,bx as Ca,G as ae,by as Da,bz as Aa,bA as Ra,bB as wa,w as ye,bC as Ma,bD as Cn,bE as Na,bF as Fa,bG as Dn,bH as ja,_ as jn,bI as lr,bJ as La,bK as $a,bL as Ua,bM as Ga,bN as Ba,bO as ur,bP as Ka,z as Ha,bQ as Va,bR as vn,bS as Wa,s as cr,B as Xa,bT as Ya,h as za,C as Bn,T as Ja,J as Qa,L as Za,j as ka,bU as qa,bV as _a,D as ti}from"./index-fe2c9584.js";import{F as pn}from"./FactCard-89ebd574.js";import{P as ei}from"./PlaylistEntry-a7c7e55a.js";import{T as fr}from"./Template-f7fd23e9.js";import{F as dr}from"./Form-6220abd3.js";import{P as vr}from"./PlaylistHeader-1850e9b2.js";const ni=()=>{},ri=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:Pr,Comment:Cr,EffectScope:Dr,Fragment:en,KeepAlive:Ar,ReactiveEffect:Rr,Static:wr,Suspense:Mr,Teleport:_n,Text:Nr,Transition:Fr,TransitionGroup:jr,VueElement:Lr,callWithAsyncErrorHandling:$r,callWithErrorHandling:Ur,camelize:Gr,capitalize:Br,cloneVNode:Kr,compatUtils:Hr,compile:ni,computed:Ge,createApp:Vr,createBlock:Xt,createCommentVNode:Ut,createElementBlock:xt,createElementVNode:et,createHydrationRenderer:Wr,createPropsRestProxy:Xr,createRenderer:Yr,createSSRApp:zr,createSlots:Jr,createStaticVNode:Qr,createTextVNode:tr,createVNode:Pt,customRef:Zr,defineAsyncComponent:kr,defineComponent:Se,defineCustomElement:qr,defineEmits:_r,defineExpose:to,defineProps:eo,defineSSRCustomElement:no,get devtools(){return ro},effect:oo,effectScope:ao,getCurrentInstance:io,getCurrentScope:so,getTransitionRawChildren:lo,guardReactiveProps:uo,h:co,handleError:fo,hydrate:vo,initCustomFormatter:po,initDirectivesForSSR:ho,inject:go,isMemoSame:mo,isProxy:yo,isReactive:bo,isReadonly:So,isRef:xo,isRuntimeOnly:Eo,isShallow:Oo,isVNode:To,markRaw:Io,mergeDefaults:Po,mergeProps:Co,nextTick:er,normalizeClass:nn,normalizeProps:Do,normalizeStyle:Ao,onActivated:Ro,onBeforeMount:wo,onBeforeUnmount:Mo,onBeforeUpdate:No,onDeactivated:Fo,onErrorCaptured:jo,onMounted:nr,onRenderTracked:Lo,onRenderTriggered:$o,onScopeDispose:Uo,onServerPrefetch:Go,onUnmounted:Bo,onUpdated:Ko,openBlock:nt,popScopeId:rr,provide:Ho,proxyRefs:Vo,pushScopeId:or,queuePostFlushCb:Wo,reactive:Xo,readonly:Yo,ref:bt,registerRuntimeCompiler:zo,render:Jo,renderList:Pn,renderSlot:Qo,resolveComponent:ar,resolveDirective:ir,resolveDynamicComponent:Zo,resolveFilter:ko,resolveTransitionHooks:qo,setBlockTracking:_o,setDevtoolsHook:ta,setTransitionHooks:ea,shallowReactive:na,shallowReadonly:ra,shallowRef:oa,ssrContextKey:aa,ssrUtils:ia,stop:sa,toDisplayString:Yt,toHandlerKey:la,toHandlers:ua,toRaw:ca,toRef:fa,toRefs:da,transformVNodeArgs:va,triggerRef:pa,unref:Gt,useAttrs:ha,useCssModule:ga,useCssVars:ma,useSSRContext:ya,useSlots:ba,useTransitionState:Sa,vModelCheckbox:xa,vModelDynamic:Ea,vModelRadio:Oa,vModelSelect:Ta,vModelText:Ia,vShow:sr,version:Pa,warn:Ca,watch:ae,watchEffect:Da,watchPostEffect:Aa,watchSyncEffect:Ra,withAsyncContext:wa,withCtx:ye,withDefaults:Ma,withDirectives:Cn,withKeys:Na,withMemo:Fa,withModifiers:Dn,withScopeId:ja},Symbol.toStringTag,{value:"Module"}));const oi={name:"FixedPlaylistHeader",components:{PlaylistHeader:vr},props:{title:String}},ai={class:"fixedPlaylistHeader"},ii={class:"upperWrapper"},si={class:"font-bold"},li={class:"padding-20 darkback"};function ui(i,n,r,s,e,u){const t=ar("PlaylistHeader");return nt(),xt("div",ai,[et("div",ii,[et("span",{id:"loadPlaylist",class:"material-symbols-rounded hideIfMobile ms-fill",onClick:n[0]||(n[0]=o=>this.$emit("loadPlaylist"))},"play_circle"),et("h3",si,Yt(r.title),1)]),et("div",li,[Pt(t,{class:"fixedHeader hideIfMobile","with-album":"","with-more":""})])])}const ci=jn(oi,[["render",ui],["__scopeId","data-v-05c502aa"]]);var An={},fi={get exports(){return An},set exports(i){An=i}};const di=lr(ri);/**! + * Sortable 1.14.0 + * @author RubaXa + * @author owenm + * @license MIT + */function Kn(i,n){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);n&&(s=s.filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable})),r.push.apply(r,s)}return r}function Zt(i){for(var n=1;n=0)&&(r[e]=i[e]);return r}function hi(i,n){if(i==null)return{};var r=pi(i,n),s,e;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);for(e=0;e=0)&&Object.prototype.propertyIsEnumerable.call(i,s)&&(r[s]=i[s])}return r}function gi(i){return mi(i)||yi(i)||bi(i)||Si()}function mi(i){if(Array.isArray(i))return Rn(i)}function yi(i){if(typeof Symbol<"u"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function bi(i,n){if(i){if(typeof i=="string")return Rn(i,n);var r=Object.prototype.toString.call(i).slice(8,-1);if(r==="Object"&&i.constructor&&(r=i.constructor.name),r==="Map"||r==="Set")return Array.from(i);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rn(i,n)}}function Rn(i,n){(n==null||n>i.length)&&(n=i.length);for(var r=0,s=new Array(n);r"&&(n=n.substring(1)),i)try{if(i.matches)return i.matches(n);if(i.msMatchesSelector)return i.msMatchesSelector(n);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(n)}catch{return!1}return!1}}function Oi(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function Wt(i,n,r,s){if(i){r=r||document;do{if(n!=null&&(n[0]===">"?i.parentNode===r&&rn(i,n):rn(i,n))||s&&i===r)return i;if(i===r)break}while(i=Oi(i))}return null}var Vn=/\s+/g;function ut(i,n,r){if(i&&n)if(i.classList)i.classList[r?"add":"remove"](n);else{var s=(" "+i.className+" ").replace(Vn," ").replace(" "+n+" "," ");i.className=(s+(r?" "+n:"")).replace(Vn," ")}}function L(i,n,r){var s=i&&i.style;if(s){if(r===void 0)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(r=i.currentStyle),n===void 0?r:r[n];!(n in s)&&n.indexOf("webkit")===-1&&(n="-webkit-"+n),s[n]=r+(typeof r=="string"?"":"px")}}function fe(i,n){var r="";if(typeof i=="string")r=i;else do{var s=L(i,"transform");s&&s!=="none"&&(r=s+" "+r)}while(!n&&(i=i.parentNode));var e=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return e&&new e(r)}function gr(i,n,r){if(i){var s=i.getElementsByTagName(n),e=0,u=s.length;if(r)for(;e=u:t=e<=u,!t)return s;if(s===Qt())break;s=oe(s,!1)}return!1}function be(i,n,r,s){for(var e=0,u=0,t=i.children;u2&&arguments[2]!==void 0?arguments[2]:{},e=s.evt,u=hi(s,Ri);Ke.pluginEvent.bind(K)(n,r,Zt({dragEl:A,parentEl:dt,ghostEl:z,rootEl:it,nextEl:ce,lastDownEl:ke,cloneEl:vt,cloneHidden:re,dragStarted:we,putSortable:It,activeSortable:K.active,originalEvent:e,oldIndex:me,oldDraggableIndex:Le,newIndex:Lt,newDraggableIndex:ne,hideGhostForTarget:Er,unhideGhostForTarget:Or,cloneNowHidden:function(){re=!0},cloneNowShown:function(){re=!1},dispatchSortableEvent:function(o){Rt({sortable:r,name:o,originalEvent:e})}},u))};function Rt(i){Re(Zt({putSortable:It,cloneEl:vt,targetEl:A,rootEl:it,oldIndex:me,oldDraggableIndex:Le,newIndex:Lt,newDraggableIndex:ne},i))}var A,dt,z,it,ce,ke,vt,re,me,Lt,Le,ne,We,It,ge=!1,on=!1,an=[],le,Ht,yn,bn,zn,Jn,we,pe,$e,Ue=!1,Xe=!1,qe,Ct,Sn=[],wn=!1,sn=[],un=typeof document<"u",Ye=pr,Qn=Be||_t?"cssFloat":"float",wi=un&&!Ei&&!pr&&"draggable"in document.createElement("div"),br=function(){if(un){if(_t)return!1;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",i.style.pointerEvents==="auto"}}(),Sr=function(n,r){var s=L(n),e=parseInt(s.width)-parseInt(s.paddingLeft)-parseInt(s.paddingRight)-parseInt(s.borderLeftWidth)-parseInt(s.borderRightWidth),u=be(n,0,r),t=be(n,1,r),o=u&&L(u),a=t&&L(t),l=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+st(u).width,f=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+st(t).width;if(s.display==="flex")return s.flexDirection==="column"||s.flexDirection==="column-reverse"?"vertical":"horizontal";if(s.display==="grid")return s.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(u&&o.float&&o.float!=="none"){var c=o.float==="left"?"left":"right";return t&&(a.clear==="both"||a.clear===c)?"vertical":"horizontal"}return u&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||l>=e&&s[Qn]==="none"||t&&s[Qn]==="none"&&l+f>e)?"vertical":"horizontal"},Mi=function(n,r,s){var e=s?n.left:n.top,u=s?n.right:n.bottom,t=s?n.width:n.height,o=s?r.left:r.top,a=s?r.right:r.bottom,l=s?r.width:r.height;return e===o||u===a||e+t/2===o+l/2},Ni=function(n,r){var s;return an.some(function(e){var u=e[Dt].options.emptyInsertThreshold;if(!(!u||Ln(e))){var t=st(e),o=n>=t.left-u&&n<=t.right+u,a=r>=t.top-u&&r<=t.bottom+u;if(o&&a)return s=e}}),s},xr=function(n){function r(u,t){return function(o,a,l,f){var c=o.options.group.name&&a.options.group.name&&o.options.group.name===a.options.group.name;if(u==null&&(t||c))return!0;if(u==null||u===!1)return!1;if(t&&u==="clone")return u;if(typeof u=="function")return r(u(o,a,l,f),t)(o,a,l,f);var d=(t?o:a).options.group.name;return u===!0||typeof u=="string"&&u===d||u.join&&u.indexOf(d)>-1}}var s={},e=n.group;(!e||Ze(e)!="object")&&(e={name:e}),s.name=e.name,s.checkPull=r(e.pull,!0),s.checkPut=r(e.put),s.revertClone=e.revertClone,n.group=s},Er=function(){!br&&z&&L(z,"display","none")},Or=function(){!br&&z&&L(z,"display","")};un&&document.addEventListener("click",function(i){if(on)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),on=!1,!1},!0);var ue=function(n){if(A){n=n.touches?n.touches[0]:n;var r=Ni(n.clientX,n.clientY);if(r){var s={};for(var e in n)n.hasOwnProperty(e)&&(s[e]=n[e]);s.target=s.rootEl=r,s.preventDefault=void 0,s.stopPropagation=void 0,r[Dt]._onDragOver(s)}}},Fi=function(n){A&&A.parentNode[Dt]._isOutsideThisEl(n.target)};function K(i,n){if(!(i&&i.nodeType&&i.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=n=Bt({},n),i[Dt]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Sr(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,o){t.setData("Text",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:K.supportPointer!==!1&&"PointerEvent"in window&&!Fe,emptyInsertThreshold:5};Ke.initializePlugins(this,i,r);for(var s in r)!(s in n)&&(n[s]=r[s]);xr(n);for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this));this.nativeDraggable=n.forceFallback?!1:wi,this.nativeDraggable&&(this.options.touchStartThreshold=1),n.supportPointer?Z(i,"pointerdown",this._onTapStart):(Z(i,"mousedown",this._onTapStart),Z(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(Z(i,"dragover",this),Z(i,"dragenter",this)),an.push(this.el),n.store&&n.store.get&&this.sort(n.store.get(this)||[]),Bt(this,Ci())}K.prototype={constructor:K,_isOutsideThisEl:function(n){!this.el.contains(n)&&n!==this.el&&(pe=null)},_getDirection:function(n,r){return typeof this.options.direction=="function"?this.options.direction.call(this,n,r,A):this.options.direction},_onTapStart:function(n){if(n.cancelable){var r=this,s=this.el,e=this.options,u=e.preventOnFilter,t=n.type,o=n.touches&&n.touches[0]||n.pointerType&&n.pointerType==="touch"&&n,a=(o||n).target,l=n.target.shadowRoot&&(n.path&&n.path[0]||n.composedPath&&n.composedPath()[0])||a,f=e.filter;if(Hi(s),!A&&!(/mousedown|pointerdown/.test(t)&&n.button!==0||e.disabled)&&!l.isContentEditable&&!(!this.nativeDraggable&&Fe&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=Wt(a,e.draggable,s,!1),!(a&&a.animated)&&ke!==a)){if(me=pt(a),Le=pt(a,e.draggable),typeof f=="function"){if(f.call(this,n,a,this)){Rt({sortable:r,rootEl:l,name:"filter",targetEl:a,toEl:s,fromEl:s}),Mt("filter",r,{evt:n}),u&&n.cancelable&&n.preventDefault();return}}else if(f&&(f=f.split(",").some(function(c){if(c=Wt(l,c.trim(),s,!1),c)return Rt({sortable:r,rootEl:c,name:"filter",targetEl:a,fromEl:s,toEl:s}),Mt("filter",r,{evt:n}),!0}),f)){u&&n.cancelable&&n.preventDefault();return}e.handle&&!Wt(l,e.handle,s,!1)||this._prepareDragStart(n,o,a)}}},_prepareDragStart:function(n,r,s){var e=this,u=e.el,t=e.options,o=u.ownerDocument,a;if(s&&!A&&s.parentNode===u){var l=st(s);if(it=u,A=s,dt=A.parentNode,ce=A.nextSibling,ke=s,We=t.group,K.dragged=A,le={target:A,clientX:(r||n).clientX,clientY:(r||n).clientY},zn=le.clientX-l.left,Jn=le.clientY-l.top,this._lastX=(r||n).clientX,this._lastY=(r||n).clientY,A.style["will-change"]="all",a=function(){if(Mt("delayEnded",e,{evt:n}),K.eventCanceled){e._onDrop();return}e._disableDelayedDragEvents(),!Hn&&e.nativeDraggable&&(A.draggable=!0),e._triggerDragStart(n,r),Rt({sortable:e,name:"choose",originalEvent:n}),ut(A,t.chosenClass,!0)},t.ignore.split(",").forEach(function(f){gr(A,f.trim(),xn)}),Z(o,"dragover",ue),Z(o,"mousemove",ue),Z(o,"touchmove",ue),Z(o,"mouseup",e._onDrop),Z(o,"touchend",e._onDrop),Z(o,"touchcancel",e._onDrop),Hn&&this.nativeDraggable&&(this.options.touchStartThreshold=4,A.draggable=!0),Mt("delayStart",this,{evt:n}),t.delay&&(!t.delayOnTouchOnly||r)&&(!this.nativeDraggable||!(Be||_t))){if(K.eventCanceled){this._onDrop();return}Z(o,"mouseup",e._disableDelayedDrag),Z(o,"touchend",e._disableDelayedDrag),Z(o,"touchcancel",e._disableDelayedDrag),Z(o,"mousemove",e._delayedDragTouchMoveHandler),Z(o,"touchmove",e._delayedDragTouchMoveHandler),t.supportPointer&&Z(o,"pointermove",e._delayedDragTouchMoveHandler),e._dragStartTimer=setTimeout(a,t.delay)}else a()}},_delayedDragTouchMoveHandler:function(n){var r=n.touches?n.touches[0]:n;Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){A&&xn(A),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var n=this.el.ownerDocument;Q(n,"mouseup",this._disableDelayedDrag),Q(n,"touchend",this._disableDelayedDrag),Q(n,"touchcancel",this._disableDelayedDrag),Q(n,"mousemove",this._delayedDragTouchMoveHandler),Q(n,"touchmove",this._delayedDragTouchMoveHandler),Q(n,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(n,r){r=r||n.pointerType=="touch"&&n,!this.nativeDraggable||r?this.options.supportPointer?Z(document,"pointermove",this._onTouchMove):r?Z(document,"touchmove",this._onTouchMove):Z(document,"mousemove",this._onTouchMove):(Z(A,"dragend",this),Z(it,"dragstart",this._onDragStart));try{document.selection?_e(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(n,r){if(ge=!1,it&&A){Mt("dragStarted",this,{evt:r}),this.nativeDraggable&&Z(document,"dragover",Fi);var s=this.options;!n&&ut(A,s.dragClass,!1),ut(A,s.ghostClass,!0),K.active=this,n&&this._appendGhost(),Rt({sortable:this,name:"start",originalEvent:r})}else this._nulling()},_emulateDragOver:function(){if(Ht){this._lastX=Ht.clientX,this._lastY=Ht.clientY,Er();for(var n=document.elementFromPoint(Ht.clientX,Ht.clientY),r=n;n&&n.shadowRoot&&(n=n.shadowRoot.elementFromPoint(Ht.clientX,Ht.clientY),n!==r);)r=n;if(A.parentNode[Dt]._isOutsideThisEl(n),r)do{if(r[Dt]){var s=void 0;if(s=r[Dt]._onDragOver({clientX:Ht.clientX,clientY:Ht.clientY,target:n,rootEl:r}),s&&!this.options.dragoverBubble)break}n=r}while(r=r.parentNode);Or()}},_onTouchMove:function(n){if(le){var r=this.options,s=r.fallbackTolerance,e=r.fallbackOffset,u=n.touches?n.touches[0]:n,t=z&&fe(z,!0),o=z&&t&&t.a,a=z&&t&&t.d,l=Ye&&Ct&&Xn(Ct),f=(u.clientX-le.clientX+e.x)/(o||1)+(l?l[0]-Sn[0]:0)/(o||1),c=(u.clientY-le.clientY+e.y)/(a||1)+(l?l[1]-Sn[1]:0)/(a||1);if(!K.active&&!ge){if(s&&Math.max(Math.abs(u.clientX-this._lastX),Math.abs(u.clientY-this._lastY))=0&&(Rt({rootEl:dt,name:"add",toEl:dt,fromEl:it,originalEvent:n}),Rt({sortable:this,name:"remove",toEl:dt,originalEvent:n}),Rt({rootEl:dt,name:"sort",toEl:dt,fromEl:it,originalEvent:n}),Rt({sortable:this,name:"sort",toEl:dt,originalEvent:n})),It&&It.save()):Lt!==me&&Lt>=0&&(Rt({sortable:this,name:"update",toEl:dt,originalEvent:n}),Rt({sortable:this,name:"sort",toEl:dt,originalEvent:n})),K.active&&((Lt==null||Lt===-1)&&(Lt=me,ne=Le),Rt({sortable:this,name:"end",toEl:dt,originalEvent:n}),this.save()))),this._nulling()},_nulling:function(){Mt("nulling",this),it=A=dt=z=ce=vt=ke=re=le=Ht=we=Lt=ne=me=Le=pe=$e=It=We=K.dragged=K.ghost=K.clone=K.active=null,sn.forEach(function(n){n.checked=!0}),sn.length=yn=bn=0},handleEvent:function(n){switch(n.type){case"drop":case"dragend":this._onDrop(n);break;case"dragenter":case"dragover":A&&(this._onDragOver(n),ji(n));break;case"selectstart":n.preventDefault();break}},toArray:function(){for(var n=[],r,s=this.el.children,e=0,u=s.length,t=this.options;es.right+e||i.clientX<=s.right&&i.clientY>s.bottom&&i.clientX>=s.left:i.clientX>s.right&&i.clientY>s.top||i.clientX<=s.right&&i.clientY>s.bottom+e}function Gi(i,n,r,s,e,u,t,o){var a=s?i.clientY:i.clientX,l=s?r.height:r.width,f=s?r.top:r.left,c=s?r.bottom:r.right,d=!1;if(!t){if(o&&qef+l*u/2:ac-qe)return-$e}else if(a>f+l*(1-e)/2&&ac-l*u/2)?a>f+l/2?1:-1:0}function Bi(i){return pt(A)1&&(Y.forEach(function(o){u.addAnimationState({target:o,rect:Nt?st(o):t}),gn(o),o.fromRect=t,s.removeAnimationState(o)}),Nt=!1,zi(!this.options.removeCloneOnHide,e))},dragOverCompleted:function(r){var s=r.sortable,e=r.isOwner,u=r.insertion,t=r.activeSortable,o=r.parentEl,a=r.putSortable,l=this.options;if(u){if(e&&t._hideClone(),De=!1,l.animation&&Y.length>1&&(Nt||!e&&!t.options.sort&&!a)){var f=st(rt,!1,!0,!0);Y.forEach(function(d){d!==rt&&(Yn(d,f),o.appendChild(d))}),Nt=!0}if(!e)if(Nt||Qe(),Y.length>1){var c=Je;t._showClone(s),t.options.animation&&!Je&&c&&jt.forEach(function(d){t.addAnimationState({target:d,rect:Ae}),d.fromRect=Ae,d.thisAnimationDuration=null})}else t._showClone(s)}},dragOverAnimationCapture:function(r){var s=r.dragRect,e=r.isOwner,u=r.activeSortable;if(Y.forEach(function(o){o.thisAnimationDuration=null}),u.options.animation&&!e&&u.multiDrag.isMultiDrag){Ae=Bt({},s);var t=fe(rt,!0);Ae.top-=t.f,Ae.left-=t.e}},dragOverAnimationComplete:function(){Nt&&(Nt=!1,Qe())},drop:function(r){var s=r.originalEvent,e=r.rootEl,u=r.parentEl,t=r.sortable,o=r.dispatchSortableEvent,a=r.oldIndex,l=r.putSortable,f=l||this.sortable;if(s){var c=this.options,d=u.children;if(!he)if(c.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),ut(rt,c.selectedClass,!~Y.indexOf(rt)),~Y.indexOf(rt))Y.splice(Y.indexOf(rt),1),Ce=null,Re({sortable:t,rootEl:e,name:"deselect",targetEl:rt,originalEvt:s});else{if(Y.push(rt),Re({sortable:t,rootEl:e,name:"select",targetEl:rt,originalEvt:s}),s.shiftKey&&Ce&&t.el.contains(Ce)){var v=pt(Ce),p=pt(rt);if(~v&&~p&&v!==p){var g,h;for(p>v?(h=v,g=p):(h=p,g=v+1);h1){var y=st(rt),m=pt(rt,":not(."+this.options.selectedClass+")");if(!De&&c.animation&&(rt.thisAnimationDuration=null),f.captureAnimationState(),!De&&(c.animation&&(rt.fromRect=y,Y.forEach(function(x){if(x.thisAnimationDuration=null,x!==rt){var I=Nt?st(x):y;x.fromRect=I,f.addAnimationState({target:x,rect:I})}})),Qe(),Y.forEach(function(x){d[m]?u.insertBefore(x,d[m]):u.appendChild(x),m++}),a===pt(rt))){var O=!1;Y.forEach(function(x){if(x.sortableIndex!==pt(x)){O=!0;return}}),O&&o("update")}Y.forEach(function(x){gn(x)}),f.animateAll()}Vt=f}(e===u||l&&l.lastPutMode!=="clone")&&jt.forEach(function(x){x.parentNode&&x.parentNode.removeChild(x)})}},nullingGlobal:function(){this.isMultiDrag=he=!1,jt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),Q(document,"pointerup",this._deselectMultiDrag),Q(document,"mouseup",this._deselectMultiDrag),Q(document,"touchend",this._deselectMultiDrag),Q(document,"keydown",this._checkKeyDown),Q(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(r){if(!(typeof he<"u"&&he)&&Vt===this.sortable&&!(r&&Wt(r.target,this.options.draggable,this.sortable.el,!1))&&!(r&&r.button!==0))for(;Y.length;){var s=Y[0];ut(s,this.options.selectedClass,!1),Y.shift(),Re({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:s,originalEvt:r})}},_checkKeyDown:function(r){r.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(r){r.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Bt(i,{pluginName:"multiDrag",utils:{select:function(r){var s=r.parentNode[Dt];!s||!s.options.multiDrag||~Y.indexOf(r)||(Vt&&Vt!==s&&(Vt.multiDrag._deselectMultiDrag(),Vt=s),ut(r,s.options.selectedClass,!0),Y.push(r))},deselect:function(r){var s=r.parentNode[Dt],e=Y.indexOf(r);!s||!s.options.multiDrag||!~e||(ut(r,s.options.selectedClass,!1),Y.splice(e,1))}},eventProperties:function(){var r=this,s=[],e=[];return Y.forEach(function(u){s.push({multiDragElement:u,index:u.sortableIndex});var t;Nt&&u!==rt?t=-1:Nt?t=pt(u,":not(."+r.options.selectedClass+")"):t=pt(u),e.push({multiDragElement:u,index:t})}),{items:gi(Y),clones:[].concat(jt),oldIndicies:s,newIndicies:e}},optionListeners:{multiDragKey:function(r){return r=r.toLowerCase(),r==="ctrl"?r="Control":r.length>1&&(r=r.charAt(0).toUpperCase()+r.substr(1)),r}}})}function zi(i,n){Y.forEach(function(r,s){var e=n.children[r.sortableIndex+(i?Number(s):0)];e?n.insertBefore(r,e):n.appendChild(r)})}function kn(i,n){jt.forEach(function(r,s){var e=n.children[r.sortableIndex+(i?Number(s):0)];e?n.insertBefore(r,e):n.appendChild(r)})}function Qe(){Y.forEach(function(i){i!==rt&&i.parentNode&&i.parentNode.removeChild(i)})}K.mount(new Vi);K.mount(Gn,Un);const Ji=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:Yi,Sortable:K,Swap:Wi,default:K},Symbol.toStringTag,{value:"Module"})),Qi=lr(Ji);(function(i,n){(function(s,e){i.exports=e(di,Qi)})(typeof self<"u"?self:La,function(r,s){return function(e){var u={};function t(o){if(u[o])return u[o].exports;var a=u[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=u,t.d=function(o,a,l){t.o(o,a)||Object.defineProperty(o,a,{enumerable:!0,get:l})},t.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},t.t=function(o,a){if(a&1&&(o=t(o)),a&8||a&4&&typeof o=="object"&&o&&o.__esModule)return o;var l=Object.create(null);if(t.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:o}),a&2&&typeof o!="string")for(var f in o)t.d(l,f,function(c){return o[c]}.bind(null,f));return l},t.n=function(o){var a=o&&o.__esModule?function(){return o.default}:function(){return o};return t.d(a,"a",a),a},t.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},t.p="",t(t.s="fb15")}({"00ee":function(e,u,t){var o=t("b622"),a=o("toStringTag"),l={};l[a]="z",e.exports=String(l)==="[object z]"},"0366":function(e,u,t){var o=t("1c0b");e.exports=function(a,l,f){if(o(a),l===void 0)return a;switch(f){case 0:return function(){return a.call(l)};case 1:return function(c){return a.call(l,c)};case 2:return function(c,d){return a.call(l,c,d)};case 3:return function(c,d,v){return a.call(l,c,d,v)}}return function(){return a.apply(l,arguments)}}},"057f":function(e,u,t){var o=t("fc6a"),a=t("241c").f,l={}.toString,f=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(d){try{return a(d)}catch{return f.slice()}};e.exports.f=function(v){return f&&l.call(v)=="[object Window]"?c(v):a(o(v))}},"06cf":function(e,u,t){var o=t("83ab"),a=t("d1e7"),l=t("5c6c"),f=t("fc6a"),c=t("c04e"),d=t("5135"),v=t("0cfb"),p=Object.getOwnPropertyDescriptor;u.f=o?p:function(h,y){if(h=f(h),y=c(y,!0),v)try{return p(h,y)}catch{}if(d(h,y))return l(!a.f.call(h,y),h[y])}},"0cfb":function(e,u,t){var o=t("83ab"),a=t("d039"),l=t("cc12");e.exports=!o&&!a(function(){return Object.defineProperty(l("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(e,u,t){var o=t("23e7"),a=t("d58f").left,l=t("a640"),f=t("ae40"),c=l("reduce"),d=f("reduce",{1:0});o({target:"Array",proto:!0,forced:!c||!d},{reduce:function(p){return a(this,p,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(e,u,t){var o=t("c6b6"),a=t("9263");e.exports=function(l,f){var c=l.exec;if(typeof c=="function"){var d=c.call(l,f);if(typeof d!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return d}if(o(l)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return a.call(l,f)}},"159b":function(e,u,t){var o=t("da84"),a=t("fdbc"),l=t("17c2"),f=t("9112");for(var c in a){var d=o[c],v=d&&d.prototype;if(v&&v.forEach!==l)try{f(v,"forEach",l)}catch{v.forEach=l}}},"17c2":function(e,u,t){var o=t("b727").forEach,a=t("a640"),l=t("ae40"),f=a("forEach"),c=l("forEach");e.exports=!f||!c?function(v){return o(this,v,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(e,u,t){var o=t("d066");e.exports=o("document","documentElement")},"1c0b":function(e,u){e.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(e,u,t){var o=t("b622"),a=o("iterator"),l=!1;try{var f=0,c={next:function(){return{done:!!f++}},return:function(){l=!0}};c[a]=function(){return this},Array.from(c,function(){throw 2})}catch{}e.exports=function(d,v){if(!v&&!l)return!1;var p=!1;try{var g={};g[a]=function(){return{next:function(){return{done:p=!0}}}},d(g)}catch{}return p}},"1d80":function(e,u){e.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(e,u,t){var o=t("d039"),a=t("b622"),l=t("2d00"),f=a("species");e.exports=function(c){return l>=51||!o(function(){var d=[],v=d.constructor={};return v[f]=function(){return{foo:1}},d[c](Boolean).foo!==1})}},"23cb":function(e,u,t){var o=t("a691"),a=Math.max,l=Math.min;e.exports=function(f,c){var d=o(f);return d<0?a(d+c,0):l(d,c)}},"23e7":function(e,u,t){var o=t("da84"),a=t("06cf").f,l=t("9112"),f=t("6eeb"),c=t("ce4e"),d=t("e893"),v=t("94ca");e.exports=function(p,g){var h=p.target,y=p.global,m=p.stat,O,x,I,T,N,$;if(y?x=o:m?x=o[h]||c(h,{}):x=(o[h]||{}).prototype,x)for(I in g){if(N=g[I],p.noTargetGet?($=a(x,I),T=$&&$.value):T=x[I],O=v(y?I:h+(m?".":"#")+I,p.forced),!O&&T!==void 0){if(typeof N==typeof T)continue;d(N,T)}(p.sham||T&&T.sham)&&l(N,"sham",!0),f(x,I,N,p)}}},"241c":function(e,u,t){var o=t("ca84"),a=t("7839"),l=a.concat("length","prototype");u.f=Object.getOwnPropertyNames||function(c){return o(c,l)}},"25f0":function(e,u,t){var o=t("6eeb"),a=t("825a"),l=t("d039"),f=t("ad6d"),c="toString",d=RegExp.prototype,v=d[c],p=l(function(){return v.call({source:"a",flags:"b"})!="/a/b"}),g=v.name!=c;(p||g)&&o(RegExp.prototype,c,function(){var y=a(this),m=String(y.source),O=y.flags,x=String(O===void 0&&y instanceof RegExp&&!("flags"in d)?f.call(y):O);return"/"+m+"/"+x},{unsafe:!0})},"2ca0":function(e,u,t){var o=t("23e7"),a=t("06cf").f,l=t("50c4"),f=t("5a34"),c=t("1d80"),d=t("ab13"),v=t("c430"),p="".startsWith,g=Math.min,h=d("startsWith"),y=!v&&!h&&!!function(){var m=a(String.prototype,"startsWith");return m&&!m.writable}();o({target:"String",proto:!0,forced:!y&&!h},{startsWith:function(O){var x=String(c(this));f(O);var I=l(g(arguments.length>1?arguments[1]:void 0,x.length)),T=String(O);return p?p.call(x,T,I):x.slice(I,I+T.length)===T}})},"2d00":function(e,u,t){var o=t("da84"),a=t("342f"),l=o.process,f=l&&l.versions,c=f&&f.v8,d,v;c?(d=c.split("."),v=d[0]+d[1]):a&&(d=a.match(/Edge\/(\d+)/),(!d||d[1]>=74)&&(d=a.match(/Chrome\/(\d+)/),d&&(v=d[1]))),e.exports=v&&+v},"342f":function(e,u,t){var o=t("d066");e.exports=o("navigator","userAgent")||""},"35a1":function(e,u,t){var o=t("f5df"),a=t("3f8c"),l=t("b622"),f=l("iterator");e.exports=function(c){if(c!=null)return c[f]||c["@@iterator"]||a[o(c)]}},"37e8":function(e,u,t){var o=t("83ab"),a=t("9bf2"),l=t("825a"),f=t("df75");e.exports=o?Object.defineProperties:function(d,v){l(d);for(var p=f(v),g=p.length,h=0,y;g>h;)a.f(d,y=p[h++],v[y]);return d}},"3bbe":function(e,u,t){var o=t("861d");e.exports=function(a){if(!o(a)&&a!==null)throw TypeError("Can't set "+String(a)+" as a prototype");return a}},"3ca3":function(e,u,t){var o=t("6547").charAt,a=t("69f3"),l=t("7dd0"),f="String Iterator",c=a.set,d=a.getterFor(f);l(String,"String",function(v){c(this,{type:f,string:String(v),index:0})},function(){var p=d(this),g=p.string,h=p.index,y;return h>=g.length?{value:void 0,done:!0}:(y=o(g,h),p.index+=y.length,{value:y,done:!1})})},"3f8c":function(e,u){e.exports={}},4160:function(e,u,t){var o=t("23e7"),a=t("17c2");o({target:"Array",proto:!0,forced:[].forEach!=a},{forEach:a})},"428f":function(e,u,t){var o=t("da84");e.exports=o},"44ad":function(e,u,t){var o=t("d039"),a=t("c6b6"),l="".split;e.exports=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(f){return a(f)=="String"?l.call(f,""):Object(f)}:Object},"44d2":function(e,u,t){var o=t("b622"),a=t("7c73"),l=t("9bf2"),f=o("unscopables"),c=Array.prototype;c[f]==null&&l.f(c,f,{configurable:!0,value:a(null)}),e.exports=function(d){c[f][d]=!0}},"44e7":function(e,u,t){var o=t("861d"),a=t("c6b6"),l=t("b622"),f=l("match");e.exports=function(c){var d;return o(c)&&((d=c[f])!==void 0?!!d:a(c)=="RegExp")}},4930:function(e,u,t){var o=t("d039");e.exports=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())})},"4d64":function(e,u,t){var o=t("fc6a"),a=t("50c4"),l=t("23cb"),f=function(c){return function(d,v,p){var g=o(d),h=a(g.length),y=l(p,h),m;if(c&&v!=v){for(;h>y;)if(m=g[y++],m!=m)return!0}else for(;h>y;y++)if((c||y in g)&&g[y]===v)return c||y||0;return!c&&-1}};e.exports={includes:f(!0),indexOf:f(!1)}},"4de4":function(e,u,t){var o=t("23e7"),a=t("b727").filter,l=t("1dde"),f=t("ae40"),c=l("filter"),d=f("filter");o({target:"Array",proto:!0,forced:!c||!d},{filter:function(p){return a(this,p,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(e,u,t){var o=t("0366"),a=t("7b0b"),l=t("9bdd"),f=t("e95a"),c=t("50c4"),d=t("8418"),v=t("35a1");e.exports=function(g){var h=a(g),y=typeof this=="function"?this:Array,m=arguments.length,O=m>1?arguments[1]:void 0,x=O!==void 0,I=v(h),T=0,N,$,P,w,F,X;if(x&&(O=o(O,m>2?arguments[2]:void 0,2)),I!=null&&!(y==Array&&f(I)))for(w=I.call(h),F=w.next,$=new y;!(P=F.call(w)).done;T++)X=x?l(w,O,[P.value,T],!0):P.value,d($,T,X);else for(N=c(h.length),$=new y(N);N>T;T++)X=x?O(h[T],T):h[T],d($,T,X);return $.length=T,$}},"4fad":function(e,u,t){var o=t("23e7"),a=t("6f53").entries;o({target:"Object",stat:!0},{entries:function(f){return a(f)}})},"50c4":function(e,u,t){var o=t("a691"),a=Math.min;e.exports=function(l){return l>0?a(o(l),9007199254740991):0}},5135:function(e,u){var t={}.hasOwnProperty;e.exports=function(o,a){return t.call(o,a)}},5319:function(e,u,t){var o=t("d784"),a=t("825a"),l=t("7b0b"),f=t("50c4"),c=t("a691"),d=t("1d80"),v=t("8aa5"),p=t("14c3"),g=Math.max,h=Math.min,y=Math.floor,m=/\$([$&'`]|\d\d?|<[^>]*>)/g,O=/\$([$&'`]|\d\d?)/g,x=function(I){return I===void 0?I:String(I)};o("replace",2,function(I,T,N,$){var P=$.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,w=$.REPLACE_KEEPS_$0,F=P?"$":"$0";return[function(R,W){var M=d(this),G=R==null?void 0:R[I];return G!==void 0?G.call(R,M,W):T.call(String(M),R,W)},function(D,R){if(!P&&w||typeof R=="string"&&R.indexOf(F)===-1){var W=N(T,D,this,R);if(W.done)return W.value}var M=a(D),G=String(this),_=typeof R=="function";_||(R=String(R));var ot=M.global;if(ot){var Et=M.unicode;M.lastIndex=0}for(var ct=[];;){var ft=p(M,G);if(ft===null||(ct.push(ft),!ot))break;var yt=String(ft[0]);yt===""&&(M.lastIndex=v(G,f(M.lastIndex),Et))}for(var St="",gt=0,at=0;at=gt&&(St+=G.slice(gt,Ft)+Ot,gt=Ft+lt.length)}return St+G.slice(gt)}];function X(D,R,W,M,G,_){var ot=W+D.length,Et=M.length,ct=O;return G!==void 0&&(G=l(G),ct=m),T.call(_,ct,function(ft,yt){var St;switch(yt.charAt(0)){case"$":return"$";case"&":return D;case"`":return R.slice(0,W);case"'":return R.slice(ot);case"<":St=G[yt.slice(1,-1)];break;default:var gt=+yt;if(gt===0)return ft;if(gt>Et){var at=y(gt/10);return at===0?ft:at<=Et?M[at-1]===void 0?yt.charAt(1):M[at-1]+yt.charAt(1):ft}St=M[gt-1]}return St===void 0?"":St})}})},5692:function(e,u,t){var o=t("c430"),a=t("c6cd");(e.exports=function(l,f){return a[l]||(a[l]=f!==void 0?f:{})})("versions",[]).push({version:"3.6.5",mode:o?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,u,t){var o=t("d066"),a=t("241c"),l=t("7418"),f=t("825a");e.exports=o("Reflect","ownKeys")||function(d){var v=a.f(f(d)),p=l.f;return p?v.concat(p(d)):v}},"5a34":function(e,u,t){var o=t("44e7");e.exports=function(a){if(o(a))throw TypeError("The method doesn't accept regular expressions");return a}},"5c6c":function(e,u){e.exports=function(t,o){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:o}}},"5db7":function(e,u,t){var o=t("23e7"),a=t("a2bf"),l=t("7b0b"),f=t("50c4"),c=t("1c0b"),d=t("65f0");o({target:"Array",proto:!0},{flatMap:function(p){var g=l(this),h=f(g.length),y;return c(p),y=d(g,0),y.length=a(y,g,g,h,0,1,p,arguments.length>1?arguments[1]:void 0),y}})},6547:function(e,u,t){var o=t("a691"),a=t("1d80"),l=function(f){return function(c,d){var v=String(a(c)),p=o(d),g=v.length,h,y;return p<0||p>=g?f?"":void 0:(h=v.charCodeAt(p),h<55296||h>56319||p+1===g||(y=v.charCodeAt(p+1))<56320||y>57343?f?v.charAt(p):h:f?v.slice(p,p+2):(h-55296<<10)+(y-56320)+65536)}};e.exports={codeAt:l(!1),charAt:l(!0)}},"65f0":function(e,u,t){var o=t("861d"),a=t("e8b5"),l=t("b622"),f=l("species");e.exports=function(c,d){var v;return a(c)&&(v=c.constructor,typeof v=="function"&&(v===Array||a(v.prototype))?v=void 0:o(v)&&(v=v[f],v===null&&(v=void 0))),new(v===void 0?Array:v)(d===0?0:d)}},"69f3":function(e,u,t){var o=t("7f9a"),a=t("da84"),l=t("861d"),f=t("9112"),c=t("5135"),d=t("f772"),v=t("d012"),p=a.WeakMap,g,h,y,m=function(P){return y(P)?h(P):g(P,{})},O=function(P){return function(w){var F;if(!l(w)||(F=h(w)).type!==P)throw TypeError("Incompatible receiver, "+P+" required");return F}};if(o){var x=new p,I=x.get,T=x.has,N=x.set;g=function(P,w){return N.call(x,P,w),w},h=function(P){return I.call(x,P)||{}},y=function(P){return T.call(x,P)}}else{var $=d("state");v[$]=!0,g=function(P,w){return f(P,$,w),w},h=function(P){return c(P,$)?P[$]:{}},y=function(P){return c(P,$)}}e.exports={set:g,get:h,has:y,enforce:m,getterFor:O}},"6eeb":function(e,u,t){var o=t("da84"),a=t("9112"),l=t("5135"),f=t("ce4e"),c=t("8925"),d=t("69f3"),v=d.get,p=d.enforce,g=String(String).split("String");(e.exports=function(h,y,m,O){var x=O?!!O.unsafe:!1,I=O?!!O.enumerable:!1,T=O?!!O.noTargetGet:!1;if(typeof m=="function"&&(typeof y=="string"&&!l(m,"name")&&a(m,"name",y),p(m).source=g.join(typeof y=="string"?y:"")),h===o){I?h[y]=m:f(y,m);return}else x?!T&&h[y]&&(I=!0):delete h[y];I?h[y]=m:a(h,y,m)})(Function.prototype,"toString",function(){return typeof this=="function"&&v(this).source||c(this)})},"6f53":function(e,u,t){var o=t("83ab"),a=t("df75"),l=t("fc6a"),f=t("d1e7").f,c=function(d){return function(v){for(var p=l(v),g=a(p),h=g.length,y=0,m=[],O;h>y;)O=g[y++],(!o||f.call(p,O))&&m.push(d?[O,p[O]]:p[O]);return m}};e.exports={entries:c(!0),values:c(!1)}},"73d9":function(e,u,t){var o=t("44d2");o("flatMap")},7418:function(e,u){u.f=Object.getOwnPropertySymbols},"746f":function(e,u,t){var o=t("428f"),a=t("5135"),l=t("e538"),f=t("9bf2").f;e.exports=function(c){var d=o.Symbol||(o.Symbol={});a(d,c)||f(d,c,{value:l.f(c)})}},7839:function(e,u){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,u,t){var o=t("1d80");e.exports=function(a){return Object(o(a))}},"7c73":function(e,u,t){var o=t("825a"),a=t("37e8"),l=t("7839"),f=t("d012"),c=t("1be4"),d=t("cc12"),v=t("f772"),p=">",g="<",h="prototype",y="script",m=v("IE_PROTO"),O=function(){},x=function(P){return g+y+p+P+g+"/"+y+p},I=function(P){P.write(x("")),P.close();var w=P.parentWindow.Object;return P=null,w},T=function(){var P=d("iframe"),w="java"+y+":",F;return P.style.display="none",c.appendChild(P),P.src=String(w),F=P.contentWindow.document,F.open(),F.write(x("document.F=Object")),F.close(),F.F},N,$=function(){try{N=document.domain&&new ActiveXObject("htmlfile")}catch{}$=N?I(N):T();for(var P=l.length;P--;)delete $[h][l[P]];return $()};f[m]=!0,e.exports=Object.create||function(w,F){var X;return w!==null?(O[h]=o(w),X=new O,O[h]=null,X[m]=w):X=$(),F===void 0?X:a(X,F)}},"7dd0":function(e,u,t){var o=t("23e7"),a=t("9ed3"),l=t("e163"),f=t("d2bb"),c=t("d44e"),d=t("9112"),v=t("6eeb"),p=t("b622"),g=t("c430"),h=t("3f8c"),y=t("ae93"),m=y.IteratorPrototype,O=y.BUGGY_SAFARI_ITERATORS,x=p("iterator"),I="keys",T="values",N="entries",$=function(){return this};e.exports=function(P,w,F,X,D,R,W){a(F,w,X);var M=function(at){if(at===D&&ct)return ct;if(!O&&at in ot)return ot[at];switch(at){case I:return function(){return new F(this,at)};case T:return function(){return new F(this,at)};case N:return function(){return new F(this,at)}}return function(){return new F(this)}},G=w+" Iterator",_=!1,ot=P.prototype,Et=ot[x]||ot["@@iterator"]||D&&ot[D],ct=!O&&Et||M(D),ft=w=="Array"&&ot.entries||Et,yt,St,gt;if(ft&&(yt=l(ft.call(new P)),m!==Object.prototype&&yt.next&&(!g&&l(yt)!==m&&(f?f(yt,m):typeof yt[x]!="function"&&d(yt,x,$)),c(yt,G,!0,!0),g&&(h[G]=$))),D==T&&Et&&Et.name!==T&&(_=!0,ct=function(){return Et.call(this)}),(!g||W)&&ot[x]!==ct&&d(ot,x,ct),h[w]=ct,D)if(St={values:M(T),keys:R?ct:M(I),entries:M(N)},W)for(gt in St)(O||_||!(gt in ot))&&v(ot,gt,St[gt]);else o({target:w,proto:!0,forced:O||_},St);return St}},"7f9a":function(e,u,t){var o=t("da84"),a=t("8925"),l=o.WeakMap;e.exports=typeof l=="function"&&/native code/.test(a(l))},"825a":function(e,u,t){var o=t("861d");e.exports=function(a){if(!o(a))throw TypeError(String(a)+" is not an object");return a}},"83ab":function(e,u,t){var o=t("d039");e.exports=!o(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(e,u,t){var o=t("c04e"),a=t("9bf2"),l=t("5c6c");e.exports=function(f,c,d){var v=o(c);v in f?a.f(f,v,l(0,d)):f[v]=d}},"861d":function(e,u){e.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(e,u,t){var o,a,l;(function(f,c){a=[],o=c,l=typeof o=="function"?o.apply(u,a):o,l!==void 0&&(e.exports=l)})(typeof self<"u"?self:this,function(){function f(){var c=Object.getOwnPropertyDescriptor(document,"currentScript");if(!c&&"currentScript"in document&&document.currentScript||c&&c.get!==f&&document.currentScript)return document.currentScript;try{throw new Error}catch(N){var d=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,v=/@([^@]*):(\d+):(\d+)\s*$/ig,p=d.exec(N.stack)||v.exec(N.stack),g=p&&p[1]||!1,h=p&&p[2]||!1,y=document.location.href.replace(document.location.hash,""),m,O,x,I=document.getElementsByTagName("script");g===y&&(m=document.documentElement.outerHTML,O=new RegExp("(?:[^\\n]+?\\n){0,"+(h-2)+"}[^<]* - + + diff --git a/src/ui/dist/index.html.gz b/src/ui/dist/index.html.gz index 6ff26aecf..0525ab16b 100644 Binary files a/src/ui/dist/index.html.gz and b/src/ui/dist/index.html.gz differ diff --git a/src/ui/dist/sw.js b/src/ui/dist/sw.js index bfadd126e..aca3ddd12 100644 --- a/src/ui/dist/sw.js +++ b/src/ui/dist/sw.js @@ -1 +1 @@ -if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(e[n])return;let u={};const t=s=>l(s,n),a={module:{uri:n},exports:u,require:t};e[n]=Promise.all(i.map((s=>a[s]||t(s)))).then((s=>(r(...s),u)))}}define(["./workbox-3625d7b0"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Albums-cd4d9140.css",revision:null},{url:"assets/Albums-d39b4558.js",revision:null},{url:"assets/Artist-0055545d.js",revision:null},{url:"assets/Artist-f38fcfe4.css",revision:null},{url:"assets/ArtistItem-2a1e363c.css",revision:null},{url:"assets/ArtistItem-e888ed10.js",revision:null},{url:"assets/Artists-57c2320a.css",revision:null},{url:"assets/Artists-62c5f05c.js",revision:null},{url:"assets/BigPlayer-4a9a8458.js",revision:null},{url:"assets/BigPlayer-84aacaed.css",revision:null},{url:"assets/Breaking-9f943681.js",revision:null},{url:"assets/CollectionHeader-16e536cf.js",revision:null},{url:"assets/CollectionHeader-d7b2d6c7.css",revision:null},{url:"assets/Dropdown-b028fe8e.js",revision:null},{url:"assets/Dropdown-bc8d2dbe.css",revision:null},{url:"assets/EditSong.vue_vue_type_script_setup_true_lang-ee42face.js",revision:null},{url:"assets/Explore-7664200e.js",revision:null},{url:"assets/Explore-e4c09a4f.css",revision:null},{url:"assets/Export-013fe12d.css",revision:null},{url:"assets/Export-098bea4b.js",revision:null},{url:"assets/ExternalEntry-1ad4a4e1.css",revision:null},{url:"assets/ExternalEntry-2fd0cbdd.js",revision:null},{url:"assets/FactCard-3c5d1fcf.css",revision:null},{url:"assets/FactCard-6c6c11f6.js",revision:null},{url:"assets/Form-886284c9.css",revision:null},{url:"assets/Form-fb09f2bd.js",revision:null},{url:"assets/FullShelf-261568ae.css",revision:null},{url:"assets/FullShelf-c00e086a.js",revision:null},{url:"assets/gistClient-9c650d59.js",revision:null},{url:"assets/IconButton-d95cc9cd.js",revision:null},{url:"assets/IconButton-ff1e50bb.css",revision:null},{url:"assets/Import-701459a8.js",revision:null},{url:"assets/Import-a6f1cef5.css",revision:null},{url:"assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-b0bc51b5.js",revision:null},{url:"assets/index-1c21d252.js",revision:null},{url:"assets/index-3c790919.css",revision:null},{url:"assets/index-497e833f.js",revision:null},{url:"assets/index-4da1bf93.css",revision:null},{url:"assets/index-4e4ed216.css",revision:null},{url:"assets/index-6c60d543.js",revision:null},{url:"assets/index-797b1c20.js",revision:null},{url:"assets/index-97d03c40.css",revision:null},{url:"assets/index-b54fd673.js",revision:null},{url:"assets/index-b9d19734.js",revision:null},{url:"assets/index-c785df37.css",revision:null},{url:"assets/index-e23b36b9.js",revision:null},{url:"assets/index-ea9d5540.css",revision:null},{url:"assets/index-f90ed871.css",revision:null},{url:"assets/index.vue_vue_type_script_setup_true_lang-907870b4.js",revision:null},{url:"assets/LocalData-0aea2bc5.js",revision:null},{url:"assets/LocalData-a67e58b2.css",revision:null},{url:"assets/News-704a602c.js",revision:null},{url:"assets/News-815a31c4.css",revision:null},{url:"assets/NewsArticle-35f86d23.js",revision:null},{url:"assets/NewsArticle-f71d5ef8.css",revision:null},{url:"assets/playerInPicture-af203fdf.js",revision:null},{url:"assets/Playlist-48798df5.js",revision:null},{url:"assets/Playlist-b839cbd8.css",revision:null},{url:"assets/PlaylistEntry-11952707.css",revision:null},{url:"assets/PlaylistEntry-3951f4a8.js",revision:null},{url:"assets/PlaylistHeader-d0359b1d.css",revision:null},{url:"assets/PlaylistHeader-ecbb25e6.js",revision:null},{url:"assets/PlaylistItem-5e6b8631.js",revision:null},{url:"assets/PlaylistItem-dcaa4cde.css",revision:null},{url:"assets/Playlists-652c06ae.css",revision:null},{url:"assets/Playlists-f1d051fd.js",revision:null},{url:"assets/ReleaseItem-874d3860.css",revision:null},{url:"assets/ReleaseItem-d83a159e.js",revision:null},{url:"assets/Releases-3a1ca557.js",revision:null},{url:"assets/Releases-46f16e90.css",revision:null},{url:"assets/Search-25e5af5d.css",revision:null},{url:"assets/Search-aa56b019.js",revision:null},{url:"assets/Sports-385f73f9.css",revision:null},{url:"assets/Sports-ea11e191.js",revision:null},{url:"assets/spotify-05acbfc2.js",revision:null},{url:"assets/Template-59011f9c.js",revision:null},{url:"assets/Template-fe5eeb6e.css",revision:null},{url:"assets/Track-2c5bf628.js",revision:null},{url:"assets/Track-50ce7320.css",revision:null},{url:"assets/TrackCompact-b3eeb676.js",revision:null},{url:"assets/TrackCompact-ec18cf3e.css",revision:null},{url:"assets/Tracks-66865724.js",revision:null},{url:"assets/Welcome-1d742ab1.css",revision:null},{url:"assets/Welcome-63dbe3a9.js",revision:null},{url:"index.html",revision:"9679e47618f168bf1efda7e096099737"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"favicon.png",revision:"81eb710c3fadc823ae3bb676eacf1795"},{url:"manifest.webmanifest",revision:"54fda1775a89a999bda4c67bd363bb64"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api/]}))})); +if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(e[n])return;let u={};const t=s=>l(s,n),a={module:{uri:n},exports:u,require:t};e[n]=Promise.all(i.map((s=>a[s]||t(s)))).then((s=>(r(...s),u)))}}define(["./workbox-3625d7b0"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Albums-157252fb.js",revision:null},{url:"assets/Albums-cd4d9140.css",revision:null},{url:"assets/Artist-0471b7ab.js",revision:null},{url:"assets/Artist-f38fcfe4.css",revision:null},{url:"assets/ArtistItem-1dbe560d.js",revision:null},{url:"assets/ArtistItem-2a1e363c.css",revision:null},{url:"assets/Artists-2a83adb2.js",revision:null},{url:"assets/Artists-57c2320a.css",revision:null},{url:"assets/BigPlayer-1a9916b1.css",revision:null},{url:"assets/BigPlayer-87cb4568.js",revision:null},{url:"assets/Breaking-1c37c796.js",revision:null},{url:"assets/CollectionHeader-d7b2d6c7.css",revision:null},{url:"assets/CollectionHeader-f21b5037.js",revision:null},{url:"assets/Dropdown-489f43f3.js",revision:null},{url:"assets/Dropdown-bc8d2dbe.css",revision:null},{url:"assets/Editor-0bd65813.css",revision:null},{url:"assets/Editor-b299878f.js",revision:null},{url:"assets/EditSong.vue_vue_type_script_setup_true_lang-ab4bffaa.js",revision:null},{url:"assets/Explore-16ffab45.js",revision:null},{url:"assets/Explore-e4c09a4f.css",revision:null},{url:"assets/Export-013fe12d.css",revision:null},{url:"assets/Export-ea4f315d.js",revision:null},{url:"assets/ExternalEntry-1ad4a4e1.css",revision:null},{url:"assets/ExternalEntry-7bdbc9d0.js",revision:null},{url:"assets/FactCard-3c5d1fcf.css",revision:null},{url:"assets/FactCard-89ebd574.js",revision:null},{url:"assets/Form-6220abd3.js",revision:null},{url:"assets/Form-886284c9.css",revision:null},{url:"assets/FullShelf-261568ae.css",revision:null},{url:"assets/FullShelf-6722f9a0.js",revision:null},{url:"assets/gistClient-d0f6f626.js",revision:null},{url:"assets/IconButton-f37a9ebc.js",revision:null},{url:"assets/IconButton-ff1e50bb.css",revision:null},{url:"assets/Import-a6f1cef5.css",revision:null},{url:"assets/Import-de0dbd70.js",revision:null},{url:"assets/ImportSpotifyAlbum.vue_vue_type_script_setup_true_lang-3dfbff36.js",revision:null},{url:"assets/index-06cb9ce9.js",revision:null},{url:"assets/index-092e6edb.css",revision:null},{url:"assets/index-3fbf2886.js",revision:null},{url:"assets/index-4e4ed216.css",revision:null},{url:"assets/index-6aeba909.js",revision:null},{url:"assets/index-76812b81.css",revision:null},{url:"assets/index-7819f3fe.js",revision:null},{url:"assets/index-8e1d0104.css",revision:null},{url:"assets/index-91bfa428.js",revision:null},{url:"assets/index-97d03c40.css",revision:null},{url:"assets/index-c49644b0.css",revision:null},{url:"assets/index-cd6ad498.js",revision:null},{url:"assets/index-f90ed871.css",revision:null},{url:"assets/index-fe2c9584.js",revision:null},{url:"assets/index.vue_vue_type_script_setup_true_lang-25852a10.js",revision:null},{url:"assets/LocalData-98518e1f.js",revision:null},{url:"assets/LocalData-a67e58b2.css",revision:null},{url:"assets/News-697c1603.js",revision:null},{url:"assets/News-815a31c4.css",revision:null},{url:"assets/NewsArticle-6755655f.js",revision:null},{url:"assets/NewsArticle-f71d5ef8.css",revision:null},{url:"assets/playerInPicture-af203fdf.js",revision:null},{url:"assets/Playlist-41f8fb8f.js",revision:null},{url:"assets/Playlist-b839cbd8.css",revision:null},{url:"assets/Playlist.vue_vue_type_script_setup_true_lang-82d587cd.js",revision:null},{url:"assets/PlaylistEntry-4058086a.css",revision:null},{url:"assets/PlaylistEntry-a7c7e55a.js",revision:null},{url:"assets/PlaylistHeader-107555cd.css",revision:null},{url:"assets/PlaylistHeader-1850e9b2.js",revision:null},{url:"assets/PlaylistItem-0efbc30a.js",revision:null},{url:"assets/PlaylistItem-8556515c.css",revision:null},{url:"assets/Playlists-660e6a71.css",revision:null},{url:"assets/Playlists-ac767eb6.js",revision:null},{url:"assets/ReleaseItem-145a7ce1.js",revision:null},{url:"assets/ReleaseItem-874d3860.css",revision:null},{url:"assets/Releases-46f16e90.css",revision:null},{url:"assets/Releases-9b1072c5.js",revision:null},{url:"assets/Search-25e5af5d.css",revision:null},{url:"assets/Search-3135be97.js",revision:null},{url:"assets/Sports-385f73f9.css",revision:null},{url:"assets/Sports-acd84399.js",revision:null},{url:"assets/spotify-ec009aad.js",revision:null},{url:"assets/Template-f7fd23e9.js",revision:null},{url:"assets/Template-fe5eeb6e.css",revision:null},{url:"assets/Track-3bc61d50.js",revision:null},{url:"assets/Track-50ce7320.css",revision:null},{url:"assets/TrackCompact-54657b5e.js",revision:null},{url:"assets/TrackCompact-ec18cf3e.css",revision:null},{url:"assets/Tracks-b0e344de.js",revision:null},{url:"assets/Welcome-524b8e03.js",revision:null},{url:"assets/Welcome-5b21c29e.css",revision:null},{url:"index.html",revision:"0bebae0ea318266ff4e4de598f252cc5"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"favicon.png",revision:"81eb710c3fadc823ae3bb676eacf1795"},{url:"manifest.webmanifest",revision:"54fda1775a89a999bda4c67bd363bb64"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api/]}))})); diff --git a/src/ui/package-lock.json b/src/ui/package-lock.json index ee00b2417..3e1e6f4e1 100644 --- a/src/ui/package-lock.json +++ b/src/ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "reAudioPlayer", - "version": "0.10.63", + "version": "0.10.65", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "reAudioPlayer", - "version": "0.10.63", + "version": "0.10.65", "dependencies": { "fast-average-color": "^9.3.0", "google-translate-api-browser": "^3.0.1", diff --git a/src/ui/package.json b/src/ui/package.json index 9bd405a94..d1cb02259 100644 --- a/src/ui/package.json +++ b/src/ui/package.json @@ -1,6 +1,6 @@ { "name": "reAudioPlayer", - "version": "0.10.63", + "version": "0.10.65", "scripts": { "dev": "vite", "preview": "vite preview --port 8080", diff --git a/src/ui/src/router/index.js b/src/ui/src/router/index.js index 17eb8888a..2b9d18aa4 100644 --- a/src/ui/src/router/index.js +++ b/src/ui/src/router/index.js @@ -6,185 +6,178 @@ import { createRouter, createWebHistory } from "vue-router"; const routes = [{ - path: '/', - component: () => import('@/views/home/index.vue'), - }, - { - path: '/discover', - component: () => import("@/views/Explore.vue"), - meta: { - title: "Discover - reAudioPlayer One" - } - }, - { - path: '/search', - component: () => import("@/views/Search.vue"), - meta: { - title: "Search - reAudioPlayer One" - } - }, - { - name: "Search", - path: '/search/:query', - component: () => import("@/views/Search.vue"), - meta: { - title: "Search - reAudioPlayer One" - } - }, - { - path: '/collection/albums', - component: () => import("@/views/Collection/Albums.vue"), - meta: { - title: "Your Library - reAudioPlayer One" - } - }, - { - path: '/collection/artists', - component: () => import("@/views/Collection/Artists.vue"), - meta: { - title: "Your Library - reAudioPlayer One" - } - }, - { - path: '/collection/playlists', - component: () => import("@/views/Collection/Playlists.vue"), - meta: { - title: "Your Library - reAudioPlayer One" - } - }, - { - path: '/collection/releases', - component: () => import("@/views/Collection/Releases.vue"), - meta: { - title: "Releases - reAudioPlayer One" - } - }, - { - path: '/collection/tracks', - component: () => import("@/views/Collection/SmartPlaylist/Tracks.vue"), - meta: { - title: "Liked Songs - reAudioPlayer One" - } - }, - { - path: '/collection/tracks/breaking', - component: () => import("@/views/Collection/SmartPlaylist/Breaking.vue"), - meta: { - title: "Breaking Songs - reAudioPlayer One" - } - }, - { - path: '/playlist/smart/editor', - component: () => import("@/views/Collection/SmartPlaylist/Editor.vue"), - meta: { - title: "Smart Playlist Editor - reAudioPlayer One" - } - }, - { - path: '/playlist/smart/:hash', - component: () => import("@/views/Playlist/Smart.vue"), - meta: { - title: "Smart Playlist - reAudioPlayer One" - } - }, - { - path: '/playlist/:hash', - component: () => import("@/views/Playlist/index.vue"), - meta: { - title: "Playlist - reAudioPlayer One" - } - }, - { - path: '/track/:hash', - component: () => import("@/views/Track.vue"), - meta: { - title: "Track - reAudioPlayer One" - } - }, - { - path: '/artist/:name', - component: () => import("@/views/Artist.vue"), - meta: { - title: "Artist - reAudioPlayer One" - } - }, - { - path: '/preferences', - component: () => import("@/views/preferences/index.vue"), - meta: { - title: "Preferences - reAudioPlayer One" - } - }, - { - path: '/preferences/my-data', - component: () => import("@/views/preferences/LocalData.vue"), - meta: { - title: "Preferences - reAudioPlayer One" - } - }, - { - path: '/import', - component: () => import("@/views/sync/Import.vue"), - meta: { - title: "Import - reAudioPlayer One" - } - }, - { - path: '/export', - component: () => import("@/views/Export.vue"), - meta: { - title: "Export - reAudioPlayer One" - } - }, - { - path: '/sing-along', - component: () => import("@/views/SingAlong/index.vue"), - meta: { - title: "Sing Along - reAudioPlayer One" - } - }, - { - path: '/download', - component: () => import("@/views/Downloader/index.vue"), - meta: { - title: "Download - reAudioPlayer One" - } - }, - { - path: '/welcome', - component: () => import("@/views/Welcome.vue"), - meta: { - title: "Welcome to reAudioPlayer One" - } - }, - { - path: '/news', - component: () => import("@/views/News.vue"), - meta: { - title: "News - reAudioPlayer One" - } - }, - { - path: '/sports', - component: () => import("@/views/Sports.vue"), - meta: { - title: "Sports - reAudioPlayer One" - } - }, - { - path: '/news/:url', - component: () => import("@/views/NewsArticle.vue"), - meta: { - title: "News - reAudioPlayer One" - } - }, - { - path: '/player', - component: () => import("@/views/BigPlayer.vue"), - meta: { - title: "reAudioPlayer One" - } - }, + path: '/', + component: () => import('@/views/home/index.vue'), +}, +{ + path: '/discover', + component: () => import("@/views/Explore.vue"), + meta: { + title: "Discover - reAudioPlayer One" + } +}, +{ + path: '/search', + component: () => import("@/views/Search.vue"), + meta: { + title: "Search - reAudioPlayer One" + } +}, +{ + name: "Search", + path: '/search/:query', + component: () => import("@/views/Search.vue"), + meta: { + title: "Search - reAudioPlayer One" + } +}, +{ + path: '/collection/albums', + component: () => import("@/views/Collection/Albums.vue"), + meta: { + title: "Your Library - reAudioPlayer One" + } +}, +{ + path: '/collection/artists', + component: () => import("@/views/Collection/Artists.vue"), + meta: { + title: "Your Library - reAudioPlayer One" + } +}, +{ + path: '/collection/playlists', + component: () => import("@/views/Collection/Playlists.vue"), + meta: { + title: "Your Library - reAudioPlayer One" + } +}, +{ + path: '/collection/releases', + component: () => import("@/views/Collection/Releases.vue"), + meta: { + title: "Releases - reAudioPlayer One" + } +}, +{ + path: '/collection/tracks', + component: () => import("@/views/Collection/SmartPlaylist/Tracks.vue"), + meta: { + title: "Liked Songs - reAudioPlayer One" + } +}, +{ + path: '/collection/tracks/breaking', + component: () => import("@/views/Collection/SmartPlaylist/Breaking.vue"), + meta: { + title: "Breaking Songs - reAudioPlayer One" + } +}, +{ + path: '/playlist/smart/editor', + component: () => import("@/views/Collection/SmartPlaylist/Editor.vue"), + meta: { + title: "Smart Playlist Editor - reAudioPlayer One" + } +}, +{ + path: '/playlist/:hash', + component: () => import("@/views/Playlist/index.vue"), + meta: { + title: "Playlist - reAudioPlayer One" + } +}, +{ + path: '/track/:hash', + component: () => import("@/views/Track.vue"), + meta: { + title: "Track - reAudioPlayer One" + } +}, +{ + path: '/artist/:name', + component: () => import("@/views/Artist.vue"), + meta: { + title: "Artist - reAudioPlayer One" + } +}, +{ + path: '/preferences', + component: () => import("@/views/preferences/index.vue"), + meta: { + title: "Preferences - reAudioPlayer One" + } +}, +{ + path: '/preferences/my-data', + component: () => import("@/views/preferences/LocalData.vue"), + meta: { + title: "Preferences - reAudioPlayer One" + } +}, +{ + path: '/import', + component: () => import("@/views/sync/Import.vue"), + meta: { + title: "Import - reAudioPlayer One" + } +}, +{ + path: '/export', + component: () => import("@/views/Export.vue"), + meta: { + title: "Export - reAudioPlayer One" + } +}, +{ + path: '/sing-along', + component: () => import("@/views/SingAlong/index.vue"), + meta: { + title: "Sing Along - reAudioPlayer One" + } +}, +{ + path: '/download', + component: () => import("@/views/Downloader/index.vue"), + meta: { + title: "Download - reAudioPlayer One" + } +}, +{ + path: '/welcome', + component: () => import("@/views/Welcome.vue"), + meta: { + title: "Welcome to reAudioPlayer One" + } +}, +{ + path: '/news', + component: () => import("@/views/News.vue"), + meta: { + title: "News - reAudioPlayer One" + } +}, +{ + path: '/sports', + component: () => import("@/views/Sports.vue"), + meta: { + title: "Sports - reAudioPlayer One" + } +}, +{ + path: '/news/:url', + component: () => import("@/views/NewsArticle.vue"), + meta: { + title: "News - reAudioPlayer One" + } +}, +{ + path: '/player', + component: () => import("@/views/BigPlayer.vue"), + meta: { + title: "reAudioPlayer One" + } +}, ] const router = createRouter({