(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();function ac(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yu={exports:{}},rl={},Xu={exports:{}},R={};/** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Jn=Symbol.for("react.element"),cc=Symbol.for("react.portal"),fc=Symbol.for("react.fragment"),dc=Symbol.for("react.strict_mode"),pc=Symbol.for("react.profiler"),mc=Symbol.for("react.provider"),hc=Symbol.for("react.context"),vc=Symbol.for("react.forward_ref"),yc=Symbol.for("react.suspense"),gc=Symbol.for("react.memo"),wc=Symbol.for("react.lazy"),Fo=Symbol.iterator;function Sc(e){return e===null||typeof e!="object"?null:(e=Fo&&e[Fo]||e["@@iterator"],typeof e=="function"?e:null)}var Gu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ju=Object.assign,Zu={};function on(e,t,n){this.props=e,this.context=t,this.refs=Zu,this.updater=n||Gu}on.prototype.isReactComponent={};on.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};on.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function qu(){}qu.prototype=on.prototype;function Vi(e,t,n){this.props=e,this.context=t,this.refs=Zu,this.updater=n||Gu}var Bi=Vi.prototype=new qu;Bi.constructor=Vi;Ju(Bi,on.prototype);Bi.isPureReactComponent=!0;var Uo=Array.isArray,bu=Object.prototype.hasOwnProperty,Hi={current:null},es={key:!0,ref:!0,__self:!0,__source:!0};function ts(e,t,n){var r,l={},i=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)bu.call(t,r)&&!es.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(u===1)l.children=n;else if(1>>1,J=N[Q];if(0>>1;Ql(kl,T))gtl(rr,kl)?(N[Q]=rr,N[gt]=T,Q=gt):(N[Q]=kl,N[yt]=T,Q=yt);else if(gtl(rr,T))N[Q]=rr,N[gt]=T,Q=gt;else break e}}return z}function l(N,z){var T=N.sortIndex-z.sortIndex;return T!==0?T:N.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var s=[],a=[],h=1,v=null,m=3,g=!1,S=!1,k=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(N){for(var z=n(a);z!==null;){if(z.callback===null)r(a);else if(z.startTime<=N)r(a),z.sortIndex=z.expirationTime,t(s,z);else break;z=n(a)}}function y(N){if(k=!1,d(N),!S)if(n(s)!==null)S=!0,wl(E);else{var z=n(a);z!==null&&Sl(y,z.startTime-N)}}function E(N,z){S=!1,k&&(k=!1,p(P),P=-1),g=!0;var T=m;try{for(d(z),v=n(s);v!==null&&(!(v.expirationTime>z)||N&&!Pe());){var Q=v.callback;if(typeof Q=="function"){v.callback=null,m=v.priorityLevel;var J=Q(v.expirationTime<=z);z=e.unstable_now(),typeof J=="function"?v.callback=J:v===n(s)&&r(s),d(z)}else r(s);v=n(s)}if(v!==null)var nr=!0;else{var yt=n(a);yt!==null&&Sl(y,yt.startTime-z),nr=!1}return nr}finally{v=null,m=T,g=!1}}var j=!1,_=null,P=-1,W=5,O=-1;function Pe(){return!(e.unstable_now()-ON||125Q?(N.sortIndex=T,t(a,N),n(s)===null&&N===n(a)&&(k?(p(P),P=-1):k=!0,Sl(y,T-Q))):(N.sortIndex=J,t(s,N),S||g||(S=!0,wl(E))),N},e.unstable_shouldYield=Pe,e.unstable_wrapCallback=function(N){var z=m;return function(){var T=m;m=z;try{return N.apply(this,arguments)}finally{m=T}}}})(os);is.exports=os;var Rc=is.exports;/** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Oc=L,ge=Rc;function w(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Gl=Object.prototype.hasOwnProperty,Dc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,$o={},Vo={};function Ic(e){return Gl.call(Vo,e)?!0:Gl.call($o,e)?!1:Dc.test(e)?Vo[e]=!0:($o[e]=!0,!1)}function Mc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Fc(e,t,n,r){if(t===null||typeof t>"u"||Mc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ae(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var te={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){te[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];te[t]=new ae(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){te[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){te[e]=new ae(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){te[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){te[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){te[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){te[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){te[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Qi=/[\-:]([a-z])/g;function Ki(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Qi,Ki);te[t]=new ae(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Qi,Ki);te[t]=new ae(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Qi,Ki);te[t]=new ae(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){te[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});te.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){te[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Yi(e,t,n,r){var l=te.hasOwnProperty(t)?te[t]:null;(l!==null?l.type!==0:r||!(2u||l[o]!==i[u]){var s=` `+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=u);break}}}finally{Nl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?wn(e):""}function Uc(e){switch(e.tag){case 5:return wn(e.type);case 16:return wn("Lazy");case 13:return wn("Suspense");case 19:return wn("SuspenseList");case 0:case 2:case 15:return e=Cl(e.type,!1),e;case 11:return e=Cl(e.type.render,!1),e;case 1:return e=Cl(e.type,!0),e;default:return""}}function bl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case It:return"Fragment";case Dt:return"Portal";case Jl:return"Profiler";case Xi:return"StrictMode";case Zl:return"Suspense";case ql:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case as:return(e.displayName||"Context")+".Consumer";case ss:return(e._context.displayName||"Context")+".Provider";case Gi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ji:return t=e.displayName||null,t!==null?t:bl(e.type)||"Memo";case qe:t=e._payload,e=e._init;try{return bl(e(t))}catch{}}return null}function Ac(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return bl(t);case 8:return t===Xi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function dt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fs(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function $c(e){var t=fs(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function or(e){e._valueTracker||(e._valueTracker=$c(e))}function ds(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=fs(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Or(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ei(e,t){var n=t.checked;return B({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Ho(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=dt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ps(e,t){t=t.checked,t!=null&&Yi(e,"checked",t,!1)}function ti(e,t){ps(e,t);var n=dt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ni(e,t.type,n):t.hasOwnProperty("defaultValue")&&ni(e,t.type,dt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Wo(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ni(e,t,n){(t!=="number"||Or(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Sn=Array.isArray;function Kt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=ur.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Dn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var En={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Vc=["Webkit","ms","Moz","O"];Object.keys(En).forEach(function(e){Vc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),En[t]=En[e]})});function ys(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||En.hasOwnProperty(e)&&En[e]?(""+t).trim():t+"px"}function gs(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ys(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Bc=B({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ii(e,t){if(t){if(Bc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(w(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(w(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(w(61))}if(t.style!=null&&typeof t.style!="object")throw Error(w(62))}}function oi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ui=null;function Zi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var si=null,Yt=null,Xt=null;function Yo(e){if(e=bn(e)){if(typeof si!="function")throw Error(w(280));var t=e.stateNode;t&&(t=sl(t),si(e.stateNode,e.type,t))}}function ws(e){Yt?Xt?Xt.push(e):Xt=[e]:Yt=e}function Ss(){if(Yt){var e=Yt,t=Xt;if(Xt=Yt=null,Yo(e),t)for(e=0;e>>=0,e===0?32:31-(bc(e)/ef|0)|0}var sr=64,ar=4194304;function kn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Fr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var u=o&~l;u!==0?r=kn(u):(i&=o,i!==0&&(r=kn(i)))}else o=n&~l,o!==0?r=kn(o):i!==0&&(r=kn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Zn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function lf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Cn),nu=" ",ru=!1;function $s(e,t){switch(e){case"keyup":return Of.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Mt=!1;function If(e,t){switch(e){case"compositionend":return Vs(t);case"keypress":return t.which!==32?null:(ru=!0,nu);case"textInput":return e=t.data,e===nu&&ru?null:e;default:return null}}function Mf(e,t){if(Mt)return e==="compositionend"||!io&&$s(e,t)?(e=Us(),Nr=no=nt=null,Mt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=uu(n)}}function Qs(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Qs(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ks(){for(var e=window,t=Or();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Or(e.document)}return t}function oo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Qf(e){var t=Ks(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Qs(n.ownerDocument.documentElement,n)){if(r!==null&&oo(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=su(n,i);var o=su(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ft=null,mi=null,_n=null,hi=!1;function au(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;hi||Ft==null||Ft!==Or(r)||(r=Ft,"selectionStart"in r&&oo(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_n&&$n(_n,r)||(_n=r,r=$r(mi,"onSelect"),0$t||(e.current=ki[$t],ki[$t]=null,$t--)}function M(e,t){$t++,ki[$t]=e.current,e.current=t}var pt={},ie=ht(pt),de=ht(!1),jt=pt;function bt(e,t){var n=e.type.contextTypes;if(!n)return pt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function Br(){U(de),U(ie)}function vu(e,t,n){if(ie.current!==pt)throw Error(w(168));M(ie,t),M(de,n)}function ta(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(w(108,Ac(e)||"Unknown",l));return B({},n,r)}function Hr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pt,jt=ie.current,M(ie,e),M(de,de.current),!0}function yu(e,t,n){var r=e.stateNode;if(!r)throw Error(w(169));n?(e=ta(e,t,jt),r.__reactInternalMemoizedMergedChildContext=e,U(de),U(ie),M(ie,e)):U(de),M(de,n)}var Be=null,al=!1,Al=!1;function na(e){Be===null?Be=[e]:Be.push(e)}function rd(e){al=!0,na(e)}function vt(){if(!Al&&Be!==null){Al=!0;var e=0,t=I;try{var n=Be;for(I=1;e>=o,l-=o,He=1<<32-Oe(t)+l|n<P?(W=_,_=null):W=_.sibling;var O=m(p,_,d[P],y);if(O===null){_===null&&(_=W);break}e&&_&&O.alternate===null&&t(p,_),c=i(O,c,P),j===null?E=O:j.sibling=O,j=O,_=W}if(P===d.length)return n(p,_),A&&wt(p,P),E;if(_===null){for(;PP?(W=_,_=null):W=_.sibling;var Pe=m(p,_,O.value,y);if(Pe===null){_===null&&(_=W);break}e&&_&&Pe.alternate===null&&t(p,_),c=i(Pe,c,P),j===null?E=Pe:j.sibling=Pe,j=Pe,_=W}if(O.done)return n(p,_),A&&wt(p,P),E;if(_===null){for(;!O.done;P++,O=d.next())O=v(p,O.value,y),O!==null&&(c=i(O,c,P),j===null?E=O:j.sibling=O,j=O);return A&&wt(p,P),E}for(_=r(p,_);!O.done;P++,O=d.next())O=g(_,p,P,O.value,y),O!==null&&(e&&O.alternate!==null&&_.delete(O.key===null?P:O.key),c=i(O,c,P),j===null?E=O:j.sibling=O,j=O);return e&&_.forEach(function(an){return t(p,an)}),A&&wt(p,P),E}function C(p,c,d,y){if(typeof d=="object"&&d!==null&&d.type===It&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case ir:e:{for(var E=d.key,j=c;j!==null;){if(j.key===E){if(E=d.type,E===It){if(j.tag===7){n(p,j.sibling),c=l(j,d.props.children),c.return=p,p=c;break e}}else if(j.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===qe&&Su(E)===j.type){n(p,j.sibling),c=l(j,d.props),c.ref=vn(p,j,d),c.return=p,p=c;break e}n(p,j);break}else t(p,j);j=j.sibling}d.type===It?(c=Ct(d.props.children,p.mode,y,d.key),c.return=p,p=c):(y=Rr(d.type,d.key,d.props,null,p.mode,y),y.ref=vn(p,c,d),y.return=p,p=y)}return o(p);case Dt:e:{for(j=d.key;c!==null;){if(c.key===j)if(c.tag===4&&c.stateNode.containerInfo===d.containerInfo&&c.stateNode.implementation===d.implementation){n(p,c.sibling),c=l(c,d.children||[]),c.return=p,p=c;break e}else{n(p,c);break}else t(p,c);c=c.sibling}c=Yl(d,p.mode,y),c.return=p,p=c}return o(p);case qe:return j=d._init,C(p,c,j(d._payload),y)}if(Sn(d))return S(p,c,d,y);if(fn(d))return k(p,c,d,y);vr(p,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,c!==null&&c.tag===6?(n(p,c.sibling),c=l(c,d),c.return=p,p=c):(n(p,c),c=Kl(d,p.mode,y),c.return=p,p=c),o(p)):n(p,c)}return C}var tn=oa(!0),ua=oa(!1),Kr=ht(null),Yr=null,Ht=null,co=null;function fo(){co=Ht=Yr=null}function po(e){var t=Kr.current;U(Kr),e._currentValue=t}function Ni(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Jt(e,t){Yr=e,co=Ht=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(fe=!0),e.firstContext=null)}function je(e){var t=e._currentValue;if(co!==e)if(e={context:e,memoizedValue:t,next:null},Ht===null){if(Yr===null)throw Error(w(308));Ht=e,Yr.dependencies={lanes:0,firstContext:e}}else Ht=Ht.next=e;return t}var xt=null;function mo(e){xt===null?xt=[e]:xt.push(e)}function sa(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mo(t)):(n.next=l.next,l.next=n),t.interleaved=n,Xe(e,r)}function Xe(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var be=!1;function ho(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function aa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function st(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,D&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Xe(e,n)}return l=r.interleaved,l===null?(t.next=t,mo(r)):(t.next=l.next,l.next=t),r.interleaved=t,Xe(e,n)}function jr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bi(e,n)}}function ku(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Xr(e,t,n,r){var l=e.updateQueue;be=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var s=u,a=s.next;s.next=null,o===null?i=a:o.next=a,o=s;var h=e.alternate;h!==null&&(h=h.updateQueue,u=h.lastBaseUpdate,u!==o&&(u===null?h.firstBaseUpdate=a:u.next=a,h.lastBaseUpdate=s))}if(i!==null){var v=l.baseState;o=0,h=a=s=null,u=i;do{var m=u.lane,g=u.eventTime;if((r&m)===m){h!==null&&(h=h.next={eventTime:g,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var S=e,k=u;switch(m=t,g=n,k.tag){case 1:if(S=k.payload,typeof S=="function"){v=S.call(g,v,m);break e}v=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=k.payload,m=typeof S=="function"?S.call(g,v,m):S,m==null)break e;v=B({},v,m);break e;case 2:be=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,m=l.effects,m===null?l.effects=[u]:m.push(u))}else g={eventTime:g,lane:m,tag:u.tag,payload:u.payload,callback:u.callback,next:null},h===null?(a=h=g,s=v):h=h.next=g,o|=m;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;m=u,u=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);if(h===null&&(s=v),l.baseState=s,l.firstBaseUpdate=a,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);zt|=o,e.lanes=o,e.memoizedState=v}}function xu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Vl.transition;Vl.transition={};try{e(!1),t()}finally{I=n,Vl.transition=r}}function ja(){return _e().memoizedState}function ud(e,t,n){var r=ct(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},_a(e))Pa(t,n);else if(n=sa(e,t,n,r),n!==null){var l=ue();De(n,e,r,l),za(n,t,r)}}function sd(e,t,n){var r=ct(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(_a(e))Pa(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,u=i(o,n);if(l.hasEagerState=!0,l.eagerState=u,Ie(u,o)){var s=t.interleaved;s===null?(l.next=l,mo(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=sa(e,t,l,r),n!==null&&(l=ue(),De(n,e,r,l),za(n,t,r))}}function _a(e){var t=e.alternate;return e===V||t!==null&&t===V}function Pa(e,t){Pn=Jr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function za(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bi(e,n)}}var Zr={readContext:je,useCallback:ne,useContext:ne,useEffect:ne,useImperativeHandle:ne,useInsertionEffect:ne,useLayoutEffect:ne,useMemo:ne,useReducer:ne,useRef:ne,useState:ne,useDebugValue:ne,useDeferredValue:ne,useTransition:ne,useMutableSource:ne,useSyncExternalStore:ne,useId:ne,unstable_isNewReconciler:!1},ad={readContext:je,useCallback:function(e,t){return Fe().memoizedState=[e,t===void 0?null:t],e},useContext:je,useEffect:Nu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Pr(4194308,4,ka.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Pr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Pr(4,2,e,t)},useMemo:function(e,t){var n=Fe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Fe();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ud.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=Fe();return e={current:e},t.memoizedState=e},useState:Eu,useDebugValue:Eo,useDeferredValue:function(e){return Fe().memoizedState=e},useTransition:function(){var e=Eu(!1),t=e[0];return e=od.bind(null,e[1]),Fe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=V,l=Fe();if(A){if(n===void 0)throw Error(w(407));n=n()}else{if(n=t(),q===null)throw Error(w(349));Pt&30||pa(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Nu(ha.bind(null,r,i,e),[e]),r.flags|=2048,Xn(9,ma.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Fe(),t=q.identifierPrefix;if(A){var n=We,r=He;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Kn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ue]=t,e[Hn]=r,Aa(e,t,!1,!1),t.stateNode=e;e:{switch(o=oi(n,r),n){case"dialog":F("cancel",e),F("close",e),l=r;break;case"iframe":case"object":case"embed":F("load",e),l=r;break;case"video":case"audio":for(l=0;lln&&(t.flags|=128,r=!0,yn(i,!1),t.lanes=4194304)}else{if(!r)if(e=Gr(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),yn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!A)return re(t),null}else 2*K()-i.renderingStartTime>ln&&n!==1073741824&&(t.flags|=128,r=!0,yn(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=K(),t.sibling=null,n=$.current,M($,r?n&1|2:n&1),t):(re(t),null);case 22:case 23:return zo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?he&1073741824&&(re(t),t.subtreeFlags&6&&(t.flags|=8192)):re(t),null;case 24:return null;case 25:return null}throw Error(w(156,t.tag))}function yd(e,t){switch(so(t),t.tag){case 1:return pe(t.type)&&Br(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return nn(),U(de),U(ie),go(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yo(t),null;case 13:if(U($),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(w(340));en()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U($),null;case 4:return nn(),null;case 10:return po(t.type._context),null;case 22:case 23:return zo(),null;case 24:return null;default:return null}}var gr=!1,le=!1,gd=typeof WeakSet=="function"?WeakSet:Set,x=null;function Wt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){H(e,t,r)}else n.current=null}function Oi(e,t,n){try{n()}catch(r){H(e,t,r)}}var Iu=!1;function wd(e,t){if(vi=Ur,e=Ks(),oo(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,u=-1,s=-1,a=0,h=0,v=e,m=null;t:for(;;){for(var g;v!==n||l!==0&&v.nodeType!==3||(u=o+l),v!==i||r!==0&&v.nodeType!==3||(s=o+r),v.nodeType===3&&(o+=v.nodeValue.length),(g=v.firstChild)!==null;)m=v,v=g;for(;;){if(v===e)break t;if(m===n&&++a===l&&(u=o),m===i&&++h===r&&(s=o),(g=v.nextSibling)!==null)break;v=m,m=v.parentNode}v=g}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(yi={focusedElem:e,selectionRange:n},Ur=!1,x=t;x!==null;)if(t=x,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,x=e;else for(;x!==null;){t=x;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var k=S.memoizedProps,C=S.memoizedState,p=t.stateNode,c=p.getSnapshotBeforeUpdate(t.elementType===t.type?k:Le(t.type,k),C);p.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(w(163))}}catch(y){H(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,x=e;break}x=t.return}return S=Iu,Iu=!1,S}function zn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Oi(t,n,i)}l=l.next}while(l!==r)}}function dl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Di(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Ba(e){var t=e.alternate;t!==null&&(e.alternate=null,Ba(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ue],delete t[Hn],delete t[Si],delete t[td],delete t[nd])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ha(e){return e.tag===5||e.tag===3||e.tag===4}function Mu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ha(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ii(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vr));else if(r!==4&&(e=e.child,e!==null))for(Ii(e,t,n),e=e.sibling;e!==null;)Ii(e,t,n),e=e.sibling}function Mi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mi(e,t,n),e=e.sibling;e!==null;)Mi(e,t,n),e=e.sibling}var b=null,Te=!1;function Ze(e,t,n){for(n=n.child;n!==null;)Wa(e,t,n),n=n.sibling}function Wa(e,t,n){if(Ae&&typeof Ae.onCommitFiberUnmount=="function")try{Ae.onCommitFiberUnmount(ll,n)}catch{}switch(n.tag){case 5:le||Wt(n,t);case 6:var r=b,l=Te;b=null,Ze(e,t,n),b=r,Te=l,b!==null&&(Te?(e=b,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):b.removeChild(n.stateNode));break;case 18:b!==null&&(Te?(e=b,n=n.stateNode,e.nodeType===8?Ul(e.parentNode,n):e.nodeType===1&&Ul(e,n),Un(e)):Ul(b,n.stateNode));break;case 4:r=b,l=Te,b=n.stateNode.containerInfo,Te=!0,Ze(e,t,n),b=r,Te=l;break;case 0:case 11:case 14:case 15:if(!le&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Oi(n,t,o),l=l.next}while(l!==r)}Ze(e,t,n);break;case 1:if(!le&&(Wt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){H(n,t,u)}Ze(e,t,n);break;case 21:Ze(e,t,n);break;case 22:n.mode&1?(le=(r=le)||n.memoizedState!==null,Ze(e,t,n),le=r):Ze(e,t,n);break;default:Ze(e,t,n)}}function Fu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new gd),t.forEach(function(r){var l=Pd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function ze(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=K()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kd(r/1960))-r,10e?16:e,rt===null)var r=!1;else{if(e=rt,rt=null,el=0,D&6)throw Error(w(331));var l=D;for(D|=4,x=e.current;x!==null;){var i=x,o=i.child;if(x.flags&16){var u=i.deletions;if(u!==null){for(var s=0;sK()-_o?Nt(e,0):jo|=n),me(e,t)}function qa(e,t){t===0&&(e.mode&1?(t=ar,ar<<=1,!(ar&130023424)&&(ar=4194304)):t=1);var n=ue();e=Xe(e,t),e!==null&&(Zn(e,t,n),me(e,n))}function _d(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qa(e,n)}function Pd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(w(314))}r!==null&&r.delete(t),qa(e,n)}var ba;ba=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||de.current)fe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return fe=!1,hd(e,t,n);fe=!!(e.flags&131072)}else fe=!1,A&&t.flags&1048576&&ra(t,Qr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;zr(e,t),e=t.pendingProps;var l=bt(t,ie.current);Jt(t,n),l=So(null,t,r,e,l,n);var i=ko();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,pe(r)?(i=!0,Hr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,ho(t),l.updater=fl,t.stateNode=l,l._reactInternals=t,ji(t,r,e,n),t=zi(null,t,r,!0,i,n)):(t.tag=0,A&&i&&uo(t),oe(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(zr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Ld(r),e=Le(r,e),l){case 0:t=Pi(null,t,r,e,n);break e;case 1:t=Ru(null,t,r,e,n);break e;case 11:t=Lu(null,t,r,e,n);break e;case 14:t=Tu(null,t,r,Le(r.type,e),n);break e}throw Error(w(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Le(r,l),Pi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Le(r,l),Ru(e,t,r,l,n);case 3:e:{if(Ma(t),e===null)throw Error(w(387));r=t.pendingProps,i=t.memoizedState,l=i.element,aa(e,t),Xr(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=rn(Error(w(423)),t),t=Ou(e,t,r,n,l);break e}else if(r!==l){l=rn(Error(w(424)),t),t=Ou(e,t,r,n,l);break e}else for(ve=ut(t.stateNode.containerInfo.firstChild),ye=t,A=!0,Re=null,n=ua(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(en(),r===l){t=Ge(e,t,n);break e}oe(e,t,r,n)}t=t.child}return t;case 5:return ca(t),e===null&&Ei(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,gi(r,l)?o=null:i!==null&&gi(r,i)&&(t.flags|=32),Ia(e,t),oe(e,t,o,n),t.child;case 6:return e===null&&Ei(t),null;case 13:return Fa(e,t,n);case 4:return vo(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=tn(t,null,r,n):oe(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Le(r,l),Lu(e,t,r,l,n);case 7:return oe(e,t,t.pendingProps,n),t.child;case 8:return oe(e,t,t.pendingProps.children,n),t.child;case 12:return oe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,M(Kr,r._currentValue),r._currentValue=o,i!==null)if(Ie(i.value,o)){if(i.children===l.children&&!de.current){t=Ge(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var u=i.dependencies;if(u!==null){o=i.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=Qe(-1,n&-n),s.tag=2;var a=i.updateQueue;if(a!==null){a=a.shared;var h=a.pending;h===null?s.next=s:(s.next=h.next,h.next=s),a.pending=s}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Ni(i.return,n,t),u.lanes|=n;break}s=s.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(w(341));o.lanes|=n,u=o.alternate,u!==null&&(u.lanes|=n),Ni(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}oe(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Jt(t,n),l=je(l),r=r(l),t.flags|=1,oe(e,t,r,n),t.child;case 14:return r=t.type,l=Le(r,t.pendingProps),l=Le(r.type,l),Tu(e,t,r,l,n);case 15:return Oa(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Le(r,l),zr(e,t),t.tag=1,pe(r)?(e=!0,Hr(t)):e=!1,Jt(t,n),La(t,r,l),ji(t,r,l,n),zi(null,t,r,!0,e,n);case 19:return Ua(e,t,n);case 22:return Da(e,t,n)}throw Error(w(156,t.tag))};function ec(e,t){return _s(e,t)}function zd(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ne(e,t,n,r){return new zd(e,t,n,r)}function To(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ld(e){if(typeof e=="function")return To(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Gi)return 11;if(e===Ji)return 14}return 2}function ft(e,t){var n=e.alternate;return n===null?(n=Ne(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Rr(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")To(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case It:return Ct(n.children,l,i,t);case Xi:o=8,l|=8;break;case Jl:return e=Ne(12,n,t,l|2),e.elementType=Jl,e.lanes=i,e;case Zl:return e=Ne(13,n,t,l),e.elementType=Zl,e.lanes=i,e;case ql:return e=Ne(19,n,t,l),e.elementType=ql,e.lanes=i,e;case cs:return ml(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ss:o=10;break e;case as:o=9;break e;case Gi:o=11;break e;case Ji:o=14;break e;case qe:o=16,r=null;break e}throw Error(w(130,e==null?e:typeof e,""))}return t=Ne(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Ct(e,t,n,r){return e=Ne(7,e,r,t),e.lanes=n,e}function ml(e,t,n,r){return e=Ne(22,e,r,t),e.elementType=cs,e.lanes=n,e.stateNode={isHidden:!1},e}function Kl(e,t,n){return e=Ne(6,e,null,t),e.lanes=n,e}function Yl(e,t,n){return t=Ne(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Td(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ro(e,t,n,r,l,i,o,u,s){return e=new Td(e,t,n,u,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ne(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ho(i),e}function Rd(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(lc)}catch(e){console.error(e)}}lc(),ls.exports=we;var Fd=ls.exports,Qu=Fd;Xl.createRoot=Qu.createRoot,Xl.hydrateRoot=Qu.hydrateRoot;const ic=L.createContext(),tr=()=>{const e=L.useContext(ic);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e};function Ud(){const{isAuthenticated:e,currentUser:t,onLogout:n}=tr(),r=l=>{window.history.pushState({},"",l);const i=new PopStateEvent("popstate");window.dispatchEvent(i)};return f.jsxs("nav",{className:"navbar",children:[f.jsx("div",{className:"logo",onClick:()=>r("/"),children:"VibeVault"}),f.jsxs("ul",{className:"nav-links",children:[f.jsx("li",{children:f.jsx("a",{href:"#",onClick:l=>{l.preventDefault(),r("/")},children:"首页"})}),f.jsx("li",{children:f.jsx("a",{href:"#",onClick:l=>{l.preventDefault(),r("/playlists")},children:"歌单"})})]}),f.jsx("div",{className:"auth-buttons",children:e?f.jsxs(f.Fragment,{children:[f.jsxs("span",{children:["欢迎, ",t.username]}),f.jsx("button",{className:"btn btn-secondary",onClick:n,children:"登出"})]}):f.jsxs(f.Fragment,{children:[f.jsx("button",{className:"btn btn-secondary",onClick:()=>r("/login"),children:"登录"}),f.jsx("button",{className:"btn btn-primary",onClick:()=>r("/register"),children:"注册"})]})})]})}function Ad({song:e,isPlaying:t,onTogglePlay:n}){if(!e)return null;const r=L.useRef(null);return L.useEffect(()=>{r.current&&(t?r.current.play().catch(l=>{console.error("播放失败:",l),n()}):r.current.pause())},[t,n]),L.useEffect(()=>{r.current&&(r.current.currentTime=0,t&&r.current.play().catch(l=>{console.error("播放失败:",l),n()}))},[e,t,n]),f.jsxs("div",{className:"player",children:[f.jsxs("div",{className:"now-playing",children:[f.jsx("img",{src:`https://picsum.photos/200/200?random=${e.id}`,alt:e.title}),f.jsxs("div",{className:"now-playing-info",children:[f.jsx("h4",{children:e.title}),f.jsx("p",{children:e.artist})]})]}),f.jsxs("div",{className:"playback-controls",children:[f.jsx("button",{className:"btn btn-secondary",children:"⏮"}),f.jsx("button",{className:"play-btn",onClick:n,children:t?"⏸":"▶"}),f.jsx("button",{className:"btn btn-secondary",children:"⏭"})]}),f.jsxs("div",{className:"player-actions",children:[f.jsx("button",{className:"btn btn-secondary",children:"❤️"}),f.jsx("button",{className:"btn btn-secondary",children:"📋"})]}),f.jsx("audio",{ref:r,src:e.audioUrl||"https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3",preload:"auto"})]})}function $d({onPlaySong:e}){const[t,n]=L.useState([]),[r,l]=L.useState(!0),[i,o]=L.useState(null),u=[{id:1,title:"阴天快乐 (女声版)",artist:"彭宇Chloe",duration:"3:45"},{id:2,title:"歌曲2",artist:"歌手2",duration:"4:12"},{id:3,title:"歌曲3",artist:"歌手3",duration:"3:58"},{id:4,title:"轻松音乐1",artist:"艺术家A",duration:"5:20"},{id:5,title:"动感音乐1",artist:"DJ X",duration:"3:15"},{id:6,title:"怀旧金曲1",artist:"经典歌手",duration:"4:30"}];L.useEffect(()=>{(async()=>{try{const h=[{id:1,name:"我的最爱",songs:[{id:1,title:"歌曲1",artist:"歌手1",duration:"3:45"},{id:2,title:"歌曲2",artist:"歌手2",duration:"4:12"},{id:3,title:"歌曲3",artist:"歌手3",duration:"3:58"}]},{id:2,name:"工作时听",songs:[{id:4,title:"轻松音乐1",artist:"艺术家A",duration:"5:20"},{id:5,title:"轻松音乐2",artist:"艺术家B",duration:"4:35"}]},{id:3,name:"运动节奏",songs:[{id:6,title:"动感音乐1",artist:"DJ X",duration:"3:15"},{id:7,title:"动感音乐2",artist:"DJ Y",duration:"2:58"},{id:8,title:"动感音乐3",artist:"DJ Z",duration:"3:42"}]},{id:4,name:"睡前放松",songs:[{id:9,title:"摇篮曲1",artist:"音乐人C",duration:"4:10"},{id:10,title:"摇篮曲2",artist:"音乐人D",duration:"5:05"}]}];await new Promise(v=>setTimeout(v,500)),n(h),l(!1)}catch(h){o("无法加载歌单,请稍后再试"),l(!1),console.error("Error fetching playlists:",h)}})()},[]);const s=[{id:"featured-1",name:"放松时刻",description:"适合放松的轻音乐",imageUrl:"https://picsum.photos/seed/relax/400/400"},{id:"featured-2",name:"动感节拍",description:"充满活力的流行音乐",imageUrl:"https://picsum.photos/seed/energy/400/400"},{id:"featured-3",name:"怀旧金曲",description:"经典老歌,回忆满满",imageUrl:"https://picsum.photos/seed/classic/400/400"}];return r?f.jsx("div",{className:"main-content",children:"加载中..."}):i?f.jsx("div",{className:"main-content",children:i}):f.jsxs("div",{className:"main-content",children:[f.jsx("h1",{className:"page-title",children:"发现音乐"}),f.jsxs("section",{className:"featured-section",children:[f.jsx("h2",{children:"精选推荐"}),f.jsx("div",{className:"playlists-grid",children:s.map(a=>f.jsxs("div",{className:"card playlist-card",onClick:()=>window.history.pushState({},"",`/playlists/${a.id}`),children:[f.jsx("img",{src:a.imageUrl,alt:a.name}),f.jsxs("div",{className:"playlist-info",children:[f.jsx("h3",{children:a.name}),f.jsx("p",{children:a.description})]})]},a.id))})]}),f.jsxs("section",{className:"hot-songs-section",children:[f.jsx("h2",{children:"热门歌曲"}),f.jsx("div",{className:"songs-list",children:u.map((a,h)=>f.jsxs("div",{className:"song-item",onClick:()=>window.history.pushState({},"",`/songs/${a.id}`),children:[f.jsx("div",{className:"song-rank",children:h+1}),f.jsxs("div",{className:"song-info",children:[f.jsx("h3",{children:a.title}),f.jsx("p",{children:a.artist})]}),f.jsx("div",{className:"song-duration",children:a.duration})]},a.id))})]}),f.jsxs("section",{className:"popular-section",children:[f.jsx("h2",{children:"热门歌单"}),f.jsx("div",{className:"playlists-grid",children:t.slice(0,6).map(a=>{var h;return f.jsxs("div",{className:"card playlist-card",onClick:()=>window.history.pushState({},"",`/playlists/${a.id}`),children:[f.jsx("img",{src:`https://picsum.photos/seed/playlist${a.id}/400/400`,alt:a.name}),f.jsxs("div",{className:"playlist-info",children:[f.jsx("h3",{children:a.name}),f.jsxs("p",{children:[((h=a.songs)==null?void 0:h.length)||0," 首歌曲"]})]})]},a.id)})})]})]})}const oc="http://localhost:8080",Vd=()=>localStorage.getItem("token"),ke=async(e,t={})=>{const n=Vd(),r={...t,headers:{"Content-Type":"application/json",...t.headers}};n&&(r.headers.Authorization=`Bearer ${n}`);try{const l=await fetch(`${oc}${e}`,r);if(!l.ok){const o=await l.json().catch(()=>({}));throw new Error(o.message||`HTTP error! status: ${l.status}`)}const i=l.headers.get("content-type");return i&&i.includes("application/json")?await l.json():null}catch(l){throw console.error("API Error:",l),l}},uc={login:async e=>ke("/api/auth/login",{method:"POST",body:JSON.stringify(e)}),register:async e=>ke("/api/auth/register",{method:"POST",body:JSON.stringify(e)}),getCurrentUser:async()=>ke("/api/auth/me")},Rn={getAll:async()=>ke("/api/playlists"),getById:async e=>ke(`/api/playlists/${e}`),create:async e=>ke("/api/playlists",{method:"POST",body:JSON.stringify(e)}),update:async(e,t)=>ke(`/api/playlists/${e}`,{method:"PUT",body:JSON.stringify(t)}),delete:async e=>ke(`/api/playlists/${e}`,{method:"DELETE"}),search:async e=>ke(`/api/playlists/search?keyword=${encodeURIComponent(e)}`),copy:async(e,t)=>ke(`/api/playlists/${e}/copy?newName=${encodeURIComponent(t)}`,{method:"POST"})},Ku={addToPlaylist:async(e,t)=>ke(`/api/playlists/${e}/songs`,{method:"POST",body:JSON.stringify(t)}),removeFromPlaylist:async(e,t)=>ke(`/api/playlists/${e}/songs/${t}`,{method:"DELETE"})};function Bd(){const{isAuthenticated:e}=tr(),[t,n]=L.useState([]),[r,l]=L.useState(!0),[i,o]=L.useState(null),[u,s]=L.useState(""),a=async()=>{try{l(!0);const C=[{id:1,name:"我的最爱",songs:[{id:1,title:"歌曲1",artist:"歌手1",duration:"3:45"},{id:2,title:"歌曲2",artist:"歌手2",duration:"4:12"},{id:3,title:"歌曲3",artist:"歌手3",duration:"3:58"}]},{id:2,name:"工作时听",songs:[{id:4,title:"轻松音乐1",artist:"艺术家A",duration:"5:20"},{id:5,title:"轻松音乐2",artist:"艺术家B",duration:"4:35"}]},{id:3,name:"运动节奏",songs:[{id:6,title:"动感音乐1",artist:"DJ X",duration:"3:15"},{id:7,title:"动感音乐2",artist:"DJ Y",duration:"2:58"},{id:8,title:"动感音乐3",artist:"DJ Z",duration:"3:42"}]}];await new Promise(p=>setTimeout(p,500)),n(C)}catch(C){o("无法加载歌单,请稍后再试"),console.error("Error fetching playlists:",C)}finally{l(!1)}},h=async()=>{if(!u.trim()){a();return}try{l(!0);const C=t.filter(p=>p.name.toLowerCase().includes(u.toLowerCase()));await new Promise(p=>setTimeout(p,500)),n(C)}catch(C){o("搜索失败,请稍后再试"),console.error("Error searching playlists:",C)}finally{l(!1)}},v=async C=>{if(window.confirm("确定要删除这个歌单吗?"))try{await Rn.delete(C),n(p=>p.filter(c=>c.id!==C))}catch(p){o("删除失败,请稍后再试"),console.error("Error deleting playlist:",p)}},m=()=>{const C=prompt("请输入新歌单名称:");C&&C.trim()&&g(C.trim())},g=async C=>{try{const p=await Rn.create({name:C});n(c=>[p,...c])}catch(p){o("创建歌单失败,请稍后再试"),console.error("Error creating playlist:",p)}},S=async(C,p)=>{const c=prompt("请输入复制后的歌单名称:",`${p} - 副本`);if(c&&c.trim())try{const d=await Rn.copy(C,c.trim());n(y=>[d,...y])}catch(d){o("复制歌单失败,请稍后再试"),console.error("Error copying playlist:",d)}};L.useEffect(()=>{a()},[]);const k=C=>{window.history.pushState({},"",`/playlists/${C}`);const p=new PopStateEvent("popstate");window.dispatchEvent(p)};return r?f.jsx("div",{className:"main-content",children:"加载中..."}):f.jsxs("div",{className:"main-content",children:[f.jsxs("div",{className:"page-header",children:[f.jsx("h1",{children:"我的歌单"}),e&&f.jsx("button",{className:"btn btn-primary",onClick:m,children:"创建歌单"})]}),f.jsxs("div",{className:"search-container",children:[f.jsx("input",{type:"text",placeholder:"搜索歌单...",value:u,onChange:C=>s(C.target.value)}),f.jsx("button",{className:"btn btn-primary",onClick:h,children:"搜索"})]}),i&&f.jsx("div",{className:"error-message",children:i}),f.jsx("div",{className:"playlists-container",children:t.length===0?f.jsxs("div",{className:"empty-state",children:[f.jsx("p",{children:"暂无歌单"}),e&&f.jsx("button",{className:"btn btn-primary",onClick:m,children:"创建第一个歌单"})]}):t.map(C=>{var p;return f.jsxs("div",{className:"playlist-item",children:[f.jsxs("div",{className:"playlist-info",children:[f.jsx("img",{src:`https://picsum.photos/seed/playlist${C.id}/100/100`,alt:C.name}),f.jsxs("div",{children:[f.jsx("h3",{onClick:()=>k(C.id),children:C.name}),f.jsxs("p",{children:[((p=C.songs)==null?void 0:p.length)||0," 首歌曲"]})]})]}),e&&f.jsxs("div",{className:"playlist-actions",children:[f.jsx("button",{className:"btn btn-secondary",onClick:()=>S(C.id,C.name),children:"复制"}),f.jsx("button",{className:"btn btn-danger",onClick:()=>v(C.id),children:"删除"})]})]},C.id)})})]})}function Hd({onPlaySong:e,playlistId:t}){var c;const{isAuthenticated:n}=tr(),[r,l]=L.useState(null),[i,o]=L.useState(!0),[u,s]=L.useState(null),[a,h]=L.useState({title:"",artist:"",genre:""}),[v,m]=L.useState(!1),g=async()=>{try{o(!0);const d=await Rn.getById(t);l(d)}catch(d){s("无法加载歌单详情,请稍后再试"),console.error("Error fetching playlist:",d)}finally{o(!1)}},S=async d=>{if(d.preventDefault(),!(!a.title||!a.artist))try{await Ku.addToPlaylist(t,a),g(),h({title:"",artist:"",genre:""}),m(!1)}catch(y){s("添加歌曲失败,请稍后再试"),console.error("Error adding song:",y)}},k=async d=>{if(window.confirm("确定要从歌单中移除这首歌曲吗?"))try{await Ku.removeFromPlaylist(t,d),g()}catch(y){s("移除歌曲失败,请稍后再试"),console.error("Error removing song:",y)}},C=()=>{const d=prompt("请输入新歌单名称:",r.name);d&&d.trim()&&d.trim()!==r.name&&p(d.trim())},p=async d=>{try{const y=await Rn.update(t,{name:d});l(y)}catch(y){s("更新歌单失败,请稍后再试"),console.error("Error updating playlist:",y)}};return L.useEffect(()=>{g()},[t]),i?f.jsx("div",{className:"main-content",children:"加载中..."}):u||!r?f.jsx("div",{className:"main-content",children:u||"歌单不存在"}):f.jsxs("div",{className:"main-content",children:[f.jsxs("div",{className:"playlist-header",children:[f.jsx("div",{className:"playlist-cover",children:f.jsx("img",{src:`https://picsum.photos/seed/playlist${r.id}/400/400`,alt:r.name})}),f.jsxs("div",{className:"playlist-meta",children:[f.jsx("h1",{children:r.name}),f.jsxs("p",{children:[((c=r.songs)==null?void 0:c.length)||0," 首歌曲"]}),n&&f.jsxs("div",{className:"playlist-actions",children:[f.jsx("button",{className:"btn btn-primary",onClick:C,children:"编辑信息"}),v?f.jsx("button",{className:"btn btn-secondary",onClick:()=>m(!1),children:"取消"}):f.jsx("button",{className:"btn btn-secondary",onClick:()=>m(!0),children:"添加歌曲"})]})]})]}),v&&n&&f.jsxs("div",{className:"add-song-form-container",children:[f.jsx("h2",{children:"添加歌曲"}),f.jsxs("form",{onSubmit:S,className:"add-song-form",children:[f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"title",children:"歌曲标题"}),f.jsx("input",{type:"text",id:"title",value:a.title,onChange:d=>h(y=>({...y,title:d.target.value})),required:!0})]}),f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"artist",children:"歌手"}),f.jsx("input",{type:"text",id:"artist",value:a.artist,onChange:d=>h(y=>({...y,artist:d.target.value})),required:!0})]}),f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"genre",children:"流派"}),f.jsx("input",{type:"text",id:"genre",value:a.genre,onChange:d=>h(y=>({...y,genre:d.target.value}))})]}),f.jsxs("div",{className:"form-actions",children:[f.jsx("button",{type:"submit",className:"btn btn-primary",children:"添加"}),f.jsx("button",{type:"button",className:"btn btn-secondary",onClick:()=>m(!1),children:"取消"})]})]})]}),f.jsxs("div",{className:"songs-container",children:[f.jsx("h2",{children:"歌曲列表"}),r.songs&&r.songs.length>0?f.jsxs("table",{className:"songs-table",children:[f.jsx("thead",{children:f.jsxs("tr",{children:[f.jsx("th",{children:"标题"}),f.jsx("th",{children:"歌手"}),f.jsx("th",{children:"流派"}),f.jsx("th",{children:"操作"})]})}),f.jsx("tbody",{children:r.songs.map((d,y)=>f.jsxs("tr",{children:[f.jsx("td",{children:f.jsxs("div",{className:"song-title",children:[f.jsx("button",{className:"play-btn-small",onClick:()=>e(d),children:"▶"}),d.title]})}),f.jsx("td",{children:d.artist}),f.jsx("td",{children:d.genre||"未知"}),f.jsx("td",{children:n&&f.jsx("button",{className:"btn btn-danger btn-small",onClick:()=>k(d.id),children:"删除"})})]},d.id))})]}):f.jsxs("div",{className:"empty-state",children:[f.jsx("p",{children:"歌单中还没有歌曲"}),n&&f.jsx("button",{className:"btn btn-primary",onClick:()=>m(!0),children:"添加第一首歌曲"})]})]})]})}function Wd({songId:e}){const t={id:e,title:"阴天快乐 (女声版)",artist:"彭宇Chloe",album:"阴天快乐",coverUrl:"https://picsum.photos/seed/song1/800/800",lyrics:["听阴天说什么","在昏暗中的我","想对着天讲 说无论如何","阴天快乐","叫阴天别闹了","想念你都那么久那么久了","我一抬头 就看见你","那个酒窝"],audioUrl:"https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3"},[n,r]=L.useState(t),[l,i]=L.useState(!0),[o,u]=L.useState(0),s=L.useRef(null),a=()=>{i(!l)};return L.useEffect(()=>{s.current&&(l?s.current.play().catch(h=>{console.error("播放失败:",h),i(!1)}):s.current.pause())},[l]),L.useEffect(()=>{let h;return l&&(h=setInterval(()=>{u(v=>(v+1)%n.lyrics.length)},3e3)),()=>clearInterval(h)},[l,n.lyrics.length]),f.jsxs("div",{className:"song-detail-page",children:[f.jsx("div",{className:"song-detail-header",children:f.jsx("button",{className:"back-btn",onClick:()=>window.history.back(),children:"←"})}),f.jsxs("div",{className:"song-detail-content",children:[f.jsx("div",{className:"album-cover-container",children:f.jsx("div",{className:"album-cover",children:f.jsx("img",{src:n.coverUrl,alt:`${n.title} - ${n.artist}`})})}),f.jsxs("div",{className:"song-info",children:[f.jsx("h1",{className:"song-title",children:n.title}),f.jsx("p",{className:"song-artist",children:n.artist})]}),f.jsx("div",{className:"lyrics-container",children:f.jsx("div",{className:"lyrics-scroll",children:n.lyrics.map((h,v)=>f.jsx("p",{className:`lyric-line ${v===o?"active":""}`,children:h},v))})}),f.jsxs("div",{className:"playback-controls",children:[f.jsx("button",{className:"control-btn",children:"⏮"}),f.jsx("button",{className:"play-btn-large",onClick:a,children:l?"⏸":"▶"}),f.jsx("button",{className:"control-btn",children:"⏭"})]}),f.jsxs("div",{className:"player-actions",children:[f.jsx("button",{className:"action-btn",children:"❤️"}),f.jsx("button",{className:"action-btn",children:"📋"})]})]}),f.jsx("audio",{ref:s,src:n.audioUrl,preload:"auto"})]})}function Qd(){const{onLogin:e}=tr(),[t,n]=L.useState({username:"",password:""}),[r,l]=L.useState(null),[i,o]=L.useState(!1),u=a=>{const{name:h,value:v}=a.target;n(m=>({...m,[h]:v}))},s=async a=>{a.preventDefault(),o(!0),l(null);try{const h=await uc.login(t);if(h.token){localStorage.setItem("user",JSON.stringify(h.user)),e(h.user,h.token),window.history.pushState({},"","/");const v=new PopStateEvent("popstate");window.dispatchEvent(v)}}catch(h){l(h.message||"登录失败,请检查您的用户名和密码"),console.error("Login error:",h)}finally{o(!1)}};return f.jsx("div",{className:"main-content auth-page",children:f.jsxs("div",{className:"auth-container",children:[f.jsx("h1",{children:"登录"}),r&&f.jsx("div",{className:"error-message",children:r}),f.jsxs("form",{onSubmit:s,className:"auth-form",children:[f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"username",children:"用户名"}),f.jsx("input",{type:"text",id:"username",name:"username",value:t.username,onChange:u,required:!0})]}),f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"password",children:"密码"}),f.jsx("input",{type:"password",id:"password",name:"password",value:t.password,onChange:u,required:!0})]}),f.jsx("button",{type:"submit",className:"btn btn-primary btn-block",disabled:i,children:i?"登录中...":"登录"})]}),f.jsx("div",{className:"auth-links",children:f.jsxs("p",{children:["还没有账号?",f.jsx("a",{href:"#",onClick:a=>{a.preventDefault(),window.history.pushState({},"","/register");const h=new PopStateEvent("popstate");window.dispatchEvent(h)},children:"立即注册"})]})})]})})}function Kd(){const{onLogin:e}=tr(),[t,n]=L.useState({username:"",email:"",password:""}),[r,l]=L.useState(null),[i,o]=L.useState(!1),[u,s]=L.useState(!1),a=v=>{const{name:m,value:g}=v.target;n(S=>({...S,[m]:g}))},h=async v=>{v.preventDefault(),o(!0),l(null),s(!1);try{const m=await uc.register(t);if(m.token){localStorage.setItem("user",JSON.stringify(m.user)),e(m.user,m.token),window.history.pushState({},"","/");const g=new PopStateEvent("popstate");window.dispatchEvent(g)}else s(!0),n({username:"",email:"",password:""})}catch(m){l(m.message||"注册失败,请稍后再试"),console.error("Registration error:",m)}finally{o(!1)}};return f.jsx("div",{className:"main-content auth-page",children:f.jsxs("div",{className:"auth-container",children:[f.jsx("h1",{children:"注册"}),r&&f.jsx("div",{className:"error-message",children:r}),u&&f.jsx("div",{className:"success-message",children:"注册成功!请登录。"}),f.jsxs("form",{onSubmit:h,className:"auth-form",children:[f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"username",children:"用户名"}),f.jsx("input",{type:"text",id:"username",name:"username",value:t.username,onChange:a,required:!0})]}),f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"email",children:"邮箱"}),f.jsx("input",{type:"email",id:"email",name:"email",value:t.email,onChange:a,required:!0})]}),f.jsxs("div",{className:"form-group",children:[f.jsx("label",{htmlFor:"password",children:"密码"}),f.jsx("input",{type:"password",id:"password",name:"password",value:t.password,onChange:a,required:!0,minLength:"6"})]}),f.jsx("button",{type:"submit",className:"btn btn-primary btn-block",disabled:i,children:i?"注册中...":"注册"})]}),f.jsx("div",{className:"auth-links",children:f.jsxs("p",{children:["已有账号?",f.jsx("a",{href:"#",onClick:v=>{v.preventDefault(),window.history.pushState({},"","/login");const m=new PopStateEvent("popstate");window.dispatchEvent(m)},children:"立即登录"})]})})]})})}function Yd(){const[e,t]=L.useState(null),[n,r]=L.useState(!1),[l,i]=L.useState(null),[o,u]=L.useState(!1);L.useEffect(()=>{const g=localStorage.getItem("token");g&&fetch(`${oc}/api/auth/me`,{headers:{Authorization:`Bearer ${g}`}}).then(S=>{if(S.ok)return S.json();throw new Error("Invalid token")}).then(S=>{t(S),r(!0)}).catch(S=>{localStorage.removeItem("token")})},[]);const s=(g,S)=>{t(g),r(!0),localStorage.setItem("token",S)},a=()=>{t(null),r(!1),localStorage.removeItem("token")},h=g=>{i(g),u(!0)},v=()=>{u(!o)},m=()=>{const g=window.location.pathname;if(g==="/login")return f.jsx(Qd,{onLogin:s});if(g==="/register")return f.jsx(Kd,{});if(g.startsWith("/playlists/")){const S=g.split("/")[2];return f.jsx(Hd,{playlistId:S,onPlaySong:h})}if(g.startsWith("/songs/")){const S=g.split("/")[2];return f.jsx(Wd,{songId:S})}return g==="/playlists"?f.jsx(Bd,{onPlaySong:h}):f.jsx($d,{onPlaySong:h})};return f.jsx(ic.Provider,{value:{currentUser:e,isAuthenticated:n,onLogin:s,onLogout:a},children:f.jsxs("div",{className:"app-container",children:[f.jsx(Ud,{}),f.jsx("main",{className:"main-content",children:m()}),l&&f.jsx(Ad,{song:l,isPlaying:o,onTogglePlay:v})]})})}Xl.createRoot(document.getElementById("root")).render(f.jsx(Cc.StrictMode,{children:f.jsx(Yd,{})}));