hfs 3.1.0-alpha3 → 3.1.0-beta4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,7 +29,7 @@ var dx=Object.defineProperty,px=Object.defineProperties;var fx=Object.getOwnProp
29
29
  `+le[we].replace(" at new "," at ");return M.displayName&&ze.includes("<anonymous>")&&(ze=ze.replace("<anonymous>",M.displayName)),ze}while(1<=we&&0<=Oe);break}}}finally{Ce=!1,Error.prepareStackTrace=F}return(M=M?M.displayName||M.name:"")?ye(M):""}function ve(M){switch(M.tag){case 5:return ye(M.type);case 16:return ye("Lazy");case 13:return ye("Suspense");case 19:return ye("SuspenseList");case 0:case 2:case 15:return M=Ee(M.type,!1),M;case 11:return M=Ee(M.type.render,!1),M;case 1:return M=Ee(M.type,!0),M;default:return""}}function Pe(M){if(M==null)return null;if(typeof M=="function")return M.displayName||M.name||null;if(typeof M=="string")return M;switch(M){case W:return"Fragment";case U:return"Portal";case Q:return"Profiler";case J:return"StrictMode";case ie:return"Suspense";case ee:return"SuspenseList"}if(typeof M=="object")switch(M.$$typeof){case Z:return(M.displayName||"Context")+".Consumer";case X:return(M._context.displayName||"Context")+".Provider";case oe:var P=M.render;return M=M.displayName,M||(M=P.displayName||P.name||"",M=M!==""?"ForwardRef("+M+")":"ForwardRef"),M;case re:return P=M.displayName||null,P!==null?P:Pe(M.type)||"Memo";case ce:P=M._payload,M=M._init;try{return Pe(M(P))}catch(F){}}return null}function Me(M){var P=M.type;switch(M.tag){case 24:return"Cache";case 9:return(P.displayName||"Context")+".Consumer";case 10:return(P._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return M=P.render,M=M.displayName||M.name||"",P.displayName||(M!==""?"ForwardRef("+M+")":"ForwardRef");case 7:return"Fragment";case 5:return P;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Pe(P);case 8:return P===J?"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 P=="function")return P.displayName||P.name||null;if(typeof P=="string")return P}return null}function Re(M){switch(typeof M){case"boolean":case"number":case"string":case"undefined":return M;case"object":return M;default:return""}}function De(M){var P=M.type;return(M=M.nodeName)&&M.toLowerCase()==="input"&&(P==="checkbox"||P==="radio")}function Ye(M){var P=De(M)?"checked":"value",F=Object.getOwnPropertyDescriptor(M.constructor.prototype,P),q=""+M[P];if(!M.hasOwnProperty(P)&&typeof F!="undefined"&&typeof F.get=="function"&&typeof F.set=="function"){var le=F.get,_e=F.set;return Object.defineProperty(M,P,{configurable:!0,get:function(){return le.call(this)},set:function(we){q=""+we,_e.call(this,we)}}),Object.defineProperty(M,P,{enumerable:F.enumerable}),{getValue:function(){return q},setValue:function(we){q=""+we},stopTracking:function(){M._valueTracker=null,delete M[P]}}}}function Le(M){M._valueTracker||(M._valueTracker=Ye(M))}function Ge(M){if(!M)return!1;var P=M._valueTracker;if(!P)return!0;var F=P.getValue(),q="";return M&&(q=De(M)?M.checked?"true":"false":M.value),M=q,M!==F?(P.setValue(M),!0):!1}function Ie(M){if(M=M||(typeof document!="undefined"?document:void 0),typeof M=="undefined")return null;try{return M.activeElement||M.body}catch(P){return M.body}}function Be(M,P){var F=P.checked;return pe({},P,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:F!=null?F:M._wrapperState.initialChecked})}function He(M,P){var F=P.defaultValue==null?"":P.defaultValue,q=P.checked!=null?P.checked:P.defaultChecked;F=Re(P.value!=null?P.value:F),M._wrapperState={initialChecked:q,initialValue:F,controlled:P.type==="checkbox"||P.type==="radio"?P.checked!=null:P.value!=null}}function Ve(M,P){P=P.checked,P!=null&&B(M,"checked",P,!1)}function rt(M,P){Ve(M,P);var F=Re(P.value),q=P.type;if(F!=null)q==="number"?(F===0&&M.value===""||M.value!=F)&&(M.value=""+F):M.value!==""+F&&(M.value=""+F);else if(q==="submit"||q==="reset"){M.removeAttribute("value");return}P.hasOwnProperty("value")?ot(M,P.type,F):P.hasOwnProperty("defaultValue")&&ot(M,P.type,Re(P.defaultValue)),P.checked==null&&P.defaultChecked!=null&&(M.defaultChecked=!!P.defaultChecked)}function Fe(M,P,F){if(P.hasOwnProperty("value")||P.hasOwnProperty("defaultValue")){var q=P.type;if(!(q!=="submit"&&q!=="reset"||P.value!==void 0&&P.value!==null))return;P=""+M._wrapperState.initialValue,F||P===M.value||(M.value=P),M.defaultValue=P}F=M.name,F!==""&&(M.name=""),M.defaultChecked=!!M._wrapperState.initialChecked,F!==""&&(M.name=F)}function ot(M,P,F){(P!=="number"||Ie(M.ownerDocument)!==M)&&(F==null?M.defaultValue=""+M._wrapperState.initialValue:M.defaultValue!==""+F&&(M.defaultValue=""+F))}var ke=Array.isArray;function je(M,P,F,q){if(M=M.options,P){P={};for(var le=0;le<F.length;le++)P["$"+F[le]]=!0;for(F=0;F<M.length;F++)le=P.hasOwnProperty("$"+M[F].value),M[F].selected!==le&&(M[F].selected=le),le&&q&&(M[F].defaultSelected=!0)}else{for(F=""+Re(F),P=null,le=0;le<M.length;le++){if(M[le].value===F){M[le].selected=!0,q&&(M[le].defaultSelected=!0);return}P!==null||M[le].disabled||(P=M[le])}P!==null&&(P.selected=!0)}}function Ke(M,P){if(P.dangerouslySetInnerHTML!=null)throw Error(g(91));return pe({},P,{value:void 0,defaultValue:void 0,children:""+M._wrapperState.initialValue})}function Xe(M,P){var F=P.value;if(F==null){if(F=P.children,P=P.defaultValue,F!=null){if(P!=null)throw Error(g(92));if(ke(F)){if(1<F.length)throw Error(g(93));F=F[0]}P=F}P==null&&(P=""),F=P}M._wrapperState={initialValue:Re(F)}}function st(M,P){var F=Re(P.value),q=Re(P.defaultValue);F!=null&&(F=""+F,F!==M.value&&(M.value=F),P.defaultValue==null&&M.defaultValue!==F&&(M.defaultValue=F)),q!=null&&(M.defaultValue=""+q)}function yt(M){var P=M.textContent;P===M._wrapperState.initialValue&&P!==""&&P!==null&&(M.value=P)}function Je(M){switch(M){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function gt(M,P){return M==null||M==="http://www.w3.org/1999/xhtml"?Je(P):M==="http://www.w3.org/2000/svg"&&P==="foreignObject"?"http://www.w3.org/1999/xhtml":M}var St,dt=function(M){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(P,F,q,le){MSApp.execUnsafeLocalFunction(function(){return M(P,F,q,le)})}:M}(function(M,P){if(M.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in M)M.innerHTML=P;else{for(St=St||document.createElement("div"),St.innerHTML="<svg>"+P.valueOf().toString()+"</svg>",P=St.firstChild;M.firstChild;)M.removeChild(M.firstChild);for(;P.firstChild;)M.appendChild(P.firstChild)}});function jt(M,P){if(P){var F=M.firstChild;if(F&&F===M.lastChild&&F.nodeType===3){F.nodeValue=P;return}}M.textContent=P}var Wt={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},Xt=["Webkit","ms","Moz","O"];Object.keys(Wt).forEach(function(M){Xt.forEach(function(P){P=P+M.charAt(0).toUpperCase()+M.substring(1),Wt[P]=Wt[M]})});function Pt(M,P,F){return P==null||typeof P=="boolean"||P===""?"":F||typeof P!="number"||P===0||Wt.hasOwnProperty(M)&&Wt[M]?(""+P).trim():P+"px"}function Gt(M,P){M=M.style;for(var F in P)if(P.hasOwnProperty(F)){var q=F.indexOf("--")===0,le=Pt(F,P[F],q);F==="float"&&(F="cssFloat"),q?M.setProperty(F,le):M[F]=le}}var Ct=pe({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 Lt(M,P){if(P){if(Ct[M]&&(P.children!=null||P.dangerouslySetInnerHTML!=null))throw Error(g(137,M));if(P.dangerouslySetInnerHTML!=null){if(P.children!=null)throw Error(g(60));if(typeof P.dangerouslySetInnerHTML!="object"||!("__html"in P.dangerouslySetInnerHTML))throw Error(g(61))}if(P.style!=null&&typeof P.style!="object")throw Error(g(62))}}function Kt(M,P){if(M.indexOf("-")===-1)return typeof P.is=="string";switch(M){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 Zt=null;function lr(M){return M=M.target||M.srcElement||window,M.correspondingUseElement&&(M=M.correspondingUseElement),M.nodeType===3?M.parentNode:M}var vr=null,Jt=null,rr=null;function Or(M){if(M=In(M)){if(typeof vr!="function")throw Error(g(280));var P=M.stateNode;P&&(P=ac(P),vr(M.stateNode,M.type,P))}}function xr(M){Jt?rr?rr.push(M):rr=[M]:Jt=M}function qr(){if(Jt){var M=Jt,P=rr;if(rr=Jt=null,Or(M),P)for(M=0;M<P.length;M++)Or(P[M])}}function yn(M,P){return M(P)}function Qr(){}var Fo=!1;function Pn(M,P,F){if(Fo)return M(P,F);Fo=!0;try{return yn(M,P,F)}finally{Fo=!1,(Jt!==null||rr!==null)&&(Qr(),qr())}}function Fr(M,P){var F=M.stateNode;if(F===null)return null;var q=ac(F);if(q===null)return null;F=q[P];e:switch(P){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(q=!q.disabled)||(M=M.type,q=!(M==="button"||M==="input"||M==="select"||M==="textarea")),M=!q;break e;default:M=!1}if(M)return null;if(F&&typeof F!="function")throw Error(g(231,P,typeof F));return F}var wr=!1;if(C)try{var zr={};Object.defineProperty(zr,"passive",{get:function(){wr=!0}}),window.addEventListener("test",zr,zr),window.removeEventListener("test",zr,zr)}catch(M){wr=!1}function sn(M,P,F,q,le,_e,we,Oe,ze){var ct=Array.prototype.slice.call(arguments,3);try{P.apply(F,ct)}catch(Mt){this.onError(Mt)}}var vn=!1,Wn=null,En=!1,xo=null,Zo={onError:function(M){vn=!0,Wn=M}};function _o(M,P,F,q,le,_e,we,Oe,ze){vn=!1,Wn=null,sn.apply(Zo,arguments)}function No(M,P,F,q,le,_e,we,Oe,ze){if(_o.apply(this,arguments),vn){if(vn){var ct=Wn;vn=!1,Wn=null}else throw Error(g(198));En||(En=!0,xo=ct)}}function ut(M){var P=M,F=M;if(M.alternate)for(;P.return;)P=P.return;else{M=P;do P=M,(P.flags&4098)!==0&&(F=P.return),M=P.return;while(M)}return P.tag===3?F:null}function tt(M){if(M.tag===13){var P=M.memoizedState;if(P===null&&(M=M.alternate,M!==null&&(P=M.memoizedState)),P!==null)return P.dehydrated}return null}function It(M){if(ut(M)!==M)throw Error(g(188))}function Ut(M){var P=M.alternate;if(!P){if(P=ut(M),P===null)throw Error(g(188));return P!==M?null:M}for(var F=M,q=P;;){var le=F.return;if(le===null)break;var _e=le.alternate;if(_e===null){if(q=le.return,q!==null){F=q;continue}break}if(le.child===_e.child){for(_e=le.child;_e;){if(_e===F)return It(le),M;if(_e===q)return It(le),P;_e=_e.sibling}throw Error(g(188))}if(F.return!==q.return)F=le,q=_e;else{for(var we=!1,Oe=le.child;Oe;){if(Oe===F){we=!0,F=le,q=_e;break}if(Oe===q){we=!0,q=le,F=_e;break}Oe=Oe.sibling}if(!we){for(Oe=_e.child;Oe;){if(Oe===F){we=!0,F=_e,q=le;break}if(Oe===q){we=!0,q=_e,F=le;break}Oe=Oe.sibling}if(!we)throw Error(g(189))}}if(F.alternate!==q)throw Error(g(190))}if(F.tag!==3)throw Error(g(188));return F.stateNode.current===F?M:P}function dr(M){return M=Ut(M),M!==null?Yt(M):null}function Yt(M){if(M.tag===5||M.tag===6)return M;for(M=M.child;M!==null;){var P=Yt(M);if(P!==null)return P;M=M.sibling}return null}var Er=m.unstable_scheduleCallback,so=m.unstable_cancelCallback,pi=m.unstable_shouldYield,of=m.unstable_requestPaint,Gr=m.unstable_now,sf=m.unstable_getCurrentPriorityLevel,iu=m.unstable_ImmediatePriority,Ld=m.unstable_UserBlockingPriority,Aa=m.unstable_NormalPriority,Dd=m.unstable_LowPriority,au=m.unstable_IdlePriority,Dl=null,ts=null;function lf(M){if(ts&&typeof ts.onCommitFiberRoot=="function")try{ts.onCommitFiberRoot(Dl,M,void 0,(M.current.flags&128)===128)}catch(P){}}var jo=Math.clz32?Math.clz32:Fd,Ad=Math.log,Od=Math.LN2;function Fd(M){return M>>>=0,M===0?32:31-(Ad(M)/Od|0)|0}var Vi=64,Al=4194304;function Wi(M){switch(M&-M){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 M&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return M&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return M}}function gi(M,P){var F=M.pendingLanes;if(F===0)return 0;var q=0,le=M.suspendedLanes,_e=M.pingedLanes,we=F&268435455;if(we!==0){var Oe=we&~le;Oe!==0?q=Wi(Oe):(_e&=we,_e!==0&&(q=Wi(_e)))}else we=F&~le,we!==0?q=Wi(we):_e!==0&&(q=Wi(_e));if(q===0)return 0;if(P!==0&&P!==q&&(P&le)===0&&(le=q&-q,_e=P&-P,le>=_e||le===16&&(_e&4194240)!==0))return P;if((q&4)!==0&&(q|=F&16),P=M.entangledLanes,P!==0)for(M=M.entanglements,P&=q;0<P;)F=31-jo(P),le=1<<F,q|=M[F],P&=~le;return q}function Nd(M,P){switch(M){case 1:case 2:case 4:return P+250;case 8:case 16:case 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 P+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function cf(M,P){for(var F=M.suspendedLanes,q=M.pingedLanes,le=M.expirationTimes,_e=M.pendingLanes;0<_e;){var we=31-jo(_e),Oe=1<<we,ze=le[we];ze===-1?((Oe&F)===0||(Oe&q)!==0)&&(le[we]=Nd(Oe,P)):ze<=P&&(M.expiredLanes|=Oe),_e&=~Oe}}function Ol(M){return M=M.pendingLanes&-1073741825,M!==0?M:M&1073741824?1073741824:0}function lu(){var M=Vi;return Vi<<=1,(Vi&4194240)===0&&(Vi=64),M}function Oa(M){for(var P=[],F=0;31>F;F++)P.push(M);return P}function Fa(M,P,F){M.pendingLanes|=P,P!==536870912&&(M.suspendedLanes=0,M.pingedLanes=0),M=M.eventTimes,P=31-jo(P),M[P]=F}function jd(M,P){var F=M.pendingLanes&~P;M.pendingLanes=P,M.suspendedLanes=0,M.pingedLanes=0,M.expiredLanes&=P,M.mutableReadLanes&=P,M.entangledLanes&=P,P=M.entanglements;var q=M.eventTimes;for(M=M.expirationTimes;0<F;){var le=31-jo(F),_e=1<<le;P[le]=0,q[le]=-1,M[le]=-1,F&=~_e}}function Na(M,P){var F=M.entangledLanes|=P;for(M=M.entanglements;F;){var q=31-jo(F),le=1<<q;le&P|M[q]&P&&(M[q]|=P),F&=~le}}var kr=0;function xi(M){return M&=-M,1<M?4<M?(M&268435455)!==0?16:536870912:4:1}var cu,Fl,Hd,uu,du,Nl=!1,Ha=[],Hs=null,Ys=null,Bs=null,qi=new Map,Ya=new Map,zs=[],uf="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Yd(M,P){switch(M){case"focusin":case"focusout":Hs=null;break;case"dragenter":case"dragleave":Ys=null;break;case"mouseover":case"mouseout":Bs=null;break;case"pointerover":case"pointerout":qi.delete(P.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ya.delete(P.pointerId)}}function _i(M,P,F,q,le,_e){return M===null||M.nativeEvent!==_e?(M={blockedOn:P,domEventName:F,eventSystemFlags:q,nativeEvent:_e,targetContainers:[le]},P!==null&&(P=In(P),P!==null&&Fl(P)),M):(M.eventSystemFlags|=q,P=M.targetContainers,le!==null&&P.indexOf(le)===-1&&P.push(le),M)}function df(M,P,F,q,le){switch(P){case"focusin":return Hs=_i(Hs,M,P,F,q,le),!0;case"dragenter":return Ys=_i(Ys,M,P,F,q,le),!0;case"mouseover":return Bs=_i(Bs,M,P,F,q,le),!0;case"pointerover":var _e=le.pointerId;return qi.set(_e,_i(qi.get(_e)||null,M,P,F,q,le)),!0;case"gotpointercapture":return _e=le.pointerId,Ya.set(_e,_i(Ya.get(_e)||null,M,P,F,q,le)),!0}return!1}function Bd(M){var P=as(M.target);if(P!==null){var F=ut(P);if(F!==null){if(P=F.tag,P===13){if(P=tt(F),P!==null){M.blockedOn=P,du(M.priority,function(){Hd(F)});return}}else if(P===3&&F.stateNode.current.memoizedState.isDehydrated){M.blockedOn=F.tag===3?F.stateNode.containerInfo:null;return}}}M.blockedOn=null}function jl(M){if(M.blockedOn!==null)return!1;for(var P=M.targetContainers;0<P.length;){var F=Bl(M.domEventName,M.eventSystemFlags,P[0],M.nativeEvent);if(F===null){F=M.nativeEvent;var q=new F.constructor(F.type,F);Zt=q,F.target.dispatchEvent(q),Zt=null}else return P=In(F),P!==null&&Fl(P),M.blockedOn=F,!1;P.shift()}return!0}function zd(M,P,F){jl(M)&&F.delete(P)}function pf(){Nl=!1,Hs!==null&&jl(Hs)&&(Hs=null),Ys!==null&&jl(Ys)&&(Ys=null),Bs!==null&&jl(Bs)&&(Bs=null),qi.forEach(zd),Ya.forEach(zd)}function Lr(M,P){M.blockedOn===P&&(M.blockedOn=null,Nl||(Nl=!0,m.unstable_scheduleCallback(m.unstable_NormalPriority,pf)))}function Ir(M){function P(le){return Lr(le,M)}if(0<Ha.length){Lr(Ha[0],M);for(var F=1;F<Ha.length;F++){var q=Ha[F];q.blockedOn===M&&(q.blockedOn=null)}}for(Hs!==null&&Lr(Hs,M),Ys!==null&&Lr(Ys,M),Bs!==null&&Lr(Bs,M),qi.forEach(P),Ya.forEach(P),F=0;F<zs.length;F++)q=zs[F],q.blockedOn===M&&(q.blockedOn=null);for(;0<zs.length&&(F=zs[0],F.blockedOn===null);)Bd(F),F.blockedOn===null&&zs.shift()}var Ki=z.ReactCurrentBatchConfig,Hl=!0;function ff(M,P,F,q){var le=kr,_e=Ki.transition;Ki.transition=null;try{kr=1,pu(M,P,F,q)}finally{kr=le,Ki.transition=_e}}function mf(M,P,F,q){var le=kr,_e=Ki.transition;Ki.transition=null;try{kr=4,pu(M,P,F,q)}finally{kr=le,Ki.transition=_e}}function pu(M,P,F,q){if(Hl){var le=Bl(M,P,F,q);if(le===null)Iu(M,P,q,Yl,F),Yd(M,q);else if(df(le,M,P,F,q))q.stopPropagation();else if(Yd(M,q),P&4&&-1<uf.indexOf(M)){for(;le!==null;){var _e=In(le);if(_e!==null&&cu(_e),_e=Bl(M,P,F,q),_e===null&&Iu(M,P,q,Yl,F),_e===le)break;le=_e}le!==null&&q.stopPropagation()}else Iu(M,P,q,null,F)}}var Yl=null;function Bl(M,P,F,q){if(Yl=null,M=lr(q),M=as(M),M!==null)if(P=ut(M),P===null)M=null;else if(F=P.tag,F===13){if(M=tt(P),M!==null)return M;M=null}else if(F===3){if(P.stateNode.current.memoizedState.isDehydrated)return P.tag===3?P.stateNode.containerInfo:null;M=null}else P!==M&&(M=null);return Yl=M,null}function Gd(M){switch(M){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(sf()){case iu:return 1;case Ld:return 4;case Aa:case Dd:return 16;case au:return 536870912;default:return 16}default:return 16}}var Ur=null,Ba=null,rs=null;function fu(){if(rs)return rs;var M,P=Ba,F=P.length,q,le="value"in Ur?Ur.value:Ur.textContent,_e=le.length;for(M=0;M<F&&P[M]===le[M];M++);var we=F-M;for(q=1;q<=we&&P[F-q]===le[_e-q];q++);return rs=le.slice(M,1<q?1-q:void 0)}function Ji(M){var P=M.keyCode;return"charCode"in M?(M=M.charCode,M===0&&P===13&&(M=13)):M=P,M===10&&(M=13),32<=M||M===13?M:0}function jn(){return!0}function mu(){return!1}function qn(M){function P(F,q,le,_e,we){this._reactName=F,this._targetInst=le,this.type=q,this.nativeEvent=_e,this.target=we,this.currentTarget=null;for(var Oe in M)M.hasOwnProperty(Oe)&&(F=M[Oe],this[Oe]=F?F(_e):_e[Oe]);return this.isDefaultPrevented=(_e.defaultPrevented!=null?_e.defaultPrevented:_e.returnValue===!1)?jn:mu,this.isPropagationStopped=mu,this}return pe(P.prototype,{preventDefault:function(){this.defaultPrevented=!0;var F=this.nativeEvent;F&&(F.preventDefault?F.preventDefault():typeof F.returnValue!="unknown"&&(F.returnValue=!1),this.isDefaultPrevented=jn)},stopPropagation:function(){var F=this.nativeEvent;F&&(F.stopPropagation?F.stopPropagation():typeof F.cancelBubble!="unknown"&&(F.cancelBubble=!0),this.isPropagationStopped=jn)},persist:function(){},isPersistent:jn}),P}var yi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(M){return M.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},zl=qn(yi),Qi=pe({},yi,{view:0,detail:0}),Ud=qn(Qi),Hn,xu,$n,Gl=pe({},Qi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Eu,button:0,buttons:0,relatedTarget:function(M){return M.relatedTarget===void 0?M.fromElement===M.srcElement?M.toElement:M.fromElement:M.relatedTarget},movementX:function(M){return"movementX"in M?M.movementX:(M!==$n&&($n&&M.type==="mousemove"?(Hn=M.screenX-$n.screenX,xu=M.screenY-$n.screenY):xu=Hn=0,$n=M),Hn)},movementY:function(M){return"movementY"in M?M.movementY:xu}}),_u=qn(Gl),Gs=pe({},Gl,{dataTransfer:0}),Ul=qn(Gs),yu=pe({},Qi,{relatedTarget:0}),Nr=qn(yu),Us=pe({},yi,{animationName:0,elapsedTime:0,pseudoElement:0}),vu=qn(Us),hf=pe({},yi,{clipboardData:function(M){return"clipboardData"in M?M.clipboardData:window.clipboardData}}),bu=qn(hf),gf=pe({},yi,{data:0}),Vd=qn(gf),xf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Wd={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Vl={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Xi(M){var P=this.nativeEvent;return P.getModifierState?P.getModifierState(M):(M=Vl[M])?!!P[M]:!1}function Eu(){return Xi}var qd=pe({},Qi,{key:function(M){if(M.key){var P=xf[M.key]||M.key;if(P!=="Unidentified")return P}return M.type==="keypress"?(M=Ji(M),M===13?"Enter":String.fromCharCode(M)):M.type==="keydown"||M.type==="keyup"?Wd[M.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Eu,charCode:function(M){return M.type==="keypress"?Ji(M):0},keyCode:function(M){return M.type==="keydown"||M.type==="keyup"?M.keyCode:0},which:function(M){return M.type==="keypress"?Ji(M):M.type==="keydown"||M.type==="keyup"?M.keyCode:0}}),Kd=qn(qd),Cu=pe({},Gl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Wl=qn(Cu),Jd=pe({},Qi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Eu}),_f=qn(Jd),Su=pe({},yi,{propertyName:0,elapsedTime:0,pseudoElement:0}),wu=qn(Su),yf=pe({},Gl,{deltaX:function(M){return"deltaX"in M?M.deltaX:"wheelDeltaX"in M?-M.wheelDeltaX:0},deltaY:function(M){return"deltaY"in M?M.deltaY:"wheelDeltaY"in M?-M.wheelDeltaY:"wheelDelta"in M?-M.wheelDelta:0},deltaZ:0,deltaMode:0}),Qd=qn(yf),io=[9,13,27,32],za=C&&"CompositionEvent"in window,Cs=null;C&&"documentMode"in document&&(Cs=document.documentMode);var Xd=C&&"TextEvent"in window&&!Cs,Mu=C&&(!za||Cs&&8<Cs&&11>=Cs),Zd=" ",ep=!1;function tp(M,P){switch(M){case"keyup":return io.indexOf(P.keyCode)!==-1;case"keydown":return P.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function rp(M){return M=M.detail,typeof M=="object"&&"data"in M?M.data:null}var Zi=!1;function ea(M,P){switch(M){case"compositionend":return rp(P);case"keypress":return P.which!==32?null:(ep=!0,Zd);case"textInput":return M=P.data,M===Zd&&ep?null:M;default:return null}}function vf(M,P){if(Zi)return M==="compositionend"||!za&&tp(M,P)?(M=fu(),rs=Ba=Ur=null,Zi=!1,M):null;switch(M){case"paste":return null;case"keypress":if(!(P.ctrlKey||P.altKey||P.metaKey)||P.ctrlKey&&P.altKey){if(P.char&&1<P.char.length)return P.char;if(P.which)return String.fromCharCode(P.which)}return null;case"compositionend":return Mu&&P.locale!=="ko"?null:P.data;default:return null}}var bf={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ql(M){var P=M&&M.nodeName&&M.nodeName.toLowerCase();return P==="input"?!!bf[M.type]:P==="textarea"}function Tu(M,P,F,q){xr(q),P=nc(P,"onChange"),0<P.length&&(F=new zl("onChange","change",null,F,q),M.push({event:F,listeners:P}))}var vo=null,Vs=null;function Ef(M){cp(M,0)}function Kl(M){var P=pr(M);if(Ge(P))return M}function Cf(M,P){if(M==="change")return P}var Ei=!1;if(C){var ao;if(C){var Jl="oninput"in document;if(!Jl){var np=document.createElement("div");np.setAttribute("oninput","return;"),Jl=typeof np.oninput=="function"}ao=Jl}else ao=!1;Ei=ao&&(!document.documentMode||9<document.documentMode)}function op(){vo&&(vo.detachEvent("onpropertychange",sp),Vs=vo=null)}function sp(M){if(M.propertyName==="value"&&Kl(Vs)){var P=[];Tu(P,Vs,M,lr(M)),Pn(Ef,P)}}function Sf(M,P,F){M==="focusin"?(op(),vo=P,Vs=F,vo.attachEvent("onpropertychange",sp)):M==="focusout"&&op()}function wf(M){if(M==="selectionchange"||M==="keyup"||M==="keydown")return Kl(Vs)}function ra(M,P){if(M==="click")return Kl(P)}function qe(M,P){if(M==="input"||M==="change")return Kl(P)}function ft(M,P){return M===P&&(M!==0||1/M===1/P)||M!==M&&P!==P}var at=typeof Object.is=="function"?Object.is:ft;function At(M,P){if(at(M,P))return!0;if(typeof M!="object"||M===null||typeof P!="object"||P===null)return!1;var F=Object.keys(M),q=Object.keys(P);if(F.length!==q.length)return!1;for(q=0;q<F.length;q++){var le=F[q];if(!S.call(P,le)||!at(M[le],P[le]))return!1}return!0}function cr(M){for(;M&&M.firstChild;)M=M.firstChild;return M}function $r(M,P){var F=cr(M);M=0;for(var q;F;){if(F.nodeType===3){if(q=M+F.textContent.length,M<=P&&q>=P)return{node:F,offset:P-M};M=q}e:{for(;F;){if(F.nextSibling){F=F.nextSibling;break e}F=F.parentNode}F=void 0}F=cr(F)}}function an(M,P){return M&&P?M===P?!0:M&&M.nodeType===3?!1:P&&P.nodeType===3?an(M,P.parentNode):"contains"in M?M.contains(P):M.compareDocumentPosition?!!(M.compareDocumentPosition(P)&16):!1:!1}function Dr(){for(var M=window,P=Ie();P instanceof M.HTMLIFrameElement;){try{var F=typeof P.contentWindow.location.href=="string"}catch(q){F=!1}if(F)M=P.contentWindow;else break;P=Ie(M.document)}return P}function Ga(M){var P=M&&M.nodeName&&M.nodeName.toLowerCase();return P&&(P==="input"&&(M.type==="text"||M.type==="search"||M.type==="tel"||M.type==="url"||M.type==="password")||P==="textarea"||M.contentEditable==="true")}function Mf(M){var P=Dr(),F=M.focusedElem,q=M.selectionRange;if(P!==F&&F&&F.ownerDocument&&an(F.ownerDocument.documentElement,F)){if(q!==null&&Ga(F)){if(P=q.start,M=q.end,M===void 0&&(M=P),"selectionStart"in F)F.selectionStart=P,F.selectionEnd=Math.min(M,F.value.length);else if(M=(P=F.ownerDocument||document)&&P.defaultView||window,M.getSelection){M=M.getSelection();var le=F.textContent.length,_e=Math.min(q.start,le);q=q.end===void 0?_e:Math.min(q.end,le),!M.extend&&_e>q&&(le=q,q=_e,_e=le),le=$r(F,_e);var we=$r(F,q);le&&we&&(M.rangeCount!==1||M.anchorNode!==le.node||M.anchorOffset!==le.offset||M.focusNode!==we.node||M.focusOffset!==we.offset)&&(P=P.createRange(),P.setStart(le.node,le.offset),M.removeAllRanges(),_e>q?(M.addRange(P),M.extend(we.node,we.offset)):(P.setEnd(we.node,we.offset),M.addRange(P)))}}for(P=[],M=F;M=M.parentNode;)M.nodeType===1&&P.push({element:M,left:M.scrollLeft,top:M.scrollTop});for(typeof F.focus=="function"&&F.focus(),F=0;F<P.length;F++)M=P[F],M.element.scrollLeft=M.left,M.element.scrollTop=M.top}}var Eo=C&&"documentMode"in document&&11>=document.documentMode,Ss=null,Pu=null,ns=null,na=!1;function Ua(M,P,F){var q=F.window===F?F.document:F.nodeType===9?F:F.ownerDocument;na||Ss==null||Ss!==Ie(q)||(q=Ss,"selectionStart"in q&&Ga(q)?q={start:q.selectionStart,end:q.selectionEnd}:(q=(q.ownerDocument&&q.ownerDocument.defaultView||window).getSelection(),q={anchorNode:q.anchorNode,anchorOffset:q.anchorOffset,focusNode:q.focusNode,focusOffset:q.focusOffset}),ns&&At(ns,q)||(ns=q,q=nc(Pu,"onSelect"),0<q.length&&(P=new zl("onSelect","select",null,P,F),M.push({event:P,listeners:q}),P.target=Ss)))}function Mr(M,P){var F={};return F[M.toLowerCase()]=P.toLowerCase(),F["Webkit"+M]="webkit"+P,F["Moz"+M]="moz"+P,F}var oa={animationend:Mr("Animation","AnimationEnd"),animationiteration:Mr("Animation","AnimationIteration"),animationstart:Mr("Animation","AnimationStart"),transitionend:Mr("Transition","TransitionEnd")},Ql={},Va={};C&&(Va=document.createElement("div").style,"AnimationEvent"in window||(delete oa.animationend.animation,delete oa.animationiteration.animation,delete oa.animationstart.animation),"TransitionEvent"in window||delete oa.transitionend.transition);function Xl(M){if(Ql[M])return Ql[M];if(!oa[M])return M;var P=oa[M],F;for(F in P)if(P.hasOwnProperty(F)&&F in Va)return Ql[M]=P[F];return M}var ip=Xl("animationend"),ap=Xl("animationiteration"),Wa=Xl("animationstart"),ws=Xl("transitionend"),qa=new Map,$u="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ho(M,P){qa.set(M,P),E(P,[M])}for(var Zl=0;Zl<$u.length;Zl++){var ec=$u[Zl],tc=ec.toLowerCase(),lp=ec[0].toUpperCase()+ec.slice(1);Ho(tc,"on"+lp)}Ho(ip,"onAnimationEnd"),Ho(ap,"onAnimationIteration"),Ho(Wa,"onAnimationStart"),Ho("dblclick","onDoubleClick"),Ho("focusin","onFocus"),Ho("focusout","onBlur"),Ho(ws,"onTransitionEnd"),v("onMouseEnter",["mouseout","mouseover"]),v("onMouseLeave",["mouseout","mouseover"]),v("onPointerEnter",["pointerout","pointerover"]),v("onPointerLeave",["pointerout","pointerover"]),E("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),E("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),E("onBeforeInput",["compositionend","keypress","textInput","paste"]),E("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),E("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),E("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ms="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ci=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ms));function Ka(M,P,F){var q=M.type||"unknown-event";M.currentTarget=F,No(q,P,void 0,M),M.currentTarget=null}function cp(M,P){P=(P&4)!==0;for(var F=0;F<M.length;F++){var q=M[F],le=q.event;q=q.listeners;e:{var _e=void 0;if(P)for(var we=q.length-1;0<=we;we--){var Oe=q[we],ze=Oe.instance,ct=Oe.currentTarget;if(Oe=Oe.listener,ze!==_e&&le.isPropagationStopped())break e;Ka(le,Oe,ct),_e=ze}else for(we=0;we<q.length;we++){if(Oe=q[we],ze=Oe.instance,ct=Oe.currentTarget,Oe=Oe.listener,ze!==_e&&le.isPropagationStopped())break e;Ka(le,Oe,ct),_e=ze}}}if(En)throw M=xo,En=!1,xo=null,M}function Hr(M,P){var F=P[ic];F===void 0&&(F=P[ic]=new Set);var q=M+"__bubble";F.has(q)||(rc(P,M,2,!1),F.add(q))}function Ru(M,P,F){var q=0;P&&(q|=4),rc(F,M,q,P)}var Si="_reactListening"+Math.random().toString(36).slice(2);function Ws(M){if(!M[Si]){M[Si]=!0,x.forEach(function(F){F!=="selectionchange"&&(Ci.has(F)||Ru(F,!1,M),Ru(F,!0,M))});var P=M.nodeType===9?M:M.ownerDocument;P===null||P[Si]||(P[Si]=!0,Ru("selectionchange",!1,P))}}function rc(M,P,F,q){switch(Gd(P)){case 1:var le=ff;break;case 4:le=mf;break;default:le=pu}F=le.bind(null,P,F,M),le=void 0,!wr||P!=="touchstart"&&P!=="touchmove"&&P!=="wheel"||(le=!0),q?le!==void 0?M.addEventListener(P,F,{capture:!0,passive:le}):M.addEventListener(P,F,!0):le!==void 0?M.addEventListener(P,F,{passive:le}):M.addEventListener(P,F,!1)}function Iu(M,P,F,q,le){var _e=q;if((P&1)===0&&(P&2)===0&&q!==null)e:for(;;){if(q===null)return;var we=q.tag;if(we===3||we===4){var Oe=q.stateNode.containerInfo;if(Oe===le||Oe.nodeType===8&&Oe.parentNode===le)break;if(we===4)for(we=q.return;we!==null;){var ze=we.tag;if((ze===3||ze===4)&&(ze=we.stateNode.containerInfo,ze===le||ze.nodeType===8&&ze.parentNode===le))return;we=we.return}for(;Oe!==null;){if(we=as(Oe),we===null)return;if(ze=we.tag,ze===5||ze===6){q=_e=we;continue e}Oe=Oe.parentNode}}q=q.return}Pn(function(){var ct=_e,Mt=lr(F),Rt=[];e:{var wt=qa.get(M);if(wt!==void 0){var Ot=zl,Nt=M;switch(M){case"keypress":if(Ji(F)===0)break e;case"keydown":case"keyup":Ot=Kd;break;case"focusin":Nt="focus",Ot=Nr;break;case"focusout":Nt="blur",Ot=Nr;break;case"beforeblur":case"afterblur":Ot=Nr;break;case"click":if(F.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Ot=_u;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Ot=Ul;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Ot=_f;break;case ip:case ap:case Wa:Ot=vu;break;case ws:Ot=wu;break;case"scroll":Ot=Ud;break;case"wheel":Ot=Qd;break;case"copy":case"cut":case"paste":Ot=bu;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Ot=Wl}var Ht=(P&4)!==0,tn=!Ht&&M==="scroll",Ze=Ht?wt!==null?wt+"Capture":null:wt;Ht=[];for(var We=ct,nt;We!==null;){nt=We;var kt=nt.stateNode;if(nt.tag===5&&kt!==null&&(nt=kt,Ze!==null&&(kt=Fr(We,Ze),kt!=null&&Ht.push(sa(We,kt,nt)))),tn)break;We=We.return}0<Ht.length&&(wt=new Ot(wt,Nt,null,F,Mt),Rt.push({event:wt,listeners:Ht}))}}if((P&7)===0){e:{if(wt=M==="mouseover"||M==="pointerover",Ot=M==="mouseout"||M==="pointerout",wt&&F!==Zt&&(Nt=F.relatedTarget||F.fromElement)&&(as(Nt)||Nt[co]))break e;if((Ot||wt)&&(wt=Mt.window===Mt?Mt:(wt=Mt.ownerDocument)?wt.defaultView||wt.parentWindow:window,Ot?(Nt=F.relatedTarget||F.toElement,Ot=ct,Nt=Nt?as(Nt):null,Nt!==null&&(tn=ut(Nt),Nt!==tn||Nt.tag!==5&&Nt.tag!==6)&&(Nt=null)):(Ot=null,Nt=ct),Ot!==Nt)){if(Ht=_u,kt="onMouseLeave",Ze="onMouseEnter",We="mouse",(M==="pointerout"||M==="pointerover")&&(Ht=Wl,kt="onPointerLeave",Ze="onPointerEnter",We="pointer"),tn=Ot==null?wt:pr(Ot),nt=Nt==null?wt:pr(Nt),wt=new Ht(kt,We+"leave",Ot,F,Mt),wt.target=tn,wt.relatedTarget=nt,kt=null,as(Mt)===ct&&(Ht=new Ht(Ze,We+"enter",Nt,F,Mt),Ht.target=nt,Ht.relatedTarget=tn,kt=Ht),tn=kt,Ot&&Nt)t:{for(Ht=Ot,Ze=Nt,We=0,nt=Ht;nt;nt=ia(nt))We++;for(nt=0,kt=Ze;kt;kt=ia(kt))nt++;for(;0<We-nt;)Ht=ia(Ht),We--;for(;0<nt-We;)Ze=ia(Ze),nt--;for(;We--;){if(Ht===Ze||Ze!==null&&Ht===Ze.alternate)break t;Ht=ia(Ht),Ze=ia(Ze)}Ht=null}else Ht=null;Ot!==null&&ln(Rt,wt,Ot,Ht,!1),Nt!==null&&tn!==null&&ln(Rt,tn,Nt,Ht,!0)}}e:{if(wt=ct?pr(ct):window,Ot=wt.nodeName&&wt.nodeName.toLowerCase(),Ot==="select"||Ot==="input"&&wt.type==="file")var Bt=Cf;else if(ql(wt))if(Ei)Bt=qe;else{Bt=wf;var Qt=Sf}else(Ot=wt.nodeName)&&Ot.toLowerCase()==="input"&&(wt.type==="checkbox"||wt.type==="radio")&&(Bt=ra);if(Bt&&(Bt=Bt(M,ct))){Tu(Rt,Bt,F,Mt);break e}Qt&&Qt(M,wt,ct),M==="focusout"&&(Qt=wt._wrapperState)&&Qt.controlled&&wt.type==="number"&&ot(wt,"number",wt.value)}switch(Qt=ct?pr(ct):window,M){case"focusin":(ql(Qt)||Qt.contentEditable==="true")&&(Ss=Qt,Pu=ct,ns=null);break;case"focusout":ns=Pu=Ss=null;break;case"mousedown":na=!0;break;case"contextmenu":case"mouseup":case"dragend":na=!1,Ua(Rt,F,Mt);break;case"selectionchange":if(Eo)break;case"keydown":case"keyup":Ua(Rt,F,Mt)}var qt;if(za)e:{switch(M){case"compositionstart":var nr="onCompositionStart";break e;case"compositionend":nr="onCompositionEnd";break e;case"compositionupdate":nr="onCompositionUpdate";break e}nr=void 0}else Zi?tp(M,F)&&(nr="onCompositionEnd"):M==="keydown"&&F.keyCode===229&&(nr="onCompositionStart");nr&&(Mu&&F.locale!=="ko"&&(Zi||nr!=="onCompositionStart"?nr==="onCompositionEnd"&&Zi&&(qt=fu()):(Ur=Mt,Ba="value"in Ur?Ur.value:Ur.textContent,Zi=!0)),Qt=nc(ct,nr),0<Qt.length&&(nr=new Vd(nr,M,null,F,Mt),Rt.push({event:nr,listeners:Qt}),qt?nr.data=qt:(qt=rp(F),qt!==null&&(nr.data=qt)))),(qt=Xd?ea(M,F):vf(M,F))&&(ct=nc(ct,"onBeforeInput"),0<ct.length&&(Mt=new Vd("onBeforeInput","beforeinput",null,F,Mt),Rt.push({event:Mt,listeners:ct}),Mt.data=qt))}cp(Rt,P)})}function sa(M,P,F){return{instance:M,listener:P,currentTarget:F}}function nc(M,P){for(var F=P+"Capture",q=[];M!==null;){var le=M,_e=le.stateNode;le.tag===5&&_e!==null&&(le=_e,_e=Fr(M,F),_e!=null&&q.unshift(sa(M,_e,le)),_e=Fr(M,P),_e!=null&&q.push(sa(M,_e,le))),M=M.return}return q}function ia(M){if(M===null)return null;do M=M.return;while(M&&M.tag!==5);return M||null}function ln(M,P,F,q,le){for(var _e=P._reactName,we=[];F!==null&&F!==q;){var Oe=F,ze=Oe.alternate,ct=Oe.stateNode;if(ze!==null&&ze===q)break;Oe.tag===5&&ct!==null&&(Oe=ct,le?(ze=Fr(F,_e),ze!=null&&we.unshift(sa(F,ze,Oe))):le||(ze=Fr(F,_e),ze!=null&&we.push(sa(F,ze,Oe)))),F=F.return}we.length!==0&&M.push({event:P,listeners:we})}var Rn=/\r\n?/g,Tf=/\u0000|\uFFFD/g;function up(M){return(typeof M=="string"?M:""+M).replace(Rn,`
30
30
  `).replace(Tf,"")}function Ja(M,P,F){if(P=up(P),up(M)!==P&&F)throw Error(g(425))}function oc(){}var Qa=null,wi=null;function Xa(M,P){return M==="textarea"||M==="noscript"||typeof P.children=="string"||typeof P.children=="number"||typeof P.dangerouslySetInnerHTML=="object"&&P.dangerouslySetInnerHTML!==null&&P.dangerouslySetInnerHTML.__html!=null}var qs=typeof setTimeout=="function"?setTimeout:void 0,Za=typeof clearTimeout=="function"?clearTimeout:void 0,aa=typeof Promise=="function"?Promise:void 0,sc=typeof queueMicrotask=="function"?queueMicrotask:typeof aa!="undefined"?function(M){return aa.resolve(null).then(M).catch(la)}:qs;function la(M){setTimeout(function(){throw M})}function Lu(M,P){var F=P,q=0;do{var le=F.nextSibling;if(M.removeChild(F),le&&le.nodeType===8)if(F=le.data,F==="/$"){if(q===0){M.removeChild(le),Ir(P);return}q--}else F!=="$"&&F!=="$?"&&F!=="$!"||q++;F=le}while(F);Ir(P)}function Ks(M){for(;M!=null;M=M.nextSibling){var P=M.nodeType;if(P===1||P===3)break;if(P===8){if(P=M.data,P==="$"||P==="$!"||P==="$?")break;if(P==="/$")return null}}return M}function dp(M){M=M.previousSibling;for(var P=0;M;){if(M.nodeType===8){var F=M.data;if(F==="$"||F==="$!"||F==="$?"){if(P===0)return M;P--}else F==="/$"&&P++}M=M.previousSibling}return null}var ua=Math.random().toString(36).slice(2),os="__reactFiber$"+ua,Js="__reactProps$"+ua,co="__reactContainer$"+ua,ic="__reactEvents$"+ua,Te="__reactListeners$"+ua,pa="__reactHandles$"+ua;function as(M){var P=M[os];if(P)return P;for(var F=M.parentNode;F;){if(P=F[co]||F[os]){if(F=P.alternate,P.child!==null||F!==null&&F.child!==null)for(M=dp(M);M!==null;){if(F=M[os])return F;M=dp(M)}return P}M=F,F=M.parentNode}return null}function In(M){return M=M[os]||M[co],!M||M.tag!==5&&M.tag!==6&&M.tag!==13&&M.tag!==3?null:M}function pr(M){if(M.tag===5||M.tag===6)return M.stateNode;throw Error(g(33))}function ac(M){return M[Js]||null}var Du=[],ma=-1;function Kn(M){return{current:M}}function Yr(M){0>ma||(M.current=Du[ma],Du[ma]=null,ma--)}function jr(M,P){ma++,Du[ma]=M.current,M.current=P}var Qs={},Ln=Kn(Qs),Jn=Kn(!1),Yn=Qs;function ha(M,P){var F=M.type.contextTypes;if(!F)return Qs;var q=M.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===P)return q.__reactInternalMemoizedMaskedChildContext;var le={},_e;for(_e in F)le[_e]=P[_e];return q&&(M=M.stateNode,M.__reactInternalMemoizedUnmaskedChildContext=P,M.__reactInternalMemoizedMaskedChildContext=le),le}function Qn(M){return M=M.childContextTypes,M!=null}function lc(){Yr(Jn),Yr(Ln)}function pp(M,P,F){if(Ln.current!==Qs)throw Error(g(168));jr(Ln,P),jr(Jn,F)}function fp(M,P,F){var q=M.stateNode;if(P=P.childContextTypes,typeof q.getChildContext!="function")return F;q=q.getChildContext();for(var le in q)if(!(le in P))throw Error(g(108,Me(M)||"Unknown",le));return pe({},F,q)}function Co(M){return M=(M=M.stateNode)&&M.__reactInternalMemoizedMergedChildContext||Qs,Yn=Ln.current,jr(Ln,M),jr(Jn,Jn.current),!0}function mp(M,P,F){var q=M.stateNode;if(!q)throw Error(g(169));F?(M=fp(M,P,Yn),q.__reactInternalMemoizedMergedChildContext=M,Yr(Jn),Yr(Ln),jr(Ln,M)):Yr(Jn),jr(Jn,F)}var Ts=null,cc=!1,Au=!1;function hp(M){Ts===null?Ts=[M]:Ts.push(M)}function Mi(M){cc=!0,hp(M)}function Xs(){if(!Au&&Ts!==null){Au=!0;var M=0,P=kr;try{var F=Ts;for(kr=1;M<F.length;M++){var q=F[M];do q=q(!0);while(q!==null)}Ts=null,cc=!1}catch(le){throw Ts!==null&&(Ts=Ts.slice(M+1)),Er(iu,Xs),le}finally{kr=P,Au=!1}}return null}var xa=[],Dn=0,uc=null,dc=0,So=[],wo=0,Ti=null,ls=1,us="";function Pi(M,P){xa[Dn++]=dc,xa[Dn++]=uc,uc=M,dc=P}function gp(M,P,F){So[wo++]=ls,So[wo++]=us,So[wo++]=Ti,Ti=M;var q=ls;M=us;var le=32-jo(q)-1;q&=~(1<<le),F+=1;var _e=32-jo(P)+le;if(30<_e){var we=le-le%5;_e=(q&(1<<we)-1).toString(32),q>>=we,le-=we,ls=1<<32-jo(P)+le|F<<le|q,us=_e+M}else ls=1<<_e|F<<le|q,us=M}function tl(M){M.return!==null&&(Pi(M,1),gp(M,1,0))}function $i(M){for(;M===uc;)uc=xa[--Dn],xa[Dn]=null,dc=xa[--Dn],xa[Dn]=null;for(;M===Ti;)Ti=So[--wo],So[wo]=null,us=So[--wo],So[wo]=null,ls=So[--wo],So[wo]=null}var An=null,uo=null,Br=!1,Yo=null;function ds(M,P){var F=Lo(5,null,null,0);F.elementType="DELETED",F.stateNode=P,F.return=M,P=M.deletions,P===null?(M.deletions=[F],M.flags|=16):P.push(F)}function pc(M,P){switch(M.tag){case 5:var F=M.type;return P=P.nodeType!==1||F.toLowerCase()!==P.nodeName.toLowerCase()?null:P,P!==null?(M.stateNode=P,An=M,uo=Ks(P.firstChild),!0):!1;case 6:return P=M.pendingProps===""||P.nodeType!==3?null:P,P!==null?(M.stateNode=P,An=M,uo=null,!0):!1;case 13:return P=P.nodeType!==8?null:P,P!==null?(F=Ti!==null?{id:ls,overflow:us}:null,M.memoizedState={dehydrated:P,treeContext:F,retryLane:1073741824},F=Lo(18,null,null,0),F.stateNode=P,F.return=M,M.child=F,An=M,uo=null,!0):!1;default:return!1}}function Ps(M){return(M.mode&1)!==0&&(M.flags&128)===0}function Xn(M){if(Br){var P=uo;if(P){var F=P;if(!pc(M,P)){if(Ps(M))throw Error(g(418));P=Ks(F.nextSibling);var q=An;P&&pc(M,P)?ds(q,F):(M.flags=M.flags&-4097|2,Br=!1,An=M)}}else{if(Ps(M))throw Error(g(418));M.flags=M.flags&-4097|2,Br=!1,An=M}}}function xp(M){for(M=M.return;M!==null&&M.tag!==5&&M.tag!==3&&M.tag!==13;)M=M.return;An=M}function rl(M){if(M!==An)return!1;if(!Br)return xp(M),Br=!0,!1;var P;if((P=M.tag!==3)&&!(P=M.tag!==5)&&(P=M.type,P=P!=="head"&&P!=="body"&&!Xa(M.type,M.memoizedProps)),P&&(P=uo)){if(Ps(M))throw Ou(),Error(g(418));for(;P;)ds(M,P),P=Ks(P.nextSibling)}if(xp(M),M.tag===13){if(M=M.memoizedState,M=M!==null?M.dehydrated:null,!M)throw Error(g(317));e:{for(M=M.nextSibling,P=0;M;){if(M.nodeType===8){var F=M.data;if(F==="/$"){if(P===0){uo=Ks(M.nextSibling);break e}P--}else F!=="$"&&F!=="$!"&&F!=="$?"||P++}M=M.nextSibling}uo=null}}else uo=An?Ks(M.stateNode.nextSibling):null;return!0}function Ou(){for(var M=uo;M;)M=Ks(M.nextSibling)}function ps(){uo=An=null,Br=!1}function fs(M){Yo===null?Yo=[M]:Yo.push(M)}var _p=z.ReactCurrentBatchConfig;function ol(M,P,F){if(M=F.ref,M!==null&&typeof M!="function"&&typeof M!="object"){if(F._owner){if(F=F._owner,F){if(F.tag!==1)throw Error(g(309));var q=F.stateNode}if(!q)throw Error(g(147,M));var le=q,_e=""+M;return P!==null&&P.ref!==null&&typeof P.ref=="function"&&P.ref._stringRef===_e?P.ref:(P=function(we){var Oe=le.refs;we===null?delete Oe[_e]:Oe[_e]=we},P._stringRef=_e,P)}if(typeof M!="string")throw Error(g(284));if(!F._owner)throw Error(g(290,M))}return M}function Ri(M,P){throw M=Object.prototype.toString.call(P),Error(g(31,M==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":M))}function yp(M){var P=M._init;return P(M._payload)}function Fu(M){function P(Ze,We){if(M){var nt=Ze.deletions;nt===null?(Ze.deletions=[We],Ze.flags|=16):nt.push(We)}}function F(Ze,We){if(!M)return null;for(;We!==null;)P(Ze,We),We=We.sibling;return null}function q(Ze,We){for(Ze=new Map;We!==null;)We.key!==null?Ze.set(We.key,We):Ze.set(We.index,We),We=We.sibling;return Ze}function le(Ze,We){return Ze=qo(Ze,We),Ze.index=0,Ze.sibling=null,Ze}function _e(Ze,We,nt){return Ze.index=nt,M?(nt=Ze.alternate,nt!==null?(nt=nt.index,nt<We?(Ze.flags|=2,We):nt):(Ze.flags|=2,We)):(Ze.flags|=1048576,We)}function we(Ze){return M&&Ze.alternate===null&&(Ze.flags|=2),Ze}function Oe(Ze,We,nt,kt){return We===null||We.tag!==6?(We=Td(nt,Ze.mode,kt),We.return=Ze,We):(We=le(We,nt),We.return=Ze,We)}function ze(Ze,We,nt,kt){var Bt=nt.type;return Bt===W?Mt(Ze,We,nt.props.children,kt,nt.key):We!==null&&(We.elementType===Bt||typeof Bt=="object"&&Bt!==null&&Bt.$$typeof===ce&&yp(Bt)===We.type)?(kt=le(We,nt.props),kt.ref=ol(Ze,We,nt),kt.return=Ze,kt):(kt=Wc(nt.type,nt.key,nt.props,null,Ze.mode,kt),kt.ref=ol(Ze,We,nt),kt.return=Ze,kt)}function ct(Ze,We,nt,kt){return We===null||We.tag!==4||We.stateNode.containerInfo!==nt.containerInfo||We.stateNode.implementation!==nt.implementation?(We=Pd(nt,Ze.mode,kt),We.return=Ze,We):(We=le(We,nt.children||[]),We.return=Ze,We)}function Mt(Ze,We,nt,kt,Bt){return We===null||We.tag!==7?(We=Yi(nt,Ze.mode,kt,Bt),We.return=Ze,We):(We=le(We,nt),We.return=Ze,We)}function Rt(Ze,We,nt){if(typeof We=="string"&&We!==""||typeof We=="number")return We=Td(""+We,Ze.mode,nt),We.return=Ze,We;if(typeof We=="object"&&We!==null){switch(We.$$typeof){case V:return nt=Wc(We.type,We.key,We.props,null,Ze.mode,nt),nt.ref=ol(Ze,null,We),nt.return=Ze,nt;case U:return We=Pd(We,Ze.mode,nt),We.return=Ze,We;case ce:var kt=We._init;return Rt(Ze,kt(We._payload),nt)}if(ke(We)||ue(We))return We=Yi(We,Ze.mode,nt,null),We.return=Ze,We;Ri(Ze,We)}return null}function wt(Ze,We,nt,kt){var Bt=We!==null?We.key:null;if(typeof nt=="string"&&nt!==""||typeof nt=="number")return Bt!==null?null:Oe(Ze,We,""+nt,kt);if(typeof nt=="object"&&nt!==null){switch(nt.$$typeof){case V:return nt.key===Bt?ze(Ze,We,nt,kt):null;case U:return nt.key===Bt?ct(Ze,We,nt,kt):null;case ce:return Bt=nt._init,wt(Ze,We,Bt(nt._payload),kt)}if(ke(nt)||ue(nt))return Bt!==null?null:Mt(Ze,We,nt,kt,null);Ri(Ze,nt)}return null}function Ot(Ze,We,nt,kt,Bt){if(typeof kt=="string"&&kt!==""||typeof kt=="number")return Ze=Ze.get(nt)||null,Oe(We,Ze,""+kt,Bt);if(typeof kt=="object"&&kt!==null){switch(kt.$$typeof){case V:return Ze=Ze.get(kt.key===null?nt:kt.key)||null,ze(We,Ze,kt,Bt);case U:return Ze=Ze.get(kt.key===null?nt:kt.key)||null,ct(We,Ze,kt,Bt);case ce:var Qt=kt._init;return Ot(Ze,We,nt,Qt(kt._payload),Bt)}if(ke(kt)||ue(kt))return Ze=Ze.get(nt)||null,Mt(We,Ze,kt,Bt,null);Ri(We,kt)}return null}function Nt(Ze,We,nt,kt){for(var Bt=null,Qt=null,qt=We,nr=We=0,_n=null;qt!==null&&nr<nt.length;nr++){qt.index>nr?(_n=qt,qt=null):_n=qt.sibling;var Rr=wt(Ze,qt,nt[nr],kt);if(Rr===null){qt===null&&(qt=_n);break}M&&qt&&Rr.alternate===null&&P(Ze,qt),We=_e(Rr,We,nr),Qt===null?Bt=Rr:Qt.sibling=Rr,Qt=Rr,qt=_n}if(nr===nt.length)return F(Ze,qt),Br&&Pi(Ze,nr),Bt;if(qt===null){for(;nr<nt.length;nr++)qt=Rt(Ze,nt[nr],kt),qt!==null&&(We=_e(qt,We,nr),Qt===null?Bt=qt:Qt.sibling=qt,Qt=qt);return Br&&Pi(Ze,nr),Bt}for(qt=q(Ze,qt);nr<nt.length;nr++)_n=Ot(qt,Ze,nr,nt[nr],kt),_n!==null&&(M&&_n.alternate!==null&&qt.delete(_n.key===null?nr:_n.key),We=_e(_n,We,nr),Qt===null?Bt=_n:Qt.sibling=_n,Qt=_n);return M&&qt.forEach(function(di){return P(Ze,di)}),Br&&Pi(Ze,nr),Bt}function Ht(Ze,We,nt,kt){var Bt=ue(nt);if(typeof Bt!="function")throw Error(g(150));if(nt=Bt.call(nt),nt==null)throw Error(g(151));for(var Qt=Bt=null,qt=We,nr=We=0,_n=null,Rr=nt.next();qt!==null&&!Rr.done;nr++,Rr=nt.next()){qt.index>nr?(_n=qt,qt=null):_n=qt.sibling;var di=wt(Ze,qt,Rr.value,kt);if(di===null){qt===null&&(qt=_n);break}M&&qt&&di.alternate===null&&P(Ze,qt),We=_e(di,We,nr),Qt===null?Bt=di:Qt.sibling=di,Qt=di,qt=_n}if(Rr.done)return F(Ze,qt),Br&&Pi(Ze,nr),Bt;if(qt===null){for(;!Rr.done;nr++,Rr=nt.next())Rr=Rt(Ze,Rr.value,kt),Rr!==null&&(We=_e(Rr,We,nr),Qt===null?Bt=Rr:Qt.sibling=Rr,Qt=Rr);return Br&&Pi(Ze,nr),Bt}for(qt=q(Ze,qt);!Rr.done;nr++,Rr=nt.next())Rr=Ot(qt,Ze,nr,Rr.value,kt),Rr!==null&&(M&&Rr.alternate!==null&&qt.delete(Rr.key===null?nr:Rr.key),We=_e(Rr,We,nr),Qt===null?Bt=Rr:Qt.sibling=Rr,Qt=Rr);return M&&qt.forEach(function(qf){return P(Ze,qf)}),Br&&Pi(Ze,nr),Bt}function tn(Ze,We,nt,kt){if(typeof nt=="object"&&nt!==null&&nt.type===W&&nt.key===null&&(nt=nt.props.children),typeof nt=="object"&&nt!==null){switch(nt.$$typeof){case V:e:{for(var Bt=nt.key,Qt=We;Qt!==null;){if(Qt.key===Bt){if(Bt=nt.type,Bt===W){if(Qt.tag===7){F(Ze,Qt.sibling),We=le(Qt,nt.props.children),We.return=Ze,Ze=We;break e}}else if(Qt.elementType===Bt||typeof Bt=="object"&&Bt!==null&&Bt.$$typeof===ce&&yp(Bt)===Qt.type){F(Ze,Qt.sibling),We=le(Qt,nt.props),We.ref=ol(Ze,Qt,nt),We.return=Ze,Ze=We;break e}F(Ze,Qt);break}else P(Ze,Qt);Qt=Qt.sibling}nt.type===W?(We=Yi(nt.props.children,Ze.mode,kt,nt.key),We.return=Ze,Ze=We):(kt=Wc(nt.type,nt.key,nt.props,null,Ze.mode,kt),kt.ref=ol(Ze,We,nt),kt.return=Ze,Ze=kt)}return we(Ze);case U:e:{for(Qt=nt.key;We!==null;){if(We.key===Qt)if(We.tag===4&&We.stateNode.containerInfo===nt.containerInfo&&We.stateNode.implementation===nt.implementation){F(Ze,We.sibling),We=le(We,nt.children||[]),We.return=Ze,Ze=We;break e}else{F(Ze,We);break}else P(Ze,We);We=We.sibling}We=Pd(nt,Ze.mode,kt),We.return=Ze,Ze=We}return we(Ze);case ce:return Qt=nt._init,tn(Ze,We,Qt(nt._payload),kt)}if(ke(nt))return Nt(Ze,We,nt,kt);if(ue(nt))return Ht(Ze,We,nt,kt);Ri(Ze,nt)}return typeof nt=="string"&&nt!==""||typeof nt=="number"?(nt=""+nt,We!==null&&We.tag===6?(F(Ze,We.sibling),We=le(We,nt),We.return=Ze,Ze=We):(F(Ze,We),We=Td(nt,Ze.mode,kt),We.return=Ze,Ze=We),we(Ze)):F(Ze,We)}return tn}var Xr=Fu(!0),fc=Fu(!1),il=Kn(null),po=null,Zs=null,_a=null;function $s(){_a=Zs=po=null}function mc(M){var P=il.current;Yr(il),M._currentValue=P}function Cn(M,P,F){for(;M!==null;){var q=M.alternate;if((M.childLanes&P)!==P?(M.childLanes|=P,q!==null&&(q.childLanes|=P)):q!==null&&(q.childLanes&P)!==P&&(q.childLanes|=P),M===F)break;M=M.return}}function ei(M,P){po=M,_a=Zs=null,M=M.dependencies,M!==null&&M.firstContext!==null&&((M.lanes&P)!==0&&(zn=!0),M.firstContext=null)}function Mo(M){var P=M._currentValue;if(_a!==M)if(M={context:M,memoizedValue:P,next:null},Zs===null){if(po===null)throw Error(g(308));Zs=M,po.dependencies={lanes:0,firstContext:M}}else Zs=Zs.next=M;return P}var ki=null;function Nu(M){ki===null?ki=[M]:ki.push(M)}function hc(M,P,F,q){var le=P.interleaved;return le===null?(F.next=F,Nu(P)):(F.next=le.next,le.next=F),P.interleaved=F,Rs(M,q)}function Rs(M,P){M.lanes|=P;var F=M.alternate;for(F!==null&&(F.lanes|=P),F=M,M=M.return;M!==null;)M.childLanes|=P,F=M.alternate,F!==null&&(F.childLanes|=P),F=M,M=M.return;return F.tag===3?F.stateNode:null}var To=!1;function gc(M){M.updateQueue={baseState:M.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function vp(M,P){M=M.updateQueue,P.updateQueue===M&&(P.updateQueue={baseState:M.baseState,firstBaseUpdate:M.firstBaseUpdate,lastBaseUpdate:M.lastBaseUpdate,shared:M.shared,effects:M.effects})}function ks(M,P){return{eventTime:M,lane:P,tag:0,payload:null,callback:null,next:null}}function Po(M,P,F){var q=M.updateQueue;if(q===null)return null;if(q=q.shared,(Tr&2)!==0){var le=q.pending;return le===null?P.next=P:(P.next=le.next,le.next=P),q.pending=P,Rs(M,F)}return le=q.interleaved,le===null?(P.next=P,Nu(q)):(P.next=le.next,le.next=P),q.interleaved=P,Rs(M,F)}function xc(M,P,F){if(P=P.updateQueue,P!==null&&(P=P.shared,(F&4194240)!==0)){var q=P.lanes;q&=M.pendingLanes,F|=q,P.lanes=F,Na(M,F)}}function bp(M,P){var F=M.updateQueue,q=M.alternate;if(q!==null&&(q=q.updateQueue,F===q)){var le=null,_e=null;if(F=F.firstBaseUpdate,F!==null){do{var we={eventTime:F.eventTime,lane:F.lane,tag:F.tag,payload:F.payload,callback:F.callback,next:null};_e===null?le=_e=we:_e=_e.next=we,F=F.next}while(F!==null);_e===null?le=_e=P:_e=_e.next=P}else le=_e=P;F={baseState:q.baseState,firstBaseUpdate:le,lastBaseUpdate:_e,shared:q.shared,effects:q.effects},M.updateQueue=F;return}M=F.lastBaseUpdate,M===null?F.firstBaseUpdate=P:M.next=P,F.lastBaseUpdate=P}function ya(M,P,F,q){var le=M.updateQueue;To=!1;var _e=le.firstBaseUpdate,we=le.lastBaseUpdate,Oe=le.shared.pending;if(Oe!==null){le.shared.pending=null;var ze=Oe,ct=ze.next;ze.next=null,we===null?_e=ct:we.next=ct,we=ze;var Mt=M.alternate;Mt!==null&&(Mt=Mt.updateQueue,Oe=Mt.lastBaseUpdate,Oe!==we&&(Oe===null?Mt.firstBaseUpdate=ct:Oe.next=ct,Mt.lastBaseUpdate=ze))}if(_e!==null){var Rt=le.baseState;we=0,Mt=ct=ze=null,Oe=_e;do{var wt=Oe.lane,Ot=Oe.eventTime;if((q&wt)===wt){Mt!==null&&(Mt=Mt.next={eventTime:Ot,lane:0,tag:Oe.tag,payload:Oe.payload,callback:Oe.callback,next:null});e:{var Nt=M,Ht=Oe;switch(wt=P,Ot=F,Ht.tag){case 1:if(Nt=Ht.payload,typeof Nt=="function"){Rt=Nt.call(Ot,Rt,wt);break e}Rt=Nt;break e;case 3:Nt.flags=Nt.flags&-65537|128;case 0:if(Nt=Ht.payload,wt=typeof Nt=="function"?Nt.call(Ot,Rt,wt):Nt,wt==null)break e;Rt=pe({},Rt,wt);break e;case 2:To=!0}}Oe.callback!==null&&Oe.lane!==0&&(M.flags|=64,wt=le.effects,wt===null?le.effects=[Oe]:wt.push(Oe))}else Ot={eventTime:Ot,lane:wt,tag:Oe.tag,payload:Oe.payload,callback:Oe.callback,next:null},Mt===null?(ct=Mt=Ot,ze=Rt):Mt=Mt.next=Ot,we|=wt;if(Oe=Oe.next,Oe===null){if(Oe=le.shared.pending,Oe===null)break;wt=Oe,Oe=wt.next,wt.next=null,le.lastBaseUpdate=wt,le.shared.pending=null}}while(!0);if(Mt===null&&(ze=Rt),le.baseState=ze,le.firstBaseUpdate=ct,le.lastBaseUpdate=Mt,P=le.shared.interleaved,P!==null){le=P;do we|=le.lane,le=le.next;while(le!==P)}else _e===null&&(le.shared.lanes=0);ii|=we,M.lanes=we,M.memoizedState=Rt}}function ju(M,P,F){if(M=P.effects,P.effects=null,M!==null)for(P=0;P<M.length;P++){var q=M[P],le=q.callback;if(le!==null){if(q.callback=null,q=F,typeof le!="function")throw Error(g(191,le));le.call(q)}}}var al={},hs=Kn(al),ll=Kn(al),va=Kn(al);function Is(M){if(M===al)throw Error(g(174));return M}function Hu(M,P){switch(jr(va,P),jr(ll,M),jr(hs,al),M=P.nodeType,M){case 9:case 11:P=(P=P.documentElement)?P.namespaceURI:gt(null,"");break;default:M=M===8?P.parentNode:P,P=M.namespaceURI||null,M=M.tagName,P=gt(P,M)}Yr(hs),jr(hs,P)}function ti(){Yr(hs),Yr(ll),Yr(va)}function Yu(M){Is(va.current);var P=Is(hs.current),F=gt(P,M.type);P!==F&&(jr(ll,M),jr(hs,F))}function _c(M){ll.current===M&&(Yr(hs),Yr(ll))}var Vr=Kn(0);function Ii(M){for(var P=M;P!==null;){if(P.tag===13){var F=P.memoizedState;if(F!==null&&(F=F.dehydrated,F===null||F.data==="$?"||F.data==="$!"))return P}else if(P.tag===19&&P.memoizedProps.revealOrder!==void 0){if((P.flags&128)!==0)return P}else if(P.child!==null){P.child.return=P,P=P.child;continue}if(P===M)break;for(;P.sibling===null;){if(P.return===null||P.return===M)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}return null}var Bu=[];function yc(){for(var M=0;M<Bu.length;M++)Bu[M]._workInProgressVersionPrimary=null;Bu.length=0}var cl=z.ReactCurrentDispatcher,zu=z.ReactCurrentBatchConfig,ri=0,Kr=null,Zr=null,dn=null,ba=!1,ul=!1,Li=0,_r=0;function On(){throw Error(g(321))}function Gu(M,P){if(P===null)return!1;for(var F=0;F<P.length&&F<M.length;F++)if(!at(M[F],P[F]))return!1;return!0}function Di(M,P,F,q,le,_e){if(ri=_e,Kr=P,P.memoizedState=null,P.updateQueue=null,P.lanes=0,cl.current=M===null||M.memoizedState===null?$f:Mc,M=F(q,le),ul){_e=0;do{if(ul=!1,Li=0,25<=_e)throw Error(g(301));_e+=1,dn=Zr=null,P.updateQueue=null,cl.current=wa,M=F(q,le)}while(ul)}if(cl.current=wc,P=Zr!==null&&Zr.next!==null,ri=0,dn=Zr=Kr=null,ba=!1,P)throw Error(g(300));return M}function vc(){var M=Li!==0;return Li=0,M}function gs(){var M={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return dn===null?Kr.memoizedState=dn=M:dn=dn.next=M,dn}function $o(){if(Zr===null){var M=Kr.alternate;M=M!==null?M.memoizedState:null}else M=Zr.next;var P=dn===null?Kr.memoizedState:dn.next;if(P!==null)dn=P,Zr=M;else{if(M===null)throw Error(g(310));Zr=M,M={memoizedState:Zr.memoizedState,baseState:Zr.baseState,baseQueue:Zr.baseQueue,queue:Zr.queue,next:null},dn===null?Kr.memoizedState=dn=M:dn=dn.next=M}return dn}function Fn(M,P){return typeof P=="function"?P(M):P}function Uu(M){var P=$o(),F=P.queue;if(F===null)throw Error(g(311));F.lastRenderedReducer=M;var q=Zr,le=q.baseQueue,_e=F.pending;if(_e!==null){if(le!==null){var we=le.next;le.next=_e.next,_e.next=we}q.baseQueue=le=_e,F.pending=null}if(le!==null){_e=le.next,q=q.baseState;var Oe=we=null,ze=null,ct=_e;do{var Mt=ct.lane;if((ri&Mt)===Mt)ze!==null&&(ze=ze.next={lane:0,action:ct.action,hasEagerState:ct.hasEagerState,eagerState:ct.eagerState,next:null}),q=ct.hasEagerState?ct.eagerState:M(q,ct.action);else{var Rt={lane:Mt,action:ct.action,hasEagerState:ct.hasEagerState,eagerState:ct.eagerState,next:null};ze===null?(Oe=ze=Rt,we=q):ze=ze.next=Rt,Kr.lanes|=Mt,ii|=Mt}ct=ct.next}while(ct!==null&&ct!==_e);ze===null?we=q:ze.next=Oe,at(q,P.memoizedState)||(zn=!0),P.memoizedState=q,P.baseState=we,P.baseQueue=ze,F.lastRenderedState=q}if(M=F.interleaved,M!==null){le=M;do _e=le.lane,Kr.lanes|=_e,ii|=_e,le=le.next;while(le!==M)}else le===null&&(F.lanes=0);return[P.memoizedState,F.dispatch]}function Ea(M){var P=$o(),F=P.queue;if(F===null)throw Error(g(311));F.lastRenderedReducer=M;var q=F.dispatch,le=F.pending,_e=P.memoizedState;if(le!==null){F.pending=null;var we=le=le.next;do _e=M(_e,we.action),we=we.next;while(we!==le);at(_e,P.memoizedState)||(zn=!0),P.memoizedState=_e,P.baseQueue===null&&(P.baseState=_e),F.lastRenderedState=_e}return[_e,q]}function bc(){}function Vu(M,P){var F=Kr,q=$o(),le=P(),_e=!at(q.memoizedState,le);if(_e&&(q.memoizedState=le,zn=!0),q=q.queue,xs(Ls.bind(null,F,q,M),[M]),q.getSnapshot!==P||_e||dn!==null&&dn.memoizedState.tag&1){if(F.flags|=2048,Ca(9,Zn.bind(null,F,q,le,P),void 0,null),xn===null)throw Error(g(349));(ri&30)!==0||Wu(F,P,le)}return le}function Wu(M,P,F){M.flags|=16384,M={getSnapshot:P,value:F},P=Kr.updateQueue,P===null?(P={lastEffect:null,stores:null},Kr.updateQueue=P,P.stores=[M]):(F=P.stores,F===null?P.stores=[M]:F.push(M))}function Zn(M,P,F,q){P.value=F,P.getSnapshot=q,Ec(P)&&qu(M)}function Ls(M,P,F){return F(function(){Ec(P)&&qu(M)})}function Ec(M){var P=M.getSnapshot;M=M.value;try{var F=P();return!at(M,F)}catch(q){return!0}}function qu(M){var P=Rs(M,1);P!==null&&Wo(P,M,1,-1)}function dl(M){var P=gs();return typeof M=="function"&&(M=M()),P.memoizedState=P.baseState=M,M={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Fn,lastRenderedState:M},P.queue=M,M=M.dispatch=Tp.bind(null,Kr,M),[P.memoizedState,M]}function Ca(M,P,F,q){return M={tag:M,create:P,destroy:F,deps:q,next:null},P=Kr.updateQueue,P===null?(P={lastEffect:null,stores:null},Kr.updateQueue=P,P.lastEffect=M.next=M):(F=P.lastEffect,F===null?P.lastEffect=M.next=M:(q=F.next,F.next=M,M.next=q,P.lastEffect=M)),M}function Cc(){return $o().memoizedState}function fl(M,P,F,q){var le=gs();Kr.flags|=M,le.memoizedState=Ca(1|P,F,void 0,q===void 0?null:q)}function Sa(M,P,F,q){var le=$o();q=q===void 0?null:q;var _e=void 0;if(Zr!==null){var we=Zr.memoizedState;if(_e=we.destroy,q!==null&&Gu(q,we.deps)){le.memoizedState=Ca(P,F,_e,q);return}}Kr.flags|=M,le.memoizedState=Ca(1|P,F,_e,q)}function Sc(M,P){return fl(8390656,8,M,P)}function xs(M,P){return Sa(2048,8,M,P)}function Ep(M,P){return Sa(4,2,M,P)}function Ds(M,P){return Sa(4,4,M,P)}function Ku(M,P){if(typeof P=="function")return M=M(),P(M),function(){P(null)};if(P!=null)return M=M(),P.current=M,function(){P.current=null}}function Ju(M,P,F){return F=F!=null?F.concat([M]):null,Sa(4,4,Ku.bind(null,P,M),F)}function hl(){}function Cp(M,P){var F=$o();P=P===void 0?null:P;var q=F.memoizedState;return q!==null&&P!==null&&Gu(P,q[1])?q[0]:(F.memoizedState=[M,P],M)}function Sp(M,P){var F=$o();P=P===void 0?null:P;var q=F.memoizedState;return q!==null&&P!==null&&Gu(P,q[1])?q[0]:(M=M(),F.memoizedState=[M,P],M)}function wp(M,P,F){return(ri&21)===0?(M.baseState&&(M.baseState=!1,zn=!0),M.memoizedState=F):(at(F,P)||(F=lu(),Kr.lanes|=F,ii|=F,M.baseState=!0),P)}function Mp(M,P){var F=kr;kr=F!==0&&4>F?F:4,M(!0);var q=zu.transition;zu.transition={};try{M(!1),P()}finally{kr=F,zu.transition=q}}function Qu(){return $o().memoizedState}function Pf(M,P,F){var q=ci(M);if(F={lane:q,action:F,hasEagerState:!1,eagerState:null,next:null},Xu(M))Bn(P,F);else if(F=hc(M,P,F,q),F!==null){var le=Vn();Wo(F,M,q,le),Bo(F,P,q)}}function Tp(M,P,F){var q=ci(M),le={lane:q,action:F,hasEagerState:!1,eagerState:null,next:null};if(Xu(M))Bn(P,le);else{var _e=M.alternate;if(M.lanes===0&&(_e===null||_e.lanes===0)&&(_e=P.lastRenderedReducer,_e!==null))try{var we=P.lastRenderedState,Oe=_e(we,F);if(le.hasEagerState=!0,le.eagerState=Oe,at(Oe,we)){var ze=P.interleaved;ze===null?(le.next=le,Nu(P)):(le.next=ze.next,ze.next=le),P.interleaved=le;return}}catch(ct){}finally{}F=hc(M,P,le,q),F!==null&&(le=Vn(),Wo(F,M,q,le),Bo(F,P,q))}}function Xu(M){var P=M.alternate;return M===Kr||P!==null&&P===Kr}function Bn(M,P){ul=ba=!0;var F=M.pending;F===null?P.next=P:(P.next=F.next,F.next=P),M.pending=P}function Bo(M,P,F){if((F&4194240)!==0){var q=P.lanes;q&=M.pendingLanes,F|=q,P.lanes=F,Na(M,F)}}var wc={readContext:Mo,useCallback:On,useContext:On,useEffect:On,useImperativeHandle:On,useInsertionEffect:On,useLayoutEffect:On,useMemo:On,useReducer:On,useRef:On,useState:On,useDebugValue:On,useDeferredValue:On,useTransition:On,useMutableSource:On,useSyncExternalStore:On,useId:On,unstable_isNewReconciler:!1},$f={readContext:Mo,useCallback:function(M,P){return gs().memoizedState=[M,P===void 0?null:P],M},useContext:Mo,useEffect:Sc,useImperativeHandle:function(M,P,F){return F=F!=null?F.concat([M]):null,fl(4194308,4,Ku.bind(null,P,M),F)},useLayoutEffect:function(M,P){return fl(4194308,4,M,P)},useInsertionEffect:function(M,P){return fl(4,2,M,P)},useMemo:function(M,P){var F=gs();return P=P===void 0?null:P,M=M(),F.memoizedState=[M,P],M},useReducer:function(M,P,F){var q=gs();return P=F!==void 0?F(P):P,q.memoizedState=q.baseState=P,M={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:M,lastRenderedState:P},q.queue=M,M=M.dispatch=Pf.bind(null,Kr,M),[q.memoizedState,M]},useRef:function(M){var P=gs();return M={current:M},P.memoizedState=M},useState:dl,useDebugValue:hl,useDeferredValue:function(M){return gs().memoizedState=M},useTransition:function(){var M=dl(!1),P=M[0];return M=Mp.bind(null,M[1]),gs().memoizedState=M,[P,M]},useMutableSource:function(){},useSyncExternalStore:function(M,P,F){var q=Kr,le=gs();if(Br){if(F===void 0)throw Error(g(407));F=F()}else{if(F=P(),xn===null)throw Error(g(349));(ri&30)!==0||Wu(q,P,F)}le.memoizedState=F;var _e={value:F,getSnapshot:P};return le.queue=_e,Sc(Ls.bind(null,q,_e,M),[M]),q.flags|=2048,Ca(9,Zn.bind(null,q,_e,F,P),void 0,null),F},useId:function(){var M=gs(),P=xn.identifierPrefix;if(Br){var F=us,q=ls;F=(q&~(1<<32-jo(q)-1)).toString(32)+F,P=":"+P+"R"+F,F=Li++,0<F&&(P+="H"+F.toString(32)),P+=":"}else F=_r++,P=":"+P+"r"+F.toString(32)+":";return M.memoizedState=P},unstable_isNewReconciler:!1},Mc={readContext:Mo,useCallback:Cp,useContext:Mo,useEffect:xs,useImperativeHandle:Ju,useInsertionEffect:Ep,useLayoutEffect:Ds,useMemo:Sp,useReducer:Uu,useRef:Cc,useState:function(){return Uu(Fn)},useDebugValue:hl,useDeferredValue:function(M){var P=$o();return wp(P,Zr.memoizedState,M)},useTransition:function(){var M=Uu(Fn)[0],P=$o().memoizedState;return[M,P]},useMutableSource:bc,useSyncExternalStore:Vu,useId:Qu,unstable_isNewReconciler:!1},wa={readContext:Mo,useCallback:Cp,useContext:Mo,useEffect:xs,useImperativeHandle:Ju,useInsertionEffect:Ep,useLayoutEffect:Ds,useMemo:Sp,useReducer:Ea,useRef:Cc,useState:function(){return Ea(Fn)},useDebugValue:hl,useDeferredValue:function(M){var P=$o();return Zr===null?P.memoizedState=M:wp(P,Zr.memoizedState,M)},useTransition:function(){var M=Ea(Fn)[0],P=$o().memoizedState;return[M,P]},useMutableSource:bc,useSyncExternalStore:Vu,useId:Qu,unstable_isNewReconciler:!1};function Ro(M,P){if(M&&M.defaultProps){P=pe({},P),M=M.defaultProps;for(var F in M)P[F]===void 0&&(P[F]=M[F]);return P}return P}function Tc(M,P,F,q){P=M.memoizedState,F=F(q,P),F=F==null?P:pe({},P,F),M.memoizedState=F,M.lanes===0&&(M.updateQueue.baseState=F)}var Pc={isMounted:function(M){return(M=M._reactInternals)?ut(M)===M:!1},enqueueSetState:function(M,P,F){M=M._reactInternals;var q=Vn(),le=ci(M),_e=ks(q,le);_e.payload=P,F!=null&&(_e.callback=F),P=Po(M,_e,le),P!==null&&(Wo(P,M,le,q),xc(P,M,le))},enqueueReplaceState:function(M,P,F){M=M._reactInternals;var q=Vn(),le=ci(M),_e=ks(q,le);_e.tag=1,_e.payload=P,F!=null&&(_e.callback=F),P=Po(M,_e,le),P!==null&&(Wo(P,M,le,q),xc(P,M,le))},enqueueForceUpdate:function(M,P){M=M._reactInternals;var F=Vn(),q=ci(M),le=ks(F,q);le.tag=2,P!=null&&(le.callback=P),P=Po(M,le,q),P!==null&&(Wo(P,M,q,F),xc(P,M,q))}};function Zu(M,P,F,q,le,_e,we){return M=M.stateNode,typeof M.shouldComponentUpdate=="function"?M.shouldComponentUpdate(q,_e,we):P.prototype&&P.prototype.isPureReactComponent?!At(F,q)||!At(le,_e):!0}function Ai(M,P,F){var q=!1,le=Qs,_e=P.contextType;return typeof _e=="object"&&_e!==null?_e=Mo(_e):(le=Qn(P)?Yn:Ln.current,q=P.contextTypes,_e=(q=q!=null)?ha(M,le):Qs),P=new P(F,_e),M.memoizedState=P.state!==null&&P.state!==void 0?P.state:null,P.updater=Pc,M.stateNode=P,P._reactInternals=M,q&&(M=M.stateNode,M.__reactInternalMemoizedUnmaskedChildContext=le,M.__reactInternalMemoizedMaskedChildContext=_e),P}function Ma(M,P,F,q){M=P.state,typeof P.componentWillReceiveProps=="function"&&P.componentWillReceiveProps(F,q),typeof P.UNSAFE_componentWillReceiveProps=="function"&&P.UNSAFE_componentWillReceiveProps(F,q),P.state!==M&&Pc.enqueueReplaceState(P,P.state,null)}function ed(M,P,F,q){var le=M.stateNode;le.props=F,le.state=M.memoizedState,le.refs={},gc(M);var _e=P.contextType;typeof _e=="object"&&_e!==null?le.context=Mo(_e):(_e=Qn(P)?Yn:Ln.current,le.context=ha(M,_e)),le.state=M.memoizedState,_e=P.getDerivedStateFromProps,typeof _e=="function"&&(Tc(M,P,_e,F),le.state=M.memoizedState),typeof P.getDerivedStateFromProps=="function"||typeof le.getSnapshotBeforeUpdate=="function"||typeof le.UNSAFE_componentWillMount!="function"&&typeof le.componentWillMount!="function"||(P=le.state,typeof le.componentWillMount=="function"&&le.componentWillMount(),typeof le.UNSAFE_componentWillMount=="function"&&le.UNSAFE_componentWillMount(),P!==le.state&&Pc.enqueueReplaceState(le,le.state,null),ya(M,F,le,q),le.state=M.memoizedState),typeof le.componentDidMount=="function"&&(M.flags|=4194308)}function Oi(M,P){try{var F="",q=P;do F+=ve(q),q=q.return;while(q);var le=F}catch(_e){le=`
31
31
  Error generating stack: `+_e.message+`
32
- `+_e.stack}return{value:M,source:P,stack:le,digest:null}}function $c(M,P,F){return{value:M,source:null,stack:F!=null?F:null,digest:P!=null?P:null}}function Ta(M,P){try{console.error(P.value)}catch(F){setTimeout(function(){throw F})}}var Pp=typeof WeakMap=="function"?WeakMap:Map;function xl(M,P,F){F=ks(-1,F),F.tag=3,F.payload={element:null};var q=P.value;return F.callback=function(){Hc||(Hc=!0,vd=q),Ta(M,P)},F}function Rc(M,P,F){F=ks(-1,F),F.tag=3;var q=M.type.getDerivedStateFromError;if(typeof q=="function"){var le=P.value;F.payload=function(){return q(le)},F.callback=function(){Ta(M,P)}}var _e=M.stateNode;return _e!==null&&typeof _e.componentDidCatch=="function"&&(F.callback=function(){Ta(M,P),typeof q!="function"&&(ai===null?ai=new Set([this]):ai.add(this));var we=P.stack;this.componentDidCatch(P.value,{componentStack:we!==null?we:""})}),F}function _l(M,P,F){var q=M.pingCache;if(q===null){q=M.pingCache=new Pp;var le=new Set;q.set(P,le)}else le=q.get(P),le===void 0&&(le=new Set,q.set(P,le));le.has(F)||(le.add(F),M=Ff.bind(null,M,P,F),P.then(M,M))}function $p(M){do{var P;if((P=M.tag===13)&&(P=M.memoizedState,P=P!==null?P.dehydrated!==null:!0),P)return M;M=M.return}while(M!==null);return null}function td(M,P,F,q,le){return(M.mode&1)===0?(M===P?M.flags|=65536:(M.flags|=128,F.flags|=131072,F.flags&=-52805,F.tag===1&&(F.alternate===null?F.tag=17:(P=ks(-1,1),P.tag=2,Po(F,P,1))),F.lanes|=1),M):(M.flags|=65536,M.lanes=le,M)}var kc=z.ReactCurrentOwner,zn=!1;function Sn(M,P,F,q){P.child=M===null?fc(P,null,F,q):Xr(P,M.child,F,q)}function Rp(M,P,F,q,le){F=F.render;var _e=P.ref;return ei(P,le),q=Di(M,P,F,q,_e,le),F=vc(),M!==null&&!zn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,zo(M,P,le)):(Br&&F&&tl(P),P.flags|=1,Sn(M,P,q,le),P.child)}function rd(M,P,F,q,le){if(M===null){var _e=F.type;return typeof _e=="function"&&!Vc(_e)&&_e.defaultProps===void 0&&F.compare===null&&F.defaultProps===void 0?(P.tag=15,P.type=_e,_s(M,P,_e,q,le)):(M=Wc(F.type,null,q,P,P.mode,le),M.ref=P.ref,M.return=P,P.child=M)}if(_e=M.child,(M.lanes&le)===0){var we=_e.memoizedProps;if(F=F.compare,F=F!==null?F:At,F(we,q)&&M.ref===P.ref)return zo(M,P,le)}return P.flags|=1,M=qo(_e,q),M.ref=P.ref,M.return=P,P.child=M}function _s(M,P,F,q,le){if(M!==null){var _e=M.memoizedProps;if(At(_e,q)&&M.ref===P.ref)if(zn=!1,P.pendingProps=q=_e,(M.lanes&le)!==0)(M.flags&131072)!==0&&(zn=!0);else return P.lanes=M.lanes,zo(M,P,le)}return ad(M,P,F,q,le)}function nd(M,P,F){var q=P.pendingProps,le=q.children,_e=M!==null?M.memoizedState:null;if(q.mode==="hidden")if((P.mode&1)===0)P.memoizedState={baseLanes:0,cachePool:null,transitions:null},jr(Ia,ho),ho|=F;else{if((F&1073741824)===0)return M=_e!==null?_e.baseLanes|F:F,P.lanes=P.childLanes=1073741824,P.memoizedState={baseLanes:M,cachePool:null,transitions:null},P.updateQueue=null,jr(Ia,ho),ho|=M,null;P.memoizedState={baseLanes:0,cachePool:null,transitions:null},q=_e!==null?_e.baseLanes:F,jr(Ia,ho),ho|=q}else _e!==null?(q=_e.baseLanes|F,P.memoizedState=null):q=F,jr(Ia,ho),ho|=q;return Sn(M,P,le,F),P.child}function od(M,P){var F=P.ref;(M===null&&F!==null||M!==null&&M.ref!==F)&&(P.flags|=512,P.flags|=2097152)}function ad(M,P,F,q,le){var _e=Qn(F)?Yn:Ln.current;return _e=ha(P,_e),ei(P,le),F=Di(M,P,F,q,_e,le),q=vc(),M!==null&&!zn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,zo(M,P,le)):(Br&&q&&tl(P),P.flags|=1,Sn(M,P,F,le),P.child)}function ld(M,P,F,q,le){if(Qn(F)){var _e=!0;Co(P)}else _e=!1;if(ei(P,le),P.stateNode===null)Lc(M,P),Ai(P,F,q),ed(P,F,q,le),q=!0;else if(M===null){var we=P.stateNode,Oe=P.memoizedProps;we.props=Oe;var ze=we.context,ct=F.contextType;typeof ct=="object"&&ct!==null?ct=Mo(ct):(ct=Qn(F)?Yn:Ln.current,ct=ha(P,ct));var Mt=F.getDerivedStateFromProps,Rt=typeof Mt=="function"||typeof we.getSnapshotBeforeUpdate=="function";Rt||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Oe!==q||ze!==ct)&&Ma(P,we,q,ct),To=!1;var wt=P.memoizedState;we.state=wt,ya(P,q,we,le),ze=P.memoizedState,Oe!==q||wt!==ze||Jn.current||To?(typeof Mt=="function"&&(Tc(P,F,Mt,q),ze=P.memoizedState),(Oe=To||Zu(P,F,Oe,q,wt,ze,ct))?(Rt||typeof we.UNSAFE_componentWillMount!="function"&&typeof we.componentWillMount!="function"||(typeof we.componentWillMount=="function"&&we.componentWillMount(),typeof we.UNSAFE_componentWillMount=="function"&&we.UNSAFE_componentWillMount()),typeof we.componentDidMount=="function"&&(P.flags|=4194308)):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),P.memoizedProps=q,P.memoizedState=ze),we.props=q,we.state=ze,we.context=ct,q=Oe):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),q=!1)}else{we=P.stateNode,vp(M,P),Oe=P.memoizedProps,ct=P.type===P.elementType?Oe:Ro(P.type,Oe),we.props=ct,Rt=P.pendingProps,wt=we.context,ze=F.contextType,typeof ze=="object"&&ze!==null?ze=Mo(ze):(ze=Qn(F)?Yn:Ln.current,ze=ha(P,ze));var Ot=F.getDerivedStateFromProps;(Mt=typeof Ot=="function"||typeof we.getSnapshotBeforeUpdate=="function")||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Oe!==Rt||wt!==ze)&&Ma(P,we,q,ze),To=!1,wt=P.memoizedState,we.state=wt,ya(P,q,we,le);var Nt=P.memoizedState;Oe!==Rt||wt!==Nt||Jn.current||To?(typeof Ot=="function"&&(Tc(P,F,Ot,q),Nt=P.memoizedState),(ct=To||Zu(P,F,ct,q,wt,Nt,ze)||!1)?(Mt||typeof we.UNSAFE_componentWillUpdate!="function"&&typeof we.componentWillUpdate!="function"||(typeof we.componentWillUpdate=="function"&&we.componentWillUpdate(q,Nt,ze),typeof we.UNSAFE_componentWillUpdate=="function"&&we.UNSAFE_componentWillUpdate(q,Nt,ze)),typeof we.componentDidUpdate=="function"&&(P.flags|=4),typeof we.getSnapshotBeforeUpdate=="function"&&(P.flags|=1024)):(typeof we.componentDidUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=1024),P.memoizedProps=q,P.memoizedState=Nt),we.props=q,we.state=Nt,we.context=ze,q=ct):(typeof we.componentDidUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=1024),q=!1)}return cd(M,P,F,q,_e,le)}function cd(M,P,F,q,le,_e){od(M,P);var we=(P.flags&128)!==0;if(!q&&!we)return le&&mp(P,F,!1),zo(M,P,_e);q=P.stateNode,kc.current=P;var Oe=we&&typeof F.getDerivedStateFromError!="function"?null:q.render();return P.flags|=1,M!==null&&we?(P.child=Xr(P,M.child,null,_e),P.child=Xr(P,null,Oe,_e)):Sn(M,P,Oe,_e),P.memoizedState=q.state,le&&mp(P,F,!0),P.child}function kp(M){var P=M.stateNode;P.pendingContext?pp(M,P.pendingContext,P.pendingContext!==P.context):P.context&&pp(M,P.context,!1),Hu(M,P.containerInfo)}function ys(M,P,F,q,le){return ps(),fs(le),P.flags|=256,Sn(M,P,F,q),P.child}var yl={dehydrated:null,treeContext:null,retryLane:0};function vl(M){return{baseLanes:M,cachePool:null,transitions:null}}function Ic(M,P,F){var q=P.pendingProps,le=Vr.current,_e=!1,we=(P.flags&128)!==0,Oe;if((Oe=we)||(Oe=M!==null&&M.memoizedState===null?!1:(le&2)!==0),Oe?(_e=!0,P.flags&=-129):(M===null||M.memoizedState!==null)&&(le|=1),jr(Vr,le&1),M===null)return Xn(P),M=P.memoizedState,M!==null&&(M=M.dehydrated,M!==null)?((P.mode&1)===0?P.lanes=1:M.data==="$!"?P.lanes=8:P.lanes=1073741824,null):(we=q.children,M=q.fallback,_e?(q=P.mode,_e=P.child,we={mode:"hidden",children:we},(q&1)===0&&_e!==null?(_e.childLanes=0,_e.pendingProps=we):_e=qc(we,q,0,null),M=Yi(M,q,F,null),_e.return=P,M.return=P,_e.sibling=M,P.child=_e,P.child.memoizedState=vl(F),P.memoizedState=yl,M):Pa(P,we));if(le=M.memoizedState,le!==null&&(Oe=le.dehydrated,Oe!==null))return er(M,P,we,q,Oe,le,F);if(_e){_e=q.fallback,we=P.mode,le=M.child,Oe=le.sibling;var ze={mode:"hidden",children:q.children};return(we&1)===0&&P.child!==le?(q=P.child,q.childLanes=0,q.pendingProps=ze,P.deletions=null):(q=qo(le,ze),q.subtreeFlags=le.subtreeFlags&14680064),Oe!==null?_e=qo(Oe,_e):(_e=Yi(_e,we,F,null),_e.flags|=2),_e.return=P,q.return=P,q.sibling=_e,P.child=q,q=_e,_e=P.child,we=M.child.memoizedState,we=we===null?vl(F):{baseLanes:we.baseLanes|F,cachePool:null,transitions:we.transitions},_e.memoizedState=we,_e.childLanes=M.childLanes&~F,P.memoizedState=yl,q}return _e=M.child,M=_e.sibling,q=qo(_e,{mode:"visible",children:q.children}),(P.mode&1)===0&&(q.lanes=F),q.return=P,q.sibling=null,M!==null&&(F=P.deletions,F===null?(P.deletions=[M],P.flags|=16):F.push(M)),P.child=q,P.memoizedState=null,q}function Pa(M,P){return P=qc({mode:"visible",children:P},M.mode,0,null),P.return=M,M.child=P}function As(M,P,F,q){return q!==null&&fs(q),Xr(P,M.child,null,F),M=Pa(P,P.pendingProps.children),M.flags|=2,P.memoizedState=null,M}function er(M,P,F,q,le,_e,we){if(F)return P.flags&256?(P.flags&=-257,q=$c(Error(g(422))),As(M,P,we,q)):P.memoizedState!==null?(P.child=M.child,P.flags|=128,null):(_e=q.fallback,le=P.mode,q=qc({mode:"visible",children:q.children},le,0,null),_e=Yi(_e,le,we,null),_e.flags|=2,q.return=P,_e.return=P,q.sibling=_e,P.child=q,(P.mode&1)!==0&&Xr(P,M.child,null,we),P.child.memoizedState=vl(we),P.memoizedState=yl,_e);if((P.mode&1)===0)return As(M,P,we,null);if(le.data==="$!"){if(q=le.nextSibling&&le.nextSibling.dataset,q)var Oe=q.dgst;return q=Oe,_e=Error(g(419)),q=$c(_e,q,void 0),As(M,P,we,q)}if(Oe=(we&M.childLanes)!==0,zn||Oe){if(q=xn,q!==null){switch(we&-we){case 4:le=2;break;case 16:le=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:le=32;break;case 536870912:le=268435456;break;default:le=0}le=(le&(q.suspendedLanes|we))!==0?0:le,le!==0&&le!==_e.retryLane&&(_e.retryLane=le,Rs(M,le),Wo(q,M,le,-1))}return Md(),q=$c(Error(g(421))),As(M,P,we,q)}return le.data==="$?"?(P.flags|=128,P.child=M.child,P=Nf.bind(null,M),le._reactRetry=P,null):(M=_e.treeContext,uo=Ks(le.nextSibling),An=P,Br=!0,Yo=null,M!==null&&(So[wo++]=ls,So[wo++]=us,So[wo++]=Ti,ls=M.id,us=M.overflow,Ti=P),P=Pa(P,q.children),P.flags|=4096,P)}function bl(M,P,F){M.lanes|=P;var q=M.alternate;q!==null&&(q.lanes|=P),Cn(M.return,P,F)}function El(M,P,F,q,le){var _e=M.memoizedState;_e===null?M.memoizedState={isBackwards:P,rendering:null,renderingStartTime:0,last:q,tail:F,tailMode:le}:(_e.isBackwards=P,_e.rendering=null,_e.renderingStartTime=0,_e.last=q,_e.tail=F,_e.tailMode=le)}function ni(M,P,F){var q=P.pendingProps,le=q.revealOrder,_e=q.tail;if(Sn(M,P,q.children,F),q=Vr.current,(q&2)!==0)q=q&1|2,P.flags|=128;else{if(M!==null&&(M.flags&128)!==0)e:for(M=P.child;M!==null;){if(M.tag===13)M.memoizedState!==null&&bl(M,F,P);else if(M.tag===19)bl(M,F,P);else if(M.child!==null){M.child.return=M,M=M.child;continue}if(M===P)break e;for(;M.sibling===null;){if(M.return===null||M.return===P)break e;M=M.return}M.sibling.return=M.return,M=M.sibling}q&=1}if(jr(Vr,q),(P.mode&1)===0)P.memoizedState=null;else switch(le){case"forwards":for(F=P.child,le=null;F!==null;)M=F.alternate,M!==null&&Ii(M)===null&&(le=F),F=F.sibling;F=le,F===null?(le=P.child,P.child=null):(le=F.sibling,F.sibling=null),El(P,!1,le,F,_e);break;case"backwards":for(F=null,le=P.child,P.child=null;le!==null;){if(M=le.alternate,M!==null&&Ii(M)===null){P.child=le;break}M=le.sibling,le.sibling=F,F=le,le=M}El(P,!0,F,null,_e);break;case"together":El(P,!1,null,null,void 0);break;default:P.memoizedState=null}return P.child}function Lc(M,P){(P.mode&1)===0&&M!==null&&(M.alternate=null,P.alternate=null,P.flags|=2)}function zo(M,P,F){if(M!==null&&(P.dependencies=M.dependencies),ii|=P.lanes,(F&P.childLanes)===0)return null;if(M!==null&&P.child!==M.child)throw Error(g(153));if(P.child!==null){for(M=P.child,F=qo(M,M.pendingProps),P.child=F,F.return=P;M.sibling!==null;)M=M.sibling,F=F.sibling=qo(M,M.pendingProps),F.return=P;F.sibling=null}return P.child}function Ip(M,P,F){switch(P.tag){case 3:kp(P),ps();break;case 5:Yu(P);break;case 1:Qn(P.type)&&Co(P);break;case 4:Hu(P,P.stateNode.containerInfo);break;case 10:var q=P.type._context,le=P.memoizedProps.value;jr(il,q._currentValue),q._currentValue=le;break;case 13:if(q=P.memoizedState,q!==null)return q.dehydrated!==null?(jr(Vr,Vr.current&1),P.flags|=128,null):(F&P.child.childLanes)!==0?Ic(M,P,F):(jr(Vr,Vr.current&1),M=zo(M,P,F),M!==null?M.sibling:null);jr(Vr,Vr.current&1);break;case 19:if(q=(F&P.childLanes)!==0,(M.flags&128)!==0){if(q)return ni(M,P,F);P.flags|=128}if(le=P.memoizedState,le!==null&&(le.rendering=null,le.tail=null,le.lastEffect=null),jr(Vr,Vr.current),q)break;return null;case 22:case 23:return P.lanes=0,nd(M,P,F)}return zo(M,P,F)}var wn,ud,Lp,dd;wn=function(M,P){for(var F=P.child;F!==null;){if(F.tag===5||F.tag===6)M.appendChild(F.stateNode);else if(F.tag!==4&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===P)break;for(;F.sibling===null;){if(F.return===null||F.return===P)return;F=F.return}F.sibling.return=F.return,F=F.sibling}},ud=function(){},Lp=function(M,P,F,q){var le=M.memoizedProps;if(le!==q){M=P.stateNode,Is(hs.current);var _e=null;switch(F){case"input":le=Be(M,le),q=Be(M,q),_e=[];break;case"select":le=pe({},le,{value:void 0}),q=pe({},q,{value:void 0}),_e=[];break;case"textarea":le=Ke(M,le),q=Ke(M,q),_e=[];break;default:typeof le.onClick!="function"&&typeof q.onClick=="function"&&(M.onclick=oc)}Lt(F,q);var we;F=null;for(ct in le)if(!q.hasOwnProperty(ct)&&le.hasOwnProperty(ct)&&le[ct]!=null)if(ct==="style"){var Oe=le[ct];for(we in Oe)Oe.hasOwnProperty(we)&&(F||(F={}),F[we]="")}else ct!=="dangerouslySetInnerHTML"&&ct!=="children"&&ct!=="suppressContentEditableWarning"&&ct!=="suppressHydrationWarning"&&ct!=="autoFocus"&&(b.hasOwnProperty(ct)?_e||(_e=[]):(_e=_e||[]).push(ct,null));for(ct in q){var ze=q[ct];if(Oe=le!=null?le[ct]:void 0,q.hasOwnProperty(ct)&&ze!==Oe&&(ze!=null||Oe!=null))if(ct==="style")if(Oe){for(we in Oe)!Oe.hasOwnProperty(we)||ze&&ze.hasOwnProperty(we)||(F||(F={}),F[we]="");for(we in ze)ze.hasOwnProperty(we)&&Oe[we]!==ze[we]&&(F||(F={}),F[we]=ze[we])}else F||(_e||(_e=[]),_e.push(ct,F)),F=ze;else ct==="dangerouslySetInnerHTML"?(ze=ze?ze.__html:void 0,Oe=Oe?Oe.__html:void 0,ze!=null&&Oe!==ze&&(_e=_e||[]).push(ct,ze)):ct==="children"?typeof ze!="string"&&typeof ze!="number"||(_e=_e||[]).push(ct,""+ze):ct!=="suppressContentEditableWarning"&&ct!=="suppressHydrationWarning"&&(b.hasOwnProperty(ct)?(ze!=null&&ct==="onScroll"&&Hr("scroll",M),_e||Oe===ze||(_e=[])):(_e=_e||[]).push(ct,ze))}F&&(_e=_e||[]).push("style",F);var ct=_e;(P.updateQueue=ct)&&(P.flags|=4)}},dd=function(M,P,F,q){F!==q&&(P.flags|=4)};function Cl(M,P){if(!Br)switch(M.tailMode){case"hidden":P=M.tail;for(var F=null;P!==null;)P.alternate!==null&&(F=P),P=P.sibling;F===null?M.tail=null:F.sibling=null;break;case"collapsed":F=M.tail;for(var q=null;F!==null;)F.alternate!==null&&(q=F),F=F.sibling;q===null?P||M.tail===null?M.tail=null:M.tail.sibling=null:q.sibling=null}}function Mn(M){var P=M.alternate!==null&&M.alternate.child===M.child,F=0,q=0;if(P)for(var le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags&14680064,q|=le.flags&14680064,le.return=M,le=le.sibling;else for(le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags,q|=le.flags,le.return=M,le=le.sibling;return M.subtreeFlags|=q,M.childLanes=F,P}function Rf(M,P,F){var q=P.pendingProps;switch($i(P),P.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Mn(P),null;case 1:return Qn(P.type)&&lc(),Mn(P),null;case 3:return q=P.stateNode,ti(),Yr(Jn),Yr(Ln),yc(),q.pendingContext&&(q.context=q.pendingContext,q.pendingContext=null),(M===null||M.child===null)&&(rl(P)?P.flags|=4:M===null||M.memoizedState.isDehydrated&&(P.flags&256)===0||(P.flags|=1024,Yo!==null&&(Cd(Yo),Yo=null))),ud(M,P),Mn(P),null;case 5:_c(P);var le=Is(va.current);if(F=P.type,M!==null&&P.stateNode!=null)Lp(M,P,F,q,le),M.ref!==P.ref&&(P.flags|=512,P.flags|=2097152);else{if(!q){if(P.stateNode===null)throw Error(g(166));return Mn(P),null}if(M=Is(hs.current),rl(P)){q=P.stateNode,F=P.type;var _e=P.memoizedProps;switch(q[os]=P,q[Js]=_e,M=(P.mode&1)!==0,F){case"dialog":Hr("cancel",q),Hr("close",q);break;case"iframe":case"object":case"embed":Hr("load",q);break;case"video":case"audio":for(le=0;le<Ms.length;le++)Hr(Ms[le],q);break;case"source":Hr("error",q);break;case"img":case"image":case"link":Hr("error",q),Hr("load",q);break;case"details":Hr("toggle",q);break;case"input":He(q,_e),Hr("invalid",q);break;case"select":q._wrapperState={wasMultiple:!!_e.multiple},Hr("invalid",q);break;case"textarea":Xe(q,_e),Hr("invalid",q)}Lt(F,_e),le=null;for(var we in _e)if(_e.hasOwnProperty(we)){var Oe=_e[we];we==="children"?typeof Oe=="string"?q.textContent!==Oe&&(_e.suppressHydrationWarning!==!0&&Ja(q.textContent,Oe,M),le=["children",Oe]):typeof Oe=="number"&&q.textContent!==""+Oe&&(_e.suppressHydrationWarning!==!0&&Ja(q.textContent,Oe,M),le=["children",""+Oe]):b.hasOwnProperty(we)&&Oe!=null&&we==="onScroll"&&Hr("scroll",q)}switch(F){case"input":Le(q),Fe(q,_e,!0);break;case"textarea":Le(q),yt(q);break;case"select":case"option":break;default:typeof _e.onClick=="function"&&(q.onclick=oc)}q=le,P.updateQueue=q,q!==null&&(P.flags|=4)}else{we=le.nodeType===9?le:le.ownerDocument,M==="http://www.w3.org/1999/xhtml"&&(M=Je(F)),M==="http://www.w3.org/1999/xhtml"?F==="script"?(M=we.createElement("div"),M.innerHTML="<script><\/script>",M=M.removeChild(M.firstChild)):typeof q.is=="string"?M=we.createElement(F,{is:q.is}):(M=we.createElement(F),F==="select"&&(we=M,q.multiple?we.multiple=!0:q.size&&(we.size=q.size))):M=we.createElementNS(M,F),M[os]=P,M[Js]=q,wn(M,P,!1,!1),P.stateNode=M;e:{switch(we=Kt(F,q),F){case"dialog":Hr("cancel",M),Hr("close",M),le=q;break;case"iframe":case"object":case"embed":Hr("load",M),le=q;break;case"video":case"audio":for(le=0;le<Ms.length;le++)Hr(Ms[le],M);le=q;break;case"source":Hr("error",M),le=q;break;case"img":case"image":case"link":Hr("error",M),Hr("load",M),le=q;break;case"details":Hr("toggle",M),le=q;break;case"input":He(M,q),le=Be(M,q),Hr("invalid",M);break;case"option":le=q;break;case"select":M._wrapperState={wasMultiple:!!q.multiple},le=pe({},q,{value:void 0}),Hr("invalid",M);break;case"textarea":Xe(M,q),le=Ke(M,q),Hr("invalid",M);break;default:le=q}Lt(F,le),Oe=le;for(_e in Oe)if(Oe.hasOwnProperty(_e)){var ze=Oe[_e];_e==="style"?Gt(M,ze):_e==="dangerouslySetInnerHTML"?(ze=ze?ze.__html:void 0,ze!=null&&dt(M,ze)):_e==="children"?typeof ze=="string"?(F!=="textarea"||ze!=="")&&jt(M,ze):typeof ze=="number"&&jt(M,""+ze):_e!=="suppressContentEditableWarning"&&_e!=="suppressHydrationWarning"&&_e!=="autoFocus"&&(b.hasOwnProperty(_e)?ze!=null&&_e==="onScroll"&&Hr("scroll",M):ze!=null&&B(M,_e,ze,we))}switch(F){case"input":Le(M),Fe(M,q,!1);break;case"textarea":Le(M),yt(M);break;case"option":q.value!=null&&M.setAttribute("value",""+Re(q.value));break;case"select":M.multiple=!!q.multiple,_e=q.value,_e!=null?je(M,!!q.multiple,_e,!1):q.defaultValue!=null&&je(M,!!q.multiple,q.defaultValue,!0);break;default:typeof le.onClick=="function"&&(M.onclick=oc)}switch(F){case"button":case"input":case"select":case"textarea":q=!!q.autoFocus;break e;case"img":q=!0;break e;default:q=!1}}q&&(P.flags|=4)}P.ref!==null&&(P.flags|=512,P.flags|=2097152)}return Mn(P),null;case 6:if(M&&P.stateNode!=null)dd(M,P,M.memoizedProps,q);else{if(typeof q!="string"&&P.stateNode===null)throw Error(g(166));if(F=Is(va.current),Is(hs.current),rl(P)){if(q=P.stateNode,F=P.memoizedProps,q[os]=P,(_e=q.nodeValue!==F)&&(M=An,M!==null))switch(M.tag){case 3:Ja(q.nodeValue,F,(M.mode&1)!==0);break;case 5:M.memoizedProps.suppressHydrationWarning!==!0&&Ja(q.nodeValue,F,(M.mode&1)!==0)}_e&&(P.flags|=4)}else q=(F.nodeType===9?F:F.ownerDocument).createTextNode(q),q[os]=P,P.stateNode=q}return Mn(P),null;case 13:if(Yr(Vr),q=P.memoizedState,M===null||M.memoizedState!==null&&M.memoizedState.dehydrated!==null){if(Br&&uo!==null&&(P.mode&1)!==0&&(P.flags&128)===0)Ou(),ps(),P.flags|=98560,_e=!1;else if(_e=rl(P),q!==null&&q.dehydrated!==null){if(M===null){if(!_e)throw Error(g(318));if(_e=P.memoizedState,_e=_e!==null?_e.dehydrated:null,!_e)throw Error(g(317));_e[os]=P}else ps(),(P.flags&128)===0&&(P.memoizedState=null),P.flags|=4;Mn(P),_e=!1}else Yo!==null&&(Cd(Yo),Yo=null),_e=!0;if(!_e)return P.flags&65536?P:null}return(P.flags&128)!==0?(P.lanes=F,P):(q=q!==null,q!==(M!==null&&M.memoizedState!==null)&&q&&(P.child.flags|=8192,(P.mode&1)!==0&&(M===null||(Vr.current&1)!==0?pn===0&&(pn=3):Md())),P.updateQueue!==null&&(P.flags|=4),Mn(P),null);case 4:return ti(),ud(M,P),M===null&&Ws(P.stateNode.containerInfo),Mn(P),null;case 10:return mc(P.type._context),Mn(P),null;case 17:return Qn(P.type)&&lc(),Mn(P),null;case 19:if(Yr(Vr),_e=P.memoizedState,_e===null)return Mn(P),null;if(q=(P.flags&128)!==0,we=_e.rendering,we===null)if(q)Cl(_e,!1);else{if(pn!==0||M!==null&&(M.flags&128)!==0)for(M=P.child;M!==null;){if(we=Ii(M),we!==null){for(P.flags|=128,Cl(_e,!1),q=we.updateQueue,q!==null&&(P.updateQueue=q,P.flags|=4),P.subtreeFlags=0,q=F,F=P.child;F!==null;)_e=F,M=q,_e.flags&=14680066,we=_e.alternate,we===null?(_e.childLanes=0,_e.lanes=M,_e.child=null,_e.subtreeFlags=0,_e.memoizedProps=null,_e.memoizedState=null,_e.updateQueue=null,_e.dependencies=null,_e.stateNode=null):(_e.childLanes=we.childLanes,_e.lanes=we.lanes,_e.child=we.child,_e.subtreeFlags=0,_e.deletions=null,_e.memoizedProps=we.memoizedProps,_e.memoizedState=we.memoizedState,_e.updateQueue=we.updateQueue,_e.type=we.type,M=we.dependencies,_e.dependencies=M===null?null:{lanes:M.lanes,firstContext:M.firstContext}),F=F.sibling;return jr(Vr,Vr.current&1|2),P.child}M=M.sibling}_e.tail!==null&&Gr()>Fi&&(P.flags|=128,q=!0,Cl(_e,!1),P.lanes=4194304)}else{if(!q)if(M=Ii(we),M!==null){if(P.flags|=128,q=!0,F=M.updateQueue,F!==null&&(P.updateQueue=F,P.flags|=4),Cl(_e,!0),_e.tail===null&&_e.tailMode==="hidden"&&!we.alternate&&!Br)return Mn(P),null}else 2*Gr()-_e.renderingStartTime>Fi&&F!==1073741824&&(P.flags|=128,q=!0,Cl(_e,!1),P.lanes=4194304);_e.isBackwards?(we.sibling=P.child,P.child=we):(F=_e.last,F!==null?F.sibling=we:P.child=we,_e.last=we)}return _e.tail!==null?(P=_e.tail,_e.rendering=P,_e.tail=P.sibling,_e.renderingStartTime=Gr(),P.sibling=null,F=Vr.current,jr(Vr,q?F&1|2:F&1),P):(Mn(P),null);case 22:case 23:return wd(),q=P.memoizedState!==null,M!==null&&M.memoizedState!==null!==q&&(P.flags|=8192),q&&(P.mode&1)!==0?(ho&1073741824)!==0&&(Mn(P),P.subtreeFlags&6&&(P.flags|=8192)):Mn(P),null;case 24:return null;case 25:return null}throw Error(g(156,P.tag))}function kf(M,P){switch($i(P),P.tag){case 1:return Qn(P.type)&&lc(),M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 3:return ti(),Yr(Jn),Yr(Ln),yc(),M=P.flags,(M&65536)!==0&&(M&128)===0?(P.flags=M&-65537|128,P):null;case 5:return _c(P),null;case 13:if(Yr(Vr),M=P.memoizedState,M!==null&&M.dehydrated!==null){if(P.alternate===null)throw Error(g(340));ps()}return M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 19:return Yr(Vr),null;case 4:return ti(),null;case 10:return mc(P.type._context),null;case 22:case 23:return wd(),null;case 24:return null;default:return null}}var Dc=!1,Wr=!1,Gn=typeof WeakSet=="function"?WeakSet:Set,Ft=null;function $a(M,P){var F=M.ref;if(F!==null)if(typeof F=="function")try{F(null)}catch(q){Jr(M,P,q)}else F.current=null}function Sl(M,P,F){try{F()}catch(q){Jr(M,P,q)}}var Dp=!1;function If(M,P){if(Qa=Hl,M=Dr(),Ga(M)){if("selectionStart"in M)var F={start:M.selectionStart,end:M.selectionEnd};else e:{F=(F=M.ownerDocument)&&F.defaultView||window;var q=F.getSelection&&F.getSelection();if(q&&q.rangeCount!==0){F=q.anchorNode;var le=q.anchorOffset,_e=q.focusNode;q=q.focusOffset;try{F.nodeType,_e.nodeType}catch(kt){F=null;break e}var we=0,Oe=-1,ze=-1,ct=0,Mt=0,Rt=M,wt=null;t:for(;;){for(var Ot;Rt!==F||le!==0&&Rt.nodeType!==3||(Oe=we+le),Rt!==_e||q!==0&&Rt.nodeType!==3||(ze=we+q),Rt.nodeType===3&&(we+=Rt.nodeValue.length),(Ot=Rt.firstChild)!==null;)wt=Rt,Rt=Ot;for(;;){if(Rt===M)break t;if(wt===F&&++ct===le&&(Oe=we),wt===_e&&++Mt===q&&(ze=we),(Ot=Rt.nextSibling)!==null)break;Rt=wt,wt=Rt.parentNode}Rt=Ot}F=Oe===-1||ze===-1?null:{start:Oe,end:ze}}else F=null}F=F||{start:0,end:0}}else F=null;for(wi={focusedElem:M,selectionRange:F},Hl=!1,Ft=P;Ft!==null;)if(P=Ft,M=P.child,(P.subtreeFlags&1028)!==0&&M!==null)M.return=P,Ft=M;else for(;Ft!==null;){P=Ft;try{var Nt=P.alternate;if((P.flags&1024)!==0)switch(P.tag){case 0:case 11:case 15:break;case 1:if(Nt!==null){var Ht=Nt.memoizedProps,tn=Nt.memoizedState,Ze=P.stateNode,We=Ze.getSnapshotBeforeUpdate(P.elementType===P.type?Ht:Ro(P.type,Ht),tn);Ze.__reactInternalSnapshotBeforeUpdate=We}break;case 3:var nt=P.stateNode.containerInfo;nt.nodeType===1?nt.textContent="":nt.nodeType===9&&nt.documentElement&&nt.removeChild(nt.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(g(163))}}catch(kt){Jr(P,P.return,kt)}if(M=P.sibling,M!==null){M.return=P.return,Ft=M;break}Ft=P.return}return Nt=Dp,Dp=!1,Nt}function Os(M,P,F){var q=P.updateQueue;if(q=q!==null?q.lastEffect:null,q!==null){var le=q=q.next;do{if((le.tag&M)===M){var _e=le.destroy;le.destroy=void 0,_e!==void 0&&Sl(P,F,_e)}le=le.next}while(le!==q)}}function wl(M,P){if(P=P.updateQueue,P=P!==null?P.lastEffect:null,P!==null){var F=P=P.next;do{if((F.tag&M)===M){var q=F.create;F.destroy=q()}F=F.next}while(F!==P)}}function Ac(M){var P=M.ref;if(P!==null){var F=M.stateNode;switch(M.tag){case 5:M=F;break;default:M=F}typeof P=="function"?P(M):P.current=M}}function Ap(M){var P=M.alternate;P!==null&&(M.alternate=null,Ap(P)),M.child=null,M.deletions=null,M.sibling=null,M.tag===5&&(P=M.stateNode,P!==null&&(delete P[os],delete P[Js],delete P[ic],delete P[Te],delete P[pa])),M.stateNode=null,M.return=null,M.dependencies=null,M.memoizedProps=null,M.memoizedState=null,M.pendingProps=null,M.stateNode=null,M.updateQueue=null}function Op(M){return M.tag===5||M.tag===3||M.tag===4}function Fp(M){e:for(;;){for(;M.sibling===null;){if(M.return===null||Op(M.return))return null;M=M.return}for(M.sibling.return=M.return,M=M.sibling;M.tag!==5&&M.tag!==6&&M.tag!==18;){if(M.flags&2||M.child===null||M.tag===4)continue e;M.child.return=M,M=M.child}if(!(M.flags&2))return M.stateNode}}function pd(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.nodeType===8?F.parentNode.insertBefore(M,P):F.insertBefore(M,P):(F.nodeType===8?(P=F.parentNode,P.insertBefore(M,F)):(P=F,P.appendChild(M)),F=F._reactRootContainer,F!=null||P.onclick!==null||(P.onclick=oc));else if(q!==4&&(M=M.child,M!==null))for(pd(M,P,F),M=M.sibling;M!==null;)pd(M,P,F),M=M.sibling}function Oc(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.insertBefore(M,P):F.appendChild(M);else if(q!==4&&(M=M.child,M!==null))for(Oc(M,P,F),M=M.sibling;M!==null;)Oc(M,P,F),M=M.sibling}var gn=null,Go=!1;function vs(M,P,F){for(F=F.child;F!==null;)fd(M,P,F),F=F.sibling}function fd(M,P,F){if(ts&&typeof ts.onCommitFiberUnmount=="function")try{ts.onCommitFiberUnmount(Dl,F)}catch(Oe){}switch(F.tag){case 5:Wr||$a(F,P);case 6:var q=gn,le=Go;gn=null,vs(M,P,F),gn=q,Go=le,gn!==null&&(Go?(M=gn,F=F.stateNode,M.nodeType===8?M.parentNode.removeChild(F):M.removeChild(F)):gn.removeChild(F.stateNode));break;case 18:gn!==null&&(Go?(M=gn,F=F.stateNode,M.nodeType===8?Lu(M.parentNode,F):M.nodeType===1&&Lu(M,F),Ir(M)):Lu(gn,F.stateNode));break;case 4:q=gn,le=Go,gn=F.stateNode.containerInfo,Go=!0,vs(M,P,F),gn=q,Go=le;break;case 0:case 11:case 14:case 15:if(!Wr&&(q=F.updateQueue,q!==null&&(q=q.lastEffect,q!==null))){le=q=q.next;do{var _e=le,we=_e.destroy;_e=_e.tag,we!==void 0&&((_e&2)!==0||(_e&4)!==0)&&Sl(F,P,we),le=le.next}while(le!==q)}vs(M,P,F);break;case 1:if(!Wr&&($a(F,P),q=F.stateNode,typeof q.componentWillUnmount=="function"))try{q.props=F.memoizedProps,q.state=F.memoizedState,q.componentWillUnmount()}catch(Oe){Jr(F,P,Oe)}vs(M,P,F);break;case 21:vs(M,P,F);break;case 22:F.mode&1?(Wr=(q=Wr)||F.memoizedState!==null,vs(M,P,F),Wr=q):vs(M,P,F);break;default:vs(M,P,F)}}function Ra(M){var P=M.updateQueue;if(P!==null){M.updateQueue=null;var F=M.stateNode;F===null&&(F=M.stateNode=new Gn),P.forEach(function(q){var le=jf.bind(null,M,q);F.has(q)||(F.add(q),q.then(le,le))})}}function mo(M,P){var F=P.deletions;if(F!==null)for(var q=0;q<F.length;q++){var le=F[q];try{var _e=M,we=P,Oe=we;e:for(;Oe!==null;){switch(Oe.tag){case 5:gn=Oe.stateNode,Go=!1;break e;case 3:gn=Oe.stateNode.containerInfo,Go=!0;break e;case 4:gn=Oe.stateNode.containerInfo,Go=!0;break e}Oe=Oe.return}if(gn===null)throw Error(g(160));fd(_e,we,le),gn=null,Go=!1;var ze=le.alternate;ze!==null&&(ze.return=null),le.return=null}catch(ct){Jr(le,P,ct)}}if(P.subtreeFlags&12854)for(P=P.child;P!==null;)hd(P,M),P=P.sibling}function hd(M,P){var F=M.alternate,q=M.flags;switch(M.tag){case 0:case 11:case 14:case 15:if(mo(P,M),Uo(M),q&4){try{Os(3,M,M.return),wl(3,M)}catch(Ht){Jr(M,M.return,Ht)}try{Os(5,M,M.return)}catch(Ht){Jr(M,M.return,Ht)}}break;case 1:mo(P,M),Uo(M),q&512&&F!==null&&$a(F,F.return);break;case 5:if(mo(P,M),Uo(M),q&512&&F!==null&&$a(F,F.return),M.flags&32){var le=M.stateNode;try{jt(le,"")}catch(Ht){Jr(M,M.return,Ht)}}if(q&4&&(le=M.stateNode,le!=null)){var _e=M.memoizedProps,we=F!==null?F.memoizedProps:_e,Oe=M.type,ze=M.updateQueue;if(M.updateQueue=null,ze!==null)try{Oe==="input"&&_e.type==="radio"&&_e.name!=null&&Ve(le,_e),Kt(Oe,we);var ct=Kt(Oe,_e);for(we=0;we<ze.length;we+=2){var Mt=ze[we],Rt=ze[we+1];Mt==="style"?Gt(le,Rt):Mt==="dangerouslySetInnerHTML"?dt(le,Rt):Mt==="children"?jt(le,Rt):B(le,Mt,Rt,ct)}switch(Oe){case"input":rt(le,_e);break;case"textarea":st(le,_e);break;case"select":var wt=le._wrapperState.wasMultiple;le._wrapperState.wasMultiple=!!_e.multiple;var Ot=_e.value;Ot!=null?je(le,!!_e.multiple,Ot,!1):wt!==!!_e.multiple&&(_e.defaultValue!=null?je(le,!!_e.multiple,_e.defaultValue,!0):je(le,!!_e.multiple,_e.multiple?[]:"",!1))}le[Js]=_e}catch(Ht){Jr(M,M.return,Ht)}}break;case 6:if(mo(P,M),Uo(M),q&4){if(M.stateNode===null)throw Error(g(162));le=M.stateNode,_e=M.memoizedProps;try{le.nodeValue=_e}catch(Ht){Jr(M,M.return,Ht)}}break;case 3:if(mo(P,M),Uo(M),q&4&&F!==null&&F.memoizedState.isDehydrated)try{Ir(P.containerInfo)}catch(Ht){Jr(M,M.return,Ht)}break;case 4:mo(P,M),Uo(M);break;case 13:mo(P,M),Uo(M),le=M.child,le.flags&8192&&(_e=le.memoizedState!==null,le.stateNode.isHidden=_e,!_e||le.alternate!==null&&le.alternate.memoizedState!==null||(yd=Gr())),q&4&&Ra(M);break;case 22:if(Mt=F!==null&&F.memoizedState!==null,M.mode&1?(Wr=(ct=Wr)||Mt,mo(P,M),Wr=ct):mo(P,M),Uo(M),q&8192){if(ct=M.memoizedState!==null,(M.stateNode.isHidden=ct)&&!Mt&&(M.mode&1)!==0)for(Ft=M,Mt=M.child;Mt!==null;){for(Rt=Ft=Mt;Ft!==null;){switch(wt=Ft,Ot=wt.child,wt.tag){case 0:case 11:case 14:case 15:Os(4,wt,wt.return);break;case 1:$a(wt,wt.return);var Nt=wt.stateNode;if(typeof Nt.componentWillUnmount=="function"){q=wt,F=wt.return;try{P=q,Nt.props=P.memoizedProps,Nt.state=P.memoizedState,Nt.componentWillUnmount()}catch(Ht){Jr(q,F,Ht)}}break;case 5:$a(wt,wt.return);break;case 22:if(wt.memoizedState!==null){oi(Rt);continue}}Ot!==null?(Ot.return=wt,Ft=Ot):oi(Rt)}Mt=Mt.sibling}e:for(Mt=null,Rt=M;;){if(Rt.tag===5){if(Mt===null){Mt=Rt;try{le=Rt.stateNode,ct?(_e=le.style,typeof _e.setProperty=="function"?_e.setProperty("display","none","important"):_e.display="none"):(Oe=Rt.stateNode,ze=Rt.memoizedProps.style,we=ze!=null&&ze.hasOwnProperty("display")?ze.display:null,Oe.style.display=Pt("display",we))}catch(Ht){Jr(M,M.return,Ht)}}}else if(Rt.tag===6){if(Mt===null)try{Rt.stateNode.nodeValue=ct?"":Rt.memoizedProps}catch(Ht){Jr(M,M.return,Ht)}}else if((Rt.tag!==22&&Rt.tag!==23||Rt.memoizedState===null||Rt===M)&&Rt.child!==null){Rt.child.return=Rt,Rt=Rt.child;continue}if(Rt===M)break e;for(;Rt.sibling===null;){if(Rt.return===null||Rt.return===M)break e;Mt===Rt&&(Mt=null),Rt=Rt.return}Mt===Rt&&(Mt=null),Rt.sibling.return=Rt.return,Rt=Rt.sibling}}break;case 19:mo(P,M),Uo(M),q&4&&Ra(M);break;case 21:break;default:mo(P,M),Uo(M)}}function Uo(M){var P=M.flags;if(P&2){try{e:{for(var F=M.return;F!==null;){if(Op(F)){var q=F;break e}F=F.return}throw Error(g(160))}switch(q.tag){case 5:var le=q.stateNode;q.flags&32&&(jt(le,""),q.flags&=-33);var _e=Fp(M);Oc(M,_e,le);break;case 3:case 4:var we=q.stateNode.containerInfo,Oe=Fp(M);pd(M,Oe,we);break;default:throw Error(g(161))}}catch(ze){Jr(M,M.return,ze)}M.flags&=-3}P&4096&&(M.flags&=-4097)}function Fc(M,P,F){Ft=M,xd(M)}function xd(M,P,F){for(var q=(M.mode&1)!==0;Ft!==null;){var le=Ft,_e=le.child;if(le.tag===22&&q){var we=le.memoizedState!==null||Dc;if(!we){var Oe=le.alternate,ze=Oe!==null&&Oe.memoizedState!==null||Wr;Oe=Dc;var ct=Wr;if(Dc=we,(Wr=ze)&&!ct)for(Ft=le;Ft!==null;)we=Ft,ze=we.child,we.tag===22&&we.memoizedState!==null?Np(le):ze!==null?(ze.return=we,Ft=ze):Np(le);for(;_e!==null;)Ft=_e,xd(_e),_e=_e.sibling;Ft=le,Dc=Oe,Wr=ct}Vo(M)}else(le.subtreeFlags&8772)!==0&&_e!==null?(_e.return=le,Ft=_e):Vo(M)}}function Vo(M){for(;Ft!==null;){var P=Ft;if((P.flags&8772)!==0){var F=P.alternate;try{if((P.flags&8772)!==0)switch(P.tag){case 0:case 11:case 15:Wr||wl(5,P);break;case 1:var q=P.stateNode;if(P.flags&4&&!Wr)if(F===null)q.componentDidMount();else{var le=P.elementType===P.type?F.memoizedProps:Ro(P.type,F.memoizedProps);q.componentDidUpdate(le,F.memoizedState,q.__reactInternalSnapshotBeforeUpdate)}var _e=P.updateQueue;_e!==null&&ju(P,_e,q);break;case 3:var we=P.updateQueue;if(we!==null){if(F=null,P.child!==null)switch(P.child.tag){case 5:F=P.child.stateNode;break;case 1:F=P.child.stateNode}ju(P,we,F)}break;case 5:var Oe=P.stateNode;if(F===null&&P.flags&4){F=Oe;var ze=P.memoizedProps;switch(P.type){case"button":case"input":case"select":case"textarea":ze.autoFocus&&F.focus();break;case"img":ze.src&&(F.src=ze.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(P.memoizedState===null){var ct=P.alternate;if(ct!==null){var Mt=ct.memoizedState;if(Mt!==null){var Rt=Mt.dehydrated;Rt!==null&&Ir(Rt)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(g(163))}Wr||P.flags&512&&Ac(P)}catch(wt){Jr(P,P.return,wt)}}if(P===M){Ft=null;break}if(F=P.sibling,F!==null){F.return=P.return,Ft=F;break}Ft=P.return}}function oi(M){for(;Ft!==null;){var P=Ft;if(P===M){Ft=null;break}var F=P.sibling;if(F!==null){F.return=P.return,Ft=F;break}Ft=P.return}}function Np(M){for(;Ft!==null;){var P=Ft;try{switch(P.tag){case 0:case 11:case 15:var F=P.return;try{wl(4,P)}catch(ze){Jr(P,F,ze)}break;case 1:var q=P.stateNode;if(typeof q.componentDidMount=="function"){var le=P.return;try{q.componentDidMount()}catch(ze){Jr(P,le,ze)}}var _e=P.return;try{Ac(P)}catch(ze){Jr(P,_e,ze)}break;case 5:var we=P.return;try{Ac(P)}catch(ze){Jr(P,we,ze)}}}catch(ze){Jr(P,P.return,ze)}if(P===M){Ft=null;break}var Oe=P.sibling;if(Oe!==null){Oe.return=P.return,Ft=Oe;break}Ft=P.return}}var jp=Math.ceil,Nc=z.ReactCurrentDispatcher,_d=z.ReactCurrentOwner,Io=z.ReactCurrentBatchConfig,Tr=0,xn=null,cn=null,Tn=0,ho=0,Ia=Kn(0),pn=0,Ml=null,ii=0,Tl=0,jc=0,Pl=null,to=null,yd=0,Fi=1/0,Fs=null,Hc=!1,vd=null,ai=null,Yc=!1,li=null,Un=0,$l=0,bd=null,Bc=-1,Rl=0;function Vn(){return(Tr&6)!==0?Gr():Bc!==-1?Bc:Bc=Gr()}function ci(M){return(M.mode&1)===0?1:(Tr&2)!==0&&Tn!==0?Tn&-Tn:_p.transition!==null?(Rl===0&&(Rl=lu()),Rl):(M=kr,M!==0||(M=window.event,M=M===void 0?16:Gd(M.type)),M)}function Wo(M,P,F,q){if(50<$l)throw $l=0,bd=null,Error(g(185));Fa(M,F,q),((Tr&2)===0||M!==xn)&&(M===xn&&((Tr&2)===0&&(Tl|=F),pn===4&&ui(M,Tn)),no(M,q),F===1&&Tr===0&&(P.mode&1)===0&&(Fi=Gr()+500,cc&&Xs()))}function no(M,P){var F=M.callbackNode;cf(M,P);var q=gi(M,M===xn?Tn:0);if(q===0)F!==null&&so(F),M.callbackNode=null,M.callbackPriority=0;else if(P=q&-q,M.callbackPriority!==P){if(F!=null&&so(F),P===1)M.tag===0?Mi(Hp.bind(null,M)):hp(Hp.bind(null,M)),sc(function(){(Tr&6)===0&&Xs()}),F=null;else{switch(xi(q)){case 1:F=iu;break;case 4:F=Ld;break;case 16:F=Aa;break;case 536870912:F=au;break;default:F=Aa}F=Wp(F,zc.bind(null,M))}M.callbackPriority=P,M.callbackNode=F}}function zc(M,P){if(Bc=-1,Rl=0,(Tr&6)!==0)throw Error(g(327));var F=M.callbackNode;if(La()&&M.callbackNode!==F)return null;var q=gi(M,M===xn?Tn:0);if(q===0)return null;if((q&30)!==0||(q&M.expiredLanes)!==0||P)P=Gc(M,q);else{P=q;var le=Tr;Tr|=2;var _e=Bp();(xn!==M||Tn!==P)&&(Fs=null,Fi=Gr()+500,ji(M,P));do try{Af();break}catch(Oe){Yp(M,Oe)}while(!0);$s(),Nc.current=_e,Tr=le,cn!==null?P=0:(xn=null,Tn=0,P=pn)}if(P!==0){if(P===2&&(le=Ol(M),le!==0&&(q=le,P=Ed(M,le))),P===1)throw F=Ml,ji(M,0),ui(M,q),no(M,Gr()),F;if(P===6)ui(M,q);else{if(le=M.current.alternate,(q&30)===0&&!Lf(le)&&(P=Gc(M,q),P===2&&(_e=Ol(M),_e!==0&&(q=_e,P=Ed(M,_e))),P===1))throw F=Ml,ji(M,0),ui(M,q),no(M,Gr()),F;switch(M.finishedWork=le,M.finishedLanes=q,P){case 0:case 1:throw Error(g(345));case 2:Hi(M,to,Fs);break;case 3:if(ui(M,q),(q&130023424)===q&&(P=yd+500-Gr(),10<P)){if(gi(M,0)!==0)break;if(le=M.suspendedLanes,(le&q)!==q){Vn(),M.pingedLanes|=M.suspendedLanes&le;break}M.timeoutHandle=qs(Hi.bind(null,M,to,Fs),P);break}Hi(M,to,Fs);break;case 4:if(ui(M,q),(q&4194240)===q)break;for(P=M.eventTimes,le=-1;0<q;){var we=31-jo(q);_e=1<<we,we=P[we],we>le&&(le=we),q&=~_e}if(q=le,q=Gr()-q,q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*jp(q/1960))-q,10<q){M.timeoutHandle=qs(Hi.bind(null,M,to,Fs),q);break}Hi(M,to,Fs);break;case 5:Hi(M,to,Fs);break;default:throw Error(g(329))}}}return no(M,Gr()),M.callbackNode===F?zc.bind(null,M):null}function Ed(M,P){var F=Pl;return M.current.memoizedState.isDehydrated&&(ji(M,P).flags|=256),M=Gc(M,P),M!==2&&(P=to,to=F,P!==null&&Cd(P)),M}function Cd(M){to===null?to=M:to.push.apply(to,M)}function Lf(M){for(var P=M;;){if(P.flags&16384){var F=P.updateQueue;if(F!==null&&(F=F.stores,F!==null))for(var q=0;q<F.length;q++){var le=F[q],_e=le.getSnapshot;le=le.value;try{if(!at(_e(),le))return!1}catch(we){return!1}}}if(F=P.child,P.subtreeFlags&16384&&F!==null)F.return=P,P=F;else{if(P===M)break;for(;P.sibling===null;){if(P.return===null||P.return===M)return!0;P=P.return}P.sibling.return=P.return,P=P.sibling}}return!0}function ui(M,P){for(P&=~jc,P&=~Tl,M.suspendedLanes|=P,M.pingedLanes&=~P,M=M.expirationTimes;0<P;){var F=31-jo(P),q=1<<F;M[F]=-1,P&=~q}}function Hp(M){if((Tr&6)!==0)throw Error(g(327));La();var P=gi(M,0);if((P&1)===0)return no(M,Gr()),null;var F=Gc(M,P);if(M.tag!==0&&F===2){var q=Ol(M);q!==0&&(P=q,F=Ed(M,q))}if(F===1)throw F=Ml,ji(M,0),ui(M,P),no(M,Gr()),F;if(F===6)throw Error(g(345));return M.finishedWork=M.current.alternate,M.finishedLanes=P,Hi(M,to,Fs),no(M,Gr()),null}function Sd(M,P){var F=Tr;Tr|=1;try{return M(P)}finally{Tr=F,Tr===0&&(Fi=Gr()+500,cc&&Xs())}}function Ni(M){li!==null&&li.tag===0&&(Tr&6)===0&&La();var P=Tr;Tr|=1;var F=Io.transition,q=kr;try{if(Io.transition=null,kr=1,M)return M()}finally{kr=q,Io.transition=F,Tr=P,(Tr&6)===0&&Xs()}}function wd(){ho=Ia.current,Yr(Ia)}function ji(M,P){M.finishedWork=null,M.finishedLanes=0;var F=M.timeoutHandle;if(F!==-1&&(M.timeoutHandle=-1,Za(F)),cn!==null)for(F=cn.return;F!==null;){var q=F;switch($i(q),q.tag){case 1:q=q.type.childContextTypes,q!=null&&lc();break;case 3:ti(),Yr(Jn),Yr(Ln),yc();break;case 5:_c(q);break;case 4:ti();break;case 13:Yr(Vr);break;case 19:Yr(Vr);break;case 10:mc(q.type._context);break;case 22:case 23:wd()}F=F.return}if(xn=M,cn=M=qo(M.current,null),Tn=ho=P,pn=0,Ml=null,jc=Tl=ii=0,to=Pl=null,ki!==null){for(P=0;P<ki.length;P++)if(F=ki[P],q=F.interleaved,q!==null){F.interleaved=null;var le=q.next,_e=F.pending;if(_e!==null){var we=_e.next;_e.next=le,q.next=we}F.pending=q}ki=null}return M}function Yp(M,P){do{var F=cn;try{if($s(),cl.current=wc,ba){for(var q=Kr.memoizedState;q!==null;){var le=q.queue;le!==null&&(le.pending=null),q=q.next}ba=!1}if(ri=0,dn=Zr=Kr=null,ul=!1,Li=0,_d.current=null,F===null||F.return===null){pn=1,Ml=P,cn=null;break}e:{var _e=M,we=F.return,Oe=F,ze=P;if(P=Tn,Oe.flags|=32768,ze!==null&&typeof ze=="object"&&typeof ze.then=="function"){var ct=ze,Mt=Oe,Rt=Mt.tag;if((Mt.mode&1)===0&&(Rt===0||Rt===11||Rt===15)){var wt=Mt.alternate;wt?(Mt.updateQueue=wt.updateQueue,Mt.memoizedState=wt.memoizedState,Mt.lanes=wt.lanes):(Mt.updateQueue=null,Mt.memoizedState=null)}var Ot=$p(we);if(Ot!==null){Ot.flags&=-257,td(Ot,we,Oe,_e,P),Ot.mode&1&&_l(_e,ct,P),P=Ot,ze=ct;var Nt=P.updateQueue;if(Nt===null){var Ht=new Set;Ht.add(ze),P.updateQueue=Ht}else Nt.add(ze);break e}else{if((P&1)===0){_l(_e,ct,P),Md();break e}ze=Error(g(426))}}else if(Br&&Oe.mode&1){var tn=$p(we);if(tn!==null){(tn.flags&65536)===0&&(tn.flags|=256),td(tn,we,Oe,_e,P),fs(Oi(ze,Oe));break e}}_e=ze=Oi(ze,Oe),pn!==4&&(pn=2),Pl===null?Pl=[_e]:Pl.push(_e),_e=we;do{switch(_e.tag){case 3:_e.flags|=65536,P&=-P,_e.lanes|=P;var Ze=xl(_e,ze,P);bp(_e,Ze);break e;case 1:Oe=ze;var We=_e.type,nt=_e.stateNode;if((_e.flags&128)===0&&(typeof We.getDerivedStateFromError=="function"||nt!==null&&typeof nt.componentDidCatch=="function"&&(ai===null||!ai.has(nt)))){_e.flags|=65536,P&=-P,_e.lanes|=P;var kt=Rc(_e,Oe,P);bp(_e,kt);break e}}_e=_e.return}while(_e!==null)}Gp(F)}catch(Bt){P=Bt,cn===F&&F!==null&&(cn=F=F.return);continue}break}while(!0)}function Bp(){var M=Nc.current;return Nc.current=wc,M===null?wc:M}function Md(){(pn===0||pn===3||pn===2)&&(pn=4),xn===null||(ii&268435455)===0&&(Tl&268435455)===0||ui(xn,Tn)}function Gc(M,P){var F=Tr;Tr|=2;var q=Bp();(xn!==M||Tn!==P)&&(Fs=null,ji(M,P));do try{Df();break}catch(le){Yp(M,le)}while(!0);if($s(),Tr=F,Nc.current=q,cn!==null)throw Error(g(261));return xn=null,Tn=0,pn}function Df(){for(;cn!==null;)zp(cn)}function Af(){for(;cn!==null&&!pi();)zp(cn)}function zp(M){var P=Vp(M.alternate,M,ho);M.memoizedProps=M.pendingProps,P===null?Gp(M):cn=P,_d.current=null}function Gp(M){var P=M;do{var F=P.alternate;if(M=P.return,(P.flags&32768)===0){if(F=Rf(F,P,ho),F!==null){cn=F;return}}else{if(F=kf(F,P),F!==null){F.flags&=32767,cn=F;return}if(M!==null)M.flags|=32768,M.subtreeFlags=0,M.deletions=null;else{pn=6,cn=null;return}}if(P=P.sibling,P!==null){cn=P;return}cn=P=M}while(P!==null);pn===0&&(pn=5)}function Hi(M,P,F){var q=kr,le=Io.transition;try{Io.transition=null,kr=1,Of(M,P,F,q)}finally{Io.transition=le,kr=q}return null}function Of(M,P,F,q){do La();while(li!==null);if((Tr&6)!==0)throw Error(g(327));F=M.finishedWork;var le=M.finishedLanes;if(F===null)return null;if(M.finishedWork=null,M.finishedLanes=0,F===M.current)throw Error(g(177));M.callbackNode=null,M.callbackPriority=0;var _e=F.lanes|F.childLanes;if(jd(M,_e),M===xn&&(cn=xn=null,Tn=0),(F.subtreeFlags&2064)===0&&(F.flags&2064)===0||Yc||(Yc=!0,Wp(Aa,function(){return La(),null})),_e=(F.flags&15990)!==0,(F.subtreeFlags&15990)!==0||_e){_e=Io.transition,Io.transition=null;var we=kr;kr=1;var Oe=Tr;Tr|=4,_d.current=null,If(M,F),hd(F,M),Mf(wi),Hl=!!Qa,wi=Qa=null,M.current=F,Fc(F),of(),Tr=Oe,kr=we,Io.transition=_e}else M.current=F;if(Yc&&(Yc=!1,li=M,Un=le),_e=M.pendingLanes,_e===0&&(ai=null),lf(F.stateNode),no(M,Gr()),P!==null)for(q=M.onRecoverableError,F=0;F<P.length;F++)le=P[F],q(le.value,{componentStack:le.stack,digest:le.digest});if(Hc)throw Hc=!1,M=vd,vd=null,M;return(Un&1)!==0&&M.tag!==0&&La(),_e=M.pendingLanes,(_e&1)!==0?M===bd?$l++:($l=0,bd=M):$l=0,Xs(),null}function La(){if(li!==null){var M=xi(Un),P=Io.transition,F=kr;try{if(Io.transition=null,kr=16>M?16:M,li===null)var q=!1;else{if(M=li,li=null,Un=0,(Tr&6)!==0)throw Error(g(331));var le=Tr;for(Tr|=4,Ft=M.current;Ft!==null;){var _e=Ft,we=_e.child;if((Ft.flags&16)!==0){var Oe=_e.deletions;if(Oe!==null){for(var ze=0;ze<Oe.length;ze++){var ct=Oe[ze];for(Ft=ct;Ft!==null;){var Mt=Ft;switch(Mt.tag){case 0:case 11:case 15:Os(8,Mt,_e)}var Rt=Mt.child;if(Rt!==null)Rt.return=Mt,Ft=Rt;else for(;Ft!==null;){Mt=Ft;var wt=Mt.sibling,Ot=Mt.return;if(Ap(Mt),Mt===ct){Ft=null;break}if(wt!==null){wt.return=Ot,Ft=wt;break}Ft=Ot}}}var Nt=_e.alternate;if(Nt!==null){var Ht=Nt.child;if(Ht!==null){Nt.child=null;do{var tn=Ht.sibling;Ht.sibling=null,Ht=tn}while(Ht!==null)}}Ft=_e}}if((_e.subtreeFlags&2064)!==0&&we!==null)we.return=_e,Ft=we;else e:for(;Ft!==null;){if(_e=Ft,(_e.flags&2048)!==0)switch(_e.tag){case 0:case 11:case 15:Os(9,_e,_e.return)}var Ze=_e.sibling;if(Ze!==null){Ze.return=_e.return,Ft=Ze;break e}Ft=_e.return}}var We=M.current;for(Ft=We;Ft!==null;){we=Ft;var nt=we.child;if((we.subtreeFlags&2064)!==0&&nt!==null)nt.return=we,Ft=nt;else e:for(we=We;Ft!==null;){if(Oe=Ft,(Oe.flags&2048)!==0)try{switch(Oe.tag){case 0:case 11:case 15:wl(9,Oe)}}catch(Bt){Jr(Oe,Oe.return,Bt)}if(Oe===we){Ft=null;break e}var kt=Oe.sibling;if(kt!==null){kt.return=Oe.return,Ft=kt;break e}Ft=Oe.return}}if(Tr=le,Xs(),ts&&typeof ts.onPostCommitFiberRoot=="function")try{ts.onPostCommitFiberRoot(Dl,M)}catch(Bt){}q=!0}return q}finally{kr=F,Io.transition=P}}return!1}function Uc(M,P,F){P=Oi(F,P),P=xl(M,P,1),M=Po(M,P,1),P=Vn(),M!==null&&(Fa(M,1,P),no(M,P))}function Jr(M,P,F){if(M.tag===3)Uc(M,M,F);else for(;P!==null;){if(P.tag===3){Uc(P,M,F);break}else if(P.tag===1){var q=P.stateNode;if(typeof P.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(ai===null||!ai.has(q))){M=Oi(F,M),M=Rc(P,M,1),P=Po(P,M,1),M=Vn(),P!==null&&(Fa(P,1,M),no(P,M));break}}P=P.return}}function Ff(M,P,F){var q=M.pingCache;q!==null&&q.delete(P),P=Vn(),M.pingedLanes|=M.suspendedLanes&F,xn===M&&(Tn&F)===F&&(pn===4||pn===3&&(Tn&130023424)===Tn&&500>Gr()-yd?ji(M,0):jc|=F),no(M,P)}function Up(M,P){P===0&&((M.mode&1)===0?P=1:(P=Al,Al<<=1,(Al&130023424)===0&&(Al=4194304)));var F=Vn();M=Rs(M,P),M!==null&&(Fa(M,P,F),no(M,F))}function Nf(M){var P=M.memoizedState,F=0;P!==null&&(F=P.retryLane),Up(M,F)}function jf(M,P){var F=0;switch(M.tag){case 13:var q=M.stateNode,le=M.memoizedState;le!==null&&(F=le.retryLane);break;case 19:q=M.stateNode;break;default:throw Error(g(314))}q!==null&&q.delete(P),Up(M,F)}var Vp;Vp=function(M,P,F){if(M!==null)if(M.memoizedProps!==P.pendingProps||Jn.current)zn=!0;else{if((M.lanes&F)===0&&(P.flags&128)===0)return zn=!1,Ip(M,P,F);zn=(M.flags&131072)!==0}else zn=!1,Br&&(P.flags&1048576)!==0&&gp(P,dc,P.index);switch(P.lanes=0,P.tag){case 2:var q=P.type;Lc(M,P),M=P.pendingProps;var le=ha(P,Ln.current);ei(P,F),le=Di(null,P,q,M,le,F);var _e=vc();return P.flags|=1,typeof le=="object"&&le!==null&&typeof le.render=="function"&&le.$$typeof===void 0?(P.tag=1,P.memoizedState=null,P.updateQueue=null,Qn(q)?(_e=!0,Co(P)):_e=!1,P.memoizedState=le.state!==null&&le.state!==void 0?le.state:null,gc(P),le.updater=Pc,P.stateNode=le,le._reactInternals=P,ed(P,q,M,F),P=cd(null,P,q,!0,_e,F)):(P.tag=0,Br&&_e&&tl(P),Sn(null,P,le,F),P=P.child),P;case 16:q=P.elementType;e:{switch(Lc(M,P),M=P.pendingProps,le=q._init,q=le(q._payload),P.type=q,le=P.tag=Yf(q),M=Ro(q,M),le){case 0:P=ad(null,P,q,M,F);break e;case 1:P=ld(null,P,q,M,F);break e;case 11:P=Rp(null,P,q,M,F);break e;case 14:P=rd(null,P,q,Ro(q.type,M),F);break e}throw Error(g(306,q,""))}return P;case 0:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),ad(M,P,q,le,F);case 1:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),ld(M,P,q,le,F);case 3:e:{if(kp(P),M===null)throw Error(g(387));q=P.pendingProps,_e=P.memoizedState,le=_e.element,vp(M,P),ya(P,q,null,F);var we=P.memoizedState;if(q=we.element,_e.isDehydrated)if(_e={element:q,isDehydrated:!1,cache:we.cache,pendingSuspenseBoundaries:we.pendingSuspenseBoundaries,transitions:we.transitions},P.updateQueue.baseState=_e,P.memoizedState=_e,P.flags&256){le=Oi(Error(g(423)),P),P=ys(M,P,q,F,le);break e}else if(q!==le){le=Oi(Error(g(424)),P),P=ys(M,P,q,F,le);break e}else for(uo=Ks(P.stateNode.containerInfo.firstChild),An=P,Br=!0,Yo=null,F=fc(P,null,q,F),P.child=F;F;)F.flags=F.flags&-3|4096,F=F.sibling;else{if(ps(),q===le){P=zo(M,P,F);break e}Sn(M,P,q,F)}P=P.child}return P;case 5:return Yu(P),M===null&&Xn(P),q=P.type,le=P.pendingProps,_e=M!==null?M.memoizedProps:null,we=le.children,Xa(q,le)?we=null:_e!==null&&Xa(q,_e)&&(P.flags|=32),od(M,P),Sn(M,P,we,F),P.child;case 6:return M===null&&Xn(P),null;case 13:return Ic(M,P,F);case 4:return Hu(P,P.stateNode.containerInfo),q=P.pendingProps,M===null?P.child=Xr(P,null,q,F):Sn(M,P,q,F),P.child;case 11:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),Rp(M,P,q,le,F);case 7:return Sn(M,P,P.pendingProps,F),P.child;case 8:return Sn(M,P,P.pendingProps.children,F),P.child;case 12:return Sn(M,P,P.pendingProps.children,F),P.child;case 10:e:{if(q=P.type._context,le=P.pendingProps,_e=P.memoizedProps,we=le.value,jr(il,q._currentValue),q._currentValue=we,_e!==null)if(at(_e.value,we)){if(_e.children===le.children&&!Jn.current){P=zo(M,P,F);break e}}else for(_e=P.child,_e!==null&&(_e.return=P);_e!==null;){var Oe=_e.dependencies;if(Oe!==null){we=_e.child;for(var ze=Oe.firstContext;ze!==null;){if(ze.context===q){if(_e.tag===1){ze=ks(-1,F&-F),ze.tag=2;var ct=_e.updateQueue;if(ct!==null){ct=ct.shared;var Mt=ct.pending;Mt===null?ze.next=ze:(ze.next=Mt.next,Mt.next=ze),ct.pending=ze}}_e.lanes|=F,ze=_e.alternate,ze!==null&&(ze.lanes|=F),Cn(_e.return,F,P),Oe.lanes|=F;break}ze=ze.next}}else if(_e.tag===10)we=_e.type===P.type?null:_e.child;else if(_e.tag===18){if(we=_e.return,we===null)throw Error(g(341));we.lanes|=F,Oe=we.alternate,Oe!==null&&(Oe.lanes|=F),Cn(we,F,P),we=_e.sibling}else we=_e.child;if(we!==null)we.return=_e;else for(we=_e;we!==null;){if(we===P){we=null;break}if(_e=we.sibling,_e!==null){_e.return=we.return,we=_e;break}we=we.return}_e=we}Sn(M,P,le.children,F),P=P.child}return P;case 9:return le=P.type,q=P.pendingProps.children,ei(P,F),le=Mo(le),q=q(le),P.flags|=1,Sn(M,P,q,F),P.child;case 14:return q=P.type,le=Ro(q,P.pendingProps),le=Ro(q.type,le),rd(M,P,q,le,F);case 15:return _s(M,P,P.type,P.pendingProps,F);case 17:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),Lc(M,P),P.tag=1,Qn(q)?(M=!0,Co(P)):M=!1,ei(P,F),Ai(P,q,le),ed(P,q,le,F),cd(null,P,q,!0,M,F);case 19:return ni(M,P,F);case 22:return nd(M,P,F)}throw Error(g(156,P.tag))};function Wp(M,P){return Er(M,P)}function Hf(M,P,F,q){this.tag=M,this.key=F,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=P,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lo(M,P,F,q){return new Hf(M,P,F,q)}function Vc(M){return M=M.prototype,!(!M||!M.isReactComponent)}function Yf(M){if(typeof M=="function")return Vc(M)?1:0;if(M!=null){if(M=M.$$typeof,M===oe)return 11;if(M===re)return 14}return 2}function qo(M,P){var F=M.alternate;return F===null?(F=Lo(M.tag,P,M.key,M.mode),F.elementType=M.elementType,F.type=M.type,F.stateNode=M.stateNode,F.alternate=M,M.alternate=F):(F.pendingProps=P,F.type=M.type,F.flags=0,F.subtreeFlags=0,F.deletions=null),F.flags=M.flags&14680064,F.childLanes=M.childLanes,F.lanes=M.lanes,F.child=M.child,F.memoizedProps=M.memoizedProps,F.memoizedState=M.memoizedState,F.updateQueue=M.updateQueue,P=M.dependencies,F.dependencies=P===null?null:{lanes:P.lanes,firstContext:P.firstContext},F.sibling=M.sibling,F.index=M.index,F.ref=M.ref,F}function Wc(M,P,F,q,le,_e){var we=2;if(q=M,typeof M=="function")Vc(M)&&(we=1);else if(typeof M=="string")we=5;else e:switch(M){case W:return Yi(F.children,le,_e,P);case J:we=8,le|=8;break;case Q:return M=Lo(12,F,P,le|2),M.elementType=Q,M.lanes=_e,M;case ie:return M=Lo(13,F,P,le),M.elementType=ie,M.lanes=_e,M;case ee:return M=Lo(19,F,P,le),M.elementType=ee,M.lanes=_e,M;case fe:return qc(F,le,_e,P);default:if(typeof M=="object"&&M!==null)switch(M.$$typeof){case X:we=10;break e;case Z:we=9;break e;case oe:we=11;break e;case re:we=14;break e;case ce:we=16,q=null;break e}throw Error(g(130,M==null?M:typeof M,""))}return P=Lo(we,F,P,le),P.elementType=M,P.type=q,P.lanes=_e,P}function Yi(M,P,F,q){return M=Lo(7,M,q,P),M.lanes=F,M}function qc(M,P,F,q){return M=Lo(22,M,q,P),M.elementType=fe,M.lanes=F,M.stateNode={isHidden:!1},M}function Td(M,P,F){return M=Lo(6,M,null,P),M.lanes=F,M}function Pd(M,P,F){return P=Lo(4,M.children!==null?M.children:[],M.key,P),P.lanes=F,P.stateNode={containerInfo:M.containerInfo,pendingChildren:null,implementation:M.implementation},P}function Bf(M,P,F,q,le){this.tag=P,this.containerInfo=M,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Oa(0),this.expirationTimes=Oa(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Oa(0),this.identifierPrefix=q,this.onRecoverableError=le,this.mutableSourceEagerHydrationData=null}function $d(M,P,F,q,le,_e,we,Oe,ze){return M=new Bf(M,P,F,Oe,ze),P===1?(P=1,_e===!0&&(P|=8)):P=0,_e=Lo(3,null,null,P),M.current=_e,_e.stateNode=M,_e.memoizedState={element:q,isDehydrated:F,cache:null,transitions:null,pendingSuspenseBoundaries:null},gc(_e),M}function zf(M,P,F){var q=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:U,key:q==null?null:""+q,children:M,containerInfo:P,implementation:F}}function qp(M){if(!M)return Qs;M=M._reactInternals;e:{if(ut(M)!==M||M.tag!==1)throw Error(g(170));var P=M;do{switch(P.tag){case 3:P=P.stateNode.context;break e;case 1:if(Qn(P.type)){P=P.stateNode.__reactInternalMemoizedMergedChildContext;break e}}P=P.return}while(P!==null);throw Error(g(171))}if(M.tag===1){var F=M.type;if(Qn(F))return fp(M,F,P)}return P}function Kp(M,P,F,q,le,_e,we,Oe,ze){return M=$d(F,q,!0,M,le,_e,we,Oe,ze),M.context=qp(null),F=M.current,q=Vn(),le=ci(F),_e=ks(q,le),_e.callback=P!=null?P:null,Po(F,_e,le),M.current.lanes=le,Fa(M,le,q),no(M,q),M}function Kc(M,P,F,q){var le=P.current,_e=Vn(),we=ci(le);return F=qp(F),P.context===null?P.context=F:P.pendingContext=F,P=ks(_e,we),P.payload={element:M},q=q===void 0?null:q,q!==null&&(P.callback=q),M=Po(le,P,we),M!==null&&(Wo(M,le,we,_e),xc(M,le,we)),we}function Jc(M){if(M=M.current,!M.child)return null;switch(M.child.tag){case 5:return M.child.stateNode;default:return M.child.stateNode}}function Jp(M,P){if(M=M.memoizedState,M!==null&&M.dehydrated!==null){var F=M.retryLane;M.retryLane=F!==0&&F<P?F:P}}function Rd(M,P){Jp(M,P),(M=M.alternate)&&Jp(M,P)}function Gf(){return null}var Qp=typeof reportError=="function"?reportError:function(M){console.error(M)};function Qc(M){this._internalRoot=M}kl.prototype.render=Qc.prototype.render=function(M){var P=this._internalRoot;if(P===null)throw Error(g(409));Kc(M,P,null,null)},kl.prototype.unmount=Qc.prototype.unmount=function(){var M=this._internalRoot;if(M!==null){this._internalRoot=null;var P=M.containerInfo;Ni(function(){Kc(null,M,null,null)}),P[co]=null}};function kl(M){this._internalRoot=M}kl.prototype.unstable_scheduleHydration=function(M){if(M){var P=uu();M={blockedOn:null,target:M,priority:P};for(var F=0;F<zs.length&&P!==0&&P<zs[F].priority;F++);zs.splice(F,0,M),F===0&&Bd(M)}};function kd(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11)}function Xc(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11&&(M.nodeType!==8||M.nodeValue!==" react-mount-point-unstable "))}function Xp(){}function Uf(M,P,F,q,le){if(le){if(typeof q=="function"){var _e=q;q=function(){var ct=Jc(we);_e.call(ct)}}var we=Kp(P,q,M,0,null,!1,!1,"",Xp);return M._reactRootContainer=we,M[co]=we.current,Ws(M.nodeType===8?M.parentNode:M),Ni(),we}for(;le=M.lastChild;)M.removeChild(le);if(typeof q=="function"){var Oe=q;q=function(){var ct=Jc(ze);Oe.call(ct)}}var ze=$d(M,0,!1,null,null,!1,!1,"",Xp);return M._reactRootContainer=ze,M[co]=ze.current,Ws(M.nodeType===8?M.parentNode:M),Ni(function(){Kc(P,ze,F,q)}),ze}function Bi(M,P,F,q,le){var _e=F._reactRootContainer;if(_e){var we=_e;if(typeof le=="function"){var Oe=le;le=function(){var ze=Jc(we);Oe.call(ze)}}Kc(P,we,M,le)}else we=Uf(F,P,M,le,q);return Jc(we)}cu=function(M){switch(M.tag){case 3:var P=M.stateNode;if(P.current.memoizedState.isDehydrated){var F=Wi(P.pendingLanes);F!==0&&(Na(P,F|1),no(P,Gr()),(Tr&6)===0&&(Fi=Gr()+500,Xs()))}break;case 13:Ni(function(){var q=Rs(M,1);if(q!==null){var le=Vn();Wo(q,M,1,le)}}),Rd(M,1)}},Fl=function(M){if(M.tag===13){var P=Rs(M,134217728);if(P!==null){var F=Vn();Wo(P,M,134217728,F)}Rd(M,134217728)}},Hd=function(M){if(M.tag===13){var P=ci(M),F=Rs(M,P);if(F!==null){var q=Vn();Wo(F,M,P,q)}Rd(M,P)}},uu=function(){return kr},du=function(M,P){var F=kr;try{return kr=M,P()}finally{kr=F}},vr=function(M,P,F){switch(P){case"input":if(rt(M,F),P=F.name,F.type==="radio"&&P!=null){for(F=M;F.parentNode;)F=F.parentNode;for(F=F.querySelectorAll("input[name="+JSON.stringify(""+P)+'][type="radio"]'),P=0;P<F.length;P++){var q=F[P];if(q!==M&&q.form===M.form){var le=ac(q);if(!le)throw Error(g(90));Ge(q),rt(q,le)}}}break;case"textarea":st(M,F);break;case"select":P=F.value,P!=null&&je(M,!!F.multiple,P,!1)}},yn=Sd,Qr=Ni;var Vf={usingClientEntryPoint:!1,Events:[In,pr,ac,xr,qr,Sd]},Il={findFiberByHostInstance:as,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Wf={bundleType:Il.bundleType,version:Il.version,rendererPackageName:Il.rendererPackageName,rendererConfig:Il.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:z.ReactCurrentDispatcher,findHostInstanceByFiber:function(M){return M=dr(M),M===null?null:M.stateNode},findFiberByHostInstance:Il.findFiberByHostInstance||Gf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"){var Zc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Zc.isDisabled&&Zc.supportsFiber)try{Dl=Zc.inject(Wf),ts=Zc}catch(M){}}return reactDom_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Vf,reactDom_production_min.createPortal=function(M,P){var F=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!kd(P))throw Error(g(200));return zf(M,P,null,F)},reactDom_production_min.createRoot=function(M,P){if(!kd(M))throw Error(g(299));var F=!1,q="",le=Qp;return P!=null&&(P.unstable_strictMode===!0&&(F=!0),P.identifierPrefix!==void 0&&(q=P.identifierPrefix),P.onRecoverableError!==void 0&&(le=P.onRecoverableError)),P=$d(M,1,!1,null,null,F,!1,q,le),M[co]=P.current,Ws(M.nodeType===8?M.parentNode:M),new Qc(P)},reactDom_production_min.findDOMNode=function(M){if(M==null)return null;if(M.nodeType===1)return M;var P=M._reactInternals;if(P===void 0)throw typeof M.render=="function"?Error(g(188)):(M=Object.keys(M).join(","),Error(g(268,M)));return M=dr(P),M=M===null?null:M.stateNode,M},reactDom_production_min.flushSync=function(M){return Ni(M)},reactDom_production_min.hydrate=function(M,P,F){if(!Xc(P))throw Error(g(200));return Bi(null,M,P,!0,F)},reactDom_production_min.hydrateRoot=function(M,P,F){if(!kd(M))throw Error(g(405));var q=F!=null&&F.hydratedSources||null,le=!1,_e="",we=Qp;if(F!=null&&(F.unstable_strictMode===!0&&(le=!0),F.identifierPrefix!==void 0&&(_e=F.identifierPrefix),F.onRecoverableError!==void 0&&(we=F.onRecoverableError)),P=Kp(P,null,M,1,F!=null?F:null,le,!1,_e,we),M[co]=P.current,Ws(M),q)for(M=0;M<q.length;M++)F=q[M],le=F._getVersion,le=le(F._source),P.mutableSourceEagerHydrationData==null?P.mutableSourceEagerHydrationData=[F,le]:P.mutableSourceEagerHydrationData.push(F,le);return new kl(P)},reactDom_production_min.render=function(M,P,F){if(!Xc(P))throw Error(g(200));return Bi(null,M,P,!1,F)},reactDom_production_min.unmountComponentAtNode=function(M){if(!Xc(M))throw Error(g(40));return M._reactRootContainer?(Ni(function(){Bi(null,null,M,!1,function(){M._reactRootContainer=null,M[co]=null})}),!0):!1},reactDom_production_min.unstable_batchedUpdates=Sd,reactDom_production_min.unstable_renderSubtreeIntoContainer=function(M,P,F,q){if(!Xc(F))throw Error(g(200));if(M==null||M._reactInternals===void 0)throw Error(g(38));return Bi(M,P,F,!1,q)},reactDom_production_min.version="18.3.1-next-f1338f8080-20240426",reactDom_production_min}var hasRequiredReactDom;function requireReactDom(){if(hasRequiredReactDom)return reactDom.exports;hasRequiredReactDom=1;function d(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(m){console.error(m)}}return d(),reactDom.exports=requireReactDom_production_min(),reactDom.exports}var hasRequiredClient;function requireClient(){if(hasRequiredClient)return client;hasRequiredClient=1;var d=requireReactDom();return client.createRoot=d.createRoot,client.hydrateRoot=d.hydrateRoot,client}var clientExports=requireClient();const scriptRel="modulepreload",assetsURL=function(d){return"/"+d},seen={},__vitePreload=function(m,g,x){let b=Promise.resolve();if(g&&g.length>0){let v=function(T){return Promise.all(T.map($=>Promise.resolve($).then(k=>({status:"fulfilled",value:k}),k=>({status:"rejected",reason:k}))))};document.getElementsByTagName("link");const C=document.querySelector("meta[property=csp-nonce]"),S=(C==null?void 0:C.nonce)||(C==null?void 0:C.getAttribute("nonce"));b=v(g.map(T=>{if(T=assetsURL(T),T in seen)return;seen[T]=!0;const $=T.endsWith(".css"),k=$?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${T}"]${k}`))return;const I=document.createElement("link");if(I.rel=$?"stylesheet":scriptRel,$||(I.as="script"),I.crossOrigin="",I.href=T,S&&I.setAttribute("nonce",S),document.head.appendChild(I),$)return new Promise((D,A)=>{I.addEventListener("load",D),I.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${T}`)))})}))}function E(v){const C=new Event("vite:preloadError",{cancelable:!0});if(C.payload=v,window.dispatchEvent(C),!C.defaultPrevented)throw v}return b.then(v=>{for(const C of v||[])C.status==="rejected"&&E(C.reason);return m().catch(E)})};window.crypto||(window.crypto={});crypto.subtle||(crypto.subtle=console.debug("using polyfill for crypto.subtle")||{});var Lm;(Lm=crypto.subtle).digest||(Lm.digest=(d,m)=>xt(void 0,null,function*(){if(d!=="SHA-512")return alert(d+" required but not supported");const x=(yield __vitePreload(()=>import("./sha512-CbkTEGOo.js").then(b=>b.s),[])).default.arrayBuffer;return x(m)}));var reactDomExports=requireReactDom();const ReactDOM=getDefaultExportFromCjs(reactDomExports);/**
32
+ `+_e.stack}return{value:M,source:P,stack:le,digest:null}}function $c(M,P,F){return{value:M,source:null,stack:F!=null?F:null,digest:P!=null?P:null}}function Ta(M,P){try{console.error(P.value)}catch(F){setTimeout(function(){throw F})}}var Pp=typeof WeakMap=="function"?WeakMap:Map;function xl(M,P,F){F=ks(-1,F),F.tag=3,F.payload={element:null};var q=P.value;return F.callback=function(){Hc||(Hc=!0,vd=q),Ta(M,P)},F}function Rc(M,P,F){F=ks(-1,F),F.tag=3;var q=M.type.getDerivedStateFromError;if(typeof q=="function"){var le=P.value;F.payload=function(){return q(le)},F.callback=function(){Ta(M,P)}}var _e=M.stateNode;return _e!==null&&typeof _e.componentDidCatch=="function"&&(F.callback=function(){Ta(M,P),typeof q!="function"&&(ai===null?ai=new Set([this]):ai.add(this));var we=P.stack;this.componentDidCatch(P.value,{componentStack:we!==null?we:""})}),F}function _l(M,P,F){var q=M.pingCache;if(q===null){q=M.pingCache=new Pp;var le=new Set;q.set(P,le)}else le=q.get(P),le===void 0&&(le=new Set,q.set(P,le));le.has(F)||(le.add(F),M=Ff.bind(null,M,P,F),P.then(M,M))}function $p(M){do{var P;if((P=M.tag===13)&&(P=M.memoizedState,P=P!==null?P.dehydrated!==null:!0),P)return M;M=M.return}while(M!==null);return null}function td(M,P,F,q,le){return(M.mode&1)===0?(M===P?M.flags|=65536:(M.flags|=128,F.flags|=131072,F.flags&=-52805,F.tag===1&&(F.alternate===null?F.tag=17:(P=ks(-1,1),P.tag=2,Po(F,P,1))),F.lanes|=1),M):(M.flags|=65536,M.lanes=le,M)}var kc=z.ReactCurrentOwner,zn=!1;function Sn(M,P,F,q){P.child=M===null?fc(P,null,F,q):Xr(P,M.child,F,q)}function Rp(M,P,F,q,le){F=F.render;var _e=P.ref;return ei(P,le),q=Di(M,P,F,q,_e,le),F=vc(),M!==null&&!zn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,zo(M,P,le)):(Br&&F&&tl(P),P.flags|=1,Sn(M,P,q,le),P.child)}function rd(M,P,F,q,le){if(M===null){var _e=F.type;return typeof _e=="function"&&!Vc(_e)&&_e.defaultProps===void 0&&F.compare===null&&F.defaultProps===void 0?(P.tag=15,P.type=_e,_s(M,P,_e,q,le)):(M=Wc(F.type,null,q,P,P.mode,le),M.ref=P.ref,M.return=P,P.child=M)}if(_e=M.child,(M.lanes&le)===0){var we=_e.memoizedProps;if(F=F.compare,F=F!==null?F:At,F(we,q)&&M.ref===P.ref)return zo(M,P,le)}return P.flags|=1,M=qo(_e,q),M.ref=P.ref,M.return=P,P.child=M}function _s(M,P,F,q,le){if(M!==null){var _e=M.memoizedProps;if(At(_e,q)&&M.ref===P.ref)if(zn=!1,P.pendingProps=q=_e,(M.lanes&le)!==0)(M.flags&131072)!==0&&(zn=!0);else return P.lanes=M.lanes,zo(M,P,le)}return ad(M,P,F,q,le)}function nd(M,P,F){var q=P.pendingProps,le=q.children,_e=M!==null?M.memoizedState:null;if(q.mode==="hidden")if((P.mode&1)===0)P.memoizedState={baseLanes:0,cachePool:null,transitions:null},jr(Ia,ho),ho|=F;else{if((F&1073741824)===0)return M=_e!==null?_e.baseLanes|F:F,P.lanes=P.childLanes=1073741824,P.memoizedState={baseLanes:M,cachePool:null,transitions:null},P.updateQueue=null,jr(Ia,ho),ho|=M,null;P.memoizedState={baseLanes:0,cachePool:null,transitions:null},q=_e!==null?_e.baseLanes:F,jr(Ia,ho),ho|=q}else _e!==null?(q=_e.baseLanes|F,P.memoizedState=null):q=F,jr(Ia,ho),ho|=q;return Sn(M,P,le,F),P.child}function od(M,P){var F=P.ref;(M===null&&F!==null||M!==null&&M.ref!==F)&&(P.flags|=512,P.flags|=2097152)}function ad(M,P,F,q,le){var _e=Qn(F)?Yn:Ln.current;return _e=ha(P,_e),ei(P,le),F=Di(M,P,F,q,_e,le),q=vc(),M!==null&&!zn?(P.updateQueue=M.updateQueue,P.flags&=-2053,M.lanes&=~le,zo(M,P,le)):(Br&&q&&tl(P),P.flags|=1,Sn(M,P,F,le),P.child)}function ld(M,P,F,q,le){if(Qn(F)){var _e=!0;Co(P)}else _e=!1;if(ei(P,le),P.stateNode===null)Lc(M,P),Ai(P,F,q),ed(P,F,q,le),q=!0;else if(M===null){var we=P.stateNode,Oe=P.memoizedProps;we.props=Oe;var ze=we.context,ct=F.contextType;typeof ct=="object"&&ct!==null?ct=Mo(ct):(ct=Qn(F)?Yn:Ln.current,ct=ha(P,ct));var Mt=F.getDerivedStateFromProps,Rt=typeof Mt=="function"||typeof we.getSnapshotBeforeUpdate=="function";Rt||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Oe!==q||ze!==ct)&&Ma(P,we,q,ct),To=!1;var wt=P.memoizedState;we.state=wt,ya(P,q,we,le),ze=P.memoizedState,Oe!==q||wt!==ze||Jn.current||To?(typeof Mt=="function"&&(Tc(P,F,Mt,q),ze=P.memoizedState),(Oe=To||Zu(P,F,Oe,q,wt,ze,ct))?(Rt||typeof we.UNSAFE_componentWillMount!="function"&&typeof we.componentWillMount!="function"||(typeof we.componentWillMount=="function"&&we.componentWillMount(),typeof we.UNSAFE_componentWillMount=="function"&&we.UNSAFE_componentWillMount()),typeof we.componentDidMount=="function"&&(P.flags|=4194308)):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),P.memoizedProps=q,P.memoizedState=ze),we.props=q,we.state=ze,we.context=ct,q=Oe):(typeof we.componentDidMount=="function"&&(P.flags|=4194308),q=!1)}else{we=P.stateNode,vp(M,P),Oe=P.memoizedProps,ct=P.type===P.elementType?Oe:Ro(P.type,Oe),we.props=ct,Rt=P.pendingProps,wt=we.context,ze=F.contextType,typeof ze=="object"&&ze!==null?ze=Mo(ze):(ze=Qn(F)?Yn:Ln.current,ze=ha(P,ze));var Ot=F.getDerivedStateFromProps;(Mt=typeof Ot=="function"||typeof we.getSnapshotBeforeUpdate=="function")||typeof we.UNSAFE_componentWillReceiveProps!="function"&&typeof we.componentWillReceiveProps!="function"||(Oe!==Rt||wt!==ze)&&Ma(P,we,q,ze),To=!1,wt=P.memoizedState,we.state=wt,ya(P,q,we,le);var Nt=P.memoizedState;Oe!==Rt||wt!==Nt||Jn.current||To?(typeof Ot=="function"&&(Tc(P,F,Ot,q),Nt=P.memoizedState),(ct=To||Zu(P,F,ct,q,wt,Nt,ze)||!1)?(Mt||typeof we.UNSAFE_componentWillUpdate!="function"&&typeof we.componentWillUpdate!="function"||(typeof we.componentWillUpdate=="function"&&we.componentWillUpdate(q,Nt,ze),typeof we.UNSAFE_componentWillUpdate=="function"&&we.UNSAFE_componentWillUpdate(q,Nt,ze)),typeof we.componentDidUpdate=="function"&&(P.flags|=4),typeof we.getSnapshotBeforeUpdate=="function"&&(P.flags|=1024)):(typeof we.componentDidUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=1024),P.memoizedProps=q,P.memoizedState=Nt),we.props=q,we.state=Nt,we.context=ze,q=ct):(typeof we.componentDidUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=4),typeof we.getSnapshotBeforeUpdate!="function"||Oe===M.memoizedProps&&wt===M.memoizedState||(P.flags|=1024),q=!1)}return cd(M,P,F,q,_e,le)}function cd(M,P,F,q,le,_e){od(M,P);var we=(P.flags&128)!==0;if(!q&&!we)return le&&mp(P,F,!1),zo(M,P,_e);q=P.stateNode,kc.current=P;var Oe=we&&typeof F.getDerivedStateFromError!="function"?null:q.render();return P.flags|=1,M!==null&&we?(P.child=Xr(P,M.child,null,_e),P.child=Xr(P,null,Oe,_e)):Sn(M,P,Oe,_e),P.memoizedState=q.state,le&&mp(P,F,!0),P.child}function kp(M){var P=M.stateNode;P.pendingContext?pp(M,P.pendingContext,P.pendingContext!==P.context):P.context&&pp(M,P.context,!1),Hu(M,P.containerInfo)}function ys(M,P,F,q,le){return ps(),fs(le),P.flags|=256,Sn(M,P,F,q),P.child}var yl={dehydrated:null,treeContext:null,retryLane:0};function vl(M){return{baseLanes:M,cachePool:null,transitions:null}}function Ic(M,P,F){var q=P.pendingProps,le=Vr.current,_e=!1,we=(P.flags&128)!==0,Oe;if((Oe=we)||(Oe=M!==null&&M.memoizedState===null?!1:(le&2)!==0),Oe?(_e=!0,P.flags&=-129):(M===null||M.memoizedState!==null)&&(le|=1),jr(Vr,le&1),M===null)return Xn(P),M=P.memoizedState,M!==null&&(M=M.dehydrated,M!==null)?((P.mode&1)===0?P.lanes=1:M.data==="$!"?P.lanes=8:P.lanes=1073741824,null):(we=q.children,M=q.fallback,_e?(q=P.mode,_e=P.child,we={mode:"hidden",children:we},(q&1)===0&&_e!==null?(_e.childLanes=0,_e.pendingProps=we):_e=qc(we,q,0,null),M=Yi(M,q,F,null),_e.return=P,M.return=P,_e.sibling=M,P.child=_e,P.child.memoizedState=vl(F),P.memoizedState=yl,M):Pa(P,we));if(le=M.memoizedState,le!==null&&(Oe=le.dehydrated,Oe!==null))return er(M,P,we,q,Oe,le,F);if(_e){_e=q.fallback,we=P.mode,le=M.child,Oe=le.sibling;var ze={mode:"hidden",children:q.children};return(we&1)===0&&P.child!==le?(q=P.child,q.childLanes=0,q.pendingProps=ze,P.deletions=null):(q=qo(le,ze),q.subtreeFlags=le.subtreeFlags&14680064),Oe!==null?_e=qo(Oe,_e):(_e=Yi(_e,we,F,null),_e.flags|=2),_e.return=P,q.return=P,q.sibling=_e,P.child=q,q=_e,_e=P.child,we=M.child.memoizedState,we=we===null?vl(F):{baseLanes:we.baseLanes|F,cachePool:null,transitions:we.transitions},_e.memoizedState=we,_e.childLanes=M.childLanes&~F,P.memoizedState=yl,q}return _e=M.child,M=_e.sibling,q=qo(_e,{mode:"visible",children:q.children}),(P.mode&1)===0&&(q.lanes=F),q.return=P,q.sibling=null,M!==null&&(F=P.deletions,F===null?(P.deletions=[M],P.flags|=16):F.push(M)),P.child=q,P.memoizedState=null,q}function Pa(M,P){return P=qc({mode:"visible",children:P},M.mode,0,null),P.return=M,M.child=P}function As(M,P,F,q){return q!==null&&fs(q),Xr(P,M.child,null,F),M=Pa(P,P.pendingProps.children),M.flags|=2,P.memoizedState=null,M}function er(M,P,F,q,le,_e,we){if(F)return P.flags&256?(P.flags&=-257,q=$c(Error(g(422))),As(M,P,we,q)):P.memoizedState!==null?(P.child=M.child,P.flags|=128,null):(_e=q.fallback,le=P.mode,q=qc({mode:"visible",children:q.children},le,0,null),_e=Yi(_e,le,we,null),_e.flags|=2,q.return=P,_e.return=P,q.sibling=_e,P.child=q,(P.mode&1)!==0&&Xr(P,M.child,null,we),P.child.memoizedState=vl(we),P.memoizedState=yl,_e);if((P.mode&1)===0)return As(M,P,we,null);if(le.data==="$!"){if(q=le.nextSibling&&le.nextSibling.dataset,q)var Oe=q.dgst;return q=Oe,_e=Error(g(419)),q=$c(_e,q,void 0),As(M,P,we,q)}if(Oe=(we&M.childLanes)!==0,zn||Oe){if(q=xn,q!==null){switch(we&-we){case 4:le=2;break;case 16:le=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:le=32;break;case 536870912:le=268435456;break;default:le=0}le=(le&(q.suspendedLanes|we))!==0?0:le,le!==0&&le!==_e.retryLane&&(_e.retryLane=le,Rs(M,le),Wo(q,M,le,-1))}return Md(),q=$c(Error(g(421))),As(M,P,we,q)}return le.data==="$?"?(P.flags|=128,P.child=M.child,P=Nf.bind(null,M),le._reactRetry=P,null):(M=_e.treeContext,uo=Ks(le.nextSibling),An=P,Br=!0,Yo=null,M!==null&&(So[wo++]=ls,So[wo++]=us,So[wo++]=Ti,ls=M.id,us=M.overflow,Ti=P),P=Pa(P,q.children),P.flags|=4096,P)}function bl(M,P,F){M.lanes|=P;var q=M.alternate;q!==null&&(q.lanes|=P),Cn(M.return,P,F)}function El(M,P,F,q,le){var _e=M.memoizedState;_e===null?M.memoizedState={isBackwards:P,rendering:null,renderingStartTime:0,last:q,tail:F,tailMode:le}:(_e.isBackwards=P,_e.rendering=null,_e.renderingStartTime=0,_e.last=q,_e.tail=F,_e.tailMode=le)}function ni(M,P,F){var q=P.pendingProps,le=q.revealOrder,_e=q.tail;if(Sn(M,P,q.children,F),q=Vr.current,(q&2)!==0)q=q&1|2,P.flags|=128;else{if(M!==null&&(M.flags&128)!==0)e:for(M=P.child;M!==null;){if(M.tag===13)M.memoizedState!==null&&bl(M,F,P);else if(M.tag===19)bl(M,F,P);else if(M.child!==null){M.child.return=M,M=M.child;continue}if(M===P)break e;for(;M.sibling===null;){if(M.return===null||M.return===P)break e;M=M.return}M.sibling.return=M.return,M=M.sibling}q&=1}if(jr(Vr,q),(P.mode&1)===0)P.memoizedState=null;else switch(le){case"forwards":for(F=P.child,le=null;F!==null;)M=F.alternate,M!==null&&Ii(M)===null&&(le=F),F=F.sibling;F=le,F===null?(le=P.child,P.child=null):(le=F.sibling,F.sibling=null),El(P,!1,le,F,_e);break;case"backwards":for(F=null,le=P.child,P.child=null;le!==null;){if(M=le.alternate,M!==null&&Ii(M)===null){P.child=le;break}M=le.sibling,le.sibling=F,F=le,le=M}El(P,!0,F,null,_e);break;case"together":El(P,!1,null,null,void 0);break;default:P.memoizedState=null}return P.child}function Lc(M,P){(P.mode&1)===0&&M!==null&&(M.alternate=null,P.alternate=null,P.flags|=2)}function zo(M,P,F){if(M!==null&&(P.dependencies=M.dependencies),ii|=P.lanes,(F&P.childLanes)===0)return null;if(M!==null&&P.child!==M.child)throw Error(g(153));if(P.child!==null){for(M=P.child,F=qo(M,M.pendingProps),P.child=F,F.return=P;M.sibling!==null;)M=M.sibling,F=F.sibling=qo(M,M.pendingProps),F.return=P;F.sibling=null}return P.child}function Ip(M,P,F){switch(P.tag){case 3:kp(P),ps();break;case 5:Yu(P);break;case 1:Qn(P.type)&&Co(P);break;case 4:Hu(P,P.stateNode.containerInfo);break;case 10:var q=P.type._context,le=P.memoizedProps.value;jr(il,q._currentValue),q._currentValue=le;break;case 13:if(q=P.memoizedState,q!==null)return q.dehydrated!==null?(jr(Vr,Vr.current&1),P.flags|=128,null):(F&P.child.childLanes)!==0?Ic(M,P,F):(jr(Vr,Vr.current&1),M=zo(M,P,F),M!==null?M.sibling:null);jr(Vr,Vr.current&1);break;case 19:if(q=(F&P.childLanes)!==0,(M.flags&128)!==0){if(q)return ni(M,P,F);P.flags|=128}if(le=P.memoizedState,le!==null&&(le.rendering=null,le.tail=null,le.lastEffect=null),jr(Vr,Vr.current),q)break;return null;case 22:case 23:return P.lanes=0,nd(M,P,F)}return zo(M,P,F)}var wn,ud,Lp,dd;wn=function(M,P){for(var F=P.child;F!==null;){if(F.tag===5||F.tag===6)M.appendChild(F.stateNode);else if(F.tag!==4&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===P)break;for(;F.sibling===null;){if(F.return===null||F.return===P)return;F=F.return}F.sibling.return=F.return,F=F.sibling}},ud=function(){},Lp=function(M,P,F,q){var le=M.memoizedProps;if(le!==q){M=P.stateNode,Is(hs.current);var _e=null;switch(F){case"input":le=Be(M,le),q=Be(M,q),_e=[];break;case"select":le=pe({},le,{value:void 0}),q=pe({},q,{value:void 0}),_e=[];break;case"textarea":le=Ke(M,le),q=Ke(M,q),_e=[];break;default:typeof le.onClick!="function"&&typeof q.onClick=="function"&&(M.onclick=oc)}Lt(F,q);var we;F=null;for(ct in le)if(!q.hasOwnProperty(ct)&&le.hasOwnProperty(ct)&&le[ct]!=null)if(ct==="style"){var Oe=le[ct];for(we in Oe)Oe.hasOwnProperty(we)&&(F||(F={}),F[we]="")}else ct!=="dangerouslySetInnerHTML"&&ct!=="children"&&ct!=="suppressContentEditableWarning"&&ct!=="suppressHydrationWarning"&&ct!=="autoFocus"&&(b.hasOwnProperty(ct)?_e||(_e=[]):(_e=_e||[]).push(ct,null));for(ct in q){var ze=q[ct];if(Oe=le!=null?le[ct]:void 0,q.hasOwnProperty(ct)&&ze!==Oe&&(ze!=null||Oe!=null))if(ct==="style")if(Oe){for(we in Oe)!Oe.hasOwnProperty(we)||ze&&ze.hasOwnProperty(we)||(F||(F={}),F[we]="");for(we in ze)ze.hasOwnProperty(we)&&Oe[we]!==ze[we]&&(F||(F={}),F[we]=ze[we])}else F||(_e||(_e=[]),_e.push(ct,F)),F=ze;else ct==="dangerouslySetInnerHTML"?(ze=ze?ze.__html:void 0,Oe=Oe?Oe.__html:void 0,ze!=null&&Oe!==ze&&(_e=_e||[]).push(ct,ze)):ct==="children"?typeof ze!="string"&&typeof ze!="number"||(_e=_e||[]).push(ct,""+ze):ct!=="suppressContentEditableWarning"&&ct!=="suppressHydrationWarning"&&(b.hasOwnProperty(ct)?(ze!=null&&ct==="onScroll"&&Hr("scroll",M),_e||Oe===ze||(_e=[])):(_e=_e||[]).push(ct,ze))}F&&(_e=_e||[]).push("style",F);var ct=_e;(P.updateQueue=ct)&&(P.flags|=4)}},dd=function(M,P,F,q){F!==q&&(P.flags|=4)};function Cl(M,P){if(!Br)switch(M.tailMode){case"hidden":P=M.tail;for(var F=null;P!==null;)P.alternate!==null&&(F=P),P=P.sibling;F===null?M.tail=null:F.sibling=null;break;case"collapsed":F=M.tail;for(var q=null;F!==null;)F.alternate!==null&&(q=F),F=F.sibling;q===null?P||M.tail===null?M.tail=null:M.tail.sibling=null:q.sibling=null}}function Mn(M){var P=M.alternate!==null&&M.alternate.child===M.child,F=0,q=0;if(P)for(var le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags&14680064,q|=le.flags&14680064,le.return=M,le=le.sibling;else for(le=M.child;le!==null;)F|=le.lanes|le.childLanes,q|=le.subtreeFlags,q|=le.flags,le.return=M,le=le.sibling;return M.subtreeFlags|=q,M.childLanes=F,P}function Rf(M,P,F){var q=P.pendingProps;switch($i(P),P.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Mn(P),null;case 1:return Qn(P.type)&&lc(),Mn(P),null;case 3:return q=P.stateNode,ti(),Yr(Jn),Yr(Ln),yc(),q.pendingContext&&(q.context=q.pendingContext,q.pendingContext=null),(M===null||M.child===null)&&(rl(P)?P.flags|=4:M===null||M.memoizedState.isDehydrated&&(P.flags&256)===0||(P.flags|=1024,Yo!==null&&(Cd(Yo),Yo=null))),ud(M,P),Mn(P),null;case 5:_c(P);var le=Is(va.current);if(F=P.type,M!==null&&P.stateNode!=null)Lp(M,P,F,q,le),M.ref!==P.ref&&(P.flags|=512,P.flags|=2097152);else{if(!q){if(P.stateNode===null)throw Error(g(166));return Mn(P),null}if(M=Is(hs.current),rl(P)){q=P.stateNode,F=P.type;var _e=P.memoizedProps;switch(q[os]=P,q[Js]=_e,M=(P.mode&1)!==0,F){case"dialog":Hr("cancel",q),Hr("close",q);break;case"iframe":case"object":case"embed":Hr("load",q);break;case"video":case"audio":for(le=0;le<Ms.length;le++)Hr(Ms[le],q);break;case"source":Hr("error",q);break;case"img":case"image":case"link":Hr("error",q),Hr("load",q);break;case"details":Hr("toggle",q);break;case"input":He(q,_e),Hr("invalid",q);break;case"select":q._wrapperState={wasMultiple:!!_e.multiple},Hr("invalid",q);break;case"textarea":Xe(q,_e),Hr("invalid",q)}Lt(F,_e),le=null;for(var we in _e)if(_e.hasOwnProperty(we)){var Oe=_e[we];we==="children"?typeof Oe=="string"?q.textContent!==Oe&&(_e.suppressHydrationWarning!==!0&&Ja(q.textContent,Oe,M),le=["children",Oe]):typeof Oe=="number"&&q.textContent!==""+Oe&&(_e.suppressHydrationWarning!==!0&&Ja(q.textContent,Oe,M),le=["children",""+Oe]):b.hasOwnProperty(we)&&Oe!=null&&we==="onScroll"&&Hr("scroll",q)}switch(F){case"input":Le(q),Fe(q,_e,!0);break;case"textarea":Le(q),yt(q);break;case"select":case"option":break;default:typeof _e.onClick=="function"&&(q.onclick=oc)}q=le,P.updateQueue=q,q!==null&&(P.flags|=4)}else{we=le.nodeType===9?le:le.ownerDocument,M==="http://www.w3.org/1999/xhtml"&&(M=Je(F)),M==="http://www.w3.org/1999/xhtml"?F==="script"?(M=we.createElement("div"),M.innerHTML="<script><\/script>",M=M.removeChild(M.firstChild)):typeof q.is=="string"?M=we.createElement(F,{is:q.is}):(M=we.createElement(F),F==="select"&&(we=M,q.multiple?we.multiple=!0:q.size&&(we.size=q.size))):M=we.createElementNS(M,F),M[os]=P,M[Js]=q,wn(M,P,!1,!1),P.stateNode=M;e:{switch(we=Kt(F,q),F){case"dialog":Hr("cancel",M),Hr("close",M),le=q;break;case"iframe":case"object":case"embed":Hr("load",M),le=q;break;case"video":case"audio":for(le=0;le<Ms.length;le++)Hr(Ms[le],M);le=q;break;case"source":Hr("error",M),le=q;break;case"img":case"image":case"link":Hr("error",M),Hr("load",M),le=q;break;case"details":Hr("toggle",M),le=q;break;case"input":He(M,q),le=Be(M,q),Hr("invalid",M);break;case"option":le=q;break;case"select":M._wrapperState={wasMultiple:!!q.multiple},le=pe({},q,{value:void 0}),Hr("invalid",M);break;case"textarea":Xe(M,q),le=Ke(M,q),Hr("invalid",M);break;default:le=q}Lt(F,le),Oe=le;for(_e in Oe)if(Oe.hasOwnProperty(_e)){var ze=Oe[_e];_e==="style"?Gt(M,ze):_e==="dangerouslySetInnerHTML"?(ze=ze?ze.__html:void 0,ze!=null&&dt(M,ze)):_e==="children"?typeof ze=="string"?(F!=="textarea"||ze!=="")&&jt(M,ze):typeof ze=="number"&&jt(M,""+ze):_e!=="suppressContentEditableWarning"&&_e!=="suppressHydrationWarning"&&_e!=="autoFocus"&&(b.hasOwnProperty(_e)?ze!=null&&_e==="onScroll"&&Hr("scroll",M):ze!=null&&B(M,_e,ze,we))}switch(F){case"input":Le(M),Fe(M,q,!1);break;case"textarea":Le(M),yt(M);break;case"option":q.value!=null&&M.setAttribute("value",""+Re(q.value));break;case"select":M.multiple=!!q.multiple,_e=q.value,_e!=null?je(M,!!q.multiple,_e,!1):q.defaultValue!=null&&je(M,!!q.multiple,q.defaultValue,!0);break;default:typeof le.onClick=="function"&&(M.onclick=oc)}switch(F){case"button":case"input":case"select":case"textarea":q=!!q.autoFocus;break e;case"img":q=!0;break e;default:q=!1}}q&&(P.flags|=4)}P.ref!==null&&(P.flags|=512,P.flags|=2097152)}return Mn(P),null;case 6:if(M&&P.stateNode!=null)dd(M,P,M.memoizedProps,q);else{if(typeof q!="string"&&P.stateNode===null)throw Error(g(166));if(F=Is(va.current),Is(hs.current),rl(P)){if(q=P.stateNode,F=P.memoizedProps,q[os]=P,(_e=q.nodeValue!==F)&&(M=An,M!==null))switch(M.tag){case 3:Ja(q.nodeValue,F,(M.mode&1)!==0);break;case 5:M.memoizedProps.suppressHydrationWarning!==!0&&Ja(q.nodeValue,F,(M.mode&1)!==0)}_e&&(P.flags|=4)}else q=(F.nodeType===9?F:F.ownerDocument).createTextNode(q),q[os]=P,P.stateNode=q}return Mn(P),null;case 13:if(Yr(Vr),q=P.memoizedState,M===null||M.memoizedState!==null&&M.memoizedState.dehydrated!==null){if(Br&&uo!==null&&(P.mode&1)!==0&&(P.flags&128)===0)Ou(),ps(),P.flags|=98560,_e=!1;else if(_e=rl(P),q!==null&&q.dehydrated!==null){if(M===null){if(!_e)throw Error(g(318));if(_e=P.memoizedState,_e=_e!==null?_e.dehydrated:null,!_e)throw Error(g(317));_e[os]=P}else ps(),(P.flags&128)===0&&(P.memoizedState=null),P.flags|=4;Mn(P),_e=!1}else Yo!==null&&(Cd(Yo),Yo=null),_e=!0;if(!_e)return P.flags&65536?P:null}return(P.flags&128)!==0?(P.lanes=F,P):(q=q!==null,q!==(M!==null&&M.memoizedState!==null)&&q&&(P.child.flags|=8192,(P.mode&1)!==0&&(M===null||(Vr.current&1)!==0?pn===0&&(pn=3):Md())),P.updateQueue!==null&&(P.flags|=4),Mn(P),null);case 4:return ti(),ud(M,P),M===null&&Ws(P.stateNode.containerInfo),Mn(P),null;case 10:return mc(P.type._context),Mn(P),null;case 17:return Qn(P.type)&&lc(),Mn(P),null;case 19:if(Yr(Vr),_e=P.memoizedState,_e===null)return Mn(P),null;if(q=(P.flags&128)!==0,we=_e.rendering,we===null)if(q)Cl(_e,!1);else{if(pn!==0||M!==null&&(M.flags&128)!==0)for(M=P.child;M!==null;){if(we=Ii(M),we!==null){for(P.flags|=128,Cl(_e,!1),q=we.updateQueue,q!==null&&(P.updateQueue=q,P.flags|=4),P.subtreeFlags=0,q=F,F=P.child;F!==null;)_e=F,M=q,_e.flags&=14680066,we=_e.alternate,we===null?(_e.childLanes=0,_e.lanes=M,_e.child=null,_e.subtreeFlags=0,_e.memoizedProps=null,_e.memoizedState=null,_e.updateQueue=null,_e.dependencies=null,_e.stateNode=null):(_e.childLanes=we.childLanes,_e.lanes=we.lanes,_e.child=we.child,_e.subtreeFlags=0,_e.deletions=null,_e.memoizedProps=we.memoizedProps,_e.memoizedState=we.memoizedState,_e.updateQueue=we.updateQueue,_e.type=we.type,M=we.dependencies,_e.dependencies=M===null?null:{lanes:M.lanes,firstContext:M.firstContext}),F=F.sibling;return jr(Vr,Vr.current&1|2),P.child}M=M.sibling}_e.tail!==null&&Gr()>Fi&&(P.flags|=128,q=!0,Cl(_e,!1),P.lanes=4194304)}else{if(!q)if(M=Ii(we),M!==null){if(P.flags|=128,q=!0,F=M.updateQueue,F!==null&&(P.updateQueue=F,P.flags|=4),Cl(_e,!0),_e.tail===null&&_e.tailMode==="hidden"&&!we.alternate&&!Br)return Mn(P),null}else 2*Gr()-_e.renderingStartTime>Fi&&F!==1073741824&&(P.flags|=128,q=!0,Cl(_e,!1),P.lanes=4194304);_e.isBackwards?(we.sibling=P.child,P.child=we):(F=_e.last,F!==null?F.sibling=we:P.child=we,_e.last=we)}return _e.tail!==null?(P=_e.tail,_e.rendering=P,_e.tail=P.sibling,_e.renderingStartTime=Gr(),P.sibling=null,F=Vr.current,jr(Vr,q?F&1|2:F&1),P):(Mn(P),null);case 22:case 23:return wd(),q=P.memoizedState!==null,M!==null&&M.memoizedState!==null!==q&&(P.flags|=8192),q&&(P.mode&1)!==0?(ho&1073741824)!==0&&(Mn(P),P.subtreeFlags&6&&(P.flags|=8192)):Mn(P),null;case 24:return null;case 25:return null}throw Error(g(156,P.tag))}function kf(M,P){switch($i(P),P.tag){case 1:return Qn(P.type)&&lc(),M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 3:return ti(),Yr(Jn),Yr(Ln),yc(),M=P.flags,(M&65536)!==0&&(M&128)===0?(P.flags=M&-65537|128,P):null;case 5:return _c(P),null;case 13:if(Yr(Vr),M=P.memoizedState,M!==null&&M.dehydrated!==null){if(P.alternate===null)throw Error(g(340));ps()}return M=P.flags,M&65536?(P.flags=M&-65537|128,P):null;case 19:return Yr(Vr),null;case 4:return ti(),null;case 10:return mc(P.type._context),null;case 22:case 23:return wd(),null;case 24:return null;default:return null}}var Dc=!1,Wr=!1,Gn=typeof WeakSet=="function"?WeakSet:Set,Ft=null;function $a(M,P){var F=M.ref;if(F!==null)if(typeof F=="function")try{F(null)}catch(q){Jr(M,P,q)}else F.current=null}function Sl(M,P,F){try{F()}catch(q){Jr(M,P,q)}}var Dp=!1;function If(M,P){if(Qa=Hl,M=Dr(),Ga(M)){if("selectionStart"in M)var F={start:M.selectionStart,end:M.selectionEnd};else e:{F=(F=M.ownerDocument)&&F.defaultView||window;var q=F.getSelection&&F.getSelection();if(q&&q.rangeCount!==0){F=q.anchorNode;var le=q.anchorOffset,_e=q.focusNode;q=q.focusOffset;try{F.nodeType,_e.nodeType}catch(kt){F=null;break e}var we=0,Oe=-1,ze=-1,ct=0,Mt=0,Rt=M,wt=null;t:for(;;){for(var Ot;Rt!==F||le!==0&&Rt.nodeType!==3||(Oe=we+le),Rt!==_e||q!==0&&Rt.nodeType!==3||(ze=we+q),Rt.nodeType===3&&(we+=Rt.nodeValue.length),(Ot=Rt.firstChild)!==null;)wt=Rt,Rt=Ot;for(;;){if(Rt===M)break t;if(wt===F&&++ct===le&&(Oe=we),wt===_e&&++Mt===q&&(ze=we),(Ot=Rt.nextSibling)!==null)break;Rt=wt,wt=Rt.parentNode}Rt=Ot}F=Oe===-1||ze===-1?null:{start:Oe,end:ze}}else F=null}F=F||{start:0,end:0}}else F=null;for(wi={focusedElem:M,selectionRange:F},Hl=!1,Ft=P;Ft!==null;)if(P=Ft,M=P.child,(P.subtreeFlags&1028)!==0&&M!==null)M.return=P,Ft=M;else for(;Ft!==null;){P=Ft;try{var Nt=P.alternate;if((P.flags&1024)!==0)switch(P.tag){case 0:case 11:case 15:break;case 1:if(Nt!==null){var Ht=Nt.memoizedProps,tn=Nt.memoizedState,Ze=P.stateNode,We=Ze.getSnapshotBeforeUpdate(P.elementType===P.type?Ht:Ro(P.type,Ht),tn);Ze.__reactInternalSnapshotBeforeUpdate=We}break;case 3:var nt=P.stateNode.containerInfo;nt.nodeType===1?nt.textContent="":nt.nodeType===9&&nt.documentElement&&nt.removeChild(nt.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(g(163))}}catch(kt){Jr(P,P.return,kt)}if(M=P.sibling,M!==null){M.return=P.return,Ft=M;break}Ft=P.return}return Nt=Dp,Dp=!1,Nt}function Os(M,P,F){var q=P.updateQueue;if(q=q!==null?q.lastEffect:null,q!==null){var le=q=q.next;do{if((le.tag&M)===M){var _e=le.destroy;le.destroy=void 0,_e!==void 0&&Sl(P,F,_e)}le=le.next}while(le!==q)}}function wl(M,P){if(P=P.updateQueue,P=P!==null?P.lastEffect:null,P!==null){var F=P=P.next;do{if((F.tag&M)===M){var q=F.create;F.destroy=q()}F=F.next}while(F!==P)}}function Ac(M){var P=M.ref;if(P!==null){var F=M.stateNode;switch(M.tag){case 5:M=F;break;default:M=F}typeof P=="function"?P(M):P.current=M}}function Ap(M){var P=M.alternate;P!==null&&(M.alternate=null,Ap(P)),M.child=null,M.deletions=null,M.sibling=null,M.tag===5&&(P=M.stateNode,P!==null&&(delete P[os],delete P[Js],delete P[ic],delete P[Te],delete P[pa])),M.stateNode=null,M.return=null,M.dependencies=null,M.memoizedProps=null,M.memoizedState=null,M.pendingProps=null,M.stateNode=null,M.updateQueue=null}function Op(M){return M.tag===5||M.tag===3||M.tag===4}function Fp(M){e:for(;;){for(;M.sibling===null;){if(M.return===null||Op(M.return))return null;M=M.return}for(M.sibling.return=M.return,M=M.sibling;M.tag!==5&&M.tag!==6&&M.tag!==18;){if(M.flags&2||M.child===null||M.tag===4)continue e;M.child.return=M,M=M.child}if(!(M.flags&2))return M.stateNode}}function pd(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.nodeType===8?F.parentNode.insertBefore(M,P):F.insertBefore(M,P):(F.nodeType===8?(P=F.parentNode,P.insertBefore(M,F)):(P=F,P.appendChild(M)),F=F._reactRootContainer,F!=null||P.onclick!==null||(P.onclick=oc));else if(q!==4&&(M=M.child,M!==null))for(pd(M,P,F),M=M.sibling;M!==null;)pd(M,P,F),M=M.sibling}function Oc(M,P,F){var q=M.tag;if(q===5||q===6)M=M.stateNode,P?F.insertBefore(M,P):F.appendChild(M);else if(q!==4&&(M=M.child,M!==null))for(Oc(M,P,F),M=M.sibling;M!==null;)Oc(M,P,F),M=M.sibling}var gn=null,Go=!1;function vs(M,P,F){for(F=F.child;F!==null;)fd(M,P,F),F=F.sibling}function fd(M,P,F){if(ts&&typeof ts.onCommitFiberUnmount=="function")try{ts.onCommitFiberUnmount(Dl,F)}catch(Oe){}switch(F.tag){case 5:Wr||$a(F,P);case 6:var q=gn,le=Go;gn=null,vs(M,P,F),gn=q,Go=le,gn!==null&&(Go?(M=gn,F=F.stateNode,M.nodeType===8?M.parentNode.removeChild(F):M.removeChild(F)):gn.removeChild(F.stateNode));break;case 18:gn!==null&&(Go?(M=gn,F=F.stateNode,M.nodeType===8?Lu(M.parentNode,F):M.nodeType===1&&Lu(M,F),Ir(M)):Lu(gn,F.stateNode));break;case 4:q=gn,le=Go,gn=F.stateNode.containerInfo,Go=!0,vs(M,P,F),gn=q,Go=le;break;case 0:case 11:case 14:case 15:if(!Wr&&(q=F.updateQueue,q!==null&&(q=q.lastEffect,q!==null))){le=q=q.next;do{var _e=le,we=_e.destroy;_e=_e.tag,we!==void 0&&((_e&2)!==0||(_e&4)!==0)&&Sl(F,P,we),le=le.next}while(le!==q)}vs(M,P,F);break;case 1:if(!Wr&&($a(F,P),q=F.stateNode,typeof q.componentWillUnmount=="function"))try{q.props=F.memoizedProps,q.state=F.memoizedState,q.componentWillUnmount()}catch(Oe){Jr(F,P,Oe)}vs(M,P,F);break;case 21:vs(M,P,F);break;case 22:F.mode&1?(Wr=(q=Wr)||F.memoizedState!==null,vs(M,P,F),Wr=q):vs(M,P,F);break;default:vs(M,P,F)}}function Ra(M){var P=M.updateQueue;if(P!==null){M.updateQueue=null;var F=M.stateNode;F===null&&(F=M.stateNode=new Gn),P.forEach(function(q){var le=jf.bind(null,M,q);F.has(q)||(F.add(q),q.then(le,le))})}}function mo(M,P){var F=P.deletions;if(F!==null)for(var q=0;q<F.length;q++){var le=F[q];try{var _e=M,we=P,Oe=we;e:for(;Oe!==null;){switch(Oe.tag){case 5:gn=Oe.stateNode,Go=!1;break e;case 3:gn=Oe.stateNode.containerInfo,Go=!0;break e;case 4:gn=Oe.stateNode.containerInfo,Go=!0;break e}Oe=Oe.return}if(gn===null)throw Error(g(160));fd(_e,we,le),gn=null,Go=!1;var ze=le.alternate;ze!==null&&(ze.return=null),le.return=null}catch(ct){Jr(le,P,ct)}}if(P.subtreeFlags&12854)for(P=P.child;P!==null;)hd(P,M),P=P.sibling}function hd(M,P){var F=M.alternate,q=M.flags;switch(M.tag){case 0:case 11:case 14:case 15:if(mo(P,M),Uo(M),q&4){try{Os(3,M,M.return),wl(3,M)}catch(Ht){Jr(M,M.return,Ht)}try{Os(5,M,M.return)}catch(Ht){Jr(M,M.return,Ht)}}break;case 1:mo(P,M),Uo(M),q&512&&F!==null&&$a(F,F.return);break;case 5:if(mo(P,M),Uo(M),q&512&&F!==null&&$a(F,F.return),M.flags&32){var le=M.stateNode;try{jt(le,"")}catch(Ht){Jr(M,M.return,Ht)}}if(q&4&&(le=M.stateNode,le!=null)){var _e=M.memoizedProps,we=F!==null?F.memoizedProps:_e,Oe=M.type,ze=M.updateQueue;if(M.updateQueue=null,ze!==null)try{Oe==="input"&&_e.type==="radio"&&_e.name!=null&&Ve(le,_e),Kt(Oe,we);var ct=Kt(Oe,_e);for(we=0;we<ze.length;we+=2){var Mt=ze[we],Rt=ze[we+1];Mt==="style"?Gt(le,Rt):Mt==="dangerouslySetInnerHTML"?dt(le,Rt):Mt==="children"?jt(le,Rt):B(le,Mt,Rt,ct)}switch(Oe){case"input":rt(le,_e);break;case"textarea":st(le,_e);break;case"select":var wt=le._wrapperState.wasMultiple;le._wrapperState.wasMultiple=!!_e.multiple;var Ot=_e.value;Ot!=null?je(le,!!_e.multiple,Ot,!1):wt!==!!_e.multiple&&(_e.defaultValue!=null?je(le,!!_e.multiple,_e.defaultValue,!0):je(le,!!_e.multiple,_e.multiple?[]:"",!1))}le[Js]=_e}catch(Ht){Jr(M,M.return,Ht)}}break;case 6:if(mo(P,M),Uo(M),q&4){if(M.stateNode===null)throw Error(g(162));le=M.stateNode,_e=M.memoizedProps;try{le.nodeValue=_e}catch(Ht){Jr(M,M.return,Ht)}}break;case 3:if(mo(P,M),Uo(M),q&4&&F!==null&&F.memoizedState.isDehydrated)try{Ir(P.containerInfo)}catch(Ht){Jr(M,M.return,Ht)}break;case 4:mo(P,M),Uo(M);break;case 13:mo(P,M),Uo(M),le=M.child,le.flags&8192&&(_e=le.memoizedState!==null,le.stateNode.isHidden=_e,!_e||le.alternate!==null&&le.alternate.memoizedState!==null||(yd=Gr())),q&4&&Ra(M);break;case 22:if(Mt=F!==null&&F.memoizedState!==null,M.mode&1?(Wr=(ct=Wr)||Mt,mo(P,M),Wr=ct):mo(P,M),Uo(M),q&8192){if(ct=M.memoizedState!==null,(M.stateNode.isHidden=ct)&&!Mt&&(M.mode&1)!==0)for(Ft=M,Mt=M.child;Mt!==null;){for(Rt=Ft=Mt;Ft!==null;){switch(wt=Ft,Ot=wt.child,wt.tag){case 0:case 11:case 14:case 15:Os(4,wt,wt.return);break;case 1:$a(wt,wt.return);var Nt=wt.stateNode;if(typeof Nt.componentWillUnmount=="function"){q=wt,F=wt.return;try{P=q,Nt.props=P.memoizedProps,Nt.state=P.memoizedState,Nt.componentWillUnmount()}catch(Ht){Jr(q,F,Ht)}}break;case 5:$a(wt,wt.return);break;case 22:if(wt.memoizedState!==null){oi(Rt);continue}}Ot!==null?(Ot.return=wt,Ft=Ot):oi(Rt)}Mt=Mt.sibling}e:for(Mt=null,Rt=M;;){if(Rt.tag===5){if(Mt===null){Mt=Rt;try{le=Rt.stateNode,ct?(_e=le.style,typeof _e.setProperty=="function"?_e.setProperty("display","none","important"):_e.display="none"):(Oe=Rt.stateNode,ze=Rt.memoizedProps.style,we=ze!=null&&ze.hasOwnProperty("display")?ze.display:null,Oe.style.display=Pt("display",we))}catch(Ht){Jr(M,M.return,Ht)}}}else if(Rt.tag===6){if(Mt===null)try{Rt.stateNode.nodeValue=ct?"":Rt.memoizedProps}catch(Ht){Jr(M,M.return,Ht)}}else if((Rt.tag!==22&&Rt.tag!==23||Rt.memoizedState===null||Rt===M)&&Rt.child!==null){Rt.child.return=Rt,Rt=Rt.child;continue}if(Rt===M)break e;for(;Rt.sibling===null;){if(Rt.return===null||Rt.return===M)break e;Mt===Rt&&(Mt=null),Rt=Rt.return}Mt===Rt&&(Mt=null),Rt.sibling.return=Rt.return,Rt=Rt.sibling}}break;case 19:mo(P,M),Uo(M),q&4&&Ra(M);break;case 21:break;default:mo(P,M),Uo(M)}}function Uo(M){var P=M.flags;if(P&2){try{e:{for(var F=M.return;F!==null;){if(Op(F)){var q=F;break e}F=F.return}throw Error(g(160))}switch(q.tag){case 5:var le=q.stateNode;q.flags&32&&(jt(le,""),q.flags&=-33);var _e=Fp(M);Oc(M,_e,le);break;case 3:case 4:var we=q.stateNode.containerInfo,Oe=Fp(M);pd(M,Oe,we);break;default:throw Error(g(161))}}catch(ze){Jr(M,M.return,ze)}M.flags&=-3}P&4096&&(M.flags&=-4097)}function Fc(M,P,F){Ft=M,xd(M)}function xd(M,P,F){for(var q=(M.mode&1)!==0;Ft!==null;){var le=Ft,_e=le.child;if(le.tag===22&&q){var we=le.memoizedState!==null||Dc;if(!we){var Oe=le.alternate,ze=Oe!==null&&Oe.memoizedState!==null||Wr;Oe=Dc;var ct=Wr;if(Dc=we,(Wr=ze)&&!ct)for(Ft=le;Ft!==null;)we=Ft,ze=we.child,we.tag===22&&we.memoizedState!==null?Np(le):ze!==null?(ze.return=we,Ft=ze):Np(le);for(;_e!==null;)Ft=_e,xd(_e),_e=_e.sibling;Ft=le,Dc=Oe,Wr=ct}Vo(M)}else(le.subtreeFlags&8772)!==0&&_e!==null?(_e.return=le,Ft=_e):Vo(M)}}function Vo(M){for(;Ft!==null;){var P=Ft;if((P.flags&8772)!==0){var F=P.alternate;try{if((P.flags&8772)!==0)switch(P.tag){case 0:case 11:case 15:Wr||wl(5,P);break;case 1:var q=P.stateNode;if(P.flags&4&&!Wr)if(F===null)q.componentDidMount();else{var le=P.elementType===P.type?F.memoizedProps:Ro(P.type,F.memoizedProps);q.componentDidUpdate(le,F.memoizedState,q.__reactInternalSnapshotBeforeUpdate)}var _e=P.updateQueue;_e!==null&&ju(P,_e,q);break;case 3:var we=P.updateQueue;if(we!==null){if(F=null,P.child!==null)switch(P.child.tag){case 5:F=P.child.stateNode;break;case 1:F=P.child.stateNode}ju(P,we,F)}break;case 5:var Oe=P.stateNode;if(F===null&&P.flags&4){F=Oe;var ze=P.memoizedProps;switch(P.type){case"button":case"input":case"select":case"textarea":ze.autoFocus&&F.focus();break;case"img":ze.src&&(F.src=ze.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(P.memoizedState===null){var ct=P.alternate;if(ct!==null){var Mt=ct.memoizedState;if(Mt!==null){var Rt=Mt.dehydrated;Rt!==null&&Ir(Rt)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(g(163))}Wr||P.flags&512&&Ac(P)}catch(wt){Jr(P,P.return,wt)}}if(P===M){Ft=null;break}if(F=P.sibling,F!==null){F.return=P.return,Ft=F;break}Ft=P.return}}function oi(M){for(;Ft!==null;){var P=Ft;if(P===M){Ft=null;break}var F=P.sibling;if(F!==null){F.return=P.return,Ft=F;break}Ft=P.return}}function Np(M){for(;Ft!==null;){var P=Ft;try{switch(P.tag){case 0:case 11:case 15:var F=P.return;try{wl(4,P)}catch(ze){Jr(P,F,ze)}break;case 1:var q=P.stateNode;if(typeof q.componentDidMount=="function"){var le=P.return;try{q.componentDidMount()}catch(ze){Jr(P,le,ze)}}var _e=P.return;try{Ac(P)}catch(ze){Jr(P,_e,ze)}break;case 5:var we=P.return;try{Ac(P)}catch(ze){Jr(P,we,ze)}}}catch(ze){Jr(P,P.return,ze)}if(P===M){Ft=null;break}var Oe=P.sibling;if(Oe!==null){Oe.return=P.return,Ft=Oe;break}Ft=P.return}}var jp=Math.ceil,Nc=z.ReactCurrentDispatcher,_d=z.ReactCurrentOwner,Io=z.ReactCurrentBatchConfig,Tr=0,xn=null,cn=null,Tn=0,ho=0,Ia=Kn(0),pn=0,Ml=null,ii=0,Tl=0,jc=0,Pl=null,to=null,yd=0,Fi=1/0,Fs=null,Hc=!1,vd=null,ai=null,Yc=!1,li=null,Un=0,$l=0,bd=null,Bc=-1,Rl=0;function Vn(){return(Tr&6)!==0?Gr():Bc!==-1?Bc:Bc=Gr()}function ci(M){return(M.mode&1)===0?1:(Tr&2)!==0&&Tn!==0?Tn&-Tn:_p.transition!==null?(Rl===0&&(Rl=lu()),Rl):(M=kr,M!==0||(M=window.event,M=M===void 0?16:Gd(M.type)),M)}function Wo(M,P,F,q){if(50<$l)throw $l=0,bd=null,Error(g(185));Fa(M,F,q),((Tr&2)===0||M!==xn)&&(M===xn&&((Tr&2)===0&&(Tl|=F),pn===4&&ui(M,Tn)),no(M,q),F===1&&Tr===0&&(P.mode&1)===0&&(Fi=Gr()+500,cc&&Xs()))}function no(M,P){var F=M.callbackNode;cf(M,P);var q=gi(M,M===xn?Tn:0);if(q===0)F!==null&&so(F),M.callbackNode=null,M.callbackPriority=0;else if(P=q&-q,M.callbackPriority!==P){if(F!=null&&so(F),P===1)M.tag===0?Mi(Hp.bind(null,M)):hp(Hp.bind(null,M)),sc(function(){(Tr&6)===0&&Xs()}),F=null;else{switch(xi(q)){case 1:F=iu;break;case 4:F=Ld;break;case 16:F=Aa;break;case 536870912:F=au;break;default:F=Aa}F=Wp(F,zc.bind(null,M))}M.callbackPriority=P,M.callbackNode=F}}function zc(M,P){if(Bc=-1,Rl=0,(Tr&6)!==0)throw Error(g(327));var F=M.callbackNode;if(La()&&M.callbackNode!==F)return null;var q=gi(M,M===xn?Tn:0);if(q===0)return null;if((q&30)!==0||(q&M.expiredLanes)!==0||P)P=Gc(M,q);else{P=q;var le=Tr;Tr|=2;var _e=Bp();(xn!==M||Tn!==P)&&(Fs=null,Fi=Gr()+500,ji(M,P));do try{Af();break}catch(Oe){Yp(M,Oe)}while(!0);$s(),Nc.current=_e,Tr=le,cn!==null?P=0:(xn=null,Tn=0,P=pn)}if(P!==0){if(P===2&&(le=Ol(M),le!==0&&(q=le,P=Ed(M,le))),P===1)throw F=Ml,ji(M,0),ui(M,q),no(M,Gr()),F;if(P===6)ui(M,q);else{if(le=M.current.alternate,(q&30)===0&&!Lf(le)&&(P=Gc(M,q),P===2&&(_e=Ol(M),_e!==0&&(q=_e,P=Ed(M,_e))),P===1))throw F=Ml,ji(M,0),ui(M,q),no(M,Gr()),F;switch(M.finishedWork=le,M.finishedLanes=q,P){case 0:case 1:throw Error(g(345));case 2:Hi(M,to,Fs);break;case 3:if(ui(M,q),(q&130023424)===q&&(P=yd+500-Gr(),10<P)){if(gi(M,0)!==0)break;if(le=M.suspendedLanes,(le&q)!==q){Vn(),M.pingedLanes|=M.suspendedLanes&le;break}M.timeoutHandle=qs(Hi.bind(null,M,to,Fs),P);break}Hi(M,to,Fs);break;case 4:if(ui(M,q),(q&4194240)===q)break;for(P=M.eventTimes,le=-1;0<q;){var we=31-jo(q);_e=1<<we,we=P[we],we>le&&(le=we),q&=~_e}if(q=le,q=Gr()-q,q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*jp(q/1960))-q,10<q){M.timeoutHandle=qs(Hi.bind(null,M,to,Fs),q);break}Hi(M,to,Fs);break;case 5:Hi(M,to,Fs);break;default:throw Error(g(329))}}}return no(M,Gr()),M.callbackNode===F?zc.bind(null,M):null}function Ed(M,P){var F=Pl;return M.current.memoizedState.isDehydrated&&(ji(M,P).flags|=256),M=Gc(M,P),M!==2&&(P=to,to=F,P!==null&&Cd(P)),M}function Cd(M){to===null?to=M:to.push.apply(to,M)}function Lf(M){for(var P=M;;){if(P.flags&16384){var F=P.updateQueue;if(F!==null&&(F=F.stores,F!==null))for(var q=0;q<F.length;q++){var le=F[q],_e=le.getSnapshot;le=le.value;try{if(!at(_e(),le))return!1}catch(we){return!1}}}if(F=P.child,P.subtreeFlags&16384&&F!==null)F.return=P,P=F;else{if(P===M)break;for(;P.sibling===null;){if(P.return===null||P.return===M)return!0;P=P.return}P.sibling.return=P.return,P=P.sibling}}return!0}function ui(M,P){for(P&=~jc,P&=~Tl,M.suspendedLanes|=P,M.pingedLanes&=~P,M=M.expirationTimes;0<P;){var F=31-jo(P),q=1<<F;M[F]=-1,P&=~q}}function Hp(M){if((Tr&6)!==0)throw Error(g(327));La();var P=gi(M,0);if((P&1)===0)return no(M,Gr()),null;var F=Gc(M,P);if(M.tag!==0&&F===2){var q=Ol(M);q!==0&&(P=q,F=Ed(M,q))}if(F===1)throw F=Ml,ji(M,0),ui(M,P),no(M,Gr()),F;if(F===6)throw Error(g(345));return M.finishedWork=M.current.alternate,M.finishedLanes=P,Hi(M,to,Fs),no(M,Gr()),null}function Sd(M,P){var F=Tr;Tr|=1;try{return M(P)}finally{Tr=F,Tr===0&&(Fi=Gr()+500,cc&&Xs())}}function Ni(M){li!==null&&li.tag===0&&(Tr&6)===0&&La();var P=Tr;Tr|=1;var F=Io.transition,q=kr;try{if(Io.transition=null,kr=1,M)return M()}finally{kr=q,Io.transition=F,Tr=P,(Tr&6)===0&&Xs()}}function wd(){ho=Ia.current,Yr(Ia)}function ji(M,P){M.finishedWork=null,M.finishedLanes=0;var F=M.timeoutHandle;if(F!==-1&&(M.timeoutHandle=-1,Za(F)),cn!==null)for(F=cn.return;F!==null;){var q=F;switch($i(q),q.tag){case 1:q=q.type.childContextTypes,q!=null&&lc();break;case 3:ti(),Yr(Jn),Yr(Ln),yc();break;case 5:_c(q);break;case 4:ti();break;case 13:Yr(Vr);break;case 19:Yr(Vr);break;case 10:mc(q.type._context);break;case 22:case 23:wd()}F=F.return}if(xn=M,cn=M=qo(M.current,null),Tn=ho=P,pn=0,Ml=null,jc=Tl=ii=0,to=Pl=null,ki!==null){for(P=0;P<ki.length;P++)if(F=ki[P],q=F.interleaved,q!==null){F.interleaved=null;var le=q.next,_e=F.pending;if(_e!==null){var we=_e.next;_e.next=le,q.next=we}F.pending=q}ki=null}return M}function Yp(M,P){do{var F=cn;try{if($s(),cl.current=wc,ba){for(var q=Kr.memoizedState;q!==null;){var le=q.queue;le!==null&&(le.pending=null),q=q.next}ba=!1}if(ri=0,dn=Zr=Kr=null,ul=!1,Li=0,_d.current=null,F===null||F.return===null){pn=1,Ml=P,cn=null;break}e:{var _e=M,we=F.return,Oe=F,ze=P;if(P=Tn,Oe.flags|=32768,ze!==null&&typeof ze=="object"&&typeof ze.then=="function"){var ct=ze,Mt=Oe,Rt=Mt.tag;if((Mt.mode&1)===0&&(Rt===0||Rt===11||Rt===15)){var wt=Mt.alternate;wt?(Mt.updateQueue=wt.updateQueue,Mt.memoizedState=wt.memoizedState,Mt.lanes=wt.lanes):(Mt.updateQueue=null,Mt.memoizedState=null)}var Ot=$p(we);if(Ot!==null){Ot.flags&=-257,td(Ot,we,Oe,_e,P),Ot.mode&1&&_l(_e,ct,P),P=Ot,ze=ct;var Nt=P.updateQueue;if(Nt===null){var Ht=new Set;Ht.add(ze),P.updateQueue=Ht}else Nt.add(ze);break e}else{if((P&1)===0){_l(_e,ct,P),Md();break e}ze=Error(g(426))}}else if(Br&&Oe.mode&1){var tn=$p(we);if(tn!==null){(tn.flags&65536)===0&&(tn.flags|=256),td(tn,we,Oe,_e,P),fs(Oi(ze,Oe));break e}}_e=ze=Oi(ze,Oe),pn!==4&&(pn=2),Pl===null?Pl=[_e]:Pl.push(_e),_e=we;do{switch(_e.tag){case 3:_e.flags|=65536,P&=-P,_e.lanes|=P;var Ze=xl(_e,ze,P);bp(_e,Ze);break e;case 1:Oe=ze;var We=_e.type,nt=_e.stateNode;if((_e.flags&128)===0&&(typeof We.getDerivedStateFromError=="function"||nt!==null&&typeof nt.componentDidCatch=="function"&&(ai===null||!ai.has(nt)))){_e.flags|=65536,P&=-P,_e.lanes|=P;var kt=Rc(_e,Oe,P);bp(_e,kt);break e}}_e=_e.return}while(_e!==null)}Gp(F)}catch(Bt){P=Bt,cn===F&&F!==null&&(cn=F=F.return);continue}break}while(!0)}function Bp(){var M=Nc.current;return Nc.current=wc,M===null?wc:M}function Md(){(pn===0||pn===3||pn===2)&&(pn=4),xn===null||(ii&268435455)===0&&(Tl&268435455)===0||ui(xn,Tn)}function Gc(M,P){var F=Tr;Tr|=2;var q=Bp();(xn!==M||Tn!==P)&&(Fs=null,ji(M,P));do try{Df();break}catch(le){Yp(M,le)}while(!0);if($s(),Tr=F,Nc.current=q,cn!==null)throw Error(g(261));return xn=null,Tn=0,pn}function Df(){for(;cn!==null;)zp(cn)}function Af(){for(;cn!==null&&!pi();)zp(cn)}function zp(M){var P=Vp(M.alternate,M,ho);M.memoizedProps=M.pendingProps,P===null?Gp(M):cn=P,_d.current=null}function Gp(M){var P=M;do{var F=P.alternate;if(M=P.return,(P.flags&32768)===0){if(F=Rf(F,P,ho),F!==null){cn=F;return}}else{if(F=kf(F,P),F!==null){F.flags&=32767,cn=F;return}if(M!==null)M.flags|=32768,M.subtreeFlags=0,M.deletions=null;else{pn=6,cn=null;return}}if(P=P.sibling,P!==null){cn=P;return}cn=P=M}while(P!==null);pn===0&&(pn=5)}function Hi(M,P,F){var q=kr,le=Io.transition;try{Io.transition=null,kr=1,Of(M,P,F,q)}finally{Io.transition=le,kr=q}return null}function Of(M,P,F,q){do La();while(li!==null);if((Tr&6)!==0)throw Error(g(327));F=M.finishedWork;var le=M.finishedLanes;if(F===null)return null;if(M.finishedWork=null,M.finishedLanes=0,F===M.current)throw Error(g(177));M.callbackNode=null,M.callbackPriority=0;var _e=F.lanes|F.childLanes;if(jd(M,_e),M===xn&&(cn=xn=null,Tn=0),(F.subtreeFlags&2064)===0&&(F.flags&2064)===0||Yc||(Yc=!0,Wp(Aa,function(){return La(),null})),_e=(F.flags&15990)!==0,(F.subtreeFlags&15990)!==0||_e){_e=Io.transition,Io.transition=null;var we=kr;kr=1;var Oe=Tr;Tr|=4,_d.current=null,If(M,F),hd(F,M),Mf(wi),Hl=!!Qa,wi=Qa=null,M.current=F,Fc(F),of(),Tr=Oe,kr=we,Io.transition=_e}else M.current=F;if(Yc&&(Yc=!1,li=M,Un=le),_e=M.pendingLanes,_e===0&&(ai=null),lf(F.stateNode),no(M,Gr()),P!==null)for(q=M.onRecoverableError,F=0;F<P.length;F++)le=P[F],q(le.value,{componentStack:le.stack,digest:le.digest});if(Hc)throw Hc=!1,M=vd,vd=null,M;return(Un&1)!==0&&M.tag!==0&&La(),_e=M.pendingLanes,(_e&1)!==0?M===bd?$l++:($l=0,bd=M):$l=0,Xs(),null}function La(){if(li!==null){var M=xi(Un),P=Io.transition,F=kr;try{if(Io.transition=null,kr=16>M?16:M,li===null)var q=!1;else{if(M=li,li=null,Un=0,(Tr&6)!==0)throw Error(g(331));var le=Tr;for(Tr|=4,Ft=M.current;Ft!==null;){var _e=Ft,we=_e.child;if((Ft.flags&16)!==0){var Oe=_e.deletions;if(Oe!==null){for(var ze=0;ze<Oe.length;ze++){var ct=Oe[ze];for(Ft=ct;Ft!==null;){var Mt=Ft;switch(Mt.tag){case 0:case 11:case 15:Os(8,Mt,_e)}var Rt=Mt.child;if(Rt!==null)Rt.return=Mt,Ft=Rt;else for(;Ft!==null;){Mt=Ft;var wt=Mt.sibling,Ot=Mt.return;if(Ap(Mt),Mt===ct){Ft=null;break}if(wt!==null){wt.return=Ot,Ft=wt;break}Ft=Ot}}}var Nt=_e.alternate;if(Nt!==null){var Ht=Nt.child;if(Ht!==null){Nt.child=null;do{var tn=Ht.sibling;Ht.sibling=null,Ht=tn}while(Ht!==null)}}Ft=_e}}if((_e.subtreeFlags&2064)!==0&&we!==null)we.return=_e,Ft=we;else e:for(;Ft!==null;){if(_e=Ft,(_e.flags&2048)!==0)switch(_e.tag){case 0:case 11:case 15:Os(9,_e,_e.return)}var Ze=_e.sibling;if(Ze!==null){Ze.return=_e.return,Ft=Ze;break e}Ft=_e.return}}var We=M.current;for(Ft=We;Ft!==null;){we=Ft;var nt=we.child;if((we.subtreeFlags&2064)!==0&&nt!==null)nt.return=we,Ft=nt;else e:for(we=We;Ft!==null;){if(Oe=Ft,(Oe.flags&2048)!==0)try{switch(Oe.tag){case 0:case 11:case 15:wl(9,Oe)}}catch(Bt){Jr(Oe,Oe.return,Bt)}if(Oe===we){Ft=null;break e}var kt=Oe.sibling;if(kt!==null){kt.return=Oe.return,Ft=kt;break e}Ft=Oe.return}}if(Tr=le,Xs(),ts&&typeof ts.onPostCommitFiberRoot=="function")try{ts.onPostCommitFiberRoot(Dl,M)}catch(Bt){}q=!0}return q}finally{kr=F,Io.transition=P}}return!1}function Uc(M,P,F){P=Oi(F,P),P=xl(M,P,1),M=Po(M,P,1),P=Vn(),M!==null&&(Fa(M,1,P),no(M,P))}function Jr(M,P,F){if(M.tag===3)Uc(M,M,F);else for(;P!==null;){if(P.tag===3){Uc(P,M,F);break}else if(P.tag===1){var q=P.stateNode;if(typeof P.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(ai===null||!ai.has(q))){M=Oi(F,M),M=Rc(P,M,1),P=Po(P,M,1),M=Vn(),P!==null&&(Fa(P,1,M),no(P,M));break}}P=P.return}}function Ff(M,P,F){var q=M.pingCache;q!==null&&q.delete(P),P=Vn(),M.pingedLanes|=M.suspendedLanes&F,xn===M&&(Tn&F)===F&&(pn===4||pn===3&&(Tn&130023424)===Tn&&500>Gr()-yd?ji(M,0):jc|=F),no(M,P)}function Up(M,P){P===0&&((M.mode&1)===0?P=1:(P=Al,Al<<=1,(Al&130023424)===0&&(Al=4194304)));var F=Vn();M=Rs(M,P),M!==null&&(Fa(M,P,F),no(M,F))}function Nf(M){var P=M.memoizedState,F=0;P!==null&&(F=P.retryLane),Up(M,F)}function jf(M,P){var F=0;switch(M.tag){case 13:var q=M.stateNode,le=M.memoizedState;le!==null&&(F=le.retryLane);break;case 19:q=M.stateNode;break;default:throw Error(g(314))}q!==null&&q.delete(P),Up(M,F)}var Vp;Vp=function(M,P,F){if(M!==null)if(M.memoizedProps!==P.pendingProps||Jn.current)zn=!0;else{if((M.lanes&F)===0&&(P.flags&128)===0)return zn=!1,Ip(M,P,F);zn=(M.flags&131072)!==0}else zn=!1,Br&&(P.flags&1048576)!==0&&gp(P,dc,P.index);switch(P.lanes=0,P.tag){case 2:var q=P.type;Lc(M,P),M=P.pendingProps;var le=ha(P,Ln.current);ei(P,F),le=Di(null,P,q,M,le,F);var _e=vc();return P.flags|=1,typeof le=="object"&&le!==null&&typeof le.render=="function"&&le.$$typeof===void 0?(P.tag=1,P.memoizedState=null,P.updateQueue=null,Qn(q)?(_e=!0,Co(P)):_e=!1,P.memoizedState=le.state!==null&&le.state!==void 0?le.state:null,gc(P),le.updater=Pc,P.stateNode=le,le._reactInternals=P,ed(P,q,M,F),P=cd(null,P,q,!0,_e,F)):(P.tag=0,Br&&_e&&tl(P),Sn(null,P,le,F),P=P.child),P;case 16:q=P.elementType;e:{switch(Lc(M,P),M=P.pendingProps,le=q._init,q=le(q._payload),P.type=q,le=P.tag=Yf(q),M=Ro(q,M),le){case 0:P=ad(null,P,q,M,F);break e;case 1:P=ld(null,P,q,M,F);break e;case 11:P=Rp(null,P,q,M,F);break e;case 14:P=rd(null,P,q,Ro(q.type,M),F);break e}throw Error(g(306,q,""))}return P;case 0:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),ad(M,P,q,le,F);case 1:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),ld(M,P,q,le,F);case 3:e:{if(kp(P),M===null)throw Error(g(387));q=P.pendingProps,_e=P.memoizedState,le=_e.element,vp(M,P),ya(P,q,null,F);var we=P.memoizedState;if(q=we.element,_e.isDehydrated)if(_e={element:q,isDehydrated:!1,cache:we.cache,pendingSuspenseBoundaries:we.pendingSuspenseBoundaries,transitions:we.transitions},P.updateQueue.baseState=_e,P.memoizedState=_e,P.flags&256){le=Oi(Error(g(423)),P),P=ys(M,P,q,F,le);break e}else if(q!==le){le=Oi(Error(g(424)),P),P=ys(M,P,q,F,le);break e}else for(uo=Ks(P.stateNode.containerInfo.firstChild),An=P,Br=!0,Yo=null,F=fc(P,null,q,F),P.child=F;F;)F.flags=F.flags&-3|4096,F=F.sibling;else{if(ps(),q===le){P=zo(M,P,F);break e}Sn(M,P,q,F)}P=P.child}return P;case 5:return Yu(P),M===null&&Xn(P),q=P.type,le=P.pendingProps,_e=M!==null?M.memoizedProps:null,we=le.children,Xa(q,le)?we=null:_e!==null&&Xa(q,_e)&&(P.flags|=32),od(M,P),Sn(M,P,we,F),P.child;case 6:return M===null&&Xn(P),null;case 13:return Ic(M,P,F);case 4:return Hu(P,P.stateNode.containerInfo),q=P.pendingProps,M===null?P.child=Xr(P,null,q,F):Sn(M,P,q,F),P.child;case 11:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),Rp(M,P,q,le,F);case 7:return Sn(M,P,P.pendingProps,F),P.child;case 8:return Sn(M,P,P.pendingProps.children,F),P.child;case 12:return Sn(M,P,P.pendingProps.children,F),P.child;case 10:e:{if(q=P.type._context,le=P.pendingProps,_e=P.memoizedProps,we=le.value,jr(il,q._currentValue),q._currentValue=we,_e!==null)if(at(_e.value,we)){if(_e.children===le.children&&!Jn.current){P=zo(M,P,F);break e}}else for(_e=P.child,_e!==null&&(_e.return=P);_e!==null;){var Oe=_e.dependencies;if(Oe!==null){we=_e.child;for(var ze=Oe.firstContext;ze!==null;){if(ze.context===q){if(_e.tag===1){ze=ks(-1,F&-F),ze.tag=2;var ct=_e.updateQueue;if(ct!==null){ct=ct.shared;var Mt=ct.pending;Mt===null?ze.next=ze:(ze.next=Mt.next,Mt.next=ze),ct.pending=ze}}_e.lanes|=F,ze=_e.alternate,ze!==null&&(ze.lanes|=F),Cn(_e.return,F,P),Oe.lanes|=F;break}ze=ze.next}}else if(_e.tag===10)we=_e.type===P.type?null:_e.child;else if(_e.tag===18){if(we=_e.return,we===null)throw Error(g(341));we.lanes|=F,Oe=we.alternate,Oe!==null&&(Oe.lanes|=F),Cn(we,F,P),we=_e.sibling}else we=_e.child;if(we!==null)we.return=_e;else for(we=_e;we!==null;){if(we===P){we=null;break}if(_e=we.sibling,_e!==null){_e.return=we.return,we=_e;break}we=we.return}_e=we}Sn(M,P,le.children,F),P=P.child}return P;case 9:return le=P.type,q=P.pendingProps.children,ei(P,F),le=Mo(le),q=q(le),P.flags|=1,Sn(M,P,q,F),P.child;case 14:return q=P.type,le=Ro(q,P.pendingProps),le=Ro(q.type,le),rd(M,P,q,le,F);case 15:return _s(M,P,P.type,P.pendingProps,F);case 17:return q=P.type,le=P.pendingProps,le=P.elementType===q?le:Ro(q,le),Lc(M,P),P.tag=1,Qn(q)?(M=!0,Co(P)):M=!1,ei(P,F),Ai(P,q,le),ed(P,q,le,F),cd(null,P,q,!0,M,F);case 19:return ni(M,P,F);case 22:return nd(M,P,F)}throw Error(g(156,P.tag))};function Wp(M,P){return Er(M,P)}function Hf(M,P,F,q){this.tag=M,this.key=F,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=P,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lo(M,P,F,q){return new Hf(M,P,F,q)}function Vc(M){return M=M.prototype,!(!M||!M.isReactComponent)}function Yf(M){if(typeof M=="function")return Vc(M)?1:0;if(M!=null){if(M=M.$$typeof,M===oe)return 11;if(M===re)return 14}return 2}function qo(M,P){var F=M.alternate;return F===null?(F=Lo(M.tag,P,M.key,M.mode),F.elementType=M.elementType,F.type=M.type,F.stateNode=M.stateNode,F.alternate=M,M.alternate=F):(F.pendingProps=P,F.type=M.type,F.flags=0,F.subtreeFlags=0,F.deletions=null),F.flags=M.flags&14680064,F.childLanes=M.childLanes,F.lanes=M.lanes,F.child=M.child,F.memoizedProps=M.memoizedProps,F.memoizedState=M.memoizedState,F.updateQueue=M.updateQueue,P=M.dependencies,F.dependencies=P===null?null:{lanes:P.lanes,firstContext:P.firstContext},F.sibling=M.sibling,F.index=M.index,F.ref=M.ref,F}function Wc(M,P,F,q,le,_e){var we=2;if(q=M,typeof M=="function")Vc(M)&&(we=1);else if(typeof M=="string")we=5;else e:switch(M){case W:return Yi(F.children,le,_e,P);case J:we=8,le|=8;break;case Q:return M=Lo(12,F,P,le|2),M.elementType=Q,M.lanes=_e,M;case ie:return M=Lo(13,F,P,le),M.elementType=ie,M.lanes=_e,M;case ee:return M=Lo(19,F,P,le),M.elementType=ee,M.lanes=_e,M;case fe:return qc(F,le,_e,P);default:if(typeof M=="object"&&M!==null)switch(M.$$typeof){case X:we=10;break e;case Z:we=9;break e;case oe:we=11;break e;case re:we=14;break e;case ce:we=16,q=null;break e}throw Error(g(130,M==null?M:typeof M,""))}return P=Lo(we,F,P,le),P.elementType=M,P.type=q,P.lanes=_e,P}function Yi(M,P,F,q){return M=Lo(7,M,q,P),M.lanes=F,M}function qc(M,P,F,q){return M=Lo(22,M,q,P),M.elementType=fe,M.lanes=F,M.stateNode={isHidden:!1},M}function Td(M,P,F){return M=Lo(6,M,null,P),M.lanes=F,M}function Pd(M,P,F){return P=Lo(4,M.children!==null?M.children:[],M.key,P),P.lanes=F,P.stateNode={containerInfo:M.containerInfo,pendingChildren:null,implementation:M.implementation},P}function Bf(M,P,F,q,le){this.tag=P,this.containerInfo=M,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Oa(0),this.expirationTimes=Oa(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Oa(0),this.identifierPrefix=q,this.onRecoverableError=le,this.mutableSourceEagerHydrationData=null}function $d(M,P,F,q,le,_e,we,Oe,ze){return M=new Bf(M,P,F,Oe,ze),P===1?(P=1,_e===!0&&(P|=8)):P=0,_e=Lo(3,null,null,P),M.current=_e,_e.stateNode=M,_e.memoizedState={element:q,isDehydrated:F,cache:null,transitions:null,pendingSuspenseBoundaries:null},gc(_e),M}function zf(M,P,F){var q=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:U,key:q==null?null:""+q,children:M,containerInfo:P,implementation:F}}function qp(M){if(!M)return Qs;M=M._reactInternals;e:{if(ut(M)!==M||M.tag!==1)throw Error(g(170));var P=M;do{switch(P.tag){case 3:P=P.stateNode.context;break e;case 1:if(Qn(P.type)){P=P.stateNode.__reactInternalMemoizedMergedChildContext;break e}}P=P.return}while(P!==null);throw Error(g(171))}if(M.tag===1){var F=M.type;if(Qn(F))return fp(M,F,P)}return P}function Kp(M,P,F,q,le,_e,we,Oe,ze){return M=$d(F,q,!0,M,le,_e,we,Oe,ze),M.context=qp(null),F=M.current,q=Vn(),le=ci(F),_e=ks(q,le),_e.callback=P!=null?P:null,Po(F,_e,le),M.current.lanes=le,Fa(M,le,q),no(M,q),M}function Kc(M,P,F,q){var le=P.current,_e=Vn(),we=ci(le);return F=qp(F),P.context===null?P.context=F:P.pendingContext=F,P=ks(_e,we),P.payload={element:M},q=q===void 0?null:q,q!==null&&(P.callback=q),M=Po(le,P,we),M!==null&&(Wo(M,le,we,_e),xc(M,le,we)),we}function Jc(M){if(M=M.current,!M.child)return null;switch(M.child.tag){case 5:return M.child.stateNode;default:return M.child.stateNode}}function Jp(M,P){if(M=M.memoizedState,M!==null&&M.dehydrated!==null){var F=M.retryLane;M.retryLane=F!==0&&F<P?F:P}}function Rd(M,P){Jp(M,P),(M=M.alternate)&&Jp(M,P)}function Gf(){return null}var Qp=typeof reportError=="function"?reportError:function(M){console.error(M)};function Qc(M){this._internalRoot=M}kl.prototype.render=Qc.prototype.render=function(M){var P=this._internalRoot;if(P===null)throw Error(g(409));Kc(M,P,null,null)},kl.prototype.unmount=Qc.prototype.unmount=function(){var M=this._internalRoot;if(M!==null){this._internalRoot=null;var P=M.containerInfo;Ni(function(){Kc(null,M,null,null)}),P[co]=null}};function kl(M){this._internalRoot=M}kl.prototype.unstable_scheduleHydration=function(M){if(M){var P=uu();M={blockedOn:null,target:M,priority:P};for(var F=0;F<zs.length&&P!==0&&P<zs[F].priority;F++);zs.splice(F,0,M),F===0&&Bd(M)}};function kd(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11)}function Xc(M){return!(!M||M.nodeType!==1&&M.nodeType!==9&&M.nodeType!==11&&(M.nodeType!==8||M.nodeValue!==" react-mount-point-unstable "))}function Xp(){}function Uf(M,P,F,q,le){if(le){if(typeof q=="function"){var _e=q;q=function(){var ct=Jc(we);_e.call(ct)}}var we=Kp(P,q,M,0,null,!1,!1,"",Xp);return M._reactRootContainer=we,M[co]=we.current,Ws(M.nodeType===8?M.parentNode:M),Ni(),we}for(;le=M.lastChild;)M.removeChild(le);if(typeof q=="function"){var Oe=q;q=function(){var ct=Jc(ze);Oe.call(ct)}}var ze=$d(M,0,!1,null,null,!1,!1,"",Xp);return M._reactRootContainer=ze,M[co]=ze.current,Ws(M.nodeType===8?M.parentNode:M),Ni(function(){Kc(P,ze,F,q)}),ze}function Bi(M,P,F,q,le){var _e=F._reactRootContainer;if(_e){var we=_e;if(typeof le=="function"){var Oe=le;le=function(){var ze=Jc(we);Oe.call(ze)}}Kc(P,we,M,le)}else we=Uf(F,P,M,le,q);return Jc(we)}cu=function(M){switch(M.tag){case 3:var P=M.stateNode;if(P.current.memoizedState.isDehydrated){var F=Wi(P.pendingLanes);F!==0&&(Na(P,F|1),no(P,Gr()),(Tr&6)===0&&(Fi=Gr()+500,Xs()))}break;case 13:Ni(function(){var q=Rs(M,1);if(q!==null){var le=Vn();Wo(q,M,1,le)}}),Rd(M,1)}},Fl=function(M){if(M.tag===13){var P=Rs(M,134217728);if(P!==null){var F=Vn();Wo(P,M,134217728,F)}Rd(M,134217728)}},Hd=function(M){if(M.tag===13){var P=ci(M),F=Rs(M,P);if(F!==null){var q=Vn();Wo(F,M,P,q)}Rd(M,P)}},uu=function(){return kr},du=function(M,P){var F=kr;try{return kr=M,P()}finally{kr=F}},vr=function(M,P,F){switch(P){case"input":if(rt(M,F),P=F.name,F.type==="radio"&&P!=null){for(F=M;F.parentNode;)F=F.parentNode;for(F=F.querySelectorAll("input[name="+JSON.stringify(""+P)+'][type="radio"]'),P=0;P<F.length;P++){var q=F[P];if(q!==M&&q.form===M.form){var le=ac(q);if(!le)throw Error(g(90));Ge(q),rt(q,le)}}}break;case"textarea":st(M,F);break;case"select":P=F.value,P!=null&&je(M,!!F.multiple,P,!1)}},yn=Sd,Qr=Ni;var Vf={usingClientEntryPoint:!1,Events:[In,pr,ac,xr,qr,Sd]},Il={findFiberByHostInstance:as,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Wf={bundleType:Il.bundleType,version:Il.version,rendererPackageName:Il.rendererPackageName,rendererConfig:Il.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:z.ReactCurrentDispatcher,findHostInstanceByFiber:function(M){return M=dr(M),M===null?null:M.stateNode},findFiberByHostInstance:Il.findFiberByHostInstance||Gf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"){var Zc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Zc.isDisabled&&Zc.supportsFiber)try{Dl=Zc.inject(Wf),ts=Zc}catch(M){}}return reactDom_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Vf,reactDom_production_min.createPortal=function(M,P){var F=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!kd(P))throw Error(g(200));return zf(M,P,null,F)},reactDom_production_min.createRoot=function(M,P){if(!kd(M))throw Error(g(299));var F=!1,q="",le=Qp;return P!=null&&(P.unstable_strictMode===!0&&(F=!0),P.identifierPrefix!==void 0&&(q=P.identifierPrefix),P.onRecoverableError!==void 0&&(le=P.onRecoverableError)),P=$d(M,1,!1,null,null,F,!1,q,le),M[co]=P.current,Ws(M.nodeType===8?M.parentNode:M),new Qc(P)},reactDom_production_min.findDOMNode=function(M){if(M==null)return null;if(M.nodeType===1)return M;var P=M._reactInternals;if(P===void 0)throw typeof M.render=="function"?Error(g(188)):(M=Object.keys(M).join(","),Error(g(268,M)));return M=dr(P),M=M===null?null:M.stateNode,M},reactDom_production_min.flushSync=function(M){return Ni(M)},reactDom_production_min.hydrate=function(M,P,F){if(!Xc(P))throw Error(g(200));return Bi(null,M,P,!0,F)},reactDom_production_min.hydrateRoot=function(M,P,F){if(!kd(M))throw Error(g(405));var q=F!=null&&F.hydratedSources||null,le=!1,_e="",we=Qp;if(F!=null&&(F.unstable_strictMode===!0&&(le=!0),F.identifierPrefix!==void 0&&(_e=F.identifierPrefix),F.onRecoverableError!==void 0&&(we=F.onRecoverableError)),P=Kp(P,null,M,1,F!=null?F:null,le,!1,_e,we),M[co]=P.current,Ws(M),q)for(M=0;M<q.length;M++)F=q[M],le=F._getVersion,le=le(F._source),P.mutableSourceEagerHydrationData==null?P.mutableSourceEagerHydrationData=[F,le]:P.mutableSourceEagerHydrationData.push(F,le);return new kl(P)},reactDom_production_min.render=function(M,P,F){if(!Xc(P))throw Error(g(200));return Bi(null,M,P,!1,F)},reactDom_production_min.unmountComponentAtNode=function(M){if(!Xc(M))throw Error(g(40));return M._reactRootContainer?(Ni(function(){Bi(null,null,M,!1,function(){M._reactRootContainer=null,M[co]=null})}),!0):!1},reactDom_production_min.unstable_batchedUpdates=Sd,reactDom_production_min.unstable_renderSubtreeIntoContainer=function(M,P,F,q){if(!Xc(F))throw Error(g(200));if(M==null||M._reactInternals===void 0)throw Error(g(38));return Bi(M,P,F,!1,q)},reactDom_production_min.version="18.3.1-next-f1338f8080-20240426",reactDom_production_min}var hasRequiredReactDom;function requireReactDom(){if(hasRequiredReactDom)return reactDom.exports;hasRequiredReactDom=1;function d(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(m){console.error(m)}}return d(),reactDom.exports=requireReactDom_production_min(),reactDom.exports}var hasRequiredClient;function requireClient(){if(hasRequiredClient)return client;hasRequiredClient=1;var d=requireReactDom();return client.createRoot=d.createRoot,client.hydrateRoot=d.hydrateRoot,client}var clientExports=requireClient();const scriptRel="modulepreload",assetsURL=function(d){return"/"+d},seen={},__vitePreload=function(m,g,x){let b=Promise.resolve();if(g&&g.length>0){let v=function(T){return Promise.all(T.map($=>Promise.resolve($).then(k=>({status:"fulfilled",value:k}),k=>({status:"rejected",reason:k}))))};document.getElementsByTagName("link");const C=document.querySelector("meta[property=csp-nonce]"),S=(C==null?void 0:C.nonce)||(C==null?void 0:C.getAttribute("nonce"));b=v(g.map(T=>{if(T=assetsURL(T),T in seen)return;seen[T]=!0;const $=T.endsWith(".css"),k=$?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${T}"]${k}`))return;const I=document.createElement("link");if(I.rel=$?"stylesheet":scriptRel,$||(I.as="script"),I.crossOrigin="",I.href=T,S&&I.setAttribute("nonce",S),document.head.appendChild(I),$)return new Promise((D,A)=>{I.addEventListener("load",D),I.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${T}`)))})}))}function E(v){const C=new Event("vite:preloadError",{cancelable:!0});if(C.payload=v,window.dispatchEvent(C),!C.defaultPrevented)throw v}return b.then(v=>{for(const C of v||[])C.status==="rejected"&&E(C.reason);return m().catch(E)})};window.crypto||(window.crypto={});crypto.subtle||(crypto.subtle=console.debug("using polyfill for crypto.subtle")||{});var Lm;(Lm=crypto.subtle).digest||(Lm.digest=(d,m)=>xt(void 0,null,function*(){if(d!=="SHA-512")return alert(d+" required but not supported");const x=(yield __vitePreload(()=>import("./sha512-BUo7IPyY.js").then(b=>b.s),[])).default.arrayBuffer;return x(m)}));var reactDomExports=requireReactDom();const ReactDOM=getDefaultExportFromCjs(reactDomExports);/**
33
33
  * @remix-run/router v1.23.2
34
34
  *
35
35
  * Copyright (c) Remix Software Inc.
@@ -318,9 +318,9 @@ function print() { __p += __j.call(arguments, '') }
318
318
  *
319
319
  * This source code is licensed under the MIT license found in the
320
320
  * LICENSE file in the root directory of this source tree.
321
- */var hasRequiredUseSyncExternalStoreShim_production_min;function requireUseSyncExternalStoreShim_production_min(){if(hasRequiredUseSyncExternalStoreShim_production_min)return useSyncExternalStoreShim_production_min;hasRequiredUseSyncExternalStoreShim_production_min=1;var d=requireReact();function m(k,I){return k===I&&(k!==0||1/k===1/I)||k!==k&&I!==I}var g=typeof Object.is=="function"?Object.is:m,x=d.useState,b=d.useEffect,E=d.useLayoutEffect,v=d.useDebugValue;function C(k,I){var D=I(),A=x({inst:{value:D,getSnapshot:I}}),L=A[0].inst,N=A[1];return E(function(){L.value=D,L.getSnapshot=I,S(L)&&N({inst:L})},[k,D,I]),b(function(){return S(L)&&N({inst:L}),k(function(){S(L)&&N({inst:L})})},[k]),v(D),D}function S(k){var I=k.getSnapshot;k=k.value;try{var D=I();return!g(k,D)}catch(A){return!0}}function T(k,I){return I()}var $=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?T:C;return useSyncExternalStoreShim_production_min.useSyncExternalStore=d.useSyncExternalStore!==void 0?d.useSyncExternalStore:$,useSyncExternalStoreShim_production_min}var hasRequiredShim;function requireShim(){return hasRequiredShim||(hasRequiredShim=1,shim.exports=requireUseSyncExternalStoreShim_production_min()),shim.exports}var shimExports=requireShim();const useSyncExternalStoreExports=getDefaultExportFromCjs(shimExports),__vite_import_meta_env__={},{use}=React,{useSyncExternalStore}=useSyncExternalStoreExports,useAffectedDebugValue=(d,m)=>{const g=reactExports.useRef();reactExports.useEffect(()=>{g.current=w(d,m)}),reactExports.useDebugValue(g.current)},targetCache=new WeakMap;function useSnapshot(d,m){const x=reactExports.useRef(),b=reactExports.useRef();let E=!0;const v=useSyncExternalStore(reactExports.useCallback(T=>{const $=subscribe(d,T,void 0);return T(),$},[d,void 0]),()=>{const T=snapshot(d,use);try{if(!E&&x.current&&b.current&&!p(x.current,T,b.current,new WeakMap))return x.current}catch($){}return T},()=>snapshot(d,use));E=!1;const C=new WeakMap;reactExports.useEffect(()=>{x.current=v,b.current=C}),(__vite_import_meta_env__?"production":void 0)!=="production"&&useAffectedDebugValue(v,C);const S=reactExports.useMemo(()=>new WeakMap,[]);return a(v,C,S,targetCache)}const dialogs=proxy([]),{history:history$1}=window,dialogsDefaults={closableProps:{children:"x","aria-label":"Close"},padding:!0},focusableSelector=['input:not([type="hidden"])',"button","select","textarea","a[href]","[tabindex]"].map(d=>d+':not([disabled]):not([tabindex="-1"])').join(",");window.addEventListener("keydown",d=>{d.key==="Tab"&&tabCycle(d.target,d.shiftKey)&&d.preventDefault()});function tabCycle(d,m=!1){const g=document.querySelectorAll("[role$=dialog]"),x=g[g.length-1];if(!x)return;const b=x.querySelectorAll(focusableSelector),E=b.length;if(!E)return;const[v,C]=m?[E-1,0]:[0,E-1];if(!(d!==b[C]&&isDescendant(document.activeElement,x)))return b[v].focus(),!0}function isDescendant(d,m){if(!m)return!1;const g=typeof m=="function";for(;d;){if(g?m(d):d===m)return!0;d=d.parentNode}return!1}let waitClosing=Promise.resolve(),ignorePopState=!1;function back(){return xt(this,null,function*(){ignorePopState=!0;const d=history$1.state;return waitClosing=waitClosing.then(()=>new Promise(m=>xt(this,null,function*(){const g=Date.now()+1500;let x=0;for(;d===history$1.state;){const b=Date.now();if(b>g)break;b-x>1e3&&(history$1.back(),x=b),yield wait(10)}m()})))})}const BASE_STATE=1;xt(void 0,null,function*(){var d;for(;((d=history$1.state)==null?void 0:d.$dialog)!==void 0&&history$1.state.$dialog!==BASE_STATE;)history$1.back(),yield wait(1);history$1.replaceState($t(Ae({},history$1.state),{$dialog:BASE_STATE}),"")});function Dialogs(d){reactExports.useEffect(()=>domOn("popstate",()=>{var x;if(ignorePopState)return ignorePopState=!1;const g=(x=history$1.state)==null?void 0:x.$dialog;if(g!==void 0){if(g!==BASE_STATE&&!dialogs.find(b=>b.$id===g))return back();closeDialog(void 0,!0)}}),[]);const m=useSnapshot(dialogs);return reactExports.useEffect(()=>{document.body.style.overflow=m.length?"hidden":""},[m.length]),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement("div",Ae({"aria-hidden":m.length>0},d)),m.map(g=>reactExports.createElement(Dialog,Ae({key:g.$id},g))))}function Dialog(d){var E;const m=reactExports.useRef(null),[g,x]=reactExports.useState(0);if(reactExports.useEffect(()=>{var T;const v=(T=m.current)==null?void 0:T.querySelector(".dialog");if(!v||(tabCycle(v),!d.position))return;let C=0;const S=setInterval(()=>{const $=v.getBoundingClientRect();x(C=Math.min(C,$.top,window.innerHeight-$.bottom+C))},100);return()=>clearInterval(S)},[]),d=Ae(Ae({closable:!0},dialogsDefaults),d),d.Container)return reactExports.createElement(d.Container,d);return reactExports.createElement("div",{ref:m,className:"dialog-backdrop "+(d.className||""),onKeyDown(v){v.key==="Escape"&&closeDialog(),v.stopPropagation()},onClick:v=>d.closable&&v.target===v.currentTarget&&closeDialog()},d.noFrame?reactExports.createElement(d.Content||"div"):reactExports.createElement("div",Ae({role:"dialog","aria-modal":!0,className:"dialog",style:Ae(Ae({},b()),(E=d.dialogProps)==null?void 0:E.style),onClick(v){v.stopPropagation()}},d.dialogProps),reactExports.createElement("button",Ae({className:"dialog-icon dialog-closer"+(d.closable?"":" hidden"),onClick(){closeDialog()}},d.closableProps)),d.icon&&reactExports.createElement("div",{className:"dialog-icon dialog-type"+(typeof d.icon=="string"?" dialog-icon-text":""),"aria-hidden":!0},componentOrNode(d.icon)),reactExports.createElement("h1",{className:"dialog-title"},componentOrNode(d.title)),reactExports.createElement("div",{className:"dialog-content"},reactExports.createElement(d.Content||"div"))));function b(){const{innerWidth:v,innerHeight:C}=window,S=d.position;return S&&Ae(Ae({margin:"1em",position:"absolute"},S[0]<v/2?{left:S[0]}:{right:v-S[0]}),S[1]<C/2?{top:g+S[1]}:{bottom:g+C-S[1]})}}function componentOrNode(d){return isPrimitive(d)||reactExports.isValidElement(d)?d:reactExports.createElement(d)}function newDialog(d){var v;const m=Math.random(),g=performance.now(),x=Object.assign(objSameKeys(d,C=>reactExports.isValidElement(C)?ref(C):C),{close:E,ts:g,$id:m,restoreFocus:(v=d.restoreFocus)!=null?v:ref(document.activeElement||{})});let b=!1;return waitClosing.then(()=>{var C;b||(dialogs.push(x),dialogs.at(-1).closable!==!1&&history$1.pushState({$dialog:m,ts:g,idx:1+(((C=history$1.state)==null?void 0:C.idx)||0)},""))}),x;function E(C){var T;b=!0;const S=dialogs.findIndex($=>$.$id===m);if(!(S<0))return x.closed=((T=history$1.state)==null?void 0:T.$dialog)===m?back():Promise.resolve(),closeDialogAt(S,C),d.closed}}function closeDialog(d,m=!1){var x,b;let g=dialogs.length;if(((x=dialogs[g-1])==null?void 0:x.closable)!==!1)for(;g--;){const E=dialogs[g];if(!E.reserveClosing){if(!m){if(((b=history$1.state)==null?void 0:b.$dialog)!==E.$id)return;E.closed=back()}return closeDialogAt(g,d),E}}}function closeDialogAt(d,m){var x,b,E;const[g]=dialogs.splice(d,1);return(b=(x=g.restoreFocus)==null?void 0:x.focus)==null||b.call(x),g.closingValue=m&&typeof m=="object"?ref(m):m,(E=g.closed)!=null||(g.closed=Promise.resolve()),g.closed.then(()=>{var v;return(v=g==null?void 0:g.onClose)==null?void 0:v.call(g,m)}),g}function anyDialogOpen(){return dialogs.length>0}const MD_TAGS={a:"a","`":"code","*":"i","**":"b"};function md(d,{html:m=!0,linkTarget:g="_blank",onText:x=b=>b}={}){return typeof d!="string"&&(d=d[0]),replaceStringToReact(d,/(`|_|\*\*?)(.+?)\1|(\n)|\[(.+?)\]\((.+?)\)|(<(\w+?)(?:\s+[^>]*?)?>(?:.*?<\/\7>)?)/g,b=>b[4]?reactExports.createElement(MD_TAGS.a,{href:b[5],target:g},x(b[4])):b[3]?reactExports.createElement("br"):b[1]?reactExports.createElement(MD_TAGS[b[1]]||reactExports.Fragment,{},x(b[2])):m?reactExports.createElement(Html,{},b[6]):b[6],x)}function replaceStringToReact(d,m,g,x=b=>b){const b=[];let E=0,v;for(;(v=m.exec(d))&&(b.push(x(d.slice(E,v.index))),b.push(g(v)),E=v.index+v[0].length,!!m.global););return reactExports.createElement(reactExports.Fragment,{},...b,x(d.slice(E,1/0)))}function Html(g){var x=g,{children:d}=x,m=zt(x,["children"]);return reactExports.useMemo(()=>d?reactExports.createElement("span",$t(Ae({},m),{ref:b=>b&&b.replaceChildren(document.createRange().createContextualFragment(d))})):null,[d])}window._=_;setTimeout(()=>{document.querySelectorAll(".removeAtBoot").forEach(d=>d.remove())},500);const cpuSpeedIndex=(()=>{let d=performance.now();return _.range(1e5).map(m=>++m),d=performance.now()-d,1/d})(),urlParams=Object.fromEntries(new URLSearchParams(window.location.search).entries()),HFS=getHFS();Object.assign(HFS,{getPluginKey:()=>getScriptAttr("plugin"),getPluginPublic:()=>{var d,m;return(m=(d=getScriptAttr("src"))==null?void 0:d.match(/^.*\//))==null?void 0:m[0]},getPluginConfig:()=>HFS.plugins[HFS.getPluginKey()]||{},loadScript:d=>loadScript(d.includes("//")||d.startsWith("/")?d:HFS.getPluginPublic()+d),userBelongsTo:d=>wantArray(d).some(m=>{var g;return(g=HFS.state.expandedUsername)==null?void 0:g.includes(m)}),cpuSpeedIndex,copyTextToClipboard,urlParams});formatBytes.k=HFS.kb;const IMAGE_FILEMASK="*.jpg|*.jpeg|*.png|*.gif|*.svg";{const d=console.debug;console.debug=(...m)=>window.DEV&&d(...m)}function getScriptAttr(d){var m;return((m=document.currentScript)==null?void 0:m.getAttribute(d))||console.error("this function must be called at the very top of your file")}function buildUrlQueryString(d){return"?"+Object.entries(d).filter(m=>m[1]!==void 0).map(m=>m.map(g=>encodeURIComponent(g).replaceAll("%2F","/")).join("=")).join("&")}function domOn(d,m,g){const x=g&&"target"in g?g.target:window;return x?(x.addEventListener(d,m,g),()=>x.removeEventListener(d,m,g)):()=>{}}function restartAnimation(d,m){d&&(d.style.animation="",d.offsetWidth,d.style.animation=m)}function selectFiles(d,{accept:m="",multiple:g=!0,folder:x=!1}={}){const b=Object.assign(document.createElement("input"),{type:"file",name:"file",accept:m,multiple:g,webkitdirectory:x});b.addEventListener("change",()=>d(b.files)),b.click()}function readFile(d){return new Promise((m,g)=>{const x=new FileReader;x.addEventListener("load",b=>{if(!b.target||d.size&&!b.target.result)return g("cannot read");const{result:E}=b.target;m(E==null?void 0:E.toString())}),x.addEventListener("error",()=>{g(x.error)}),x.readAsText(d)})}function isMobile(){return window.innerWidth<800}function getHFS(){return window.HFS||(window.HFS={})}function getPrefixUrl(){return getHFS().prefixUrl}function makeSessionRefresher(d){let m;return g(getHFS().session),g;function g(x){clearTimeout(m);const b=["username","adminUrl","canChangePassword","accountExp","expandedUsername","requireChangePassword"];x!=null||(x=objFromKeys(b,()=>{}));const{exp:E}=x;if(getHFS().session=Object.assign(d,_.pick(x,b)),!x.username||!E)return;const v=new Date(E).getTime()-Date.now(),C=_.clamp(v-3e4,4e3,6e5);console.debug("session refresh in",Math.round(C/1e3)),m=setTimeout(()=>apiCall("refresh_session").then(g),C)}}function focusSelector(d,m=document){const g=m.querySelector(d);if(g&&g instanceof HTMLElement)return g.focus(),!0}function loadScript(d,m={}){return new Promise((g,x)=>{const b=document.createElement("script");b.type="text/javascript",b.src=d,b.onload=g,b.onerror=x;for(const[E,v]of Object.entries(m))b.setAttribute(E,String(v));document.head.appendChild(b)})}function fallbackToBasicAuth(){return BigInt===Number}function basename(d){var m;return((m=d.match(/([^\\/]+)[\\/]*$/))==null?void 0:m[1])||""}function extname(d){const m=basename(d),g=m.lastIndexOf(".");return g<=0?"":m.slice(g)}function dirname(d){return d.slice(0,Math.max(0,d.lastIndexOf("/",d.length-1)))}function createDurationFormatter({locale:d=void 0,unitDisplay:m="narrow",largest:g="day",smallest:x="second",maxTokens:b,skipZeroes:E}={}){const v={day:DAY,hour:HOUR,minute:MINUTE,second:1e3},C=objSameKeys(v,(T,$)=>Intl.NumberFormat(d,{style:"unit",unit:$,unitDisplay:m}).format),S=new Intl.ListFormat(d,{style:"narrow",type:"unit"});return T=>{var I,D;const $=[];let k=!1;for(const[A,L]of typedEntries(v)){if(A===x&&$.length)break;if(A===g&&(k=!0),!k)continue;const N=Math.floor(T/L);if(!(!N&&E)){if($.push((D=(I=C[A])==null?void 0:I.call(C,N))!=null?D:String(N)),$.length===b)break;T%=L}}return S.format($)}}function copyTextToClipboard(d){return xt(this,null,function*(){d=String(d);try{yield navigator.clipboard.writeText(d)}catch(m){console.debug("fallback clipboard method");const g=domOn("copy",x=>{var b;(b=x.clipboardData)==null||b.setData("text/plain",d),x.preventDefault()},{capture:!0,target:document});try{if(!document.execCommand("copy"))throw Error("unknown")}finally{g()}}})}function downloadFileWithContent(d,m){const g=m instanceof Blob?m:new Blob([m],{type:"text/plain"}),x=document.createElement("a");x.href=URL.createObjectURL(g),x.download=d,x.style.display="none",document.body.append(x),x.click(),setTimeout(()=>x.remove(),100)}function withSrpLib(d){return(...m)=>__vitePreload(()=>import("./index-CNnmxYpa.js").then(g=>g.i),[]).then(g=>d(g,...m))}function apiNewPassword(d,m){return xt(this,null,function*(){const{createVerifierAndSalt:g,SRPParameters:x,SRPRoutines:b}=yield __vitePreload(()=>xt(this,null,function*(){const{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}=yield import("./index-CNnmxYpa.js").then($=>$.i);return{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}}),[]),E=new b(new x),v=yield g(E,d,m);return apiCall("change_srp",{username:d,salt:String(v.s),verifier:String(v.v)})})}var Dm;(Dm=Element.prototype).replaceChildren||(Dm.replaceChildren=function(d){for(;this.lastChild;)this.removeChild(this.lastChild);d!==void 0&&this.append(d)});const shared=Object.freeze(Object.defineProperty({__proto__:null,ADMIN_URI,ALLOW_SESSION_IP_CHANGE,API_URI,AriaOnly,CFG,DAY,Dialogs,EMBEDDED_LANGUAGE,FRONTEND_OPTIONS,FRONTEND_URI,HFS_REPO,HIDE_IN_TESTS,HOUR,HTTP_BAD_REQUEST,HTTP_CONFLICT,HTTP_CREATED,HTTP_FAILED_DEPENDENCY,HTTP_FOOL,HTTP_FORBIDDEN,HTTP_INSUFFICIENT_STORAGE,HTTP_LOCKED,HTTP_MESSAGES,HTTP_METHOD_NOT_ALLOWED,HTTP_MOVED_PERMANENTLY,HTTP_NOT_ACCEPTABLE,HTTP_NOT_FOUND,HTTP_NOT_MODIFIED,HTTP_NO_CONTENT,HTTP_OK,HTTP_PARTIAL_CONTENT,HTTP_PAYLOAD_TOO_LARGE,HTTP_PRECONDITION_FAILED,HTTP_RANGE_NOT_SATISFIABLE,HTTP_SERVER_ERROR,HTTP_SERVICE_UNAVAILABLE,HTTP_TEMPORARY_REDIRECT,HTTP_TOO_MANY_REQUESTS,HTTP_UNAUTHORIZED,Html,ICONS_URI,IMAGE_FILEMASK,KeepInScreen,LIST,MASK_IN_TESTS,MAX_TILE_SIZE,MD_TAGS,MINUTE,MTIME_CHECK,NBSP,PERM_KEYS,PLUGINS_PUB_URI,PLUGIN_CUSTOM_REST_PREFIX,PORT_DISABLED,PREVIOUS_TAG,REPO_URL,SORT_BY_OPTIONS,SPECIAL_URI,THEME_OPTIONS,UPLOAD_TEMP_HASH,VFS_STORED_KEYS,WEBSITE,WHO_ANYONE,WHO_ANY_ACCOUNT,WHO_NO_ONE,WIKI_URL,_dbg,_log,anyDialogOpen,apiNewPassword,asyncGeneratorToArray,basename,buildUrlQueryString,callable,closeDialog,componentOrNode,copyTextToClipboard,cpuSpeedIndex,createDurationFormatter,defaultPerms,dialogsDefaults,dirname,domOn,dontBotherWithKeys,downloadFileWithContent,enforceFinal,enforceStarting,escapeHTML,extname,fallbackToBasicAuth,filterMapGenerator,findDefined,focusSelector,focusableSelector,formatBytes,formatDate,formatPerc,formatSpeed,formatTime,formatTimestamp:formatTimestamp$2,getHFS,getOrSet,getPrefixUrl,hasProp,haveTimeout,inCommon,ipForUrl,isAsyncIterable,isCtrlKey,isDescendant,isEqualLax,isIP,isIpLan,isIpLocalHost,isMac,isMobile,isNumeric,isOrderedEqual,isPrimitive,isTimestampString,isWhoObject,isWindowsDrive,join,loadScript,makeMatcher,makeSessionRefresher,mapFilter,matches,md,newDialog,newObj,noAriaTitle,normalizeHost,objFromKeys,objRenameKey,objSameKeys,onlyTruthy,patchKey:patchKey$1,pathDecode,pathEncode,pendingPromise,popKey,prefix,promiseBestEffort,randomId,reactFilter,reactJoin,readFile,removeFinal,removeStarting,repeat,replace,replaceStringToReact,restartAnimation,retry,runAt,safeDecodeURIComponent,selectFiles,setHidden,shortenAgent,splitAt,stringAfter,strinsert,swap,throw_,toMutable,truthy,tryJson,try_,typedEntries,typedKeys,urlParams,useAutoScroll,useBatch,useEffectOnce,useFixSticky,useGetSize,useIsMobile,useOnResize,useRequestRender,useStateMounted,wait,waitFor,wantArray,withSrpLib,with_,xlate},Symbol.toStringTag,{value:"Module"})),httpCodes={100:"Continue: the initial headers were received; continue with the request body",101:"Switching Protocols: the server is switching protocols as requested",102:"Processing: the server is processing the request but a complete response isn’t ready yet",103:"Early Hints: preliminary headers are being sent before the final response",200:"OK: response sent",201:"Created: a new resource was created successfully",202:"Accepted: the request has been accepted for processing but isn’t complete yet",203:"Non-Authoritative Information: the response contains modified information from a third party",204:"No Content: the request succeeded but there’s no content to return",205:"Reset Content: the request succeeded; please reset your view",206:"Partial Content: only part of the resource is being returned as requested",207:"Multi-Status: the response contains several status codes for different parts of the request",208:"Already Reported: the resource has already been reported in a previous response",226:"IM Used: the server fulfilled the request using instance manipulations",300:"Multiple Choices: several options are available for the requested resource",301:"Moved Permanently: the resource has been permanently moved to a new URL",302:"Found: the resource is temporarily located at a different URL",303:"See Other: the requested resource can be found using GET at another URL",304:"Not Modified: the browser was asked to use its cached version, and the file was not actually sent",305:"Use Proxy: the requested resource must be accessed through the specified proxy",306:"Switch Proxy: this code is no longer used but is reserved for future use",307:"Temporary Redirect: the resource is temporarily available at a different URL; use the original for future requests",308:"Permanent Redirect: the resource has been permanently moved to another URL",400:"Bad Request: the request is malformed or contains invalid parameters",401:"Unauthorized: authentication is required and was either not provided or failed",402:"Payment Required: payment is required to access this resource (reserved for future use)",403:"Forbidden: the server understands the request but refuses to authorize it",404:"Not Found: the requested resource could not be found",405:"Method Not Allowed: the HTTP method used isn’t allowed for this resource",406:"Not Acceptable: the resource can’t produce content acceptable according to the request",407:"Proxy Authentication Required: proxy authentication is required to access the resource",408:"Request Timeout: the server timed out waiting for the request",409:"Conflict: the request couldn’t be processed due to a conflict",410:"Gone: the requested resource is no longer available",411:"Length Required: the request didn’t include the required content length",412:"Precondition Failed: one or more conditions in the request header failed",413:"Payload Too Large: the request payload is too large for the server to process",414:"URI Too Long: the URL provided is too long",415:"Unsupported Media Type: the media type is not supported by the server",416:"Range Not Satisfiable: the requested range cannot be fulfilled by the server",417:"Expectation Failed: the server can’t meet the expectations in the request’s header",418:"I'm a Teapot: this code is a humorous reference and not meant for real use",421:"Misdirected Request: the request was sent to a server that can’t produce a response",422:"Unprocessable Entity: the request was well-formed but contains semantic errors",423:"Locked: the resource is locked and can’t be accessed",424:"Failed Dependency: the request failed because a previous request did not succeed",425:"Too Early: the server refuses to process the request to prevent replay attacks",426:"Upgrade Required: the client should switch to a different protocol",428:"Precondition Required: the server requires the request to be conditional",429:"Too Many Requests: too many requests have been sent in a short period",431:"Request Header Fields Too Large: the request’s header fields are too large",451:"Unavailable For Legal Reasons: the resource is unavailable due to legal restrictions",500:"Internal Server Error: the server encountered an unexpected error",501:"Not Implemented: the server does not support the requested functionality",502:"Bad Gateway: the server received an invalid response from an upstream server",503:"Service Unavailable: the server is currently unable to handle the request",504:"Gateway Timeout: the server did not receive a timely response from an upstream server",505:"HTTP Version Not Supported: the server does not support the HTTP version used",506:"Variant Also Negotiates: a circular reference was detected during content negotiation",507:"Insufficient Storage: the server is unable to store the requested resource",508:"Loop Detected: the server detected an infinite loop while processing the request",510:"Not Extended: additional extensions are needed to fulfill the request",511:"Network Authentication Required: network access requires proper authentication"};MD_TAGS.a=Link$3;function err2msg$1(d){var g;const m=typeof d=="string"&&((g=d.split("Error: EPERM: operation not permitted, access ")[1])==null?void 0:g.split(`
321
+ */var hasRequiredUseSyncExternalStoreShim_production_min;function requireUseSyncExternalStoreShim_production_min(){if(hasRequiredUseSyncExternalStoreShim_production_min)return useSyncExternalStoreShim_production_min;hasRequiredUseSyncExternalStoreShim_production_min=1;var d=requireReact();function m(k,I){return k===I&&(k!==0||1/k===1/I)||k!==k&&I!==I}var g=typeof Object.is=="function"?Object.is:m,x=d.useState,b=d.useEffect,E=d.useLayoutEffect,v=d.useDebugValue;function C(k,I){var D=I(),A=x({inst:{value:D,getSnapshot:I}}),L=A[0].inst,N=A[1];return E(function(){L.value=D,L.getSnapshot=I,S(L)&&N({inst:L})},[k,D,I]),b(function(){return S(L)&&N({inst:L}),k(function(){S(L)&&N({inst:L})})},[k]),v(D),D}function S(k){var I=k.getSnapshot;k=k.value;try{var D=I();return!g(k,D)}catch(A){return!0}}function T(k,I){return I()}var $=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?T:C;return useSyncExternalStoreShim_production_min.useSyncExternalStore=d.useSyncExternalStore!==void 0?d.useSyncExternalStore:$,useSyncExternalStoreShim_production_min}var hasRequiredShim;function requireShim(){return hasRequiredShim||(hasRequiredShim=1,shim.exports=requireUseSyncExternalStoreShim_production_min()),shim.exports}var shimExports=requireShim();const useSyncExternalStoreExports=getDefaultExportFromCjs(shimExports),__vite_import_meta_env__={},{use}=React,{useSyncExternalStore}=useSyncExternalStoreExports,useAffectedDebugValue=(d,m)=>{const g=reactExports.useRef();reactExports.useEffect(()=>{g.current=w(d,m)}),reactExports.useDebugValue(g.current)},targetCache=new WeakMap;function useSnapshot(d,m){const x=reactExports.useRef(),b=reactExports.useRef();let E=!0;const v=useSyncExternalStore(reactExports.useCallback(T=>{const $=subscribe(d,T,void 0);return T(),$},[d,void 0]),()=>{const T=snapshot(d,use);try{if(!E&&x.current&&b.current&&!p(x.current,T,b.current,new WeakMap))return x.current}catch($){}return T},()=>snapshot(d,use));E=!1;const C=new WeakMap;reactExports.useEffect(()=>{x.current=v,b.current=C}),(__vite_import_meta_env__?"production":void 0)!=="production"&&useAffectedDebugValue(v,C);const S=reactExports.useMemo(()=>new WeakMap,[]);return a(v,C,S,targetCache)}const dialogs=proxy([]),{history:history$1}=window,dialogsDefaults={closableProps:{children:"x","aria-label":"Close"},padding:!0},focusableSelector=['input:not([type="hidden"])',"button","select","textarea","a[href]","[tabindex]"].map(d=>d+':not([disabled]):not([tabindex="-1"])').join(",");window.addEventListener("keydown",d=>{d.key==="Tab"&&tabCycle(d.target,d.shiftKey)&&d.preventDefault()});function tabCycle(d,m=!1){const g=document.querySelectorAll("[role$=dialog]"),x=g[g.length-1];if(!x)return;const b=x.querySelectorAll(focusableSelector),E=b.length;if(!E)return;const[v,C]=m?[E-1,0]:[0,E-1];if(!(d!==b[C]&&isDescendant(document.activeElement,x)))return b[v].focus(),!0}function isDescendant(d,m){if(!m)return!1;const g=typeof m=="function";for(;d;){if(g?m(d):d===m)return!0;d=d.parentNode}return!1}let waitClosing=Promise.resolve(),ignorePopState=!1;function back(){return xt(this,null,function*(){ignorePopState=!0;const d=history$1.state;return waitClosing=waitClosing.then(()=>new Promise(m=>xt(this,null,function*(){const g=Date.now()+1500;let x=0;for(;d===history$1.state;){const b=Date.now();if(b>g)break;b-x>1e3&&(history$1.back(),x=b),yield wait(10)}m()})))})}const BASE_STATE=1;xt(void 0,null,function*(){var d;for(;((d=history$1.state)==null?void 0:d.$dialog)!==void 0&&history$1.state.$dialog!==BASE_STATE;)history$1.back(),yield wait(1);history$1.replaceState($t(Ae({},history$1.state),{$dialog:BASE_STATE}),"")});function Dialogs(d){reactExports.useEffect(()=>domOn("popstate",()=>{var x;if(ignorePopState)return ignorePopState=!1;const g=(x=history$1.state)==null?void 0:x.$dialog;if(g!==void 0){if(g!==BASE_STATE&&!dialogs.find(b=>b.$id===g))return back();closeDialog(void 0,!0)}}),[]);const m=useSnapshot(dialogs);return reactExports.useEffect(()=>{document.body.style.overflow=m.length?"hidden":""},[m.length]),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement("div",Ae({"aria-hidden":m.length>0},d)),m.map(g=>reactExports.createElement(Dialog,Ae({key:g.$id},g))))}function Dialog(d){var E;const m=reactExports.useRef(null),[g,x]=reactExports.useState(0);if(reactExports.useEffect(()=>{var T,$;const v=(T=m.current)==null?void 0:T.querySelector(".dialog");if(!v||(tabCycle(v),($=v.querySelector("[autofocus]"))==null||$.focus(),!d.position))return;let C=0;const S=setInterval(()=>{const k=v.getBoundingClientRect();x(C=Math.min(C,k.top,window.innerHeight-k.bottom+C))},100);return()=>clearInterval(S)},[]),d=Ae(Ae({closable:!0},dialogsDefaults),d),d.Container)return reactExports.createElement(d.Container,d);return reactExports.createElement("div",{ref:m,className:"dialog-backdrop "+(d.className||""),onKeyDown(v){v.key==="Escape"&&closeDialog(),v.stopPropagation()},onClick:v=>d.closable&&v.target===v.currentTarget&&closeDialog()},d.noFrame?reactExports.createElement(d.Content||"div"):reactExports.createElement("div",Ae({role:"dialog","aria-modal":!0,className:"dialog",style:Ae(Ae({},b()),(E=d.dialogProps)==null?void 0:E.style),onClick(v){v.stopPropagation()}},d.dialogProps),reactExports.createElement("button",Ae({className:"dialog-icon dialog-closer"+(d.closable?"":" hidden"),onClick(){closeDialog()}},d.closableProps)),d.icon&&reactExports.createElement("div",{className:"dialog-icon dialog-type"+(typeof d.icon=="string"?" dialog-icon-text":""),"aria-hidden":!0},componentOrNode(d.icon)),reactExports.createElement("h1",{className:"dialog-title"},componentOrNode(d.title)),reactExports.createElement("div",{className:"dialog-content"},reactExports.createElement(d.Content||"div"))));function b(){const{innerWidth:v,innerHeight:C}=window,S=d.position;return S&&Ae(Ae({margin:"1em",position:"absolute"},S[0]<v/2?{left:S[0]}:{right:v-S[0]}),S[1]<C/2?{top:g+S[1]}:{bottom:g+C-S[1]})}}function componentOrNode(d){return isPrimitive(d)||reactExports.isValidElement(d)?d:reactExports.createElement(d)}function newDialog(d){var v;const m=Math.random(),g=performance.now(),x=Object.assign(objSameKeys(d,C=>reactExports.isValidElement(C)?ref(C):C),{close:E,ts:g,$id:m,restoreFocus:(v=d.restoreFocus)!=null?v:ref(document.activeElement||{})});let b=!1;return waitClosing.then(()=>{var C;b||(dialogs.push(x),dialogs.at(-1).closable!==!1&&history$1.pushState({$dialog:m,ts:g,idx:1+(((C=history$1.state)==null?void 0:C.idx)||0)},""))}),x;function E(C){var T;b=!0;const S=dialogs.findIndex($=>$.$id===m);if(!(S<0))return x.closed=((T=history$1.state)==null?void 0:T.$dialog)===m?back():Promise.resolve(),closeDialogAt(S,C),d.closed}}function closeDialog(d,m=!1){var x,b;let g=dialogs.length;if(((x=dialogs[g-1])==null?void 0:x.closable)!==!1)for(;g--;){const E=dialogs[g];if(!E.reserveClosing){if(!m){if(((b=history$1.state)==null?void 0:b.$dialog)!==E.$id)return;E.closed=back()}return closeDialogAt(g,d),E}}}function closeDialogAt(d,m){var x,b,E;const[g]=dialogs.splice(d,1);return(b=(x=g.restoreFocus)==null?void 0:x.focus)==null||b.call(x),g.closingValue=m&&typeof m=="object"?ref(m):m,(E=g.closed)!=null||(g.closed=Promise.resolve()),g.closed.then(()=>{var v;return(v=g==null?void 0:g.onClose)==null?void 0:v.call(g,m)}),g}function anyDialogOpen(){return dialogs.length>0}const MD_TAGS={a:"a","`":"code","*":"i","**":"b"};function md(d,{html:m=!0,linkTarget:g="_blank",onText:x=b=>b}={}){return typeof d!="string"&&(d=d[0]),replaceStringToReact(d,/(`|_|\*\*?)(.+?)\1|(\n)|\[(.+?)\]\((.+?)\)|(<(\w+?)(?:\s+[^>]*?)?>(?:.*?<\/\7>)?)/g,b=>b[4]?reactExports.createElement(MD_TAGS.a,{href:b[5],target:g},x(b[4])):b[3]?reactExports.createElement("br"):b[1]?reactExports.createElement(MD_TAGS[b[1]]||reactExports.Fragment,{},x(b[2])):m?reactExports.createElement(Html,{},b[6]):b[6],x)}function replaceStringToReact(d,m,g,x=b=>b){const b=[];let E=0,v;for(;(v=m.exec(d))&&(b.push(x(d.slice(E,v.index))),b.push(g(v)),E=v.index+v[0].length,!!m.global););return reactExports.createElement(reactExports.Fragment,{},...b,x(d.slice(E,1/0)))}function Html(g){var x=g,{children:d}=x,m=zt(x,["children"]);return reactExports.useMemo(()=>d?reactExports.createElement("span",$t(Ae({},m),{ref:b=>b&&b.replaceChildren(document.createRange().createContextualFragment(d))})):null,[d])}window._=_;setTimeout(()=>{document.querySelectorAll(".removeAtBoot").forEach(d=>d.remove())},500);const cpuSpeedIndex=(()=>{let d=performance.now();return _.range(1e5).map(m=>++m),d=performance.now()-d,1/d})(),urlParams=Object.fromEntries(new URLSearchParams(window.location.search).entries()),HFS=getHFS();Object.assign(HFS,{getPluginKey:()=>getScriptAttr("plugin"),getPluginPublic:()=>{var d,m;return(m=(d=getScriptAttr("src"))==null?void 0:d.match(/^.*\//))==null?void 0:m[0]},getPluginConfig:()=>HFS.plugins[HFS.getPluginKey()]||{},loadScript:d=>loadScript(d.includes("//")||d.startsWith("/")?d:HFS.getPluginPublic()+d),userBelongsTo:d=>wantArray(d).some(m=>{var g;return(g=HFS.state.expandedUsername)==null?void 0:g.includes(m)}),cpuSpeedIndex,copyTextToClipboard,urlParams});formatBytes.k=HFS.kb;const IMAGE_FILEMASK="*.jpg|*.jpeg|*.png|*.gif|*.svg";{const d=console.debug;console.debug=(...m)=>window.DEV&&d(...m)}function getScriptAttr(d){var m;return((m=document.currentScript)==null?void 0:m.getAttribute(d))||console.error("this function must be called at the very top of your file")}function buildUrlQueryString(d){return"?"+Object.entries(d).filter(m=>m[1]!==void 0).map(m=>m.map(g=>encodeURIComponent(g).replaceAll("%2F","/")).join("=")).join("&")}function domOn(d,m,g){const x=g&&"target"in g?g.target:window;return x?(x.addEventListener(d,m,g),()=>x.removeEventListener(d,m,g)):()=>{}}function restartAnimation(d,m){d&&(d.style.animation="",d.offsetWidth,d.style.animation=m)}function selectFiles(d,{accept:m="",multiple:g=!0,folder:x=!1}={}){const b=Object.assign(document.createElement("input"),{type:"file",name:"file",accept:m,multiple:g,webkitdirectory:x});b.addEventListener("change",()=>d(b.files)),b.click()}function readFile(d){return new Promise((m,g)=>{const x=new FileReader;x.addEventListener("load",b=>{if(!b.target||d.size&&!b.target.result)return g("cannot read");const{result:E}=b.target;m(E==null?void 0:E.toString())}),x.addEventListener("error",()=>{g(x.error)}),x.readAsText(d)})}function isMobile(){return window.innerWidth<800}function getHFS(){return window.HFS||(window.HFS={})}function getPrefixUrl(){return getHFS().prefixUrl}function makeSessionRefresher(d){let m;return g(getHFS().session),g;function g(x){clearTimeout(m);const b=["username","adminUrl","canChangePassword","accountExp","expandedUsername","requireChangePassword"];x!=null||(x=objFromKeys(b,()=>{}));const{exp:E}=x;if(getHFS().session=Object.assign(d,_.pick(x,b)),!x.username||!E)return;const v=new Date(E).getTime()-Date.now(),C=_.clamp(v-3e4,4e3,6e5);console.debug("session refresh in",Math.round(C/1e3)),m=setTimeout(()=>apiCall("refresh_session").then(g),C)}}function focusSelector(d,m=document){const g=m.querySelector(d);if(g&&g instanceof HTMLElement)return g.focus(),!0}function loadScript(d,m={}){return new Promise((g,x)=>{const b=document.createElement("script");b.type="text/javascript",b.src=d,b.onload=g,b.onerror=x;for(const[E,v]of Object.entries(m))b.setAttribute(E,String(v));document.head.appendChild(b)})}function fallbackToBasicAuth(){return BigInt===Number}function basename(d){var m;return((m=d.match(/([^\\/]+)[\\/]*$/))==null?void 0:m[1])||""}function extname(d){const m=basename(d),g=m.lastIndexOf(".");return g<=0?"":m.slice(g)}function dirname(d){return d.slice(0,Math.max(0,d.lastIndexOf("/",d.length-1)))}function createDurationFormatter({locale:d=void 0,unitDisplay:m="narrow",largest:g="day",smallest:x="second",maxTokens:b,skipZeroes:E}={}){const v={day:DAY,hour:HOUR,minute:MINUTE,second:1e3},C=objSameKeys(v,(T,$)=>Intl.NumberFormat(d,{style:"unit",unit:$,unitDisplay:m}).format),S=new Intl.ListFormat(d,{style:"narrow",type:"unit"});return T=>{var I,D;const $=[];let k=!1;for(const[A,L]of typedEntries(v)){if(A===x&&$.length)break;if(A===g&&(k=!0),!k)continue;const N=Math.floor(T/L);if(!(!N&&E)){if($.push((D=(I=C[A])==null?void 0:I.call(C,N))!=null?D:String(N)),$.length===b)break;T%=L}}return S.format($)}}function copyTextToClipboard(d){return xt(this,null,function*(){d=String(d);try{yield navigator.clipboard.writeText(d)}catch(m){console.debug("fallback clipboard method");const g=domOn("copy",x=>{var b;(b=x.clipboardData)==null||b.setData("text/plain",d),x.preventDefault()},{capture:!0,target:document});try{if(!document.execCommand("copy"))throw Error("unknown")}finally{g()}}})}function downloadFileWithContent(d,m){const g=m instanceof Blob?m:new Blob([m],{type:"text/plain"}),x=document.createElement("a");x.href=URL.createObjectURL(g),x.download=d,x.style.display="none",document.body.append(x),x.click(),setTimeout(()=>x.remove(),100)}function withSrpLib(d){return(...m)=>__vitePreload(()=>import("./index-BL84dr-c.js").then(g=>g.i),[]).then(g=>d(g,...m))}function apiNewPassword(d,m){return xt(this,null,function*(){const{createVerifierAndSalt:g,SRPParameters:x,SRPRoutines:b}=yield __vitePreload(()=>xt(this,null,function*(){const{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}=yield import("./index-BL84dr-c.js").then($=>$.i);return{createVerifierAndSalt:C,SRPParameters:S,SRPRoutines:T}}),[]),E=new b(new x),v=yield g(E,d,m);return apiCall("change_srp",{username:d,salt:String(v.s),verifier:String(v.v)})})}var Dm;(Dm=Element.prototype).replaceChildren||(Dm.replaceChildren=function(d){for(;this.lastChild;)this.removeChild(this.lastChild);d!==void 0&&this.append(d)});const shared=Object.freeze(Object.defineProperty({__proto__:null,ADMIN_URI,ALLOW_SESSION_IP_CHANGE,API_URI,AriaOnly,CFG,DAY,Dialogs,EMBEDDED_LANGUAGE,FRONTEND_OPTIONS,FRONTEND_URI,HFS_REPO,HIDE_IN_TESTS,HOUR,HTTP_BAD_REQUEST,HTTP_CONFLICT,HTTP_CREATED,HTTP_FAILED_DEPENDENCY,HTTP_FOOL,HTTP_FORBIDDEN,HTTP_INSUFFICIENT_STORAGE,HTTP_LOCKED,HTTP_MESSAGES,HTTP_METHOD_NOT_ALLOWED,HTTP_MOVED_PERMANENTLY,HTTP_NOT_ACCEPTABLE,HTTP_NOT_FOUND,HTTP_NOT_MODIFIED,HTTP_NO_CONTENT,HTTP_OK,HTTP_PARTIAL_CONTENT,HTTP_PAYLOAD_TOO_LARGE,HTTP_PRECONDITION_FAILED,HTTP_RANGE_NOT_SATISFIABLE,HTTP_SERVER_ERROR,HTTP_SERVICE_UNAVAILABLE,HTTP_TEMPORARY_REDIRECT,HTTP_TOO_MANY_REQUESTS,HTTP_UNAUTHORIZED,Html,ICONS_URI,IMAGE_FILEMASK,KeepInScreen,LIST,MASK_IN_TESTS,MAX_TILE_SIZE,MD_TAGS,MINUTE,MTIME_CHECK,NBSP,PERM_KEYS,PLUGINS_PUB_URI,PLUGIN_CUSTOM_REST_PREFIX,PORT_DISABLED,PREVIOUS_TAG,REPO_URL,SORT_BY_OPTIONS,SPECIAL_URI,THEME_OPTIONS,UPLOAD_TEMP_HASH,VFS_STORED_KEYS,WEBSITE,WHO_ANYONE,WHO_ANY_ACCOUNT,WHO_NO_ONE,WIKI_URL,_dbg,_log,anyDialogOpen,apiNewPassword,asyncGeneratorToArray,basename,buildUrlQueryString,callable,closeDialog,componentOrNode,copyTextToClipboard,cpuSpeedIndex,createDurationFormatter,defaultPerms,dialogsDefaults,dirname,domOn,dontBotherWithKeys,downloadFileWithContent,enforceFinal,enforceStarting,escapeHTML,extname,fallbackToBasicAuth,filterMapGenerator,findDefined,focusSelector,focusableSelector,formatBytes,formatDate,formatPerc,formatSpeed,formatTime,formatTimestamp:formatTimestamp$2,getHFS,getOrSet,getPrefixUrl,hasProp,haveTimeout,inCommon,ipForUrl,isAsyncIterable,isCtrlKey,isDescendant,isEqualLax,isIP,isIpLan,isIpLocalHost,isMac,isMobile,isNumeric,isOrderedEqual,isPrimitive,isTimestampString,isWhoObject,isWindowsDrive,join,loadScript,makeMatcher,makeSessionRefresher,mapFilter,matches,md,newDialog,newObj,noAriaTitle,normalizeHost,objFromKeys,objRenameKey,objSameKeys,onlyTruthy,patchKey:patchKey$1,pathDecode,pathEncode,pendingPromise,popKey,prefix,promiseBestEffort,randomId,reactFilter,reactJoin,readFile,removeFinal,removeStarting,repeat,replace,replaceStringToReact,restartAnimation,retry,runAt,safeDecodeURIComponent,selectFiles,setHidden,shortenAgent,splitAt,stringAfter,strinsert,swap,throw_,toMutable,truthy,tryJson,try_,typedEntries,typedKeys,urlParams,useAutoScroll,useBatch,useEffectOnce,useFixSticky,useGetSize,useIsMobile,useOnResize,useRequestRender,useStateMounted,wait,waitFor,wantArray,withSrpLib,with_,xlate},Symbol.toStringTag,{value:"Module"})),httpCodes={100:"Continue: the initial headers were received; continue with the request body",101:"Switching Protocols: the server is switching protocols as requested",102:"Processing: the server is processing the request but a complete response isn’t ready yet",103:"Early Hints: preliminary headers are being sent before the final response",200:"OK: response sent",201:"Created: a new resource was created successfully",202:"Accepted: the request has been accepted for processing but isn’t complete yet",203:"Non-Authoritative Information: the response contains modified information from a third party",204:"No Content: the request succeeded but there’s no content to return",205:"Reset Content: the request succeeded; please reset your view",206:"Partial Content: only part of the resource is being returned as requested",207:"Multi-Status: the response contains several status codes for different parts of the request",208:"Already Reported: the resource has already been reported in a previous response",226:"IM Used: the server fulfilled the request using instance manipulations",300:"Multiple Choices: several options are available for the requested resource",301:"Moved Permanently: the resource has been permanently moved to a new URL",302:"Found: the resource is temporarily located at a different URL",303:"See Other: the requested resource can be found using GET at another URL",304:"Not Modified: the browser was asked to use its cached version, and the file was not actually sent",305:"Use Proxy: the requested resource must be accessed through the specified proxy",306:"Switch Proxy: this code is no longer used but is reserved for future use",307:"Temporary Redirect: the resource is temporarily available at a different URL; use the original for future requests",308:"Permanent Redirect: the resource has been permanently moved to another URL",400:"Bad Request: the request is malformed or contains invalid parameters",401:"Unauthorized: authentication is required and was either not provided or failed",402:"Payment Required: payment is required to access this resource (reserved for future use)",403:"Forbidden: the server understands the request but refuses to authorize it",404:"Not Found: the requested resource could not be found",405:"Method Not Allowed: the HTTP method used isn’t allowed for this resource",406:"Not Acceptable: the resource can’t produce content acceptable according to the request",407:"Proxy Authentication Required: proxy authentication is required to access the resource",408:"Request Timeout: the server timed out waiting for the request",409:"Conflict: the request couldn’t be processed due to a conflict",410:"Gone: the requested resource is no longer available",411:"Length Required: the request didn’t include the required content length",412:"Precondition Failed: one or more conditions in the request header failed",413:"Payload Too Large: the request payload is too large for the server to process",414:"URI Too Long: the URL provided is too long",415:"Unsupported Media Type: the media type is not supported by the server",416:"Range Not Satisfiable: the requested range cannot be fulfilled by the server",417:"Expectation Failed: the server can’t meet the expectations in the request’s header",418:"I'm a Teapot: this code is a humorous reference and not meant for real use",421:"Misdirected Request: the request was sent to a server that can’t produce a response",422:"Unprocessable Entity: the request was well-formed but contains semantic errors",423:"Locked: the resource is locked and can’t be accessed",424:"Failed Dependency: the request failed because a previous request did not succeed",425:"Too Early: the server refuses to process the request to prevent replay attacks",426:"Upgrade Required: the client should switch to a different protocol",428:"Precondition Required: the server requires the request to be conditional",429:"Too Many Requests: too many requests have been sent in a short period",431:"Request Header Fields Too Large: the request’s header fields are too large",451:"Unavailable For Legal Reasons: the resource is unavailable due to legal restrictions",500:"Internal Server Error: the server encountered an unexpected error",501:"Not Implemented: the server does not support the requested functionality",502:"Bad Gateway: the server received an invalid response from an upstream server",503:"Service Unavailable: the server is currently unable to handle the request",504:"Gateway Timeout: the server did not receive a timely response from an upstream server",505:"HTTP Version Not Supported: the server does not support the HTTP version used",506:"Variant Also Negotiates: a circular reference was detected during content negotiation",507:"Insufficient Storage: the server is unable to store the requested resource",508:"Loop Detected: the server detected an infinite loop while processing the request",510:"Not Extended: additional extensions are needed to fulfill the request",511:"Network Authentication Required: network access requires proper authentication"};MD_TAGS.a=Link$3;function err2msg$1(d){var g;const m=typeof d=="string"&&((g=d.split("Error: EPERM: operation not permitted, access ")[1])==null?void 0:g.split(`
322
322
  `)[0]);return m?`Access denied on disk for ${m}`:{github_quota:"Request denied. You may have reached the limit, retry later.",ENOENT:"Not found",ENOTDIR:"Not a folder"}[d]||HTTP_MESSAGES[d]||httpCodes[d]||String(d)}function formatTimestamp$1(d){return d?(d instanceof Date?d:new Date(d)).toLocaleString():""}function getLoadingButtonUtilityClass(d){return generateUtilityClass("MuiLoadingButton",d)}const loadingButtonClasses=generateUtilityClasses("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),_excluded$1o=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],useUtilityClasses$11=d=>{const{loading:m,loadingPosition:g,classes:x}=d,b={root:["root",m&&"loading"],startIcon:[m&&`startIconLoading${capitalize$1(g)}`],endIcon:[m&&`endIconLoading${capitalize$1(g)}`],loadingIndicator:["loadingIndicator",m&&`loadingIndicator${capitalize$1(g)}`]},E=composeClasses(b,getLoadingButtonUtilityClass,x);return _extends$1({},x,E)},rootShouldForwardProp=d=>d!=="ownerState"&&d!=="theme"&&d!=="sx"&&d!=="as"&&d!=="classes",LoadingButtonRoot=styled(Button,{shouldForwardProp:d=>rootShouldForwardProp(d)||d==="classes",name:"MuiLoadingButton",slot:"Root",overridesResolver:(d,m)=>[m.root,m.startIconLoadingStart&&{[`& .${loadingButtonClasses.startIconLoadingStart}`]:m.startIconLoadingStart},m.endIconLoadingEnd&&{[`& .${loadingButtonClasses.endIconLoadingEnd}`]:m.endIconLoadingEnd}]})(({ownerState:d,theme:m})=>_extends$1({[`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]:{transition:m.transitions.create(["opacity"],{duration:m.transitions.duration.short}),opacity:0}},d.loadingPosition==="center"&&{transition:m.transitions.create(["background-color","box-shadow","border-color"],{duration:m.transitions.duration.short}),[`&.${loadingButtonClasses.loading}`]:{color:"transparent"}},d.loadingPosition==="start"&&d.fullWidth&&{[`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]:{transition:m.transitions.create(["opacity"],{duration:m.transitions.duration.short}),opacity:0,marginRight:-8}},d.loadingPosition==="end"&&d.fullWidth&&{[`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]:{transition:m.transitions.create(["opacity"],{duration:m.transitions.duration.short}),opacity:0,marginLeft:-8}})),LoadingButtonLoadingIndicator=styled("span",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:(d,m)=>{const{ownerState:g}=d;return[m.loadingIndicator,m[`loadingIndicator${capitalize$1(g.loadingPosition)}`]]}})(({theme:d,ownerState:m})=>_extends$1({position:"absolute",visibility:"visible",display:"flex"},m.loadingPosition==="start"&&(m.variant==="outlined"||m.variant==="contained")&&{left:m.size==="small"?10:14},m.loadingPosition==="start"&&m.variant==="text"&&{left:6},m.loadingPosition==="center"&&{left:"50%",transform:"translate(-50%)",color:(d.vars||d).palette.action.disabled},m.loadingPosition==="end"&&(m.variant==="outlined"||m.variant==="contained")&&{right:m.size==="small"?10:14},m.loadingPosition==="end"&&m.variant==="text"&&{right:6},m.loadingPosition==="start"&&m.fullWidth&&{position:"relative",left:-10},m.loadingPosition==="end"&&m.fullWidth&&{position:"relative",right:-10})),LoadingButton=reactExports.forwardRef(function(m,g){const x=reactExports.useContext(ButtonGroupContext),b=resolveProps$1(x,m),E=useDefaultProps({props:b,name:"MuiLoadingButton"}),{children:v,disabled:C=!1,id:S,loading:T=!1,loadingIndicator:$,loadingPosition:k="center",variant:I="text"}=E,D=_objectWithoutPropertiesLoose(E,_excluded$1o),A=useId(S),L=$!=null?$:jsxRuntimeExports.jsx(CircularProgress,{"aria-labelledby":A,color:"inherit",size:16}),N=_extends$1({},E,{disabled:C,loading:T,loadingIndicator:L,loadingPosition:k,variant:I}),Y=useUtilityClasses$11(N),j=T?jsxRuntimeExports.jsx(LoadingButtonLoadingIndicator,{className:Y.loadingIndicator,ownerState:N,children:L}):null;return jsxRuntimeExports.jsxs(LoadingButtonRoot,_extends$1({disabled:C||T,id:A,ref:g},D,{variant:I,classes:Y,ownerState:N,children:[N.loadingPosition==="end"?v:j,N.loadingPosition==="end"?j:v]}))});function StringField(A){var L=A,{value:d,onChange:m,min:g,max:x,required:b,setApi:E,typing:v,start:C,end:S,onTyping:T,suggestions:$,wrap:k,fieldRef:I}=L,D=zt(L,["value","onChange","min","max","required","setApi","typing","start","end","onTyping","suggestions","wrap","fieldRef"]);const N=d!=null?d:"";E==null||E({getError(){return!d&&b?"required":(d==null?void 0:d.length)<g?"too short":(d==null?void 0:d.length)>x?"too long":!1}});const[Y,j]=reactExports.useState(N),B=reactExports.useRef(N);reactExports.useEffect(()=>{j(N),B.current=N},[N]);const z=reactExports.useRef(),V=reactExports.useRef(!1),U=J=>reactExports.createElement(TextField,$t(Ae(Ae({fullWidth:!0,InputLabelProps:Y||D.placeholder?{shrink:!0}:void 0},D),J),{ref:I,sx:D.label?D.sx:Object.assign({"& .MuiInputBase-input":{pt:1.5}},D.sx),value:Y,onChange(Q){let X=Q.target.value;if(!(k&&X.includes(`
323
- `))){if(T){const Z=T(X);if(Z===!1)return;X=Z}j(X),(v||V.current||z.current===void 0)&&W(Q,X)}},onKeyDown(Q){var X;(X=D.onKeyDown)==null||X.call(D,Q),V.current=Q.code===void 0,Q.key==="Enter"&&Q.target.ariaExpanded!=="true"&&W(Q)},onFocus(Q){z.current=Q.target.value},onBlur(Q){var X;(X=D.onBlur)==null||X.call(D,Q),z.current!==Q.target.value&&W(Q)},InputProps:Ae(Ae($t(Ae({},k&&{multiline:!0}),{startAdornment:C&&reactExports.createElement(InputAdornment,{position:"start"},C),endAdornment:S&&reactExports.createElement(InputAdornment,{position:"end"},S)}),D.InputProps),J==null?void 0:J.InputProps)}));return $?reactExports.createElement(Autocomplete,{freeSolo:!0,options:$,renderInput:U,onChange(J,Q){W(J,Q)}}):U(null);function W(J,Q=Y){Q=Q==null?void 0:Q.trim(),Q!==B.current&&(B.current=Q,m(Q,{was:d,event:J,cancel(){j(N)}}))}}function SelectField(d){const D=d,{defaultValue:m,value:g=m,onChange:x,setApi:b,options:E,sx:v,disabled:C,afterList:S}=D,T=zt(D,["defaultValue","value","onChange","setApi","options","sx","disabled","afterList"]),$=reactExports.useMemo(()=>normalizeOptions(E),[E]),k=JSON.stringify(g),I=$==null?void 0:$.find(A=>JSON.stringify(A.value)===k);return reactExports.createElement(TextField,$t(Ae(Ae({select:!0,hiddenLabel:!d.label,value:I?k:"",disabled:($==null?void 0:$.length)===0||C,children:$?[...$.map((A,L)=>{var N;return reactExports.createElement(MenuItem,{key:L,value:JSON.stringify(A==null?void 0:A.value),disabled:A==null?void 0:A.disabled,children:reactExports.createElement(reactExports.Fragment,{key:L},(N=A==null?void 0:A.label)!=null?N:String(A==null?void 0:A.value))})}),reactExports.createElement("div",{key:-1},S)]:reactExports.createElement(LinearProgress)},commonSelectProps(d)),T),{onChange(A){try{let L=A.target.value;L=JSON.parse(L),x(L,{was:g,event:A})}catch(L){}}}))}function MultiSelectField(g){var x=g,{renderOption:d}=x,m=zt(x,["renderOption"]);const U=m,{value:b,onChange:E,setApi:v,options:C,placeholder:S,helperText:T,label:$,valueSeparator:k=", ",clearable:I=!0,afterList:D}=U,A=zt(U,["value","onChange","setApi","options","placeholder","helperText","label","valueSeparator","clearable","afterList"]),L=reactExports.useMemo(()=>normalizeOptions(C),[C]),N=reactExports.useMemo(()=>Array.isArray(b)?b.map(W=>(L==null?void 0:L.find(J=>J.value===W))||{value:W,label:String(W)}):[],[b,L]),Y=reactExports.useMemo(()=>(b==null?void 0:b.map(W=>JSON.stringify(W)))||[],[b]),j=useIsMobile(),B=reactExports.useId(),z=reactExports.useId(),V=!N.length;return d!=null||(d=W=>{var J;return(J=W.label)!=null?J:String(W.value)}),reactExports.createElement(FormControl,{fullWidth:!0,variant:"filled",hiddenLabel:!$},reactExports.createElement(InputLabel,{id:B,sx:{"&.Mui-focused":{color:"inherit"}}},$),reactExports.createElement(Select,Ae($t(Ae({},commonSelectProps(m)),{multiple:!0,displayEmpty:!0,value:Y,onChange:W=>{let{value:J}=W.target;if(!Array.isArray(J)){debugger;return}J=J.map(Q=>Q&&JSON.parse(Q)),E(J,{was:b,event:W})},sx:{"& .MuiSelect-select":{maxHeight:"15em",overflowY:"auto"}},input:reactExports.createElement(FilledInput,{hiddenLabel:!$,"aria-describedby":z}),renderValue:()=>reactExports.createElement("div",{"aria-label":$+": "+N.map(W=>{var J;return(J=W.label)!=null?J:String(W.value)}),style:{overflow:"hidden",display:"flex",flexWrap:"wrap",gap:".5em"},children:V?reactExports.createElement(Box,{position:"relative",top:".3em",fontSize:"small",fontStyle:"italic",color:"text.secondary"},S):N.map((W,J)=>reactExports.createElement("span",{key:J},d(W),J<N.length-1&&k))})}),A),L?!L.length&&reactExports.createElement(ListItemText,{sx:{fontStyle:"italic",ml:1},onClickCapture(W){W.stopPropagation()}},"No options available"):reactExports.createElement(LinearProgress),!j&&(L==null?void 0:L.length)>20&&reactExports.createElement(Box,{sx:{float:"right"},fontSize:"small",width:"8em",textAlign:"right",marginRight:".5em"},"ⓘ You can type the name"),reactExports.createElement(Button,{size:"small",sx:{ml:1,display:(L==null?void 0:L.length)>1?void 0:"none"},ref:reactExports.useCallback(W=>W&&Object.assign(W,{role:void 0})&&setTimeout(()=>W.focus()),[]),onClickCapture(W){W.stopPropagation(),E(V?L.map(J=>J.value):[],{was:b,event:W})}},V?"Select all":"Unselect all"),...(L==null?void 0:L.map(W=>reactExports.createElement(MenuItem,{value:JSON.stringify(W==null?void 0:W.value)},reactExports.createElement(Checkbox$1,{checked:(b==null?void 0:b.includes(W.value))||!1}),reactExports.createElement(ListItemText,{primary:d(W)}))))||[],D),reactExports.createElement(FormHelperText,{id:z,error:m.error},T))}function commonSelectProps(d){return{fullWidth:!0,sx:Object.assign({"& .MuiInputBase-inputHiddenLabel":{py:1,"& .MuiInputAdornment-root":{ml:-1}}},d.sx)}}function normalizeOptions(d){return d?Array.isArray(d)?d.map(m=>typeof m=="string"||typeof m=="number"?{value:m}:m):Object.entries(d).map(([m,g])=>({value:g,label:m})):void 0}function DisplayField(x){var b=x,{value:d,empty:m="-"}=b,g=zt(b,["value","empty"]);return!g.toField&&m!==void 0&&d!==0&&!d&&(d=m),reactExports.createElement(StringField,$t(Ae({},g),{value:d,disabled:!0,onChange(){}}))}function NumberField($){var k=$,{value:d,onChange:m,setApi:g,required:x,min:b=0,max:E,step:v,unit:C,clearable:S}=k,T=zt(k,["value","onChange","setApi","required","min","max","step","unit","clearable"]);g==null||g({getError(){return d==null?x?"required":!1:d<b?"too low":d>E?"too high":!1}});const I=useGetSize();return reactExports.createElement(StringField,$t(Ae({type:"number",value:d==null?"":String(d),onChange(D,N){var Y=N,{was:A}=Y,L=zt(Y,["was"]);m(D?Number(D):null,$t(Ae({},L),{was:A?Number(A):null}))},inputProps:{min:b,max:E,step:v},InputProps:_.merge({sx:{"& input":{appearance:"textfield"}},startAdornment:(S!=null?S:T.placeholder)&&I.w>100&&(d||d===0)&&reactExports.createElement(InputAdornment,{position:"start"},reactExports.createElement(IconButton,{size:"small",edge:"start",sx:{ml:-1,opacity:.5},"aria-label":"clear",onClick(D){m(null,{was:d,event:D})}},reactExports.createElement(Cancel)))},C&&{sx:{pr:"6px","& input":{pl:".2em",textAlign:"right"}},endAdornment:reactExports.createElement(InputAdornment,{position:"end",sx:{mt:"1.2em",ml:"5px","& p":{fontSize:"80%",".Mui-focused &":{color:"text.primary"}}}},C)})},T),{fieldRef:I.refToPass}))}function BoolField(T){var $=T,{label:d="",value:m,onChange:g,setApi:x,helperText:b,error:E,Control:v=Switch,type:C}=$,S=zt($,["label","value","onChange","setApi","helperText","error","Control","type"]);const k=()=>m!=null?m:!1,[I,D]=reactExports.useState(k);reactExports.useEffect(()=>D(k),[m]);const A=reactExports.createElement(v,$t(Ae({checked:I},S),{onChange(L){g(L.target.checked,{event:L,was:m})}}));return reactExports.createElement(Box,{ml:1,sx:E?{color:"error.main",outlineOffset:6,outline:"1px solid"}:void 0},reactExports.createElement(FormControlLabel,{label:d,control:A,labelPlacement:"end",sx:Ae({mr:0},S.size==="small"&&{"& .MuiFormControlLabel-label":{fontSize:".9rem"}})}),b&&reactExports.createElement(FormHelperText,{sx:{mt:0},error:E},b))}function CheckboxField(d){return reactExports.createElement(BoolField,Ae({Control:Checkbox$1},d))}const ERROR_CLASS="field-container-with-error";function Form(L){var N=L,{fields:d,values:m,set:g,get:x,defaults:b,save:E,stickyBar:v,addToBar:C=[],barSx:S,formRef:T,onError:$,onValidation:k,saveOnEnter:I,gridProps:D}=N,A=zt(N,["fields","values","set","get","defaults","save","stickyBar","addToBar","barSx","formRef","onError","onValidation","saveOnEnter","gridProps"]);const Y=reactExports.useRef(!1);reactExports.useEffect(()=>(Y.current=!0,()=>{Y.current=!1}),[]);const[j,B]=reactExports.useState({}),[z,V]=reactExports.useState({}),U=typeof E=="function"?{onClick:E}:E,[W,J]=reactExports.useState(0),Q=reactExports.useRef(!1),X=reactExports.useRef("");T||(T=reactExports.useRef()),reactExports.useEffect(()=>void ce(),[W]);const Z={},oe={};return reactExports.createElement(Box,Ae({component:"form",display:"flex",flexDirection:"column",gap:3,ref:T,onSubmit(fe){fe.preventDefault()},onKeyDown(fe){U&&!U.disabled&&(fe.ctrlKey||fe.metaKey)&&fe.key==="Enter"&&ie()}},A),reactExports.createElement(Grid2,Ae({container:!0,rowSpacing:3,columnSpacing:1},D),d.map((fe,ae)=>{if(!fe)return null;if(reactExports.isValidElement(fe))return reactExports.createElement(Grid2,{key:ae,xs:12},fe);b&&(fe=Ae(Ae({},b==null?void 0:b(fe)),fe));const rt=fe,{k:ue,fromField:pe=_.identity,toField:ge=_.identity,getError:ye,error:Ce,xs:Ee=12,sm:ve,md:Pe,lg:Me,xl:Re,comp:De=StringField,before:Ye,after:Le,parentProps:Ge}=rt,Ie=zt(rt,["k","fromField","toField","getError","error","xs","sm","md","lg","xl","comp","before","after","parentProps"]);let Be=j[ue]||Ce||z[ue];Be===!0&&(Be="Not valid");const He=!!(Be||Ce)||void 0;if(ue){const Fe=fe.hasOwnProperty("value")?fe.value:re(ue);Object.assign(Ie,{name:ue,value:ge(Fe),error:He,setApi(ot){oe[ue]=ot},onKeyDown(ot){I&&ot.key==="Enter"&&ie()},onChange(ot){var ke;try{if(ot=pe(ot,{originalValue:Fe}),V(je=>$t(Ae({},je),{[ue]:!1})),(((ke=oe[ue])==null?void 0:ke.isEqual)||_.isEqual)(ot,Fe))return;g(ot,ue),ee(ue)}catch(je){V(Ke=>$t(Ae({},Ke),{[ue]:(je==null?void 0:je.message)||String(je)||!0}))}}}),Array.isArray(Ie.helperText)&&(Ie.helperText=reactExports.createElement(reactExports.Fragment,{},...Ie.helperText)),Be&&(Ie.helperText=Ie.helperText?reactExports.createElement(Box,{color:"text.primary",component:"span"},reactExports.createElement(Box,{color:"error.main",style:{borderBottom:"1px solid"},component:"span",display:"block"},Be),Ie.helperText):Be),Ie.label===void 0&&(Ie.label=labelFromKey(ue))}const Ve=Z[ue]=(Z[ue]||0)+1;return reactExports.createElement(Grid2,Ae({key:ue?ue+Ve:ae,xs:Ee,sm:ve,md:Pe,lg:Me,xl:Re,className:He&&ERROR_CLASS},Ge),Ye,reactExports.isValidElement(De)?De:reactExports.createElement(De,Ie),Le)})),U&&reactExports.createElement(Box,{display:"flex",alignItems:"center",sx:Object.assign({},v&&{width:"fit-content",zIndex:2,backgroundColor:"background.paper",borderRadius:1,position:"sticky",bottom:0,p:1,m:-1,boxShadow:"0px 0px 15px #000"},S)},reactExports.createElement(Tooltip,{title:"ctrl + enter",children:reactExports.createElement(LoadingButton,$t(Ae({variant:"contained",startIcon:reactExports.createElement(Save),children:"Save",loading:useDebounce(W!==0)},U),{onClick:ie}))}),...C));function ie(){Q.current=!0,ee()}function ee(fe=""){W===0&&(X.current=fe,setTimeout(()=>J(ae=>ae===0?1:ae)))}function re(fe){return x?x(fe):m==null?void 0:m[fe]}function ce(){return xt(this,null,function*(){var pe,ge,ye;if(W===0)return;if(W===1)return J(2);const fe="Please review errors",ae={};for(const Ce of d){if(!Ce||reactExports.isValidElement(Ce)||!Ce.k)continue;const{k:Ee}=Ce,ve=re(Ee);let Pe;try{Pe=(yield(ge=(pe=oe[Ee])==null?void 0:pe.getError)==null?void 0:ge.call(pe,ve,{values:m,fields:d}))||(yield(ye=Ce.getError)==null?void 0:ye.call(Ce,ve,{values:m,fields:d}))||z[Ee]||!1}catch(Me){Pe=String(Me)}if(ae[Ee]=Pe,!Q.current&&Ee===X.current)break;if(!Y.current)return}B(ae);const ue=Object.values(ae).some(Boolean);k==null||k(ue&&ae);try{if(!Q.current)return;if(ue)try{return yield $==null?void 0:$(fe)}finally{setTimeout(()=>{var Ee,ve;return(ve=(Ee=T==null?void 0:T.current)==null?void 0:Ee.querySelector("."+ERROR_CLASS))==null?void 0:ve.scrollIntoView({block:"center"})},1)}const Ce=U&&U.onClick;Ce&&(yield Ce())}catch(Ce){yield $==null?void 0:$(Ce)}finally{Q.current=!1,Y.current&&J(0)}})}}function labelFromKey(d){return _.upperFirst(d.indexOf("_")>0?d.replace(/_/g," "):d.replace(/([a-z])([A-Z])/g,(m,g,x)=>g+" "+x.toLowerCase()))}const _excluded$1n=["element"];function findIndex(d,m){for(let g=0;g<d.length;g+=1)if(m(d[g]))return g;return-1}function binaryFindElement(d,m){let g=0,x=d.length-1;for(;g<=x;){const b=Math.floor((g+x)/2);if(d[b].element===m)return b;d[b].element.compareDocumentPosition(m)&Node.DOCUMENT_POSITION_PRECEDING?x=b-1:g=b+1}return g}const DescendantContext=reactExports.createContext({});function usePrevious(d){const m=reactExports.useRef(null);return reactExports.useEffect(()=>{m.current=d},[d]),m.current}const noop$2=()=>{};function useDescendant(d){const[,m]=reactExports.useState(),{registerDescendant:g=noop$2,unregisterDescendant:x=noop$2,descendants:b=[],parentId:E=null}=reactExports.useContext(DescendantContext),v=findIndex(b,T=>T.element===d.element),C=usePrevious(b),S=b.some((T,$)=>C&&C[$]&&C[$].element!==T.element);return useEnhancedEffect(()=>{if(d.element)return g(_extends$1({},d,{index:v})),()=>{x(d.element)};m({})},[g,x,v,S,d]),{parentId:E,index:v}}function DescendantProvider(d){const{children:m,id:g}=d,[x,b]=reactExports.useState([]),E=reactExports.useCallback(S=>{let{element:T}=S,$=_objectWithoutPropertiesLoose(S,_excluded$1n);b(k=>{if(k.length===0)return[_extends$1({},$,{element:T,index:0})];const I=binaryFindElement(k,T);let D;if(k[I]&&k[I].element===T)D=k;else{const A=_extends$1({},$,{element:T,index:I});D=k.slice(),D.splice(I,0,A)}return D.forEach((A,L)=>{A.index=L}),D})},[]),v=reactExports.useCallback(S=>{b(T=>T.filter($=>S!==$.element))},[]),C=reactExports.useMemo(()=>({descendants:x,registerDescendant:E,unregisterDescendant:v,parentId:g}),[x,E,v,g]);return jsxRuntimeExports.jsx(DescendantContext.Provider,{value:C,children:m})}const DEFAULT_TREE_VIEW_CONTEXT_VALUE={instance:null,multiSelect:!1,disabledItemsFocusable:!1,treeId:void 0,icons:{defaultCollapseIcon:null,defaultExpandIcon:null,defaultParentIcon:null,defaultEndIcon:null}},TreeViewContext=reactExports.createContext(DEFAULT_TREE_VIEW_CONTEXT_VALUE),useTreeViewContext=()=>reactExports.useContext(TreeViewContext);function useTreeItem(d){const{instance:m,multiSelect:g}=useTreeViewContext(),x=m?m.isNodeExpandable(d):!1,b=m?m.isNodeExpanded(d):!1,E=m?m.isNodeFocused(d):!1,v=m?m.isNodeSelected(d):!1,C=m?m.isNodeDisabled(d):!1;return{disabled:C,expanded:b,selected:v,focused:E,handleExpansion:k=>{if(m&&!C){E||m.focusNode(k,d);const I=g&&(k.shiftKey||k.ctrlKey||k.metaKey);x&&!(I&&m.isNodeExpanded(d))&&m.toggleNodeExpansion(k,d)}},handleSelection:k=>{m&&!C&&(E||m.focusNode(k,d),g&&(k.shiftKey||k.ctrlKey||k.metaKey)?k.shiftKey?m.selectRange(k,{end:d}):m.selectNode(k,d,!0):m.selectNode(k,d))},preventSelection:k=>{(k.shiftKey||k.ctrlKey||k.metaKey||C)&&k.preventDefault()}}}const _excluded$1m=["classes","className","displayIcon","expansionIcon","icon","label","nodeId","onClick","onMouseDown"],TreeItemContent=reactExports.forwardRef(function(m,g){const{classes:x,className:b,displayIcon:E,expansionIcon:v,icon:C,label:S,nodeId:T,onClick:$,onMouseDown:k}=m,I=_objectWithoutPropertiesLoose(m,_excluded$1m),{disabled:D,expanded:A,selected:L,focused:N,handleExpansion:Y,handleSelection:j,preventSelection:B}=useTreeItem(T),z=C||v||E,V=W=>{B(W),k&&k(W)},U=W=>{Y(W),j(W),$&&$(W)};return jsxRuntimeExports.jsxs("div",_extends$1({},I,{className:clsx(b,x.root,A&&x.expanded,L&&x.selected,N&&x.focused,D&&x.disabled),onClick:U,onMouseDown:V,ref:g,children:[jsxRuntimeExports.jsx("div",{className:x.iconContainer,children:z}),jsxRuntimeExports.jsx("div",{className:x.label,children:S})]}))});function getTreeItemUtilityClass(d){return generateUtilityClass("MuiTreeItem",d)}const treeItemClasses=generateUtilityClasses("MuiTreeItem",["root","group","content","expanded","selected","focused","disabled","iconContainer","label"]),_excluded$1l=["children","className","collapseIcon","ContentComponent","ContentProps","endIcon","expandIcon","disabled","icon","id","label","nodeId","onClick","onMouseDown","TransitionComponent","TransitionProps"],useUtilityClasses$10=d=>{const{classes:m}=d;return composeClasses({root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],label:["label"],group:["group"]},getTreeItemUtilityClass,m)},TreeItemRoot=styled("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(d,m)=>m.root})({listStyle:"none",margin:0,padding:0,outline:0}),StyledTreeItemContent=styled(TreeItemContent,{name:"MuiTreeItem",slot:"Content",overridesResolver:(d,m)=>[m.content,m.iconContainer&&{[`& .${treeItemClasses.iconContainer}`]:m.iconContainer},m.label&&{[`& .${treeItemClasses.label}`]:m.label}]})(({theme:d})=>({padding:"0 8px",width:"100%",boxSizing:"border-box",display:"flex",alignItems:"center",cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(d.vars||d).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${treeItemClasses.disabled}`]:{opacity:(d.vars||d).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${treeItemClasses.focused}`]:{backgroundColor:(d.vars||d).palette.action.focus},[`&.${treeItemClasses.selected}`]:{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / ${d.vars.palette.action.selectedOpacity})`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity),"&:hover":{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / calc(${d.vars.palette.action.selectedOpacity} + ${d.vars.palette.action.hoverOpacity}))`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity+d.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / ${d.vars.palette.action.selectedOpacity})`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity)}},[`&.${treeItemClasses.focused}`]:{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / calc(${d.vars.palette.action.selectedOpacity} + ${d.vars.palette.action.focusOpacity}))`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity+d.palette.action.focusOpacity)}},[`& .${treeItemClasses.iconContainer}`]:{marginRight:4,width:15,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${treeItemClasses.label}`]:_extends$1({paddingLeft:4,width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},d.typography.body1)})),TreeItemGroup=styled(Collapse,{name:"MuiTreeItem",slot:"Group",overridesResolver:(d,m)=>m.group})({margin:0,padding:0,marginLeft:17}),TreeItem=reactExports.forwardRef(function(m,g){const x=useThemeProps({props:m,name:"MuiTreeItem"}),{children:b,className:E,collapseIcon:v,ContentComponent:C=TreeItemContent,ContentProps:S,endIcon:T,expandIcon:$,disabled:k,icon:I,id:D,label:A,nodeId:L,onClick:N,onMouseDown:Y,TransitionComponent:j=Collapse,TransitionProps:B}=x,z=_objectWithoutPropertiesLoose(x,_excluded$1l),{icons:V,multiSelect:U,disabledItemsFocusable:W,treeId:J,instance:Q}=useTreeViewContext();let X;D!=null?X=D:J&&L&&(X=`${J}-${L}`);const[Z,oe]=reactExports.useState(null),ie=reactExports.useRef(null),ee=useForkRef(oe,g),re=reactExports.useMemo(()=>({element:Z,id:L}),[L,Z]),{index:ce,parentId:fe}=useDescendant(re),ae=!!(Array.isArray(b)?b.length:b),ue=Q?Q.isNodeExpanded(L):!1,pe=Q?Q.isNodeFocused(L):!1,ge=Q?Q.isNodeSelected(L):!1,ye=Q?Q.isNodeDisabled(L):!1,Ce=_extends$1({},x,{expanded:ue,focused:pe,selected:ge,disabled:ye}),Ee=useUtilityClasses$10(Ce);let ve,Pe;ae&&(ue?Pe=v||V.defaultCollapseIcon:Pe=$||V.defaultExpandIcon),ae?ve=V.defaultParentIcon:ve=T||V.defaultEndIcon,reactExports.useEffect(()=>{if(Q&&ce!==-1)return Q.updateNode({id:L,idAttribute:X,index:ce,parentId:fe,expandable:ae,disabled:k}),()=>Q.removeNode(L)},[Q,fe,ce,L,ae,k,X]),reactExports.useEffect(()=>{if(Q&&A){var De,Ye;return Q.mapFirstChar(L,((De=(Ye=ie.current)==null?void 0:Ye.textContent)!=null?De:"").substring(0,1).toLowerCase())}},[Q,L,A]);let Me;U?Me=ge:ge&&(Me=!0);function Re(De){if(De.target===De.currentTarget){let Le;typeof De.target.getRootNode=="function"?Le=De.target.getRootNode():Le=ownerDocument(De.target),Le.getElementById(J).focus({preventScroll:!0})}const Ye=!W&&ye;Q&&!pe&&De.currentTarget===De.target&&!Ye&&Q.focusNode(De,L)}return jsxRuntimeExports.jsxs(TreeItemRoot,_extends$1({className:clsx(Ee.root,E),role:"treeitem","aria-expanded":ae?ue:void 0,"aria-selected":Me,"aria-disabled":ye||void 0,id:X,tabIndex:-1},z,{ownerState:Ce,onFocus:Re,ref:ee,children:[jsxRuntimeExports.jsx(StyledTreeItemContent,_extends$1({as:C,ref:ie,classes:{root:Ee.content,expanded:Ee.expanded,selected:Ee.selected,focused:Ee.focused,disabled:Ee.disabled,iconContainer:Ee.iconContainer,label:Ee.label},label:A,nodeId:L,onClick:N,onMouseDown:Y,icon:I,expansionIcon:Pe,displayIcon:ve,ownerState:Ce},S)),b&&jsxRuntimeExports.jsx(DescendantProvider,{id:L,children:jsxRuntimeExports.jsx(TreeItemGroup,_extends$1({as:j,unmountOnExit:!0,className:Ee.group,in:ue,component:"ul",role:"group"},B,{children:b}))})]}))});function getTreeViewUtilityClass(d){return generateUtilityClass("MuiTreeView",d)}generateUtilityClasses("MuiTreeView",["root"]);const useTreeViewModels=(d,m)=>{const g=reactExports.useRef({}),[x,b]=reactExports.useState(()=>{const v={};return d.forEach(C=>{C.models&&Object.entries(C.models).forEach(([S,T])=>{g.current[S]={controlledProp:T.controlledProp,defaultProp:T.defaultProp,isControlled:m[T.controlledProp]!==void 0},v[S]=m[T.defaultProp]})}),v});return Object.fromEntries(Object.entries(g.current).map(([v,C])=>{const S=C.isControlled?m[C.controlledProp]:x[v];return[v,{value:S,setValue:T=>{C.isControlled||b($=>_extends$1({},$,{[v]:T}))}}]}))};let EventManager$1=class{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(m,g,x={}){let b=this.events[m];b||(b={highPriority:new Map,regular:new Map},this.events[m]=b),x.isFirst?b.highPriority.set(g,!0):b.regular.set(g,!0)}removeListener(m,g){this.events[m]&&(this.events[m].regular.delete(g),this.events[m].highPriority.delete(g))}removeAllListeners(){this.events={}}emit(m,...g){const x=this.events[m];if(!x)return;const b=Array.from(x.highPriority.keys()),E=Array.from(x.regular.keys());for(let v=b.length-1;v>=0;v-=1){const C=b[v];x.highPriority.has(C)&&C.apply(this,g)}for(let v=0;v<E.length;v+=1){const C=E[v];x.regular.has(C)&&C.apply(this,g)}}once(m,g){const x=this;this.on(m,function b(...E){x.removeListener(m,b),g.apply(x,E)})}};const getPreviousNode=(d,m)=>{const g=d.getNode(m),x=d.getNavigableChildrenIds(g.parentId),b=x.indexOf(m);if(b===0)return g.parentId;let E=x[b-1];for(;d.isNodeExpanded(E)&&d.getNavigableChildrenIds(E).length>0;)E=d.getNavigableChildrenIds(E).pop();return E},getNextNode=(d,m)=>{if(d.isNodeExpanded(m)&&d.getNavigableChildrenIds(m).length>0)return d.getNavigableChildrenIds(m)[0];let g=d.getNode(m);for(;g!=null;){const x=d.getNavigableChildrenIds(g.parentId),b=x[x.indexOf(g.id)+1];if(b)return b;g=d.getNode(g.parentId)}return null},getLastNode=d=>{let m=d.getNavigableChildrenIds(null).pop();for(;d.isNodeExpanded(m);)m=d.getNavigableChildrenIds(m).pop();return m},getFirstNode=d=>d.getNavigableChildrenIds(null)[0],populateInstance=(d,m)=>{Object.assign(d,m)},isSyntheticEvent$1=d=>d.isPropagationStopped!==void 0,useTreeViewInstanceEvents=({instance:d})=>{const[m]=reactExports.useState(()=>new EventManager$1),g=reactExports.useCallback((...b)=>{const[E,v,C={}]=b;C.defaultMuiPrevented=!1,!(isSyntheticEvent$1(C)&&C.isPropagationStopped())&&m.emit(E,v,C)},[m]),x=reactExports.useCallback((b,E)=>(m.on(b,E),()=>{m.removeListener(b,E)}),[m]);populateInstance(d,{$$publishEvent:g,$$subscribeEvent:x})},TREE_VIEW_CORE_PLUGINS=[useTreeViewInstanceEvents],useTreeView=d=>{const m=[...TREE_VIEW_CORE_PLUGINS,...d.plugins],g=m.reduce((A,L)=>L.getDefaultizedParams?L.getDefaultizedParams(A):A,d),x=useTreeViewModels(m,g),E=reactExports.useRef({}).current,v=reactExports.useRef(null),C=useForkRef(v,d.rootRef),[S,T]=reactExports.useState(()=>{const A={};return m.forEach(L=>{L.getInitialState&&Object.assign(A,L.getInitialState(g))}),A}),$=[];let k=DEFAULT_TREE_VIEW_CONTEXT_VALUE;const I=A=>{const L=A({instance:E,params:g,state:S,setState:T,rootRef:v,models:x})||{};L.getRootProps&&$.push(L.getRootProps),L.contextValue&&(k=L.contextValue)};return m.forEach(I),{getRootProps:(A={})=>{const L=_extends$1({role:"tree",tabIndex:0},A,{ref:C});return $.forEach(N=>{Object.assign(L,N(A))}),L},rootRef:C,contextValue:k}};function TreeViewProvider(d){const{value:m,children:g}=d;return jsxRuntimeExports.jsx(TreeViewContext.Provider,{value:m,children:jsxRuntimeExports.jsx(DescendantProvider,{children:g})})}const publishTreeViewEvent=(d,m,g)=>{d.$$publishEvent(m,g)},useTreeViewNodes=({instance:d,params:m})=>{const g=reactExports.useRef({}),x=reactExports.useCallback(T=>g.current[T],[]),b=reactExports.useCallback(T=>{g.current[T.id]=T},[]),E=reactExports.useCallback(T=>{const $=_extends$1({},g.current);delete $[T],g.current=$,publishTreeViewEvent(d,"removeNode",{id:T})},[d]),v=reactExports.useCallback(T=>{if(T==null)return!1;let $=d.getNode(T);if(!$)return!1;if($.disabled)return!0;for(;$.parentId!=null;)if($=d.getNode($.parentId),$.disabled)return!0;return!1},[d]),C=useEventCallback(T=>Object.values(g.current).filter($=>$.parentId===T).sort(($,k)=>$.index-k.index).map($=>$.id));populateInstance(d,{getNode:x,updateNode:b,removeNode:E,getChildrenIds:C,getNavigableChildrenIds:T=>{let $=d.getChildrenIds(T);return m.disabledItemsFocusable||($=$.filter(k=>!d.isNodeDisabled(k))),$},isNodeDisabled:v})},useTreeViewExpansion=({instance:d,params:m,models:g})=>{const x=reactExports.useCallback(C=>Array.isArray(g.expanded.value)?g.expanded.value.indexOf(C)!==-1:!1,[g.expanded.value]),b=reactExports.useCallback(C=>{var S;return!!((S=d.getNode(C))!=null&&S.expandable)},[d]),E=useEventCallback((C,S)=>{if(S==null)return;let T;g.expanded.value.indexOf(S)!==-1?T=g.expanded.value.filter($=>$!==S):T=[S].concat(g.expanded.value),m.onNodeToggle&&m.onNodeToggle(C,T),g.expanded.setValue(T)});populateInstance(d,{isNodeExpanded:x,isNodeExpandable:b,toggleNodeExpansion:E,expandAllSiblings:(C,S)=>{const T=d.getNode(S),k=d.getChildrenIds(T.parentId).filter(D=>d.isNodeExpandable(D)&&!d.isNodeExpanded(D)),I=g.expanded.value.concat(k);k.length>0&&(g.expanded.setValue(I),m.onNodeToggle&&m.onNodeToggle(C,I))}})};useTreeViewExpansion.models={expanded:{controlledProp:"expanded",defaultProp:"defaultExpanded"}};const DEFAULT_EXPANDED=[];useTreeViewExpansion.getDefaultizedParams=d=>{var m;return _extends$1({},d,{defaultExpanded:(m=d.defaultExpanded)!=null?m:DEFAULT_EXPANDED})};const findOrderInTremauxTree=(d,m,g)=>{if(m===g)return[m,g];const x=d.getNode(m),b=d.getNode(g);if(x.parentId===b.id||b.parentId===x.id)return b.parentId===x.id?[x.id,b.id]:[b.id,x.id];const E=[x.id],v=[b.id];let C=x.parentId,S=b.parentId,T=v.indexOf(C)!==-1,$=E.indexOf(S)!==-1,k=!0,I=!0;for(;!$&&!T;)k&&(E.push(C),T=v.indexOf(C)!==-1,k=C!==null,!T&&k&&(C=d.getNode(C).parentId)),I&&!T&&(v.push(S),$=E.indexOf(S)!==-1,I=S!==null,!$&&I&&(S=d.getNode(S).parentId));const D=T?C:S,A=d.getChildrenIds(D),L=E[E.indexOf(D)-1],N=v[v.indexOf(D)-1];return A.indexOf(L)<A.indexOf(N)?[m,g]:[g,m]},useTreeViewSelection=({instance:d,params:m,models:g})=>{const x=reactExports.useRef(null),b=reactExports.useRef(!1),E=reactExports.useRef([]),v=A=>Array.isArray(g.selected.value)?g.selected.value.indexOf(A)!==-1:g.selected.value===A,C=(A,L,N=!1)=>{if(!m.disableSelection){if(N){if(Array.isArray(g.selected.value)){let Y;g.selected.value.indexOf(L)!==-1?Y=g.selected.value.filter(j=>j!==L):Y=[L].concat(g.selected.value),m.onNodeSelect&&m.onNodeSelect(A,Y),g.selected.setValue(Y)}}else{const Y=m.multiSelect?[L]:L;m.onNodeSelect&&m.onNodeSelect(A,Y),g.selected.setValue(Y)}x.current=L,b.current=!1,E.current=[]}},S=(A,L)=>{const[N,Y]=findOrderInTremauxTree(d,A,L),j=[N];let B=N;for(;B!==Y;)B=getNextNode(d,B),j.push(B);return j},T=(A,L)=>{let N=g.selected.value.slice();const{start:Y,next:j,current:B}=L;!j||!B||(E.current.indexOf(B)===-1&&(E.current=[]),b.current?E.current.indexOf(j)!==-1?(N=N.filter(z=>z===Y||z!==B),E.current=E.current.filter(z=>z===Y||z!==B)):(N.push(j),E.current.push(j)):(N.push(j),E.current.push(B,j)),m.onNodeSelect&&m.onNodeSelect(A,N),g.selected.setValue(N))},$=(A,L)=>{let N=g.selected.value.slice();const{start:Y,end:j}=L;b.current&&(N=N.filter(V=>E.current.indexOf(V)===-1));let B=S(Y,j);B=B.filter(V=>!d.isNodeDisabled(V)),E.current=B;let z=N.concat(B);z=z.filter((V,U)=>z.indexOf(V)===U),m.onNodeSelect&&m.onNodeSelect(A,z),g.selected.setValue(z)};return populateInstance(d,{isNodeSelected:v,selectNode:C,selectRange:(A,L,N=!1)=>{if(m.disableSelection)return;const{start:Y=x.current,end:j,current:B}=L;N?T(A,{start:Y,next:j,current:B}):Y!=null&&j!=null&&$(A,{start:Y,end:j}),b.current=!0},rangeSelectToLast:(A,L)=>{x.current||(x.current=L);const N=b.current?x.current:L;d.selectRange(A,{start:N,end:getLastNode(d)})},rangeSelectToFirst:(A,L)=>{x.current||(x.current=L);const N=b.current?x.current:L;d.selectRange(A,{start:N,end:getFirstNode(d)})}}),{getRootProps:()=>({"aria-multiselectable":m.multiSelect})}};useTreeViewSelection.models={selected:{controlledProp:"selected",defaultProp:"defaultSelected"}};const DEFAULT_SELECTED=[];useTreeViewSelection.getDefaultizedParams=d=>{var m,g,x;return _extends$1({},d,{disableSelection:(m=d.disableSelection)!=null?m:!1,multiSelect:(g=d.multiSelect)!=null?g:!1,defaultSelected:(x=d.defaultSelected)!=null?x:d.multiSelect?DEFAULT_SELECTED:null})};const CLEANUP_TIMER_LOOP_MILLIS$1=1e3;let TimerBasedCleanupTracking$1=class{constructor(m=CLEANUP_TIMER_LOOP_MILLIS$1){this.timeouts=new Map,this.cleanupTimeout=CLEANUP_TIMER_LOOP_MILLIS$1,this.cleanupTimeout=m}register(m,g,x){this.timeouts||(this.timeouts=new Map);const b=setTimeout(()=>{typeof g=="function"&&g(),this.timeouts.delete(x.cleanupToken)},this.cleanupTimeout);this.timeouts.set(x.cleanupToken,b)}unregister(m){const g=this.timeouts.get(m.cleanupToken);g&&(this.timeouts.delete(m.cleanupToken),clearTimeout(g))}reset(){this.timeouts&&(this.timeouts.forEach((m,g)=>{this.unregister({cleanupToken:g})}),this.timeouts=void 0)}},FinalizationRegistryBasedCleanupTracking$1=class{constructor(){this.registry=new FinalizationRegistry(m=>{typeof m=="function"&&m()})}register(m,g,x){this.registry.register(m,g,x)}unregister(m){this.registry.unregister(m)}reset(){}},ObjectToBeRetainedByReact$1=class{};function createUseInstanceEventHandler(d){let m=0;return function(x,b,E){d.registry===null&&(d.registry=typeof FinalizationRegistry!="undefined"?new FinalizationRegistryBasedCleanupTracking$1:new TimerBasedCleanupTracking$1);const[v]=reactExports.useState(new ObjectToBeRetainedByReact$1),C=reactExports.useRef(null),S=reactExports.useRef();S.current=E;const T=reactExports.useRef(null);if(!C.current&&S.current){const $=(k,I)=>{if(!I.defaultMuiPrevented){var D;(D=S.current)==null||D.call(S,k,I)}};C.current=x.$$subscribeEvent(b,$),m+=1,T.current={cleanupToken:m},d.registry.register(v,()=>{var k;(k=C.current)==null||k.call(C),C.current=null,T.current=null},T.current)}else!S.current&&C.current&&(C.current(),C.current=null,T.current&&(d.registry.unregister(T.current),T.current=null));reactExports.useEffect(()=>{if(!C.current&&S.current){const $=(k,I)=>{if(!I.defaultMuiPrevented){var D;(D=S.current)==null||D.call(S,k,I)}};C.current=x.$$subscribeEvent(b,$)}return T.current&&d.registry&&(d.registry.unregister(T.current),T.current=null),()=>{var $;($=C.current)==null||$.call(C),C.current=null}},[x,b])}}const registryContainer$1={registry:null},useInstanceEventHandler=createUseInstanceEventHandler(registryContainer$1),useTreeViewFocus=({instance:d,params:m,state:g,setState:x,models:b,rootRef:E})=>{const v=useEventCallback(D=>{const A=typeof D=="function"?D(g.focusedNodeId):D;x(L=>_extends$1({},L,{focusedNodeId:A}))}),C=reactExports.useCallback(D=>g.focusedNodeId===D,[g.focusedNodeId]),S=useEventCallback((D,A)=>{A&&(v(A),m.onNodeFocus&&m.onNodeFocus(D,A))});populateInstance(d,{isNodeFocused:C,focusNode:S}),useInstanceEventHandler(d,"removeNode",({id:D})=>{v(A=>A===D&&E.current===ownerDocument(E.current).activeElement?d.getChildrenIds(null)[0]:A)});const T=D=>A=>{var L;if((L=D.onFocus)==null||L.call(D,A),A.target===A.currentTarget){const N=j=>{const B=d.getNode(j);return B&&(B.parentId==null||d.isNodeExpanded(B.parentId))};let Y;Array.isArray(b.selected.value)?Y=b.selected.value.find(N):b.selected.value!=null&&N(b.selected.value)&&(Y=b.selected.value),Y==null&&(Y=d.getNavigableChildrenIds(null)[0]),d.focusNode(A,Y)}},$=D=>A=>{var L;(L=D.onBlur)==null||L.call(D,A),v(null)},k=d.getNode(g.focusedNodeId),I=k?k.idAttribute:null;return{getRootProps:D=>({onFocus:T(D),onBlur:$(D),"aria-activedescendant":I!=null?I:void 0})}};useTreeViewFocus.getInitialState=()=>({focusedNodeId:null});useTreeViewFocus.getDefaultizedParams=d=>{var m;return _extends$1({},d,{disabledItemsFocusable:(m=d.disabledItemsFocusable)!=null?m:!1})};function isPrintableCharacter(d){return d&&d.length===1&&d.match(/\S/)}function findNextFirstChar(d,m,g){for(let x=m;x<d.length;x+=1)if(g===d[x])return x;return-1}const useTreeViewKeyboardNavigation=({instance:d,params:m,state:g})=>{const b=useTheme$1().direction==="rtl",E=reactExports.useRef({}),v=useEventCallback((D,A)=>(E.current[D]=A,()=>{const L=_extends$1({},E.current);delete L[D],E.current=L}));populateInstance(d,{mapFirstChar:v});const C=D=>(g.focusedNodeId!=null&&d.isNodeExpandable(g.focusedNodeId)&&(d.isNodeExpanded(g.focusedNodeId)?d.focusNode(D,getNextNode(d,g.focusedNodeId)):d.isNodeDisabled(g.focusedNodeId)||d.toggleNodeExpansion(D,g.focusedNodeId)),!0),S=D=>{if(g.focusedNodeId==null)return!1;if(d.isNodeExpanded(g.focusedNodeId)&&!d.isNodeDisabled(g.focusedNodeId))return d.toggleNodeExpansion(D,g.focusedNodeId),!0;const A=d.getNode(g.focusedNodeId).parentId;return A?(d.focusNode(D,A),!0):!1},T=(D,A,L)=>{let N,Y;const j=L.toLowerCase(),B=[],z=[];Object.keys(E.current).forEach(V=>{const U=d.getNode(V),W=U.parentId?d.isNodeExpanded(U.parentId):!0,J=m.disabledItemsFocusable?!1:d.isNodeDisabled(V);W&&!J&&(B.push(V),z.push(E.current[V]))}),N=B.indexOf(A)+1,N>=B.length&&(N=0),Y=findNextFirstChar(z,N,j),Y===-1&&(Y=findNextFirstChar(z,0,j)),Y>-1&&d.focusNode(D,B[Y])},$=(D,A)=>{d.isNodeDisabled(getNextNode(d,A))||d.selectRange(D,{end:getNextNode(d,A),current:A},!0)},k=(D,A)=>{d.isNodeDisabled(getPreviousNode(d,A))||d.selectRange(D,{end:getPreviousNode(d,A),current:A},!0)},I=D=>A=>{var L;(L=D.onKeyDown)==null||L.call(D,A);let N=!1;const Y=A.key;if(A.altKey||A.currentTarget!==A.target||g.focusedNodeId==null)return;const j=A.ctrlKey||A.metaKey;switch(Y){case" ":!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&(N=!0,m.multiSelect&&A.shiftKey?d.selectRange(A,{end:g.focusedNodeId}):m.multiSelect?d.selectNode(A,g.focusedNodeId,!0):d.selectNode(A,g.focusedNodeId)),A.stopPropagation();break;case"Enter":d.isNodeDisabled(g.focusedNodeId)||(d.isNodeExpandable(g.focusedNodeId)?(d.toggleNodeExpansion(A,g.focusedNodeId),N=!0):m.disableSelection||(N=!0,m.multiSelect?d.selectNode(A,g.focusedNodeId,!0):d.selectNode(A,g.focusedNodeId))),A.stopPropagation();break;case"ArrowDown":m.multiSelect&&A.shiftKey&&!m.disableSelection&&$(A,g.focusedNodeId),d.focusNode(A,getNextNode(d,g.focusedNodeId)),N=!0;break;case"ArrowUp":m.multiSelect&&A.shiftKey&&!m.disableSelection&&k(A,g.focusedNodeId),d.focusNode(A,getPreviousNode(d,g.focusedNodeId)),N=!0;break;case"ArrowRight":b?N=S(A):N=C(A);break;case"ArrowLeft":b?N=C(A):N=S(A);break;case"Home":m.multiSelect&&j&&A.shiftKey&&!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&d.rangeSelectToFirst(A,g.focusedNodeId),d.focusNode(A,getFirstNode(d)),N=!0;break;case"End":m.multiSelect&&j&&A.shiftKey&&!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&d.rangeSelectToLast(A,g.focusedNodeId),d.focusNode(A,getLastNode(d)),N=!0;break;default:Y==="*"?(d.expandAllSiblings(A,g.focusedNodeId),N=!0):m.multiSelect&&j&&Y.toLowerCase()==="a"&&!m.disableSelection?(d.selectRange(A,{start:getFirstNode(d),end:getLastNode(d)}),N=!0):!j&&!A.shiftKey&&isPrintableCharacter(Y)&&(T(A,g.focusedNodeId,Y),N=!0)}N&&(A.preventDefault(),A.stopPropagation())};return{getRootProps:D=>({onKeyDown:I(D)})}},useTreeViewContextValueBuilder=({instance:d,params:m})=>{const g=useId(m.id);return{getRootProps:()=>({id:g}),contextValue:{treeId:g,instance:d,multiSelect:m.multiSelect,disabledItemsFocusable:m.disabledItemsFocusable,icons:{defaultCollapseIcon:m.defaultCollapseIcon,defaultEndIcon:m.defaultEndIcon,defaultExpandIcon:m.defaultExpandIcon,defaultParentIcon:m.defaultParentIcon}}}},DEFAULT_TREE_VIEW_PLUGINS=[useTreeViewNodes,useTreeViewExpansion,useTreeViewSelection,useTreeViewFocus,useTreeViewKeyboardNavigation,useTreeViewContextValueBuilder],_excluded$1k=["disabledItemsFocusable","expanded","defaultExpanded","onNodeToggle","onNodeFocus","disableSelection","defaultSelected","selected","multiSelect","onNodeSelect","id","defaultCollapseIcon","defaultEndIcon","defaultExpandIcon","defaultParentIcon","children"],useUtilityClasses$$=d=>{const{classes:m}=d;return composeClasses({root:["root"]},getTreeViewUtilityClass,m)},TreeViewRoot=styled("ul",{name:"MuiTreeView",slot:"Root",overridesResolver:(d,m)=>m.root})({padding:0,margin:0,listStyle:"none",outline:0}),TreeView=reactExports.forwardRef(function(m,g){const x=useThemeProps({props:m,name:"MuiTreeView"}),b=x,E=x,{disabledItemsFocusable:v,expanded:C,defaultExpanded:S,onNodeToggle:T,onNodeFocus:$,disableSelection:k,defaultSelected:I,selected:D,multiSelect:A,onNodeSelect:L,id:N,defaultCollapseIcon:Y,defaultEndIcon:j,defaultExpandIcon:B,defaultParentIcon:z,children:V}=E,U=_objectWithoutPropertiesLoose(E,_excluded$1k),{getRootProps:W,contextValue:J}=useTreeView({disabledItemsFocusable:v,expanded:C,defaultExpanded:S,onNodeToggle:T,onNodeFocus:$,disableSelection:k,defaultSelected:I,selected:D,multiSelect:A,onNodeSelect:L,id:N,defaultCollapseIcon:Y,defaultEndIcon:j,defaultExpandIcon:B,defaultParentIcon:z,plugins:DEFAULT_TREE_VIEW_PLUGINS,rootRef:g}),Q=useUtilityClasses$$(x),X=useSlotProps({elementType:TreeViewRoot,externalSlotProps:{},externalForwardedProps:U,className:Q.root,getSlotProps:W,ownerState:b});return jsxRuntimeExports.jsx(TreeViewProvider,{value:J,children:jsxRuntimeExports.jsx(TreeViewRoot,_extends$1({},X,{children:V}))})});let lastFolder;function addFiles(){const{close:d}=newDialog({title:"Add files or folders",dialogProps:{sx:{minWidth:"min(80vw, 40em)",minHeight:"calc(100vh - 9em)"}},Content(){const m=getFolderFromSelected();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{sx:{typography:"body1",px:1,py:2}},"Selected elements will be added under ",m.isRoot?reactExports.createElement("i",{},"Home"):decodeURI(m.id)),reactExports.createElement(FilePicker,{from:lastFolder!=null?lastFolder:m.source,onSelect(x){return xt(this,null,function*(){addNodes(m,x.map(b=>({source:b,name:basename(b),id:""}))),lastFolder=x[0].slice(0,x[0].lastIndexOf("/")),d()})}}))}})}function addNodes(d,m){var g;for(const x of m)((g=x.source)!=null&&g.endsWith("/")||!x.source&&!x.url)&&(x.type="folder"),x.id||(x.id=d.id+x.name+(x.type==="folder"?"/":"")),x.parent=d;prepareVfsUndo(),addToChildrenOf(d,m),reindexVfs({select:m})}function getFreeName(d,m){var E;const g=extname(m),x=g?m.slice(0,-g.length):m;let b=2;for(;(E=d.children)!=null&&E.find(isSameFilenameAs(m));)m=`${x} ${b++}${g}`;return m}function normalizeFilename(d){return d.toLocaleLowerCase().normalize()}function isSameFilenameAs(d){const m=normalizeFilename(d);return g=>m===normalizeFilename(typeof g=="string"?g:g.name)}function addVirtual(){return xt(this,null,function*(){try{let d=yield promptDialog("Enter folder name");if(!d)return;const m=getFolderFromSelected();if(d=getFreeName(m,d),!d)return;addNodes(m,[{name:d,id:"",type:"folder"}]),toast(`Folder "${d}" created`,"success")}catch(d){yield alertDialog(d)}})}function addLink(){return xt(this,null,function*(){try{const d=getFolderFromSelected(),m=getFreeName(d,"new link");if(!m)return;addNodes(d,[{name:m,url:"https://example.com",id:""}]),toast("Link created","success",{onClose:()=>focusSelector("input[name=url]")})}catch(d){yield alertDialog(d)}})}function getFolderFromSelected(){const d=state.selectedFiles[0]||state.vfs;return d.type==="folder"?d:d.parent}function MenuButton(g){var x=g,{items:d}=x,m=zt(x,["items"]);const[b,E]=reactExports.useState(),v=!!b,C=reactExports.useCallback(()=>E(void 0),[]),S=reactExports.useId(),T=reactExports.useId();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Btn,Ae({id:S,"aria-controls":v?T:void 0,"aria-haspopup":!0,"aria-expanded":v?!0:void 0,onClick($){E($.currentTarget)}},m)),reactExports.createElement(Menu$2,{id:T,anchorEl:b,open:v,onClose:C,MenuListProps:{"aria-labelledby":S},children:d.map(($,k)=>reactExports.createElement(MenuItem,$t(Ae({key:k},$),{onClick(){var I;C(),(I=$.onClick)==null||I.apply(this,arguments)}})))}))}const GridApiContext=reactExports.createContext(void 0);function useGridApiContext(){const d=reactExports.useContext(GridApiContext);if(d===void 0)throw new Error(["MUI: Could not find the data grid context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the data grid."].join(`
323
+ `))){if(T){const Z=T(X);if(Z===!1)return;X=Z}j(X),(v||V.current||z.current===void 0)&&W(Q,X)}},onKeyDown(Q){var X;(X=D.onKeyDown)==null||X.call(D,Q),V.current=Q.code===void 0,Q.key==="Enter"&&Q.target.ariaExpanded!=="true"&&W(Q)},onFocus(Q){z.current=Q.target.value},onBlur(Q){var X;(X=D.onBlur)==null||X.call(D,Q),z.current!==Q.target.value&&W(Q)},InputProps:Ae(Ae($t(Ae({},k&&{multiline:!0}),{startAdornment:C&&reactExports.createElement(InputAdornment,{position:"start"},C),endAdornment:S&&reactExports.createElement(InputAdornment,{position:"end"},S)}),D.InputProps),J==null?void 0:J.InputProps)}));return $?reactExports.createElement(Autocomplete,{freeSolo:!0,options:$,renderInput:U,onChange(J,Q){W(J,Q)}}):U(null);function W(J,Q=Y){Q=Q==null?void 0:Q.trim(),Q!==B.current&&(B.current=Q,m(Q,{was:d,event:J,cancel(){j(N)}}))}}function SelectField(d){const D=d,{defaultValue:m,value:g=m,onChange:x,setApi:b,options:E,sx:v,disabled:C,afterList:S}=D,T=zt(D,["defaultValue","value","onChange","setApi","options","sx","disabled","afterList"]),$=reactExports.useMemo(()=>normalizeOptions(E),[E]),k=JSON.stringify(g),I=$==null?void 0:$.find(A=>JSON.stringify(A.value)===k);return reactExports.createElement(TextField,$t(Ae(Ae({select:!0,hiddenLabel:!d.label,value:I?k:"",disabled:($==null?void 0:$.length)===0||C,children:$?[...$.map((A,L)=>{var N;return reactExports.createElement(MenuItem,{key:L,value:JSON.stringify(A==null?void 0:A.value),disabled:A==null?void 0:A.disabled,children:reactExports.createElement(reactExports.Fragment,{key:L},(N=A==null?void 0:A.label)!=null?N:String(A==null?void 0:A.value))})}),reactExports.createElement("div",{key:-1},S)]:reactExports.createElement(LinearProgress)},commonSelectProps(d)),T),{onChange(A){try{let L=A.target.value;L=JSON.parse(L),x(L,{was:g,event:A})}catch(L){}}}))}function MultiSelectField(g){var x=g,{renderOption:d}=x,m=zt(x,["renderOption"]);const U=m,{value:b,onChange:E,setApi:v,options:C,placeholder:S,helperText:T,label:$,valueSeparator:k=", ",clearable:I=!0,afterList:D}=U,A=zt(U,["value","onChange","setApi","options","placeholder","helperText","label","valueSeparator","clearable","afterList"]),L=reactExports.useMemo(()=>normalizeOptions(C),[C]),N=reactExports.useMemo(()=>Array.isArray(b)?b.map(W=>(L==null?void 0:L.find(J=>J.value===W))||{value:W,label:String(W)}):[],[b,L]),Y=reactExports.useMemo(()=>(b==null?void 0:b.map(W=>JSON.stringify(W)))||[],[b]),j=useIsMobile(),B=reactExports.useId(),z=reactExports.useId(),V=!N.length;return d!=null||(d=W=>{var J;return(J=W.label)!=null?J:String(W.value)}),reactExports.createElement(FormControl,{fullWidth:!0,variant:"filled",hiddenLabel:!$},reactExports.createElement(InputLabel,{id:B,sx:{"&.Mui-focused":{color:"inherit"}}},$),reactExports.createElement(Select,Ae($t(Ae({},commonSelectProps(m)),{multiple:!0,displayEmpty:!0,value:Y,onChange:W=>{let{value:J}=W.target;if(!Array.isArray(J)){debugger;return}J=J.map(Q=>Q&&JSON.parse(Q)),E(J,{was:b,event:W})},sx:{"& .MuiSelect-select":{maxHeight:"15em",overflowY:"auto"}},input:reactExports.createElement(FilledInput,{hiddenLabel:!$,"aria-describedby":z}),renderValue:()=>reactExports.createElement("div",{"aria-label":$+": "+N.map(W=>{var J;return(J=W.label)!=null?J:String(W.value)}),style:{overflow:"hidden",display:"flex",flexWrap:"wrap",gap:".5em"},children:V?reactExports.createElement(Box,{position:"relative",top:".3em",fontSize:"small",fontStyle:"italic",color:"text.secondary"},S):N.map((W,J)=>reactExports.createElement("span",{key:J},d(W),J<N.length-1&&k))})}),A),L?!L.length&&reactExports.createElement(ListItemText,{sx:{fontStyle:"italic",ml:1},onClickCapture(W){W.stopPropagation()}},"No options available"):reactExports.createElement(LinearProgress),!j&&(L==null?void 0:L.length)>20&&reactExports.createElement(Box,{sx:{float:"right"},fontSize:"small",width:"8em",textAlign:"right",marginRight:".5em"},"ⓘ You can type the name"),reactExports.createElement(Button,{size:"small",sx:{ml:1,display:(L==null?void 0:L.length)>1?void 0:"none"},ref:reactExports.useCallback(W=>W&&Object.assign(W,{role:void 0})&&setTimeout(()=>W.focus()),[]),onClickCapture(W){W.stopPropagation(),E(V?L.map(J=>J.value):[],{was:b,event:W})}},V?"Select all":"Unselect all"),...(L==null?void 0:L.map(W=>reactExports.createElement(MenuItem,{value:JSON.stringify(W==null?void 0:W.value)},reactExports.createElement(Checkbox$1,{checked:(b==null?void 0:b.includes(W.value))||!1}),reactExports.createElement(ListItemText,{primary:d(W)}))))||[],D),reactExports.createElement(FormHelperText,{id:z,error:m.error},T))}function commonSelectProps(d){return{fullWidth:!0,sx:Object.assign({"& .MuiInputBase-inputHiddenLabel":{py:1,"& .MuiInputAdornment-root":{ml:-1}}},d.sx)}}function normalizeOptions(d){return d?Array.isArray(d)?d.map(m=>typeof m=="string"||typeof m=="number"?{value:m}:m):Object.entries(d).map(([m,g])=>({value:g,label:m})):void 0}function DisplayField(x){var b=x,{value:d,empty:m="-"}=b,g=zt(b,["value","empty"]);return!g.toField&&m!==void 0&&d!==0&&!d&&(d=m),reactExports.createElement(StringField,$t(Ae({},g),{value:d,disabled:!0,onChange(){}}))}function NumberField($){var k=$,{value:d,onChange:m,setApi:g,required:x,min:b=0,max:E,step:v,unit:C,clearable:S}=k,T=zt(k,["value","onChange","setApi","required","min","max","step","unit","clearable"]);g==null||g({getError(){return d==null?x?"required":!1:d<b?"too low":d>E?"too high":!1}});const I=useGetSize();return reactExports.createElement(StringField,$t(Ae({type:"number",value:d==null?"":String(d),onChange(D,N){var Y=N,{was:A}=Y,L=zt(Y,["was"]);m(D?Number(D):null,$t(Ae({},L),{was:A?Number(A):null}))},inputProps:{min:b,max:E,step:v},InputProps:_.merge({sx:{"& input":{appearance:"textfield"}},startAdornment:(S!=null?S:T.placeholder)&&I.w>100&&(d||d===0)&&reactExports.createElement(InputAdornment,{position:"start"},reactExports.createElement(IconButton,{size:"small",edge:"start",sx:{ml:-1,opacity:.5},"aria-label":"clear",onClick(D){m(null,{was:d,event:D})}},reactExports.createElement(Cancel)))},C&&{sx:{pr:"6px","& input":{pl:".2em",textAlign:"right"}},endAdornment:reactExports.createElement(InputAdornment,{position:"end",sx:{mt:"1.2em",ml:"5px","& p":{fontSize:"80%",".Mui-focused &":{color:"text.primary"}}}},C)})},T),{fieldRef:I.refToPass}))}function BoolField(T){var $=T,{label:d="",value:m,onChange:g,setApi:x,helperText:b,error:E,Control:v=Switch,type:C}=$,S=zt($,["label","value","onChange","setApi","helperText","error","Control","type"]);const k=()=>m!=null?m:!1,[I,D]=reactExports.useState(k);reactExports.useEffect(()=>D(k),[m]);const A=reactExports.createElement(v,$t(Ae({checked:I},S),{onChange(L){g(L.target.checked,{event:L,was:m})}}));return reactExports.createElement(Box,{ml:1,sx:E?{color:"error.main",outlineOffset:6,outline:"1px solid"}:void 0},reactExports.createElement(FormControlLabel,{label:d,control:A,labelPlacement:"end",sx:Ae({mr:0},S.size==="small"&&{"& .MuiFormControlLabel-label":{fontSize:".9rem"}})}),b&&reactExports.createElement(FormHelperText,{sx:{mt:0},error:E},b))}function CheckboxField(d){return reactExports.createElement(BoolField,Ae({Control:Checkbox$1},d))}const ERROR_CLASS="field-container-with-error";function Form(L){var N=L,{fields:d,values:m,set:g,get:x,defaults:b,save:E,stickyBar:v,addToBar:C=[],barSx:S,formRef:T,onError:$,onValidation:k,saveOnEnter:I,gridProps:D}=N,A=zt(N,["fields","values","set","get","defaults","save","stickyBar","addToBar","barSx","formRef","onError","onValidation","saveOnEnter","gridProps"]);const Y=reactExports.useRef(!1);reactExports.useEffect(()=>(Y.current=!0,()=>{Y.current=!1}),[]);const[j,B]=reactExports.useState({}),[z,V]=reactExports.useState({}),U=typeof E=="function"?{onClick:E}:E,[W,J]=reactExports.useState(0),Q=reactExports.useRef(!1),X=reactExports.useRef("");T||(T=reactExports.useRef()),reactExports.useEffect(()=>void ce(),[W]);const Z={},oe={};return reactExports.createElement(Box,Ae({component:"form",display:"flex",flexDirection:"column",gap:3,ref:T,onSubmit(fe){fe.preventDefault()},onKeyDown(fe){U&&!U.disabled&&(fe.ctrlKey||fe.metaKey)&&fe.key==="Enter"&&ie()}},A),reactExports.createElement(Grid2,Ae({container:!0,rowSpacing:3,columnSpacing:1},D),d.map((fe,ae)=>{if(!fe)return null;if(reactExports.isValidElement(fe))return reactExports.createElement(Grid2,{key:ae,xs:12},fe);b&&(fe=Ae(Ae({},b==null?void 0:b(fe)),fe));const rt=fe,{k:ue,fromField:pe=_.identity,toField:ge=_.identity,getError:ye,error:Ce,xs:Ee=12,sm:ve,md:Pe,lg:Me,xl:Re,comp:De=StringField,before:Ye,after:Le,parentProps:Ge}=rt,Ie=zt(rt,["k","fromField","toField","getError","error","xs","sm","md","lg","xl","comp","before","after","parentProps"]);let Be=j[ue]||Ce||z[ue];Be===!0&&(Be="Not valid");const He=!!(Be||Ce)||void 0;if(ue){const Fe=fe.hasOwnProperty("value")?fe.value:re(ue);Object.assign(Ie,{name:ue,value:ge(Fe),error:He,setApi(ot){oe[ue]=ot},onKeyDown(ot){I&&ot.key==="Enter"&&ie()},onChange(ot){var ke;try{if(ot=pe(ot,{originalValue:Fe}),V(je=>$t(Ae({},je),{[ue]:!1})),(((ke=oe[ue])==null?void 0:ke.isEqual)||_.isEqual)(ot,Fe))return;g(ot,ue),ee(ue)}catch(je){V(Ke=>$t(Ae({},Ke),{[ue]:(je==null?void 0:je.message)||String(je)||!0}))}}}),Array.isArray(Ie.helperText)&&(Ie.helperText=reactExports.createElement(reactExports.Fragment,{},...Ie.helperText)),Be&&(Ie.helperText=Ie.helperText?reactExports.createElement(Box,{color:"text.primary",component:"span"},reactExports.createElement(Box,{color:"error.main",style:{borderBottom:"1px solid"},component:"span",display:"block"},Be),Ie.helperText):Be),Ie.label===void 0&&(Ie.label=labelFromKey(ue))}const Ve=Z[ue]=(Z[ue]||0)+1;return reactExports.createElement(Grid2,Ae({key:ue?ue+Ve:ae,xs:Ee,sm:ve,md:Pe,lg:Me,xl:Re,className:He&&ERROR_CLASS},Ge),Ye,reactExports.isValidElement(De)?De:reactExports.createElement(De,Ie),Le)})),U&&reactExports.createElement(Box,{display:"flex",alignItems:"center",sx:Object.assign({},v&&{width:"fit-content",zIndex:2,backgroundColor:"background.paper",borderRadius:1,position:"sticky",bottom:0,p:1,m:-1,boxShadow:"0px 0px 15px #000"},S)},reactExports.createElement(Tooltip,{title:"ctrl + enter",children:reactExports.createElement(LoadingButton,$t(Ae({variant:"contained",startIcon:reactExports.createElement(Save),children:"Save",loading:useDebounce(W!==0)},U),{onClick:ie}))}),...C));function ie(){Q.current=!0,ee()}function ee(fe=""){W===0&&(X.current=fe,setTimeout(()=>J(ae=>ae===0?1:ae)))}function re(fe){return x?x(fe):m==null?void 0:m[fe]}function ce(){return xt(this,null,function*(){var pe,ge,ye;if(W===0)return;if(W===1)return J(2);const fe="Please review errors",ae={};for(const Ce of d){if(!Ce||reactExports.isValidElement(Ce)||!Ce.k)continue;const{k:Ee}=Ce,ve=re(Ee);let Pe;try{Pe=(yield(ge=(pe=oe[Ee])==null?void 0:pe.getError)==null?void 0:ge.call(pe,ve,{values:m,fields:d}))||(yield(ye=Ce.getError)==null?void 0:ye.call(Ce,ve,{values:m,fields:d}))||z[Ee]||!1}catch(Me){Pe=String(Me)}if(ae[Ee]=Pe,!Q.current&&Ee===X.current)break;if(!Y.current)return}B(ae);const ue=Object.values(ae).some(Boolean);k==null||k(ue&&ae);try{if(!Q.current)return;if(ue)try{return yield $==null?void 0:$(fe)}finally{setTimeout(()=>{var Ee,ve;return(ve=(Ee=T==null?void 0:T.current)==null?void 0:Ee.querySelector("."+ERROR_CLASS))==null?void 0:ve.scrollIntoView({block:"center"})},1)}const Ce=U&&U.onClick;Ce&&(yield Ce())}catch(Ce){yield $==null?void 0:$(Ce)}finally{Q.current=!1,Y.current&&J(0)}})}}function labelFromKey(d){return _.upperFirst(d.indexOf("_")>0?d.replace(/_/g," "):d.replace(/([a-z])([A-Z])/g,(m,g,x)=>g+" "+x.toLowerCase()))}const _excluded$1n=["element"];function findIndex(d,m){for(let g=0;g<d.length;g+=1)if(m(d[g]))return g;return-1}function binaryFindElement(d,m){let g=0,x=d.length-1;for(;g<=x;){const b=Math.floor((g+x)/2);if(d[b].element===m)return b;d[b].element.compareDocumentPosition(m)&Node.DOCUMENT_POSITION_PRECEDING?x=b-1:g=b+1}return g}const DescendantContext=reactExports.createContext({});function usePrevious(d){const m=reactExports.useRef(null);return reactExports.useEffect(()=>{m.current=d},[d]),m.current}const noop$2=()=>{};function useDescendant(d){const[,m]=reactExports.useState(),{registerDescendant:g=noop$2,unregisterDescendant:x=noop$2,descendants:b=[],parentId:E=null}=reactExports.useContext(DescendantContext),v=findIndex(b,T=>T.element===d.element),C=usePrevious(b),S=b.some((T,$)=>C&&C[$]&&C[$].element!==T.element);return useEnhancedEffect(()=>{if(d.element)return g(_extends$1({},d,{index:v})),()=>{x(d.element)};m({})},[g,x,v,S,d]),{parentId:E,index:v}}function DescendantProvider(d){const{children:m,id:g}=d,[x,b]=reactExports.useState([]),E=reactExports.useCallback(S=>{let{element:T}=S,$=_objectWithoutPropertiesLoose(S,_excluded$1n);b(k=>{if(k.length===0)return[_extends$1({},$,{element:T,index:0})];const I=binaryFindElement(k,T);let D;if(k[I]&&k[I].element===T)D=k;else{const A=_extends$1({},$,{element:T,index:I});D=k.slice(),D.splice(I,0,A)}return D.forEach((A,L)=>{A.index=L}),D})},[]),v=reactExports.useCallback(S=>{b(T=>T.filter($=>S!==$.element))},[]),C=reactExports.useMemo(()=>({descendants:x,registerDescendant:E,unregisterDescendant:v,parentId:g}),[x,E,v,g]);return jsxRuntimeExports.jsx(DescendantContext.Provider,{value:C,children:m})}const DEFAULT_TREE_VIEW_CONTEXT_VALUE={instance:null,multiSelect:!1,disabledItemsFocusable:!1,treeId:void 0,icons:{defaultCollapseIcon:null,defaultExpandIcon:null,defaultParentIcon:null,defaultEndIcon:null}},TreeViewContext=reactExports.createContext(DEFAULT_TREE_VIEW_CONTEXT_VALUE),useTreeViewContext=()=>reactExports.useContext(TreeViewContext);function useTreeItem(d){const{instance:m,multiSelect:g}=useTreeViewContext(),x=m?m.isNodeExpandable(d):!1,b=m?m.isNodeExpanded(d):!1,E=m?m.isNodeFocused(d):!1,v=m?m.isNodeSelected(d):!1,C=m?m.isNodeDisabled(d):!1;return{disabled:C,expanded:b,selected:v,focused:E,handleExpansion:k=>{if(m&&!C){E||m.focusNode(k,d);const I=g&&(k.shiftKey||k.ctrlKey||k.metaKey);x&&!(I&&m.isNodeExpanded(d))&&m.toggleNodeExpansion(k,d)}},handleSelection:k=>{m&&!C&&(E||m.focusNode(k,d),g&&(k.shiftKey||k.ctrlKey||k.metaKey)?k.shiftKey?m.selectRange(k,{end:d}):m.selectNode(k,d,!0):m.selectNode(k,d))},preventSelection:k=>{(k.shiftKey||k.ctrlKey||k.metaKey||C)&&k.preventDefault()}}}const _excluded$1m=["classes","className","displayIcon","expansionIcon","icon","label","nodeId","onClick","onMouseDown"],TreeItemContent=reactExports.forwardRef(function(m,g){const{classes:x,className:b,displayIcon:E,expansionIcon:v,icon:C,label:S,nodeId:T,onClick:$,onMouseDown:k}=m,I=_objectWithoutPropertiesLoose(m,_excluded$1m),{disabled:D,expanded:A,selected:L,focused:N,handleExpansion:Y,handleSelection:j,preventSelection:B}=useTreeItem(T),z=C||v||E,V=W=>{B(W),k&&k(W)},U=W=>{Y(W),j(W),$&&$(W)};return jsxRuntimeExports.jsxs("div",_extends$1({},I,{className:clsx(b,x.root,A&&x.expanded,L&&x.selected,N&&x.focused,D&&x.disabled),onClick:U,onMouseDown:V,ref:g,children:[jsxRuntimeExports.jsx("div",{className:x.iconContainer,children:z}),jsxRuntimeExports.jsx("div",{className:x.label,children:S})]}))});function getTreeItemUtilityClass(d){return generateUtilityClass("MuiTreeItem",d)}const treeItemClasses=generateUtilityClasses("MuiTreeItem",["root","group","content","expanded","selected","focused","disabled","iconContainer","label"]),_excluded$1l=["children","className","collapseIcon","ContentComponent","ContentProps","endIcon","expandIcon","disabled","icon","id","label","nodeId","onClick","onMouseDown","TransitionComponent","TransitionProps"],useUtilityClasses$10=d=>{const{classes:m}=d;return composeClasses({root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],label:["label"],group:["group"]},getTreeItemUtilityClass,m)},TreeItemRoot=styled("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(d,m)=>m.root})({listStyle:"none",margin:0,padding:0,outline:0}),StyledTreeItemContent=styled(TreeItemContent,{name:"MuiTreeItem",slot:"Content",overridesResolver:(d,m)=>[m.content,m.iconContainer&&{[`& .${treeItemClasses.iconContainer}`]:m.iconContainer},m.label&&{[`& .${treeItemClasses.label}`]:m.label}]})(({theme:d})=>({padding:"0 8px",width:"100%",boxSizing:"border-box",display:"flex",alignItems:"center",cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(d.vars||d).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${treeItemClasses.disabled}`]:{opacity:(d.vars||d).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${treeItemClasses.focused}`]:{backgroundColor:(d.vars||d).palette.action.focus},[`&.${treeItemClasses.selected}`]:{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / ${d.vars.palette.action.selectedOpacity})`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity),"&:hover":{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / calc(${d.vars.palette.action.selectedOpacity} + ${d.vars.palette.action.hoverOpacity}))`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity+d.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / ${d.vars.palette.action.selectedOpacity})`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity)}},[`&.${treeItemClasses.focused}`]:{backgroundColor:d.vars?`rgba(${d.vars.palette.primary.mainChannel} / calc(${d.vars.palette.action.selectedOpacity} + ${d.vars.palette.action.focusOpacity}))`:alpha(d.palette.primary.main,d.palette.action.selectedOpacity+d.palette.action.focusOpacity)}},[`& .${treeItemClasses.iconContainer}`]:{marginRight:4,width:15,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${treeItemClasses.label}`]:_extends$1({paddingLeft:4,width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},d.typography.body1)})),TreeItemGroup=styled(Collapse,{name:"MuiTreeItem",slot:"Group",overridesResolver:(d,m)=>m.group})({margin:0,padding:0,marginLeft:17}),TreeItem=reactExports.forwardRef(function(m,g){const x=useThemeProps({props:m,name:"MuiTreeItem"}),{children:b,className:E,collapseIcon:v,ContentComponent:C=TreeItemContent,ContentProps:S,endIcon:T,expandIcon:$,disabled:k,icon:I,id:D,label:A,nodeId:L,onClick:N,onMouseDown:Y,TransitionComponent:j=Collapse,TransitionProps:B}=x,z=_objectWithoutPropertiesLoose(x,_excluded$1l),{icons:V,multiSelect:U,disabledItemsFocusable:W,treeId:J,instance:Q}=useTreeViewContext();let X;D!=null?X=D:J&&L&&(X=`${J}-${L}`);const[Z,oe]=reactExports.useState(null),ie=reactExports.useRef(null),ee=useForkRef(oe,g),re=reactExports.useMemo(()=>({element:Z,id:L}),[L,Z]),{index:ce,parentId:fe}=useDescendant(re),ae=!!(Array.isArray(b)?b.length:b),ue=Q?Q.isNodeExpanded(L):!1,pe=Q?Q.isNodeFocused(L):!1,ge=Q?Q.isNodeSelected(L):!1,ye=Q?Q.isNodeDisabled(L):!1,Ce=_extends$1({},x,{expanded:ue,focused:pe,selected:ge,disabled:ye}),Ee=useUtilityClasses$10(Ce);let ve,Pe;ae&&(ue?Pe=v||V.defaultCollapseIcon:Pe=$||V.defaultExpandIcon),ae?ve=V.defaultParentIcon:ve=T||V.defaultEndIcon,reactExports.useEffect(()=>{if(Q&&ce!==-1)return Q.updateNode({id:L,idAttribute:X,index:ce,parentId:fe,expandable:ae,disabled:k}),()=>Q.removeNode(L)},[Q,fe,ce,L,ae,k,X]),reactExports.useEffect(()=>{if(Q&&A){var De,Ye;return Q.mapFirstChar(L,((De=(Ye=ie.current)==null?void 0:Ye.textContent)!=null?De:"").substring(0,1).toLowerCase())}},[Q,L,A]);let Me;U?Me=ge:ge&&(Me=!0);function Re(De){if(De.target===De.currentTarget){let Le;typeof De.target.getRootNode=="function"?Le=De.target.getRootNode():Le=ownerDocument(De.target),Le.getElementById(J).focus({preventScroll:!0})}const Ye=!W&&ye;Q&&!pe&&De.currentTarget===De.target&&!Ye&&Q.focusNode(De,L)}return jsxRuntimeExports.jsxs(TreeItemRoot,_extends$1({className:clsx(Ee.root,E),role:"treeitem","aria-expanded":ae?ue:void 0,"aria-selected":Me,"aria-disabled":ye||void 0,id:X,tabIndex:-1},z,{ownerState:Ce,onFocus:Re,ref:ee,children:[jsxRuntimeExports.jsx(StyledTreeItemContent,_extends$1({as:C,ref:ie,classes:{root:Ee.content,expanded:Ee.expanded,selected:Ee.selected,focused:Ee.focused,disabled:Ee.disabled,iconContainer:Ee.iconContainer,label:Ee.label},label:A,nodeId:L,onClick:N,onMouseDown:Y,icon:I,expansionIcon:Pe,displayIcon:ve,ownerState:Ce},S)),b&&jsxRuntimeExports.jsx(DescendantProvider,{id:L,children:jsxRuntimeExports.jsx(TreeItemGroup,_extends$1({as:j,unmountOnExit:!0,className:Ee.group,in:ue,component:"ul",role:"group"},B,{children:b}))})]}))});function getTreeViewUtilityClass(d){return generateUtilityClass("MuiTreeView",d)}generateUtilityClasses("MuiTreeView",["root"]);const useTreeViewModels=(d,m)=>{const g=reactExports.useRef({}),[x,b]=reactExports.useState(()=>{const v={};return d.forEach(C=>{C.models&&Object.entries(C.models).forEach(([S,T])=>{g.current[S]={controlledProp:T.controlledProp,defaultProp:T.defaultProp,isControlled:m[T.controlledProp]!==void 0},v[S]=m[T.defaultProp]})}),v});return Object.fromEntries(Object.entries(g.current).map(([v,C])=>{const S=C.isControlled?m[C.controlledProp]:x[v];return[v,{value:S,setValue:T=>{C.isControlled||b($=>_extends$1({},$,{[v]:T}))}}]}))};let EventManager$1=class{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(m,g,x={}){let b=this.events[m];b||(b={highPriority:new Map,regular:new Map},this.events[m]=b),x.isFirst?b.highPriority.set(g,!0):b.regular.set(g,!0)}removeListener(m,g){this.events[m]&&(this.events[m].regular.delete(g),this.events[m].highPriority.delete(g))}removeAllListeners(){this.events={}}emit(m,...g){const x=this.events[m];if(!x)return;const b=Array.from(x.highPriority.keys()),E=Array.from(x.regular.keys());for(let v=b.length-1;v>=0;v-=1){const C=b[v];x.highPriority.has(C)&&C.apply(this,g)}for(let v=0;v<E.length;v+=1){const C=E[v];x.regular.has(C)&&C.apply(this,g)}}once(m,g){const x=this;this.on(m,function b(...E){x.removeListener(m,b),g.apply(x,E)})}};const getPreviousNode=(d,m)=>{const g=d.getNode(m),x=d.getNavigableChildrenIds(g.parentId),b=x.indexOf(m);if(b===0)return g.parentId;let E=x[b-1];for(;d.isNodeExpanded(E)&&d.getNavigableChildrenIds(E).length>0;)E=d.getNavigableChildrenIds(E).pop();return E},getNextNode=(d,m)=>{if(d.isNodeExpanded(m)&&d.getNavigableChildrenIds(m).length>0)return d.getNavigableChildrenIds(m)[0];let g=d.getNode(m);for(;g!=null;){const x=d.getNavigableChildrenIds(g.parentId),b=x[x.indexOf(g.id)+1];if(b)return b;g=d.getNode(g.parentId)}return null},getLastNode=d=>{let m=d.getNavigableChildrenIds(null).pop();for(;d.isNodeExpanded(m);)m=d.getNavigableChildrenIds(m).pop();return m},getFirstNode=d=>d.getNavigableChildrenIds(null)[0],populateInstance=(d,m)=>{Object.assign(d,m)},isSyntheticEvent$1=d=>d.isPropagationStopped!==void 0,useTreeViewInstanceEvents=({instance:d})=>{const[m]=reactExports.useState(()=>new EventManager$1),g=reactExports.useCallback((...b)=>{const[E,v,C={}]=b;C.defaultMuiPrevented=!1,!(isSyntheticEvent$1(C)&&C.isPropagationStopped())&&m.emit(E,v,C)},[m]),x=reactExports.useCallback((b,E)=>(m.on(b,E),()=>{m.removeListener(b,E)}),[m]);populateInstance(d,{$$publishEvent:g,$$subscribeEvent:x})},TREE_VIEW_CORE_PLUGINS=[useTreeViewInstanceEvents],useTreeView=d=>{const m=[...TREE_VIEW_CORE_PLUGINS,...d.plugins],g=m.reduce((A,L)=>L.getDefaultizedParams?L.getDefaultizedParams(A):A,d),x=useTreeViewModels(m,g),E=reactExports.useRef({}).current,v=reactExports.useRef(null),C=useForkRef(v,d.rootRef),[S,T]=reactExports.useState(()=>{const A={};return m.forEach(L=>{L.getInitialState&&Object.assign(A,L.getInitialState(g))}),A}),$=[];let k=DEFAULT_TREE_VIEW_CONTEXT_VALUE;const I=A=>{const L=A({instance:E,params:g,state:S,setState:T,rootRef:v,models:x})||{};L.getRootProps&&$.push(L.getRootProps),L.contextValue&&(k=L.contextValue)};return m.forEach(I),{getRootProps:(A={})=>{const L=_extends$1({role:"tree",tabIndex:0},A,{ref:C});return $.forEach(N=>{Object.assign(L,N(A))}),L},rootRef:C,contextValue:k}};function TreeViewProvider(d){const{value:m,children:g}=d;return jsxRuntimeExports.jsx(TreeViewContext.Provider,{value:m,children:jsxRuntimeExports.jsx(DescendantProvider,{children:g})})}const publishTreeViewEvent=(d,m,g)=>{d.$$publishEvent(m,g)},useTreeViewNodes=({instance:d,params:m})=>{const g=reactExports.useRef({}),x=reactExports.useCallback(T=>g.current[T],[]),b=reactExports.useCallback(T=>{g.current[T.id]=T},[]),E=reactExports.useCallback(T=>{const $=_extends$1({},g.current);delete $[T],g.current=$,publishTreeViewEvent(d,"removeNode",{id:T})},[d]),v=reactExports.useCallback(T=>{if(T==null)return!1;let $=d.getNode(T);if(!$)return!1;if($.disabled)return!0;for(;$.parentId!=null;)if($=d.getNode($.parentId),$.disabled)return!0;return!1},[d]),C=useEventCallback(T=>Object.values(g.current).filter($=>$.parentId===T).sort(($,k)=>$.index-k.index).map($=>$.id));populateInstance(d,{getNode:x,updateNode:b,removeNode:E,getChildrenIds:C,getNavigableChildrenIds:T=>{let $=d.getChildrenIds(T);return m.disabledItemsFocusable||($=$.filter(k=>!d.isNodeDisabled(k))),$},isNodeDisabled:v})},useTreeViewExpansion=({instance:d,params:m,models:g})=>{const x=reactExports.useCallback(C=>Array.isArray(g.expanded.value)?g.expanded.value.indexOf(C)!==-1:!1,[g.expanded.value]),b=reactExports.useCallback(C=>{var S;return!!((S=d.getNode(C))!=null&&S.expandable)},[d]),E=useEventCallback((C,S)=>{if(S==null)return;let T;g.expanded.value.indexOf(S)!==-1?T=g.expanded.value.filter($=>$!==S):T=[S].concat(g.expanded.value),m.onNodeToggle&&m.onNodeToggle(C,T),g.expanded.setValue(T)});populateInstance(d,{isNodeExpanded:x,isNodeExpandable:b,toggleNodeExpansion:E,expandAllSiblings:(C,S)=>{const T=d.getNode(S),k=d.getChildrenIds(T.parentId).filter(D=>d.isNodeExpandable(D)&&!d.isNodeExpanded(D)),I=g.expanded.value.concat(k);k.length>0&&(g.expanded.setValue(I),m.onNodeToggle&&m.onNodeToggle(C,I))}})};useTreeViewExpansion.models={expanded:{controlledProp:"expanded",defaultProp:"defaultExpanded"}};const DEFAULT_EXPANDED=[];useTreeViewExpansion.getDefaultizedParams=d=>{var m;return _extends$1({},d,{defaultExpanded:(m=d.defaultExpanded)!=null?m:DEFAULT_EXPANDED})};const findOrderInTremauxTree=(d,m,g)=>{if(m===g)return[m,g];const x=d.getNode(m),b=d.getNode(g);if(x.parentId===b.id||b.parentId===x.id)return b.parentId===x.id?[x.id,b.id]:[b.id,x.id];const E=[x.id],v=[b.id];let C=x.parentId,S=b.parentId,T=v.indexOf(C)!==-1,$=E.indexOf(S)!==-1,k=!0,I=!0;for(;!$&&!T;)k&&(E.push(C),T=v.indexOf(C)!==-1,k=C!==null,!T&&k&&(C=d.getNode(C).parentId)),I&&!T&&(v.push(S),$=E.indexOf(S)!==-1,I=S!==null,!$&&I&&(S=d.getNode(S).parentId));const D=T?C:S,A=d.getChildrenIds(D),L=E[E.indexOf(D)-1],N=v[v.indexOf(D)-1];return A.indexOf(L)<A.indexOf(N)?[m,g]:[g,m]},useTreeViewSelection=({instance:d,params:m,models:g})=>{const x=reactExports.useRef(null),b=reactExports.useRef(!1),E=reactExports.useRef([]),v=A=>Array.isArray(g.selected.value)?g.selected.value.indexOf(A)!==-1:g.selected.value===A,C=(A,L,N=!1)=>{if(!m.disableSelection){if(N){if(Array.isArray(g.selected.value)){let Y;g.selected.value.indexOf(L)!==-1?Y=g.selected.value.filter(j=>j!==L):Y=[L].concat(g.selected.value),m.onNodeSelect&&m.onNodeSelect(A,Y),g.selected.setValue(Y)}}else{const Y=m.multiSelect?[L]:L;m.onNodeSelect&&m.onNodeSelect(A,Y),g.selected.setValue(Y)}x.current=L,b.current=!1,E.current=[]}},S=(A,L)=>{const[N,Y]=findOrderInTremauxTree(d,A,L),j=[N];let B=N;for(;B!==Y;)B=getNextNode(d,B),j.push(B);return j},T=(A,L)=>{let N=g.selected.value.slice();const{start:Y,next:j,current:B}=L;!j||!B||(E.current.indexOf(B)===-1&&(E.current=[]),b.current?E.current.indexOf(j)!==-1?(N=N.filter(z=>z===Y||z!==B),E.current=E.current.filter(z=>z===Y||z!==B)):(N.push(j),E.current.push(j)):(N.push(j),E.current.push(B,j)),m.onNodeSelect&&m.onNodeSelect(A,N),g.selected.setValue(N))},$=(A,L)=>{let N=g.selected.value.slice();const{start:Y,end:j}=L;b.current&&(N=N.filter(V=>E.current.indexOf(V)===-1));let B=S(Y,j);B=B.filter(V=>!d.isNodeDisabled(V)),E.current=B;let z=N.concat(B);z=z.filter((V,U)=>z.indexOf(V)===U),m.onNodeSelect&&m.onNodeSelect(A,z),g.selected.setValue(z)};return populateInstance(d,{isNodeSelected:v,selectNode:C,selectRange:(A,L,N=!1)=>{if(m.disableSelection)return;const{start:Y=x.current,end:j,current:B}=L;N?T(A,{start:Y,next:j,current:B}):Y!=null&&j!=null&&$(A,{start:Y,end:j}),b.current=!0},rangeSelectToLast:(A,L)=>{x.current||(x.current=L);const N=b.current?x.current:L;d.selectRange(A,{start:N,end:getLastNode(d)})},rangeSelectToFirst:(A,L)=>{x.current||(x.current=L);const N=b.current?x.current:L;d.selectRange(A,{start:N,end:getFirstNode(d)})}}),{getRootProps:()=>({"aria-multiselectable":m.multiSelect})}};useTreeViewSelection.models={selected:{controlledProp:"selected",defaultProp:"defaultSelected"}};const DEFAULT_SELECTED=[];useTreeViewSelection.getDefaultizedParams=d=>{var m,g,x;return _extends$1({},d,{disableSelection:(m=d.disableSelection)!=null?m:!1,multiSelect:(g=d.multiSelect)!=null?g:!1,defaultSelected:(x=d.defaultSelected)!=null?x:d.multiSelect?DEFAULT_SELECTED:null})};const CLEANUP_TIMER_LOOP_MILLIS$1=1e3;let TimerBasedCleanupTracking$1=class{constructor(m=CLEANUP_TIMER_LOOP_MILLIS$1){this.timeouts=new Map,this.cleanupTimeout=CLEANUP_TIMER_LOOP_MILLIS$1,this.cleanupTimeout=m}register(m,g,x){this.timeouts||(this.timeouts=new Map);const b=setTimeout(()=>{typeof g=="function"&&g(),this.timeouts.delete(x.cleanupToken)},this.cleanupTimeout);this.timeouts.set(x.cleanupToken,b)}unregister(m){const g=this.timeouts.get(m.cleanupToken);g&&(this.timeouts.delete(m.cleanupToken),clearTimeout(g))}reset(){this.timeouts&&(this.timeouts.forEach((m,g)=>{this.unregister({cleanupToken:g})}),this.timeouts=void 0)}},FinalizationRegistryBasedCleanupTracking$1=class{constructor(){this.registry=new FinalizationRegistry(m=>{typeof m=="function"&&m()})}register(m,g,x){this.registry.register(m,g,x)}unregister(m){this.registry.unregister(m)}reset(){}},ObjectToBeRetainedByReact$1=class{};function createUseInstanceEventHandler(d){let m=0;return function(x,b,E){d.registry===null&&(d.registry=typeof FinalizationRegistry!="undefined"?new FinalizationRegistryBasedCleanupTracking$1:new TimerBasedCleanupTracking$1);const[v]=reactExports.useState(new ObjectToBeRetainedByReact$1),C=reactExports.useRef(null),S=reactExports.useRef();S.current=E;const T=reactExports.useRef(null);if(!C.current&&S.current){const $=(k,I)=>{if(!I.defaultMuiPrevented){var D;(D=S.current)==null||D.call(S,k,I)}};C.current=x.$$subscribeEvent(b,$),m+=1,T.current={cleanupToken:m},d.registry.register(v,()=>{var k;(k=C.current)==null||k.call(C),C.current=null,T.current=null},T.current)}else!S.current&&C.current&&(C.current(),C.current=null,T.current&&(d.registry.unregister(T.current),T.current=null));reactExports.useEffect(()=>{if(!C.current&&S.current){const $=(k,I)=>{if(!I.defaultMuiPrevented){var D;(D=S.current)==null||D.call(S,k,I)}};C.current=x.$$subscribeEvent(b,$)}return T.current&&d.registry&&(d.registry.unregister(T.current),T.current=null),()=>{var $;($=C.current)==null||$.call(C),C.current=null}},[x,b])}}const registryContainer$1={registry:null},useInstanceEventHandler=createUseInstanceEventHandler(registryContainer$1),useTreeViewFocus=({instance:d,params:m,state:g,setState:x,models:b,rootRef:E})=>{const v=useEventCallback(D=>{const A=typeof D=="function"?D(g.focusedNodeId):D;x(L=>_extends$1({},L,{focusedNodeId:A}))}),C=reactExports.useCallback(D=>g.focusedNodeId===D,[g.focusedNodeId]),S=useEventCallback((D,A)=>{A&&(v(A),m.onNodeFocus&&m.onNodeFocus(D,A))});populateInstance(d,{isNodeFocused:C,focusNode:S}),useInstanceEventHandler(d,"removeNode",({id:D})=>{v(A=>A===D&&E.current===ownerDocument(E.current).activeElement?d.getChildrenIds(null)[0]:A)});const T=D=>A=>{var L;if((L=D.onFocus)==null||L.call(D,A),A.target===A.currentTarget){const N=j=>{const B=d.getNode(j);return B&&(B.parentId==null||d.isNodeExpanded(B.parentId))};let Y;Array.isArray(b.selected.value)?Y=b.selected.value.find(N):b.selected.value!=null&&N(b.selected.value)&&(Y=b.selected.value),Y==null&&(Y=d.getNavigableChildrenIds(null)[0]),d.focusNode(A,Y)}},$=D=>A=>{var L;(L=D.onBlur)==null||L.call(D,A),v(null)},k=d.getNode(g.focusedNodeId),I=k?k.idAttribute:null;return{getRootProps:D=>({onFocus:T(D),onBlur:$(D),"aria-activedescendant":I!=null?I:void 0})}};useTreeViewFocus.getInitialState=()=>({focusedNodeId:null});useTreeViewFocus.getDefaultizedParams=d=>{var m;return _extends$1({},d,{disabledItemsFocusable:(m=d.disabledItemsFocusable)!=null?m:!1})};function isPrintableCharacter(d){return d&&d.length===1&&d.match(/\S/)}function findNextFirstChar(d,m,g){for(let x=m;x<d.length;x+=1)if(g===d[x])return x;return-1}const useTreeViewKeyboardNavigation=({instance:d,params:m,state:g})=>{const b=useTheme$1().direction==="rtl",E=reactExports.useRef({}),v=useEventCallback((D,A)=>(E.current[D]=A,()=>{const L=_extends$1({},E.current);delete L[D],E.current=L}));populateInstance(d,{mapFirstChar:v});const C=D=>(g.focusedNodeId!=null&&d.isNodeExpandable(g.focusedNodeId)&&(d.isNodeExpanded(g.focusedNodeId)?d.focusNode(D,getNextNode(d,g.focusedNodeId)):d.isNodeDisabled(g.focusedNodeId)||d.toggleNodeExpansion(D,g.focusedNodeId)),!0),S=D=>{if(g.focusedNodeId==null)return!1;if(d.isNodeExpanded(g.focusedNodeId)&&!d.isNodeDisabled(g.focusedNodeId))return d.toggleNodeExpansion(D,g.focusedNodeId),!0;const A=d.getNode(g.focusedNodeId).parentId;return A?(d.focusNode(D,A),!0):!1},T=(D,A,L)=>{let N,Y;const j=L.toLowerCase(),B=[],z=[];Object.keys(E.current).forEach(V=>{const U=d.getNode(V),W=U.parentId?d.isNodeExpanded(U.parentId):!0,J=m.disabledItemsFocusable?!1:d.isNodeDisabled(V);W&&!J&&(B.push(V),z.push(E.current[V]))}),N=B.indexOf(A)+1,N>=B.length&&(N=0),Y=findNextFirstChar(z,N,j),Y===-1&&(Y=findNextFirstChar(z,0,j)),Y>-1&&d.focusNode(D,B[Y])},$=(D,A)=>{d.isNodeDisabled(getNextNode(d,A))||d.selectRange(D,{end:getNextNode(d,A),current:A},!0)},k=(D,A)=>{d.isNodeDisabled(getPreviousNode(d,A))||d.selectRange(D,{end:getPreviousNode(d,A),current:A},!0)},I=D=>A=>{var L;(L=D.onKeyDown)==null||L.call(D,A);let N=!1;const Y=A.key;if(A.altKey||A.currentTarget!==A.target||g.focusedNodeId==null)return;const j=A.ctrlKey||A.metaKey;switch(Y){case" ":!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&(N=!0,m.multiSelect&&A.shiftKey?d.selectRange(A,{end:g.focusedNodeId}):m.multiSelect?d.selectNode(A,g.focusedNodeId,!0):d.selectNode(A,g.focusedNodeId)),A.stopPropagation();break;case"Enter":d.isNodeDisabled(g.focusedNodeId)||(d.isNodeExpandable(g.focusedNodeId)?(d.toggleNodeExpansion(A,g.focusedNodeId),N=!0):m.disableSelection||(N=!0,m.multiSelect?d.selectNode(A,g.focusedNodeId,!0):d.selectNode(A,g.focusedNodeId))),A.stopPropagation();break;case"ArrowDown":m.multiSelect&&A.shiftKey&&!m.disableSelection&&$(A,g.focusedNodeId),d.focusNode(A,getNextNode(d,g.focusedNodeId)),N=!0;break;case"ArrowUp":m.multiSelect&&A.shiftKey&&!m.disableSelection&&k(A,g.focusedNodeId),d.focusNode(A,getPreviousNode(d,g.focusedNodeId)),N=!0;break;case"ArrowRight":b?N=S(A):N=C(A);break;case"ArrowLeft":b?N=C(A):N=S(A);break;case"Home":m.multiSelect&&j&&A.shiftKey&&!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&d.rangeSelectToFirst(A,g.focusedNodeId),d.focusNode(A,getFirstNode(d)),N=!0;break;case"End":m.multiSelect&&j&&A.shiftKey&&!m.disableSelection&&!d.isNodeDisabled(g.focusedNodeId)&&d.rangeSelectToLast(A,g.focusedNodeId),d.focusNode(A,getLastNode(d)),N=!0;break;default:Y==="*"?(d.expandAllSiblings(A,g.focusedNodeId),N=!0):m.multiSelect&&j&&Y.toLowerCase()==="a"&&!m.disableSelection?(d.selectRange(A,{start:getFirstNode(d),end:getLastNode(d)}),N=!0):!j&&!A.shiftKey&&isPrintableCharacter(Y)&&(T(A,g.focusedNodeId,Y),N=!0)}N&&(A.preventDefault(),A.stopPropagation())};return{getRootProps:D=>({onKeyDown:I(D)})}},useTreeViewContextValueBuilder=({instance:d,params:m})=>{const g=useId(m.id);return{getRootProps:()=>({id:g}),contextValue:{treeId:g,instance:d,multiSelect:m.multiSelect,disabledItemsFocusable:m.disabledItemsFocusable,icons:{defaultCollapseIcon:m.defaultCollapseIcon,defaultEndIcon:m.defaultEndIcon,defaultExpandIcon:m.defaultExpandIcon,defaultParentIcon:m.defaultParentIcon}}}},DEFAULT_TREE_VIEW_PLUGINS=[useTreeViewNodes,useTreeViewExpansion,useTreeViewSelection,useTreeViewFocus,useTreeViewKeyboardNavigation,useTreeViewContextValueBuilder],_excluded$1k=["disabledItemsFocusable","expanded","defaultExpanded","onNodeToggle","onNodeFocus","disableSelection","defaultSelected","selected","multiSelect","onNodeSelect","id","defaultCollapseIcon","defaultEndIcon","defaultExpandIcon","defaultParentIcon","children"],useUtilityClasses$$=d=>{const{classes:m}=d;return composeClasses({root:["root"]},getTreeViewUtilityClass,m)},TreeViewRoot=styled("ul",{name:"MuiTreeView",slot:"Root",overridesResolver:(d,m)=>m.root})({padding:0,margin:0,listStyle:"none",outline:0}),TreeView=reactExports.forwardRef(function(m,g){const x=useThemeProps({props:m,name:"MuiTreeView"}),b=x,E=x,{disabledItemsFocusable:v,expanded:C,defaultExpanded:S,onNodeToggle:T,onNodeFocus:$,disableSelection:k,defaultSelected:I,selected:D,multiSelect:A,onNodeSelect:L,id:N,defaultCollapseIcon:Y,defaultEndIcon:j,defaultExpandIcon:B,defaultParentIcon:z,children:V}=E,U=_objectWithoutPropertiesLoose(E,_excluded$1k),{getRootProps:W,contextValue:J}=useTreeView({disabledItemsFocusable:v,expanded:C,defaultExpanded:S,onNodeToggle:T,onNodeFocus:$,disableSelection:k,defaultSelected:I,selected:D,multiSelect:A,onNodeSelect:L,id:N,defaultCollapseIcon:Y,defaultEndIcon:j,defaultExpandIcon:B,defaultParentIcon:z,plugins:DEFAULT_TREE_VIEW_PLUGINS,rootRef:g}),Q=useUtilityClasses$$(x),X=useSlotProps({elementType:TreeViewRoot,externalSlotProps:{},externalForwardedProps:U,className:Q.root,getSlotProps:W,ownerState:b});return jsxRuntimeExports.jsx(TreeViewProvider,{value:J,children:jsxRuntimeExports.jsx(TreeViewRoot,_extends$1({},X,{children:V}))})});let lastFolder;function addFiles(){const{close:d}=newDialog({title:"Add files or folders",dialogProps:{sx:{minWidth:"min(80vw, 40em)",minHeight:"calc(100vh - 9em)"}},Content(){const m=getFolderFromSelected();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{sx:{typography:"body1",px:1,py:2}},"Selected elements will be added under ",m.isRoot?reactExports.createElement("i",{},"Home"):decodeURI(m.id)),reactExports.createElement(FilePicker,{from:lastFolder!=null?lastFolder:m.source,onSelect(x){return xt(this,null,function*(){addNodes(m,x.map(b=>({source:b,name:basename(b),id:""}))),lastFolder=x[0].slice(0,x[0].lastIndexOf("/")),d()})}}))}})}function addNodes(d,m){var g;for(const x of m)((g=x.source)!=null&&g.endsWith("/")||!x.source&&!x.url)&&(x.type="folder"),x.id||(x.id=d.id+x.name+(x.type==="folder"?"/":"")),x.parent=d;prepareVfsUndo(),addToChildrenOf(d,m),reindexVfs({select:m,sortChildren:!0})}function getFreeName(d,m){var E;const g=extname(m),x=g?m.slice(0,-g.length):m;let b=2;for(;(E=d.children)!=null&&E.find(isSameFilenameAs(m));)m=`${x} ${b++}${g}`;return m}function normalizeFilename(d){return d.toLocaleLowerCase().normalize()}function isSameFilenameAs(d){const m=normalizeFilename(d);return g=>m===normalizeFilename(typeof g=="string"?g:g.name)}function addVirtual(){return xt(this,null,function*(){try{let d=yield promptDialog("Enter folder name");if(!d)return;const m=getFolderFromSelected();if(d=getFreeName(m,d),!d)return;addNodes(m,[{name:d,id:"",type:"folder"}])}catch(d){yield alertDialog(d)}})}function addLink(){return xt(this,null,function*(){try{const d=getFolderFromSelected(),m=getFreeName(d,"new link");if(!m)return;addNodes(d,[{name:m,url:"https://example.com",id:""}]),toast("Link created","success",{onClose:()=>focusSelector("input[name=url]")})}catch(d){yield alertDialog(d)}})}function getFolderFromSelected(){const d=state.selectedFiles[0]||state.vfs;return d.type==="folder"?d:d.parent}function MenuButton(g){var x=g,{items:d}=x,m=zt(x,["items"]);const[b,E]=reactExports.useState(),v=!!b,C=reactExports.useCallback(()=>E(void 0),[]),S=reactExports.useId(),T=reactExports.useId();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Btn,Ae({id:S,"aria-controls":v?T:void 0,"aria-haspopup":!0,"aria-expanded":v?!0:void 0,onClick($){E($.currentTarget)}},m)),reactExports.createElement(Menu$2,{id:T,anchorEl:b,open:v,onClose:C,MenuListProps:{"aria-labelledby":S},children:d.map(($,k)=>reactExports.createElement(MenuItem,$t(Ae({key:k},$),{onClick(){var I;C(),(I=$.onClick)==null||I.apply(this,arguments)}})))}))}const GridApiContext=reactExports.createContext(void 0);function useGridApiContext(){const d=reactExports.useContext(GridApiContext);if(d===void 0)throw new Error(["MUI: Could not find the data grid context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the data grid."].join(`
324
324
  `));return d}const useGridApiRef=()=>reactExports.useRef({}),GridRootPropsContext=reactExports.createContext(void 0),useGridRootProps=()=>{const d=reactExports.useContext(GridRootPropsContext);if(!d)throw new Error("MUI: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.");return d},GridPrivateApiContext=reactExports.createContext(void 0);function useGridPrivateApiContext(){const d=reactExports.useContext(GridPrivateApiContext);if(d===void 0)throw new Error(["MUI: Could not find the data grid private context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the data grid."].join(`
325
325
  `));return d}const UNINITIALIZED={};function useLazyRef(d,m){const g=reactExports.useRef(UNINITIALIZED);return g.current===UNINITIALIZED&&(g.current=d(m)),g}const EMPTY$1=[];function useOnMount(d){reactExports.useEffect(d,EMPTY$1)}const buildWarning$1=(d,m="warning")=>{let g=!1;const x=Array.isArray(d)?d.join(`
326
326
  `):d;return()=>{g||(g=!0,m==="error"?console.error(x):console.warn(x))}},is$3=Object.is;function fastObjectShallowCompare(d,m){if(d===m)return!0;if(!(d instanceof Object)||!(m instanceof Object))return!1;let g=0,x=0;for(const b in d)if(g+=1,!is$3(d[b],m[b])||!(b in m))return!1;for(const b in m)x+=1;return g===x}buildWarning$1(["MUI: `useGridSelector` has been called before the initialization of the state.","This hook can only be used inside the context of the grid."]);function isOutputSelector(d){return d.acceptsApiRef}function applySelector(d,m){return isOutputSelector(m)?m(d):m(d.current.state)}const defaultCompare=Object.is,objectShallowCompare=fastObjectShallowCompare,createRefs=()=>({state:null,equals:null,selector:null}),useGridSelector=(d,m,g=defaultCompare)=>{const x=useLazyRef(createRefs),b=x.current.selector!==null,[E,v]=reactExports.useState(b?null:applySelector(d,m));return x.current.state=E,x.current.equals=g,x.current.selector=m,useOnMount(()=>d.current.store.subscribe(()=>{const C=applySelector(d,x.current.selector);x.current.equals(x.current.state,C)||(x.current.state=C,v(C))})),E};function getDataGridUtilityClass(d){return generateUtilityClass("MuiDataGrid",d)}const gridClasses=generateUtilityClasses("MuiDataGrid",["actionsCell","aggregationColumnHeader","aggregationColumnHeader--alignLeft","aggregationColumnHeader--alignCenter","aggregationColumnHeader--alignRight","aggregationColumnHeaderLabel","autoHeight","autosizing","booleanCell","cell--editable","cell--editing","cell--textCenter","cell--textLeft","cell--textRight","cell--withRenderer","cell--rangeTop","cell--rangeBottom","cell--rangeLeft","cell--rangeRight","cell--selectionMode","cell","cellContent","cellCheckbox","cellSkeleton","checkboxInput","columnHeader--alignCenter","columnHeader--alignLeft","columnHeader--alignRight","columnHeader--dragging","columnHeader--moving","columnHeader--numeric","columnHeader--sortable","columnHeader--sorted","columnHeader--filtered","columnHeader","columnHeaderCheckbox","columnHeaderDraggableContainer","columnHeaderDropZone","columnHeaderTitle","columnHeaderTitleContainer","columnHeaderTitleContainerContent","columnGroupHeader","columnHeader--filledGroup","columnHeader--emptyGroup","columnHeader--showColumnBorder","columnHeaders","columnHeadersInner","columnHeadersInner--scrollable","columnSeparator--resizable","columnSeparator--resizing","columnSeparator--sideLeft","columnSeparator--sideRight","columnSeparator","columnsPanel","columnsPanelRow","detailPanel","detailPanels","detailPanelToggleCell","detailPanelToggleCell--expanded","footerCell","panel","panelHeader","panelWrapper","panelContent","panelFooter","paper","editBooleanCell","editInputCell","filterForm","filterFormDeleteIcon","filterFormLogicOperatorInput","filterFormColumnInput","filterFormOperatorInput","filterFormValueInput","filterIcon","footerContainer","headerFilterRow","iconButtonContainer","iconSeparator","main","menu","menuIcon","menuIconButton","menuOpen","menuList","overlay","overlayWrapper","overlayWrapperInner","root","root--densityStandard","root--densityComfortable","root--densityCompact","root--disableUserSelection","row","row--editable","row--editing","row--lastVisible","row--dragging","row--dynamicHeight","row--detailPanelExpanded","rowReorderCellPlaceholder","rowCount","rowReorderCellContainer","rowReorderCell","rowReorderCell--draggable","scrollArea--left","scrollArea--right","scrollArea","selectedRowCount","sortIcon","toolbarContainer","toolbarFilterList","virtualScroller","virtualScrollerContent","virtualScrollerContent--overflowed","virtualScrollerRenderZone","pinnedColumns","pinnedColumns--left","pinnedColumns--right","pinnedColumnHeaders","pinnedColumnHeaders--left","pinnedColumnHeaders--right","withBorderColor","cell--withRightBorder","columnHeader--withRightBorder","treeDataGroupingCell","treeDataGroupingCellToggle","groupingCriteriaCell","groupingCriteriaCellToggle","pinnedRows","pinnedRows--top","pinnedRows--bottom","pinnedRowsRenderZone"]);var NOT_FOUND="NOT_FOUND";function createSingletonCache(d){var m;return{get:function(x){return m&&d(m.key,x)?m.value:NOT_FOUND},put:function(x,b){m={key:x,value:b}},getEntries:function(){return m?[m]:[]},clear:function(){m=void 0}}}function createLruCache(d,m){var g=[];function x(C){var S=g.findIndex(function($){return m(C,$.key)});if(S>-1){var T=g[S];return S>0&&(g.splice(S,1),g.unshift(T)),T.value}return NOT_FOUND}function b(C,S){x(C)===NOT_FOUND&&(g.unshift({key:C,value:S}),g.length>d&&g.pop())}function E(){return g}function v(){g=[]}return{get:x,put:b,getEntries:E,clear:v}}var defaultEqualityCheck=function(m,g){return m===g};function createCacheKeyComparator(d){return function(g,x){if(g===null||x===null||g.length!==x.length)return!1;for(var b=g.length,E=0;E<b;E++)if(!d(g[E],x[E]))return!1;return!0}}function defaultMemoize(d,m){var g=typeof m=="object"?m:{equalityCheck:m},x=g.equalityCheck,b=x===void 0?defaultEqualityCheck:x,E=g.maxSize,v=E===void 0?1:E,C=g.resultEqualityCheck,S=createCacheKeyComparator(b),T=v===1?createSingletonCache(S):createLruCache(v,S);function $(){var k=T.get(arguments);if(k===NOT_FOUND){if(k=d.apply(null,arguments),C){var I=T.getEntries(),D=I.find(function(A){return C(A.value,k)});D&&(k=D.value)}T.put(arguments,k)}return k}return $.clearCache=function(){return T.clear()},$}function getDependencies(d){var m=Array.isArray(d[0])?d[0]:d;if(!m.every(function(x){return typeof x=="function"})){var g=m.map(function(x){return typeof x=="function"?"function "+(x.name||"unnamed")+"()":typeof x}).join(", ");throw new Error("createSelector expects all input-selectors to be functions, but received the following types: ["+g+"]")}return m}function createSelectorCreator(d){for(var m=arguments.length,g=new Array(m>1?m-1:0),x=1;x<m;x++)g[x-1]=arguments[x];var b=function(){for(var v=arguments.length,C=new Array(v),S=0;S<v;S++)C[S]=arguments[S];var T=0,$,k={memoizeOptions:void 0},I=C.pop();if(typeof I=="object"&&(k=I,I=C.pop()),typeof I!="function")throw new Error("createSelector expects an output function after the inputs, but received: ["+typeof I+"]");var D=k,A=D.memoizeOptions,L=A===void 0?g:A,N=Array.isArray(L)?L:[L],Y=getDependencies(C),j=d.apply(void 0,[function(){return T++,I.apply(null,arguments)}].concat(N)),B=d(function(){for(var V=[],U=Y.length,W=0;W<U;W++)V.push(Y[W].apply(null,arguments));return $=j.apply(null,V),$});return Object.assign(B,{resultFunc:I,memoizedResultFunc:j,dependencies:Y,lastResult:function(){return $},recomputations:function(){return T},resetRecomputations:function(){return T=0}}),B};return b}var createSelector$1=createSelectorCreator(defaultMemoize);const cacheContainer={cache:new WeakMap};buildWarning$1(["MUI: A selector was called without passing the instance ID, which may impact the performance of the grid.","To fix, call it with `apiRef`, e.g. `mySelector(apiRef)`, or pass the instance ID explicitly, e.g. `mySelector(state, apiRef.current.instanceId)`."]);function checkIsAPIRef(d){return"current"in d&&"instanceId"in d.current}const DEFAULT_INSTANCE_ID={id:"default"},createSelector=(d,m,g,x,b,E,...v)=>{if(v.length>0)throw new Error("Unsupported number of selectors");let C;if(d&&m&&g)C=(S,T)=>{const $=checkIsAPIRef(S),k=T!=null?T:$?S.current.instanceId:DEFAULT_INSTANCE_ID,I=$?S.current.state:S,D=d(I,k),A=m(I,k);return g(D,A)};else if(d&&m)C=(S,T)=>{const $=checkIsAPIRef(S),k=T!=null?T:$?S.current.instanceId:DEFAULT_INSTANCE_ID,I=$?S.current.state:S,D=d(I,k);return m(D)};else throw new Error("Missing arguments");return C.acceptsApiRef=!0,C},createSelectorMemoized=(...d)=>{const m=(...g)=>{var x,b;const[E,v]=g,C=checkIsAPIRef(E),S=C?E.current.instanceId:v!=null?v:DEFAULT_INSTANCE_ID,T=C?E.current.state:E,{cache:$}=cacheContainer;if($.get(S)&&(x=$.get(S))!=null&&x.get(d)){var k;return(k=$.get(S))==null?void 0:k.get(d)(T,S)}const I=createSelector$1(...d);return $.get(S)||$.set(S,new Map),(b=$.get(S))==null||b.set(d,I),I(T,S)};return m.acceptsApiRef=!0,m},gridColumnsStateSelector=d=>d.columns,gridColumnFieldsSelector=createSelector(gridColumnsStateSelector,d=>d.orderedFields),gridColumnLookupSelector=createSelector(gridColumnsStateSelector,d=>d.lookup),gridColumnDefinitionsSelector=createSelectorMemoized(gridColumnFieldsSelector,gridColumnLookupSelector,(d,m)=>d.map(g=>m[g])),gridColumnVisibilityModelSelector=createSelector(gridColumnsStateSelector,d=>d.columnVisibilityModel),gridVisibleColumnDefinitionsSelector=createSelectorMemoized(gridColumnDefinitionsSelector,gridColumnVisibilityModelSelector,(d,m)=>d.filter(g=>m[g.field]!==!1)),gridVisibleColumnFieldsSelector=createSelectorMemoized(gridVisibleColumnDefinitionsSelector,d=>d.map(m=>m.field)),gridColumnPositionsSelector=createSelectorMemoized(gridVisibleColumnDefinitionsSelector,d=>{const m=[];let g=0;for(let x=0;x<d.length;x+=1)m.push(g),g+=d[x].computedWidth;return m}),gridColumnsTotalWidthSelector=createSelector(gridVisibleColumnDefinitionsSelector,gridColumnPositionsSelector,(d,m)=>{const g=d.length;return g===0?0:m[g-1]+d[g-1].computedWidth}),gridFilterableColumnDefinitionsSelector=createSelectorMemoized(gridColumnDefinitionsSelector,d=>d.filter(m=>m.filterable)),gridFilterableColumnLookupSelector=createSelectorMemoized(gridColumnDefinitionsSelector,d=>d.reduce((m,g)=>(g.filterable&&(m[g.field]=g),m),{})),gridColumnGroupingSelector=d=>d.columnGrouping,gridColumnGroupsUnwrappedModelSelector=createSelectorMemoized(gridColumnGroupingSelector,d=>{var m;return(m=d==null?void 0:d.unwrappedGroupingModel)!=null?m:{}}),gridColumnGroupsLookupSelector=createSelectorMemoized(gridColumnGroupingSelector,d=>{var m;return(m=d==null?void 0:d.lookup)!=null?m:{}}),gridColumnGroupsHeaderStructureSelector=createSelectorMemoized(gridColumnGroupingSelector,d=>{var m;return(m=d==null?void 0:d.headerStructure)!=null?m:[]}),gridColumnGroupsHeaderMaxDepthSelector=createSelector(gridColumnGroupingSelector,d=>{var m;return(m=d==null?void 0:d.maxDepth)!=null?m:0}),gridRowsStateSelector=d=>d.rows,gridRowCountSelector=createSelector(gridRowsStateSelector,d=>d.totalRowCount),gridRowsLoadingSelector=createSelector(gridRowsStateSelector,d=>d.loading),gridTopLevelRowCountSelector=createSelector(gridRowsStateSelector,d=>d.totalTopLevelRowCount),gridRowsLookupSelector=createSelector(gridRowsStateSelector,d=>d.dataRowIdToModelLookup),gridRowsDataRowIdToIdLookupSelector=createSelector(gridRowsStateSelector,d=>d.dataRowIdToIdLookup),gridRowTreeSelector=createSelector(gridRowsStateSelector,d=>d.tree),gridRowGroupingNameSelector=createSelector(gridRowsStateSelector,d=>d.groupingName),gridRowTreeDepthsSelector=createSelector(gridRowsStateSelector,d=>d.treeDepths),gridRowMaximumTreeDepthSelector=createSelectorMemoized(gridRowsStateSelector,d=>{const m=Object.entries(d.treeDepths);return m.length===0?1:m.filter(([,g])=>g>0).map(([g])=>Number(g)).sort((g,x)=>x-g)[0]+1}),gridDataRowIdsSelector=createSelector(gridRowsStateSelector,d=>d.dataRowIds),gridAdditionalRowGroupsSelector=createSelector(gridRowsStateSelector,d=>d==null?void 0:d.additionalRowGroups),gridPinnedRowsSelector=createSelectorMemoized(gridAdditionalRowGroupsSelector,d=>{var m,g;const x=d==null?void 0:d.pinnedRows;return{bottom:x==null||(m=x.bottom)==null?void 0:m.map(b=>{var E;return{id:b.id,model:(E=b.model)!=null?E:{}}}),top:x==null||(g=x.top)==null?void 0:g.map(b=>{var E;return{id:b.id,model:(E=b.model)!=null?E:{}}})}}),gridPinnedRowsCountSelector=createSelector(gridPinnedRowsSelector,d=>{var m,g;return((d==null||(m=d.top)==null?void 0:m.length)||0)+((d==null||(g=d.bottom)==null?void 0:g.length)||0)}),useGridAriaAttributes=()=>{var d;const m=useGridPrivateApiContext(),g=useGridRootProps(),x=useGridSelector(m,gridVisibleColumnDefinitionsSelector),b=useGridSelector(m,gridRowCountSelector),E=useGridSelector(m,gridColumnGroupsHeaderMaxDepthSelector),v=useGridSelector(m,gridPinnedRowsCountSelector);let C="grid";return(d=g.experimentalFeatures)!=null&&d.ariaV7&&g.treeData&&(C="treegrid"),{role:C,"aria-colcount":x.length,"aria-rowcount":E+1+v+b,"aria-multiselectable":!g.disableMultipleRowSelection}},useUtilityClasses$_=d=>{const{classes:m}=d;return composeClasses({root:["main"]},getDataGridUtilityClass,m)},GridMainContainerRoot=styled$1("div",{name:"MuiDataGrid",slot:"Main",overridesResolver:(d,m)=>m.main})(()=>({position:"relative",flexGrow:1,display:"flex",flexDirection:"column",overflow:"hidden"})),GridMainContainer=reactExports.forwardRef((d,m)=>{var g;const x=useGridRootProps(),b=useUtilityClasses$_(x),E=(g=x.experimentalFeatures)!=null&&g.ariaV7?useGridAriaAttributes:null,v=typeof E=="function"?E():null;return jsxRuntimeExports.jsx(GridMainContainerRoot,_extends$1({ref:m,className:b.root,ownerState:x},v,{children:d.children}))}),gridSortingStateSelector=d=>d.sorting,gridSortedRowIdsSelector=createSelector(gridSortingStateSelector,d=>d.sortedRows),gridSortedRowEntriesSelector=createSelectorMemoized(gridSortedRowIdsSelector,gridRowsLookupSelector,(d,m)=>d.map(g=>{var x;return{id:g,model:(x=m[g])!=null?x:{}}})),gridSortModelSelector=createSelector(gridSortingStateSelector,d=>d.sortModel),gridSortColumnLookupSelector=createSelectorMemoized(gridSortModelSelector,d=>d.reduce((g,x,b)=>(g[x.field]={sortDirection:x.sort,sortIndex:d.length>1?b+1:void 0},g),{})),gridFilterStateSelector=d=>d.filter,gridFilterModelSelector=createSelector(gridFilterStateSelector,d=>d.filterModel);createSelector(gridFilterModelSelector,d=>d.quickFilterValues);const gridVisibleRowsLookupSelector=d=>d.visibleRowsLookup,gridFilteredRowsLookupSelector=createSelector(gridFilterStateSelector,d=>d.filteredRowsLookup);createSelector(gridFilterStateSelector,d=>d.filteredDescendantCountLookup);const gridExpandedSortedRowEntriesSelector=createSelectorMemoized(gridVisibleRowsLookupSelector,gridSortedRowEntriesSelector,(d,m)=>m.filter(g=>d[g.id]!==!1)),gridExpandedSortedRowIdsSelector=createSelectorMemoized(gridExpandedSortedRowEntriesSelector,d=>d.map(m=>m.id)),gridFilteredSortedRowEntriesSelector=createSelectorMemoized(gridFilteredRowsLookupSelector,gridSortedRowEntriesSelector,(d,m)=>m.filter(g=>d[g.id]!==!1)),gridFilteredSortedRowIdsSelector=createSelectorMemoized(gridFilteredSortedRowEntriesSelector,d=>d.map(m=>m.id)),gridFilteredSortedTopLevelRowEntriesSelector=createSelectorMemoized(gridExpandedSortedRowEntriesSelector,gridRowTreeSelector,gridRowMaximumTreeDepthSelector,(d,m,g)=>g<2?d:d.filter(x=>{var b;return((b=m[x.id])==null?void 0:b.depth)===0})),gridExpandedRowCountSelector=createSelector(gridExpandedSortedRowEntriesSelector,d=>d.length),gridFilteredTopLevelRowCountSelector=createSelector(gridFilteredSortedTopLevelRowEntriesSelector,d=>d.length),gridFilterActiveItemsSelector=createSelectorMemoized(gridFilterModelSelector,gridColumnLookupSelector,(d,m)=>{var g;return(g=d.items)==null?void 0:g.filter(x=>{var b,E;if(!x.field)return!1;const v=m[x.field];if(!(v!=null&&v.filterOperators)||(v==null||(b=v.filterOperators)==null?void 0:b.length)===0)return!1;const C=v.filterOperators.find(S=>S.value===x.operator);return C?!C.InputComponent||x.value!=null&&((E=x.value)==null?void 0:E.toString())!=="":!1})}),gridFilterActiveItemsLookupSelector=createSelectorMemoized(gridFilterActiveItemsSelector,d=>d.reduce((g,x)=>(g[x.field]?g[x.field].push(x):g[x.field]=[x],g),{})),gridFocusStateSelector=d=>d.focus,gridFocusCellSelector=createSelector(gridFocusStateSelector,d=>d.cell),gridFocusColumnHeaderSelector=createSelector(gridFocusStateSelector,d=>d.columnHeader);createSelector(gridFocusStateSelector,d=>d.columnHeaderFilter);const unstable_gridFocusColumnGroupHeaderSelector=createSelector(gridFocusStateSelector,d=>d.columnGroupHeader),gridTabIndexStateSelector=d=>d.tabIndex,gridTabIndexCellSelector=createSelector(gridTabIndexStateSelector,d=>d.cell),gridTabIndexColumnHeaderSelector=createSelector(gridTabIndexStateSelector,d=>d.columnHeader);createSelector(gridTabIndexStateSelector,d=>d.columnHeaderFilter);const unstable_gridTabIndexColumnGroupHeaderSelector=createSelector(gridTabIndexStateSelector,d=>d.columnGroupHeader),gridDensitySelector=d=>d.density,gridDensityValueSelector=createSelector(gridDensitySelector,d=>d.value),gridDensityFactorSelector=createSelector(gridDensitySelector,d=>d.factor),gridColumnMenuSelector=d=>d.columnMenu;function GridBody(d){const{VirtualScrollerComponent:m,ColumnHeadersProps:g,children:x}=d,b=useGridPrivateApiContext(),E=useGridRootProps(),v=reactExports.useRef(null),C=useGridSelector(b,gridVisibleColumnDefinitionsSelector),S=useGridSelector(b,gridFilterActiveItemsLookupSelector),T=useGridSelector(b,gridSortColumnLookupSelector),$=useGridSelector(b,gridColumnPositionsSelector),k=useGridSelector(b,gridTabIndexColumnHeaderSelector),I=useGridSelector(b,gridTabIndexCellSelector),D=useGridSelector(b,unstable_gridTabIndexColumnGroupHeaderSelector),A=useGridSelector(b,gridFocusColumnHeaderSelector),L=useGridSelector(b,unstable_gridFocusColumnGroupHeaderSelector),N=useGridSelector(b,gridDensityFactorSelector),Y=useGridSelector(b,gridColumnGroupsHeaderMaxDepthSelector),j=useGridSelector(b,gridColumnMenuSelector),B=useGridSelector(b,gridColumnVisibilityModelSelector),z=useGridSelector(b,gridColumnGroupsHeaderStructureSelector),V=!(D===null&&k===null&&I===null);useEnhancedEffect(()=>{b.current.computeSizeAndPublishResizeEvent();const X=v.current;if(typeof ResizeObserver=="undefined")return()=>{};let Z;const oe=new ResizeObserver(()=>{Z=requestAnimationFrame(()=>{b.current.computeSizeAndPublishResizeEvent()})});return X&&oe.observe(X),()=>{Z&&window.cancelAnimationFrame(Z),X&&oe.unobserve(X)}},[b]);const U=reactExports.useRef(null),W=reactExports.useRef(null),J=reactExports.useRef(null);b.current.register("private",{columnHeadersContainerElementRef:W,columnHeadersElementRef:U,virtualScrollerRef:J,mainElementRef:v});const Q=!!b.current.getRootDimensions();return jsxRuntimeExports.jsxs(GridMainContainer,{ref:v,children:[jsxRuntimeExports.jsx(E.slots.columnHeaders,_extends$1({ref:W,innerRef:U,visibleColumns:C,filterColumnLookup:S,sortColumnLookup:T,columnPositions:$,columnHeaderTabIndexState:k,columnGroupHeaderTabIndexState:D,columnHeaderFocus:A,columnGroupHeaderFocus:L,densityFactor:N,headerGroupingMaxDepth:Y,columnMenuState:j,columnVisibility:B,columnGroupsHeaderStructure:z,hasOtherElementInTabSequence:V},g)),Q&&jsxRuntimeExports.jsx(m,{ref:J}),x]})}function GridFooterPlaceholder(){var d;const m=useGridRootProps();return m.hideFooter?null:jsxRuntimeExports.jsx(m.slots.footer,_extends$1({},(d=m.slotProps)==null?void 0:d.footer))}const GRID_ROOT_GROUP_ID="auto-generated-group-node-root",GRID_ID_AUTOGENERATED=Symbol("mui.id_autogenerated"),buildRootGroup=()=>({type:"group",id:GRID_ROOT_GROUP_ID,depth:-1,groupingField:null,groupingKey:null,isAutoGenerated:!0,children:[],childrenFromPath:{},childrenExpanded:!0,parent:null});function checkGridRowIdIsValid(d,m,g="A row was provided without id in the rows prop:"){if(d==null)throw new Error(["MUI: The data grid component requires all rows to have a unique `id` property.","Alternatively, you can use the `getRowId` prop to specify a custom id for each row.",g,JSON.stringify(m)].join(`
@@ -352,7 +352,7 @@ return result$$;`.replaceAll("$$",String(filterItemsApplierId)));return filterIt
352
352
  `)),x.current=!0),W.width===0&&!x.current&&!J&&(g.error(["The parent DOM element of the data grid has an empty width.","Please make sure that this element has an intrinsic width.","The grid displays with a width of 0px.","","More details: https://mui.com/r/x-data-grid-no-dimensions."].join(`
353
353
  `)),x.current=!0),V.current){I(W),V.current=!1;return}D(W)},[m.autoHeight,D,g]);useEnhancedEffect(()=>$(),[$]),useGridApiOptionHandler(d,"sortedRowsSet",$),useGridApiOptionHandler(d,"paginationModelChange",$),useGridApiOptionHandler(d,"columnsChange",$),useGridApiEventHandler(d,"resize",U),useGridApiOptionHandler(d,"debouncedResize",m.onResize)}const _excluded$F=["style"],_excluded2$6=["style"];function binarySearch(d,m,g=0,x=m.length){if(m.length<=0)return-1;if(g>=x)return g;const b=g+Math.floor((x-g)/2),E=m[b];return d<=E?binarySearch(d,m,g,b):binarySearch(d,m,b+1,x)}function exponentialSearch(d,m,g){let x=1;for(;g<m.length&&Math.abs(m[g])<d;)g+=x,x*=2;return binarySearch(d,m,Math.floor(g/2),Math.min(g,m.length))}const getRenderableIndexes=({firstIndex:d,lastIndex:m,buffer:g,minFirstIndex:x,maxLastIndex:b})=>[clamp(d-g,x,b),clamp(m+g,x,b)],areRenderContextsEqual=(d,m)=>d===m?!0:d.firstRowIndex===m.firstRowIndex&&d.lastRowIndex===m.lastRowIndex&&d.firstColumnIndex===m.firstColumnIndex&&d.lastColumnIndex===m.lastColumnIndex,MEMOIZE_OPTIONS={maxSize:3},useGridVirtualScroller=d=>{const m=useGridPrivateApiContext(),g=useGridRootProps(),x=useGridSelector(m,gridVisibleColumnDefinitionsSelector),b=useGridSelector(m,gridVirtualizationEnabledSelector),E=useGridSelector(m,gridVirtualizationColumnEnabledSelector),{ref:v,onRenderZonePositioning:C,renderZoneMinColumnIndex:S=0,renderZoneMaxColumnIndex:T=x.length,getRowProps:$}=d,k=useTheme$1(),I=useGridSelector(m,gridColumnPositionsSelector),D=useGridSelector(m,gridColumnsTotalWidthSelector),A=useGridSelector(m,gridFocusCellSelector),L=useGridSelector(m,gridTabIndexCellSelector),N=useGridSelector(m,gridRowsMetaSelector),Y=useGridSelector(m,selectedIdsLookupSelector),j=useGridVisibleRows(m,g),B=reactExports.useRef(null),z=reactExports.useRef(null),V=useForkRef(v,z),[U,W]=reactExports.useState(null),J=reactExports.useRef(U),Q=reactExports.useRef({top:0,left:0}),[X,Z]=reactExports.useState({width:null,height:null}),oe=reactExports.useRef(D),[ie,ee]=reactExports.useState(null),re=reactExports.useRef(Object.create(null)),ce=reactExports.useRef(),fe=reactExports.useRef(),ae=reactExports.useRef(defaultMemoize((Ie,Be,He,Ve,rt,Fe)=>{let ot;const ke=Ie.slice(Be,He);return Fe>-1&&(Be>Fe&&Fe>=Ve||He<Fe&&Fe<rt)&&(ot=Fe),{focusedCellColumnIndexNotInRange:ot,renderedColumns:ke}},MEMOIZE_OPTIONS)),ue=reactExports.useMemo(()=>A!==null?x.findIndex(Ie=>Ie.field===A.field):-1,[A,x]),pe=reactExports.useCallback(()=>{if(!b)return{firstRowIndex:0,lastRowIndex:j.rows.length,firstColumnIndex:0,lastColumnIndex:x.length};const{top:Ie,left:Be}=Q.current,He=Math.min(getNearestIndexToRender(m,j,N,Ie),N.positions.length-1),Ve=g.autoHeight?He+j.rows.length:getNearestIndexToRender(m,j,N,Ie+X.height);let rt=0,Fe=I.length;if(E){let ot=!1;const[ke,je]=getRenderableIndexes({firstIndex:He,lastIndex:Ve,minFirstIndex:0,maxLastIndex:j.rows.length,buffer:g.rowBuffer});for(let Ke=ke;Ke<je&&!ot;Ke+=1){const Xe=j.rows[Ke];ot=m.current.rowHasAutoHeight(Xe.id)}ot||(rt=binarySearch(Math.abs(Be),I),Fe=binarySearch(Math.abs(Be)+X.width,I))}return{firstRowIndex:He,lastRowIndex:Ve,firstColumnIndex:rt,lastColumnIndex:Fe}},[b,E,N,g.autoHeight,g.rowBuffer,j,I,x.length,m,X]);useEnhancedEffect(()=>{b?(z.current.scrollLeft=0,z.current.scrollTop=0):B.current.style.transform="translate3d(0px, 0px, 0px)"},[b]),useEnhancedEffect(()=>{Z({width:z.current.clientWidth,height:z.current.clientHeight})},[N.currentPageTotalHeight]);const ge=reactExports.useCallback(()=>{z.current&&Z({width:z.current.clientWidth,height:z.current.clientHeight})},[]);useGridApiEventHandler(m,"debouncedResize",ge);const ye=reactExports.useCallback(Ie=>{const[Be,He]=getRenderableIndexes({firstIndex:Ie.firstRowIndex,lastIndex:Ie.lastRowIndex,minFirstIndex:0,maxLastIndex:j.rows.length,buffer:g.rowBuffer}),[Ve]=getRenderableIndexes({firstIndex:Ie.firstColumnIndex,lastIndex:Ie.lastColumnIndex,minFirstIndex:S,maxLastIndex:T,buffer:g.columnBuffer}),rt=getFirstNonSpannedColumnToRender({firstColumnToRender:Ve,apiRef:m,firstRowToRender:Be,lastRowToRender:He,visibleRows:j.rows}),Fe=k.direction==="ltr"?1:-1,ot=gridRowsMetaSelector(m.current.state).positions[Be],ke=Fe*gridColumnPositionsSelector(m)[rt];B.current.style.transform=`translate3d(${ke}px, ${ot}px, 0px)`,typeof C=="function"&&C({top:ot,left:ke})},[m,j.rows,C,S,T,g.columnBuffer,g.rowBuffer,k.direction]),Ce=reactExports.useCallback(()=>J.current,[]),Ee=reactExports.useCallback(Ie=>{if(J.current&&areRenderContextsEqual(Ie,J.current)){ye(Ie);return}W(Ie),ye(Ie);const[Be,He]=getRenderableIndexes({firstIndex:Ie.firstRowIndex,lastIndex:Ie.lastRowIndex,minFirstIndex:0,maxLastIndex:j.rows.length,buffer:g.rowBuffer});m.current.publishEvent("renderedRowsIntervalChange",{firstRowToRender:Be,lastRowToRender:He}),J.current=Ie},[m,W,J,j.rows.length,g.rowBuffer,ye]);useEnhancedEffect(()=>{if(X.width==null)return;const Ie=pe();Ee(Ie);const{top:Be,left:He}=Q.current,Ve={top:Be,left:He,renderContext:Ie};m.current.publishEvent("scrollPositionChange",Ve)},[m,pe,X.width,Ee]);const ve=useEventCallback(Ie=>{const{scrollTop:Be,scrollLeft:He}=Ie.currentTarget;if(Q.current.top=Be,Q.current.left=He,!J.current||Be<0||k.direction==="ltr"&&He<0||k.direction==="rtl"&&He>0)return;const Ve=b?pe():J.current,rt=Math.abs(Ve.firstRowIndex-J.current.firstRowIndex),Fe=Math.abs(Ve.lastRowIndex-J.current.lastRowIndex),ot=Math.abs(Ve.firstColumnIndex-J.current.firstColumnIndex),ke=Math.abs(Ve.lastColumnIndex-J.current.lastColumnIndex),je=rt>=g.rowThreshold||Fe>=g.rowThreshold||ot>=g.columnThreshold||ke>=g.columnThreshold||oe.current!==D;m.current.publishEvent("scrollPositionChange",{top:Be,left:He,renderContext:je?Ve:J.current},Ie),je&&(reactDomExports.flushSync(()=>{Ee(Ve)}),oe.current=D)}),Pe=useEventCallback(Ie=>{m.current.publishEvent("virtualScrollerWheel",{},Ie)}),Me=useEventCallback(Ie=>{m.current.publishEvent("virtualScrollerTouchMove",{},Ie)}),Re=reactExports.useMemo(()=>A!==null?j.rows.findIndex(Ie=>Ie.id===A.id):-1,[A,j.rows]);useGridApiEventHandler(m,"rowMouseOver",(Ie,Be)=>{var He;Be.currentTarget.contains(Be.relatedTarget)||ee((He=Ie.id)!=null?He:null)}),useGridApiEventHandler(m,"rowMouseOut",(Ie,Be)=>{Be.currentTarget.contains(Be.relatedTarget)||ee(null)});const De=(Ie={renderContext:U})=>{var Be;const{onRowRender:He,renderContext:Ve,minFirstColumn:rt=S,maxLastColumn:Fe=T,availableSpace:ot=X.width,rowIndexOffset:ke=0,position:je="center"}=Ie;if(!Ve||ot==null)return null;const Ke=b?g.rowBuffer:0,Xe=b?g.columnBuffer:0,[st,yt]=getRenderableIndexes({firstIndex:Ve.firstRowIndex,lastIndex:Ve.lastRowIndex,minFirstIndex:0,maxLastIndex:j.rows.length,buffer:Ke}),Je=[];if(Ie.rows)Ie.rows.forEach(Jt=>{Je.push(Jt),m.current.calculateColSpan({rowId:Jt.id,minFirstColumn:rt,maxLastColumn:Fe,columns:x})});else{if(!j.range)return null;for(let Jt=st;Jt<yt;Jt+=1){const rr=j.rows[Jt];Je.push(rr),m.current.calculateColSpan({rowId:rr.id,minFirstColumn:rt,maxLastColumn:Fe,columns:x})}}let gt=!1;if(Re>-1){const Jt=j.rows[Re];(st>Re||yt<Re)&&(gt=!0,Re>st?Je.push(Jt):Je.unshift(Jt),m.current.calculateColSpan({rowId:Jt.id,minFirstColumn:rt,maxLastColumn:Fe,columns:x}))}const[St,dt]=getRenderableIndexes({firstIndex:Ve.firstColumnIndex,lastIndex:Ve.lastColumnIndex,minFirstIndex:rt,maxLastIndex:Fe,buffer:Xe}),jt=getFirstNonSpannedColumnToRender({firstColumnToRender:St,apiRef:m,firstRowToRender:st,lastRowToRender:yt,visibleRows:j.rows});let Wt=!1;(jt>ue||dt<ue)&&(Wt=!0);const{focusedCellColumnIndexNotInRange:Xt,renderedColumns:Pt}=ae.current(x,jt,dt,rt,Fe,Wt?ue:-1),Gt=((Be=g.slotProps)==null?void 0:Be.row)||{},{style:Ct}=Gt,Lt=_objectWithoutPropertiesLoose(Gt,_excluded$F);(ce.current!==$||fe.current!==Ct)&&(re.current=Object.create(null));const Zt=[];let lr=!1;for(let Jt=0;Jt<Je.length;Jt+=1){var vr;const{id:rr,model:Or}=Je[Jt],xr=gt&&A.id===rr,qr=gt?st+Jt===j.rows.length:st+Jt===j.rows.length-1,yn=m.current.rowHasAutoHeight(rr)?"auto":m.current.unstable_getRowHeight(rr);let Qr;Y[rr]==null?Qr=!1:Qr=m.current.isRowSelectable(rr),He&&He(rr);const Fo=A!==null&&A.id===rr?A.field:null,Pn=Xt!==void 0&&x[Xt],Fr=Pn&&Fo?[Pn,...Pt]:Pt;let wr=null;L!==null&&L.id===rr&&(wr=m.current.getCellParams(rr,L.field).cellMode==="view"?L.field:null);const zr=typeof $=="function"&&$(rr,Or)||{},{style:sn}=zr,vn=_objectWithoutPropertiesLoose(zr,_excluded2$6);if(!re.current[rr]){const En=_extends$1({},sn,Ct);re.current[rr]=En}let Wn=ke+((j==null||(vr=j.range)==null?void 0:vr.firstRowIndex)||0)+st+Jt;gt&&(A==null?void 0:A.id)===rr?(Wn=Re,lr=!0):lr&&(Wn-=1),Zt.push(jsxRuntimeExports.jsx(g.slots.row,_extends$1({row:Or,rowId:rr,focusedCellColumnIndexNotInRange:Xt,isNotVisible:xr,rowHeight:yn,focusedCell:Fo,tabbableCell:wr,renderedColumns:Fr,visibleColumns:x,firstColumnToRender:jt,lastColumnToRender:dt,selected:Qr,index:Wn,containerWidth:ot,isLastVisible:qr,position:je},vn,Lt,{hovered:ie===rr,style:re.current[rr]}),rr))}return ce.current=$,fe.current=Ct,Zt},Ye=X.width&&D>=X.width,Le=reactExports.useMemo(()=>{const Ie=Math.max(N.currentPageTotalHeight,1);let Be=!1;z!=null&&z.current&&Ie<=(z==null?void 0:z.current.clientHeight)&&(Be=!0);const He={width:Ye?D:"auto",height:Ie,minHeight:Be?"100%":"auto"};return g.autoHeight&&j.rows.length===0&&(He.height=getMinimalContentHeight(m,g.rowHeight)),He},[m,z,D,N.currentPageTotalHeight,Ye,g.autoHeight,g.rowHeight,j.rows.length]);reactExports.useEffect(()=>{m.current.publishEvent("virtualScrollerContentSizeChange")},[m,Le]);const Ge=reactExports.useMemo(()=>{const Ie={};return Ye||(Ie.overflowX="hidden"),g.autoHeight&&(Ie.overflowY="hidden"),Ie},[Ye,g.autoHeight]);return m.current.register("private",{getRenderContext:Ce}),{renderContext:U,updateRenderZonePosition:ye,getRows:De,getRootProps:(Ie={})=>_extends$1({ref:V,onScroll:ve,onWheel:Pe,onTouchMove:Me},Ie,{style:Ie.style?_extends$1({},Ie.style,Ge):Ge,role:"presentation"}),getContentProps:({style:Ie}={})=>({style:Ie?_extends$1({},Ie,Le):Le,role:"presentation"}),getRenderZoneProps:()=>({ref:B,role:"rowgroup"})}};function getNearestIndexToRender(d,m,g,x){var b,E;const v=d.current.getLastMeasuredRowIndex();let C=v===1/0;(b=m.range)!=null&&b.lastRowIndex&&!C&&(C=v>=m.range.lastRowIndex);const S=clamp(v-(((E=m.range)==null?void 0:E.firstRowIndex)||0),0,g.positions.length);return C||g.positions[S]>=x?binarySearch(x,g.positions):exponentialSearch(x,g.positions,S)}const useUtilityClasses$v=d=>{const{classes:m,headerAlign:g,isDragging:x,showColumnBorder:b,groupId:E}=d;return composeClasses({root:["columnHeader",g==="left"&&"columnHeader--alignLeft",g==="center"&&"columnHeader--alignCenter",g==="right"&&"columnHeader--alignRight",x&&"columnHeader--moving",b&&"columnHeader--showColumnBorder",b&&"columnHeader--withRightBorder","withBorderColor",E===null?"columnHeader--emptyGroup":"columnHeader--filledGroup"],draggableContainer:["columnHeaderDraggableContainer"],titleContainer:["columnHeaderTitleContainer","withBorderColor"],titleContainerContent:["columnHeaderTitleContainerContent"]},getDataGridUtilityClass,m)};function GridColumnGroupHeader(d){var m;const{groupId:g,width:x,depth:b,maxDepth:E,fields:v,height:C,colIndex:S,hasFocus:T,tabIndex:$,isLastColumn:k}=d,I=useGridRootProps(),D=reactExports.useRef(null),A=useGridApiContext(),L=useGridSelector(A,gridColumnGroupsLookupSelector),N=g?L[g]:{},{headerName:Y=g!=null?g:"",description:j="",headerAlign:B=void 0}=N;let z;const V=g&&((m=L[g])==null?void 0:m.renderHeaderGroup),U=reactExports.useMemo(()=>({groupId:g,headerName:Y,description:j,depth:b,maxDepth:E,fields:v,colIndex:S,isLastColumn:k}),[g,Y,j,b,E,v,S,k]);g&&V&&(z=V(U));const W=I.showColumnVerticalBorder,J=_extends$1({},d,{classes:I.classes,showColumnBorder:W,headerAlign:B,depth:b,isDragging:!1}),Q=Y!=null?Y:g,X=useId(),Z=g===null?`empty-group-cell-${X}`:g,oe=useUtilityClasses$v(J);reactExports.useLayoutEffect(()=>{if(T){const fe=D.current.querySelector('[tabindex="0"]')||D.current;fe==null||fe.focus()}},[A,T]);const ie=reactExports.useCallback(ce=>fe=>{isEventTargetInPortal(fe)||A.current.publishEvent(ce,U,fe)},[A,U]),ee=reactExports.useMemo(()=>({onKeyDown:ie("columnGroupHeaderKeyDown"),onFocus:ie("columnGroupHeaderFocus"),onBlur:ie("columnGroupHeaderBlur")}),[ie]),re=typeof N.headerClassName=="function"?N.headerClassName(U):N.headerClassName;return jsxRuntimeExports.jsx(GridGenericColumnHeaderItem,_extends$1({ref:D,classes:oe,columnMenuOpen:!1,colIndex:S,height:C,isResizing:!1,sortDirection:null,hasFocus:!1,tabIndex:$,isDraggable:!1,headerComponent:z,headerClassName:re,description:j,elementId:Z,width:x,columnMenuIconButton:null,columnTitleIconButtons:null,resizable:!1,label:Q,"aria-colspan":v.length,"data-fields":`|-${v.join("-|-")}-|`},ee))}const GridColumnHeaderRow=styled("div",{name:"MuiDataGrid",slot:"ColumnHeaderRow",overridesResolver:(d,m)=>m.columnHeaderRow})(()=>({display:"flex"}));function isUIEvent(d){return!!d.target}const useGridColumnHeaders=d=>{const{innerRef:m,minColumnIndex:g=0,visibleColumns:x,sortColumnLookup:b,filterColumnLookup:E,columnPositions:v,columnHeaderTabIndexState:C,columnGroupHeaderTabIndexState:S,columnHeaderFocus:T,columnGroupHeaderFocus:$,densityFactor:k,headerGroupingMaxDepth:I,columnMenuState:D,columnVisibility:A,columnGroupsHeaderStructure:L,hasOtherElementInTabSequence:N}=d,Y=useTheme$1(),[j,B]=reactExports.useState(""),[z,V]=reactExports.useState(""),U=useGridPrivateApiContext(),W=useGridSelector(U,gridVirtualizationColumnEnabledSelector),J=useGridRootProps(),Q=reactExports.useRef(null),X=useForkRef(m,Q),[Z,oe]=reactExports.useState(null),ie=reactExports.useRef(Z),ee=reactExports.useRef(0),re=useGridVisibleRows(U,J),ce=getTotalHeaderHeight(U,J.columnHeaderHeight),fe=Math.floor(J.columnHeaderHeight*k),ae=reactExports.useCallback(Ye=>{Z&&Ye&&areRenderContextsEqual(Z,Ye)||oe(Ye)},[Z]);reactExports.useEffect(()=>{var Ye;(Ye=U.current.columnHeadersContainerElementRef)!=null&&Ye.current&&(U.current.columnHeadersContainerElementRef.current.scrollLeft=0)},[U]);const ue=reactExports.useRef(defaultMemoize(getFirstColumnIndexToRender,{equalityCheck:(Ye,Le)=>["firstColumnIndex","minColumnIndex","columnBuffer"].every(Ge=>Ye[Ge]===Le[Ge])})),pe=reactExports.useCallback(Ye=>{const[Le,Ge]=getRenderableIndexes({firstIndex:Ye.firstRowIndex,lastIndex:Ye.lastRowIndex,minFirstIndex:0,maxLastIndex:re.rows.length,buffer:J.rowBuffer}),Ie=ue.current({firstColumnIndex:Ye.firstColumnIndex,minColumnIndex:g,columnBuffer:J.columnBuffer,firstRowToRender:Le,lastRowToRender:Ge,apiRef:U,visibleRows:re.rows}),Be=Y.direction==="ltr"?1:-1,He=Ie>0?ee.current-Be*v[Ie]:ee.current;Q.current.style.transform=`translate3d(${-He}px, 0px, 0px)`},[v,g,J.columnBuffer,U,re.rows,J.rowBuffer,Y.direction]);reactExports.useLayoutEffect(()=>{Z&&pe(Z)},[Z,pe]);const ge=reactExports.useCallback(({left:Ye,renderContext:Le=null},Ge)=>{var Ie,Be;if(!Q.current||ee.current===Ye&&((Ie=ie.current)==null?void 0:Ie.firstColumnIndex)===(Le==null?void 0:Le.firstColumnIndex)&&((Be=ie.current)==null?void 0:Be.lastColumnIndex)===(Le==null?void 0:Le.lastColumnIndex))return;ee.current=Ye;let He=!1;Le!==ie.current||!ie.current?(isUIEvent(Ge)?(reactDomExports.flushSync(()=>{ae(Le)}),He=!0):ae(Le),ie.current=Le):He=!0,Le&&He&&pe(Le)},[pe,ae]),ye=reactExports.useCallback(Ye=>V(Ye.field),[]),Ce=reactExports.useCallback(()=>V(""),[]),Ee=reactExports.useCallback(Ye=>B(Ye.field),[]),ve=reactExports.useCallback(()=>B(""),[]);useGridApiEventHandler(U,"columnResizeStart",ye),useGridApiEventHandler(U,"columnResizeStop",Ce),useGridApiEventHandler(U,"columnHeaderDragStart",Ee),useGridApiEventHandler(U,"columnHeaderDragEnd",ve),useGridApiEventHandler(U,"scrollPositionChange",ge);const Pe=Ye=>{const{renderContext:Le=Z,minFirstColumn:Ge=g,maxLastColumn:Ie=x.length}=Ye||{};if(!Le)return null;const[Be,He]=getRenderableIndexes({firstIndex:Le.firstRowIndex,lastIndex:Le.lastRowIndex,minFirstIndex:0,maxLastIndex:re.rows.length,buffer:J.rowBuffer}),Ve=W?ue.current({firstColumnIndex:Le.firstColumnIndex,minColumnIndex:Ge,columnBuffer:J.columnBuffer,apiRef:U,firstRowToRender:Be,lastRowToRender:He,visibleRows:re.rows}):0,rt=W?Math.min(Le.lastColumnIndex+J.columnBuffer,Ie):Ie;return{renderedColumns:x.slice(Ve,rt),firstColumnToRender:Ve,lastColumnToRender:rt,minFirstColumn:Ge,maxLastColumn:Ie}},Me=(Ye,Le={})=>{const Ge=Pe(Ye);if(Ge==null)return null;const{renderedColumns:Ie,firstColumnToRender:Be}=Ge,He=[];for(let Ve=0;Ve<Ie.length;Ve+=1){const rt=Ie[Ve],Fe=Be+Ve,ot=Fe===0,ke=C!==null&&C.field===rt.field||ot&&!N?0:-1,je=T!==null&&T.field===rt.field,Ke=D.open&&D.field===rt.field;He.push(jsxRuntimeExports.jsx(GridColumnHeaderItem,_extends$1({},b[rt.field],{columnMenuOpen:Ke,filterItemsCounter:E[rt.field]&&E[rt.field].length,headerHeight:fe,isDragging:rt.field===j,colDef:rt,colIndex:Fe,isResizing:z===rt.field,hasFocus:je,tabIndex:ke},Le),rt.field))}return jsxRuntimeExports.jsx(GridColumnHeaderRow,{role:"row","aria-rowindex":I+1,ownerState:J,children:He})},Re=Ye=>{if(I===0)return null;const Le=Pe(Ye);if(Le==null||Le.renderedColumns.length===0)return null;const{firstColumnToRender:Ge,lastColumnToRender:Ie}=Le,Be=[],He=[];for(let Fe=0;Fe<I;Fe+=1){var Ve,rt;const ot=L[Fe],ke=x[Ge].field,je=(Ve=U.current.unstable_getColumnGroupPath(ke)[Fe])!=null?Ve:null,Ke=ot.findIndex(({groupId:Xt,columnFields:Pt})=>Xt===je&&Pt.includes(ke)),Xe=x[Ie-1].field,st=(rt=U.current.unstable_getColumnGroupPath(Xe)[Fe])!=null?rt:null,yt=ot.findIndex(({groupId:Xt,columnFields:Pt})=>Xt===st&&Pt.includes(Xe)),Je=ot.slice(Ke,yt+1).map(Xt=>_extends$1({},Xt,{columnFields:Xt.columnFields.filter(Pt=>A[Pt]!==!1)})).filter(Xt=>Xt.columnFields.length>0),gt=Je[0].columnFields.indexOf(ke),dt=Je[0].columnFields.slice(0,gt).reduce((Xt,Pt)=>{var Gt;const Ct=U.current.getColumn(Pt);return Xt+((Gt=Ct.computedWidth)!=null?Gt:0)},0);let jt=Ge;const Wt=Je.map(({groupId:Xt,columnFields:Pt})=>{const Gt=$!==null&&$.depth===Fe&&Pt.includes($.field),Ct=S!==null&&S.depth===Fe&&Pt.includes(S.field)?0:-1,Lt={groupId:Xt,width:Pt.reduce((Kt,Zt)=>Kt+U.current.getColumn(Zt).computedWidth,0),fields:Pt,colIndex:jt,hasFocus:Gt,tabIndex:Ct};return jt+=Pt.length,Lt});He.push({leftOverflow:dt,elements:Wt})}return He.forEach((Fe,ot)=>{Be.push(jsxRuntimeExports.jsx(GridColumnHeaderRow,{style:{height:`${fe}px`,transform:`translateX(-${Fe.leftOverflow}px)`},role:"row","aria-rowindex":ot+1,ownerState:J,children:Fe.elements.map(({groupId:ke,width:je,fields:Ke,colIndex:Xe,hasFocus:st,tabIndex:yt},Je)=>jsxRuntimeExports.jsx(GridColumnGroupHeader,{groupId:ke,width:je,fields:Ke,colIndex:Xe,depth:ot,isLastColumn:Xe===x.length-Ke.length,maxDepth:He.length,height:fe,hasFocus:st,tabIndex:yt},Je))},ot))}),Be},De={minHeight:ce,maxHeight:ce,lineHeight:`${fe}px`};return{renderContext:Z,getColumnHeaders:Me,getColumnsToRender:Pe,getColumnGroupHeaders:Re,isDragging:!!j,getRootProps:(Ye={})=>_extends$1({style:De},Ye),getInnerProps:()=>({ref:X,role:"rowgroup"}),headerHeight:fe}},_excluded$E=["className"],useUtilityClasses$u=d=>{const{classes:m}=d;return composeClasses({root:["columnHeaders","withBorderColor"]},getDataGridUtilityClass,m)},GridColumnHeadersRoot=styled$1("div",{name:"MuiDataGrid",slot:"ColumnHeaders",overridesResolver:(d,m)=>m.columnHeaders})({position:"relative",overflow:"hidden",display:"flex",alignItems:"center",boxSizing:"border-box",borderBottom:"1px solid",borderTopLeftRadius:"var(--unstable_DataGrid-radius)",borderTopRightRadius:"var(--unstable_DataGrid-radius)"}),GridBaseColumnHeaders=reactExports.forwardRef(function(m,g){const{className:x}=m,b=_objectWithoutPropertiesLoose(m,_excluded$E),E=useGridRootProps(),v=useUtilityClasses$u(E);return jsxRuntimeExports.jsx(GridColumnHeadersRoot,_extends$1({ref:g,className:clsx(x,v.root),ownerState:E},b,{role:"presentation"}))}),_excluded$D=["isDragging","className"],useUtilityClasses$t=d=>{const{isDragging:m,hasScrollX:g,classes:x}=d;return composeClasses({root:["columnHeadersInner",m&&"columnHeaderDropZone",g&&"columnHeadersInner--scrollable"]},getDataGridUtilityClass,x)},GridColumnHeadersInnerRoot=styled$1("div",{name:"MuiDataGrid",slot:"columnHeadersInner",overridesResolver:(d,m)=>[{[`&.${gridClasses.columnHeaderDropZone}`]:m.columnHeaderDropZone},m.columnHeadersInner]})(()=>({display:"flex",alignItems:"flex-start",flexDirection:"column",[`&.${gridClasses.columnHeaderDropZone} .${gridClasses.columnHeaderDraggableContainer}`]:{cursor:"move"},[`&.${gridClasses["columnHeadersInner--scrollable"]} .${gridClasses.columnHeader}:last-child`]:{borderRight:"none"}})),GridColumnHeadersInner=reactExports.forwardRef(function(m,g){var x,b;const{isDragging:E,className:v}=m,C=_objectWithoutPropertiesLoose(m,_excluded$D),S=useGridApiContext(),T=useGridRootProps(),$=_extends$1({},T,{isDragging:E,hasScrollX:(x=(b=S.current.getRootDimensions())==null?void 0:b.hasScrollX)!=null?x:!1}),k=useUtilityClasses$t($);return jsxRuntimeExports.jsx(GridColumnHeadersInnerRoot,_extends$1({ref:g,className:clsx(v,k.root),ownerState:$},C))}),_excluded$C=["innerRef","className","visibleColumns","sortColumnLookup","filterColumnLookup","columnPositions","columnHeaderTabIndexState","columnGroupHeaderTabIndexState","columnHeaderFocus","columnGroupHeaderFocus","densityFactor","headerGroupingMaxDepth","columnMenuState","columnVisibility","columnGroupsHeaderStructure","hasOtherElementInTabSequence"],GridColumnHeaders=reactExports.forwardRef(function(m,g){const{innerRef:x,visibleColumns:b,sortColumnLookup:E,filterColumnLookup:v,columnPositions:C,columnHeaderTabIndexState:S,columnGroupHeaderTabIndexState:T,columnHeaderFocus:$,columnGroupHeaderFocus:k,densityFactor:I,headerGroupingMaxDepth:D,columnMenuState:A,columnVisibility:L,columnGroupsHeaderStructure:N,hasOtherElementInTabSequence:Y}=m,j=_objectWithoutPropertiesLoose(m,_excluded$C),{isDragging:B,getRootProps:z,getInnerProps:V,getColumnHeaders:U,getColumnGroupHeaders:W}=useGridColumnHeaders({innerRef:x,visibleColumns:b,sortColumnLookup:E,filterColumnLookup:v,columnPositions:C,columnHeaderTabIndexState:S,columnGroupHeaderTabIndexState:T,columnHeaderFocus:$,columnGroupHeaderFocus:k,densityFactor:I,headerGroupingMaxDepth:D,columnMenuState:A,columnVisibility:L,columnGroupsHeaderStructure:N,hasOtherElementInTabSequence:Y});return jsxRuntimeExports.jsx(GridBaseColumnHeaders,_extends$1({ref:g},z(j),{children:jsxRuntimeExports.jsxs(GridColumnHeadersInner,_extends$1({isDragging:B},V(),{children:[W(),U()]}))}))}),MemoizedGridColumnHeaders=fastMemo(GridColumnHeaders),GridNoResultsOverlay=reactExports.forwardRef(function(m,g){const b=useGridApiContext().current.getLocaleText("noResultsOverlayLabel");return jsxRuntimeExports.jsx(GridOverlay,_extends$1({ref:g},m,{children:b}))}),_excluded$B=["sortingOrder"],GridColumnUnsortedIcon=reactExports.memo(function(m){const{sortingOrder:g}=m,x=_objectWithoutPropertiesLoose(m,_excluded$B),b=useGridRootProps(),[E]=g,v=E==="asc"?b.slots.columnSortedAscendingIcon:b.slots.columnSortedDescendingIcon;return v?jsxRuntimeExports.jsx(v,_extends$1({},x)):null}),_excluded$A=["native"];function MUISelectOption(d){let{native:m}=d,g=_objectWithoutPropertiesLoose(d,_excluded$A);return m?jsxRuntimeExports.jsx("option",_extends$1({},g)):jsxRuntimeExports.jsx(MenuItem,_extends$1({},g))}const iconSlots={BooleanCellTrueIcon:GridCheckIcon,BooleanCellFalseIcon:GridCloseIcon,ColumnMenuIcon:GridTripleDotsVerticalIcon,OpenFilterButtonIcon:GridFilterListIcon,FilterPanelDeleteIcon:GridCloseIcon,ColumnFilteredIcon:GridFilterAltIcon,ColumnSelectorIcon:GridColumnIcon,ColumnUnsortedIcon:GridColumnUnsortedIcon,ColumnSortedAscendingIcon:GridArrowUpwardIcon,ColumnSortedDescendingIcon:GridArrowDownwardIcon,ColumnResizeIcon:GridSeparatorIcon,DensityCompactIcon:GridViewHeadlineIcon,DensityStandardIcon:GridTableRowsIcon,DensityComfortableIcon:GridViewStreamIcon,ExportIcon:GridSaveAltIcon,MoreActionsIcon:GridMoreVertIcon,TreeDataCollapseIcon:GridExpandMoreIcon,TreeDataExpandIcon:GridKeyboardArrowRight,GroupingCriteriaCollapseIcon:GridExpandMoreIcon,GroupingCriteriaExpandIcon:GridKeyboardArrowRight,DetailPanelExpandIcon:GridAddIcon,DetailPanelCollapseIcon:GridRemoveIcon,RowReorderIcon:GridDragIcon,QuickFilterIcon:GridSearchIcon,QuickFilterClearIcon:GridCloseIcon,ColumnMenuHideIcon:GridVisibilityOffIcon,ColumnMenuSortAscendingIcon:GridArrowUpwardIcon,ColumnMenuSortDescendingIcon:GridArrowDownwardIcon,ColumnMenuFilterIcon:GridFilterAltIcon,ColumnMenuManageColumnsIcon:GridViewColumnIcon,ColumnMenuClearIcon:GridClearIcon,LoadIcon:GridLoadIcon,FilterPanelAddIcon:GridAddIcon,FilterPanelRemoveAllIcon:GridDeleteForeverIcon,ColumnReorderIcon:GridDragIcon},materialSlots=_extends$1({},iconSlots,{BaseCheckbox:Checkbox$1,BaseTextField:TextField,BaseFormControl:FormControl,BaseSelect:Select,BaseSwitch:Switch,BaseButton:Button,BaseIconButton:IconButton,BaseInputAdornment:InputAdornment,BaseTooltip:Tooltip,BasePopper:Popper,BaseInputLabel:InputLabel,BaseSelectOption:MUISelectOption,BaseChip:Chip}),DATA_GRID_DEFAULT_SLOTS_COMPONENTS=_extends$1({},materialSlots,{Cell:MemoizedGridCellV7,SkeletonCell:GridSkeletonCell,ColumnHeaderFilterIconButton:GridColumnHeaderFilterIconButton,ColumnMenu:GridColumnMenu,ColumnHeaders:MemoizedGridColumnHeaders,Footer:GridFooter,FooterRowCount:GridRowCount,Toolbar:null,PreferencesPanel:GridPreferencesPanel,LoadingOverlay:GridLoadingOverlay,NoResultsOverlay:GridNoResultsOverlay,NoRowsOverlay:GridNoRowsOverlay,Pagination:GridPagination,FilterPanel:GridFilterPanel,ColumnsPanel:GridColumnsPanel,Panel:GridPanel,Row:MemoizedGridRow}),uncapitalizeObjectKeys$1=d=>{if(d!==void 0)return Object.keys(d).reduce((m,g)=>_extends$1({},m,{[`${g.charAt(0).toLowerCase()}${g.slice(1)}`]:d[g]}),{})};function computeSlots({defaultSlots:d,slots:m,components:g}){const x=m!=null?m:g?uncapitalizeObjectKeys$1(g):null;if(!x||Object.keys(x).length===0)return d;const b=_extends$1({},d);return Object.keys(x).forEach(E=>{const v=E;x[v]!==void 0&&(b[v]=x[v])}),b}const _excluded$z=["components","componentsProps"];function groupForwardedProps(d){var m;const g=Object.keys(d);if(!g.some(E=>E.startsWith("aria-")||E.startsWith("data-")))return d;const x={},b=(m=d.forwardedProps)!=null?m:{};for(let E=0;E<g.length;E+=1){const v=g[E];v.startsWith("aria-")||v.startsWith("data-")?b[v]=d[v]:x[v]=d[v]}return x.forwardedProps=b,x}function useProps(d){return reactExports.useMemo(()=>{const{components:m,componentsProps:g}=d,x=_objectWithoutPropertiesLoose(d,_excluded$z);return[m,g,groupForwardedProps(x)]},[d])}const DATA_GRID_FORCED_PROPS={disableMultipleColumnsFiltering:!0,disableMultipleColumnsSorting:!0,disableMultipleRowSelection:!0,throttleRowsMs:void 0,hideFooterRowCount:!1,pagination:!0,checkboxSelectionVisibleOnly:!1,disableColumnReorder:!0,disableColumnResize:!0,keepColumnPositionIfDraggedOutside:!1,signature:"DataGrid"},DATA_GRID_PROPS_DEFAULT_VALUES={autoHeight:!1,autoPageSize:!1,checkboxSelection:!1,checkboxSelectionVisibleOnly:!1,columnBuffer:3,rowBuffer:3,columnThreshold:3,rowThreshold:3,rowSelection:!0,density:"standard",disableColumnFilter:!1,disableColumnMenu:!1,disableColumnSelector:!1,disableDensitySelector:!1,disableEval:!1,disableMultipleColumnsFiltering:!1,disableMultipleRowSelection:!1,disableMultipleColumnsSorting:!1,disableRowSelectionOnClick:!1,disableVirtualization:!1,editMode:GridEditModes.Cell,filterMode:"client",filterDebounceMs:150,columnHeaderHeight:56,hideFooter:!1,hideFooterPagination:!1,hideFooterRowCount:!1,hideFooterSelectedRowCount:!1,ignoreDiacritics:!1,logger:console,logLevel:"error",pagination:!1,paginationMode:"client",rowHeight:52,pageSizeOptions:[25,50,100],rowSpacingType:"margin",showCellVerticalBorder:!1,showColumnVerticalBorder:!1,sortingOrder:["asc","desc",null],sortingMode:"client",throttleRowsMs:0,disableColumnReorder:!1,disableColumnResize:!1,keepNonExistentRowsSelected:!1,keepColumnPositionIfDraggedOutside:!1,unstable_ignoreValueFormatterDuringExport:!1,clipboardCopyCellDelimiter:" ",rowPositionsDebounceMs:166},defaultSlots=uncapitalizeObjectKeys$1(DATA_GRID_DEFAULT_SLOTS_COMPONENTS),useDataGridProps=d=>{const[m,g,x]=useProps(useThemeProps({props:d,name:"MuiDataGrid"})),b=reactExports.useMemo(()=>_extends$1({},GRID_DEFAULT_LOCALE_TEXT,x.localeText),[x.localeText]),E=reactExports.useMemo(()=>computeSlots({defaultSlots,slots:x.slots,components:m}),[m,x.slots]);return reactExports.useMemo(()=>{var v;return _extends$1({},DATA_GRID_PROPS_DEFAULT_VALUES,x,{localeText:b,slots:E,slotProps:(v=x.slotProps)!=null?v:g},DATA_GRID_FORCED_PROPS)},[x,b,E,g])},rowsMetaStateInitializer=d=>_extends$1({},d,{rowsMeta:{currentPageTotalHeight:0,positions:[]}}),getValidRowHeight=(d,m,g)=>typeof d=="number"&&d>0?d:m,useGridRowsMeta=(d,m)=>{const{getRowHeight:g,getRowSpacing:x,getEstimatedRowHeight:b}=m,E=reactExports.useRef(Object.create(null)),v=reactExports.useRef(-1),C=reactExports.useRef(!1),S=useGridSelector(d,gridDensityFactorSelector),T=useGridSelector(d,gridFilterModelSelector),$=useGridSelector(d,gridPaginationSelector),k=useGridSelector(d,gridSortModelSelector),I=useGridVisibleRows(d,m),D=useGridSelector(d,gridPinnedRowsSelector),A=getValidRowHeight(m.rowHeight,DATA_GRID_PROPS_DEFAULT_VALUES.rowHeight),L=Math.floor(A*S),N=reactExports.useCallback(()=>{var oe,ie;C.current=!1;const ee=fe=>{E.current[fe.id]||(E.current[fe.id]={sizes:{baseCenter:L},isResized:!1,autoHeight:!1,needsFirstMeasurement:!0});const{isResized:ae,needsFirstMeasurement:ue,sizes:pe}=E.current[fe.id];let ge=typeof L=="number"&&L>0?L:52;const ye=pe.baseCenter;if(ae)ge=ye;else if(g){const Me=g(_extends$1({},fe,{densityFactor:S}));if(Me==="auto"){if(ue){const Re=b?b(_extends$1({},fe,{densityFactor:S})):L;ge=Re!=null?Re:L}else ge=ye;C.current=!0,E.current[fe.id].autoHeight=!0}else ge=getValidRowHeight(Me,L),E.current[fe.id].needsFirstMeasurement=!1,E.current[fe.id].autoHeight=!1}else E.current[fe.id].needsFirstMeasurement=!1;const Ce={};for(const Me in pe)/^base[A-Z]/.test(Me)&&(Ce[Me]=pe[Me]);if(Ce.baseCenter=ge,x){var Ee,ve;const Me=d.current.getRowIndexRelativeToVisibleRows(fe.id),Re=x(_extends$1({},fe,{isFirstVisible:Me===0,isLastVisible:Me===I.rows.length-1,indexRelativeToCurrentPage:Me}));Ce.spacingTop=(Ee=Re.top)!=null?Ee:0,Ce.spacingBottom=(ve=Re.bottom)!=null?ve:0}const Pe=d.current.unstable_applyPipeProcessors("rowHeight",Ce,fe);return E.current[fe.id].sizes=Pe,Pe},re=[],ce=I.rows.reduce((fe,ae)=>{re.push(fe);let ue=0,pe=0;const ge=ee(ae);for(const ye in ge){const Ce=ge[ye];/^base[A-Z]/.test(ye)?ue=Ce>ue?Ce:ue:pe+=Ce}return fe+ue+pe},0);D==null||(oe=D.top)==null||oe.forEach(fe=>{ee(fe)}),D==null||(ie=D.bottom)==null||ie.forEach(fe=>{ee(fe)}),d.current.setState(fe=>_extends$1({},fe,{rowsMeta:{currentPageTotalHeight:ce,positions:re}})),C.current||(v.current=1/0),d.current.forceUpdate()},[d,I.rows,L,g,x,b,D,S]),Y=reactExports.useCallback(oe=>{const ie=E.current[oe];return ie?ie.sizes.baseCenter:L},[L]),j=oe=>{var ie;return(ie=E.current[oe])==null?void 0:ie.sizes},B=reactExports.useCallback((oe,ie)=>{E.current[oe].sizes.baseCenter=ie,E.current[oe].isResized=!0,E.current[oe].needsFirstMeasurement=!1,N()},[N]),z=reactExports.useMemo(()=>debounce$1(N,m.rowPositionsDebounceMs),[N,m.rowPositionsDebounceMs]),V=reactExports.useCallback((oe,ie,ee)=>{if(!E.current[oe]||!E.current[oe].autoHeight)return;const re=E.current[oe].sizes[`base${capitalize$1(ee)}`]!==ie;E.current[oe].needsFirstMeasurement=!1,E.current[oe].sizes[`base${capitalize$1(ee)}`]=ie,re&&z()},[z]),U=reactExports.useCallback(oe=>{var ie;return((ie=E.current[oe])==null?void 0:ie.autoHeight)||!1},[]),W=reactExports.useCallback(()=>v.current,[]),J=reactExports.useCallback(oe=>{C.current&&oe>v.current&&(v.current=oe)},[]),Q=reactExports.useCallback(()=>{E.current={},N()},[N]);reactExports.useEffect(()=>{N()},[L,T,$,k,N]),useGridRegisterPipeApplier(d,"rowHeight",N);const X={unstable_setLastMeasuredRowIndex:J,unstable_getRowHeight:Y,unstable_getRowInternalSizes:j,unstable_setRowHeight:B,unstable_storeRowHeightMeasurement:V,resetRowHeights:Q},Z={getLastMeasuredRowIndex:W,rowHasAutoHeight:U};useGridApiMethod(d,X,"public"),useGridApiMethod(d,Z,"private")},useGridStatePersistence=d=>{const m=reactExports.useCallback((b={})=>d.current.unstable_applyPipeProcessors("exportState",{},b),[d]),g=reactExports.useCallback(b=>{d.current.unstable_applyPipeProcessors("restoreState",{callbacks:[]},{stateToRestore:b}).callbacks.forEach(v=>{v()}),d.current.forceUpdate()},[d]);useGridApiMethod(d,{exportState:m,restoreState:g},"public")},useGridColumnSpanning=d=>{const m=reactExports.useRef({}),g=reactExports.useCallback((T,$,k)=>{const I=m.current;I[T]||(I[T]={}),I[T][$]=k},[]),x=reactExports.useCallback((T,$)=>{var k;return(k=m.current[T])==null?void 0:k[$]},[]),b=reactExports.useCallback(T=>{const{columnIndex:$,rowId:k,minFirstColumnIndex:I,maxLastColumnIndex:D,columns:A}=T,L=A.length,N=A[$],Y=typeof N.colSpan=="function"?N.colSpan(d.current.getCellParams(k,N.field)):N.colSpan;if(!Y||Y===1)return g(k,$,{spannedByColSpan:!1,cellProps:{colSpan:1,width:N.computedWidth}}),{colSpan:1};let j=N.computedWidth;for(let B=1;B<Y;B+=1){const z=$+B;if(z>=I&&z<D){const V=A[z];j+=V.computedWidth,g(k,$+B,{spannedByColSpan:!0,rightVisibleCellIndex:Math.min($+Y,L-1),leftVisibleCellIndex:$})}g(k,$,{spannedByColSpan:!1,cellProps:{colSpan:Y,width:j}})}return{colSpan:Y}},[d,g]),E=reactExports.useCallback(({rowId:T,minFirstColumn:$,maxLastColumn:k,columns:I})=>{for(let D=$;D<k;D+=1){const A=b({columnIndex:D,rowId:T,minFirstColumnIndex:$,maxLastColumnIndex:k,columns:I});A.colSpan>1&&(D+=A.colSpan-1)}},[b]),v={unstable_getCellColSpanInfo:x},C={calculateColSpan:E};useGridApiMethod(d,v,"public"),useGridApiMethod(d,C,"private");const S=reactExports.useCallback(()=>{m.current={}},[]);useGridApiEventHandler(d,"columnOrderChange",S)},recurrentUnwrapGroupingColumnModel=(d,m,g)=>{if(isLeaf(d)){if(g[d.field]!==void 0)throw new Error(["MUI: columnGroupingModel contains duplicated field",`column field ${d.field} occurs two times in the grouping model:`,`- ${g[d.field].join(" > ")}`,`- ${m.join(" > ")}`].join(`
354
354
  `));g[d.field]=m;return}const{groupId:x,children:b}=d;b.forEach(E=>{recurrentUnwrapGroupingColumnModel(E,[...m,x],g)})},unwrapGroupingColumnModel=d=>{if(!d)return{};const m={};return d.forEach(g=>{recurrentUnwrapGroupingColumnModel(g,[],m)}),m},getColumnGroupsHeaderStructure=(d,m,g)=>{const x=S=>{var T;return(T=m[S])!=null?T:[]},b=[],E=Math.max(...d.map(S=>x(S).length)),v=(S,T,$)=>isDeepEqual(x(S).slice(0,$+1),x(T).slice(0,$+1)),C=(S,T)=>!!(g!=null&&g.left&&g.left.includes(S)&&!g.left.includes(T)||g!=null&&g.right&&!g.right.includes(S)&&g.right.includes(T));for(let S=0;S<E;S+=1){const T=d.reduce(($,k)=>{var I;const D=(I=x(k)[S])!=null?I:null;if($.length===0)return[{columnFields:[k],groupId:D}];const A=$[$.length-1],L=A.columnFields[A.columnFields.length-1];return A.groupId!==D||!v(L,k,S)||C(L,k)?[...$,{columnFields:[k],groupId:D}]:[...$.slice(0,$.length-1),{columnFields:[...A.columnFields,k],groupId:D}]},[]);b.push(T)}return b},_excluded$y=["groupId","children"],createGroupLookup=d=>{let m={};return d.forEach(g=>{if(isLeaf(g))return;const{groupId:x,children:b}=g,E=_objectWithoutPropertiesLoose(g,_excluded$y);if(!x)throw new Error("MUI: An element of the columnGroupingModel does not have either `field` or `groupId`.");b||console.warn(`MUI: group groupId=${x} has no children.`);const v=_extends$1({},E,{groupId:x}),C=createGroupLookup(b);if(C[x]!==void 0||m[x]!==void 0)throw new Error(`MUI: The groupId ${x} is used multiple times in the columnGroupingModel.`);m=_extends$1({},m,C,{[x]:v})}),_extends$1({},m)},columnGroupsStateInitializer=(d,m,g)=>{var x,b,E,v;if(!((x=m.experimentalFeatures)!=null&&x.columnGrouping))return d;const C=gridColumnFieldsSelector(g),S=gridVisibleColumnFieldsSelector(g),T=createGroupLookup((b=m.columnGroupingModel)!=null?b:[]),$=unwrapGroupingColumnModel((E=m.columnGroupingModel)!=null?E:[]),k=getColumnGroupsHeaderStructure(C,$,(v=g.current.state.pinnedColumns)!=null?v:{}),I=S.length===0?0:Math.max(...S.map(D=>{var A,L;return(A=(L=$[D])==null?void 0:L.length)!=null?A:0}));return _extends$1({},d,{columnGrouping:{lookup:T,unwrappedGroupingModel:$,headerStructure:k,maxDepth:I}})},useGridColumnGrouping=(d,m)=>{var g;const x=reactExports.useCallback(S=>{var T;return(T=gridColumnGroupsUnwrappedModelSelector(d)[S])!=null?T:[]},[d]),b=reactExports.useCallback(()=>gridColumnGroupsLookupSelector(d),[d]);useGridApiMethod(d,{unstable_getColumnGroupPath:x,unstable_getAllGroupDetails:b},"public");const v=reactExports.useCallback(()=>{var S;const T=unwrapGroupingColumnModel((S=m.columnGroupingModel)!=null?S:[]);d.current.setState($=>{var k,I,D;const A=(k=(I=$.columns)==null?void 0:I.orderedFields)!=null?k:[],L=(D=$.pinnedColumns)!=null?D:{},N=getColumnGroupsHeaderStructure(A,T,L);return _extends$1({},$,{columnGrouping:_extends$1({},$.columnGrouping,{headerStructure:N})})})},[d,m.columnGroupingModel]),C=reactExports.useCallback(S=>{var T,$,k,I;if(!((T=m.experimentalFeatures)!=null&&T.columnGrouping))return;const D=($=(k=(I=d.current).getPinnedColumns)==null?void 0:k.call(I))!=null?$:{},A=gridColumnFieldsSelector(d),L=gridVisibleColumnFieldsSelector(d),N=createGroupLookup(S!=null?S:[]),Y=unwrapGroupingColumnModel(S!=null?S:[]),j=getColumnGroupsHeaderStructure(A,Y,D),B=L.length===0?0:Math.max(...L.map(z=>{var V,U;return(V=(U=Y[z])==null?void 0:U.length)!=null?V:0}));d.current.setState(z=>_extends$1({},z,{columnGrouping:{lookup:N,unwrappedGroupingModel:Y,headerStructure:j,maxDepth:B}}))},[d,(g=m.experimentalFeatures)==null?void 0:g.columnGrouping]);useGridApiEventHandler(d,"columnIndexChange",v),useGridApiEventHandler(d,"columnsChange",()=>{C(m.columnGroupingModel)}),useGridApiEventHandler(d,"columnVisibilityModelChange",()=>{C(m.columnGroupingModel)}),reactExports.useEffect(()=>{C(m.columnGroupingModel)},[C,m.columnGroupingModel])},useDataGridComponent=(d,m)=>{const g=useGridInitialization(d,m);return useGridRowSelectionPreProcessors(g,m),useGridRowsPreProcessors(g),useGridInitializeState(rowSelectionStateInitializer,g,m),useGridInitializeState(columnsStateInitializer,g,m),useGridInitializeState(rowsStateInitializer,g,m),useGridInitializeState(editingStateInitializer,g,m),useGridInitializeState(focusStateInitializer,g,m),useGridInitializeState(sortingStateInitializer,g,m),useGridInitializeState(preferencePanelStateInitializer,g,m),useGridInitializeState(filterStateInitializer,g,m),useGridInitializeState(densityStateInitializer,g,m),useGridInitializeState(paginationStateInitializer,g,m),useGridInitializeState(rowsMetaStateInitializer,g,m),useGridInitializeState(columnMenuStateInitializer,g,m),useGridInitializeState(columnGroupsStateInitializer,g,m),useGridInitializeState(virtualizationStateInitializer,g,m),useGridKeyboardNavigation(g,m),useGridRowSelection(g,m),useGridColumns(g,m),useGridRows(g,m),useGridParamsApi(g,m),useGridColumnSpanning(g),useGridColumnGrouping(g,m),useGridEditing(g,m),useGridFocus(g,m),useGridPreferencesPanel(g,m),useGridFilter(g,m),useGridSorting(g,m),useGridDensity(g,m),useGridPagination(g,m),useGridRowsMeta(g,m),useGridScroll(g,m),useGridColumnMenu(g),useGridCsvExport(g,m),useGridPrintExport(g,m),useGridClipboard(g,m),useGridDimensions(g,m),useGridEvents(g,m),useGridStatePersistence(g),useGridVirtualization(g,m),g},useUtilityClasses$s=d=>{const{classes:m}=d;return composeClasses({root:["virtualScroller"]},getDataGridUtilityClass,m)},VirtualScrollerRoot=styled$1("div",{name:"MuiDataGrid",slot:"VirtualScroller",overridesResolver:(d,m)=>m.virtualScroller})({overflow:"auto",height:"100%",position:"relative","@media print":{overflow:"hidden"},zIndex:0}),GridVirtualScroller=reactExports.forwardRef(function(m,g){const x=useGridRootProps(),b=useUtilityClasses$s(x);return jsxRuntimeExports.jsx(VirtualScrollerRoot,_extends$1({ref:g},m,{className:clsx(b.root,m.className),ownerState:x}))}),useUtilityClasses$r=(d,m)=>{const{classes:g}=d;return composeClasses({root:["virtualScrollerContent",m&&"virtualScrollerContent--overflowed"]},getDataGridUtilityClass,g)},VirtualScrollerContentRoot=styled$1("div",{name:"MuiDataGrid",slot:"VirtualScrollerContent",overridesResolver:(d,m)=>m.virtualScrollerContent})({}),GridVirtualScrollerContent=reactExports.forwardRef(function(m,g){var x;const b=useGridRootProps(),E=!b.autoHeight&&((x=m.style)==null?void 0:x.minHeight)==="auto",v=useUtilityClasses$r(b,E);return jsxRuntimeExports.jsx(VirtualScrollerContentRoot,_extends$1({ref:g},m,{ownerState:b,className:clsx(v.root,m.className)}))}),_excluded$x=["className"],useUtilityClasses$q=d=>{const{classes:m}=d;return composeClasses({root:["virtualScrollerRenderZone"]},getDataGridUtilityClass,m)},VirtualScrollerRenderZoneRoot=styled$1("div",{name:"MuiDataGrid",slot:"VirtualScrollerRenderZone",overridesResolver:(d,m)=>m.virtualScrollerRenderZone})({position:"absolute",display:"flex",flexDirection:"column"}),GridVirtualScrollerRenderZone=reactExports.forwardRef(function(m,g){const{className:x}=m,b=_objectWithoutPropertiesLoose(m,_excluded$x),E=useGridRootProps(),v=useUtilityClasses$q(E);return jsxRuntimeExports.jsx(VirtualScrollerRenderZoneRoot,_extends$1({ref:g,className:clsx(v.root,x),ownerState:E},b))}),_excluded$w=["className"],DataGridVirtualScroller=reactExports.forwardRef(function(m,g){const{className:x}=m,b=_objectWithoutPropertiesLoose(m,_excluded$w),{getRootProps:E,getContentProps:v,getRenderZoneProps:C,getRows:S}=useGridVirtualScroller({ref:g});return jsxRuntimeExports.jsxs(GridVirtualScroller,_extends$1({className:x},E(b),{children:[jsxRuntimeExports.jsx(GridOverlays,{}),jsxRuntimeExports.jsx(GridVirtualScrollerContent,_extends$1({},v(),{children:jsxRuntimeExports.jsx(GridVirtualScrollerRenderZone,_extends$1({},C(),{children:S()}))}))]}))}),DataGridRaw=reactExports.forwardRef(function(m,g){const x=useDataGridProps(m),b=useDataGridComponent(x.apiRef,x);return jsxRuntimeExports.jsx(GridContextProvider,{privateApiRef:b,props:x,children:jsxRuntimeExports.jsxs(GridRoot,_extends$1({className:x.className,style:x.style,sx:x.sx,ref:g},x.forwardedProps,{children:[jsxRuntimeExports.jsx(GridHeader,{}),jsxRuntimeExports.jsx(GridBody,{VirtualScrollerComponent:DataGridVirtualScroller}),jsxRuntimeExports.jsx(GridFooterPlaceholder,{})]}))})}),DataGrid=reactExports.memo(DataGridRaw);DATA_GRID_PROPS_DEFAULT_VALUES.filterDebounceMs;DATA_GRID_PROPS_DEFAULT_VALUES.filterDebounceMs;DataGridRaw.propTypes={apiRef:PropTypes.shape({current:PropTypes.object.isRequired}),"aria-label":PropTypes.string,"aria-labelledby":PropTypes.string,autoHeight:PropTypes.bool,autoPageSize:PropTypes.bool,cellModesModel:PropTypes.object,checkboxSelection:PropTypes.bool,classes:PropTypes.object,clipboardCopyCellDelimiter:PropTypes.string,columnBuffer:PropTypes.number,columnGroupingModel:PropTypes.arrayOf(PropTypes.object),columnHeaderHeight:PropTypes.number,columns:chainPropTypes(PropTypes.array.isRequired),columnThreshold:PropTypes.number,columnVisibilityModel:PropTypes.object,components:PropTypes.object,componentsProps:PropTypes.object,density:PropTypes.oneOf(["comfortable","compact","standard"]),disableColumnFilter:PropTypes.bool,disableColumnMenu:PropTypes.bool,disableColumnSelector:PropTypes.bool,disableDensitySelector:PropTypes.bool,disableEval:PropTypes.bool,disableRowSelectionOnClick:PropTypes.bool,disableVirtualization:PropTypes.bool,editMode:PropTypes.oneOf(["cell","row"]),experimentalFeatures:PropTypes.shape({ariaV7:PropTypes.bool,columnGrouping:PropTypes.bool,warnIfFocusStateIsNotSynced:PropTypes.bool}),filterDebounceMs:PropTypes.number,filterMode:PropTypes.oneOf(["client","server"]),filterModel:PropTypes.shape({items:PropTypes.arrayOf(PropTypes.shape({field:PropTypes.string.isRequired,id:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),operator:PropTypes.string.isRequired,value:PropTypes.any})).isRequired,logicOperator:PropTypes.oneOf(["and","or"]),quickFilterExcludeHiddenColumns:PropTypes.bool,quickFilterLogicOperator:PropTypes.oneOf(["and","or"]),quickFilterValues:PropTypes.array}),forwardedProps:PropTypes.object,getCellClassName:PropTypes.func,getDetailPanelContent:PropTypes.func,getEstimatedRowHeight:PropTypes.func,getRowClassName:PropTypes.func,getRowHeight:PropTypes.func,getRowId:PropTypes.func,getRowSpacing:PropTypes.func,hideFooter:PropTypes.bool,hideFooterPagination:PropTypes.bool,hideFooterSelectedRowCount:PropTypes.bool,ignoreDiacritics:PropTypes.bool,initialState:PropTypes.object,isCellEditable:PropTypes.func,isRowSelectable:PropTypes.func,keepNonExistentRowsSelected:PropTypes.bool,loading:PropTypes.bool,localeText:PropTypes.object,logger:PropTypes.shape({debug:PropTypes.func.isRequired,error:PropTypes.func.isRequired,info:PropTypes.func.isRequired,warn:PropTypes.func.isRequired}),logLevel:PropTypes.oneOf(["debug","error","info","warn",!1]),nonce:PropTypes.string,onCellClick:PropTypes.func,onCellDoubleClick:PropTypes.func,onCellEditStart:PropTypes.func,onCellEditStop:PropTypes.func,onCellKeyDown:PropTypes.func,onCellModesModelChange:PropTypes.func,onClipboardCopy:PropTypes.func,onColumnHeaderClick:PropTypes.func,onColumnHeaderDoubleClick:PropTypes.func,onColumnHeaderEnter:PropTypes.func,onColumnHeaderLeave:PropTypes.func,onColumnHeaderOut:PropTypes.func,onColumnHeaderOver:PropTypes.func,onColumnOrderChange:PropTypes.func,onColumnVisibilityModelChange:PropTypes.func,onFilterModelChange:PropTypes.func,onMenuClose:PropTypes.func,onMenuOpen:PropTypes.func,onPaginationModelChange:PropTypes.func,onPreferencePanelClose:PropTypes.func,onPreferencePanelOpen:PropTypes.func,onProcessRowUpdateError:PropTypes.func,onResize:PropTypes.func,onRowClick:PropTypes.func,onRowCountChange:PropTypes.func,onRowDoubleClick:PropTypes.func,onRowEditStart:PropTypes.func,onRowEditStop:PropTypes.func,onRowModesModelChange:PropTypes.func,onRowSelectionModelChange:PropTypes.func,onSortModelChange:PropTypes.func,onStateChange:PropTypes.func,pageSizeOptions:PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number,PropTypes.shape({label:PropTypes.string.isRequired,value:PropTypes.number.isRequired})]).isRequired),pagination:d=>d.pagination===!1?new Error(["MUI: `<DataGrid pagination={false} />` is not a valid prop.","Infinite scrolling is not available in the MIT version.","","You need to upgrade to DataGridPro or DataGridPremium component to disable the pagination."].join(`
355
- `)):null,paginationMode:PropTypes.oneOf(["client","server"]),paginationModel:PropTypes.shape({page:PropTypes.number.isRequired,pageSize:PropTypes.number.isRequired}),processRowUpdate:PropTypes.func,rowBuffer:PropTypes.number,rowCount:PropTypes.number,rowHeight:PropTypes.number,rowModesModel:PropTypes.object,rowPositionsDebounceMs:PropTypes.number,rows:PropTypes.arrayOf(PropTypes.object).isRequired,rowSelection:PropTypes.bool,rowSelectionModel:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number,PropTypes.string]).isRequired),PropTypes.number,PropTypes.string]),rowSpacingType:PropTypes.oneOf(["border","margin"]),rowThreshold:PropTypes.number,scrollbarSize:PropTypes.number,showCellVerticalBorder:PropTypes.bool,showColumnVerticalBorder:PropTypes.bool,slotProps:PropTypes.object,slots:PropTypes.object,sortingMode:PropTypes.oneOf(["client","server"]),sortingOrder:PropTypes.arrayOf(PropTypes.oneOf(["asc","desc"])),sortModel:PropTypes.arrayOf(PropTypes.shape({field:PropTypes.string.isRequired,sort:PropTypes.oneOf(["asc","desc"])})),sx:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func,PropTypes.object,PropTypes.bool])),PropTypes.func,PropTypes.object]),unstable_ignoreValueFormatterDuringExport:PropTypes.oneOfType([PropTypes.shape({clipboardExport:PropTypes.bool,csvExport:PropTypes.bool}),PropTypes.bool])};const enUS$1={},getGridLocalization=(d,m)=>{var g;return{components:{MuiDataGrid:{defaultProps:{localeText:_extends$1({},d,{MuiTablePagination:(m==null||(g=m.components)==null||(g=g.MuiTablePagination)==null?void 0:g.defaultProps)||{}})}}}}},enUS=getGridLocalization(GRID_DEFAULT_LOCALE_TEXT,enUS$1),ACTIONS="Actions";function DataTable(D){var A=D,{columns:d,initialState:m={},actions:g,actionsProps:x,initializing:b,noRows:E,error:v,compact:C,footerSide:S,fillFlex:T,persist:$,details:k}=A,I=zt(A,["columns","initialState","actions","actionsProps","initializing","noRows","error","compact","footerSide","fillFlex","persist","details"]);var ae;const L=useTheme$1(),N=useGridApiRef(),[Y,j]=reactExports.useState(0),[B,z]=reactExports.useState(0),V=reactExports.useMemo(()=>{const{localeText:ue}=enUS.components.MuiDataGrid.defaultProps,pe=onlyTruthy(d.map(ge=>{var Ee;if(!ge)return;const{type:ye,sx:Ce}=ge;return(!ye||ye==="string")&&((Ee=ge.filterOperators)!=null||(ge.filterOperators=getGridStringOperators().flatMap(ve=>ve.value.includes("Empty")?ve:[ve,$t(Ae($t(Ae({},ve),{value:"!"+ve.value,getApplyFilterFn(Pe,Me){const Re=ve.getApplyFilterFn(Pe,Me);return Re&&_.negate(Re)}}),ve.getApplyFilterFnV7&&{getApplyFilterFnV7(Pe,Me){var De;const Re=(De=ve.getApplyFilterFnV7)==null?void 0:De.call(ve,Pe,Me);return Re?_.negate(Re):null}}),{label:"(not) "+(ue["filterOperator"+_.upperFirst(ve.value)]||ve.value)})]))),!ge.mergeRender&&!ge.sx?ge:$t(Ae({},ge),{originalRenderCell:ge.renderCell||!0,renderCell(ve){const{columns:Pe}=ve.api.store.getSnapshot();return reactExports.createElement(Box,$t(Ae({maxHeight:"100%"},ge.cellInnerProps),{sx:Ae({textWrap:"wrap"},callable(Ce,ve))}),ge.renderCell?ge.renderCell(ve):ve.formattedValue,ge.mergeRender&&reactExports.createElement(Flex,Ae({fontSize:"smaller",flexWrap:"wrap",mt:"2px",rowGap:0},ge.mergeRenderSx),...onlyTruthy(_.map(ge.mergeRender,(Me,Re)=>{if(!Me||Pe.columnVisibilityModel[Re]!==!1)return null;const De=fe(Ae(Ae({},Pe.lookup[Re]),Me.override),ve.row);return De&&reactExports.createElement(Box,Ae($t(Ae({},Me),{override:void 0}),C&&{lineHeight:"1em"}),De)}))))}})}));return g&&pe.unshift(Ae({field:ACTIONS,width:40*Y,headerName:"",align:"center",headerAlign:"center",hideSortIcons:!0,disableColumnMenu:!0,renderCell(ge){const ye=g(Ae(Ae({},ge.row),ge));return setTimeout(()=>j(ye.length)),reactExports.createElement(Box,{whiteSpace:"nowrap"},...ye)}},x)),pe},[d,g,Y]),U=useGetSize(),W=useDebounce(U.w||0,500),J=reactExports.useMemo(()=>{const ue=onlyTruthy(V.map(({field:ge,hideUnder:ye})=>(ye===!0||ye&&W<(typeof ye=="number"?ye:L.breakpoints.values[ye]))&&ge)),pe=Object.fromEntries(ue.map(ge=>[ge,!1]));return _.merge(m,{columns:{columnVisibilityModel:pe}}),z(_.sumBy(ue,ge=>_.find(d,ye=>{var Ce;return ye&&!ue.includes(ye.field)&&((Ce=ye.mergeRender)==null?void 0:Ce[ge])})?1:0)),ue},[V,W]),[Q,X]=reactExports.useState($&&((ae=state.dataTablePersistence[$])==null?void 0:ae.columnVisibility)||{}),Z=reactExports.useRef({});reactExports.useEffect(()=>{const{current:{id:ue,setCurRow:pe}}=Z;pe==null||pe(_.find(I.rows,{id:ue}))});const oe=useGetSize(),ie=reactExports.createElement(Box,{ref:oe.refToPass,className:"footerSide",sx:{whiteSpace:"nowrap"}},S==null?void 0:S(W)),[ee,re]=reactExports.useState(!1),ce=reactExports.useCallback(_.debounce(()=>{var pe;const ue=(pe=U.ref.current)==null?void 0:pe.querySelector(".MuiTablePagination-root");re(ue&&ue.scrollWidth>ue.clientWidth||!1)},500),[U]);return reactExports.useEffect(ce,[U,W,oe.w]),reactExports.createElement(reactExports.Fragment,{},v&&reactExports.createElement(Alert,{severity:"error"},v),b&&reactExports.createElement(Box,{position:"relative"},reactExports.createElement(LinearProgress,{sx:{position:"absolute",width:"calc(100% - 2px)",borderRadius:1,m:"1px 1px"}})),reactExports.createElement(DataGrid,$t(Ae({key:W,initialState:m,density:C?"compact":"standard",columns:V,apiRef:N,disableRowSelectionOnClick:!0,ref:U.refToPass},I),{sx:Ae($t(Ae({},T&&{height:0,flex:"auto"}),{"& .MuiDataGrid-virtualScroller":{minHeight:"3em"},"& .MuiTablePagination-root":{scrollbarWidth:"none"}}),I.sx),slots:{noRowsOverlay:()=>b?null:reactExports.createElement(Center,{},E||"No entries"),footer:CustomFooter},slotProps:{footer:{add:ie},pagination:Ae({labelRowsPerPage:"Rows"},!ee&&{showFirstButton:!0,showLastButton:!0})},onCellClick({field:ue,row:pe}){var Ce;if(ue===ACTIONS||k===!1||((Ce=window.getSelection())==null?void 0:Ce.type)==="Range")return;const ge=B+N.current.getVisibleColumns().length,ye=V.filter(Ee=>!Ee.dialogHidden&&(Ee.renderCell||Ee.valueGetter||Ee.field===ACTIONS||pe[Ee.field]!==void 0));ye.length<=ge||newDialog({title:"Details",onClose(){Z.current={}},Content(){const[Ee,ve]=reactExports.useState(pe),Pe=reactExports.useRef(pe);Ee&&(Pe.current=Ee);const Me=Pe.current;return Z.current={id:Me.id,setCurRow:ve},reactExports.createElement(Box,{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(8em,1fr))",gap:"1em",gridAutoFlow:"dense",minWidth:"max(16em, 40vw)",sx:{opacity:Ee?void 0:.5}},ye.map(Re=>reactExports.createElement(Box,{key:Re.field,gridColumn:Re.flex>=1?"1/-1":void 0},reactExports.createElement(Box,{bgcolor:"#0003",p:1},Re.headerName||Re.field),reactExports.createElement(Flex,{minHeight:"2.5em",px:1,wordBreak:"break-word",flexWrap:"wrap"},fe(Re,Me)))))}})},onColumnVisibilityModelChange:ue=>{X(ue),$&&updateStateObject(state,"dataTablePersistence",pe=>{pe[$]={columnVisibility:_.omitBy(ue,(ge,ye)=>J.includes(ye)===(ge===!1))}})},columnVisibilityModel:Ae(Ae(Ae({},Object.fromEntries(J.map(ue=>[ue,!1]))),I.columnVisibilityModel),Q)})));function fe(ue,pe){const ge=N.current;let ye=pe[ue.field];ue.valueGetter&&(ye=ue.valueGetter({value:ye,api:ge,row:pe,field:ue.field,id:pe.id}));const Ce=ue.originalRenderCell||ue.renderCell;return Ce&&Ce!==!0?Ce(Ae({value:ye,row:pe,api:ge},pe)):ue.valueFormatter?ue.valueFormatter(Ae({value:ye},pe)):ye}}function CustomFooter(g){var x=g,{add:d}=x,m=zt(x,["add"]);return reactExports.createElement(GridFooterContainer,m,reactExports.createElement(Box,{ml:{sm:1}},d),reactExports.createElement(GridFooter,{sx:{border:"none"}}))}const fillFlexParentSx={display:"flex",flexDirection:"column"};function ConfigForm(E){var v=E,{keys:d,form:m,saveOnChange:g,onSave:x}=v,b=zt(v,["keys","form","saveOnChange","onSave"]);const[C,S]=reactExports.useState(d),T=useApiEx(C&&"get_config",{only:C}),[$,k]=reactExports.useState(T.data);reactExports.useEffect(()=>k(L=>T.data||L),[T.data]);const I=$&&!_.isEqual($,T.data);reactExports.useEffect(()=>{I&&g&&A()},[I]);const D=_.isFunction(m)?m($,{setValues:k}):m;if(reactExports.useEffect(()=>{d||S(onlyTruthy(D.fields.map(L=>L==null?void 0:L.k)))},[d]),!$)return T.element;return reactExports.createElement(Form,$t(Ae(Ae({values:$,set(L,N){k(Y=>$t(Ae({},Y),{[N]:L}))},save:g?!1:Ae({onClick:A},propsForModifiedValues(I))},D),b),{barSx:Ae({gap:1},b.barSx),addToBar:[reactExports.createElement(IconBtn,{icon:RestartAlt,disabled:!I,title:"Reset",onClick(){k(T.data)}}),...b.addToBar||[]]}));function A(){return apiCall("set_config",{values:$}).then(x).then(T.reload)}}function BlockIpBtn(x){var b=x,{ip:d,comment:m}=b,g=zt(b,["ip","comment"]);const{data:E,refresh:v}=useBatch(isIpBlocked,d,{delay:100,expireAfter:5e3});return reactExports.createElement(IconBtn,$t(Ae(Ae({icon:Block,title:"Block IP",confirm:"Block address "+d},E&&{disabled:!0,title:"Blocked"}),g),{onClick(){return xt(this,null,function*(){yield apiCall("add_block",{ip:d,merge:{comment:m}}),v(),toast("Blocked","success")})}}))}function isIpBlocked(d){return xt(this,null,function*(){return apiCall("is_ip_blocked",{ips:d}).then(m=>m.blocked)})}const ALL=`🇦🇫|AF|Afghanistan
355
+ `)):null,paginationMode:PropTypes.oneOf(["client","server"]),paginationModel:PropTypes.shape({page:PropTypes.number.isRequired,pageSize:PropTypes.number.isRequired}),processRowUpdate:PropTypes.func,rowBuffer:PropTypes.number,rowCount:PropTypes.number,rowHeight:PropTypes.number,rowModesModel:PropTypes.object,rowPositionsDebounceMs:PropTypes.number,rows:PropTypes.arrayOf(PropTypes.object).isRequired,rowSelection:PropTypes.bool,rowSelectionModel:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number,PropTypes.string]).isRequired),PropTypes.number,PropTypes.string]),rowSpacingType:PropTypes.oneOf(["border","margin"]),rowThreshold:PropTypes.number,scrollbarSize:PropTypes.number,showCellVerticalBorder:PropTypes.bool,showColumnVerticalBorder:PropTypes.bool,slotProps:PropTypes.object,slots:PropTypes.object,sortingMode:PropTypes.oneOf(["client","server"]),sortingOrder:PropTypes.arrayOf(PropTypes.oneOf(["asc","desc"])),sortModel:PropTypes.arrayOf(PropTypes.shape({field:PropTypes.string.isRequired,sort:PropTypes.oneOf(["asc","desc"])})),sx:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func,PropTypes.object,PropTypes.bool])),PropTypes.func,PropTypes.object]),unstable_ignoreValueFormatterDuringExport:PropTypes.oneOfType([PropTypes.shape({clipboardExport:PropTypes.bool,csvExport:PropTypes.bool}),PropTypes.bool])};const enUS$1={},getGridLocalization=(d,m)=>{var g;return{components:{MuiDataGrid:{defaultProps:{localeText:_extends$1({},d,{MuiTablePagination:(m==null||(g=m.components)==null||(g=g.MuiTablePagination)==null?void 0:g.defaultProps)||{}})}}}}},enUS=getGridLocalization(GRID_DEFAULT_LOCALE_TEXT,enUS$1),ACTIONS="Actions";function DataTable(D){var A=D,{columns:d,initialState:m={},actions:g,actionsProps:x,initializing:b,noRows:E,error:v,compact:C,footerSide:S,fillFlex:T,persist:$,details:k}=A,I=zt(A,["columns","initialState","actions","actionsProps","initializing","noRows","error","compact","footerSide","fillFlex","persist","details"]);var ae;const L=useTheme$1(),N=useGridApiRef(),[Y,j]=reactExports.useState(0),[B,z]=reactExports.useState(0),V=reactExports.useMemo(()=>{const{localeText:ue}=enUS.components.MuiDataGrid.defaultProps,pe=onlyTruthy(d.map(ge=>{var Ee;if(!ge)return;const{type:ye,sx:Ce}=ge;return(!ye||ye==="string")&&((Ee=ge.filterOperators)!=null||(ge.filterOperators=getGridStringOperators().flatMap(ve=>ve.value.includes("Empty")?ve:[ve,$t(Ae($t(Ae({},ve),{value:"!"+ve.value,getApplyFilterFn(Pe,Me){const Re=ve.getApplyFilterFn(Pe,Me);return Re&&_.negate(Re)}}),ve.getApplyFilterFnV7&&{getApplyFilterFnV7(Pe,Me){var De;const Re=(De=ve.getApplyFilterFnV7)==null?void 0:De.call(ve,Pe,Me);return Re?_.negate(Re):null}}),{label:"(not) "+(ue["filterOperator"+_.upperFirst(ve.value)]||ve.value)})]))),!ge.mergeRender&&!ge.sx?ge:$t(Ae({},ge),{originalRenderCell:ge.renderCell||!0,renderCell(ve){const{columns:Pe}=ve.api.store.getSnapshot();return reactExports.createElement(Box,$t(Ae({maxHeight:"100%"},ge.cellInnerProps),{sx:Ae({textWrap:"wrap"},callable(Ce,ve))}),ge.renderCell?ge.renderCell(ve):ve.formattedValue,ge.mergeRender&&reactExports.createElement(Flex,Ae({fontSize:"smaller",flexWrap:"wrap",mt:"1px",rowGap:0},ge.mergeRenderSx),...onlyTruthy(_.map(ge.mergeRender,(Me,Re)=>{if(!Me||Pe.columnVisibilityModel[Re]!==!1)return null;const De=fe(Ae(Ae({},Pe.lookup[Re]),Me.override),ve.row);return De&&reactExports.createElement(Box,Ae($t(Ae({},Me),{override:void 0}),C&&{lineHeight:"1em"}),De)}))))}})}));return g&&pe.unshift(Ae({field:ACTIONS,width:40*Y,headerName:"",align:"center",headerAlign:"center",hideSortIcons:!0,disableColumnMenu:!0,renderCell(ge){const ye=g(Ae(Ae({},ge.row),ge));return setTimeout(()=>j(ye.length)),reactExports.createElement(Box,{whiteSpace:"nowrap"},...ye)}},x)),pe},[d,g,Y]),U=useGetSize(),W=useDebounce(U.w||0,500),J=reactExports.useMemo(()=>{const ue=onlyTruthy(V.map(({field:ge,hideUnder:ye})=>(ye===!0||ye&&W<(typeof ye=="number"?ye:L.breakpoints.values[ye]))&&ge)),pe=Object.fromEntries(ue.map(ge=>[ge,!1]));return _.merge(m,{columns:{columnVisibilityModel:pe}}),z(_.sumBy(ue,ge=>_.find(d,ye=>{var Ce;return ye&&!ue.includes(ye.field)&&((Ce=ye.mergeRender)==null?void 0:Ce[ge])})?1:0)),ue},[V,W]),[Q,X]=reactExports.useState($&&((ae=state.dataTablePersistence[$])==null?void 0:ae.columnVisibility)||{}),Z=reactExports.useRef({});reactExports.useEffect(()=>{const{current:{id:ue,setCurRow:pe}}=Z;pe==null||pe(_.find(I.rows,{id:ue}))});const oe=useGetSize(),ie=reactExports.createElement(Box,{ref:oe.refToPass,className:"footerSide",sx:{whiteSpace:"nowrap"}},S==null?void 0:S(W)),[ee,re]=reactExports.useState(!1),ce=reactExports.useCallback(_.debounce(()=>{var pe;const ue=(pe=U.ref.current)==null?void 0:pe.querySelector(".MuiTablePagination-root");re(ue&&ue.scrollWidth>ue.clientWidth||!1)},500),[U]);return reactExports.useEffect(ce,[U,W,oe.w]),reactExports.createElement(reactExports.Fragment,{},v&&reactExports.createElement(Alert,{severity:"error"},v),b&&reactExports.createElement(Box,{position:"relative"},reactExports.createElement(LinearProgress,{sx:{position:"absolute",width:"calc(100% - 2px)",borderRadius:1,m:"1px 1px"}})),reactExports.createElement(DataGrid,$t(Ae({key:W,initialState:m,density:C?"compact":"standard",columns:V,apiRef:N,disableRowSelectionOnClick:!0,ref:U.refToPass},I),{sx:Ae($t(Ae({},T&&{height:0,flex:"auto"}),{"& .MuiDataGrid-virtualScroller":{minHeight:"3em"},"& .MuiTablePagination-root":{scrollbarWidth:"none"}}),I.sx),slots:{noRowsOverlay:()=>b?null:reactExports.createElement(Center,{},E||"No entries"),footer:CustomFooter},slotProps:{footer:{add:ie},pagination:Ae({labelRowsPerPage:"Rows"},!ee&&{showFirstButton:!0,showLastButton:!0})},onCellClick({field:ue,row:pe}){var Ce;if(ue===ACTIONS||k===!1||((Ce=window.getSelection())==null?void 0:Ce.type)==="Range")return;const ge=B+N.current.getVisibleColumns().length,ye=V.filter(Ee=>!Ee.dialogHidden&&(Ee.renderCell||Ee.valueGetter||Ee.field===ACTIONS||pe[Ee.field]!==void 0));ye.length<=ge||newDialog({title:"Details",onClose(){Z.current={}},Content(){const[Ee,ve]=reactExports.useState(pe),Pe=reactExports.useRef(pe);Ee&&(Pe.current=Ee);const Me=Pe.current;return Z.current={id:Me.id,setCurRow:ve},reactExports.createElement(Box,{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(8em,1fr))",gap:"1em",gridAutoFlow:"dense",minWidth:"max(16em, 40vw)",sx:{opacity:Ee?void 0:.5}},ye.map(Re=>reactExports.createElement(Box,{key:Re.field,gridColumn:Re.flex>=1?"1/-1":void 0},reactExports.createElement(Box,{bgcolor:"#0003",p:1},Re.headerName||Re.field),reactExports.createElement(Flex,{minHeight:"2.5em",px:1,wordBreak:"break-word",flexWrap:"wrap"},fe(Re,Me)))))}})},onColumnVisibilityModelChange:ue=>{X(ue),$&&updateStateObject(state,"dataTablePersistence",pe=>{pe[$]={columnVisibility:_.omitBy(ue,(ge,ye)=>J.includes(ye)===(ge===!1))}})},columnVisibilityModel:Ae(Ae(Ae({},Object.fromEntries(J.map(ue=>[ue,!1]))),I.columnVisibilityModel),Q)})));function fe(ue,pe){const ge=N.current;let ye=pe[ue.field];ue.valueGetter&&(ye=ue.valueGetter({value:ye,api:ge,row:pe,field:ue.field,id:pe.id}));const Ce=ue.originalRenderCell||ue.renderCell;return Ce&&Ce!==!0?Ce(Ae({value:ye,row:pe,api:ge},pe)):ue.valueFormatter?ue.valueFormatter(Ae({value:ye},pe)):ye}}function CustomFooter(g){var x=g,{add:d}=x,m=zt(x,["add"]);return reactExports.createElement(GridFooterContainer,m,reactExports.createElement(Box,{ml:{sm:1}},d),reactExports.createElement(GridFooter,{sx:{border:"none"}}))}const fillFlexParentSx={display:"flex",flexDirection:"column"};function ConfigForm(E){var v=E,{keys:d,form:m,saveOnChange:g,onSave:x}=v,b=zt(v,["keys","form","saveOnChange","onSave"]);const[C,S]=reactExports.useState(d),T=useApiEx(C&&"get_config",{only:C}),[$,k]=reactExports.useState(T.data);reactExports.useEffect(()=>k(L=>T.data||L),[T.data]);const I=$&&!_.isEqual($,T.data);reactExports.useEffect(()=>{I&&g&&A()},[I]);const D=_.isFunction(m)?m($,{setValues:k}):m;if(reactExports.useEffect(()=>{d||S(onlyTruthy(D.fields.map(L=>L==null?void 0:L.k)))},[d]),!$)return T.element;return reactExports.createElement(Form,$t(Ae(Ae({values:$,set(L,N){k(Y=>$t(Ae({},Y),{[N]:L}))},save:g?!1:Ae({onClick:A},propsForModifiedValues(I))},D),b),{barSx:Ae({gap:1},b.barSx),addToBar:[reactExports.createElement(IconBtn,{icon:RestartAlt,disabled:!I,title:"Reset",onClick(){k(T.data)}}),...b.addToBar||[]]}));function A(){return apiCall("set_config",{values:$}).then(x).then(T.reload)}}function BlockIpBtn(x){var b=x,{ip:d,comment:m}=b,g=zt(b,["ip","comment"]);const{data:E,refresh:v}=useBatch(isIpBlocked,d,{delay:100,expireAfter:5e3});return reactExports.createElement(IconBtn,$t(Ae(Ae({icon:Block,title:"Block IP",confirm:"Block address "+d},E&&{disabled:!0,title:"Blocked"}),g),{onClick(){return xt(this,null,function*(){yield apiCall("add_block",{ip:d,merge:{comment:m}}),v(),toast("Blocked","success")})}}))}function isIpBlocked(d){return xt(this,null,function*(){return apiCall("is_ip_blocked",{ips:d}).then(m=>m.blocked)})}const ALL=`🇦🇫|AF|Afghanistan
356
356
  🇦🇽|AX|Åland Islands
357
357
  🇦🇱|AL|Albania
358
358
  🇩🇿|DZ|Algeria
@@ -612,7 +612,7 @@ return result$$;`.replaceAll("$$",String(filterItemsApplierId)));return filterIt
612
612
  `).map(d=>{const[m,g,x]=d.split("|");return{flag:m,code:g,name:x}}),WITH_IP="AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GT,GU,GW,GY,HK,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,SS,ST,SV,SX,SY,SZ,TC,TD,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,"+"UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW".split(","),logLabels={log:"Served",error_log:"Not served",console:"Console",disconnections:"Disconnections",ips:"IP's"};let reloadIps;function LogsPage({setTitleSide:d}){const[m,g]=reactExports.useState(0),x=typedKeys(logLabels),b=!useBreakpoint("sm")&&{error_log:"Not",console:reactExports.createElement(Terminal),disconnections:reactExports.createElement(DisconnectIcon)},E=x[m],v=E.endsWith("log"),C=useApiEx("get_log_info");return d(reactExports.useMemo(()=>v&&(C.element||with_(C.data,T=>reactExports.createElement(Box,{fontSize:"smaller"},`Current: ${formatBytes(_.sum(Object.values(T.current)))}`,reactExports.createElement("br"),with_(Object.values(T.rotated).flat(),$=>`Archived: ${formatBytes(_.sumBy($,"size"))} / ${$.length} files`)))),[C.element,C.data,v])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{gap:0},reactExports.createElement(Tabs,{value:m,onChange(T,$){g($)}},x.map(T=>reactExports.createElement(Tab,{label:_.get(b,T)||logLabels[T],key:T,sx:{minWidth:0,px:{xs:1.5,sm:2}}}))),reactExports.createElement(Box,{flex:1}),reactExports.createElement(IconBtn,{icon:Download,title:v?"Download as file":"Not available",link:API_URL+`get_log_file?file=${E}`,disabled:!v}),reactExports.createElement(IconBtn,{icon:Settings,title:"Options",onClick:S})),x.map(T=>reactExports.createElement(LogFile,{hidden:E!==T,file:T,key:T,fillFlex:!0})));function S(){newDialog({title:"Log options",dialogProps:{sx:{maxWidth:"40em"}},Content(){return reactExports.createElement(ConfigForm,{barSx:Ae({gap:2,width:"100%"},useDialogBarColors()),form:{stickyBar:!0,fields:[{k:CFG.log,label:logLabels.log,sm:6,helperText:"Requests are logged here. Empty to disable it."},{k:CFG.error_log,label:logLabels.error_log,sm:6,placeholder:"errors go to main log",helperText:"Write errors in a different file. Empty to use same file."},{k:CFG.log_rotation,comp:SelectField,sm:6,options:[{value:"",label:"disabled"},"daily","weekly","monthly"],helperText:wikiLink("Logs#rotation","To keep log-files smaller")},{k:CFG.dont_log_net,comp:NetmaskField,label:"Don't log address",sm:6,placeholder:"no exception"},{k:CFG.log_gui,sm:6,comp:BoolField,label:"Log interface loading",helperText:"Some requests are necessary to load the interface"},{k:CFG.log_api,sm:6,comp:BoolField,label:"Log API requests",helperText:"Requests for commands"},{k:CFG.log_ua,sm:6,comp:BoolField,label:"Log User-Agent",helperText:"Contains browser and possibly OS information. Can double the size of your logs on disk."},{k:CFG.log_spam,sm:6,comp:BoolField,label:"Log spam requests",helperText:md`Spam requests are *failed* requests that you probably don't want to see`},{k:CFG.track_ips,sm:6,comp:BoolField,label:"Keep track of IPs",parentProps:{display:"flex",gap:1},after:reactExports.createElement(Btn,{size:"small",variant:"outlined",color:"warning",confirm:!0,doneMessage:!0,onClick:()=>apiCall("reset_ips").then(reloadIps)},"Reset")}]}})}})}}const LOGS_ON_FILE=[CFG.log,CFG.error_log];function LogFile(v){var C=v,{file:d,footerSide:m,hidden:g,limit:x,filter:b}=C,E=zt(C,["file","footerSide","hidden","limit","filter"]);const[S,T]=reactExports.useState(!1),[$,k]=reactExports.useState(!1),{pause:I,pauseButton:D}=usePauseButton(),[A,L]=useToggleButton("Show APIs","Hide APIs",ye=>({icon:SmartToy,sx:{rotate:ye?0:"180deg"},disabled:d==="console"}),!0),[N,Y]=reactExports.useState(NaN),[j,B]=reactExports.useState(!0),[z,V]=reactExports.useState(0),U=oo(2,20),W=!0,[J,Q]=reactExports.useState(!g);reactExports.useEffect(()=>Q(ye=>ye||!g),[g]);const X=LOGS_ON_FILE.includes(d);useApi(J&&X&&"get_log_file",{file:d,range:j||!z?String(-U):`0-${z}`},{skipParse:!0,skipLog:!0,onResponse(ye,Ce){var Pe;const Ee=Ce.split(`
613
613
  `);if(j){const Me=Number((Pe=splitAt("/",ye.headers.get("Content-Range")||""))==null?void 0:Pe[1]);if(isNaN(Me))throw _dbg("shouldn't happen");Y(Me),Ce.length>=Me?B(!1):V(Me-Ce.length+Ee.shift().length+1)}else z&&(toast(`Entire log loaded, ${formatBytes(z)}`),V(0));const ve=mapFilter(Ee,(Me,Re)=>ge(parseLogLine(Me,Re)),Boolean,W);oe(Me=>[...Me,...ve])}});const{list:Z,setList:oe,error:ie,connecting:ee,reload:re}=useApiList(J&&"get_log",{file:d},{limit:x,invert:W,pause:I,map:ge}),ce=d==="ips";ce&&(reloadIps=re);const fe={field:"ts",headerName:"Timestamp",type:"dateTime",width:96,valueGetter:({value:ye})=>new Date(ye),renderCell:({value:ye})=>reactExports.createElement(reactExports.Fragment,{},ye.toLocaleDateString(),reactExports.createElement("br"),ye.toLocaleTimeString())},ae={field:"ip",headerName:"Address",flex:.6,minWidth:130,maxWidth:230,mergeRender:{user:{display:"flex",justifyContent:"space-between",gap:".5em"},country:S&&{},ua:{}}},ue=reactExports.useMemo(()=>{var ye;return b?Z.filter(b):A||((ye=Z==null?void 0:Z[0])==null?void 0:ye.uri)===void 0?Z:Z.filter(Ce=>!Ce.uri.startsWith(API_URL))},[Z,A,b]),pe=d==="console";return g?null:reactExports.createElement(DataTable,$t(Ae({persist:"log_"+d,error:ie,loading:ee,rows:ue,compact:!0,actionsProps:{hideUnder:"md"},actions:pe?void 0:({row:ye})=>onlyTruthy([reactExports.createElement(BlockIpBtn,{ip:ye.ip,comment:"From log"}),ce&&reactExports.createElement(Btn,{icon:Delete,confirm:!0,title:`Delete ${ye.ip}`,doneMessage:!0,onClick:()=>apiCall("delete_ips",{ip:ye.ip}).then(()=>oe(Ce=>Ce.filter(Ee=>Ee.ip!==ye.ip)))}),ce&&reactExports.createElement(Btn,{icon:AutoDelete,confirm:!0,title:`Delete all records up to ${formatTimestamp$2(ye.ts)}`,onClick:()=>apiCall("delete_ips",{ts:ye.ts}).then(Ce=>toast(`${Ce.n} deleted`)).then(re)}),X&&reactExports.createElement(Btn,{icon:ContentCopy,title:"Copy request",onClick(){copyTextToClipboard(JSON.stringify(_.omit(ye,"id"),void 0,2))}})]),initialState:ce?{sorting:{sortModel:[{field:"ts",sort:"desc"}]}}:void 0},E),{footerSide:ye=>reactExports.createElement(Box,{},D,L,!ee&&z>0&&reactExports.createElement(Btn,{icon:ClearAll,variant:"outlined",sx:{ml:{sm:1}},labelIf:ye>700,title:`Only ${formatBytes(U)} was loaded, for speed. Total size is ${formatBytes(N)}`,loading:!j,onClick:()=>B(!1)},"Load whole log"),m),columns:pe?[fe,{field:"k",headerName:"Level",hideUnder:"sm"},{field:"msg",headerName:"Message",flex:1,mergeRender:{k:{override:{valueFormatter:({value:ye})=>ye!=="log"&&ye}}}}]:ce||d==="disconnections"?[fe,ae,{headerName:"Country",field:"country",flex:1,hideUnder:!S||"md",valueGetter:({value:ye})=>{var Ce;return((Ce=_.find(ALL,{code:ye}))==null?void 0:Ce.name)||ye},renderCell:({row:ye})=>reactExports.createElement(Country,{code:ye.country,long:!0,def:"-"})},!ce&&{field:"msg",headerName:"Message",flex:4}]:[ae,{headerName:"Country",field:"country",valueGetter:({row:ye})=>{var Ce;return(Ce=ye.extra)==null?void 0:Ce.country},hideUnder:!S||"xl",renderCell:({value:ye})=>reactExports.createElement(Country,{code:ye,def:"-"})},{field:"user",headerName:"Username",flex:.3,maxWidth:200,hideUnder:"xl"},fe,{field:"method",headerName:"Method",width:80,hideUnder:"xl"},{field:"status",headerName:"Code",type:"number",width:70,hideUnder:"xl",renderCell:({value:ye})=>hTooltip(prefix(ye+" - ",httpCodes[ye])||"Unknown",void 0,reactExports.createElement(Box,{bgcolor:"#888a",color:"#fff",borderRadius:".3em",p:".05em .2em"},ye))},{field:"length",headerName:"Size",type:"number",hideUnder:"md",valueFormatter:({value:ye})=>formatBytes(ye)},{headerName:"Agent",field:"ua",width:60,hideUnder:!$||"md",valueGetter:({row:ye})=>{var Ce;return(Ce=ye.extra)==null?void 0:Ce.ua},renderCell:({value:ye})=>agentIcons(ye)},{field:"notes",headerName:"Notes",width:110,hideUnder:"sm",cellClassName:"wrap",renderCell:({value:ye})=>ye&&md(ye)},{field:"uri",headerName:"URI",flex:2,minWidth:100,sx:{wordBreak:"break-all"},mergeRender:{method:{},status:{}},renderCell:({value:ye,row:Ce})=>{var De;const[Ee,ve]=splitAt("?",ye).map(Ye=>safeDecodeURIComponent(Ye)),Pe=(De=Ce.extra)==null?void 0:De.ul;if(_.isArray(Pe))return Ee+Pe.join(" + ");if(!Ee.startsWith(API_URL))return[Ee,ve&&reactExports.createElement(Box,{key:0,component:"span",color:"text.secondary",fontSize:"smaller"},"?",ve)];const Me=Ee.slice(API_URL.length),Re=ve&&": "+Array.from(new URLSearchParams(ve)).map(Ye=>{var Le;return`${Ye[0]}=${(Le=tryJson(Ye[1]))!=null?Le:Ye[1]}`}).join(" ; ");return"API "+Me+Re}},{field:"agentText",valueGetter:({row:ye})=>{var Ce;return(Ce=ye.extra)==null?void 0:Ce.ua},headerName:"Agent text",flex:2,hideUnder:!0}]}));function ge(ye){var Ee,ve,Pe;if(!ye)return;const{extra:Ce}=ye;if((Ce!=null&&Ce.country||ye.country)&&!S&&T(!0),Ce!=null&&Ce.ua&&!$&&k(!0),ye.uri){const Me=ye.method==="PUT"||(Ce==null?void 0:Ce.ul),Re=Me&&stringAfter("?",ye.uri).includes("partial=");Me&&(ye.length=((Ee=Ce==null?void 0:Ce.size)!=null?Ee:0)+(!Re&&Number((ve=ye.uri.match(/\?.*resume=(\d+)/))==null?void 0:ve[1])||0)),ye.notes=Ce!=null&&Ce.dl?"full download "+(Ce.speed?formatSpeed(Ce.speed,{sep:" "}):""):Me?`${Re?"partial ":""} upload ${Ce.speed?formatSpeed(Ce.speed,{sep:" "}):""}`:ye.status===HTTP_UNAUTHORIZED&&((Pe=ye.uri)!=null&&Pe.startsWith(API_URL+"loginSrp"))?"login failed"+prefix(`:
614
614
  `,Ce==null?void 0:Ce.u):_.map(Ce==null?void 0:Ce.params,(De,Ye)=>`${Ye}: ${De}
615
- `).join("")+(ye.notes||""),Ce!=null&&Ce.aborted&&(ye.notes+=" (aborted)")}return ye}}const UW="https://upload.wikimedia.org/wikipedia/commons/",CLIENT_ICONS={Chrome:UW+"e/e1/Google_Chrome_icon_%28February_2022%29.svg",Chromium:UW+"f/fe/Chromium_Material_Icon.svg",Firefox:UW+"a/a0/Firefox_logo%2C_2019.svg",Safari:UW+"5/52/Safari_browser_logo.svg",Edge:UW+"9/98/Microsoft_Edge_logo_%282019%29.svg",Opera:UW+"4/49/Opera_2015_icon.svg",Finder:UW+"thumb/b/b9/Finder_Icon_macOS_Tahoe.png/250px-Finder_Icon_macOS_Tahoe.png",Cyberduck:UW+"archive/4/48/20091115091336%21Cyberduck_icon.png",ForkLift:UW+"../en/9/96/ForkLift_3_File_Manager_and_File_Transfer_Client_Logo.png"},OS_ICONS={Android:UW+"d/d7/Android_robot.svg",Linux:UW+"0/0a/Tux-shaded.svg",Windows:UW+"0/0a/Unofficial_Windows_logo_variant_-_2002%E2%80%932012_%28Multicolored%29.svg",macOS:UW+"7/74/Apple_logo_dark_grey.svg",iOS:UW+"7/74/Apple_logo_dark_grey.svg"},OSS={iOS:/iPhone OS|iPad/,macOS:/Mac OS|Darwin/,Windows:/Windows NT/,Android:/Android/,Linux:/Linux/};function agentIcons(d){if(!d)return;const m=shortenAgent(d),g=reactExports.createElement(AgentIcon,{k:m,altText:!0,map:CLIENT_ICONS}),x=_.findKey(OSS,b=>b.test(d));return reactExports.createElement(Box,{fontSize:"110%"},g," ",x&&osIcon(x))}const alreadyFailed={};function osIcon(d){return reactExports.createElement(AgentIcon,{k:d,map:OS_ICONS})}function AgentIcon({k:d,map:m,altText:g}){const x=m[d],[b,E]=reactExports.useState(alreadyFailed[d]);return!x||b?reactExports.createElement(reactExports.Fragment,{},g?d:null):reactExports.createElement("img",{src:x,alt:d+" icon",title:d,style:{height:"1.2em",verticalAlign:"bottom",marginRight:".2em"},onError(){E(alreadyFailed[d]=!0)}})}function parseLogLine(d,m){const g=/^(.+?) (.+?) (.+?) \[(.{11}):(.{14})] "(\w+) ([^"]+) HTTP\/\d.\d" (\d+) (-|\d+) ?(.*)/.exec(d);if(!g)return;const[,x,,b,E,v,C,S,T,$,k]=g;return{id:m,ip:x,user:b==="-"?void 0:b,ts:new Date(E+" "+v),method:C,uri:S,status:Number(T),length:$==="-"?void 0:Number($),extra:tryJson(tryJson(k))||void 0}}function VfsPathField(S){var T=S,{value:d="",onChange:m,helperText:g,setApi:x,autocompleteProps:b,folders:E=!0,files:v=!0}=T,C=zt(T,["value","onChange","helperText","setApi","autocompleteProps","folders","files"]);const $=dirname(d),{list:k,loading:I}=useApiList("get_file_list",{uri:$,admin:!0,fileMask:typeof v=="string"?v:void 0,onlyFolders:!v}),D=reactExports.useMemo(()=>{const A=[$&&dirname($)+"/",$+"/"].filter(Boolean).concat(k.map(L=>$+"/"+L.n));return d&&!A.includes(d)&&A.push(d),A},[k,$]);return x==null||x({getError(){return!E&&(d==null?void 0:d.endsWith("/"))&&"must be a file"||!1}}),reactExports.createElement(Autocomplete,Ae({value:d,options:D,isOptionEqualToValue:(A,L)=>A===L||A===L+"/",loading:I,disableClearable:!0,disableCloseOnSelect:!0,renderInput:A=>reactExports.createElement(TextField,$t(Ae(Ae({helperText:g,onChange(L){const N=L.target.value;(N.endsWith("/")||!N)&&m(N,{was:d,event:L})},onBlur(L){const N=enforceFinal("/",L.target.value);D.includes(N)&&m(N,{was:d,event:L})}},A),C),{InputLabelProps:Ae(Ae({shrink:!0},A.InputLabelProps),C.InputLabelProps)})),onChange:(A,L)=>m(L,{was:d,event:A})},b))}function VfsMenuBar({statusApi:d,add:m}){const{vfsModified:g,vfsUndo:x}=useSnapState();return reactExports.createElement(Flex,{zIndex:2,gap:1,backgroundColor:"background.paper",width:"fit-content"},reactExports.createElement(AddVfsBtn),reactExports.createElement(Btn,{icon:Save,title:"Save",disabled:!g&&"No changes to save",modified:g,doneAnimation:!0,onClick:saveVfs}),reactExports.createElement(Btn,{icon:Undo,title:"Undo/redo last change",disabled:!x&&"No changes to undo",onClick:undoVfs}),reloadBtn(()=>reloadVfs()),reactExports.createElement(Btn,{icon:Storage,title:"Disk spaces",onClick:()=>apiCall("get_disk_spaces").then(b=>alertDialog(reactExports.createElement(List,{dense:!0},b.map(E=>reactExports.createElement(ListItem,{key:E.name},reactExports.createElement(ListItemIcon,{},reactExports.createElement(Storage)),reactExports.createElement(ListItemText,{sx:{wordBreak:"break-word"},primary:E.name+prefix(" (",E.description,")"),secondary:formatDiskSpace(E)})))),{title:"Disk spaces"}).then(()=>!1),alertDialog)}),m,reactExports.createElement(SystemIntegrationButton,d.data))}function AddVfsBtn(d){return reactExports.createElement(MenuButton,$t(Ae({variant:"contained",icon:Add,title:"Add item to virtual file system"},d),{items:[{children:"virtual folder",onClick:addVirtual},{children:"file or folder from disk",onClick:addFiles},{children:"web-link",onClick:addLink}]}))}function SystemIntegrationButton({platform:d}){const m=d==="win32",{data:g,reload:x}=useApi(m&&"windows_integrated"),b=useBreakpoint("sm");return m?reactExports.createElement(Btn,Ae({icon:osIcon("Windows"),variant:"outlined",doneMessage:!0},g!=null&&g.is?{confirm:!0,children:"Remove integration",onClick:()=>apiCall("windows_remove").then(x)}:{children:"System integration",onClick(){return xt(this,null,function*(){const v=reactExports.createElement(Box,{width:{xs:"100%",sm:"34em"}},reactExports.createElement("img",{src:"win-shell.png",style:{display:"block",width:"100%"}}),reactExports.createElement(Alert,{severity:"info"},"We are going to add a command in the right-click of Windows File Manager.",reactExports.createElement(Box,{},"It will also automatically copy the URL, ready to paste!"))),C=yield promptDialog(v,{field:{comp:VfsPathField,files:!1,label:"Add to this folder",placeholder:"home",autoFocus:b},form:{saveOnEnter:!1}});return typeof C=="string"&&apiCall("windows_integration",{parent:C}).then(x)})}})):null}function saveVfs(){return xt(this,null,function*(){yield apiCall("set_vfs",{uri:"/",props:function d(m=state.vfs){var x;const g=_.pick(m,VFS_STORED_KEYS);return g.children=(x=m==null?void 0:m.children)==null?void 0:x.map(d),g}()}),state.vfsModified=!1})}const FolderIcon=Folder,FileIcon=InsertDriveFileOutlined;let once=!0;const SPECIAL_TREE_ITEM="?";function VfsTree({statusApi:d}){var D;const{vfs:m,selectedFiles:g,expanded:x}=useSnapState(),b=reactExports.useRef(),E=reactExports.useCallback(function({node:A}){var U,J,Q,X;let{id:L,name:N,isRoot:Y}=A;const j=A.type==="folder",B=reactExports.useRef();return Y&&B.current&&((U=B.current.firstElementChild)==null||U.classList.toggle("Mui-selected",!(g.length&&!_.find(g,{id:"/"})))),reactExports.createElement(TreeItem,{ref(Z){Z==null||Z.addEventListener("focusin",oe=>oe.stopImmediatePropagation()),B.current=Z},onDoubleClick:V,label:reactExports.createElement(Box,{draggable:!Y,onDragStart(){b.current=L},onDragOver(Z){if(!j)return;const oe=b.current;oe!=null&&oe.startsWith(L)&&!oe.slice(L.length+1,-1).includes("/")||Z.preventDefault()},onDrop(){return xt(this,null,function*(){var ie,ee;const Z=b.current;if(!Z)return;const oe=(ie=id2vfsNode.get(Z))==null?void 0:ie.name;moveVfs(Z,L)&&toast(`Moved "${oe}" under "${(ee=id2vfsNode.get(L))==null?void 0:ee.name}"`,"success")})},sx:{display:"flex",gap:".5em",minHeight:"1.8em",pt:".2em"}},reactExports.createElement(Box,{display:"flex",flex:0},vfsNodeIcon(A),reactExports.createElement(Box,{sx:{flex:0,ml:"2px",my:"2px","&>*":{fontSize:"87%",opacity:.6,mt:"-2px"},display:"grid",gridAutoFlow:"column",gridTemplateRows:"auto auto",height:"1em"}},A.can_delete!=null&&iconTooltip(Delete,"Delete permission"),A.can_upload!=null&&iconTooltip(Upload,"Upload permission"),!Y&&!A.source&&!A.url&&iconTooltip(Cloud,"Virtual (no source)"),z(A.can_see)&&iconTooltip(RemoveRedEye,"Restrictions on who can see"),z(A.can_read)&&iconTooltip(Lock,"Restrictions on who can download"),A.default&&iconTooltip(Web,"Show as web-page"),A.masks&&iconTooltip(TheaterComedy,"Masks"),A.size===-1&&iconTooltip(HighlightOff,"Source not found"),with_(_.findKey((J=d.data)==null?void 0:J.roots,Z=>Z===L.slice(1)),Z=>Z&&iconTooltip(Home,`home for ${Z}`)))),Y?"Home folder":N),collapseIcon:reactExports.createElement(ExpandMore,{onClick:V}),expandIcon:reactExports.createElement(ChevronRight,{onClick:V}),nodeId:L},with_(A.source&&j?"files from "+A.source:!((Q=A.children)!=null&&Q.length)&&Y&&"nothing here",Z=>Z&&reactExports.createElement(TreeItem,{nodeId:SPECIAL_TREE_ITEM+L,label:reactExports.createElement("i",{},Z)})),...((X=A.children)==null?void 0:X.map(Z=>reactExports.createElement(E,{key:Z.id,node:Z})))||[]);function z(Z){return Z!=null&&Z!==!0}function V(Z){const oe=state.expanded;state.expanded=oe.includes(L)?oe.filter(ie=>ie!==L):[...oe,L],Z.preventDefault(),Z.stopPropagation()}},[d.data]),v=reactExports.useRef(null),C=id2vfsNode.size>0&&x.length===id2vfsNode.size,S=["/",...((D=m==null?void 0:m.children)==null?void 0:D.length)===1?[m.children[0].id]:[]];once&&(once=!1,state.expanded=S);const[T,$]=useToggleButton("Collapse all","Expand all",A=>({icon:A?UnfoldLess:UnfoldMore,sx:{rotate:A?0:"180deg"},onClick(){state.expanded=C?S:Array.from(id2vfsNode.keys())}}),C);reactExports.useEffect(()=>{state.expanded=_.uniq(state.expanded.concat(state.selectedFiles.map(A=>{var L;return((L=A.parent)==null?void 0:L.id)||""})))},[state.vfs]);const k="vfs",I=g[0];return reactExports.useEffect(()=>{var A;return(A=document.getElementById(`${k}-${I==null?void 0:I.id}`))==null?void 0:A.scrollIntoView({block:"nearest",behavior:"instant"})},[I]),reactExports.createElement(Flex,{flexDirection:"column",alignItems:"stretch",flex:1},reactExports.createElement(Flex,{mb:1,flexWrap:"wrap",gap:[1,2]},reactExports.createElement(Typography,{variant:"h6"},"Virtual File System"),reactExports.createElement(VfsMenuBar,{statusApi:d,add:$})),m&&reactExports.createElement(TreeView,{ref:v,expanded:toMutable(x),selected:g.map(A=>A.id),multiSelect:!0,id:k,sx:{height:0,flex:"1 1 auto",overflowX:"auto",maxWidth:v.current&&`calc(100vw - ${16+v.current.offsetLeft}px)`,"& ul":{borderLeft:"1px dashed #444",marginLeft:"15px",paddingLeft:"15px"}},onNodeSelect(A,L){var N,Y;state.selectedFiles=onlyTruthy(wantArray(L).map(j=>id2vfsNode.get(j))),state.vfsShowDiskContentFor=L.length===1&&((N=L[0])==null?void 0:N[0])===SPECIAL_TREE_ITEM&&((Y=id2vfsNode.get(L[0].slice(1)))==null?void 0:Y.source)||""}},reactExports.createElement(E,{node:m})))}function moveVfs(d,m){var k,I;const g=id2vfsNode.get(d);if(!g)return!alertDialog("Item to move not found","error");if(g.isRoot)return!alertDialog("Cannot move root","error");const x=id2vfsNode.get(m);if(!x||x.type!=="folder")return!alertDialog("Destination folder not found","error");if(isDescendantUri(m,d))return!alertDialog("Cannot move inside itself","error");if((k=x.children)!=null&&k.find(D=>D.name===g.name))return!alertDialog("Item with same name already present in destination","error");const b=(I=g.parent)==null?void 0:I.children;if(!b)return!alertDialog("Source parent not found","error");const E=g.parent,v=g.name,C=g.type==="folder",S=$(x);prepareVfsUndo(),_.remove(b,{id:g.id}),!b.length&&E&&(E.children=void 0),addToChildrenOf(x,[g]);const T=prefix(m,pathEncode(v),C?"/":"");return reindexVfs({select:[T]}),state.expanded=_.uniq([...state.expanded,...S]),!0;function $(D){const A=[];let L=D;for(;L;)A.push(L.id),L=L.parent;return A}}function vfsNodeIcon(d){return d.isRoot?iconTooltip(Home,"home, or root if you like"):d.type==="folder"?iconTooltip(FolderIcon,"Folder"):d.url?iconTooltip(Link$2,"Web-link"):iconTooltip(FileIcon,"File")}function addToChildrenOf(d,m){d.children||(d.children=[]),d.children.push(...m),markVfsModified()}var safeIsNaN=Number.isNaN||function(m){return typeof m=="number"&&m!==m};function isEqual(d,m){return!!(d===m||safeIsNaN(d)&&safeIsNaN(m))}function areInputsEqual(d,m){if(d.length!==m.length)return!1;for(var g=0;g<d.length;g++)if(!isEqual(d[g],m[g]))return!1;return!0}function memoizeOne(d,m){m===void 0&&(m=areInputsEqual);var g,x=[],b,E=!1;function v(){for(var C=[],S=0;S<arguments.length;S++)C[S]=arguments[S];return E&&g===this&&m(C,x)||(b=d.apply(this,C),E=!0,g=this,x=C),b}return v}var hasNativePerformanceNow=typeof performance=="object"&&typeof performance.now=="function",now=hasNativePerformanceNow?function(){return performance.now()}:function(){return Date.now()};function cancelTimeout(d){cancelAnimationFrame(d.id)}function requestTimeout(d,m){var g=now();function x(){now()-g>=m?d.call(null):b.id=requestAnimationFrame(x)}var b={id:requestAnimationFrame(x)};return b}var size=-1;function getScrollbarSize(d){if(d===void 0&&(d=!1),size===-1||d){var m=document.createElement("div"),g=m.style;g.width="50px",g.height="50px",g.overflow="scroll",document.body.appendChild(m),size=m.offsetWidth-m.clientWidth,document.body.removeChild(m)}return size}var cachedRTLResult=null;function getRTLOffsetType(d){if(d===void 0&&(d=!1),cachedRTLResult===null||d){var m=document.createElement("div"),g=m.style;g.width="50px",g.height="50px",g.overflow="scroll",g.direction="rtl";var x=document.createElement("div"),b=x.style;return b.width="100px",b.height="100px",m.appendChild(x),document.body.appendChild(m),m.scrollLeft>0?cachedRTLResult="positive-descending":(m.scrollLeft=1,m.scrollLeft===0?cachedRTLResult="negative":cachedRTLResult="positive-ascending"),document.body.removeChild(m),cachedRTLResult}return cachedRTLResult}var IS_SCROLLING_DEBOUNCE_INTERVAL$1=150,defaultItemKey$1=function(m,g){return m};function createListComponent(d){var m,g=d.getItemOffset,x=d.getEstimatedTotalSize,b=d.getItemSize,E=d.getOffsetForIndexAndAlignment,v=d.getStartIndexForOffset,C=d.getStopIndexForStartIndex,S=d.initInstanceProps,T=d.shouldResetStyleCacheOnItemSizeChange,$=d.validateProps;return m=function(k){_inheritsLoose(I,k);function I(A){var L;return L=k.call(this,A)||this,L._instanceProps=S(L.props,_assertThisInitialized(L)),L._outerRef=void 0,L._resetIsScrollingTimeoutId=null,L.state={instance:_assertThisInitialized(L),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof L.props.initialScrollOffset=="number"?L.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},L._callOnItemsRendered=void 0,L._callOnItemsRendered=memoizeOne(function(N,Y,j,B){return L.props.onItemsRendered({overscanStartIndex:N,overscanStopIndex:Y,visibleStartIndex:j,visibleStopIndex:B})}),L._callOnScroll=void 0,L._callOnScroll=memoizeOne(function(N,Y,j){return L.props.onScroll({scrollDirection:N,scrollOffset:Y,scrollUpdateWasRequested:j})}),L._getItemStyle=void 0,L._getItemStyle=function(N){var Y=L.props,j=Y.direction,B=Y.itemSize,z=Y.layout,V=L._getItemStyleCache(T&&B,T&&z,T&&j),U;if(V.hasOwnProperty(N))U=V[N];else{var W=g(L.props,N,L._instanceProps),J=b(L.props,N,L._instanceProps),Q=j==="horizontal"||z==="horizontal",X=j==="rtl",Z=Q?W:0;V[N]=U={position:"absolute",left:X?void 0:Z,right:X?Z:void 0,top:Q?0:W,height:Q?"100%":J,width:Q?J:"100%"}}return U},L._getItemStyleCache=void 0,L._getItemStyleCache=memoizeOne(function(N,Y,j){return{}}),L._onScrollHorizontal=function(N){var Y=N.currentTarget,j=Y.clientWidth,B=Y.scrollLeft,z=Y.scrollWidth;L.setState(function(V){if(V.scrollOffset===B)return null;var U=L.props.direction,W=B;if(U==="rtl")switch(getRTLOffsetType()){case"negative":W=-B;break;case"positive-descending":W=z-j-B;break}return W=Math.max(0,Math.min(W,z-j)),{isScrolling:!0,scrollDirection:V.scrollOffset<W?"forward":"backward",scrollOffset:W,scrollUpdateWasRequested:!1}},L._resetIsScrollingDebounced)},L._onScrollVertical=function(N){var Y=N.currentTarget,j=Y.clientHeight,B=Y.scrollHeight,z=Y.scrollTop;L.setState(function(V){if(V.scrollOffset===z)return null;var U=Math.max(0,Math.min(z,B-j));return{isScrolling:!0,scrollDirection:V.scrollOffset<U?"forward":"backward",scrollOffset:U,scrollUpdateWasRequested:!1}},L._resetIsScrollingDebounced)},L._outerRefSetter=function(N){var Y=L.props.outerRef;L._outerRef=N,typeof Y=="function"?Y(N):Y!=null&&typeof Y=="object"&&Y.hasOwnProperty("current")&&(Y.current=N)},L._resetIsScrollingDebounced=function(){L._resetIsScrollingTimeoutId!==null&&cancelTimeout(L._resetIsScrollingTimeoutId),L._resetIsScrollingTimeoutId=requestTimeout(L._resetIsScrolling,IS_SCROLLING_DEBOUNCE_INTERVAL$1)},L._resetIsScrolling=function(){L._resetIsScrollingTimeoutId=null,L.setState({isScrolling:!1},function(){L._getItemStyleCache(-1,null)})},L}I.getDerivedStateFromProps=function(L,N){return validateSharedProps$1(L,N),$(L),null};var D=I.prototype;return D.scrollTo=function(L){L=Math.max(0,L),this.setState(function(N){return N.scrollOffset===L?null:{scrollDirection:N.scrollOffset<L?"forward":"backward",scrollOffset:L,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},D.scrollToItem=function(L,N){N===void 0&&(N="auto");var Y=this.props,j=Y.itemCount,B=Y.layout,z=this.state.scrollOffset;L=Math.max(0,Math.min(L,j-1));var V=0;if(this._outerRef){var U=this._outerRef;B==="vertical"?V=U.scrollWidth>U.clientWidth?getScrollbarSize():0:V=U.scrollHeight>U.clientHeight?getScrollbarSize():0}this.scrollTo(E(this.props,L,N,z,this._instanceProps,V))},D.componentDidMount=function(){var L=this.props,N=L.direction,Y=L.initialScrollOffset,j=L.layout;if(typeof Y=="number"&&this._outerRef!=null){var B=this._outerRef;N==="horizontal"||j==="horizontal"?B.scrollLeft=Y:B.scrollTop=Y}this._callPropsCallbacks()},D.componentDidUpdate=function(){var L=this.props,N=L.direction,Y=L.layout,j=this.state,B=j.scrollOffset,z=j.scrollUpdateWasRequested;if(z&&this._outerRef!=null){var V=this._outerRef;if(N==="horizontal"||Y==="horizontal")if(N==="rtl")switch(getRTLOffsetType()){case"negative":V.scrollLeft=-B;break;case"positive-ascending":V.scrollLeft=B;break;default:var U=V.clientWidth,W=V.scrollWidth;V.scrollLeft=W-U-B;break}else V.scrollLeft=B;else V.scrollTop=B}this._callPropsCallbacks()},D.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&cancelTimeout(this._resetIsScrollingTimeoutId)},D.render=function(){var L=this.props,N=L.children,Y=L.className,j=L.direction,B=L.height,z=L.innerRef,V=L.innerElementType,U=L.innerTagName,W=L.itemCount,J=L.itemData,Q=L.itemKey,X=Q===void 0?defaultItemKey$1:Q,Z=L.layout,oe=L.outerElementType,ie=L.outerTagName,ee=L.style,re=L.useIsScrolling,ce=L.width,fe=this.state.isScrolling,ae=j==="horizontal"||Z==="horizontal",ue=ae?this._onScrollHorizontal:this._onScrollVertical,pe=this._getRangeToRender(),ge=pe[0],ye=pe[1],Ce=[];if(W>0)for(var Ee=ge;Ee<=ye;Ee++)Ce.push(reactExports.createElement(N,{data:J,key:X(Ee,J),index:Ee,isScrolling:re?fe:void 0,style:this._getItemStyle(Ee)}));var ve=x(this.props,this._instanceProps);return reactExports.createElement(oe||ie||"div",{className:Y,onScroll:ue,ref:this._outerRefSetter,style:_extends$1({position:"relative",height:B,width:ce,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:j},ee)},reactExports.createElement(V||U||"div",{children:Ce,ref:z,style:{height:ae?"100%":ve,pointerEvents:fe?"none":void 0,width:ae?ve:"100%"}}))},D._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var L=this.props.itemCount;if(L>0){var N=this._getRangeToRender(),Y=N[0],j=N[1],B=N[2],z=N[3];this._callOnItemsRendered(Y,j,B,z)}}if(typeof this.props.onScroll=="function"){var V=this.state,U=V.scrollDirection,W=V.scrollOffset,J=V.scrollUpdateWasRequested;this._callOnScroll(U,W,J)}},D._getRangeToRender=function(){var L=this.props,N=L.itemCount,Y=L.overscanCount,j=this.state,B=j.isScrolling,z=j.scrollDirection,V=j.scrollOffset;if(N===0)return[0,0,0,0];var U=v(this.props,V,this._instanceProps),W=C(this.props,U,V,this._instanceProps),J=!B||z==="backward"?Math.max(1,Y):1,Q=!B||z==="forward"?Math.max(1,Y):1;return[Math.max(0,U-J),Math.max(0,Math.min(N-1,W+Q)),U,W]},I}(reactExports.PureComponent),m.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},m}var validateSharedProps$1=function(m,g){m.children,m.direction,m.height,m.layout,m.innerTagName,m.outerTagName,m.width,g.instance},FixedSizeList=createListComponent({getItemOffset:function(m,g){var x=m.itemSize;return g*x},getItemSize:function(m,g){var x=m.itemSize;return x},getEstimatedTotalSize:function(m){var g=m.itemCount,x=m.itemSize;return x*g},getOffsetForIndexAndAlignment:function(m,g,x,b,E,v){var C=m.direction,S=m.height,T=m.itemCount,$=m.itemSize,k=m.layout,I=m.width,D=C==="horizontal"||k==="horizontal",A=D?I:S,L=Math.max(0,T*$-A),N=Math.min(L,g*$),Y=Math.max(0,g*$-A+$+v);switch(x==="smart"&&(b>=Y-A&&b<=N+A?x="auto":x="center"),x){case"start":return N;case"end":return Y;case"center":{var j=Math.round(Y+(N-Y)/2);return j<Math.ceil(A/2)?0:j>L+Math.floor(A/2)?L:j}case"auto":default:return b>=Y&&b<=N?b:b<Y?Y:N}},getStartIndexForOffset:function(m,g){var x=m.itemCount,b=m.itemSize;return Math.max(0,Math.min(x-1,Math.floor(g/b)))},getStopIndexForStartIndex:function(m,g,x){var b=m.direction,E=m.height,v=m.itemCount,C=m.itemSize,S=m.layout,T=m.width,$=b==="horizontal"||S==="horizontal",k=g*C,I=$?T:E,D=Math.ceil((I+x-k)/C);return Math.max(0,Math.min(v-1,g+D-1))},initInstanceProps:function(m){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(m){m.itemSize}});let lastPath=".";function FilePicker({onSelect:d,multiple:m=!0,files:g=!0,folders:x=!0,fileMask:b,from:E=lastPath}){const[v,C]=reactExports.useState(E);lastPath=v;const[S,T]=reactExports.useState(!1),$=reactExports.useRef(!1);useApi(!S&&"resolve_path",{path:E,closestFolder:!0},{onResponse:(ce,fe)=>xt(this,null,function*(){try{const{path:ae}=fe;if(typeof ae!="string")return;C(ae),$.current=ae[1]===":"||ae.startsWith("\\\\")}finally{T(!0)}})});const{list:k,props:I,error:D,connecting:A,reload:L}=useApiList(S&&"get_ls",{path:v,files:g,fileMask:b});reactExports.useEffect(()=>{Y([]),B("")},[v]);const[N,Y]=reactExports.useState([]),[j,B]=reactExports.useState(""),z=reactExports.useMemo(()=>_.debounce(ce=>B(ce)),[]),V=reactExports.useMemo(()=>{const ce=new RegExp(_.escapeRegExp(j),"i");return fe=>ce.test(fe)},[j]),U=useBreakpoint("sm"),[W,J]=reactExports.useState(0),Q=reactExports.useMemo(()=>_.sortBy(k.filter(ce=>V(ce.n)),["k","n"]),[k,V]),X=$.current?"":"/",Z=$.current?"\\":"/",oe=enforceFinal(Z,v),ie=v.length<2;return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(StringField,{label:"Current folder",value:v,InputLabelProps:{shrink:!0},helperText:"UNC paths are supported",onChange(ce){return xt(this,null,function*(){if(!ce)return C(X);const fe=yield apiCall("resolve_path",{path:ce});if(fe.isFolder===!1)return g?d([ce]):C(ce.slice(0,-basename(ce).length-1));C(fe.path)})},end:reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconBtn,{title:"root",disabled:ie,icon:VerticalAlignTop,onClick(){C(X)}}),reactExports.createElement(IconBtn,{title:"parent folder",disabled:ie,icon:ArrowUpward,onClick(){const ce=/[\\/]$/.test(v)?v.slice(0,-1):v,fe=ce.lastIndexOf(Z),ae=fe===1,ue=isWindowsDrive(ce)||ae?X:ce.slice(0,fe||1);C(ue)}}))}),D?reactExports.createElement(Alert,{severity:"error",sx:{flex:1}},err2msg$1(D)):reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{ref(ce){if(!ce)return;const fe=(ce==null?void 0:ce.clientHeight)-1;fe-W>1&&J(fe)},sx:{flex:1,display:"flex",flexDirection:"column"}},k.length?reactExports.createElement(FixedSizeList,{width:"100%",height:W,itemSize:46,itemCount:Q.length,overscanCount:5,children({index:ce,style:fe}){const ae=Q[ce],ue=ae.k==="d";return reactExports.createElement(MenuItem,{style:$t(Ae({},fe),{padding:0}),key:ae.n,onClick(){ue?C(oe+ae.n):d([oe+ae.n])}},m&&reactExports.createElement(Checkbox$1,{checked:N.includes(ae.n),disabled:!x&&ue,onClick(pe){const ge=ae.n+(ae.k?"/":""),ye=N.filter(Ce=>Ce!==ge);Y(ye.length<N.length?ye:[...N,ge]),pe.stopPropagation()}}),reactExports.createElement(ListLsItem,{it:ae}))}}):reactExports.createElement(Center,{flex:1,mt:"4em"},A?spinner():"No elements in this folder")),reactExports.createElement(Flex,{alignItems:"center"},(m||x||!g)&&reactExports.createElement(Btn,{disabled:!N.length&&(!v||!x&&g),sx:{minWidth:"max-content"},onClick(){d(N.length?N.map(ce=>oe+ce):[v+"/"])}},g&&(N.length||!x)?`Select (${N.length})`:U?"Select this folder":"This folder"),x&&reactExports.createElement(Btn,{icon:CreateNewFolder,variant:"outlined",doneMessage:!0,labelIf:"sm",onClick(){return xt(this,null,function*(){const ce=yield promptDialog("New folder name");if(!ce)return!1;yield apiCall("mkdir",{path:`${v}/${ce}`}),L()})}},"New folder"),reactExports.createElement(TextField,{size:"small",value:j,label:`Filter results (${Q.length}${Q.length<k.length?"/"+k.length:""})`,onChange(ce){z(ce.target.value)},sx:{flex:1}}),(I==null?void 0:I.total)>0&&reactExports.createElement(IconProgress,{icon:Storage,progress:1,offset:(I.total-I.free)/I.total,title:formatDiskSpace(I)}))))}function formatDiskSpace({free:d,total:m}){return`${formatBytes(d)} available (${formatPerc(d/m)}) of ${formatBytes(m)}`}function ListLsItem({it:d}){return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(ListItemIcon,{},reactExports.createElement(d.k?FolderIcon:FileIcon)),reactExports.createElement(ListItemText,{sx:{whiteSpace:"pre-wrap",wordBreak:"break-all"}},d.n),!d.k&&d.s!==void 0&&reactExports.createElement(Typography,{variant:"body2",color:"text.secondary",ml:4,mr:1},formatBytes(d.s)))}const _excluded$v=["localeText"],MuiPickersAdapterContext=reactExports.createContext(null),LocalizationProvider=function(m){var g;const{localeText:x}=m,b=_objectWithoutPropertiesLoose(m,_excluded$v),{utils:E,localeText:v}=(g=reactExports.useContext(MuiPickersAdapterContext))!=null?g:{utils:void 0,localeText:void 0},C=useThemeProps({props:b,name:"MuiLocalizationProvider"}),{children:S,dateAdapter:T,dateFormats:$,dateLibInstance:k,adapterLocale:I,localeText:D}=C,A=reactExports.useMemo(()=>_extends$1({},D,v,x),[D,v,x]),L=reactExports.useMemo(()=>{if(!T)return E||null;const j=new T({locale:I,formats:$,instance:k});if(!j.isMUIAdapter)throw new Error(["MUI: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`","For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`","More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation"].join(`
615
+ `).join("")+(ye.notes||""),Ce!=null&&Ce.aborted&&(ye.notes+=" (aborted)")}return ye}}const UW="https://upload.wikimedia.org/wikipedia/commons/",CLIENT_ICONS={Chrome:UW+"e/e1/Google_Chrome_icon_%28February_2022%29.svg",Chromium:UW+"f/fe/Chromium_Material_Icon.svg",Firefox:UW+"a/a0/Firefox_logo%2C_2019.svg",Safari:UW+"5/52/Safari_browser_logo.svg",Edge:UW+"9/98/Microsoft_Edge_logo_%282019%29.svg",Opera:UW+"4/49/Opera_2015_icon.svg",Finder:UW+"thumb/b/b9/Finder_Icon_macOS_Tahoe.png/250px-Finder_Icon_macOS_Tahoe.png",Cyberduck:UW+"archive/4/48/20091115091336%21Cyberduck_icon.png",ForkLift:UW+"../en/9/96/ForkLift_3_File_Manager_and_File_Transfer_Client_Logo.png"},OS_ICONS={Android:UW+"d/d7/Android_robot.svg",Linux:UW+"0/0a/Tux-shaded.svg",Windows:UW+"0/0a/Unofficial_Windows_logo_variant_-_2002%E2%80%932012_%28Multicolored%29.svg",macOS:UW+"7/74/Apple_logo_dark_grey.svg",iOS:UW+"7/74/Apple_logo_dark_grey.svg"},OSS={iOS:/iPhone OS|iPad/,macOS:/Mac OS|Darwin/,Windows:/Windows NT/,Android:/Android/,Linux:/Linux/};function agentIcons(d){if(!d)return;const m=shortenAgent(d),g=reactExports.createElement(AgentIcon,{k:m,altText:!0,map:CLIENT_ICONS}),x=_.findKey(OSS,b=>b.test(d));return reactExports.createElement(Box,{fontSize:"110%"},g," ",x&&osIcon(x))}const alreadyFailed={};function osIcon(d){return reactExports.createElement(AgentIcon,{k:d,map:OS_ICONS})}function AgentIcon({k:d,map:m,altText:g}){const x=m[d],[b,E]=reactExports.useState(alreadyFailed[d]);return!x||b?reactExports.createElement(reactExports.Fragment,{},g?d:null):reactExports.createElement("img",{src:x,alt:d+" icon",title:d,style:{height:"1.2em",verticalAlign:"bottom",marginRight:".2em"},onError(){E(alreadyFailed[d]=!0)}})}function parseLogLine(d,m){const g=/^(.+?) (.+?) (.+?) \[(.{11}):(.{14})] "(\w+) ([^"]+) HTTP\/\d.\d" (\d+) (-|\d+) ?(.*)/.exec(d);if(!g)return;const[,x,,b,E,v,C,S,T,$,k]=g;return{id:m,ip:x,user:b==="-"?void 0:b,ts:new Date(E+" "+v),method:C,uri:S,status:Number(T),length:$==="-"?void 0:Number($),extra:tryJson(tryJson(k))||void 0}}function VfsPathField(S){var T=S,{value:d="",onChange:m,helperText:g,setApi:x,autocompleteProps:b,folders:E=!0,files:v=!0}=T,C=zt(T,["value","onChange","helperText","setApi","autocompleteProps","folders","files"]);const $=dirname(d.replace(/\/{2,}/g,"/")),{list:k,loading:I}=useApiList("get_file_list",{uri:$,admin:!0,fileMask:typeof v=="string"?v:void 0,onlyFolders:!v}),D=reactExports.useMemo(()=>{const A=_.uniq([$&&dirname($)+"/",enforceFinal("/",$)].filter(Boolean)).concat(k.map(L=>join($,L.n)));return d&&!A.includes(d)&&A.push(d),A},[k,$]);return x==null||x({getError(){return!E&&(d==null?void 0:d.endsWith("/"))&&"must be a file"||!1}}),reactExports.createElement(Autocomplete,Ae({value:d,options:D,isOptionEqualToValue:(A,L)=>A===L||A===L+"/",loading:I,disableClearable:!0,disableCloseOnSelect:!0,renderInput:A=>reactExports.createElement(TextField,$t(Ae(Ae({helperText:g,onChange(L){const N=L.target.value;(v||!N||N.endsWith("/"))&&m(N,{was:d,event:L})},onBlur(L){const N=enforceFinal("/",L.target.value);D.includes(N)&&m(N,{was:d,event:L})}},A),C),{InputLabelProps:Ae(Ae({shrink:!0},A.InputLabelProps),C.InputLabelProps)})),onChange:(A,L)=>m(L,{was:d,event:A})},b))}function VfsMenuBar({statusApi:d,add:m}){const{vfsModified:g,vfsUndo:x}=useSnapState();return reactExports.createElement(Flex,{zIndex:2,gap:1,backgroundColor:"background.paper",width:"fit-content"},reactExports.createElement(AddVfsBtn),reactExports.createElement(Btn,{icon:Save,title:"Save",disabled:!g&&"No changes to save",modified:g,doneAnimation:!0,onClick:saveVfs}),reactExports.createElement(Btn,{icon:Undo,title:"Undo/redo last change",disabled:!x&&"No changes to undo",onClick:undoVfs}),reloadBtn(()=>reloadVfs()),reactExports.createElement(Btn,{icon:Storage,title:"Disk spaces",onClick:()=>apiCall("get_disk_spaces").then(b=>alertDialog(reactExports.createElement(List,{dense:!0},b.map(E=>reactExports.createElement(ListItem,{key:E.name},reactExports.createElement(ListItemIcon,{},reactExports.createElement(Storage)),reactExports.createElement(ListItemText,{sx:{wordBreak:"break-word"},primary:E.name+prefix(" (",E.description,")"),secondary:formatDiskSpace(E)})))),{title:"Disk spaces"}).then(()=>!1),alertDialog)}),m,reactExports.createElement(SystemIntegrationButton,d.data))}function AddVfsBtn(d){return reactExports.createElement(MenuButton,$t(Ae({variant:"contained",icon:Add,title:"Add item to virtual file system"},d),{items:[{children:"virtual folder",onClick:addVirtual},{children:"file or folder from disk",onClick:addFiles},{children:"web-link",onClick:addLink}]}))}function SystemIntegrationButton({platform:d}){const m=d==="win32",{data:g,reload:x}=useApi(m&&"windows_integrated"),b=useBreakpoint("sm");return m?reactExports.createElement(Btn,Ae({icon:osIcon("Windows"),variant:"outlined",doneMessage:!0},g!=null&&g.is?{confirm:!0,children:"Remove integration",onClick:()=>apiCall("windows_remove").then(x)}:{children:"System integration",onClick(){return xt(this,null,function*(){const v=reactExports.createElement(Box,{width:{xs:"100%",sm:"34em"}},reactExports.createElement("img",{src:"win-shell.png",style:{display:"block",width:"100%"}}),reactExports.createElement(Alert,{severity:"info"},"We are going to add a command in the right-click of Windows File Manager.",reactExports.createElement(Box,{},"It will also automatically copy the URL, ready to paste!"))),C=yield promptDialog(v,{field:{comp:VfsPathField,files:!1,label:"Add to this folder",placeholder:"home",autoFocus:b},form:{saveOnEnter:!1}});return typeof C=="string"&&apiCall("windows_integration",{parent:C}).then(x)})}})):null}function saveVfs(){return xt(this,null,function*(){yield apiCall("set_vfs",{uri:"/",props:function d(m=state.vfs){var x;const g=_.pick(m,VFS_STORED_KEYS);return g.children=(x=m==null?void 0:m.children)==null?void 0:x.map(d),g}()}),state.vfsModified=!1})}const FolderIcon=Folder,FileIcon=InsertDriveFileOutlined;let once=!0;const SPECIAL_TREE_ITEM="?";function VfsTree({statusApi:d}){var D;const{vfs:m,selectedFiles:g,expanded:x}=useSnapState(),b=reactExports.useRef(),E=reactExports.useCallback(function({node:A}){var U,J,Q,X;let{id:L,name:N,isRoot:Y}=A;const j=A.type==="folder",B=reactExports.useRef();return Y&&B.current&&((U=B.current.firstElementChild)==null||U.classList.toggle("Mui-selected",!(g.length&&!_.find(g,{id:"/"})))),reactExports.createElement(TreeItem,{ref(Z){Z==null||Z.addEventListener("focusin",oe=>oe.stopImmediatePropagation()),B.current=Z},onDoubleClick:V,label:reactExports.createElement(Box,{draggable:!Y,onDragStart(){b.current=L},onDragOver(Z){if(!j)return;const oe=b.current;oe!=null&&oe.startsWith(L)&&!oe.slice(L.length+1,-1).includes("/")||Z.preventDefault()},onDrop(){return xt(this,null,function*(){var ie,ee;const Z=b.current;if(!Z)return;const oe=(ie=id2vfsNode.get(Z))==null?void 0:ie.name;moveVfs(Z,L)&&toast(`Moved "${oe}" under "${(ee=id2vfsNode.get(L))==null?void 0:ee.name}"`,"success")})},sx:{display:"flex",gap:".5em",minHeight:"1.8em",pt:".2em"}},reactExports.createElement(Box,{display:"flex",flex:0},vfsNodeIcon(A),reactExports.createElement(Box,{sx:{flex:0,ml:"2px",my:"2px","&>*":{fontSize:"87%",opacity:.6,mt:"-2px"},display:"grid",gridAutoFlow:"column",gridTemplateRows:"auto auto",height:"1em"}},A.can_delete!=null&&iconTooltip(Delete,"Delete permission"),A.can_upload!=null&&iconTooltip(Upload,"Upload permission"),!Y&&!A.source&&!A.url&&iconTooltip(Cloud,"Virtual (no source)"),z(A.can_see)&&iconTooltip(RemoveRedEye,"Restrictions on who can see"),z(A.can_read)&&iconTooltip(Lock,"Restrictions on who can download"),A.default&&iconTooltip(Web,"Show as web-page"),A.masks&&iconTooltip(TheaterComedy,"Masks"),A.size===-1&&iconTooltip(HighlightOff,"Source not found"),with_(_.findKey((J=d.data)==null?void 0:J.roots,Z=>Z===L.slice(1)),Z=>Z&&iconTooltip(Home,`home for ${Z}`)))),Y?"Home folder":N),collapseIcon:reactExports.createElement(ExpandMore,{onClick:V}),expandIcon:reactExports.createElement(ChevronRight,{onClick:V}),nodeId:L},with_(A.source&&j?"files from "+A.source:!((Q=A.children)!=null&&Q.length)&&Y&&"nothing here",Z=>Z&&reactExports.createElement(TreeItem,{nodeId:SPECIAL_TREE_ITEM+L,label:reactExports.createElement("i",{},Z)})),...((X=A.children)==null?void 0:X.map(Z=>reactExports.createElement(E,{key:Z.id,node:Z})))||[]);function z(Z){return Z!=null&&Z!==!0}function V(Z){const oe=state.expanded;state.expanded=oe.includes(L)?oe.filter(ie=>ie!==L):[...oe,L],Z.preventDefault(),Z.stopPropagation()}},[d.data]),v=reactExports.useRef(null),C=id2vfsNode.size>0&&x.length===id2vfsNode.size,S=["/",...((D=m==null?void 0:m.children)==null?void 0:D.length)===1?[m.children[0].id]:[]];once&&(once=!1,state.expanded=S);const[T,$]=useToggleButton("Collapse all","Expand all",A=>({icon:A?UnfoldLess:UnfoldMore,sx:{rotate:A?0:"180deg"},onClick(){state.expanded=C?S:Array.from(id2vfsNode.keys())}}),C);reactExports.useEffect(()=>{state.expanded=_.uniq(state.expanded.concat(state.selectedFiles.map(A=>{var L;return((L=A.parent)==null?void 0:L.id)||""})))},[state.vfs]);const k="vfs",I=g[0];return reactExports.useEffect(()=>{var A;return(A=document.getElementById(`${k}-${I==null?void 0:I.id}`))==null?void 0:A.scrollIntoView({block:"nearest",behavior:"instant"})},[I]),reactExports.createElement(Flex,{flexDirection:"column",alignItems:"stretch",flex:1},reactExports.createElement(Flex,{mb:1,flexWrap:"wrap",gap:[1,2]},reactExports.createElement(Typography,{variant:"h6"},"Virtual File System"),reactExports.createElement(VfsMenuBar,{statusApi:d,add:$})),m&&reactExports.createElement(TreeView,{ref:v,expanded:toMutable(x),selected:g.map(A=>A.id),multiSelect:!0,id:k,sx:{height:0,flex:"1 1 auto",overflowX:"auto",maxWidth:v.current&&`calc(100vw - ${16+v.current.offsetLeft}px)`,"& ul":{borderLeft:"1px dashed #444",marginLeft:"15px",paddingLeft:"15px"}},onNodeSelect(A,L){var N,Y;state.selectedFiles=onlyTruthy(wantArray(L).map(j=>id2vfsNode.get(j))),state.vfsShowDiskContentFor=L.length===1&&((N=L[0])==null?void 0:N[0])===SPECIAL_TREE_ITEM&&((Y=id2vfsNode.get(L[0].slice(1)))==null?void 0:Y.source)||""}},reactExports.createElement(E,{node:m})))}function moveVfs(d,m){var k,I;const g=id2vfsNode.get(d);if(!g)return!alertDialog("Item to move not found","error");if(g.isRoot)return!alertDialog("Cannot move root","error");const x=id2vfsNode.get(m);if(!x||x.type!=="folder")return!alertDialog("Destination folder not found","error");if(isDescendantUri(m,d))return!alertDialog("Cannot move inside itself","error");if((k=x.children)!=null&&k.find(D=>D.name===g.name))return!alertDialog("Item with same name already present in destination","error");const b=(I=g.parent)==null?void 0:I.children;if(!b)return!alertDialog("Source parent not found","error");const E=g.parent,v=g.name,C=g.type==="folder",S=$(x);prepareVfsUndo(),_.remove(b,{id:g.id}),!b.length&&E&&(E.children=void 0),addToChildrenOf(x,[g]);const T=prefix(m,pathEncode(v),C?"/":"");return reindexVfs({select:[T]}),state.expanded=_.uniq([...state.expanded,...S]),!0;function $(D){const A=[];let L=D;for(;L;)A.push(L.id),L=L.parent;return A}}function vfsNodeIcon(d){return d.isRoot?iconTooltip(Home,"home, or root if you like"):d.type==="folder"?iconTooltip(FolderIcon,"Folder"):d.url?iconTooltip(Link$2,"Web-link"):iconTooltip(FileIcon,"File")}function addToChildrenOf(d,m){d.children||(d.children=[]),d.children.push(...m),markVfsModified()}var safeIsNaN=Number.isNaN||function(m){return typeof m=="number"&&m!==m};function isEqual(d,m){return!!(d===m||safeIsNaN(d)&&safeIsNaN(m))}function areInputsEqual(d,m){if(d.length!==m.length)return!1;for(var g=0;g<d.length;g++)if(!isEqual(d[g],m[g]))return!1;return!0}function memoizeOne(d,m){m===void 0&&(m=areInputsEqual);var g,x=[],b,E=!1;function v(){for(var C=[],S=0;S<arguments.length;S++)C[S]=arguments[S];return E&&g===this&&m(C,x)||(b=d.apply(this,C),E=!0,g=this,x=C),b}return v}var hasNativePerformanceNow=typeof performance=="object"&&typeof performance.now=="function",now=hasNativePerformanceNow?function(){return performance.now()}:function(){return Date.now()};function cancelTimeout(d){cancelAnimationFrame(d.id)}function requestTimeout(d,m){var g=now();function x(){now()-g>=m?d.call(null):b.id=requestAnimationFrame(x)}var b={id:requestAnimationFrame(x)};return b}var size=-1;function getScrollbarSize(d){if(d===void 0&&(d=!1),size===-1||d){var m=document.createElement("div"),g=m.style;g.width="50px",g.height="50px",g.overflow="scroll",document.body.appendChild(m),size=m.offsetWidth-m.clientWidth,document.body.removeChild(m)}return size}var cachedRTLResult=null;function getRTLOffsetType(d){if(d===void 0&&(d=!1),cachedRTLResult===null||d){var m=document.createElement("div"),g=m.style;g.width="50px",g.height="50px",g.overflow="scroll",g.direction="rtl";var x=document.createElement("div"),b=x.style;return b.width="100px",b.height="100px",m.appendChild(x),document.body.appendChild(m),m.scrollLeft>0?cachedRTLResult="positive-descending":(m.scrollLeft=1,m.scrollLeft===0?cachedRTLResult="negative":cachedRTLResult="positive-ascending"),document.body.removeChild(m),cachedRTLResult}return cachedRTLResult}var IS_SCROLLING_DEBOUNCE_INTERVAL$1=150,defaultItemKey$1=function(m,g){return m};function createListComponent(d){var m,g=d.getItemOffset,x=d.getEstimatedTotalSize,b=d.getItemSize,E=d.getOffsetForIndexAndAlignment,v=d.getStartIndexForOffset,C=d.getStopIndexForStartIndex,S=d.initInstanceProps,T=d.shouldResetStyleCacheOnItemSizeChange,$=d.validateProps;return m=function(k){_inheritsLoose(I,k);function I(A){var L;return L=k.call(this,A)||this,L._instanceProps=S(L.props,_assertThisInitialized(L)),L._outerRef=void 0,L._resetIsScrollingTimeoutId=null,L.state={instance:_assertThisInitialized(L),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof L.props.initialScrollOffset=="number"?L.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},L._callOnItemsRendered=void 0,L._callOnItemsRendered=memoizeOne(function(N,Y,j,B){return L.props.onItemsRendered({overscanStartIndex:N,overscanStopIndex:Y,visibleStartIndex:j,visibleStopIndex:B})}),L._callOnScroll=void 0,L._callOnScroll=memoizeOne(function(N,Y,j){return L.props.onScroll({scrollDirection:N,scrollOffset:Y,scrollUpdateWasRequested:j})}),L._getItemStyle=void 0,L._getItemStyle=function(N){var Y=L.props,j=Y.direction,B=Y.itemSize,z=Y.layout,V=L._getItemStyleCache(T&&B,T&&z,T&&j),U;if(V.hasOwnProperty(N))U=V[N];else{var W=g(L.props,N,L._instanceProps),J=b(L.props,N,L._instanceProps),Q=j==="horizontal"||z==="horizontal",X=j==="rtl",Z=Q?W:0;V[N]=U={position:"absolute",left:X?void 0:Z,right:X?Z:void 0,top:Q?0:W,height:Q?"100%":J,width:Q?J:"100%"}}return U},L._getItemStyleCache=void 0,L._getItemStyleCache=memoizeOne(function(N,Y,j){return{}}),L._onScrollHorizontal=function(N){var Y=N.currentTarget,j=Y.clientWidth,B=Y.scrollLeft,z=Y.scrollWidth;L.setState(function(V){if(V.scrollOffset===B)return null;var U=L.props.direction,W=B;if(U==="rtl")switch(getRTLOffsetType()){case"negative":W=-B;break;case"positive-descending":W=z-j-B;break}return W=Math.max(0,Math.min(W,z-j)),{isScrolling:!0,scrollDirection:V.scrollOffset<W?"forward":"backward",scrollOffset:W,scrollUpdateWasRequested:!1}},L._resetIsScrollingDebounced)},L._onScrollVertical=function(N){var Y=N.currentTarget,j=Y.clientHeight,B=Y.scrollHeight,z=Y.scrollTop;L.setState(function(V){if(V.scrollOffset===z)return null;var U=Math.max(0,Math.min(z,B-j));return{isScrolling:!0,scrollDirection:V.scrollOffset<U?"forward":"backward",scrollOffset:U,scrollUpdateWasRequested:!1}},L._resetIsScrollingDebounced)},L._outerRefSetter=function(N){var Y=L.props.outerRef;L._outerRef=N,typeof Y=="function"?Y(N):Y!=null&&typeof Y=="object"&&Y.hasOwnProperty("current")&&(Y.current=N)},L._resetIsScrollingDebounced=function(){L._resetIsScrollingTimeoutId!==null&&cancelTimeout(L._resetIsScrollingTimeoutId),L._resetIsScrollingTimeoutId=requestTimeout(L._resetIsScrolling,IS_SCROLLING_DEBOUNCE_INTERVAL$1)},L._resetIsScrolling=function(){L._resetIsScrollingTimeoutId=null,L.setState({isScrolling:!1},function(){L._getItemStyleCache(-1,null)})},L}I.getDerivedStateFromProps=function(L,N){return validateSharedProps$1(L,N),$(L),null};var D=I.prototype;return D.scrollTo=function(L){L=Math.max(0,L),this.setState(function(N){return N.scrollOffset===L?null:{scrollDirection:N.scrollOffset<L?"forward":"backward",scrollOffset:L,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},D.scrollToItem=function(L,N){N===void 0&&(N="auto");var Y=this.props,j=Y.itemCount,B=Y.layout,z=this.state.scrollOffset;L=Math.max(0,Math.min(L,j-1));var V=0;if(this._outerRef){var U=this._outerRef;B==="vertical"?V=U.scrollWidth>U.clientWidth?getScrollbarSize():0:V=U.scrollHeight>U.clientHeight?getScrollbarSize():0}this.scrollTo(E(this.props,L,N,z,this._instanceProps,V))},D.componentDidMount=function(){var L=this.props,N=L.direction,Y=L.initialScrollOffset,j=L.layout;if(typeof Y=="number"&&this._outerRef!=null){var B=this._outerRef;N==="horizontal"||j==="horizontal"?B.scrollLeft=Y:B.scrollTop=Y}this._callPropsCallbacks()},D.componentDidUpdate=function(){var L=this.props,N=L.direction,Y=L.layout,j=this.state,B=j.scrollOffset,z=j.scrollUpdateWasRequested;if(z&&this._outerRef!=null){var V=this._outerRef;if(N==="horizontal"||Y==="horizontal")if(N==="rtl")switch(getRTLOffsetType()){case"negative":V.scrollLeft=-B;break;case"positive-ascending":V.scrollLeft=B;break;default:var U=V.clientWidth,W=V.scrollWidth;V.scrollLeft=W-U-B;break}else V.scrollLeft=B;else V.scrollTop=B}this._callPropsCallbacks()},D.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&cancelTimeout(this._resetIsScrollingTimeoutId)},D.render=function(){var L=this.props,N=L.children,Y=L.className,j=L.direction,B=L.height,z=L.innerRef,V=L.innerElementType,U=L.innerTagName,W=L.itemCount,J=L.itemData,Q=L.itemKey,X=Q===void 0?defaultItemKey$1:Q,Z=L.layout,oe=L.outerElementType,ie=L.outerTagName,ee=L.style,re=L.useIsScrolling,ce=L.width,fe=this.state.isScrolling,ae=j==="horizontal"||Z==="horizontal",ue=ae?this._onScrollHorizontal:this._onScrollVertical,pe=this._getRangeToRender(),ge=pe[0],ye=pe[1],Ce=[];if(W>0)for(var Ee=ge;Ee<=ye;Ee++)Ce.push(reactExports.createElement(N,{data:J,key:X(Ee,J),index:Ee,isScrolling:re?fe:void 0,style:this._getItemStyle(Ee)}));var ve=x(this.props,this._instanceProps);return reactExports.createElement(oe||ie||"div",{className:Y,onScroll:ue,ref:this._outerRefSetter,style:_extends$1({position:"relative",height:B,width:ce,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:j},ee)},reactExports.createElement(V||U||"div",{children:Ce,ref:z,style:{height:ae?"100%":ve,pointerEvents:fe?"none":void 0,width:ae?ve:"100%"}}))},D._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var L=this.props.itemCount;if(L>0){var N=this._getRangeToRender(),Y=N[0],j=N[1],B=N[2],z=N[3];this._callOnItemsRendered(Y,j,B,z)}}if(typeof this.props.onScroll=="function"){var V=this.state,U=V.scrollDirection,W=V.scrollOffset,J=V.scrollUpdateWasRequested;this._callOnScroll(U,W,J)}},D._getRangeToRender=function(){var L=this.props,N=L.itemCount,Y=L.overscanCount,j=this.state,B=j.isScrolling,z=j.scrollDirection,V=j.scrollOffset;if(N===0)return[0,0,0,0];var U=v(this.props,V,this._instanceProps),W=C(this.props,U,V,this._instanceProps),J=!B||z==="backward"?Math.max(1,Y):1,Q=!B||z==="forward"?Math.max(1,Y):1;return[Math.max(0,U-J),Math.max(0,Math.min(N-1,W+Q)),U,W]},I}(reactExports.PureComponent),m.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},m}var validateSharedProps$1=function(m,g){m.children,m.direction,m.height,m.layout,m.innerTagName,m.outerTagName,m.width,g.instance},FixedSizeList=createListComponent({getItemOffset:function(m,g){var x=m.itemSize;return g*x},getItemSize:function(m,g){var x=m.itemSize;return x},getEstimatedTotalSize:function(m){var g=m.itemCount,x=m.itemSize;return x*g},getOffsetForIndexAndAlignment:function(m,g,x,b,E,v){var C=m.direction,S=m.height,T=m.itemCount,$=m.itemSize,k=m.layout,I=m.width,D=C==="horizontal"||k==="horizontal",A=D?I:S,L=Math.max(0,T*$-A),N=Math.min(L,g*$),Y=Math.max(0,g*$-A+$+v);switch(x==="smart"&&(b>=Y-A&&b<=N+A?x="auto":x="center"),x){case"start":return N;case"end":return Y;case"center":{var j=Math.round(Y+(N-Y)/2);return j<Math.ceil(A/2)?0:j>L+Math.floor(A/2)?L:j}case"auto":default:return b>=Y&&b<=N?b:b<Y?Y:N}},getStartIndexForOffset:function(m,g){var x=m.itemCount,b=m.itemSize;return Math.max(0,Math.min(x-1,Math.floor(g/b)))},getStopIndexForStartIndex:function(m,g,x){var b=m.direction,E=m.height,v=m.itemCount,C=m.itemSize,S=m.layout,T=m.width,$=b==="horizontal"||S==="horizontal",k=g*C,I=$?T:E,D=Math.ceil((I+x-k)/C);return Math.max(0,Math.min(v-1,g+D-1))},initInstanceProps:function(m){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(m){m.itemSize}});let lastPath=".";function FilePicker({onSelect:d,multiple:m=!0,files:g=!0,folders:x=!0,fileMask:b,from:E=lastPath}){const[v,C]=reactExports.useState(E);lastPath=v;const[S,T]=reactExports.useState(!1),$=reactExports.useRef(!1);useApi(!S&&"resolve_path",{path:E,closestFolder:!0},{onResponse:(ce,fe)=>xt(this,null,function*(){try{const{path:ae}=fe;if(typeof ae!="string")return;C(ae),$.current=ae[1]===":"||ae.startsWith("\\\\")}finally{T(!0)}})});const{list:k,props:I,error:D,connecting:A,reload:L}=useApiList(S&&"get_ls",{path:v,files:g,fileMask:b});reactExports.useEffect(()=>{Y([]),B("")},[v]);const[N,Y]=reactExports.useState([]),[j,B]=reactExports.useState(""),z=reactExports.useMemo(()=>_.debounce(ce=>B(ce)),[]),V=reactExports.useMemo(()=>{const ce=new RegExp(_.escapeRegExp(j),"i");return fe=>ce.test(fe)},[j]),U=useBreakpoint("sm"),[W,J]=reactExports.useState(0),Q=reactExports.useMemo(()=>_.sortBy(k.filter(ce=>V(ce.n)),["k","n"]),[k,V]),X=$.current?"":"/",Z=$.current?"\\":"/",oe=enforceFinal(Z,v),ie=v.length<2;return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(StringField,{label:"Current folder",value:v,InputLabelProps:{shrink:!0},helperText:"UNC paths are supported",onChange(ce){return xt(this,null,function*(){if(!ce)return C(X);const fe=yield apiCall("resolve_path",{path:ce});if(fe.isFolder===!1)return g?d([ce]):C(ce.slice(0,-basename(ce).length-1));C(fe.path)})},end:reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconBtn,{title:"root",disabled:ie,icon:VerticalAlignTop,onClick(){C(X)}}),reactExports.createElement(IconBtn,{title:"parent folder",disabled:ie,icon:ArrowUpward,onClick(){const ce=/[\\/]$/.test(v)?v.slice(0,-1):v,fe=ce.lastIndexOf(Z),ae=fe===1,ue=isWindowsDrive(ce)||ae?X:ce.slice(0,fe||1);C(ue)}}))}),D?reactExports.createElement(Alert,{severity:"error",sx:{flex:1}},err2msg$1(D)):reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{ref(ce){if(!ce)return;const fe=(ce==null?void 0:ce.clientHeight)-1;fe-W>1&&J(fe)},sx:{flex:1,display:"flex",flexDirection:"column"}},k.length?reactExports.createElement(FixedSizeList,{width:"100%",height:W,itemSize:46,itemCount:Q.length,overscanCount:5,children({index:ce,style:fe}){const ae=Q[ce],ue=ae.k==="d";return reactExports.createElement(MenuItem,{style:$t(Ae({},fe),{padding:0}),key:ae.n,onClick(){ue?C(oe+ae.n):d([oe+ae.n])}},m&&reactExports.createElement(Checkbox$1,{checked:N.includes(ae.n),disabled:!x&&ue,onClick(pe){const ge=ae.n+(ae.k?"/":""),ye=N.filter(Ce=>Ce!==ge);Y(ye.length<N.length?ye:[...N,ge]),pe.stopPropagation()}}),reactExports.createElement(ListLsItem,{it:ae}))}}):reactExports.createElement(Center,{flex:1,mt:"4em"},A?spinner():"No elements in this folder")),reactExports.createElement(Flex,{alignItems:"center"},(m||x||!g)&&reactExports.createElement(Btn,{disabled:!N.length&&(!v||!x&&g),sx:{minWidth:"max-content"},onClick(){d(N.length?N.map(ce=>oe+ce):[oe])}},g&&(N.length||!x)?`Select (${N.length})`:U?"Select this folder":"This folder"),x&&reactExports.createElement(Btn,{icon:CreateNewFolder,variant:"outlined",doneMessage:!0,labelIf:"sm",onClick(){return xt(this,null,function*(){const ce=yield promptDialog("New folder name");if(!ce)return!1;yield apiCall("mkdir",{path:`${v}/${ce}`}),L()})}},"New folder"),reactExports.createElement(TextField,{size:"small",value:j,label:`Filter results (${Q.length}${Q.length<k.length?"/"+k.length:""})`,onChange(ce){z(ce.target.value)},sx:{flex:1}}),(I==null?void 0:I.total)>0&&reactExports.createElement(IconProgress,{icon:Storage,progress:1,offset:(I.total-I.free)/I.total,title:formatDiskSpace(I)}))))}function formatDiskSpace({free:d,total:m}){return`${formatBytes(d)} available (${formatPerc(d/m)}) of ${formatBytes(m)}`}function ListLsItem({it:d}){return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(ListItemIcon,{},reactExports.createElement(d.k?FolderIcon:FileIcon)),reactExports.createElement(ListItemText,{sx:{whiteSpace:"pre-wrap",wordBreak:"break-all"}},d.n),!d.k&&d.s!==void 0&&reactExports.createElement(Typography,{variant:"body2",color:"text.secondary",ml:4,mr:1},formatBytes(d.s)))}const _excluded$v=["localeText"],MuiPickersAdapterContext=reactExports.createContext(null),LocalizationProvider=function(m){var g;const{localeText:x}=m,b=_objectWithoutPropertiesLoose(m,_excluded$v),{utils:E,localeText:v}=(g=reactExports.useContext(MuiPickersAdapterContext))!=null?g:{utils:void 0,localeText:void 0},C=useThemeProps({props:b,name:"MuiLocalizationProvider"}),{children:S,dateAdapter:T,dateFormats:$,dateLibInstance:k,adapterLocale:I,localeText:D}=C,A=reactExports.useMemo(()=>_extends$1({},D,v,x),[D,v,x]),L=reactExports.useMemo(()=>{if(!T)return E||null;const j=new T({locale:I,formats:$,instance:k});if(!j.isMUIAdapter)throw new Error(["MUI: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`","For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`","More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation"].join(`
616
616
  `));return j},[T,I,$,k,E]),N=reactExports.useMemo(()=>L?{minDate:L.date("1900-01-01T00:00:00.000"),maxDate:L.date("2099-12-31T00:00:00.000")}:null,[L]),Y=reactExports.useMemo(()=>({utils:L,defaultDates:N,localeText:A}),[N,L,A]);return jsxRuntimeExports.jsx(MuiPickersAdapterContext.Provider,{value:Y,children:S})},getPickersLocalization=d=>({components:{MuiLocalizationProvider:{defaultProps:{localeText:_extends$1({},d)}}}}),enUSPickers={previousMonth:"Previous month",nextMonth:"Next month",openPreviousView:"open previous view",openNextView:"open next view",calendarViewSwitchingButtonAriaLabel:d=>d==="year"?"year view is open, switch to calendar view":"calendar view is open, switch to year view",start:"Start",end:"End",cancelButtonLabel:"Cancel",clearButtonLabel:"Clear",okButtonLabel:"OK",todayButtonLabel:"Today",datePickerToolbarTitle:"Select date",dateTimePickerToolbarTitle:"Select date & time",timePickerToolbarTitle:"Select time",dateRangePickerToolbarTitle:"Select date range",clockLabelText:(d,m,g)=>`Select ${d}. ${m===null?"No time selected":`Selected time is ${g.format(m,"fullTime")}`}`,hoursClockNumberText:d=>`${d} hours`,minutesClockNumberText:d=>`${d} minutes`,secondsClockNumberText:d=>`${d} seconds`,selectViewText:d=>`Select ${d}`,calendarWeekNumberHeaderLabel:"Week number",calendarWeekNumberHeaderText:"#",calendarWeekNumberAriaLabelText:d=>`Week ${d}`,calendarWeekNumberText:d=>`${d}`,openDatePickerDialogue:(d,m)=>d!==null&&m.isValid(d)?`Choose date, selected date is ${m.format(d,"fullDate")}`:"Choose date",openTimePickerDialogue:(d,m)=>d!==null&&m.isValid(d)?`Choose time, selected time is ${m.format(d,"fullTime")}`:"Choose time",fieldClearLabel:"Clear value",timeTableLabel:"pick time",dateTableLabel:"pick date",fieldYearPlaceholder:d=>"Y".repeat(d.digitAmount),fieldMonthPlaceholder:d=>d.contentType==="letter"?"MMMM":"MM",fieldDayPlaceholder:()=>"DD",fieldWeekDayPlaceholder:d=>d.contentType==="letter"?"EEEE":"EE",fieldHoursPlaceholder:()=>"hh",fieldMinutesPlaceholder:()=>"mm",fieldSecondsPlaceholder:()=>"ss",fieldMeridiemPlaceholder:()=>"aa"},DEFAULT_LOCALE=enUSPickers;getPickersLocalization(enUSPickers);const useLocalizationContext=()=>{const d=reactExports.useContext(MuiPickersAdapterContext);if(d===null)throw new Error(["MUI: Can not find the date and time pickers localization context.","It looks like you forgot to wrap your component in LocalizationProvider.","This can also happen if you are bundling multiple versions of the `@mui/x-date-pickers` package"].join(`
617
617
  `));if(d.utils===null)throw new Error(["MUI: Can not find the date and time pickers adapter from its localization context.","It looks like you forgot to pass a `dateAdapter` to your LocalizationProvider."].join(`
618
618
  `));const m=reactExports.useMemo(()=>_extends$1({},DEFAULT_LOCALE,d.localeText),[d.localeText]);return reactExports.useMemo(()=>_extends$1({},d,{localeText:m}),[d,m])},useUtils=()=>useLocalizationContext().utils,useDefaultDates=()=>useLocalizationContext().defaultDates,useLocaleText=()=>useLocalizationContext().localeText,useNow=d=>{const m=useUtils(),g=reactExports.useRef();return g.current===void 0&&(g.current=m.dateWithTimezone(void 0,d)),g.current},ArrowDropDownIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),ArrowLeftIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"}),"ArrowLeft"),ArrowRightIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"ArrowRight"),CalendarIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"}),"Calendar");createSvgIcon(jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),jsxRuntimeExports.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Clock");const DateRangeIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"}),"DateRange"),TimeIcon=createSvgIcon(jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),jsxRuntimeExports.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Time"),ClearIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");function getPickersArrowSwitcherUtilityClass(d){return generateUtilityClass("MuiPickersArrowSwitcher",d)}generateUtilityClasses("MuiPickersArrowSwitcher",["root","spacer","button"]);const _excluded$u=["children","className","slots","slotProps","isNextDisabled","isNextHidden","onGoToNext","nextLabel","isPreviousDisabled","isPreviousHidden","onGoToPrevious","previousLabel"],_excluded2$5=["ownerState"],_excluded3$2=["ownerState"],PickersArrowSwitcherRoot=styled("div",{name:"MuiPickersArrowSwitcher",slot:"Root",overridesResolver:(d,m)=>m.root})({display:"flex"}),PickersArrowSwitcherSpacer=styled("div",{name:"MuiPickersArrowSwitcher",slot:"Spacer",overridesResolver:(d,m)=>m.spacer})(({theme:d})=>({width:d.spacing(3)})),PickersArrowSwitcherButton=styled(IconButton,{name:"MuiPickersArrowSwitcher",slot:"Button",overridesResolver:(d,m)=>m.button})(({ownerState:d})=>_extends$1({},d.hidden&&{visibility:"hidden"})),useUtilityClasses$p=d=>{const{classes:m}=d;return composeClasses({root:["root"],spacer:["spacer"],button:["button"]},getPickersArrowSwitcherUtilityClass,m)},PickersArrowSwitcher=reactExports.forwardRef(function(m,g){var x,b,E,v;const S=useTheme$1().direction==="rtl",T=useThemeProps({props:m,name:"MuiPickersArrowSwitcher"}),{children:$,className:k,slots:I,slotProps:D,isNextDisabled:A,isNextHidden:L,onGoToNext:N,nextLabel:Y,isPreviousDisabled:j,isPreviousHidden:B,onGoToPrevious:z,previousLabel:V}=T,U=_objectWithoutPropertiesLoose(T,_excluded$u),W=T,J=useUtilityClasses$p(W),Q={isDisabled:A,isHidden:L,goTo:N,label:Y},X={isDisabled:j,isHidden:B,goTo:z,label:V},Z=(x=I==null?void 0:I.previousIconButton)!=null?x:PickersArrowSwitcherButton,oe=useSlotProps({elementType:Z,externalSlotProps:D==null?void 0:D.previousIconButton,additionalProps:{size:"medium",title:X.label,"aria-label":X.label,disabled:X.isDisabled,edge:"end",onClick:X.goTo},ownerState:_extends$1({},W,{hidden:X.isHidden}),className:J.button}),ie=(b=I==null?void 0:I.nextIconButton)!=null?b:PickersArrowSwitcherButton,ee=useSlotProps({elementType:ie,externalSlotProps:D==null?void 0:D.nextIconButton,additionalProps:{size:"medium",title:Q.label,"aria-label":Q.label,disabled:Q.isDisabled,edge:"start",onClick:Q.goTo},ownerState:_extends$1({},W,{hidden:Q.isHidden}),className:J.button}),re=(E=I==null?void 0:I.leftArrowIcon)!=null?E:ArrowLeftIcon,ce=useSlotProps({elementType:re,externalSlotProps:D==null?void 0:D.leftArrowIcon,additionalProps:{fontSize:"inherit"},ownerState:void 0}),fe=_objectWithoutPropertiesLoose(ce,_excluded2$5),ae=(v=I==null?void 0:I.rightArrowIcon)!=null?v:ArrowRightIcon,ue=useSlotProps({elementType:ae,externalSlotProps:D==null?void 0:D.rightArrowIcon,additionalProps:{fontSize:"inherit"},ownerState:void 0}),pe=_objectWithoutPropertiesLoose(ue,_excluded3$2);return jsxRuntimeExports.jsxs(PickersArrowSwitcherRoot,_extends$1({ref:g,className:clsx(J.root,k),ownerState:W},U,{children:[jsxRuntimeExports.jsx(Z,_extends$1({},oe,{children:S?jsxRuntimeExports.jsx(ae,_extends$1({},pe)):jsxRuntimeExports.jsx(re,_extends$1({},fe))})),$?jsxRuntimeExports.jsx(Typography,{variant:"subtitle1",component:"span",children:$}):jsxRuntimeExports.jsx(PickersArrowSwitcherSpacer,{className:J.spacer,ownerState:W}),jsxRuntimeExports.jsx(ie,_extends$1({},ee,{children:S?jsxRuntimeExports.jsx(re,_extends$1({},fe)):jsxRuntimeExports.jsx(ae,_extends$1({},pe))}))]}))}),areViewsEqual=(d,m)=>d.length!==m.length?!1:m.every(g=>d.includes(g)),applyDefaultViewProps=({openTo:d,defaultOpenTo:m,views:g,defaultViews:x})=>{const b=g!=null?g:x;let E;if(d!=null)E=d;else if(b.includes(m))E=m;else if(b.length>0)E=b[0];else throw new Error("MUI: The `views` prop must contain at least one view");return{views:b,openTo:E}},timeViews=["hours","minutes","seconds"],isTimeView=d=>timeViews.includes(d),isInternalTimeView=d=>timeViews.includes(d)||d==="meridiem",getMeridiem=(d,m)=>d?m.getHours(d)>=12?"pm":"am":null,convertValueToMeridiem=(d,m,g)=>g&&(d>=12?"pm":"am")!==m?m==="am"?d-12:d+12:d,convertToMeridiem=(d,m,g,x)=>{const b=convertValueToMeridiem(x.getHours(d),m,g);return x.setHours(d,b)},getSecondsInDay=(d,m)=>m.getHours(d)*3600+m.getMinutes(d)*60+m.getSeconds(d),createIsAfterIgnoreDatePart=(d,m)=>(g,x)=>d?m.isAfter(g,x):getSecondsInDay(g,m)>getSecondsInDay(x,m),resolveTimeFormat=(d,{format:m,views:g,ampm:x})=>{if(m!=null)return m;const b=d.formats;return areViewsEqual(g,["hours"])?x?`${b.hours12h} ${b.meridiem}`:b.hours24h:areViewsEqual(g,["minutes"])?b.minutes:areViewsEqual(g,["seconds"])?b.seconds:areViewsEqual(g,["minutes","seconds"])?`${b.minutes}:${b.seconds}`:areViewsEqual(g,["hours","minutes","seconds"])?x?`${b.hours12h}:${b.minutes}:${b.seconds} ${b.meridiem}`:`${b.hours24h}:${b.minutes}:${b.seconds}`:x?`${b.hours12h}:${b.minutes} ${b.meridiem}`:`${b.hours24h}:${b.minutes}`};function useViews({onChange:d,onViewChange:m,openTo:g,view:x,views:b,autoFocus:E,focusedView:v,onFocusedViewChange:C}){var S,T;const $=reactExports.useRef(g),k=reactExports.useRef(b),I=reactExports.useRef(b.includes(g)?g:b[0]),[D,A]=useControlled({name:"useViews",state:"view",controlled:x,default:I.current}),L=reactExports.useRef(E?D:null),[N,Y]=useControlled({name:"useViews",state:"focusedView",controlled:v,default:L.current});reactExports.useEffect(()=>{($.current&&$.current!==g||k.current&&k.current.some(Q=>!b.includes(Q)))&&(A(b.includes(g)?g:b[0]),k.current=b,$.current=g)},[g,A,D,b]);const j=b.indexOf(D),B=(S=b[j-1])!=null?S:null,z=(T=b[j+1])!=null?T:null,V=useEventCallback((Q,X)=>{Y(X?Q:Z=>Q===Z?null:Z),C==null||C(Q,X)}),U=useEventCallback(Q=>{V(Q,!0),Q!==D&&(A(Q),m&&m(Q))}),W=useEventCallback(()=>{z&&U(z)}),J=useEventCallback((Q,X,Z)=>{const oe=X==="finish",ie=Z?b.indexOf(Z)<b.length-1:!!z;if(d(Q,oe&&ie?"partial":X,Z),Z&&Z!==D){const re=b[b.indexOf(Z)+1];re&&U(re)}else oe&&W()});return{view:D,setView:U,focusedView:N,setFocusedView:V,nextView:z,previousView:B,defaultView:b.includes(g)?g:b[0],goToNextView:W,setValueAndGoToNextView:J}}function useNextMonthDisabled(d,{disableFuture:m,maxDate:g,timezone:x}){const b=useUtils();return reactExports.useMemo(()=>{const E=b.dateWithTimezone(void 0,x),v=b.startOfMonth(m&&b.isBefore(E,g)?E:g);return!b.isAfter(v,d)},[m,g,d,b,x])}function usePreviousMonthDisabled(d,{disablePast:m,minDate:g,timezone:x}){const b=useUtils();return reactExports.useMemo(()=>{const E=b.dateWithTimezone(void 0,x),v=b.startOfMonth(m&&b.isAfter(E,g)?E:g);return!b.isBefore(v,d)},[m,g,d,b,x])}function useMeridiemMode(d,m,g,x){const b=useUtils(),E=getMeridiem(d,b),v=reactExports.useCallback(C=>{const S=d==null?null:convertToMeridiem(d,C,!!m,b);g(S,x!=null?x:"partial")},[m,d,g,x,b]);return{meridiemMode:E,handleMeridiemChange:v}}const DAY_SIZE=36,DAY_MARGIN=2,DIALOG_WIDTH=320,MAX_CALENDAR_HEIGHT=280,VIEW_HEIGHT=334,DIGITAL_CLOCK_VIEW_HEIGHT=232,MULTI_SECTION_CLOCK_SECTION_WIDTH=48,PickerViewRoot=styled("div")({overflow:"hidden",width:DIALOG_WIDTH,maxHeight:VIEW_HEIGHT,display:"flex",flexDirection:"column",margin:"0 auto"});function getTimeClockUtilityClass(d){return generateUtilityClass("MuiTimeClock",d)}generateUtilityClasses("MuiTimeClock",["root","arrowSwitcher"]);const CLOCK_WIDTH=220,CLOCK_HOUR_WIDTH=36,clockCenter={x:CLOCK_WIDTH/2,y:CLOCK_WIDTH/2},baseClockPoint={x:clockCenter.x,y:0},cx=baseClockPoint.x-clockCenter.x,cy$2=baseClockPoint.y-clockCenter.y,rad2deg=d=>d*(180/Math.PI),getAngleValue=(d,m,g)=>{const x=m-clockCenter.x,b=g-clockCenter.y,E=Math.atan2(cx,cy$2)-Math.atan2(x,b);let v=rad2deg(E);v=Math.round(v/d)*d,v%=360;const C=Math.floor(v/d)||0,S=oo(x,2)+oo(b,2),T=Math.sqrt(S);return{value:C,distance:T}},getMinutes=(d,m,g=1)=>{const x=g*6;let{value:b}=getAngleValue(x,d,m);return b=b*g%60,b},getHours=(d,m,g)=>{const{value:x,distance:b}=getAngleValue(30,d,m);let E=x||12;return g?E%=12:b<CLOCK_WIDTH/2-CLOCK_HOUR_WIDTH&&(E+=12,E%=24),E};function getClockPointerUtilityClass(d){return generateUtilityClass("MuiClockPointer",d)}generateUtilityClasses("MuiClockPointer",["root","thumb"]);const _excluded$t=["className","hasSelected","isInner","type","viewValue"],useUtilityClasses$o=d=>{const{classes:m}=d;return composeClasses({root:["root"],thumb:["thumb"]},getClockPointerUtilityClass,m)},ClockPointerRoot=styled("div",{name:"MuiClockPointer",slot:"Root",overridesResolver:(d,m)=>m.root})(({theme:d,ownerState:m})=>_extends$1({width:2,backgroundColor:(d.vars||d).palette.primary.main,position:"absolute",left:"calc(50% - 1px)",bottom:"50%",transformOrigin:"center bottom 0px"},m.shouldAnimate&&{transition:d.transitions.create(["transform","height"])})),ClockPointerThumb=styled("div",{name:"MuiClockPointer",slot:"Thumb",overridesResolver:(d,m)=>m.thumb})(({theme:d,ownerState:m})=>_extends$1({width:4,height:4,backgroundColor:(d.vars||d).palette.primary.contrastText,borderRadius:"50%",position:"absolute",top:-21,left:`calc(50% - ${CLOCK_HOUR_WIDTH/2}px)`,border:`${(CLOCK_HOUR_WIDTH-4)/2}px solid ${(d.vars||d).palette.primary.main}`,boxSizing:"content-box"},m.hasSelected&&{backgroundColor:(d.vars||d).palette.primary.main}));function ClockPointer(d){const m=useThemeProps({props:d,name:"MuiClockPointer"}),{className:g,isInner:x,type:b,viewValue:E}=m,v=_objectWithoutPropertiesLoose(m,_excluded$t),C=reactExports.useRef(b);reactExports.useEffect(()=>{C.current=b},[b]);const S=_extends$1({},m,{shouldAnimate:C.current!==b}),T=useUtilityClasses$o(S),$=()=>{let I=360/(b==="hours"?12:60)*E;return b==="hours"&&E>12&&(I-=360),{height:Math.round((x?.26:.4)*CLOCK_WIDTH),transform:`rotateZ(${I}deg)`}};return jsxRuntimeExports.jsx(ClockPointerRoot,_extends$1({style:$(),className:clsx(g,T.root),ownerState:S},v,{children:jsxRuntimeExports.jsx(ClockPointerThumb,{ownerState:S,className:T.thumb})}))}function getClockUtilityClass(d){return generateUtilityClass("MuiClock",d)}generateUtilityClasses("MuiClock",["root","clock","wrapper","squareMask","pin","amButton","pmButton","meridiemText"]);const mergeDateAndTime=(d,m,g)=>{let x=m;return x=d.setHours(x,d.getHours(g)),x=d.setMinutes(x,d.getMinutes(g)),x=d.setSeconds(x,d.getSeconds(g)),x},findClosestEnabledDate=({date:d,disableFuture:m,disablePast:g,maxDate:x,minDate:b,isDateDisabled:E,utils:v,timezone:C})=>{const S=mergeDateAndTime(v,v.dateWithTimezone(void 0,C),d);g&&v.isBefore(b,S)&&(b=S),m&&v.isAfter(x,S)&&(x=S);let T=d,$=d;for(v.isBefore(d,b)&&(T=b,$=null),v.isAfter(d,x)&&($&&($=x),T=null);T||$;){if(T&&v.isAfter(T,x)&&(T=null),$&&v.isBefore($,b)&&($=null),T){if(!E(T))return T;T=v.addDays(T,1)}if($){if(!E($))return $;$=v.addDays($,-1)}}return null},replaceInvalidDateByNull=(d,m)=>m==null||!d.isValid(m)?null:m,applyDefaultDate=(d,m,g)=>m==null||!d.isValid(m)?g:m,areDatesEqual=(d,m,g)=>!d.isValid(m)&&m!=null&&!d.isValid(g)&&g!=null?!0:d.isEqual(m,g),getMonthsInYear=(d,m)=>{const x=[d.startOfYear(m)];for(;x.length<12;){const b=x[x.length-1];x.push(d.addMonths(b,1))}return x},getTodayDate=(d,m,g)=>g==="date"?d.startOfDay(d.dateWithTimezone(void 0,m)):d.dateWithTimezone(void 0,m),formatMeridiem=(d,m)=>{const g=d.setHours(d.date(),m==="am"?2:14);return d.format(g,"meridiem")},dateViews=["year","month","day"],isDatePickerView=d=>dateViews.includes(d),resolveDateFormat=(d,{format:m,views:g},x)=>{if(m!=null)return m;const b=d.formats;return areViewsEqual(g,["year"])?b.year:areViewsEqual(g,["month"])?b.month:areViewsEqual(g,["day"])?b.dayOfMonth:areViewsEqual(g,["month","year"])?`${b.month} ${b.year}`:areViewsEqual(g,["day","month"])?`${b.month} ${b.dayOfMonth}`:b.keyboardDate},getWeekdays=(d,m)=>{const g=d.startOfWeek(m);return[0,1,2,3,4,5,6].map(x=>d.addDays(g,x))},useUtilityClasses$n=d=>{const{classes:m}=d;return composeClasses({root:["root"],clock:["clock"],wrapper:["wrapper"],squareMask:["squareMask"],pin:["pin"],amButton:["amButton"],pmButton:["pmButton"],meridiemText:["meridiemText"]},getClockUtilityClass,m)},ClockRoot=styled("div",{name:"MuiClock",slot:"Root",overridesResolver:(d,m)=>m.root})(({theme:d})=>({display:"flex",justifyContent:"center",alignItems:"center",margin:d.spacing(2)})),ClockClock=styled("div",{name:"MuiClock",slot:"Clock",overridesResolver:(d,m)=>m.clock})({backgroundColor:"rgba(0,0,0,.07)",borderRadius:"50%",height:220,width:220,flexShrink:0,position:"relative",pointerEvents:"none"}),ClockWrapper=styled("div",{name:"MuiClock",slot:"Wrapper",overridesResolver:(d,m)=>m.wrapper})({"&:focus":{outline:"none"}}),ClockSquareMask=styled("div",{name:"MuiClock",slot:"SquareMask",overridesResolver:(d,m)=>m.squareMask})(({ownerState:d})=>_extends$1({width:"100%",height:"100%",position:"absolute",pointerEvents:"auto",outline:0,touchAction:"none",userSelect:"none"},d.disabled?{}:{"@media (pointer: fine)":{cursor:"pointer",borderRadius:"50%"},"&:active":{cursor:"move"}})),ClockPin=styled("div",{name:"MuiClock",slot:"Pin",overridesResolver:(d,m)=>m.pin})(({theme:d})=>({width:6,height:6,borderRadius:"50%",backgroundColor:(d.vars||d).palette.primary.main,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"})),ClockAmButton=styled(IconButton,{name:"MuiClock",slot:"AmButton",overridesResolver:(d,m)=>m.amButton})(({theme:d,ownerState:m})=>_extends$1({zIndex:1,position:"absolute",bottom:8,left:8,paddingLeft:4,paddingRight:4,width:CLOCK_HOUR_WIDTH},m.meridiemMode==="am"&&{backgroundColor:(d.vars||d).palette.primary.main,color:(d.vars||d).palette.primary.contrastText,"&:hover":{backgroundColor:(d.vars||d).palette.primary.light}})),ClockPmButton=styled(IconButton,{name:"MuiClock",slot:"PmButton",overridesResolver:(d,m)=>m.pmButton})(({theme:d,ownerState:m})=>_extends$1({zIndex:1,position:"absolute",bottom:8,right:8,paddingLeft:4,paddingRight:4,width:CLOCK_HOUR_WIDTH},m.meridiemMode==="pm"&&{backgroundColor:(d.vars||d).palette.primary.main,color:(d.vars||d).palette.primary.contrastText,"&:hover":{backgroundColor:(d.vars||d).palette.primary.light}})),ClockMeridiemText=styled(Typography,{name:"MuiClock",slot:"meridiemText",overridesResolver:(d,m)=>m.meridiemText})({overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"});function Clock(d){const m=useThemeProps({props:d,name:"MuiClock"}),{ampm:g,ampmInClock:x,autoFocus:b,children:E,value:v,handleMeridiemChange:C,isTimeDisabled:S,meridiemMode:T,minutesStep:$=1,onChange:k,selectedId:I,type:D,viewValue:A,disabled:L,readOnly:N,className:Y}=m,j=m,B=useUtils(),z=useLocaleText(),V=reactExports.useRef(!1),U=useUtilityClasses$n(j),W=S(A,D),J=!g&&D==="hours"&&(A<1||A>12),Q=(ue,pe)=>{L||N||S(ue,D)||k(ue,pe)},X=(ue,pe)=>{let{offsetX:ge,offsetY:ye}=ue;if(ge===void 0){const Ee=ue.target.getBoundingClientRect();ge=ue.changedTouches[0].clientX-Ee.left,ye=ue.changedTouches[0].clientY-Ee.top}const Ce=D==="seconds"||D==="minutes"?getMinutes(ge,ye,$):getHours(ge,ye,!!g);Q(Ce,pe)},Z=ue=>{V.current=!0,X(ue,"shallow")},oe=ue=>{V.current&&(X(ue,"finish"),V.current=!1)},ie=ue=>{ue.buttons>0&&X(ue.nativeEvent,"shallow")},ee=ue=>{V.current&&(V.current=!1),X(ue.nativeEvent,"finish")},re=reactExports.useMemo(()=>D==="hours"?!0:A%5===0,[D,A]),ce=D==="minutes"?$:1,fe=reactExports.useRef(null);useEnhancedEffect(()=>{b&&fe.current.focus()},[b]);const ae=ue=>{if(!V.current)switch(ue.key){case"Home":Q(0,"partial"),ue.preventDefault();break;case"End":Q(D==="minutes"?59:23,"partial"),ue.preventDefault();break;case"ArrowUp":Q(A+ce,"partial"),ue.preventDefault();break;case"ArrowDown":Q(A-ce,"partial"),ue.preventDefault();break}};return jsxRuntimeExports.jsxs(ClockRoot,{className:clsx(Y,U.root),children:[jsxRuntimeExports.jsxs(ClockClock,{className:U.clock,children:[jsxRuntimeExports.jsx(ClockSquareMask,{onTouchMove:Z,onTouchEnd:oe,onMouseUp:ee,onMouseMove:ie,ownerState:{disabled:L},className:U.squareMask}),!W&&jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(ClockPin,{className:U.pin}),v!=null&&jsxRuntimeExports.jsx(ClockPointer,{type:D,viewValue:A,isInner:J,hasSelected:re})]}),jsxRuntimeExports.jsx(ClockWrapper,{"aria-activedescendant":I,"aria-label":z.clockLabelText(D,v,B),ref:fe,role:"listbox",onKeyDown:ae,tabIndex:0,className:U.wrapper,children:E})]}),g&&x&&jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(ClockAmButton,{onClick:N?void 0:()=>C("am"),disabled:L||T===null,ownerState:j,className:U.amButton,title:formatMeridiem(B,"am"),children:jsxRuntimeExports.jsx(ClockMeridiemText,{variant:"caption",className:U.meridiemText,children:formatMeridiem(B,"am")})}),jsxRuntimeExports.jsx(ClockPmButton,{disabled:L||T===null,onClick:N?void 0:()=>C("pm"),ownerState:j,className:U.pmButton,title:formatMeridiem(B,"pm"),children:jsxRuntimeExports.jsx(ClockMeridiemText,{variant:"caption",className:U.meridiemText,children:formatMeridiem(B,"pm")})})]})]})}function getClockNumberUtilityClass(d){return generateUtilityClass("MuiClockNumber",d)}const clockNumberClasses=generateUtilityClasses("MuiClockNumber",["root","selected","disabled"]),_excluded$s=["className","disabled","index","inner","label","selected"],useUtilityClasses$m=d=>{const{classes:m,selected:g,disabled:x}=d;return composeClasses({root:["root",g&&"selected",x&&"disabled"]},getClockNumberUtilityClass,m)},ClockNumberRoot=styled("span",{name:"MuiClockNumber",slot:"Root",overridesResolver:(d,m)=>[m.root,{[`&.${clockNumberClasses.disabled}`]:m.disabled},{[`&.${clockNumberClasses.selected}`]:m.selected}]})(({theme:d,ownerState:m})=>_extends$1({height:CLOCK_HOUR_WIDTH,width:CLOCK_HOUR_WIDTH,position:"absolute",left:`calc((100% - ${CLOCK_HOUR_WIDTH}px) / 2)`,display:"inline-flex",justifyContent:"center",alignItems:"center",borderRadius:"50%",color:(d.vars||d).palette.text.primary,fontFamily:d.typography.fontFamily,"&:focused":{backgroundColor:(d.vars||d).palette.background.paper},[`&.${clockNumberClasses.selected}`]:{color:(d.vars||d).palette.primary.contrastText},[`&.${clockNumberClasses.disabled}`]:{pointerEvents:"none",color:(d.vars||d).palette.text.disabled}},m.inner&&_extends$1({},d.typography.body2,{color:(d.vars||d).palette.text.secondary})));function ClockNumber(d){const m=useThemeProps({props:d,name:"MuiClockNumber"}),{className:g,disabled:x,index:b,inner:E,label:v,selected:C}=m,S=_objectWithoutPropertiesLoose(m,_excluded$s),T=m,$=useUtilityClasses$m(T),k=b%12/12*Math.PI*2-Math.PI/2,I=(CLOCK_WIDTH-CLOCK_HOUR_WIDTH-2)/2*(E?.65:1),D=Math.round(Math.cos(k)*I),A=Math.round(Math.sin(k)*I);return jsxRuntimeExports.jsx(ClockNumberRoot,_extends$1({className:clsx(g,$.root),"aria-disabled":x?!0:void 0,"aria-selected":C?!0:void 0,role:"option",style:{transform:`translate(${D}px, ${A+(CLOCK_WIDTH-CLOCK_HOUR_WIDTH)/2}px`},ownerState:T},S,{children:v}))}const getHourNumbers=({ampm:d,value:m,getClockNumberText:g,isDisabled:x,selectedId:b,utils:E})=>{const v=m?E.getHours(m):null,C=[],S=d?1:0,T=d?12:23,$=k=>v===null?!1:d?k===12?v===12||v===0:v===k||v-12===k:v===k;for(let k=S;k<=T;k+=1){let I=k.toString();k===0&&(I="00");const D=!d&&(k===0||k>12);I=E.formatNumber(I);const A=$(k);C.push(jsxRuntimeExports.jsx(ClockNumber,{id:A?b:void 0,index:k,inner:D,selected:A,disabled:x(k),label:I,"aria-label":g(I)},k))}return C},getMinutesNumbers=({utils:d,value:m,isDisabled:g,getClockNumberText:x,selectedId:b})=>{const E=d.formatNumber;return[[5,E("05")],[10,E("10")],[15,E("15")],[20,E("20")],[25,E("25")],[30,E("30")],[35,E("35")],[40,E("40")],[45,E("45")],[50,E("50")],[55,E("55")],[0,E("00")]].map(([v,C],S)=>{const T=v===m;return jsxRuntimeExports.jsx(ClockNumber,{label:C,id:T?b:void 0,index:S+1,inner:!1,disabled:g(v),selected:T,"aria-label":x(C)},v)})},useValueWithTimezone=({timezone:d,value:m,defaultValue:g,onChange:x,valueManager:b})=>{var E,v;const C=useUtils(),S=reactExports.useRef(g),T=(E=m!=null?m:S.current)!=null?E:b.emptyValue,$=reactExports.useMemo(()=>b.getTimezone(C,T),[C,b,T]),k=useEventCallback(L=>$==null?L:b.setTimezone(C,$,L)),I=(v=d!=null?d:$)!=null?v:"default",D=reactExports.useMemo(()=>b.setTimezone(C,I,T),[b,C,I,T]),A=useEventCallback((L,...N)=>{const Y=k(L);x==null||x(Y,...N)});return{value:D,handleValueChange:A,timezone:I}},useControlledValueWithTimezone=({name:d,timezone:m,value:g,defaultValue:x,onChange:b,valueManager:E})=>{const[v,C]=useControlled({name:d,state:"value",controlled:g,default:x!=null?x:E.emptyValue}),S=useEventCallback((T,...$)=>{C(T),b==null||b(T,...$)});return useValueWithTimezone({timezone:m,value:v,defaultValue:void 0,onChange:S,valueManager:E})},SECTION_TYPE_GRANULARITY={year:1,month:2,day:3,hours:4,minutes:5,seconds:6,milliseconds:7},getSectionTypeGranularity=d=>Math.max(...d.map(m=>{var g;return(g=SECTION_TYPE_GRANULARITY[m.type])!=null?g:1})),roundDate=(d,m,g)=>{if(m===SECTION_TYPE_GRANULARITY.year)return d.startOfYear(g);if(m===SECTION_TYPE_GRANULARITY.month)return d.startOfMonth(g);if(m===SECTION_TYPE_GRANULARITY.day)return d.startOfDay(g);let x=g;return m<SECTION_TYPE_GRANULARITY.minutes&&(x=d.setMinutes(x,0)),m<SECTION_TYPE_GRANULARITY.seconds&&(x=d.setSeconds(x,0)),m<SECTION_TYPE_GRANULARITY.milliseconds&&(x=d.setMilliseconds(x,0)),x},getDefaultReferenceDate=({props:d,utils:m,granularity:g,timezone:x,getTodayDate:b})=>{var E;let v=b?b():roundDate(m,g,getTodayDate(m,x));d.minDate!=null&&m.isAfterDay(d.minDate,v)&&(v=roundDate(m,g,d.minDate)),d.maxDate!=null&&m.isBeforeDay(d.maxDate,v)&&(v=roundDate(m,g,d.maxDate));const C=createIsAfterIgnoreDatePart((E=d.disableIgnoringDatePartForTimeValidation)!=null?E:!1,m);return d.minTime!=null&&C(d.minTime,v)&&(v=roundDate(m,g,d.disableIgnoringDatePartForTimeValidation?d.minTime:mergeDateAndTime(m,v,d.minTime))),d.maxTime!=null&&C(v,d.maxTime)&&(v=roundDate(m,g,d.disableIgnoringDatePartForTimeValidation?d.maxTime:mergeDateAndTime(m,v,d.maxTime))),v},getDateSectionConfigFromFormatToken=(d,m)=>{const g=d.formatTokenMap[m];if(g==null)throw new Error([`MUI: The token "${m}" is not supported by the Date and Time Pickers.`,"Please try using another token or open an issue on https://github.com/mui/mui-x/issues/new/choose if you think it should be supported."].join(`
@@ -756,8 +756,8 @@ ${g.comment}`:g.comment}this.doc.range[2]=g.offset;break}default:this.errors.pus
756
756
  `)+1;for(;g!==0;)this.onNewLine(this.offset+g),g=this.source.indexOf(`
757
757
  `,g)+1}yield*bt(this.pop());break;default:yield*bt(this.pop()),yield*bt(this.step())}}*blockMap(m){var x;const g=m.items[m.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,g.value){const b="end"in g.value?g.value.end:void 0,E=Array.isArray(b)?b[b.length-1]:void 0;(E==null?void 0:E.type)==="comment"?b==null||b.push(this.sourceToken):m.items.push({start:[this.sourceToken]})}else g.sep?g.sep.push(this.sourceToken):g.start.push(this.sourceToken);return;case"space":case"comment":if(g.value)m.items.push({start:[this.sourceToken]});else if(g.sep)g.sep.push(this.sourceToken);else{if(this.atIndentedComment(g.start,m.indent)){const b=m.items[m.items.length-2],E=(x=b==null?void 0:b.value)==null?void 0:x.end;if(Array.isArray(E)){Array.prototype.push.apply(E,g.start),E.push(this.sourceToken),m.items.pop();return}}g.start.push(this.sourceToken)}return}if(this.indent>=m.indent){const b=!this.onKeyLine&&this.indent===m.indent,E=b&&(g.sep||g.explicitKey)&&this.type!=="seq-item-ind";let v=[];if(E&&g.sep&&!g.value){const C=[];for(let S=0;S<g.sep.length;++S){const T=g.sep[S];switch(T.type){case"newline":C.push(S);break;case"space":break;case"comment":T.indent>m.indent&&(C.length=0);break;default:C.length=0}}C.length>=2&&(v=g.sep.splice(C[1]))}switch(this.type){case"anchor":case"tag":E||g.value?(v.push(this.sourceToken),m.items.push({start:v}),this.onKeyLine=!0):g.sep?g.sep.push(this.sourceToken):g.start.push(this.sourceToken);return;case"explicit-key-ind":!g.sep&&!g.explicitKey?(g.start.push(this.sourceToken),g.explicitKey=!0):E||g.value?(v.push(this.sourceToken),m.items.push({start:v,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(g.explicitKey)if(g.sep)if(g.value)m.items.push({start:[],key:null,sep:[this.sourceToken]});else if(includesToken(g.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:v,key:null,sep:[this.sourceToken]}]});else if(isFlowToken(g.key)&&!includesToken(g.sep,"newline")){const C=getFirstKeyStartProps(g.start),S=g.key,T=g.sep;T.push(this.sourceToken),delete g.key,delete g.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:C,key:S,sep:T}]})}else v.length>0?g.sep=g.sep.concat(v,this.sourceToken):g.sep.push(this.sourceToken);else if(includesToken(g.start,"newline"))Object.assign(g,{key:null,sep:[this.sourceToken]});else{const C=getFirstKeyStartProps(g.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:C,key:null,sep:[this.sourceToken]}]})}else g.sep?g.value||E?m.items.push({start:v,key:null,sep:[this.sourceToken]}):includesToken(g.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):g.sep.push(this.sourceToken):Object.assign(g,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const C=this.flowScalar(this.type);E||g.value?(m.items.push({start:v,key:C,sep:[]}),this.onKeyLine=!0):g.sep?this.stack.push(C):(Object.assign(g,{key:C,sep:[]}),this.onKeyLine=!0);return}default:{const C=this.startBlockValue(m);if(C){if(C.type==="block-seq"){if(!g.explicitKey&&g.sep&&!includesToken(g.sep,"newline")){yield*bt(this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}));return}}else b&&m.items.push({start:v});this.stack.push(C);return}}}}yield*bt(this.pop()),yield*bt(this.step())}*blockSequence(m){var x;const g=m.items[m.items.length-1];switch(this.type){case"newline":if(g.value){const b="end"in g.value?g.value.end:void 0,E=Array.isArray(b)?b[b.length-1]:void 0;(E==null?void 0:E.type)==="comment"?b==null||b.push(this.sourceToken):m.items.push({start:[this.sourceToken]})}else g.start.push(this.sourceToken);return;case"space":case"comment":if(g.value)m.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(g.start,m.indent)){const b=m.items[m.items.length-2],E=(x=b==null?void 0:b.value)==null?void 0:x.end;if(Array.isArray(E)){Array.prototype.push.apply(E,g.start),E.push(this.sourceToken),m.items.pop();return}}g.start.push(this.sourceToken)}return;case"anchor":case"tag":if(g.value||this.indent<=m.indent)break;g.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==m.indent)break;g.value||includesToken(g.start,"seq-item-ind")?m.items.push({start:[this.sourceToken]}):g.start.push(this.sourceToken);return}if(this.indent>m.indent){const b=this.startBlockValue(m);if(b){this.stack.push(b);return}}yield*bt(this.pop()),yield*bt(this.step())}*flowCollection(m){const g=m.items[m.items.length-1];if(this.type==="flow-error-end"){let x;do yield*bt(this.pop()),x=this.peek(1);while(x&&x.type==="flow-collection")}else if(m.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!g||g.sep?m.items.push({start:[this.sourceToken]}):g.start.push(this.sourceToken);return;case"map-value-ind":!g||g.value?m.items.push({start:[],key:null,sep:[this.sourceToken]}):g.sep?g.sep.push(this.sourceToken):Object.assign(g,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!g||g.value?m.items.push({start:[this.sourceToken]}):g.sep?g.sep.push(this.sourceToken):g.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const b=this.flowScalar(this.type);!g||g.value?m.items.push({start:[],key:b,sep:[]}):g.sep?this.stack.push(b):Object.assign(g,{key:b,sep:[]});return}case"flow-map-end":case"flow-seq-end":m.end.push(this.sourceToken);return}const x=this.startBlockValue(m);x?this.stack.push(x):(yield*bt(this.pop()),yield*bt(this.step()))}else{const x=this.peek(2);if(x.type==="block-map"&&(this.type==="map-value-ind"&&x.indent===m.indent||this.type==="newline"&&!x.items[x.items.length-1].sep))yield*bt(this.pop()),yield*bt(this.step());else if(this.type==="map-value-ind"&&x.type!=="flow-collection"){const b=getPrevProps(x),E=getFirstKeyStartProps(b);fixFlowSeqItems(m);const v=m.end.splice(1,m.end.length);v.push(this.sourceToken);const C={type:"block-map",offset:m.offset,indent:m.indent,items:[{start:E,key:m,sep:v}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=C}else yield*bt(this.lineEnd(m))}}flowScalar(m){if(this.onNewLine){let g=this.source.indexOf(`
758
758
  `)+1;for(;g!==0;)this.onNewLine(this.offset+g),g=this.source.indexOf(`
759
- `,g)+1}return{type:m,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(m){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return x.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(m,g){return this.type!=="comment"||this.indent<=g?!1:m.every(x=>x.type==="newline"||x.type==="space")}*documentEnd(m){this.type!=="doc-mode"&&(m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop())))}*lineEnd(m){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*bt(this.pop()),yield*bt(this.step());break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop()))}}};function parseOptions(d){const m=d.prettyErrors!==!1;return{lineCounter:d.lineCounter||m&&new LineCounter||null,prettyErrors:m}}function parseAllDocuments(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m),v=Array.from(E.compose(b.parse(d)));if(x&&g)for(const C of v)C.errors.forEach(prettifyError(d,g)),C.warnings.forEach(prettifyError(d,g));return v.length>0?v:Object.assign([],{empty:!0},E.streamInfo())}function parseDocument(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m);let v=null;for(const C of E.compose(b.parse(d),!0,d.length))if(!v)v=C;else if(v.options.logLevel!=="silent"){v.errors.push(new YAMLParseError(C.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return x&&g&&(v.errors.forEach(prettifyError(d,g)),v.warnings.forEach(prettifyError(d,g))),v}function parse$1(d,m,g){let x;typeof m=="function"?x=m:g===void 0&&m&&typeof m=="object"&&(g=m);const b=parseDocument(d,g);if(!b)return null;if(b.warnings.forEach(E=>warn(b.options.logLevel,E)),b.errors.length>0){if(b.options.logLevel!=="silent")throw b.errors[0];b.errors=[]}return b.toJS(Object.assign({reviver:x},g))}function stringify(d,m,g){var b;let x=null;if(typeof m=="function"||Array.isArray(m)?x=m:g===void 0&&m&&(g=m),typeof g=="string"&&(g=g.length),typeof g=="number"){const E=Math.round(g);g=E<1?void 0:E>8?{indent:8}:{indent:E}}if(d===void 0){const{keepUndefined:E}=(b=g!=null?g:m)!=null?b:{};if(!E)return}return isDocument(d)&&!x?d.toString(g):new Document(d,x,g).toString(g)}const YAML=Object.freeze(Object.defineProperty({__proto__:null,Alias,CST:cst,Composer,Document,Lexer,LineCounter,Pair,Parser:Parser$1,Scalar,Schema,YAMLError,YAMLMap,YAMLParseError,YAMLSeq,YAMLWarning,isAlias,isCollection:isCollection$1,isDocument,isMap:isMap$1,isNode,isPair,isScalar:isScalar$1,isSeq,parse:parse$1,parseAllDocuments,parseDocument,stringify,visit:visit$1,visitAsync},Symbol.toStringTag,{value:"Module"}));let G=null;class H{}H.render=function(d,m){G(d,m)};self.QrCreator=H;(function(d){function m(C,S,T,$){var k={},I=d(T,S);I.u(C),I.J(),$=$||0;var D=I.h(),A=I.h()+2*$;return k.text=C,k.level=S,k.version=T,k.O=A,k.a=function(L,N){return L-=$,N-=$,0>L||L>=D||0>N||N>=D?!1:I.a(L,N)},k}function g(C,S,T,$,k,I,D,A,L,N){function Y(j,B,z,V,U,W,J){j?(C.lineTo(B+W,z+J),C.arcTo(B,z,V,U,I)):C.lineTo(B,z)}D?C.moveTo(S+I,T):C.moveTo(S,T),Y(A,$,T,$,k,-I,0),Y(L,$,k,S,k,0,-I),Y(N,S,k,S,T,I,0),Y(D,S,T,$,T,0,I)}function x(C,S,T,$,k,I,D,A,L,N){function Y(j,B,z,V){C.moveTo(j+z,B),C.lineTo(j,B),C.lineTo(j,B+V),C.arcTo(j,B,j+z,B,I)}D&&Y(S,T,I,I),A&&Y($,T,-I,I),L&&Y($,k,-I,-I),N&&Y(S,k,I,-I)}function b(C,S){var T=S.fill;if(typeof T=="string")C.fillStyle=T;else{var $=T.type,k=T.colorStops;if(T=T.position.map(D=>Math.round(D*S.size)),$==="linear-gradient")var I=C.createLinearGradient.apply(C,T);else if($==="radial-gradient")I=C.createRadialGradient.apply(C,T);else throw Error("Unsupported fill");k.forEach(([D,A])=>{I.addColorStop(D,A)}),C.fillStyle=I}}function E(C,S){e:{var T=S.text,$=S.v,k=S.N,I=S.K,D=S.P;for(k=Math.max(1,k||1),I=Math.min(40,I||40);k<=I;k+=1)try{var A=m(T,$,k,D);break e}catch(ce){}A=void 0}if(!A)return null;for(T=C.getContext("2d"),S.background&&(T.fillStyle=S.background,T.fillRect(S.left,S.top,S.size,S.size)),$=A.O,I=S.size/$,T.beginPath(),D=0;D<$;D+=1)for(k=0;k<$;k+=1){var L=T,N=S.left+k*I,Y=S.top+D*I,j=D,B=k,z=A.a,V=N+I,U=Y+I,W=j-1,J=j+1,Q=B-1,X=B+1,Z=Math.floor(Math.min(.5,Math.max(0,S.R))*I),oe=z(j,B),ie=z(W,Q),ee=z(W,B);W=z(W,X);var re=z(j,X);X=z(J,X),B=z(J,B),J=z(J,Q),j=z(j,Q),N=Math.round(N),Y=Math.round(Y),V=Math.round(V),U=Math.round(U),oe?g(L,N,Y,V,U,Z,!ee&&!j,!ee&&!re,!B&&!re,!B&&!j):x(L,N,Y,V,U,Z,ee&&j&&ie,ee&&re&&W,B&&re&&X,B&&j&&J)}return b(T,S),T.fill(),C}var v={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(C,S){var T={};Object.assign(T,v,C),T.N=T.minVersion,T.K=T.maxVersion,T.v=T.ecLevel,T.left=T.left,T.top=T.top,T.size=T.size,T.fill=T.fill,T.background=T.background,T.text=T.text,T.R=T.radius,T.P=T.quiet,S instanceof HTMLCanvasElement?((S.width!==T.size||S.height!==T.size)&&(S.width=T.size,S.height=T.size),S.getContext("2d").clearRect(0,0,S.width,S.height),E(S,T)):(C=document.createElement("canvas"),C.width=T.size,C.height=T.size,T=E(C,T),S.appendChild(T))}})(function(){function d(S){var T=g.s(S);return{S:function(){return 4},b:function(){return T.length},write:function($){for(var k=0;k<T.length;k+=1)$.put(T[k],8)}}}function m(){var S=[],T=0,$={B:function(){return S},c:function(k){return(S[Math.floor(k/8)]>>>7-k%8&1)==1},put:function(k,I){for(var D=0;D<I;D+=1)$.m((k>>>I-D-1&1)==1)},f:function(){return T},m:function(k){var I=Math.floor(T/8);S.length<=I&&S.push(0),k&&(S[I]|=128>>>T%8),T+=1}};return $}function g(S,T){function $(j,B){for(var z=-1;7>=z;z+=1)if(!(-1>=j+z||A<=j+z))for(var V=-1;7>=V;V+=1)-1>=B+V||A<=B+V||(D[j+z][B+V]=0<=z&&6>=z&&(V==0||V==6)||0<=V&&6>=V&&(z==0||z==6)||2<=z&&4>=z&&2<=V&&4>=V)}function k(j,B){for(var z=A=4*S+17,V=Array(z),U=0;U<z;U+=1){V[U]=Array(z);for(var W=0;W<z;W+=1)V[U][W]=null}for(D=V,$(0,0),$(A-7,0),$(0,A-7),z=E.G(S),V=0;V<z.length;V+=1)for(U=0;U<z.length;U+=1){W=z[V];var J=z[U];if(D[W][J]==null)for(var Q=-2;2>=Q;Q+=1)for(var X=-2;2>=X;X+=1)D[W+Q][J+X]=Q==-2||Q==2||X==-2||X==2||Q==0&&X==0}for(z=8;z<A-8;z+=1)D[z][6]==null&&(D[z][6]=z%2==0);for(z=8;z<A-8;z+=1)D[6][z]==null&&(D[6][z]=z%2==0);for(z=E.w(I<<3|B),V=0;15>V;V+=1)U=!j&&(z>>V&1)==1,D[6>V?V:8>V?V+1:A-15+V][8]=U,D[8][8>V?A-V-1:9>V?15-V:14-V]=U;if(D[A-8][8]=!j,7<=S){for(z=E.A(S),V=0;18>V;V+=1)U=!j&&(z>>V&1)==1,D[Math.floor(V/3)][V%3+A-8-3]=U;for(V=0;18>V;V+=1)U=!j&&(z>>V&1)==1,D[V%3+A-8-3][Math.floor(V/3)]=U}if(L==null){for(j=C.I(S,I),z=m(),V=0;V<N.length;V+=1)U=N[V],z.put(4,4),z.put(U.b(),E.f(4,S)),U.write(z);for(V=U=0;V<j.length;V+=1)U+=j[V].j;if(z.f()>8*U)throw Error("code length overflow. ("+z.f()+">"+8*U+")");for(z.f()+4<=8*U&&z.put(0,4);z.f()%8!=0;)z.m(!1);for(;!(z.f()>=8*U)&&(z.put(236,8),!(z.f()>=8*U));)z.put(17,8);var Z=0;for(U=V=0,W=Array(j.length),J=Array(j.length),Q=0;Q<j.length;Q+=1){var oe=j[Q].j,ie=j[Q].o-oe;for(V=Math.max(V,oe),U=Math.max(U,ie),W[Q]=Array(oe),X=0;X<W[Q].length;X+=1)W[Q][X]=255&z.B()[X+Z];for(Z+=oe,X=E.C(ie),oe=x(W[Q],X.b()-1).l(X),J[Q]=Array(X.b()-1),X=0;X<J[Q].length;X+=1)ie=X+oe.b()-J[Q].length,J[Q][X]=0<=ie?oe.c(ie):0}for(X=z=0;X<j.length;X+=1)z+=j[X].o;for(z=Array(z),X=Z=0;X<V;X+=1)for(Q=0;Q<j.length;Q+=1)X<W[Q].length&&(z[Z]=W[Q][X],Z+=1);for(X=0;X<U;X+=1)for(Q=0;Q<j.length;Q+=1)X<J[Q].length&&(z[Z]=J[Q][X],Z+=1);L=z}for(j=L,z=-1,V=A-1,U=7,W=0,B=E.F(B),J=A-1;0<J;J-=2)for(J==6&&--J;;){for(Q=0;2>Q;Q+=1)D[V][J-Q]==null&&(X=!1,W<j.length&&(X=(j[W]>>>U&1)==1),B(V,J-Q)&&(X=!X),D[V][J-Q]=X,--U,U==-1&&(W+=1,U=7));if(V+=z,0>V||A<=V){V-=z,z=-z;break}}}var I=b[T],D=null,A=0,L=null,N=[],Y={u:function(j){j=d(j),N.push(j),L=null},a:function(j,B){if(0>j||A<=j||0>B||A<=B)throw Error(j+","+B);return D[j][B]},h:function(){return A},J:function(){for(var j=0,B=0,z=0;8>z;z+=1){k(!0,z);var V=E.D(Y);(z==0||j>V)&&(j=V,B=z)}k(!1,B)}};return Y}function x(S,T){if(typeof S.length=="undefined")throw Error(S.length+"/"+T);var $=function(){for(var I=0;I<S.length&&S[I]==0;)I+=1;for(var D=Array(S.length-I+T),A=0;A<S.length-I;A+=1)D[A]=S[A+I];return D}(),k={c:function(I){return $[I]},b:function(){return $.length},multiply:function(I){for(var D=Array(k.b()+I.b()-1),A=0;A<k.b();A+=1)for(var L=0;L<I.b();L+=1)D[A+L]^=v.i(v.g(k.c(A))+v.g(I.c(L)));return x(D,0)},l:function(I){if(0>k.b()-I.b())return k;for(var D=v.g(k.c(0))-v.g(I.c(0)),A=Array(k.b()),L=0;L<k.b();L+=1)A[L]=k.c(L);for(L=0;L<I.b();L+=1)A[L]^=v.i(v.g(I.c(L))+D);return x(A,0).l(I)}};return k}g.s=function(S){for(var T=[],$=0;$<S.length;$++){var k=S.charCodeAt($);128>k?T.push(k):2048>k?T.push(192|k>>6,128|k&63):55296>k||57344<=k?T.push(224|k>>12,128|k>>6&63,128|k&63):($++,k=65536+((k&1023)<<10|S.charCodeAt($)&1023),T.push(240|k>>18,128|k>>12&63,128|k>>6&63,128|k&63))}return T};var b={L:1,M:0,Q:3,H:2},E=function(){function S(k){for(var I=0;k!=0;)I+=1,k>>>=1;return I}var T=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],$={w:function(k){for(var I=k<<10;0<=S(I)-S(1335);)I^=1335<<S(I)-S(1335);return(k<<10|I)^21522},A:function(k){for(var I=k<<12;0<=S(I)-S(7973);)I^=7973<<S(I)-S(7973);return k<<12|I},G:function(k){return T[k-1]},F:function(k){switch(k){case 0:return function(I,D){return(I+D)%2==0};case 1:return function(I){return I%2==0};case 2:return function(I,D){return D%3==0};case 3:return function(I,D){return(I+D)%3==0};case 4:return function(I,D){return(Math.floor(I/2)+Math.floor(D/3))%2==0};case 5:return function(I,D){return I*D%2+I*D%3==0};case 6:return function(I,D){return(I*D%2+I*D%3)%2==0};case 7:return function(I,D){return(I*D%3+(I+D)%2)%2==0};default:throw Error("bad maskPattern:"+k)}},C:function(k){for(var I=x([1],0),D=0;D<k;D+=1)I=I.multiply(x([1,v.i(D)],0));return I},f:function(k,I){if(k!=4||1>I||40<I)throw Error("mode: "+k+"; type: "+I);return 10>I?8:16},D:function(k){for(var I=k.h(),D=0,A=0;A<I;A+=1)for(var L=0;L<I;L+=1){for(var N=0,Y=k.a(A,L),j=-1;1>=j;j+=1)if(!(0>A+j||I<=A+j))for(var B=-1;1>=B;B+=1)0>L+B||I<=L+B||(j!=0||B!=0)&&Y==k.a(A+j,L+B)&&(N+=1);5<N&&(D+=3+N-5)}for(A=0;A<I-1;A+=1)for(L=0;L<I-1;L+=1)N=0,k.a(A,L)&&(N+=1),k.a(A+1,L)&&(N+=1),k.a(A,L+1)&&(N+=1),k.a(A+1,L+1)&&(N+=1),(N==0||N==4)&&(D+=3);for(A=0;A<I;A+=1)for(L=0;L<I-6;L+=1)k.a(A,L)&&!k.a(A,L+1)&&k.a(A,L+2)&&k.a(A,L+3)&&k.a(A,L+4)&&!k.a(A,L+5)&&k.a(A,L+6)&&(D+=40);for(L=0;L<I;L+=1)for(A=0;A<I-6;A+=1)k.a(A,L)&&!k.a(A+1,L)&&k.a(A+2,L)&&k.a(A+3,L)&&k.a(A+4,L)&&!k.a(A+5,L)&&k.a(A+6,L)&&(D+=40);for(L=N=0;L<I;L+=1)for(A=0;A<I;A+=1)k.a(A,L)&&(N+=1);return D+=Math.abs(100*N/I/I-50)/5*10}};return $}(),v=function(){for(var S=Array(256),T=Array(256),$=0;8>$;$+=1)S[$]=1<<$;for($=8;256>$;$+=1)S[$]=S[$-4]^S[$-5]^S[$-6]^S[$-8];for($=0;255>$;$+=1)T[S[$]]=$;return{g:function(k){if(1>k)throw Error("glog("+k+")");return T[k]},i:function(k){for(;0>k;)k+=255;for(;256<=k;)k-=255;return S[k]}}}(),C=function(){function S(k,I){switch(I){case b.L:return T[4*(k-1)];case b.M:return T[4*(k-1)+1];case b.Q:return T[4*(k-1)+2];case b.H:return T[4*(k-1)+3]}}var T=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],$={I:function(k,I){var D=S(k,I);if(typeof D=="undefined")throw Error("bad rs block @ typeNumber:"+k+"/errorCorrectLevel:"+I);k=D.length/3,I=[];for(var A=0;A<k;A+=1)for(var L=D[3*A],N=D[3*A+1],Y=D[3*A+2],j=0;j<L;j+=1){var B=Y,z={};z.o=N,z.j=B,I.push(z)}return I}};return $}();return g}());const QrCreator$1=QrCreator,SYS_ICONS={login:["👤","user"],user:["👤","user"],filter:["✂"],search:["🔍"],search_off:["❌","cancel"],close:["❌","cancel"],error:["❌","cancel"],stop:["⏹️"],options:["⚙","cog"],archive:["📦"],logout:["🚪"],home:["🏠"],parent:["⬅","left"],folder:["📂"],file:["📄","doc"],spinner:["🎲","spin6 spinner"],password:["🗝️","key"],download:["⬇️"],upload:["⬆️"],reload:["🔄","reload"],lock:["🔒","lock"],admin:["👑","crown"],check:["✔️"],to_start:["◀"],to_end:["▶"],menu:["☰"],list:["☰","menu"],play:["▶"],pause:["⏸"],edit:["✏️"],zoom:["↔"],delete:["🗑️","trash"],comment:["💬"],link:["↗"],info:["ⓘ"],cut:["✄"],paste:["📋"],copy:["⧉"],shuffle:["🔀"],repeat:["🔁","reload"],success:["👍","check"],warning:["⚠️",!1],audio:["🎧"],video:["🎥"],image:["📸"],cancel:["❌","cancel"],total:["➕","spin6"],eye:["👁️"]};function subscribeKey(d,m,g,x){let b=d[m];return subscribe(d,()=>{const E=d[m];Object.is(b,E)||g(b=E)},x)}let currentCleanups;function watch(d,m){let g=!0;const x=new Set,b=new Map,E=()=>{g&&(g=!1,x.forEach(C=>C()),x.clear(),b.forEach(C=>C()),b.clear())},v=()=>xt(this,null,function*(){if(!g)return;x.forEach(T=>T()),x.clear();const C=new Set,S=currentCleanups;currentCleanups=x;try{const T=d(k=>{if(C.add(k),g&&!b.has(k)){const I=subscribe(k,v,m==null?void 0:m.sync);b.set(k,I)}return k}),$=T&&T instanceof Promise?yield T:T;$&&(g?x.add($):E())}finally{currentCleanups=S}b.forEach((T,$)=>{C.has($)||(b.delete($),T())})});return currentCleanups&&currentCleanups.add(E),v(),E}const ANY_LANGUAGE="all";function i18nFromTranslations(d,m="en"){const g=proxy({embedded:m,disabled:!1,translations:d}),x=[];watch(T=>{const $=T(g);x.splice(0,1/0,ANY_LANGUAGE,...$.disabled?[]:Object.keys($.translations),$.embedded)});const b=new Set;function E(){return Object.keys(g.translations)}function v(T,$,k){var j,B;if(!T)return"";const I=S(T)?[k!=null?k:k=T[0]]:Array.isArray(T)?T:[T];typeof $=="string"&&!k&&(k=$,$=null);let D,A="";const{embedded:L}=g,N=Object.keys(g.translations);for(const z of I){for(const V of x)if(D=(B=(j=g.translations[A=V])==null?void 0:j.translate)==null?void 0:B[z])break;if(D)break;!b.has(z)&&N.length&&N[0]!==L&&(b.add(z),console.debug("miss i18n:",z))}return D||(D=k||I[I.length-1],A=L),Array.from(C(D)).map(([z,V])=>{if(!V)return z;const[U,W,J]=z.split(",").map(X=>X.trim());if(!$)throw"missing params on "+I[0];const Q=U&&$[U];return W==="plural"&&J?Y(Q,J):Q||Q===0?Q:""}).join("");function Y(z,V){const U=Intl.PluralRules?new Intl.PluralRules(A||L).select(Number(z)):"other";let W="",J=!1,Q=!1;for(const[Z,oe]of C(V)){if(J)return X(Z);if(Q&&(W=Z,Q=!1),oe)continue;const ie=Z.trim().split(/\s+/);J=ie.some(ee=>ee[0]==="="&&z===Number(ee.slice(1))||ee===U),Q=!J&&ie.includes("other")}return X(W);function X(Z){return Z.replace("#",String(z))}}}function*C(T){let $=0;for(;;){const k=T.indexOf("{",$);if(k<0)break;yield[T.slice($,k),!1];let I=1;for($=k+1;I&&$<T.length;)T[$]==="{"?I++:T[$]==="}"&&I--,$++;if(I)return console.debug("tokenizer: unclosed");yield[T.slice(k+1,$-1),!0]}yield[T.slice($),!1]}function S(T){return(T==null?void 0:T.raw)&&Array.isArray(T)}return{t:v,state:g,getLangs:E,i18nWrapperProps:()=>({lang:E()[0]||g.embedded}),useI18N(){return useSnapshot(g),{t:v}}}}const state$1=proxy($t(Ae({uploadOnExisting:getHFS().dontOverwriteUploading?"rename":"skip",uri:"",canChangePassword:!1,props:{}},objSameKeys(FRONTEND_OPTIONS,(d,m)=>{var g;return(g=getHFS()[m])!=null?g:d})),{iconsReady:!1,username:"",list:[],clip:[],loading:!1,listReloader:0,patternFilter:"",showFilter:!1,selected:{},remoteSearch:void 0}));function useSnapState$1(){return useSnapshot(state$1)}const SETTINGS_KEY="hfs_settings",SETTINGS_WITHOUT_GUI=["file_menu_on_link"],SETTINGS_TO_STORE$1=_.difference(typedKeys(FRONTEND_OPTIONS),SETTINGS_WITHOUT_GUI).concat(["uploadOnExisting"]);loadSettings();for(const d of SETTINGS_TO_STORE$1)subscribeKey(state$1,d,storeSettings$1);function loadSettings(){const d=localStorage.getItem(SETTINGS_KEY);if(!d)return;let m;try{m=JSON.parse(d)}catch(g){console.error("invalid settings stored",d);return}for(const g of SETTINGS_TO_STORE$1){const x=m[g];x!==void 0&&(state$1[g]=x)}}function storeSettings$1(){localStorage.setItem(SETTINGS_KEY,JSON.stringify(_.pick(state$1,SETTINGS_TO_STORE$1)))}const nf=class nf{constructor(m,g){var b,E;if(this.ext="",this.isFolder=m.endsWith("/"),this.isFolder&&(m=m.slice(0,-1)),Object.assign(this,g),this.n=m,this.uri=(g==null?void 0:g.url)||(!m||m[0]==="/"?"":location.pathname)+pathEncode(m)+(this.isFolder?"/":""),!this.isFolder){const v=m.lastIndexOf(".")+1;this.ext=v?m.substring(v).toLowerCase():""}this.c&&(this.c=new Date(this.c)),this.m=this.m?new Date(this.m):this.c,this.name=m.slice(m.lastIndexOf("/")+1);const x=this.isFolder&&!this.web?"L":"R";this.cantOpen=(b=this.p)!=null&&b.match(x)?!0:(E=this.p)!=null&&E.match(x.toLowerCase())?nf.FORBIDDEN:void 0}isRoot(){return!this.name}getNext(){return this.getSibling(1)}getPrevious(){return this.getSibling(-1)}getNextFiltered(){return this.getSibling(1,state$1.filteredList)}getPreviousFiltered(){return this.getSibling(-1,state$1.filteredList)}getSibling(m,g=state$1.list){return g[m+g.findIndex(x=>x.n===this.n)]}getDefaultIcon(){var m;return hIcon(this.icon===!0?`${this.n}?get=icon`:(m=this.icon)!=null?m:this.isFolder||this.web?"folder":this.url?"link":ext2type(this.ext)||"file")}canArchive(){var m,g,x;return((m=this.p)==null?void 0:m.includes("A"))||((g=state$1.props)==null?void 0:g.can_archive)&&!((x=this.p)!=null&&x.includes("a"))}canDelete(){var m,g,x;return!this.isRoot()&&(((m=this.p)==null?void 0:m.includes("D"))||((g=state$1.props)==null?void 0:g.can_delete_children)&&!((x=this.p)!=null&&x.includes("d")))}canUpload(){var m,g,x;return this.isFolder&&(((m=this.p)==null?void 0:m.includes("U"))||((g=state$1.props)==null?void 0:g.can_upload)&&!((x=this.p)!=null&&x.includes("u")))}canSelect(){return this.url||this.isRoot()?!1:this.canArchive()||this.canDelete()||hfsEvent("enableEntrySelection",{entry:this}).some(Boolean)}};nf.FORBIDDEN="FORBIDDEN";let DirEntry=nf;const exts={image:["jpeg","jpg","gif","png","webp","svg"],audio:["mp3","wav","m4a","ogg","flac"],video:["mp4","mpeg","mpg","webm","mov","m4v","mkv"],archive:["zip","rar","gz","tgz"]};function ext2type(d){return _.findKey(exts,m=>m.includes(d))}const i18n=i18nFromTranslations(getHFS().lang||{},EMBEDDED_LANGUAGE);i18n.state.disabled=!urlParams.lang&&state$1.disableTranslation;function toast$1(d,m="info",{timeout:g=5e3}={}){console.debug("toast",d);const x=Math.random();toasts.push({id:x,content:reactExports.isValidElement(d)?ref(d):d,type:reactExports.isValidElement(m)?ref(m):m,close:E});const b=pendingPromise();return setTimeout(E,g),{close:E,closed:b};function E(){const v=_.find(toasts,{id:x});v&&(v.closed=!0,b.resolve())}}const toasts=proxy([]),{t:t$d}=i18n;_.merge(dialogsDefaults,{closableProps:{"aria-label":t$d`Close`}});function promptDialog$1(I){return xt(this,arguments,function*(d,$={}){var k=$,{value:m,type:g,helperText:x,trim:b=!0,inputProps:E,onSubmit:v,onField:C,placeholder:S}=k,T=zt(k,["value","type","helperText","trim","inputProps","onSubmit","onField","placeholder"]);const D=g==="textarea"&&g;return new Promise(L=>newDialog($t(Ae({className:"dialog-prompt",icon:"?",onClose:L},T),{Content:A})));function A(){const L=reactExports.useRef();return reactExports.useEffect(()=>{const Y=L.current;if(!Y)return;const j=Y;if(setTimeout(()=>j.focus(),100),m&&(j.value=m),C==null||C(j),D){let B=function(){j.style.height="auto",j.style.height=j.scrollHeight+5+"px"};setTimeout(B),j.addEventListener("input",B)}},[D]),reactExports.createElement("form",{},reactExports.createElement("label",{htmlFor:"input"},d),reactExports.createElement(D||"input",$t(Ae({ref:L,type:g,name:"input",autoFocus:!0,placeholder:S},E),{style:Ae({width:m?m.length/2+"em":"auto",minWidth:"100%",maxWidth:"100%",boxSizing:"border-box"},D&&{width:"30em",maxHeight:"70vh"}),onKeyDown(Y){const{key:j}=Y;if(j==="Escape")return closeDialog();if((D?isCtrlKey(Y):j)==="Enter")return Y.preventDefault(),N()}})),x&&reactExports.createElement("div",{style:{fontSize:"smaller",marginTop:".2em"}},x),reactExports.createElement("div",{style:{textAlign:"right",marginTop:".8em"}},reactExports.createElement("button",{onClick:N},t$d`Continue`)));function N(){return xt(this,null,function*(){var j,B;let Y=(j=L.current)==null?void 0:j.value;b&&(Y=Y==null?void 0:Y.trim());try{v&&Y!==void 0&&(Y=(B=yield v==null?void 0:v(Y))!=null?B:Y),closeDialog(Y)}catch(z){alertDialog$1(z,"error")}})}}})}function formDialog$1(m){return xt(this,null,function*(){var d=zt(m,[]);return new Promise(g=>{const{close:x}=newDialog($t(Ae({className:"dialog-form"},d),{onClose:g,Content(){return reactExports.createElement("form",{onSubmit(b){b.preventDefault(),x(Object.fromEntries(new FormData(b.target).entries()))}},reactExports.createElement(d.Content))}}))})})}let msgShowing;function alertDialog$1(d,m="info",g=""){if(d===msgShowing)return;const x=msgShowing;msgShowing=d,d instanceof Error&&(m="error");const b=pendingPromise();return b.finally(()=>{d===msgShowing&&(msgShowing=x)}),Object.assign(b,newDialog({className:"dialog-alert dialog-alert-"+m,title:g||t$d(_.capitalize(m)),icon:"!",onClose:b.resolve,dialogProps:{role:"alertdialog"},Content(){if(d instanceof Error){const E=err2msg(d),v=d.message;d=reactExports.createElement("div",{},E,v!==E&&reactExports.createElement("div",{style:{marginTop:20,fontSize:"small"}},v))}return typeof d=="string"&&(d=reactExports.createElement("p",{},d)),d}}))}function confirmDialog$1(d,m={}){const $=m,{href:g,afterButtons:x,timeout:b,timeoutConfirm:E=!1}=$,v=zt($,["href","afterButtons","timeout","timeoutConfirm"]);typeof d=="string"&&(d=reactExports.createElement("p",{},d));const C=pendingPromise(),S=newDialog($t(Ae({className:"dialog-confirm",icon:"?",onClose:C.resolve},v),{Content:T}));return Object.assign(C,S);function T(){const[k,I]=reactExports.useState(Math.ceil(b||0));useInterval(()=>I(A=>Math.max(0,A-1)),1e3);const D=b&&b>0&&b<60&&` (${k})`||"";return reactExports.useEffect(()=>{b&&!k&&S.close(E)},[k]),reactExports.createElement("div",{},d,reactExports.createElement("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"1em"}},reactExports.createElement("a",{href:g,tabIndex:-1,onClick(){S.close(!0)}},reactExports.createElement("button",{},t$d`Yes`,E&&D)),reactExports.createElement("button",{onClick(){S.close(!1)}},t$d`Don't`,!E&&D),x))}}const dialogLib=Object.freeze(Object.defineProperty({__proto__:null,Dialogs,alertDialog:alertDialog$1,anyDialogOpen,closeDialog,componentOrNode,confirmDialog:confirmDialog$1,dialogsDefaults,focusableSelector,formDialog:formDialog$1,isDescendant,newDialog,promptDialog:promptDialog$1,toast:toast$1},Symbol.toStringTag,{value:"Module"})),{t:t$c}=i18n;function Spinner(d){return hIcon("spinner",Ae({className:"spinner"},d))}const Flex$1=reactExports.forwardRef((S,C)=>{var T=S,{gap:d=".8em",center:m=!1,vert:g=!1,children:x=null,className:b="",props:E={}}=T,v=zt(T,["gap","center","vert","children","className","props"]);return reactExports.createElement("div",Ae({ref:C,className:b,style:Ae({display:"flex",gap:d,flexDirection:g?"column":void 0,alignItems:g?void 0:"center",justifyContent:m?"center":void 0},v)},E),x)}),FlexV=reactExports.forwardRef((d,m)=>reactExports.createElement(Flex$1,Ae({ref:m,vert:!0},d))),Checkbox=reactExports.forwardRef((C,v)=>{var S=C,{onChange:d,value:m,children:g,labelProps:x,id:b}=S,E=zt(S,["onChange","value","children","labelProps","id"]);const T=reactExports.createElement("input",Ae($t(Ae({ref:v,type:"checkbox",onChange:$=>d==null?void 0:d(!!$.target.checked,$)},m!==void 0&&{checked:!!m}),{value:1,id:g?void 0:b}),E));return g?reactExports.createElement("label",Ae({id:b},x),T,g):T});function CustomCode(b){var E=b,{name:d,children:m,render:g}=E,x=zt(E,["name","children","render"]);const v=reactExports.useMemo(()=>hfsEvent(d,Object.assign(x,{def:m})),[d,m,...x?Object.values(x):[]]),[C,S]=useStateMounted([]);return reactExports.useEffect(()=>{var I,D;if(v.isDefaultPrevented()||v.some(A=>A===null))return S(null);const T=v.map(k);v.forEach((A,L)=>{typeof(A==null?void 0:A.then)=="function"&&A.then(N=>{T[L]=k(N,L),S(onlyTruthy(T))},()=>{})});const $=(I=getHFS().customHtml)==null?void 0:I[d];(D=$==null?void 0:$.trim)!=null&&D.call($)&&T.push(k($,-1)),S(onlyTruthy(T));function k(A,L){return reactExports.isValidElement(A)?reactExports.createElement(reactExports.Fragment,{key:L},A):A===0||A&&isPrimitive(A)?reactExports.createElement(Html,{key:L},String(A)):_.isArray(A)?reactExports.createElement(reactExports.Fragment,{key:L},...A):null}},[v]),g!=null||(g=_.identity),reactExports.createElement(reactExports.Fragment,{},g(C&&(C!=null&&C.length||!m?C:m)))}function iconBtn(d,m,b={}){var E=b,{title:g}=E,x=zt(E,["title"]);return reactExports.createElement("button",$t(Ae({title:g!=null?g:t$c(_.capitalize(d)),onClick:m},x),{className:"icon-button "+(x.className||"")}),d.length>1?hIcon(d):d)}function Btn$1(T){var $=T,{icon:d,label:m,tooltip:g,toggled:x,onClick:b,onClickAnimation:E,asText:v,successFeedback:C}=$,S=zt($,["icon","label","tooltip","toggled","onClick","onClickAnimation","asText","successFeedback"]);const[k,I]=reactExports.useState(!1),[D,A]=reactExports.useState(!1),L=reactExports.useRef();return reactExports.createElement(v?"a":"button",$t(Ae(Ae({title:m+prefix(" - ",g),"aria-label":m,"aria-pressed":x,onClick(N){v&&N.preventDefault(),b&&(E!==!1&&I(!0),Promise.resolve().then(b).finally(()=>I(!1)).then(()=>{C&&(A(!0),clearTimeout(L.current),L.current=setTimeout(()=>A(!1),1e3))},Y=>alertDialog$1(Y,"error")))}},S),v?{role:"button",style:Ae({cursor:"pointer"},S.style)}:void 0),{className:[S.className,x&&"toggled",k&&"ani-working",D&&"success"].filter(Boolean).join(" ")}),d&&(reactExports.isValidElement(d)?d:hIcon(d)),reactExports.createElement("span",{className:"label"},m))}function Bytes(g){var x=g,{bytes:d}=x,m=zt(x,["bytes"]);return reactExports.createElement("span",Ae(Ae({},noAriaTitle(d.toLocaleString())),m),formatBytes(d))}const documentComplete=document.readyState==="complete"?Promise.resolve():new Promise(d=>document.addEventListener("readystatechange",d));var Am;Promise.race([documentComplete,(Am=document.fonts)==null?void 0:Am.ready]).then(()=>xt(void 0,null,function*(){if(!document.fonts)return state$1.iconsReady=!0;const d="9px fontello";yield document.fonts.load(d),state$1.iconsReady=document.fonts.check(d)}));const Icon=reactExports.memo(b=>{var E=b,{name:d,alt:m,className:g=""}=E,x=zt(E,["name","alt","className"]);var I,D;if(!d)return null;d=(D=(I=getHFS().icons)==null?void 0:I[d])!=null?D:d;const[v,C=d]=SYS_ICONS[d]||[],{iconsReady:S}=useSnapState$1();g+=" icon";const T=d.length===1||d.match(/^[\uD800-\uDFFF\u2600-\u27BF\u2B00-\u2BFF\u3030-\u303F\u3297\u3299\u00A9\u00AE\u200D\u20E3\uFE0F\u2190-\u21FF\u2300-\u23FF\u2400-\u243F\u25A0-\u25FF\u2600-\u26FF\u2700-\u27BF]*$/),$=!T&&/[/?]/.test(d),k=S&&C;return g+=$?" file-icon":k?` font-icon fa-${C}`:" emoji-icon",reactExports.createElement("span",$t(Ae(Ae($t(Ae({},m?{"aria-label":m}:{"aria-hidden":!0}),{role:"img"}),x),$?{style:Ae({backgroundImage:`url(${JSON.stringify(d)})`},x==null?void 0:x.style)}:void 0),{className:g}),T?d:k?null:v||"#")});function parse(d,m){if(d instanceof RegExp)return{keys:!1,pattern:d};var g,x,b,E,v=[],C="",S=d.split("/");for(S[0]||S.shift();b=S.shift();)g=b[0],g==="*"?(v.push(g),C+=b[1]==="?"?"(?:/(.*))?":"/(.*)"):g===":"?(x=b.indexOf("?",1),E=b.indexOf(".",1),v.push(b.substring(1,~x?x:~E?E:b.length)),C+=~x&&!~E?"(?:/([^/]+?))?":"/([^/]+?)",~E&&(C+=(~x?"?":"")+"\\"+b.substring(E))):C+="/"+b;return{keys:v,pattern:new RegExp("^"+C+(m?"(?=$|/)":"/?$"),"i")}}const useBuiltinInsertionEffect=React$1.useInsertionEffect,canUseDOM=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined",useIsomorphicLayoutEffect=canUseDOM?reactExports.useLayoutEffect:reactExports.useEffect,useInsertionEffect=useBuiltinInsertionEffect||useIsomorphicLayoutEffect,useEvent=d=>{const m=reactExports.useRef([d,(...g)=>m[0](...g)]).current;return useInsertionEffect(()=>{m[0]=d}),m[1]},eventPopstate="popstate",eventPushState="pushState",eventReplaceState="replaceState",eventHashchange="hashchange",events=[eventPopstate,eventPushState,eventReplaceState,eventHashchange],subscribeToLocationUpdates=d=>{for(const m of events)addEventListener(m,d);return()=>{for(const m of events)removeEventListener(m,d)}},useLocationProperty=(d,m)=>shimExports.useSyncExternalStore(subscribeToLocationUpdates,d,m),currentSearch=()=>location.search,useSearch=({ssrSearch:d}={})=>useLocationProperty(currentSearch,d!=null?()=>d:currentSearch),currentPathname=()=>location.pathname,usePathname=({ssrPath:d}={})=>useLocationProperty(currentPathname,d!=null?()=>d:currentPathname),navigate=(d,{replace:m=!1,state:g=null}={})=>history[m?eventReplaceState:eventPushState](g,"",d),useBrowserLocation=(d={})=>[usePathname(d),navigate],patchKey=Symbol.for("wouter_v3");if(typeof history!="undefined"&&typeof window[patchKey]=="undefined"){for(const d of[eventPushState,eventReplaceState]){const m=history[d];history[d]=function(){const g=m.apply(this,arguments),x=new Event(d);return x.arguments=arguments,dispatchEvent(x),g}}Object.defineProperty(window,patchKey,{value:!0})}const _relativePath=(d,m)=>m.toLowerCase().indexOf(d.toLowerCase())?"~"+m:m.slice(d.length)||"/",baseDefaults=(d="")=>d==="/"?"":d,absolutePath=(d,m)=>d[0]==="~"?d.slice(1):baseDefaults(m)+d,relativePath=(d="",m)=>_relativePath(unescape(baseDefaults(d)),unescape(m)),unescape=d=>{try{return decodeURI(d)}catch(m){return d}},defaultRouter={hook:useBrowserLocation,searchHook:useSearch,parser:parse,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:d=>d,aroundNav:(d,m,g)=>d(m,g)},RouterCtx=reactExports.createContext(defaultRouter),useRouter=()=>reactExports.useContext(RouterCtx),Params0={};reactExports.createContext(Params0);const useLocationFromRouter=d=>{const[m,g]=d.hook(d);return[relativePath(d.base,m),useEvent((x,b)=>d.aroundNav(g,absolutePath(x,d.base),b))]},Link$1=reactExports.forwardRef((d,m)=>{const g=useRouter(),[x,b]=useLocationFromRouter(g),Y=d,{to:E="",href:v=E,onClick:C,asChild:S,children:T,className:$,replace:k,state:I,transition:D}=Y,A=zt(Y,["to","href","onClick","asChild","children","className","replace","state","transition"]),L=useEvent(j=>{j.ctrlKey||j.metaKey||j.altKey||j.shiftKey||j.button!==0||(C==null||C(j),j.defaultPrevented||(j.preventDefault(),b(v,d)))}),N=g.hrefs(v[0]==="~"?v.slice(1):g.base+v,g);return S&&reactExports.isValidElement(T)?reactExports.cloneElement(T,{onClick:L,href:N}):reactExports.createElement("a",$t(Ae({},A),{onClick:L,href:N,className:$!=null&&$.call?$(x===v):$,children:T,ref:m}))});function Link(x){var b=x,{to:d,reloadDocument:m}=b,g=zt(b,["to","reloadDocument"]);return m?reactExports.createElement("a",Ae({href:d},g)):reactExports.createElement(Link$1,Ae({href:d},g))}const{t:t$b}=i18n;function srpClientSequence(d,m,g,x,b){return xt(this,null,function*(){const{pubKey:E,salt:v}=yield x("loginSrp1",{username:m});if(!v)throw Error("salt");const C=yield srpClientPart(d,m,g,v,E),S=yield x("loginSrp2",Ae({pubKey:String(C.A),proof:String(C.M1)},b));return yield C.step3(BigInt(S.proof)).catch(()=>Promise.reject("trust")),S})}function srpClientPart(d,m,g,x,b){return xt(this,null,function*(){const E=new d.SRPRoutines(new d.SRPParameters);return yield(yield new d.SRPClientSession(E).step1(m,g)).step2(BigInt(x),BigInt(b))})}const{t:t$a,useI18N:useI18N$9}=i18n;function login$1(d,m,g){return xt(this,null,function*(){const x=working();return withSrpLib(srpClientSequence)(d,m,apiCall,g).catch(b=>{if(b.code==HTTP_METHOD_NOT_ALLOWED||!m)return apiCall("login",Ae({username:d,password:m},g));throw b}).then(b=>(hfsEvent("loginOk",{username:d}),refreshSession$1(b),state$1.loginRequired=!1,b),b=>{throw hfsEvent("loginFailed",{username:d,error:b}),Error(b.data==="trust"?t$a("login_untrusted","Login aborted: server identity cannot be trusted"):b.code===HTTP_UNAUTHORIZED&&!b.data?t$a("login_bad_credentials","Invalid credentials"):b.code===HTTP_CONFLICT?t$a("login_bad_cookies","Cookies not working - login failed"):t$a(b.message||String(b)))}).finally(x)})}const refreshSession$1=makeSessionRefresher(state$1);function logout(){return apiCall("logout",{},{modal:working}).catch(d=>{if(d.code!==HTTP_UNAUTHORIZED)throw d;if(refreshSession$1(),fallbackToBasicAuth())return location.reload();reloadList(),toast$1(t$a`Logged out`,"success")})}let closeLoginDialog,lastPromise;function loginDialog(d=!0,m=!0){return xt(this,null,function*(){return lastPromise=new Promise(g=>{if(fallbackToBasicAuth())return location.href="/?get=login";if(closeLoginDialog)return lastPromise;let x=!1;const{close:b}=newDialog({closable:d,className:"login-dialog",icon:()=>hIcon("login"),onClose(E){g(E),closeLoginDialog=void 0},title:()=>reactExports.createElement(reactExports.Fragment,{},useI18N$9().t("Login")),Content(){const E=reactExports.useRef(),v=reactExports.useRef(),C=reactExports.useRef(),[S,T]=reactExports.useState(!1);reactExports.useEffect(()=>{setTimeout(()=>{var D;return(D=E.current)==null?void 0:D.focus()})},[]);const{t:$}=useI18N$9();return reactExports.createElement("form",{onSubmit(D){D.preventDefault(),I(D)}},reactExports.createElement(CustomCode,{name:"beforeLogin"}),reactExports.createElement(CustomCode,{name:"loginUsernameField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_username"},$`Username`),reactExports.createElement("input",{ref:E,id:"login_username",name:"username",autoComplete:"username",required:!0,onKeyDown:k}))),reactExports.createElement(CustomCode,{name:"loginPasswordField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_password"},$`Password`),reactExports.createElement("div",{className:"password-field"},reactExports.createElement("input",{ref:v,id:"login_password",name:"password",type:S?"text":"password",autoComplete:"current-password",required:!0,onKeyDown:k}),reactExports.createElement("button",{type:"button",className:"password-eye","aria-hidden":!0,tabIndex:-1,onPointerDown(D){D.preventDefault(),T(!0)},onPointerUp:()=>T(!1),onPointerEnter:()=>T(!0),onPointerLeave:()=>T(!1),onPointerCancel:()=>T(!1)},hIcon("eye"))))),reactExports.createElement(CustomCode,{name:"beforeLoginSubmit"}),reactExports.createElement("div",{className:"submit"},reactExports.createElement("button",{type:"submit"},$`Continue`)),reactExports.createElement("div",{id:"login-options"},reactExports.createElement(Checkbox,{ref:C,id:ALLOW_SESSION_IP_CHANGE},$(ALLOW_SESSION_IP_CHANGE,"Allow IP change during this session"))));function k(D){const{key:A}=D;if(A==="Escape")return b(null);if(A==="Enter")return I(D)}function I(D){return xt(this,null,function*(){var z,V;const A=D.target instanceof HTMLElement&&D.target.closest("form");if(!A)return;D.stopPropagation();const B=_.pickBy(Object.fromEntries(new FormData(A).entries()),_.isString),{username:L,password:N}=B,Y=zt(B,["username","password"]),j=L.trim();if(!(x||!j)){x=!0;try{const U=yield login$1(j,N,Ae({[ALLOW_SESSION_IP_CHANGE]:(z=C.current)==null?void 0:z.checked},Y)).finally(()=>x=!1);yield b(!0),toast$1($`Logged in`,"success"),U!=null&&U.redirect?setTimeout(()=>getHFS().navigate(U.redirect),10):m&&reloadList()}catch(U){yield alertDialog$1(U),(V=E.current)==null||V.focus()}}})}}});closeLoginDialog=b})})}const{t:t$9,useI18N:useI18N$8}=i18n,{t:t$8,useI18N:useI18N$7}=i18n;function cut(d){if(state$1.clip=d,d.length)return toast$1(t$8("after_cut",`Your selection is now in the clipboard.
760
- Go to destination folder to paste.`),"info")}const{t:t$7,useI18N:useI18N$6}=i18n;function openFileMenu(d,m,g){return xt(this,null,function*(){var Y,j,B;const{uri:x,isFolder:b,s:E}=d,v=!((Y=d.p)!=null&&Y.includes("r")),C=!((j=d.p)!=null&&j.match(/L/i)),S=d.cantOpen===DirEntry.FORBIDDEN,$=[!(S||b&&!(v&&d.canArchive()&&C))&&{id:"download",label:t$7`Download`,href:x+(b?"?get=zip":"?dl"),icon:"download",target:"_blank"},((B=state$1.props)==null?void 0:B.can_comment)&&{id:"comment",label:t$7`Comment`,icon:"comment",onClick:()=>editComment(d)},...g.map(z=>{if(z==="open"){if(S)return;const V={id:"open",icon:"play",label:t$7("file_open","Open"),href:x,target:b||d.web?void 0:"_blank",rel:b||d.web?void 0:"noopener noreferrer",onClick:makeOnClickOpen(d)};return!b||V.onClick?V:reactExports.createElement(LinkClosingDialog,{to:x,reloadDocument:d.web},hIcon(V.icon),V.label)}return z==="delete"?d.canDelete()&&{id:"delete",label:t$7`Delete`,icon:"delete",onClick:()=>deleteFiles$1([d.uri])}:z==="show"?!d.cantOpen&&getShowComponent(d)&&{id:"show",label:t$7`Show`,icon:"image",onClick:()=>fileShow(d)}:z}),d.canDelete()&&{id:"rename",label:t$7`Rename`,icon:"edit",onClick:()=>rename(d)},d.canDelete()&&{id:"cut",label:t$7`Cut`,icon:"cut",onClick:()=>L(cut([d]))},b&&!d.web&&!d.cantOpen&&{id:"list",label:t$7`Get list`,href:x+"?get=list&folders=*",icon:"list",target:"_blank"}].filter(Boolean),k=d.n.slice(0,-1-d.name.length),I=[{id:"name",label:t$7`Name`,value:d.name},typeof E=="number"&&{id:"size",label:t$7`Size`,value:reactExports.createElement(reactExports.Fragment,{},formatBytes(E),reactExports.createElement("small",{className:HIDE_IN_TESTS},prefix(" (",E>getHFS().kb&&E.toLocaleString(),")")))},d.m&&{id:"timestamp",label:t$7`Timestamp`,value:d.m.toLocaleString()},d.c&&{id:"creation",label:t$7`Creation`,value:d.c.toLocaleString()},k&&{id:"folder",label:t$7`Folder`,value:reactExports.createElement(Link,{to:(k.startsWith("/")?"":location.pathname)+pathEncode(k)+"/",onClick:()=>closeDialog(null,!0)},k.replaceAll("/"," / "))},b&&!d.cantOpen&&{id:"folderSize",label:t$7`Size`,value:reactExports.createElement(N)}].filter(Boolean),D=yield Promise.all(hfsEvent("fileMenu",{entry:d,menu:$,props:I}));$.push(...D.flat().filter(Boolean)),_.remove($,(z,V)=>_.find($,U=>z.id?z.id===U.id:!U.id&&z.label===U.label,V+1));const A=getEntryIcon(d),{close:L}=newDialog({title:b?t$7`Folder menu`:t$7`File menu`,className:"file-dialog",icon:()=>A,position:Math.min(innerWidth,innerHeight)<800?void 0:[m.pageX,m.pageY-scrollY],restoreFocus:m.screenY||m.screenX?!1:void 0,Content(){var J;const{t:z}=useI18N$6(),{data:V}=useApi("get_file_details",{uris:[d.uri]}),U=(J=V==null?void 0:V.details)==null?void 0:J[0],W=[...I,with_(renderUploaderFromDetails(U),Q=>Q&&{id:"uploader",label:z`Uploader`,value:Q})];return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement("dl",{className:"file-dialog-properties"},dontBotherWithKeys(W.map(Q=>reactExports.isValidElement(Q)?Q:_.isPlainObject(Q)?reactExports.createElement("div",{id:`menu-prop-${Q.id}`},reactExports.createElement("dt",{},Q.label),reactExports.createElement("dd",{},Q.value)):null)),d.cantOpen&&reactExports.createElement("div",{},hIcon("password",{style:{marginRight:".5em",marginTop:".5em"}}),z(MISSING_PERM))),reactExports.createElement("div",{className:"file-menu"},dontBotherWithKeys($.map((Q,X)=>reactExports.isValidElement(Q)?Q:(Q==null?void 0:Q.label)&&reactExports.createElement("a",$t(Ae({key:X,href:"#"},_.omit(Q,["label","icon","toggled"])),{id:Q.id&&`menu-entry-${Q.id}`,className:Q.toggled?"toggled":void 0,onClick(oe){return xt(this,null,function*(){var ie;Q.href||oe.preventDefault();try{(yield(ie=Q.onClick)==null?void 0:ie.call(Q,oe))!==!1&&L()}catch(ee){alertDialog$1(ee)}})}}),hIcon(Q.icon||"file"),reactExports.createElement("label",{style:{display:"flex",flexDirection:"column"}},reactExports.createElement("div",{},Q.label),reactExports.createElement("small",{},Q.subLabel)))))))}});function N(){const[z,V]=reactExports.useState(!1),[U]=reactExports.useState(()=>randomId()),{data:W,error:J,loading:Q}=useApi(z&&"get_folder_size",{uri:d.uri,id:U},{timeout:!1}),X=useApi(Q&&"get_folder_size_partial",{id:U});return useInterval(X.reload,1e3),Z(W||J)||(Q?reactExports.createElement("span",{},Z(X.data)," ",reactExports.createElement(Btn$1,{asText:!0,label:t$7`Cancel`,icon:reactExports.createElement(Spinner),onClick(){V(!1)}})):reactExports.createElement(Btn$1,{asText:!0,label:t$7`Calculate`,onClick(){V(!0)}}));function Z(oe){return oe&&(oe.code?err2msg(oe):reactExports.createElement("span",{},reactExports.createElement(Bytes,_.pick(oe,"bytes"))," / ",t$7("n_files",{n:oe.files.toLocaleString()},"{n,plural,one{# file} other{# files}}")))}}})}function rename(d){return xt(this,null,function*(){var T;const m=yield promptDialog$1(t$7`Name`,{value:d.name,title:t$7`Rename`,onField:$=>$.setSelectionRange(0,d.name.lastIndexOf("."))});if(!m)return;const{n:g,uri:x}=d;yield apiCall("rename",{uri:x,dest:m},{modal:working});const b=t$7`Operation successful`;if(x===location.pathname)return(T=alertDialog$1(b))==null?void 0:T.then(()=>getHFS().navigate(x+"../"+pathEncode(m)+"/"));const E=g.replace(/(.*?)[^/]+$/,($,k)=>k+m),v=new DirEntry(E,Ae({key:g},d)),C=_.findIndex(state$1.list,{n:g});state$1.list[C]=v;const S=_.findIndex(state$1.filteredList,{n:g});S>=0&&(state$1.filteredList[S]=v),toast$1(b,"success")})}function editComment(d){return xt(this,null,function*(){const m=yield inputComment(d.name,d.comment);m!==void 0&&(yield apiCall("comment",{uri:d.uri,comment:m},{modal:working}),decodeURI(d.uri)===decodeURI(location.pathname)?_.set(state$1,"props.comment",m):updateEntry(d,g=>g.comment=m),operationSuccessful())})}function updateEntry(d,m){m(_.find(state$1.list,{n:d.n}))}function LinkClosingDialog(d){return reactExports.createElement(Link,d.reloadDocument?d:$t(Ae({},d),{to:"",onClick(g){return xt(this,null,function*(){var x;for(g.preventDefault();anyDialogOpen();)yield(x=closeDialog())==null?void 0:x.closed;getHFS().navigate(d.to)})}}))}function makeOnClickOpen(d){return d.cantOpen?m=>xt(this,null,function*(){if(m.preventDefault(),d.cantOpen===DirEntry.FORBIDDEN)return alertDialog$1(t$7`Forbidden`,"warning");if(yield loginDialog(!0,!1)){if(d.isFolder&&!d.web)return setTimeout(()=>getHFS().navigate(d.uri));location.href=d.uri}}):void 0}function renderUploaderFromDetails(d){if(!d)return;const{upload:m}=d;return m&&`${m.username||""}${prefix("@",m.ip)}`}const{t:t$6}=i18n,uploadState=proxy({uploadDialogIsOpen:!1,eta:0,speed:0,partial:0,progress:0,paused:!1,qs:[],adding:[],skipped:[],errors:[],doneByte:0,done:[]});window.onbeforeunload=d=>{if(uploadState.qs.length)return d.preventDefault(),d.returnValue=t$6("Uploading")};let stuckSince=1/0,bytesSentTimestamp=Date.now(),bytesSent=0;const recentSpeedSamples=[];setInterval(()=>{const d=Date.now(),m=(d-bytesSentTimestamp)/1e3,g=bytesSent/m;currentReq&&d-stuckSince>=1e4&&(currentReq.abort(),console.debug("upload stuck, aborting")),bytesSent=0,bytesSentTimestamp=d;const b=_.sumBy(uploadState.qs,v=>_.sumBy(v.entries,C=>C.file.size))-uploadState.partial,E=uploadState.uploading;E&&recentSpeedSamples.push(g),(!E||recentSpeedSamples.length>5)&&recentSpeedSamples.shift(),uploadState.paused&&(recentSpeedSamples.length=0),uploadState.speed=_.mean(recentSpeedSamples),uploadState.eta=b/uploadState.speed},2e3);let currentReq;const id$2=randomId();let userAborted=!1,closeLastDialog,reloadOnClose=!1;function startUpload(d,m,g=0){return xt(this,null,function*(){console.debug("start upload",d.path,g),uploadState.uploading=d,uploadState.progress=0,userAborted=!1;let x=!0;const b=getHFS().splitUploads,E=d.file.size,v=m+pathEncode(d.path);let C=!1;do{let $=currentReq=new XMLHttpRequest;const k=pendingPromise();stuckSince=Date.now(),$.onloadend=()=>xt(this,null,function*(){try{if(currentReq=void 0,uploadState.paused)return C=!0;if(x=!0,!userAborted&&!$.status){$=new XMLHttpRequest,$.open("PUT",v+A+"&simulating="+L.size,!1);try{$.send()}catch(Y){console.log(Y)}yield wait(500)}const{status:N}=$;if(N===HTTP_RANGE_NOT_SATISFIABLE)return C=!0;if(N===HTTP_PRECONDITION_FAILED){const Y=Number($.getResponseHeader("x-size"));if($.getResponseHeader(MTIME_CHECK)){const j=fetch(v+"?get="+UPLOAD_TEMP_HASH).then(z=>z.text());if((yield calcHash(d.file,Y))!==(yield j))return x=!1,console.debug("upload hash mismatch");console.debug("upload hash is matching")}return g=Y,console.debug("resuming upload",Y.toLocaleString())}if(userAborted||N===HTTP_CONFLICT){if($.responseText==="retry")return yield wait(2e3);d.error=N?t$6("upload_conflict","already exists"):t$6`Interrupted`,uploadState.skipped.push(d)}else if(N>=400)S(N);else if(N){if(b&&(g+=b,g<E))return;uploadState.done.push($t(Ae({},d),{response:tryJson($.responseText)})),uploadState.doneByte+=d.file.size,reloadOnClose=!0}else return yield wait(2e3);C=!0,k.then(T)}finally{k.resolve()}});let I=0;$.upload.onprogress=N=>{uploadState.partial=N.loaded+g,uploadState.progress=uploadState.partial/E,bytesSent+=N.loaded-I,N.loaded>I&&(stuckSince=Date.now()),I=N.loaded};const D=b&&g+b<E,A=buildUrlQueryString({id:id$2,mtime:d.file.lastModified,resume:g+(x?"!":""),partial:D?E-g:void 0,comment:d.comment||void 0,existing:with_(state$1.uploadOnExisting,N=>N!=="rename"?N:void 0)});$.open("PUT",v+A,!0);const L=d.file.slice(g,b?g+b:void 0);$.send(L),yield k}while(!C);function S($){var A;const I={[HTTP_PAYLOAD_TOO_LARGE]:t$6`file too large`+(getHFS().proxyDetected?`
759
+ `,g)+1}return{type:m,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(m){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return x.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const g=getPrevProps(m),x=getFirstKeyStartProps(g);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:x,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(m,g){return this.type!=="comment"||this.indent<=g?!1:m.every(x=>x.type==="newline"||x.type==="space")}*documentEnd(m){this.type!=="doc-mode"&&(m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop())))}*lineEnd(m){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*bt(this.pop()),yield*bt(this.step());break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:m.end?m.end.push(this.sourceToken):m.end=[this.sourceToken],this.type==="newline"&&(yield*bt(this.pop()))}}};function parseOptions(d){const m=d.prettyErrors!==!1;return{lineCounter:d.lineCounter||m&&new LineCounter||null,prettyErrors:m}}function parseAllDocuments(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m),v=Array.from(E.compose(b.parse(d)));if(x&&g)for(const C of v)C.errors.forEach(prettifyError(d,g)),C.warnings.forEach(prettifyError(d,g));return v.length>0?v:Object.assign([],{empty:!0},E.streamInfo())}function parseDocument(d,m={}){const{lineCounter:g,prettyErrors:x}=parseOptions(m),b=new Parser$1(g==null?void 0:g.addNewLine),E=new Composer(m);let v=null;for(const C of E.compose(b.parse(d),!0,d.length))if(!v)v=C;else if(v.options.logLevel!=="silent"){v.errors.push(new YAMLParseError(C.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return x&&g&&(v.errors.forEach(prettifyError(d,g)),v.warnings.forEach(prettifyError(d,g))),v}function parse$1(d,m,g){let x;typeof m=="function"?x=m:g===void 0&&m&&typeof m=="object"&&(g=m);const b=parseDocument(d,g);if(!b)return null;if(b.warnings.forEach(E=>warn(b.options.logLevel,E)),b.errors.length>0){if(b.options.logLevel!=="silent")throw b.errors[0];b.errors=[]}return b.toJS(Object.assign({reviver:x},g))}function stringify(d,m,g){var b;let x=null;if(typeof m=="function"||Array.isArray(m)?x=m:g===void 0&&m&&(g=m),typeof g=="string"&&(g=g.length),typeof g=="number"){const E=Math.round(g);g=E<1?void 0:E>8?{indent:8}:{indent:E}}if(d===void 0){const{keepUndefined:E}=(b=g!=null?g:m)!=null?b:{};if(!E)return}return isDocument(d)&&!x?d.toString(g):new Document(d,x,g).toString(g)}const YAML=Object.freeze(Object.defineProperty({__proto__:null,Alias,CST:cst,Composer,Document,Lexer,LineCounter,Pair,Parser:Parser$1,Scalar,Schema,YAMLError,YAMLMap,YAMLParseError,YAMLSeq,YAMLWarning,isAlias,isCollection:isCollection$1,isDocument,isMap:isMap$1,isNode,isPair,isScalar:isScalar$1,isSeq,parse:parse$1,parseAllDocuments,parseDocument,stringify,visit:visit$1,visitAsync},Symbol.toStringTag,{value:"Module"}));let G=null;class H{}H.render=function(d,m){G(d,m)};self.QrCreator=H;(function(d){function m(C,S,T,$){var k={},I=d(T,S);I.u(C),I.J(),$=$||0;var D=I.h(),A=I.h()+2*$;return k.text=C,k.level=S,k.version=T,k.O=A,k.a=function(L,N){return L-=$,N-=$,0>L||L>=D||0>N||N>=D?!1:I.a(L,N)},k}function g(C,S,T,$,k,I,D,A,L,N){function Y(j,B,z,V,U,W,J){j?(C.lineTo(B+W,z+J),C.arcTo(B,z,V,U,I)):C.lineTo(B,z)}D?C.moveTo(S+I,T):C.moveTo(S,T),Y(A,$,T,$,k,-I,0),Y(L,$,k,S,k,0,-I),Y(N,S,k,S,T,I,0),Y(D,S,T,$,T,0,I)}function x(C,S,T,$,k,I,D,A,L,N){function Y(j,B,z,V){C.moveTo(j+z,B),C.lineTo(j,B),C.lineTo(j,B+V),C.arcTo(j,B,j+z,B,I)}D&&Y(S,T,I,I),A&&Y($,T,-I,I),L&&Y($,k,-I,-I),N&&Y(S,k,I,-I)}function b(C,S){var T=S.fill;if(typeof T=="string")C.fillStyle=T;else{var $=T.type,k=T.colorStops;if(T=T.position.map(D=>Math.round(D*S.size)),$==="linear-gradient")var I=C.createLinearGradient.apply(C,T);else if($==="radial-gradient")I=C.createRadialGradient.apply(C,T);else throw Error("Unsupported fill");k.forEach(([D,A])=>{I.addColorStop(D,A)}),C.fillStyle=I}}function E(C,S){e:{var T=S.text,$=S.v,k=S.N,I=S.K,D=S.P;for(k=Math.max(1,k||1),I=Math.min(40,I||40);k<=I;k+=1)try{var A=m(T,$,k,D);break e}catch(ce){}A=void 0}if(!A)return null;for(T=C.getContext("2d"),S.background&&(T.fillStyle=S.background,T.fillRect(S.left,S.top,S.size,S.size)),$=A.O,I=S.size/$,T.beginPath(),D=0;D<$;D+=1)for(k=0;k<$;k+=1){var L=T,N=S.left+k*I,Y=S.top+D*I,j=D,B=k,z=A.a,V=N+I,U=Y+I,W=j-1,J=j+1,Q=B-1,X=B+1,Z=Math.floor(Math.min(.5,Math.max(0,S.R))*I),oe=z(j,B),ie=z(W,Q),ee=z(W,B);W=z(W,X);var re=z(j,X);X=z(J,X),B=z(J,B),J=z(J,Q),j=z(j,Q),N=Math.round(N),Y=Math.round(Y),V=Math.round(V),U=Math.round(U),oe?g(L,N,Y,V,U,Z,!ee&&!j,!ee&&!re,!B&&!re,!B&&!j):x(L,N,Y,V,U,Z,ee&&j&&ie,ee&&re&&W,B&&re&&X,B&&j&&J)}return b(T,S),T.fill(),C}var v={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(C,S){var T={};Object.assign(T,v,C),T.N=T.minVersion,T.K=T.maxVersion,T.v=T.ecLevel,T.left=T.left,T.top=T.top,T.size=T.size,T.fill=T.fill,T.background=T.background,T.text=T.text,T.R=T.radius,T.P=T.quiet,S instanceof HTMLCanvasElement?((S.width!==T.size||S.height!==T.size)&&(S.width=T.size,S.height=T.size),S.getContext("2d").clearRect(0,0,S.width,S.height),E(S,T)):(C=document.createElement("canvas"),C.width=T.size,C.height=T.size,T=E(C,T),S.appendChild(T))}})(function(){function d(S){var T=g.s(S);return{S:function(){return 4},b:function(){return T.length},write:function($){for(var k=0;k<T.length;k+=1)$.put(T[k],8)}}}function m(){var S=[],T=0,$={B:function(){return S},c:function(k){return(S[Math.floor(k/8)]>>>7-k%8&1)==1},put:function(k,I){for(var D=0;D<I;D+=1)$.m((k>>>I-D-1&1)==1)},f:function(){return T},m:function(k){var I=Math.floor(T/8);S.length<=I&&S.push(0),k&&(S[I]|=128>>>T%8),T+=1}};return $}function g(S,T){function $(j,B){for(var z=-1;7>=z;z+=1)if(!(-1>=j+z||A<=j+z))for(var V=-1;7>=V;V+=1)-1>=B+V||A<=B+V||(D[j+z][B+V]=0<=z&&6>=z&&(V==0||V==6)||0<=V&&6>=V&&(z==0||z==6)||2<=z&&4>=z&&2<=V&&4>=V)}function k(j,B){for(var z=A=4*S+17,V=Array(z),U=0;U<z;U+=1){V[U]=Array(z);for(var W=0;W<z;W+=1)V[U][W]=null}for(D=V,$(0,0),$(A-7,0),$(0,A-7),z=E.G(S),V=0;V<z.length;V+=1)for(U=0;U<z.length;U+=1){W=z[V];var J=z[U];if(D[W][J]==null)for(var Q=-2;2>=Q;Q+=1)for(var X=-2;2>=X;X+=1)D[W+Q][J+X]=Q==-2||Q==2||X==-2||X==2||Q==0&&X==0}for(z=8;z<A-8;z+=1)D[z][6]==null&&(D[z][6]=z%2==0);for(z=8;z<A-8;z+=1)D[6][z]==null&&(D[6][z]=z%2==0);for(z=E.w(I<<3|B),V=0;15>V;V+=1)U=!j&&(z>>V&1)==1,D[6>V?V:8>V?V+1:A-15+V][8]=U,D[8][8>V?A-V-1:9>V?15-V:14-V]=U;if(D[A-8][8]=!j,7<=S){for(z=E.A(S),V=0;18>V;V+=1)U=!j&&(z>>V&1)==1,D[Math.floor(V/3)][V%3+A-8-3]=U;for(V=0;18>V;V+=1)U=!j&&(z>>V&1)==1,D[V%3+A-8-3][Math.floor(V/3)]=U}if(L==null){for(j=C.I(S,I),z=m(),V=0;V<N.length;V+=1)U=N[V],z.put(4,4),z.put(U.b(),E.f(4,S)),U.write(z);for(V=U=0;V<j.length;V+=1)U+=j[V].j;if(z.f()>8*U)throw Error("code length overflow. ("+z.f()+">"+8*U+")");for(z.f()+4<=8*U&&z.put(0,4);z.f()%8!=0;)z.m(!1);for(;!(z.f()>=8*U)&&(z.put(236,8),!(z.f()>=8*U));)z.put(17,8);var Z=0;for(U=V=0,W=Array(j.length),J=Array(j.length),Q=0;Q<j.length;Q+=1){var oe=j[Q].j,ie=j[Q].o-oe;for(V=Math.max(V,oe),U=Math.max(U,ie),W[Q]=Array(oe),X=0;X<W[Q].length;X+=1)W[Q][X]=255&z.B()[X+Z];for(Z+=oe,X=E.C(ie),oe=x(W[Q],X.b()-1).l(X),J[Q]=Array(X.b()-1),X=0;X<J[Q].length;X+=1)ie=X+oe.b()-J[Q].length,J[Q][X]=0<=ie?oe.c(ie):0}for(X=z=0;X<j.length;X+=1)z+=j[X].o;for(z=Array(z),X=Z=0;X<V;X+=1)for(Q=0;Q<j.length;Q+=1)X<W[Q].length&&(z[Z]=W[Q][X],Z+=1);for(X=0;X<U;X+=1)for(Q=0;Q<j.length;Q+=1)X<J[Q].length&&(z[Z]=J[Q][X],Z+=1);L=z}for(j=L,z=-1,V=A-1,U=7,W=0,B=E.F(B),J=A-1;0<J;J-=2)for(J==6&&--J;;){for(Q=0;2>Q;Q+=1)D[V][J-Q]==null&&(X=!1,W<j.length&&(X=(j[W]>>>U&1)==1),B(V,J-Q)&&(X=!X),D[V][J-Q]=X,--U,U==-1&&(W+=1,U=7));if(V+=z,0>V||A<=V){V-=z,z=-z;break}}}var I=b[T],D=null,A=0,L=null,N=[],Y={u:function(j){j=d(j),N.push(j),L=null},a:function(j,B){if(0>j||A<=j||0>B||A<=B)throw Error(j+","+B);return D[j][B]},h:function(){return A},J:function(){for(var j=0,B=0,z=0;8>z;z+=1){k(!0,z);var V=E.D(Y);(z==0||j>V)&&(j=V,B=z)}k(!1,B)}};return Y}function x(S,T){if(typeof S.length=="undefined")throw Error(S.length+"/"+T);var $=function(){for(var I=0;I<S.length&&S[I]==0;)I+=1;for(var D=Array(S.length-I+T),A=0;A<S.length-I;A+=1)D[A]=S[A+I];return D}(),k={c:function(I){return $[I]},b:function(){return $.length},multiply:function(I){for(var D=Array(k.b()+I.b()-1),A=0;A<k.b();A+=1)for(var L=0;L<I.b();L+=1)D[A+L]^=v.i(v.g(k.c(A))+v.g(I.c(L)));return x(D,0)},l:function(I){if(0>k.b()-I.b())return k;for(var D=v.g(k.c(0))-v.g(I.c(0)),A=Array(k.b()),L=0;L<k.b();L+=1)A[L]=k.c(L);for(L=0;L<I.b();L+=1)A[L]^=v.i(v.g(I.c(L))+D);return x(A,0).l(I)}};return k}g.s=function(S){for(var T=[],$=0;$<S.length;$++){var k=S.charCodeAt($);128>k?T.push(k):2048>k?T.push(192|k>>6,128|k&63):55296>k||57344<=k?T.push(224|k>>12,128|k>>6&63,128|k&63):($++,k=65536+((k&1023)<<10|S.charCodeAt($)&1023),T.push(240|k>>18,128|k>>12&63,128|k>>6&63,128|k&63))}return T};var b={L:1,M:0,Q:3,H:2},E=function(){function S(k){for(var I=0;k!=0;)I+=1,k>>>=1;return I}var T=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],$={w:function(k){for(var I=k<<10;0<=S(I)-S(1335);)I^=1335<<S(I)-S(1335);return(k<<10|I)^21522},A:function(k){for(var I=k<<12;0<=S(I)-S(7973);)I^=7973<<S(I)-S(7973);return k<<12|I},G:function(k){return T[k-1]},F:function(k){switch(k){case 0:return function(I,D){return(I+D)%2==0};case 1:return function(I){return I%2==0};case 2:return function(I,D){return D%3==0};case 3:return function(I,D){return(I+D)%3==0};case 4:return function(I,D){return(Math.floor(I/2)+Math.floor(D/3))%2==0};case 5:return function(I,D){return I*D%2+I*D%3==0};case 6:return function(I,D){return(I*D%2+I*D%3)%2==0};case 7:return function(I,D){return(I*D%3+(I+D)%2)%2==0};default:throw Error("bad maskPattern:"+k)}},C:function(k){for(var I=x([1],0),D=0;D<k;D+=1)I=I.multiply(x([1,v.i(D)],0));return I},f:function(k,I){if(k!=4||1>I||40<I)throw Error("mode: "+k+"; type: "+I);return 10>I?8:16},D:function(k){for(var I=k.h(),D=0,A=0;A<I;A+=1)for(var L=0;L<I;L+=1){for(var N=0,Y=k.a(A,L),j=-1;1>=j;j+=1)if(!(0>A+j||I<=A+j))for(var B=-1;1>=B;B+=1)0>L+B||I<=L+B||(j!=0||B!=0)&&Y==k.a(A+j,L+B)&&(N+=1);5<N&&(D+=3+N-5)}for(A=0;A<I-1;A+=1)for(L=0;L<I-1;L+=1)N=0,k.a(A,L)&&(N+=1),k.a(A+1,L)&&(N+=1),k.a(A,L+1)&&(N+=1),k.a(A+1,L+1)&&(N+=1),(N==0||N==4)&&(D+=3);for(A=0;A<I;A+=1)for(L=0;L<I-6;L+=1)k.a(A,L)&&!k.a(A,L+1)&&k.a(A,L+2)&&k.a(A,L+3)&&k.a(A,L+4)&&!k.a(A,L+5)&&k.a(A,L+6)&&(D+=40);for(L=0;L<I;L+=1)for(A=0;A<I-6;A+=1)k.a(A,L)&&!k.a(A+1,L)&&k.a(A+2,L)&&k.a(A+3,L)&&k.a(A+4,L)&&!k.a(A+5,L)&&k.a(A+6,L)&&(D+=40);for(L=N=0;L<I;L+=1)for(A=0;A<I;A+=1)k.a(A,L)&&(N+=1);return D+=Math.abs(100*N/I/I-50)/5*10}};return $}(),v=function(){for(var S=Array(256),T=Array(256),$=0;8>$;$+=1)S[$]=1<<$;for($=8;256>$;$+=1)S[$]=S[$-4]^S[$-5]^S[$-6]^S[$-8];for($=0;255>$;$+=1)T[S[$]]=$;return{g:function(k){if(1>k)throw Error("glog("+k+")");return T[k]},i:function(k){for(;0>k;)k+=255;for(;256<=k;)k-=255;return S[k]}}}(),C=function(){function S(k,I){switch(I){case b.L:return T[4*(k-1)];case b.M:return T[4*(k-1)+1];case b.Q:return T[4*(k-1)+2];case b.H:return T[4*(k-1)+3]}}var T=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],$={I:function(k,I){var D=S(k,I);if(typeof D=="undefined")throw Error("bad rs block @ typeNumber:"+k+"/errorCorrectLevel:"+I);k=D.length/3,I=[];for(var A=0;A<k;A+=1)for(var L=D[3*A],N=D[3*A+1],Y=D[3*A+2],j=0;j<L;j+=1){var B=Y,z={};z.o=N,z.j=B,I.push(z)}return I}};return $}();return g}());const QrCreator$1=QrCreator,SYS_ICONS={login:["👤","user"],user:["👤","user"],filter:["✂"],search:["🔍"],search_off:["❌","cancel"],close:["❌","cancel"],error:["❌","cancel"],stop:["⏹️"],options:["⚙","cog"],archive:["📦"],logout:["🚪"],home:["🏠"],parent:["⬅","left"],folder:["📂"],file:["📄","doc"],spinner:["🎲","spin6 spinner"],password:["🗝️","key"],download:["⬇️"],upload:["⬆️"],reload:["🔄","reload"],lock:["🔒","lock"],admin:["👑","crown"],check:["✔️"],to_start:["◀"],to_end:["▶"],menu:["☰"],list:["☰","menu"],play:["▶"],pause:["⏸"],edit:["✏️"],zoom:["↔"],delete:["🗑️","trash"],comment:["💬"],link:["↗"],info:["ⓘ"],cut:["✄"],paste:["📋"],copy:["⧉"],shuffle:["🔀"],repeat:["🔁","reload"],success:["👍","check"],warning:["⚠️",!1],audio:["🎧"],video:["🎥"],image:["📸"],cancel:["❌","cancel"],total:["➕","spin6"],eye:["👁️"]};function subscribeKey(d,m,g,x){let b=d[m];return subscribe(d,()=>{const E=d[m];Object.is(b,E)||g(b=E)},x)}let currentCleanups;function watch(d,m){let g=!0;const x=new Set,b=new Map,E=()=>{g&&(g=!1,x.forEach(C=>C()),x.clear(),b.forEach(C=>C()),b.clear())},v=()=>xt(this,null,function*(){if(!g)return;x.forEach(T=>T()),x.clear();const C=new Set,S=currentCleanups;currentCleanups=x;try{const T=d(k=>{if(C.add(k),g&&!b.has(k)){const I=subscribe(k,v,m==null?void 0:m.sync);b.set(k,I)}return k}),$=T&&T instanceof Promise?yield T:T;$&&(g?x.add($):E())}finally{currentCleanups=S}b.forEach((T,$)=>{C.has($)||(b.delete($),T())})});return currentCleanups&&currentCleanups.add(E),v(),E}const ANY_LANGUAGE="all";function i18nFromTranslations(d,m="en"){const g=proxy({embedded:m,disabled:!1,translations:d}),x=[];watch(T=>{const $=T(g);x.splice(0,1/0,ANY_LANGUAGE,...$.disabled?[]:Object.keys($.translations),$.embedded)});const b=new Set;function E(){return Object.keys(g.translations)}function v(T,$,k){var j,B;if(!T)return"";const I=S(T)?[k!=null?k:k=T[0]]:Array.isArray(T)?T:[T];typeof $=="string"&&!k&&(k=$,$=null);let D,A="";const{embedded:L}=g,N=Object.keys(g.translations);for(const z of I){for(const V of x)if(D=(B=(j=g.translations[A=V])==null?void 0:j.translate)==null?void 0:B[z])break;if(D)break;!b.has(z)&&N.length&&N[0]!==L&&(b.add(z),console.debug("miss i18n:",z))}return D||(D=k||I[I.length-1],A=L),Array.from(C(D)).map(([z,V])=>{if(!V)return z;const[U,W,J]=z.split(",").map(X=>X.trim());if(!$)throw"missing params on "+I[0];const Q=U&&$[U];return W==="plural"&&J?Y(Q,J):Q||Q===0?Q:""}).join("");function Y(z,V){const U=Intl.PluralRules?new Intl.PluralRules(A||L).select(Number(z)):"other";let W="",J=!1,Q=!1;for(const[Z,oe]of C(V)){if(J)return X(Z);if(Q&&(W=Z,Q=!1),oe)continue;const ie=Z.trim().split(/\s+/);J=ie.some(ee=>ee[0]==="="&&z===Number(ee.slice(1))||ee===U),Q=!J&&ie.includes("other")}return X(W);function X(Z){return Z.replace("#",String(z))}}}function*C(T){let $=0;for(;;){const k=T.indexOf("{",$);if(k<0)break;yield[T.slice($,k),!1];let I=1;for($=k+1;I&&$<T.length;)T[$]==="{"?I++:T[$]==="}"&&I--,$++;if(I)return console.debug("tokenizer: unclosed");yield[T.slice(k+1,$-1),!0]}yield[T.slice($),!1]}function S(T){return(T==null?void 0:T.raw)&&Array.isArray(T)}return{t:v,state:g,getLangs:E,i18nWrapperProps:()=>({lang:E()[0]||g.embedded}),useI18N(){return useSnapshot(g),{t:v}}}}const state$1=proxy($t(Ae({uploadOnExisting:getHFS().dontOverwriteUploading?"rename":"skip",uri:"",canChangePassword:!1,props:{}},objSameKeys(FRONTEND_OPTIONS,(d,m)=>{var g;return(g=getHFS()[m])!=null?g:d})),{iconsReady:!1,username:"",list:[],clip:[],loading:!1,listReloader:0,patternFilter:"",showFilter:!1,selected:{},remoteSearch:void 0}));function useSnapState$1(){return useSnapshot(state$1)}const SETTINGS_KEY="hfs_settings",SETTINGS_WITHOUT_GUI=["file_menu_on_link"],SETTINGS_TO_STORE$1=_.difference(typedKeys(FRONTEND_OPTIONS),SETTINGS_WITHOUT_GUI).concat(["uploadOnExisting"]);loadSettings();for(const d of SETTINGS_TO_STORE$1)subscribeKey(state$1,d,storeSettings$1);function loadSettings(){const d=localStorage.getItem(SETTINGS_KEY);if(!d)return;let m;try{m=JSON.parse(d)}catch(g){console.error("invalid settings stored",d);return}for(const g of SETTINGS_TO_STORE$1){const x=m[g];x!==void 0&&(state$1[g]=x)}}function storeSettings$1(){localStorage.setItem(SETTINGS_KEY,JSON.stringify(_.pick(state$1,SETTINGS_TO_STORE$1)))}const nf=class nf{constructor(m,g){var b,E;if(this.ext="",this.isFolder=m.endsWith("/"),this.isFolder&&(m=m.slice(0,-1)),Object.assign(this,g),this.n=m,this.uri=(g==null?void 0:g.url)||(!m||m[0]==="/"?"":location.pathname)+pathEncode(m)+(this.isFolder?"/":""),!this.isFolder){const v=m.lastIndexOf(".")+1;this.ext=v?m.substring(v).toLowerCase():""}this.c&&(this.c=new Date(this.c)),this.m=this.m?new Date(this.m):this.c,this.name=m.slice(m.lastIndexOf("/")+1);const x=this.isFolder&&!this.web?"L":"R";this.cantOpen=(b=this.p)!=null&&b.match(x)?!0:(E=this.p)!=null&&E.match(x.toLowerCase())?nf.FORBIDDEN:void 0}isRoot(){return!this.name}getNext(){return this.getSibling(1)}getPrevious(){return this.getSibling(-1)}getNextFiltered(){return this.getSibling(1,state$1.filteredList)}getPreviousFiltered(){return this.getSibling(-1,state$1.filteredList)}getSibling(m,g=state$1.list){return g[m+g.findIndex(x=>x.n===this.n)]}getDefaultIcon(){var m;return hIcon(this.icon===!0?`${this.n}?get=icon`:(m=this.icon)!=null?m:this.isFolder||this.web?"folder":this.url?"link":ext2type(this.ext)||"file")}canArchive(){var m,g,x;return((m=this.p)==null?void 0:m.includes("A"))||((g=state$1.props)==null?void 0:g.can_archive)&&!((x=this.p)!=null&&x.includes("a"))}canDelete(){var m,g,x;return!this.isRoot()&&(((m=this.p)==null?void 0:m.includes("D"))||((g=state$1.props)==null?void 0:g.can_delete_children)&&!((x=this.p)!=null&&x.includes("d")))}canUpload(){var m,g,x;return this.isFolder&&(((m=this.p)==null?void 0:m.includes("U"))||((g=state$1.props)==null?void 0:g.can_upload)&&!((x=this.p)!=null&&x.includes("u")))}canSelect(){return this.url||this.isRoot()?!1:this.canArchive()||this.canDelete()||hfsEvent("enableEntrySelection",{entry:this}).some(Boolean)}};nf.FORBIDDEN="FORBIDDEN";let DirEntry=nf;const exts={image:["jpeg","jpg","gif","png","webp","svg"],audio:["mp3","wav","m4a","ogg","flac"],video:["mp4","mpeg","mpg","webm","mov","m4v","mkv"],archive:["zip","rar","gz","tgz"]};function ext2type(d){return _.findKey(exts,m=>m.includes(d))}const i18n=i18nFromTranslations(getHFS().lang||{},EMBEDDED_LANGUAGE);i18n.state.disabled=!urlParams.lang&&state$1.disableTranslation;function toast$1(d,m="info",{timeout:g=5e3}={}){console.debug("toast",d);const x=Math.random();toasts.push({id:x,content:reactExports.isValidElement(d)?ref(d):d,type:reactExports.isValidElement(m)?ref(m):m,close:E});const b=pendingPromise();return setTimeout(E,g),{close:E,closed:b};function E(){const v=_.find(toasts,{id:x});v&&(v.closed=!0,b.resolve())}}const toasts=proxy([]),{t:t$d}=i18n;_.merge(dialogsDefaults,{closableProps:{"aria-label":t$d`Close`}});function promptDialog$1(I){return xt(this,arguments,function*(d,$={}){var k=$,{value:m,type:g,helperText:x,trim:b=!0,inputProps:E,onSubmit:v,onField:C,placeholder:S}=k,T=zt(k,["value","type","helperText","trim","inputProps","onSubmit","onField","placeholder"]);const D=g==="textarea"&&g;return new Promise(L=>newDialog($t(Ae({className:"dialog-prompt",icon:"?",onClose:L},T),{Content:A})));function A(){const L=reactExports.useRef();return reactExports.useEffect(()=>{const Y=L.current;if(!Y)return;const j=Y;if(setTimeout(()=>j.focus(),100),m&&(j.value=m),C==null||C(j),D){let B=function(){j.style.height="auto",j.style.height=j.scrollHeight+5+"px"};setTimeout(B),j.addEventListener("input",B)}},[D]),reactExports.createElement("form",{},reactExports.createElement("label",{htmlFor:"input"},d),reactExports.createElement(D||"input",$t(Ae({ref:L,type:g,name:"input",autoFocus:!0,placeholder:S},E),{style:Ae({width:m?m.length/2+"em":"auto",minWidth:"100%",maxWidth:"100%",boxSizing:"border-box"},D&&{width:"30em",maxHeight:"70vh"}),onKeyDown(Y){const{key:j}=Y;if(j==="Escape")return closeDialog();if((D?isCtrlKey(Y):j)==="Enter")return Y.preventDefault(),N()}})),x&&reactExports.createElement("div",{style:{fontSize:"smaller",marginTop:".2em"}},x),reactExports.createElement("div",{style:{textAlign:"right",marginTop:".8em"}},reactExports.createElement("button",{onClick:N},t$d`Continue`)));function N(){return xt(this,null,function*(){var j,B;let Y=(j=L.current)==null?void 0:j.value;b&&(Y=Y==null?void 0:Y.trim());try{v&&Y!==void 0&&(Y=(B=yield v==null?void 0:v(Y))!=null?B:Y),closeDialog(Y)}catch(z){alertDialog$1(z,"error")}})}}})}function formDialog$1(m){return xt(this,null,function*(){var d=zt(m,[]);return new Promise(g=>{const{close:x}=newDialog($t(Ae({className:"dialog-form"},d),{onClose:g,Content(){return reactExports.createElement("form",{onSubmit(b){b.preventDefault(),x(Object.fromEntries(new FormData(b.target).entries()))}},reactExports.createElement(d.Content))}}))})})}let msgShowing;function alertDialog$1(d,m="info",g=""){if(d===msgShowing)return;const x=msgShowing;msgShowing=d,d instanceof Error&&(m="error");const b=pendingPromise();return b.finally(()=>{d===msgShowing&&(msgShowing=x)}),Object.assign(b,newDialog({className:"dialog-alert dialog-alert-"+m,title:g||t$d(_.capitalize(m)),icon:"!",onClose:b.resolve,dialogProps:{role:"alertdialog"},Content(){if(d instanceof Error){const E=err2msg(d),v=d.message;d=reactExports.createElement("div",{},E,v!==E&&reactExports.createElement("div",{style:{marginTop:20,fontSize:"small"}},v))}return typeof d=="string"&&(d=reactExports.createElement("p",{},d)),d}}))}function confirmDialog$1(d,m={}){const $=m,{href:g,afterButtons:x,timeout:b,timeoutConfirm:E=!1}=$,v=zt($,["href","afterButtons","timeout","timeoutConfirm"]);typeof d=="string"&&(d=reactExports.createElement("p",{},d));const C=pendingPromise(),S=newDialog($t(Ae({className:"dialog-confirm",icon:"?",onClose:C.resolve},v),{Content:T}));return Object.assign(C,S);function T(){const[k,I]=reactExports.useState(Math.ceil(b||0));useInterval(()=>I(A=>Math.max(0,A-1)),1e3);const D=b&&b>0&&b<60&&` (${k})`||"";return reactExports.useEffect(()=>{b&&!k&&S.close(E)},[k]),reactExports.createElement("div",{},d,reactExports.createElement("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"1em"}},reactExports.createElement("a",{href:g,tabIndex:-1,onClick(){S.close(!0)}},reactExports.createElement("button",{},t$d`Yes`,E&&D)),reactExports.createElement("button",{onClick(){S.close(!1)}},t$d`Don't`,!E&&D),x))}}const dialogLib=Object.freeze(Object.defineProperty({__proto__:null,Dialogs,alertDialog:alertDialog$1,anyDialogOpen,closeDialog,componentOrNode,confirmDialog:confirmDialog$1,dialogsDefaults,focusableSelector,formDialog:formDialog$1,isDescendant,newDialog,promptDialog:promptDialog$1,toast:toast$1},Symbol.toStringTag,{value:"Module"})),{t:t$c}=i18n;function Spinner(d){return hIcon("spinner",Ae({className:"spinner"},d))}const Flex$1=reactExports.forwardRef((S,C)=>{var T=S,{gap:d=".8em",center:m=!1,vert:g=!1,children:x=null,className:b="",props:E={}}=T,v=zt(T,["gap","center","vert","children","className","props"]);return reactExports.createElement("div",Ae({ref:C,className:b,style:Ae({display:"flex",gap:d,flexDirection:g?"column":void 0,alignItems:g?void 0:"center",justifyContent:m?"center":void 0},v)},E),x)}),FlexV=reactExports.forwardRef((d,m)=>reactExports.createElement(Flex$1,Ae({ref:m,vert:!0},d))),Checkbox=reactExports.forwardRef((C,v)=>{var S=C,{onChange:d,value:m,children:g,labelProps:x,id:b}=S,E=zt(S,["onChange","value","children","labelProps","id"]);const T=reactExports.createElement("input",Ae($t(Ae({ref:v,type:"checkbox",onChange:$=>d==null?void 0:d(!!$.target.checked,$)},m!==void 0&&{checked:!!m}),{value:1,id:g?void 0:b}),E));return g?reactExports.createElement("label",Ae({id:b},x),T,g):T});function CustomCode(b){var E=b,{name:d,children:m,render:g}=E,x=zt(E,["name","children","render"]);const v=reactExports.useMemo(()=>hfsEvent(d,Object.assign(x,{def:m})),[d,m,...x?Object.values(x):[]]),[C,S]=useStateMounted([]);return reactExports.useEffect(()=>{var I,D;if(v.isDefaultPrevented()||v.some(A=>A===null))return S(null);const T=v.map(k);v.forEach((A,L)=>{typeof(A==null?void 0:A.then)=="function"&&A.then(N=>{T[L]=k(N,L),S(onlyTruthy(T))},()=>{})});const $=(I=getHFS().customHtml)==null?void 0:I[d];(D=$==null?void 0:$.trim)!=null&&D.call($)&&T.push(k($,-1)),S(onlyTruthy(T));function k(A,L){return reactExports.isValidElement(A)?reactExports.createElement(reactExports.Fragment,{key:L},A):A===0||A&&isPrimitive(A)?reactExports.createElement(Html,{key:L},String(A)):_.isArray(A)?reactExports.createElement(reactExports.Fragment,{key:L},...A):null}},[v]),g!=null||(g=_.identity),reactExports.createElement(reactExports.Fragment,{},g(C&&(C!=null&&C.length||!m?C:m)))}function iconBtn(d,m,b={}){var E=b,{title:g}=E,x=zt(E,["title"]);return reactExports.createElement("button",$t(Ae({title:g!=null?g:t$c(_.capitalize(d)),onClick:m},x),{className:"icon-button "+(x.className||"")}),d.length>1?hIcon(d):d)}function Btn$1(T){var $=T,{icon:d,label:m,tooltip:g,toggled:x,onClick:b,onClickAnimation:E,asText:v,successFeedback:C}=$,S=zt($,["icon","label","tooltip","toggled","onClick","onClickAnimation","asText","successFeedback"]);const[k,I]=reactExports.useState(!1),[D,A]=reactExports.useState(!1),L=reactExports.useRef();return reactExports.createElement(v?"a":"button",$t(Ae(Ae({title:m+prefix(" - ",g),"aria-label":m,"aria-pressed":x,onClick(N){v&&N.preventDefault(),b&&(E!==!1&&I(!0),Promise.resolve().then(b).finally(()=>I(!1)).then(()=>{C&&(A(!0),clearTimeout(L.current),L.current=setTimeout(()=>A(!1),1e3))},Y=>alertDialog$1(Y,"error")))}},S),v?{role:"button",style:Ae({cursor:"pointer"},S.style)}:void 0),{className:[S.className,x&&"toggled",k&&"ani-working",D&&"success"].filter(Boolean).join(" ")}),d&&(reactExports.isValidElement(d)?d:hIcon(d)),reactExports.createElement("span",{className:"label"},m))}function Bytes(g){var x=g,{bytes:d}=x,m=zt(x,["bytes"]);return reactExports.createElement("span",Ae(Ae({},noAriaTitle(d.toLocaleString())),m),formatBytes(d))}const documentComplete=document.readyState==="complete"?Promise.resolve():new Promise(d=>document.addEventListener("readystatechange",d));var Am;Promise.race([documentComplete,(Am=document.fonts)==null?void 0:Am.ready]).then(()=>xt(void 0,null,function*(){if(!document.fonts)return state$1.iconsReady=!0;const d="9px fontello";yield document.fonts.load(d),state$1.iconsReady=document.fonts.check(d)}));const Icon=reactExports.memo(b=>{var E=b,{name:d,alt:m,className:g=""}=E,x=zt(E,["name","alt","className"]);var I,D;if(!d)return null;d=(D=(I=getHFS().icons)==null?void 0:I[d])!=null?D:d;const[v,C=d]=SYS_ICONS[d]||[],{iconsReady:S}=useSnapState$1();g+=" icon";const T=d.length===1||d.match(/^[\uD800-\uDFFF\u2600-\u27BF\u2B00-\u2BFF\u3030-\u303F\u3297\u3299\u00A9\u00AE\u200D\u20E3\uFE0F\u2190-\u21FF\u2300-\u23FF\u2400-\u243F\u25A0-\u25FF\u2600-\u26FF\u2700-\u27BF]*$/),$=!T&&/[/?]/.test(d),k=S&&C;return g+=$?" file-icon":k?` font-icon fa-${C}`:" emoji-icon",reactExports.createElement("span",$t(Ae(Ae($t(Ae({},m?{"aria-label":m}:{"aria-hidden":!0}),{role:"img"}),x),$?{style:Ae({backgroundImage:`url(${JSON.stringify(d)})`},x==null?void 0:x.style)}:void 0),{className:g}),T?d:k?null:v||"#")});function parse(d,m){if(d instanceof RegExp)return{keys:!1,pattern:d};var g,x,b,E,v=[],C="",S=d.split("/");for(S[0]||S.shift();b=S.shift();)g=b[0],g==="*"?(v.push(g),C+=b[1]==="?"?"(?:/(.*))?":"/(.*)"):g===":"?(x=b.indexOf("?",1),E=b.indexOf(".",1),v.push(b.substring(1,~x?x:~E?E:b.length)),C+=~x&&!~E?"(?:/([^/]+?))?":"/([^/]+?)",~E&&(C+=(~x?"?":"")+"\\"+b.substring(E))):C+="/"+b;return{keys:v,pattern:new RegExp("^"+C+(m?"(?=$|/)":"/?$"),"i")}}const useBuiltinInsertionEffect=React$1.useInsertionEffect,canUseDOM=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined",useIsomorphicLayoutEffect=canUseDOM?reactExports.useLayoutEffect:reactExports.useEffect,useInsertionEffect=useBuiltinInsertionEffect||useIsomorphicLayoutEffect,useEvent=d=>{const m=reactExports.useRef([d,(...g)=>m[0](...g)]).current;return useInsertionEffect(()=>{m[0]=d}),m[1]},eventPopstate="popstate",eventPushState="pushState",eventReplaceState="replaceState",eventHashchange="hashchange",events=[eventPopstate,eventPushState,eventReplaceState,eventHashchange],subscribeToLocationUpdates=d=>{for(const m of events)addEventListener(m,d);return()=>{for(const m of events)removeEventListener(m,d)}},useLocationProperty=(d,m)=>shimExports.useSyncExternalStore(subscribeToLocationUpdates,d,m),currentSearch=()=>location.search,useSearch=({ssrSearch:d}={})=>useLocationProperty(currentSearch,d!=null?()=>d:currentSearch),currentPathname=()=>location.pathname,usePathname=({ssrPath:d}={})=>useLocationProperty(currentPathname,d!=null?()=>d:currentPathname),navigate=(d,{replace:m=!1,state:g=null}={})=>history[m?eventReplaceState:eventPushState](g,"",d),useBrowserLocation=(d={})=>[usePathname(d),navigate],patchKey=Symbol.for("wouter_v3");if(typeof history!="undefined"&&typeof window[patchKey]=="undefined"){for(const d of[eventPushState,eventReplaceState]){const m=history[d];history[d]=function(){const g=m.apply(this,arguments),x=new Event(d);return x.arguments=arguments,dispatchEvent(x),g}}Object.defineProperty(window,patchKey,{value:!0})}const _relativePath=(d,m)=>m.toLowerCase().indexOf(d.toLowerCase())?"~"+m:m.slice(d.length)||"/",baseDefaults=(d="")=>d==="/"?"":d,absolutePath=(d,m)=>d[0]==="~"?d.slice(1):baseDefaults(m)+d,relativePath=(d="",m)=>_relativePath(unescape(baseDefaults(d)),unescape(m)),unescape=d=>{try{return decodeURI(d)}catch(m){return d}},defaultRouter={hook:useBrowserLocation,searchHook:useSearch,parser:parse,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:d=>d,aroundNav:(d,m,g)=>d(m,g)},RouterCtx=reactExports.createContext(defaultRouter),useRouter=()=>reactExports.useContext(RouterCtx),Params0={};reactExports.createContext(Params0);const useLocationFromRouter=d=>{const[m,g]=d.hook(d);return[relativePath(d.base,m),useEvent((x,b)=>d.aroundNav(g,absolutePath(x,d.base),b))]},Link$1=reactExports.forwardRef((d,m)=>{const g=useRouter(),[x,b]=useLocationFromRouter(g),Y=d,{to:E="",href:v=E,onClick:C,asChild:S,children:T,className:$,replace:k,state:I,transition:D}=Y,A=zt(Y,["to","href","onClick","asChild","children","className","replace","state","transition"]),L=useEvent(j=>{j.ctrlKey||j.metaKey||j.altKey||j.shiftKey||j.button!==0||(C==null||C(j),j.defaultPrevented||(j.preventDefault(),b(v,d)))}),N=g.hrefs(v[0]==="~"?v.slice(1):g.base+v,g);return S&&reactExports.isValidElement(T)?reactExports.cloneElement(T,{onClick:L,href:N}):reactExports.createElement("a",$t(Ae({},A),{onClick:L,href:N,className:$!=null&&$.call?$(x===v):$,children:T,ref:m}))});function Link(x){var b=x,{to:d,reloadDocument:m}=b,g=zt(b,["to","reloadDocument"]);return m?reactExports.createElement("a",Ae({href:d},g)):reactExports.createElement(Link$1,Ae({href:d},g))}const{t:t$b}=i18n;function srpClientSequence(d,m,g,x,b){return xt(this,null,function*(){const{pubKey:E,salt:v}=yield x("loginSrp1",{username:m});if(!v)throw Error("salt");const C=yield srpClientPart(d,m,g,v,E),S=yield x("loginSrp2",Ae({pubKey:String(C.A),proof:String(C.M1)},b));return yield C.step3(BigInt(S.proof)).catch(()=>Promise.reject("trust")),S})}function srpClientPart(d,m,g,x,b){return xt(this,null,function*(){const E=new d.SRPRoutines(new d.SRPParameters);return yield(yield new d.SRPClientSession(E).step1(m,g)).step2(BigInt(x),BigInt(b))})}const{t:t$a,useI18N:useI18N$9}=i18n;function login$1(d,m,g){return xt(this,null,function*(){const x=working();return withSrpLib(srpClientSequence)(d,m,apiCall,g).catch(b=>{if(b.code==HTTP_METHOD_NOT_ALLOWED||!m)return apiCall("login",Ae({username:d,password:m},g));throw b}).then(b=>(hfsEvent("loginOk",{username:d}),refreshSession$1(b),state$1.loginRequired=!1,b),b=>{throw hfsEvent("loginFailed",{username:d,error:b}),Error(b.data==="trust"?t$a("login_untrusted","Login aborted: server identity cannot be trusted"):b.code===HTTP_UNAUTHORIZED&&!b.data?t$a("login_bad_credentials","Invalid credentials"):b.code===HTTP_CONFLICT?t$a("login_bad_cookies","Cookies not working - login failed"):t$a(b.message||String(b)))}).finally(x)})}const refreshSession$1=makeSessionRefresher(state$1);function logout(){return apiCall("logout",{},{modal:working}).catch(d=>{if(d.code!==HTTP_UNAUTHORIZED)throw d;if(refreshSession$1(),fallbackToBasicAuth())return location.reload();reloadList(),toast$1(t$a`Logged out`,"success")})}let closeLoginDialog,lastPromise;function loginDialog(d=!0,m=!0){return xt(this,null,function*(){return lastPromise=new Promise(g=>{if(fallbackToBasicAuth())return location.href="/?get=login";if(closeLoginDialog)return lastPromise;let x=!1;const{close:b}=newDialog({closable:d,className:"login-dialog",icon:()=>hIcon("login"),onClose(E){g(E),closeLoginDialog=void 0},title:()=>reactExports.createElement(reactExports.Fragment,{},useI18N$9().t("Login")),Content(){const E=reactExports.useRef(),v=reactExports.useRef(),C=reactExports.useRef(),[S,T]=reactExports.useState(!1),{t:$}=useI18N$9();return reactExports.createElement("form",{onSubmit(D){D.preventDefault(),I(D)}},reactExports.createElement(CustomCode,{name:"beforeLogin"}),reactExports.createElement(CustomCode,{name:"loginUsernameField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_username"},$`Username`),reactExports.createElement("input",{ref:E,id:"login_username",name:"username",autoComplete:"username",autoFocus:!0,required:!0,onKeyDown:k}))),reactExports.createElement(CustomCode,{name:"loginPasswordField"},reactExports.createElement("div",{className:"field"},reactExports.createElement("label",{htmlFor:"login_password"},$`Password`),reactExports.createElement("div",{className:"password-field"},reactExports.createElement("input",{ref:v,id:"login_password",name:"password",type:S?"text":"password",autoComplete:"current-password",required:!0,onKeyDown:k}),reactExports.createElement("button",{type:"button",className:"password-eye","aria-hidden":!0,tabIndex:-1,onPointerDown(D){D.preventDefault(),T(!0)},onPointerUp:()=>T(!1),onPointerEnter:()=>T(!0),onPointerLeave:()=>T(!1),onPointerCancel:()=>T(!1)},hIcon("eye"))))),reactExports.createElement(CustomCode,{name:"beforeLoginSubmit"}),reactExports.createElement("div",{className:"submit"},reactExports.createElement("button",{type:"submit"},$`Continue`)),reactExports.createElement("div",{id:"login-options"},reactExports.createElement(Checkbox,{ref:C,id:ALLOW_SESSION_IP_CHANGE},$(ALLOW_SESSION_IP_CHANGE,"Allow IP change during this session"))));function k(D){const{key:A}=D;if(A==="Escape")return b(null);if(A==="Enter")return I(D)}function I(D){return xt(this,null,function*(){var z,V;const A=D.target instanceof HTMLElement&&D.target.closest("form");if(!A)return;D.stopPropagation();const B=_.pickBy(Object.fromEntries(new FormData(A).entries()),_.isString),{username:L,password:N}=B,Y=zt(B,["username","password"]),j=L.trim();if(!(x||!j)){x=!0;try{const U=yield login$1(j,N,Ae({[ALLOW_SESSION_IP_CHANGE]:(z=C.current)==null?void 0:z.checked},Y)).finally(()=>x=!1);yield b(!0),toast$1($`Logged in`,"success"),U!=null&&U.redirect?setTimeout(()=>getHFS().navigate(U.redirect),10):m&&reloadList()}catch(U){yield alertDialog$1(U),(V=E.current)==null||V.focus()}}})}}});closeLoginDialog=b})})}const{t:t$9,useI18N:useI18N$8}=i18n,{t:t$8,useI18N:useI18N$7}=i18n;function cut(d){if(state$1.clip=d,d.length)return toast$1(t$8("after_cut",`Your selection is now in the clipboard.
760
+ Go to destination folder to paste.`),"info")}const{t:t$7,useI18N:useI18N$6}=i18n;function openFileMenu(d,m,g){return xt(this,null,function*(){var Y,j,B;const{uri:x,isFolder:b,s:E}=d,v=!((Y=d.p)!=null&&Y.includes("r")),C=!((j=d.p)!=null&&j.match(/L/i)),S=d.cantOpen===DirEntry.FORBIDDEN,$=[!(S||b&&!(v&&d.canArchive()&&C))&&{id:"download",label:t$7`Download`,href:x+(b?"?get=zip":"?dl"),icon:"download",target:"_blank"},((B=state$1.props)==null?void 0:B.can_comment)&&{id:"comment",label:t$7`Comment`,icon:"comment",onClick:()=>editComment(d)},...g.map(z=>{if(z==="open"){if(S)return;const V={id:"open",icon:"play",label:t$7("file_open","Open"),href:x,target:b||d.web?void 0:"_blank",rel:b||d.web?void 0:"noopener noreferrer",onClick:makeOnClickOpen(d)};return!b||V.onClick?V:reactExports.createElement(LinkClosingDialog,{to:x,reloadDocument:d.web},hIcon(V.icon),V.label)}return z==="delete"?d.canDelete()&&{id:"delete",label:t$7`Delete`,icon:"delete",onClick:()=>deleteFiles$1([d.uri])}:z==="show"?!d.cantOpen&&getShowComponent(d)&&{id:"show",label:t$7`Show`,icon:"image",onClick:()=>fileShow(d)}:z}),d.canDelete()&&{id:"rename",label:t$7`Rename`,icon:"edit",onClick:()=>rename(d)},d.canDelete()&&{id:"cut",label:t$7`Cut`,icon:"cut",onClick:()=>L(cut([d]))},b&&!d.web&&!d.cantOpen&&{id:"list",label:t$7`Get list`,href:x+"?get=list&folders=*",icon:"list",target:"_blank"}].filter(Boolean),k=d.n.slice(0,-1-d.name.length),I=[{id:"name",label:t$7`Name`,value:d.name},typeof E=="number"&&{id:"size",label:t$7`Size`,value:reactExports.createElement(reactExports.Fragment,{},formatBytes(E),reactExports.createElement("small",{className:HIDE_IN_TESTS},prefix(" (",E>getHFS().kb&&E.toLocaleString(),")")))},d.m&&{id:"timestamp",label:t$7`Timestamp`,value:d.m.toLocaleString()},d.c&&{id:"creation",label:t$7`Creation`,value:d.c.toLocaleString()},k&&{id:"folder",label:t$7`Folder`,value:reactExports.createElement(Link,{to:(k.startsWith("/")?"":location.pathname)+pathEncode(k)+"/",onClick:()=>closeDialog(null,!0)},k.replaceAll("/"," / "))},b&&!d.cantOpen&&{id:"folderSize",label:t$7`Size`,value:reactExports.createElement(N)}].filter(Boolean),D=yield Promise.all(hfsEvent("fileMenu",{entry:d,menu:$,props:I}));$.push(...D.flat().filter(Boolean)),_.remove($,(z,V)=>_.find($,U=>z.id?z.id===U.id:!U.id&&z.label===U.label,V+1));const A=getEntryIcon(d),{close:L}=newDialog({title:b?t$7`Folder menu`:t$7`File menu`,className:"file-dialog",icon:()=>A,position:Math.min(innerWidth,innerHeight)<800?void 0:[m.pageX,m.pageY-scrollY],restoreFocus:m.screenY||m.screenX?!1:void 0,Content(){var J;const{t:z}=useI18N$6(),{data:V}=useApi("get_file_details",{uris:[d.uri]}),U=(J=V==null?void 0:V.details)==null?void 0:J[0],W=[...I,with_(renderUploaderFromDetails(U),Q=>Q&&{id:"uploader",label:z`Uploader`,value:Q})];return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement("dl",{className:"file-dialog-properties"},dontBotherWithKeys(W.map(Q=>reactExports.isValidElement(Q)?Q:_.isPlainObject(Q)?reactExports.createElement("div",{id:`menu-prop-${Q.id}`},reactExports.createElement("dt",{},Q.label),reactExports.createElement("dd",{},Q.value)):null)),d.cantOpen&&reactExports.createElement("div",{},hIcon("password",{style:{marginRight:".5em",marginTop:".5em"}}),z(MISSING_PERM))),reactExports.createElement("div",{className:"file-menu"},dontBotherWithKeys($.map((Q,X)=>reactExports.isValidElement(Q)?Q:(Q==null?void 0:Q.label)&&reactExports.createElement("a",$t(Ae({key:X,href:"#"},_.omit(Q,["label","icon","toggled"])),{id:Q.id&&`menu-entry-${Q.id}`,className:Q.toggled?"toggled":void 0,onClick(oe){return xt(this,null,function*(){var ie;Q.href||oe.preventDefault();try{(yield(ie=Q.onClick)==null?void 0:ie.call(Q,oe))!==!1&&L()}catch(ee){alertDialog$1(ee)}})}}),hIcon(Q.icon||"file"),reactExports.createElement("label",{style:{display:"flex",flexDirection:"column"}},reactExports.createElement("div",{},Q.label),reactExports.createElement("small",{},Q.subLabel)))))))}});function N(){const[z,V]=reactExports.useState(!1),[U]=reactExports.useState(()=>randomId()),{data:W,error:J,loading:Q}=useApi(z&&"get_folder_size",{uri:d.uri,id:U},{timeout:!1}),X=useApi(Q&&"get_folder_size_partial",{id:U});return useInterval(X.reload,1e3),Z(W||J)||(Q?reactExports.createElement("span",{},Z(X.data)," ",reactExports.createElement(Btn$1,{asText:!0,label:t$7`Cancel`,icon:reactExports.createElement(Spinner),onClick(){V(!1)}})):reactExports.createElement(Btn$1,{asText:!0,label:t$7`Calculate`,onClick(){V(!0)}}));function Z(oe){return oe&&(oe.code?err2msg(oe):reactExports.createElement("span",{},reactExports.createElement(Bytes,_.pick(oe,"bytes"))," / ",t$7("n_files",{n:oe.files.toLocaleString()},"{n,plural,one{# file} other{# files}}")," / ",t$7("n_folders",{n:oe.folders.toLocaleString()},"{n,plural,one{# folder} other{# folders}}")))}}})}function rename(d){return xt(this,null,function*(){var T;const m=yield promptDialog$1(t$7`Name`,{value:d.name,title:t$7`Rename`,onField:$=>$.setSelectionRange(0,d.name.lastIndexOf("."))});if(!m)return;const{n:g,uri:x}=d;yield apiCall("rename",{uri:x,dest:m},{modal:working});const b=t$7`Operation successful`;if(x===location.pathname)return(T=alertDialog$1(b))==null?void 0:T.then(()=>getHFS().navigate(x+"../"+pathEncode(m)+"/"));const E=g.replace(/(.*?)[^/]+$/,($,k)=>k+m),v=new DirEntry(E,Ae({key:g},d)),C=_.findIndex(state$1.list,{n:g});state$1.list[C]=v;const S=_.findIndex(state$1.filteredList,{n:g});S>=0&&(state$1.filteredList[S]=v),toast$1(b,"success")})}function editComment(d){return xt(this,null,function*(){const m=yield inputComment(d.name,d.comment);m!==void 0&&(yield apiCall("comment",{uri:d.uri,comment:m},{modal:working}),decodeURI(d.uri)===decodeURI(location.pathname)?_.set(state$1,"props.comment",m):updateEntry(d,g=>g.comment=m),operationSuccessful())})}function updateEntry(d,m){m(_.find(state$1.list,{n:d.n}))}function LinkClosingDialog(d){return reactExports.createElement(Link,d.reloadDocument?d:$t(Ae({},d),{to:"",onClick(g){return xt(this,null,function*(){var x;for(g.preventDefault();anyDialogOpen();)yield(x=closeDialog())==null?void 0:x.closed;getHFS().navigate(d.to)})}}))}function makeOnClickOpen(d){return d.cantOpen?m=>xt(this,null,function*(){if(m.preventDefault(),d.cantOpen===DirEntry.FORBIDDEN)return alertDialog$1(t$7`Forbidden`,"warning");if(yield loginDialog(!0,!1)){if(d.isFolder&&!d.web)return setTimeout(()=>getHFS().navigate(d.uri));location.href=d.uri}}):void 0}function renderUploaderFromDetails(d){if(!d)return;const{upload:m}=d;return m&&`${m.username||""}${prefix("@",m.ip)}`}const{t:t$6}=i18n,uploadState=proxy({uploadDialogIsOpen:!1,eta:0,speed:0,partial:0,progress:0,paused:!1,qs:[],adding:[],skipped:[],errors:[],doneByte:0,done:[]});window.onbeforeunload=d=>{if(uploadState.qs.length)return d.preventDefault(),d.returnValue=t$6("Uploading")};let stuckSince=1/0,bytesSentTimestamp=Date.now(),bytesSent=0;const recentSpeedSamples=[];setInterval(()=>{const d=Date.now(),m=(d-bytesSentTimestamp)/1e3,g=bytesSent/m;currentReq&&d-stuckSince>=1e4&&(currentReq.abort(),console.debug("upload stuck, aborting")),bytesSent=0,bytesSentTimestamp=d;const b=_.sumBy(uploadState.qs,v=>_.sumBy(v.entries,C=>C.file.size))-uploadState.partial,E=uploadState.uploading;E&&recentSpeedSamples.push(g),(!E||recentSpeedSamples.length>5)&&recentSpeedSamples.shift(),uploadState.paused&&(recentSpeedSamples.length=0),uploadState.speed=_.mean(recentSpeedSamples),uploadState.eta=b/uploadState.speed},2e3);let currentReq;const id$2=randomId();let userAborted=!1,closeLastDialog,reloadOnClose=!1;function startUpload(d,m,g=0){return xt(this,null,function*(){console.debug("start upload",d.path,g),uploadState.uploading=d,uploadState.progress=0,userAborted=!1;let x=!0;const b=getHFS().splitUploads,E=d.file.size,v=m+pathEncode(d.path);let C=!1;do{let $=currentReq=new XMLHttpRequest;const k=pendingPromise();stuckSince=Date.now(),$.onloadend=()=>xt(this,null,function*(){try{if(currentReq=void 0,uploadState.paused)return C=!0;if(x=!0,!userAborted&&!$.status){$=new XMLHttpRequest,$.open("PUT",v+A+"&simulating="+L.size,!1);try{$.send()}catch(Y){console.log(Y)}yield wait(500)}const{status:N}=$;if(N===HTTP_RANGE_NOT_SATISFIABLE)return C=!0;if(N===HTTP_PRECONDITION_FAILED){const Y=Number($.getResponseHeader("x-size"));if($.getResponseHeader(MTIME_CHECK)){const j=fetch(v+"?get="+UPLOAD_TEMP_HASH).then(z=>z.text());if((yield calcHash(d.file,Y))!==(yield j))return x=!1,console.debug("upload hash mismatch");console.debug("upload hash is matching")}return g=Y,console.debug("resuming upload",Y.toLocaleString())}if(userAborted||N===HTTP_CONFLICT){if($.responseText==="retry")return yield wait(2e3);d.error=N?t$6("upload_conflict","already exists"):t$6`Interrupted`,uploadState.skipped.push(d)}else if(N>=400)S(N);else if(N){if(b&&(g+=b,g<E))return;uploadState.done.push($t(Ae({},d),{response:tryJson($.responseText)})),uploadState.doneByte+=d.file.size,reloadOnClose=!0}else return yield wait(2e3);C=!0,k.then(T)}finally{k.resolve()}});let I=0;$.upload.onprogress=N=>{uploadState.partial=N.loaded+g,uploadState.progress=uploadState.partial/E,bytesSent+=N.loaded-I,N.loaded>I&&(stuckSince=Date.now()),I=N.loaded};const D=b&&g+b<E,A=buildUrlQueryString({id:id$2,mtime:d.file.lastModified,resume:g+(x?"!":""),partial:D?E-g:void 0,comment:d.comment||void 0,existing:with_(state$1.uploadOnExisting,N=>N!=="rename"?N:void 0)});$.open("PUT",v+A,!0);const L=d.file.slice(g,b?g+b:void 0);$.send(L),yield k}while(!C);function S($){var A;const I={[HTTP_PAYLOAD_TOO_LARGE]:t$6`file too large`+(getHFS().proxyDetected?`
761
761
  – `+t$6("proxy_413","Check for this limit on the proxy server"):""),[HTTP_CONFLICT]:t$6("upload_conflict","already exists"),[HTTP_INSUFFICIENT_STORAGE]:t$6`insufficient storage`}[$]||HTTP_MESSAGES[$]||$;if(d.error=I,uploadState.errors.push(d)>1)return;const D=t$6("failed_upload",{name:d.path},"Couldn't upload {name}")+prefix(": ",I);closeLastDialog==null||closeLastDialog(),closeLastDialog=(A=alertDialog$1(D,"error"))==null?void 0:A.close}function T(){uploadState.uploading=void 0,uploadState.partial=0;const{qs:$}=uploadState;if(!$.length||($[0].entries.shift(),$[0].entries.length||$.shift(),$.length)||(setTimeout(reloadList,500),reloadOnClose=!1,uploadState.uploadDialogIsOpen))return;const k=snapshot(uploadState);resetCounters();const I=reactExports.createElement("div",{},t$6(["upload_concluded","Upload terminated"],"Upload concluded:"),reactExports.createElement(UploadStatus,{snapshot:k,display:"flex",flexDirection:"column"}));k.errors.length||k.skipped.length?alertDialog$1(I,"warning"):toast$1(I,"success")}})}subscribe(uploadState,()=>{const[d]=uploadState.qs;d!=null&&d.entries.length&&!uploadState.uploading&&!uploadState.paused&&startUpload(d.entries[0],d.to)});function resetCounters(){Object.assign(uploadState,{errors:[],done:[],doneByte:0,skipped:[]})}function calcHash(d,m=1/0){return xt(this,null,function*(){const g=yield S(),x=Date.now(),b=d.stream().getReader();let E=m;const v=_.debounce(()=>uploadState.hashing=(m-E)/m,100,{maxWait:500});try{for(;E>0;){const T=yield b.read();if(T.done)break;const $=T.value.slice(0,E);g.update($.buffer),E-=$.length,v(),yield wait(1)}}finally{v.flush(),uploadState.hashing=void 0}const C=g.digest().toString(16);return console.debug("hash calculated in",Date.now()-x,"ms",C),C;function S(){return xt(this,null,function*(){const T=(yield __vitePreload(()=>xt(this,null,function*(){const{h32:k}=yield import("./index-DtaRq1wi.js").then(I=>I.i);return{h32:k}}),[])).h32(),$=T.update;return T.update=k=>$.call(T,k),T})}})}const{t:t$5}=i18n;getHFS().dontOverwriteUploading;function UploadStatus(g){var x=g,{snapshot:d}=x,m=zt(x,["snapshot"]);const b=useSnapshot(uploadState),{done:E,doneByte:v,errors:C,skipped:S}=d||b,T=E.length>0&&t$5("upload_finished",{n:E.length,size:formatBytes(v)},"{n} finished ({size})"),$=S.length>0&&t$5("upload_skipped",{n:S.length},"{n} skipped"),k=C.length>0&&t$5("upload_errors",{n:C.length},"{n} failed"),I=[T,$,k].filter(Boolean).join(" – ");if(!I)return null;const D=reactExports.createElement("span",{className:"horiz-sep"}," – ");return reactExports.createElement("div",{style:Ae({},m)},I,D,reactExports.createElement(Btn$1,{label:t$5`Show details`,asText:!0,onClick:A}),D,reactExports.createElement(Btn$1,{label:t$5("copy_links","Copy links"),asText:!0,successFeedback:!0,onClick(){return xt(this,null,function*(){yield copyTextToClipboard(E.map(N=>location.origin+getPrefixUrl()+N.response.uri).join(`
762
762
  `)),operationSuccessful()})}}));function A(){uploadState.uploadDialogIsOpen||closeDialog(),alertDialog$1(reactExports.createElement("div",{},[[T,E],[$,S],[k,C]].map(([N,Y],j)=>N&&reactExports.createElement("div",{key:j},N,reactExports.createElement("ul",{},Y.map((B,z)=>reactExports.createElement("li",{key:z},B.path,prefix(" (",B.error,")"))))))))}}function inputComment(d,m){return promptDialog$1(t$5("enter_comment",{name:d},"Comment for {name}"),{value:m,type:"textarea"})}const{t:t$4,useI18N:useI18N$5}=i18n;function deleteFiles$1(d){return xt(this,null,function*(){const m=d.length;if(!(yield confirmDialog$1(t$4("delete_confirm",{n:m},"Delete {n,plural, one{# item} other{# items}}?"))))return!1;const g=working(),x=onlyTruthy(yield Promise.all(d.map(v=>apiCall("delete",{},{restUri:v}).then(()=>null,C=>(C==null?void 0:C.code)!==HTTP_NOT_FOUND&&{uri:v,err:C}))));g(),reloadList();const b=x.length,E=t$4("delete_completed",{n:m-b},"Deletion: {n} completed");if(m===1&&!b)return toast$1(E,"success");alertDialog$1(reactExports.createElement(reactExports.Fragment,{},E,b>0&&t$4("delete_failed",{n:b},", {n} failed"),reactExports.createElement("div",{style:{textAlign:"left",marginTop:"1em"}},...x.map(v=>reactExports.createElement(ErrorMsg,{err:t$4(err2msg(v.err))+": "+v.uri})))))})}const{useI18N:useI18N$4}=i18n,{useI18N:useI18N$3}=i18n,{useI18N:useI18N$2}=i18n,{t:t$3,useI18N:useI18N$1}=i18n,MISSING_PERM="Missing permission";reactExports.memo(({nPages:d,current:m,pageSize:g,changePage:x,atBottom:b})=>{reactExports.useEffect(()=>(document.body.style.overflowY="scroll",()=>{document.body.style.overflowY=""}),[]);const E=reactExports.useRef();reactExports.useEffect(()=>scrollIntoView(E.current,"nearest"),[m]);const v=d>20,C=_.floor(m,-1),S=C+10;return reactExports.createElement("div",{id:"paging"},reactExports.createElement("button",{title:t$3("go_first","Go to first item"),className:m?void 0:"toggled",onClick(){x(0)}},hIcon("to_start")),reactExports.createElement("div",{id:"paging-middle"},_.range(1,d).map(T=>(!v||!(T%10)||T>=C&&T<S)&&reactExports.createElement("button",$t(Ae({key:T},T===m&&{className:"toggled",ref:E}),{onClick:()=>x(T)}),v&&!(T%10)?T/10+"K":T*g))),reactExports.createElement("button",{title:t$3("go_last","Go to last item"),className:b?"toggled":void 0,onClick(){x(d-1,!0)}},hIcon("to_end")))});function scrollIntoView(d,m){if(d)try{d.scrollIntoView({block:m})}catch(g){d.scrollIntoView(m==="center")}}function useMidnight(){const[d,m]=reactExports.useState(g);return reactExports.useEffect(()=>{setTimeout(()=>m(g()),10*6e4)},[]),d;function g(){const x=new Date;x.setHours(x.getHours()-6);const b=new Date;return b.setHours(0,0,0,0),x<b?x:b}}function getEntryIcon(d){return reactExports.createElement(CustomCode,{name:"entryIcon",entry:d},d.getDefaultIcon())}const EntryDetails=reactExports.memo(({entry:d,midnight:m})=>{const{sort_by:g}=useSnapState$1(),x=g==="creation"?d.c:d.m,b=x&&x>m,E=useWindowSize().width<800,{t:v}=useI18N$1(),C="2-digit";return reactExports.createElement("div",{className:"entry-details"},reactExports.createElement(CustomCode,{name:"additionalEntryDetails",entry:d}),d.cantOpen&&hIcon(d.cantOpen===DirEntry.FORBIDDEN?"lock":"password",{className:"miss-perm",title:v(MISSING_PERM)}),reactExports.createElement(EntrySize,{s:d.s}),x&&reactExports.createElement("span",{className:"entry-ts","aria-hidden":!0,onClick(){E&&alertDialog$1(v`Full timestamp:`+`
763
763
  `+formatTimestamp(x))}},formatTimestamp(x,Ae(Ae({},!E||!b?{year:E?C:"numeric",month:C,day:C}:null),!E||b?{hour:C,minute:C}:null))))}),EntrySize=reactExports.memo(({s:d})=>d===void 0?null:reactExports.createElement(Bytes,{className:"entry-size",bytes:d}));function getId3Tags(d){return xt(this,null,function*(){const m=yield fetch(d,{headers:{Range:"bytes=0-2047"}}).then(E=>E.arrayBuffer()),g=new DataView(m);if(g.getUint32(0)!==1229206275)return;const x={};let b=10;for(;b<m.byteLength;){const E=String.fromCharCode(g.getUint8(b++),g.getUint8(b++),g.getUint8(b++),g.getUint8(b++));if(E==="\0\0\0\0")break;const v=g.getUint32(b);b+=6;const C=g.getUint8(b++)?{239:"utf-8",255:"utf-16le",254:"utf-16be"}[g.getUint8(b)]:"ISO-8859-1";x[E]=new TextDecoder(C).decode(m.slice(b,b+=v-1))}for(const[E,v]of Object.entries({TALB:"album",TIT2:"title",TPE1:"artist",TYER:"year",TRCK:"track"}))x[v]=x[E];return x})}const{t:t$2,useI18N}=i18n;var ZoomMode=(d=>(d[d.fullWidth=0]="fullWidth",d[d.freeY=1]="freeY",d[d.contain=2]="contain",d))(ZoomMode||{});function fileShow(d,{startPlaying:m=!1,startShuffle:g=!1}={}){if(!getShowComponent(d))return;let x=!1,b,E,v=!0,C=!0;const{close:S}=newDialog({noFrame:!0,className:"file-show",onClose(){b==null||b()},Content(){const{uri:T}=useSnapState$1();reactExports.useEffect(()=>{T!==E&&(E!=null||(E=T),E!==T&&S())},[T]);const[$,k,I]=useStateMounted(d),D=reactExports.useRef(0),A=reactExports.useRef(d),[L,N]=reactExports.useState(2),[Y,j]=reactExports.useState();reactExports.useEffect(()=>ke(g),[]);const B=reactExports.useRef(0);Y||(B.current=0);const[z,V,U]=useStateMounted(!1),[W,J]=reactExports.useState("");reactExports.useEffect(()=>{Y&&rt(Y[0])},[!!Y]),useEventListener("keydown",({key:Je})=>{if(Je==="Escape"){if(x)return S();x=!0,b=toast$1(Re("esc_again","Press ESC twice to close")).close;return}if(x=!1,Je==="ArrowLeft")return Ge();if(Je==="ArrowRight")return Ie();if(Je==="ArrowDown")return Xe(1);if(Je==="ArrowUp")return Xe(-1);if(Je==="d")return location.href=$.uri+"?dl";if(Je==="z")return ot();if(Je==="f")return Fe();if(Je==="s")return ke();if(Je==="r")return je();if(Je==="a")return Ke();if(Je===" "){const gt=state$1.selected;gt[$.uri]?delete gt[$.uri]:gt[$.uri]=!0,state$1.showFilter=!0;return}});const[Q,X]=reactExports.useState(!1),Z=reactExports.useMemo(()=>getShowComponent($),[$]),oe=Z===Audio;reactExports.useEffect(()=>X(oe),[oe]);const ie=reactExports.useRef(0),ee="nav"+(Q?"":" nav-hidden"),[re,ce]=reactExports.useState(!1),[fe,ae]=reactExports.useState(!1),ue=reactExports.useRef(),pe=reactExports.useRef();reactExports.useEffect(()=>{Xe(-1e9)},[$]);const[ge,ye]=reactExports.useState();reactExports.useEffect(()=>ye(void 0),[$]);const{auto_play_seconds:Ce}=useSnapState$1(),[Ee,ve]=reactExports.useState(m);function Pe(){var Je;return(Je=ue.current)==null?void 0:Je.querySelector(".showing")}reactExports.useEffect(()=>{const Je=Pe();try{if(!Ee&&!C||!Je)return}finally{C=!1}if(Je instanceof HTMLMediaElement)return Je.play().catch(He),domOn("ended",Ie,{target:Je});if(!Ee)return;const gt=setTimeout(Ie,state$1.auto_play_seconds*1e3);return()=>clearTimeout(gt)},[Ee,$]);const{mediaSession:Me}=navigator;Me==null||Me.setActionHandler("nexttrack",Ie),Me==null||Me.setActionHandler("previoustrack",Ge);const{t:Re}=useI18N(),De=Re("autoplay_seconds","Seconds to wait on images"),Ye=dirname($.n),Le=reactExports.useRef();return reactExports.useEffect(()=>{Z||Le.current===$||(Be(),Le.current=$)},[$,Z]),reactExports.createElement(FlexV,{gap:0,alignItems:"stretch",className:oe?void 0:ZoomMode[L],props:{role:"dialog",onMouseMove(){oe||(X(!0),clearTimeout(ie.current),ie.current=+setTimeout(()=>X(!1),1e3))}}},reactExports.createElement("div",{className:"bar"},reactExports.createElement("div",{className:"filename"},reactExports.createElement("small",{},Ye),$.n.slice(Ye.length)),reactExports.createElement("div",{className:"controls"},reactExports.createElement(EntryDetails,{entry:$,midnight:useMidnight()}),useWindowSize().width>800&&iconBtn("?",showHelp),reactExports.createElement("div",{},reactExports.createElement(Btn$1,{className:"small",label:Re`Auto-play`,toggled:Ee,onClick:Ke}),Ee&&reactExports.createElement(Btn$1,{className:"small",label:String(Ce),title:De,onClick:st})),iconBtn("menu",Je=>openFileMenu($,Je,["open","delete",{id:"zoom",icon:"zoom",label:Re`Switch zoom mode`,onClick:ot},{id:"fullscreen",icon:"fullscreen",label:Re`Full screen`,onClick:Fe},{id:"shuffle",icon:"shuffle",label:Re`Shuffle`,toggled:!!Y,onClick:()=>ke()},{id:"repeat",icon:"repeat",label:Re`Repeat`,toggled:z,onClick:je}])),iconBtn("close",S))),reactExports.createElement(FlexV,{center:!0,alignItems:"center",className:"main",ref:pe},re&&reactExports.createElement(Spinner,{style:{position:"absolute",fontSize:"20vh",opacity:.5}}),fe===$.n?reactExports.createElement(FlexV,{alignItems:"center",textAlign:"center"},hIcon("error",{style:{fontSize:"20vh"}}),reactExports.createElement("div",{},$.name),Re`Loading failed`):reactExports.createElement("div",{className:"showing-container",ref:ue},reactExports.createElement("div",{className:"cover "+(W?"":"none"),style:{backgroundImage:W&&`url("${W}")`}}),Z&&reactExports.createElement(Z,{src:$.uri,className:"showing",onLoad(){A.current=$,ce(!1)},onError:Be,onPlay(){return xt(this,null,function*(){var dt,jt;const Je=oe?state$1.list.filter(Wt=>Ye===dirname(Wt.n)&&Wt.name.match(/(?:folder|cover|front|albumart.*)\.jpe?g$/i)):[];J(pathEncode(((dt=_.maxBy(Je,"s"))==null?void 0:dt.n)||""));const gt={title:$.name,album:safeDecodeURIComponent(basename(dirname($.uri)),""),artwork:Je.map(Wt=>({src:Wt.n}))},St=window.MediaMetadata&&(navigator.mediaSession.metadata=new MediaMetadata(gt));if($.ext==="mp3"){const Wt=$.name.split(" - ");ye(Object.assign(gt,Ae({title:(jt=Wt.at(-1))==null?void 0:jt.slice(0,-4),artist:Wt.filter(Xt=>!isNumeric(Xt)).at(-2)},yield getId3Tags(location.pathname+$.n).catch(()=>{})))),St&&Object.assign(St,gt)}hfsEvent("showPlay",{entry:$,meta:gt,setCover(Wt){typeof Wt=="string"&&(J(Wt),St&&(navigator.mediaSession.metadata=new MediaMetadata(Object.assign(gt,{artwork:[{src:Wt}]}))))}})})}}),ge&&reactExports.createElement("div",{className:"meta-tags"},reactExports.createElement("div",{},...["title","artist","album","year"].map(Je=>reactExports.createElement("div",{key:Je,className:`meta-${Je}`},ge[Je]))))),hIcon("❮",{className:ee,style:{left:0},onClick:Ge}),hIcon("❯",{className:ee,style:{right:0},onClick:Ie})));function Ge(){Ve(-1)}function Ie(){Ve(1)}function Be(){var gt,St;if(((St=(gt=document.querySelector(".showing-container .showing"))==null?void 0:gt.error)==null?void 0:St.code)!==2){if($!==A.current)return Ve();ce(!1),ae($.n)}}function He(Je){if(console.debug(Je),(Je==null?void 0:Je.name)!=="NotAllowedError"||!v)return;v=!1;const gt=Pe();if(!(gt instanceof HTMLMediaElement))return;const St=gt,dt=newDialog({onClose:()=>v=!0,Content:()=>reactExports.createElement(Btn$1,{autoFocus:!0,icon:"play",label:"Click here to play",onClick:()=>{St.play().catch(He),dt.close()}})})}function Ve(Je=1){if(I()!==$)return;const{list:gt}=state$1;let St=Y;if(Y&&Je>0&&Y.length<gt.length){const Wt=_.findIndex(Y,{n:$.n});if(Wt>=B.current){const Xt=1+Wt,Pt=Y.slice(0,Xt);j(St=Pt.concat(_.shuffle(_.difference(gt,Pt))))}}Je&&(D.current=Je);let dt=$;for(;dt=dt.getSibling(D.current,St),!jt();)if(!dt){if(Je>0){if(U()){if(dt=(St==null?void 0:St[0])||gt[0],jt())break;continue}ve(!1)}return rt(A.current),restartAnimation(document.body,".2s blink")}if(rt(dt),Y){const Wt=_.findIndex(St,{n:dt.n});B.current=Math.max(B.current,Wt)}function jt(){return dt&&!dt.isFolder&&getShowComponent(dt)}}function rt(Je){ae(!1),ce(Je!==A.current),k(Je)}function Fe(){var Je;if(!document.fullscreenEnabled)return alertDialog$1(Re`Full-screen not supported`,"error");document.fullscreenElement?document.exitFullscreen():(Je=pe.current)==null||Je.requestFullscreen()}function ot(){N(Je=>Je?Je-1:2)}function ke(Je){j(gt=>(Je!=null?Je:!gt)?_.shuffle(state$1.list):void 0)}function je(){V(Je=>!Je)}function Ke(){ve(Je=>!Je)}function Xe(Je){var gt,St;(St=ue.current)==null||St.scrollBy(0,Je*.5*((gt=ue.current)==null?void 0:gt.clientHeight))}function st(){newDialog({title:Re`Auto-play`,Content(){const{auto_play_seconds:Je}=useSnapState$1();return reactExports.createElement(FlexV,{},De,reactExports.createElement("input",{type:"number",min:1,max:1e4,value:Je,style:{width:"4em"},onChange:gt=>state$1.auto_play_seconds=Number(gt.target.value)}))}})}}});return!0}function getShowComponent(d){const m=ext2type(d.ext),x={entry:d,Component:m==="audio"?Audio:m==="video"?Video:m==="image"?"img":""};return hfsEvent("fileShow",x).findLast(Boolean)||x.Component}const Audio=reactExports.forwardRef((x,g)=>{var b=x,{onLoad:d}=b,m=zt(b,["onLoad"]);return reactExports.createElement("audio",Ae({ref:g,onLoadedData:d,controls:!0},m))}),Video=reactExports.forwardRef((x,g)=>{var b=x,{onLoad:d}=b,m=zt(b,["onLoad"]);return reactExports.createElement("video",Ae({ref:g,onLoadedData:d,controls:!0},m))});function showHelp(){newDialog({title:t$2`File Show help`,className:"file-show-help",Content:()=>reactExports.createElement(reactExports.Fragment,{},t$2("showHelpMain",{},"You can use the keyboard for some actions:"),_.map({"←/→":t$2("showHelp_←/→_body","Go to previous/next file"),"↑/↓":t$2("showHelp_↑/↓_body","Scroll tall images"),space:t$2`Select`,D:t$2`Download`,Z:t$2`Switch zoom mode`,F:t$2`Full screen`,S:t$2`Shuffle`,R:t$2`Repeat`,A:t$2`Auto-play`},(d,m)=>reactExports.createElement("div",{key:m},reactExports.createElement("kbd",{},t$2("showHelp_"+m,m))," ",d)),reactExports.createElement("div",{style:{marginTop:"1em"}},t$2("showHelpListShortcut",{key:isMac?"SHIFT":"WIN"},"From the file list, click while holding {key} to Show")))})}const{t:t$1}=i18n;setTimeout(()=>{state$1.remoteSearch=urlParams.search?{search:urlParams.search}:void 0,objFromKeys(["onlyFiles","onlyFolders"],d=>d in urlParams||void 0)});urlParams.autoplay;function reloadList(){state$1.listReloader=Date.now()}getHFS().textSortCompare=new Intl.Collator(navigator.language,{sensitivity:"base"}).compare;function sort(d){const{sort_by:m,folders_first:g,sort_numerics:x}=state$1,b=m==="size",E=m==="extension",v=m==="time",C=m==="creation",S=state$1.invert_order?-1:1,{textSortCompare:T}=getHFS();return d.sort((k,I)=>-compareScalar(k.order||0,I.order||0)||hfsEvent("sortCompare",{a:k,b:I}).find(Boolean)||g&&-compareScalar(k.isFolder,I.isFolder)||S*(b?compareScalar(k.s||0,I.s||0):E?T(k.ext,I.ext):v?compareScalar(k.m,I.m):C?compareScalar(k.c,I.c):0)||x&&S*$(k.n,I.n)||S*T(k.n,I.n));function $(k,I){const D=/\d/g;if(!D.exec(k))return 0;const A=D.lastIndex;if(A){if(!I.startsWith(k.slice(0,A-1)))return 0;k=k.slice(A-1),I=I.slice(A-1)}return compareScalar(parseFloat(k),parseFloat(I))}}function compareScalar(d,m){return d-m}const sortAgain=_.debounce(()=>state$1.list=sort(state$1.list),100);for(const d of["sort_by","invert_order","folders_first","sort_numerics"])subscribeKey(state$1,d,sortAgain);const updateFilteredList=_.debounce(()=>{const d=state$1.patternFilter;if(!d)return state$1.filteredList=void 0;const m=new RegExp(_.escapeRegExp(d),"i");state$1.filteredList=state$1.list.filter(g=>m.test(g.n))});subscribeKey(state$1,"list",updateFilteredList);subscribeKey(state$1,"patternFilter",updateFilteredList);function debounceAsync(d,m={}){const{wait:g=0,leading:x=!1,maxWait:b=1/0,cancelable:E=!1,retain:v=0,retainFailure:C,reuseRunning:S}=m;let T=0,$,k,I=0,D,A,L=!1,N=0;return Object.assign((...z)=>k=j(...z),Ae({clearRetain:()=>A=void 0,flush:()=>$!=null?$:B(),isWorking:()=>$},E&&{cancel(){I=0,D=void 0}}));function j(...z){return xt(this,null,function*(){if(S&&$)return $;const V=Date.now();if(A&&V-N<(L&&C!=null?C:v))return yield A;D=z,I||(I=V);const U=b-(V-(I||T)),W=Math.min(U,x?g-(V-T):g);if(W>0&&(yield new Promise(J=>setTimeout(J,W))),!D){I=0;return}return D!==z?k:(yield $,B())})}function B(){return xt(this,null,function*(){if(D){I=0,T=Date.now();try{const z=D;return D=void 0,$=Promise.resolve(d(...z)),$.then(()=>L=!1,()=>L=!0),yield $}finally{A=$,N=Date.now(),$=void 0}}})}}const{t,getLangs}=i18n;function err2msg(d){return typeof d=="number"?HTTP_MESSAGES[d]:HTTP_MESSAGES[d.code]||d.message||String(d)}function hIcon(d,m){return reactExports.createElement(Icon,Ae({name:d},m))}function ErrorMsg({err:d}){return d?reactExports.createElement("div",{className:"error-msg"},(d==null?void 0:d.message)||_.isString(d)&&d||`${t`Error`}:${d}`):null}let isWorking=!1;function working(){if(isWorking)return()=>{};isWorking=!0;const{close:d}=newDialog({closable:!1,noFrame:!0,Content:Spinner,reserveClosing:!0,className:"working",onClose(){isWorking=!1}});return d}function hfsEvent(d,m){const g=[],x=[],b={params:m,output:g,order:x};let E=new CustomEvent("hfs."+d,{detail:b,cancelable:!0});document.dispatchEvent(E),E.defaultPrevented||(E=new CustomEvent("hfs."+d+":after",{detail:b,cancelable:!0}),document.dispatchEvent(E));const v=x.length&&_.sortBy(g.map((C,S)=>[x[S]||0,C]),"0").map(C=>C[1]);return Object.assign(v||g,{isDefaultPrevented:()=>E.defaultPrevented})}function onHfsEvent(d,m,g){const x="hfs."+d;return document.addEventListener(x,b,g),()=>document.removeEventListener(x,b);function b(E){const{params:v,output:C,order:S}=E.detail;let T;const $=m(v,{output:C,setOrder(k){T=k},preventDefault:()=>E.preventDefault()});$!==void 0&&Array.isArray(C)&&(C.push($),T&&(S[C.length-1]=T))}}function formatTimestamp(d,m){const g=getOrSet(formatTimestamp,"langs",()=>{const x=getLangs(),b=urlParams.lang||navigator.language;return!x.length||b.startsWith(x[0])?b:x});return d?(d instanceof Date?d:new Date(d)).toLocaleString(g,m):""}Object.assign(getHFS(),{h:reactExports.createElement,React,state:state$1,t,_,dialogLib,apiCall,useApi,reloadList,logout,Icon,hIcon,iconBtn,useBatch,fileShow,toast:toast$1,domOn,getNotifications,debounceAsync,useSnapState:useSnapState$1,DirEntry,Btn:Btn$1,i18n,fileShowComponents:{Video,Audio},isVideoComponent,markVideoComponent,isAudioComponent,markAudioComponent,isShowSupported:getShowComponent,misc:Ae(Ae(Ae({},cross),shared),thisModule),emit:hfsEvent,onEvent:onHfsEvent,watchState(d,m,g=!1){const x=d.split("upload.")[1],b=x?uploadState:state$1;return g&&m(b[d]),subscribeKey(b,x||d,m,!0)},customRestCall(d,...m){return apiCall(PLUGIN_CUSTOM_REST_PREFIX+d,...m)},html:d=>reactExports.createElement(Html,{},d),elementToEntry(d){var g;if(!(d instanceof HTMLElement))return;const m=(g=d.closest("li"))==null?void 0:g.querySelector(".link-wrapper a");if(m instanceof HTMLAnchorElement)try{return _.find(state$1.list,{uri:new URL(m.href).pathname})}catch(x){}},customizeText(d,m=ANY_LANGUAGE){var x,b;const g=i18n.state.translations;(m===ANY_LANGUAGE||m===EMBEDDED_LANGUAGE)&&((x=g[m])!=null||(g[m]={translate:{}})),Object.assign(((b=g[m])==null?void 0:b.translate)||{},d)}});markVideoComponent(Video);markAudioComponent(Audio);function isVideoComponent(d){return!!(d!=null&&d.hfs_show_video)}function markVideoComponent(d){return d.hfs_show_video=!0,d}function isAudioComponent(d){return!!(d!=null&&d.hfs_show_audio)}function markAudioComponent(d){return d.hfs_show_audio=!0,d}function operationSuccessful(){return toast$1(t`Operation successful`,"success")}var lib={},hasRequiredLib;function requireLib(){if(hasRequiredLib)return lib;hasRequiredLib=1;var d=lib&&lib.__extends||function(){var X=function(Z,oe){return X=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ie,ee){ie.__proto__=ee}||function(ie,ee){for(var re in ee)Object.prototype.hasOwnProperty.call(ee,re)&&(ie[re]=ee[re])},X(Z,oe)};return function(Z,oe){if(typeof oe!="function"&&oe!==null)throw new TypeError("Class extends value "+String(oe)+" is not a constructor or null");X(Z,oe);function ie(){this.constructor=Z}Z.prototype=oe===null?Object.create(oe):(ie.prototype=oe.prototype,new ie)}}(),m=lib&&lib.__assign||function(){return m=Object.assign||function(X){for(var Z,oe=1,ie=arguments.length;oe<ie;oe++){Z=arguments[oe];for(var ee in Z)Object.prototype.hasOwnProperty.call(Z,ee)&&(X[ee]=Z[ee])}return X},m.apply(this,arguments)},g=lib&&lib.__createBinding||(Object.create?function(X,Z,oe,ie){ie===void 0&&(ie=oe);var ee=Object.getOwnPropertyDescriptor(Z,oe);(!ee||("get"in ee?!Z.__esModule:ee.writable||ee.configurable))&&(ee={enumerable:!0,get:function(){return Z[oe]}}),Object.defineProperty(X,ie,ee)}:function(X,Z,oe,ie){ie===void 0&&(ie=oe),X[ie]=Z[oe]}),x=lib&&lib.__setModuleDefault||(Object.create?function(X,Z){Object.defineProperty(X,"default",{enumerable:!0,value:Z})}:function(X,Z){X.default=Z}),b=lib&&lib.__importStar||function(X){if(X&&X.__esModule)return X;var Z={};if(X!=null)for(var oe in X)oe!=="default"&&Object.prototype.hasOwnProperty.call(X,oe)&&g(Z,X,oe);return x(Z,X),Z},E=lib&&lib.__rest||function(X,Z){var oe={};for(var ie in X)Object.prototype.hasOwnProperty.call(X,ie)&&Z.indexOf(ie)<0&&(oe[ie]=X[ie]);if(X!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ee=0,ie=Object.getOwnPropertySymbols(X);ee<ie.length;ee++)Z.indexOf(ie[ee])<0&&Object.prototype.propertyIsEnumerable.call(X,ie[ee])&&(oe[ie[ee]]=X[ie[ee]]);return oe};Object.defineProperty(lib,"__esModule",{value:!0});var v=b(requireReact()),C=13,S=9,T=8,$=89,k=90,I=77,D=57,A=219,L=222,N=192,Y=27,j=100,B=3e3,z=typeof window!="undefined"&&"navigator"in window&&/Win/i.test(navigator.platform),V=typeof window!="undefined"&&"navigator"in window&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),U="npm__react-simple-code-editor__textarea",W=`
@@ -801,10 +801,10 @@ Go to destination folder to paste.`),"info")}const{t:t$7,useI18N:useI18N$6}=i18n
801
801
  * @public
802
802
  */var g=function(x){var b=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,E=0,v={},C={manual:x.Prism&&x.Prism.manual,disableWorkerMessageHandler:x.Prism&&x.Prism.disableWorkerMessageHandler,util:{encode:function j(B){return B instanceof S?new S(B.type,j(B.content),B.alias):Array.isArray(B)?B.map(j):B.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(j){return Object.prototype.toString.call(j).slice(8,-1)},objId:function(j){return j.__id||Object.defineProperty(j,"__id",{value:++E}),j.__id},clone:function j(B,z){z=z||{};var V,U;switch(C.util.type(B)){case"Object":if(U=C.util.objId(B),z[U])return z[U];V={},z[U]=V;for(var W in B)B.hasOwnProperty(W)&&(V[W]=j(B[W],z));return V;case"Array":return U=C.util.objId(B),z[U]?z[U]:(V=[],z[U]=V,B.forEach(function(J,Q){V[Q]=j(J,z)}),V);default:return B}},getLanguage:function(j){for(;j;){var B=b.exec(j.className);if(B)return B[1].toLowerCase();j=j.parentElement}return"none"},setLanguage:function(j,B){j.className=j.className.replace(RegExp(b,"gi"),""),j.classList.add("language-"+B)},currentScript:function(){if(typeof document=="undefined")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(V){var j=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(V.stack)||[])[1];if(j){var B=document.getElementsByTagName("script");for(var z in B)if(B[z].src==j)return B[z]}return null}},isActive:function(j,B,z){for(var V="no-"+B;j;){var U=j.classList;if(U.contains(B))return!0;if(U.contains(V))return!1;j=j.parentElement}return!!z}},languages:{plain:v,plaintext:v,text:v,txt:v,extend:function(j,B){var z=C.util.clone(C.languages[j]);for(var V in B)z[V]=B[V];return z},insertBefore:function(j,B,z,V){V=V||C.languages;var U=V[j],W={};for(var J in U)if(U.hasOwnProperty(J)){if(J==B)for(var Q in z)z.hasOwnProperty(Q)&&(W[Q]=z[Q]);z.hasOwnProperty(J)||(W[J]=U[J])}var X=V[j];return V[j]=W,C.languages.DFS(C.languages,function(Z,oe){oe===X&&Z!=j&&(this[Z]=W)}),W},DFS:function j(B,z,V,U){U=U||{};var W=C.util.objId;for(var J in B)if(B.hasOwnProperty(J)){z.call(B,J,B[J],V||J);var Q=B[J],X=C.util.type(Q);X==="Object"&&!U[W(Q)]?(U[W(Q)]=!0,j(Q,z,null,U)):X==="Array"&&!U[W(Q)]&&(U[W(Q)]=!0,j(Q,z,J,U))}}},plugins:{},highlightAll:function(j,B){C.highlightAllUnder(document,j,B)},highlightAllUnder:function(j,B,z){var V={callback:z,container:j,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};C.hooks.run("before-highlightall",V),V.elements=Array.prototype.slice.apply(V.container.querySelectorAll(V.selector)),C.hooks.run("before-all-elements-highlight",V);for(var U=0,W;W=V.elements[U++];)C.highlightElement(W,B===!0,V.callback)},highlightElement:function(j,B,z){var V=C.util.getLanguage(j),U=C.languages[V];C.util.setLanguage(j,V);var W=j.parentElement;W&&W.nodeName.toLowerCase()==="pre"&&C.util.setLanguage(W,V);var J=j.textContent,Q={element:j,language:V,grammar:U,code:J};function X(oe){Q.highlightedCode=oe,C.hooks.run("before-insert",Q),Q.element.innerHTML=Q.highlightedCode,C.hooks.run("after-highlight",Q),C.hooks.run("complete",Q),z&&z.call(Q.element)}if(C.hooks.run("before-sanity-check",Q),W=Q.element.parentElement,W&&W.nodeName.toLowerCase()==="pre"&&!W.hasAttribute("tabindex")&&W.setAttribute("tabindex","0"),!Q.code){C.hooks.run("complete",Q),z&&z.call(Q.element);return}if(C.hooks.run("before-highlight",Q),!Q.grammar){X(C.util.encode(Q.code));return}if(B&&x.Worker){var Z=new Worker(C.filename);Z.onmessage=function(oe){X(oe.data)},Z.postMessage(JSON.stringify({language:Q.language,code:Q.code,immediateClose:!0}))}else X(C.highlight(Q.code,Q.grammar,Q.language))},highlight:function(j,B,z){var V={code:j,grammar:B,language:z};if(C.hooks.run("before-tokenize",V),!V.grammar)throw new Error('The language "'+V.language+'" has no grammar.');return V.tokens=C.tokenize(V.code,V.grammar),C.hooks.run("after-tokenize",V),S.stringify(C.util.encode(V.tokens),V.language)},tokenize:function(j,B){var z=B.rest;if(z){for(var V in z)B[V]=z[V];delete B.rest}var U=new k;return I(U,U.head,j),$(j,U,B,U.head,0),A(U)},hooks:{all:{},add:function(j,B){var z=C.hooks.all;z[j]=z[j]||[],z[j].push(B)},run:function(j,B){var z=C.hooks.all[j];if(!(!z||!z.length))for(var V=0,U;U=z[V++];)U(B)}},Token:S};x.Prism=C;function S(j,B,z,V){this.type=j,this.content=B,this.alias=z,this.length=(V||"").length|0}S.stringify=function j(B,z){if(typeof B=="string")return B;if(Array.isArray(B)){var V="";return B.forEach(function(X){V+=j(X,z)}),V}var U={type:B.type,content:j(B.content,z),tag:"span",classes:["token",B.type],attributes:{},language:z},W=B.alias;W&&(Array.isArray(W)?Array.prototype.push.apply(U.classes,W):U.classes.push(W)),C.hooks.run("wrap",U);var J="";for(var Q in U.attributes)J+=" "+Q+'="'+(U.attributes[Q]||"").replace(/"/g,"&quot;")+'"';return"<"+U.tag+' class="'+U.classes.join(" ")+'"'+J+">"+U.content+"</"+U.tag+">"};function T(j,B,z,V){j.lastIndex=B;var U=j.exec(z);if(U&&V&&U[1]){var W=U[1].length;U.index+=W,U[0]=U[0].slice(W)}return U}function $(j,B,z,V,U,W){for(var J in z)if(!(!z.hasOwnProperty(J)||!z[J])){var Q=z[J];Q=Array.isArray(Q)?Q:[Q];for(var X=0;X<Q.length;++X){if(W&&W.cause==J+","+X)return;var Z=Q[X],oe=Z.inside,ie=!!Z.lookbehind,ee=!!Z.greedy,re=Z.alias;if(ee&&!Z.pattern.global){var ce=Z.pattern.toString().match(/[imsuy]*$/)[0];Z.pattern=RegExp(Z.pattern.source,ce+"g")}for(var fe=Z.pattern||Z,ae=V.next,ue=U;ae!==B.tail&&!(W&&ue>=W.reach);ue+=ae.value.length,ae=ae.next){var pe=ae.value;if(B.length>j.length)return;if(!(pe instanceof S)){var ge=1,ye;if(ee){if(ye=T(fe,ue,j,ie),!ye||ye.index>=j.length)break;var Pe=ye.index,Ce=ye.index+ye[0].length,Ee=ue;for(Ee+=ae.value.length;Pe>=Ee;)ae=ae.next,Ee+=ae.value.length;if(Ee-=ae.value.length,ue=Ee,ae.value instanceof S)continue;for(var ve=ae;ve!==B.tail&&(Ee<Ce||typeof ve.value=="string");ve=ve.next)ge++,Ee+=ve.value.length;ge--,pe=j.slice(ue,Ee),ye.index-=ue}else if(ye=T(fe,0,pe,ie),!ye)continue;var Pe=ye.index,Me=ye[0],Re=pe.slice(0,Pe),De=pe.slice(Pe+Me.length),Ye=ue+pe.length;W&&Ye>W.reach&&(W.reach=Ye);var Le=ae.prev;Re&&(Le=I(B,Le,Re),ue+=Re.length),D(B,Le,ge);var Ge=new S(J,oe?C.tokenize(Me,oe):Me,re,Me);if(ae=I(B,Le,Ge),De&&I(B,ae,De),ge>1){var Ie={cause:J+","+X,reach:Ye};$(j,B,z,ae.prev,ue,Ie),W&&Ie.reach>W.reach&&(W.reach=Ie.reach)}}}}}}function k(){var j={value:null,prev:null,next:null},B={value:null,prev:j,next:null};j.next=B,this.head=j,this.tail=B,this.length=0}function I(j,B,z){var V=B.next,U={value:z,prev:B,next:V};return B.next=U,V.prev=U,j.length++,U}function D(j,B,z){for(var V=B.next,U=0;U<z&&V!==j.tail;U++)V=V.next;B.next=V,V.prev=B,j.length-=U}function A(j){for(var B=[],z=j.head.next;z!==j.tail;)B.push(z.value),z=z.next;return B}if(!x.document)return x.addEventListener&&(C.disableWorkerMessageHandler||x.addEventListener("message",function(j){var B=JSON.parse(j.data),z=B.language,V=B.code,U=B.immediateClose;x.postMessage(C.highlight(V,C.languages[z],z)),U&&x.close()},!1)),C;var L=C.util.currentScript();L&&(C.filename=L.src,L.hasAttribute("data-manual")&&(C.manual=!0));function N(){C.manual||C.highlightAll()}if(!C.manual){var Y=document.readyState;Y==="loading"||Y==="interactive"&&L&&L.defer?document.addEventListener("DOMContentLoaded",N):window.requestAnimationFrame?window.requestAnimationFrame(N):window.setTimeout(N,16)}return C}(m);d.exports&&(d.exports=g),typeof commonjsGlobal!="undefined"&&(commonjsGlobal.Prism=g),g.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},g.languages.markup.tag.inside["attr-value"].inside.entity=g.languages.markup.entity,g.languages.markup.doctype.inside["internal-subset"].inside=g.languages.markup,g.hooks.add("wrap",function(x){x.type==="entity"&&(x.attributes.title=x.content.replace(/&amp;/,"&"))}),Object.defineProperty(g.languages.markup.tag,"addInlined",{value:function(b,E){var v={};v["language-"+E]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:g.languages[E]},v.cdata=/^<!\[CDATA\[|\]\]>$/i;var C={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:v}};C["language-"+E]={pattern:/[\s\S]+/,inside:g.languages[E]};var S={};S[b]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return b}),"i"),lookbehind:!0,greedy:!0,inside:C},g.languages.insertBefore("markup","cdata",S)}}),Object.defineProperty(g.languages.markup.tag,"addAttribute",{value:function(x,b){g.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+x+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[b,"language-"+b],inside:g.languages[b]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),g.languages.html=g.languages.markup,g.languages.mathml=g.languages.markup,g.languages.svg=g.languages.markup,g.languages.xml=g.languages.extend("markup",{}),g.languages.ssml=g.languages.xml,g.languages.atom=g.languages.xml,g.languages.rss=g.languages.xml,function(x){var b=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;x.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+b.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+b.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+b.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+b.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:b,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},x.languages.css.atrule.inside.rest=x.languages.css;var E=x.languages.markup;E&&(E.tag.addInlined("style","css"),E.tag.addAttribute("style","css"))}(g),g.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},g.languages.javascript=g.languages.extend("clike",{"class-name":[g.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),g.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,g.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:g.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:g.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:g.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:g.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:g.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),g.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:g.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),g.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),g.languages.markup&&(g.languages.markup.tag.addInlined("script","javascript"),g.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),g.languages.js=g.languages.javascript,function(){if(typeof g=="undefined"||typeof document=="undefined")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var x="Loading…",b=function(L,N){return"✖ Error "+L+" while fetching file: "+N},E="✖ Error: File does not exist or is empty",v={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},C="data-src-status",S="loading",T="loaded",$="failed",k="pre[data-src]:not(["+C+'="'+T+'"]):not(['+C+'="'+S+'"])';function I(L,N,Y){var j=new XMLHttpRequest;j.open("GET",L,!0),j.onreadystatechange=function(){j.readyState==4&&(j.status<400&&j.responseText?N(j.responseText):j.status>=400?Y(b(j.status,j.statusText)):Y(E))},j.send(null)}function D(L){var N=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(L||"");if(N){var Y=Number(N[1]),j=N[2],B=N[3];return j?B?[Y,Number(B)]:[Y,void 0]:[Y,Y]}}g.hooks.add("before-highlightall",function(L){L.selector+=", "+k}),g.hooks.add("before-sanity-check",function(L){var N=L.element;if(N.matches(k)){L.code="",N.setAttribute(C,S);var Y=N.appendChild(document.createElement("CODE"));Y.textContent=x;var j=N.getAttribute("data-src"),B=L.language;if(B==="none"){var z=(/\.(\w+)$/.exec(j)||[,"none"])[1];B=v[z]||z}g.util.setLanguage(Y,B),g.util.setLanguage(N,B);var V=g.plugins.autoloader;V&&V.loadLanguages(B),I(j,function(U){N.setAttribute(C,T);var W=D(N.getAttribute("data-range"));if(W){var J=U.split(/\r\n?|\n/g),Q=W[0],X=W[1]==null?J.length:W[1];Q<0&&(Q+=J.length),Q=Math.max(0,Math.min(Q-1,J.length)),X<0&&(X+=J.length),X=Math.max(0,Math.min(X,J.length)),U=J.slice(Q,X).join(`
803
803
  `),N.hasAttribute("data-start")||N.setAttribute("data-start",String(Q+1))}Y.textContent=U,g.highlightElement(Y)},function(U){N.setAttribute(C,$),Y.textContent=U})}}),g.plugins.fileHighlight={highlight:function(N){for(var Y=(N||document).querySelectorAll(k),j=0,B;B=Y[j++];)g.highlightElement(B)}};var A=!1;g.fileHighlight=function(){A||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),A=!0),g.plugins.fileHighlight.highlight.apply(this,arguments)}}()}(prism)),prism.exports}var prismExports=requirePrism();Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity;Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",function(d){d.type==="entity"&&(d.attributes.title=d.content.replace(/&amp;/,"&"))});Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(m,g){var x={};x["language-"+g]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[g]},x.cdata=/^<!\[CDATA\[|\]\]>$/i;var b={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:x}};b["language-"+g]={pattern:/[\s\S]+/,inside:Prism.languages[g]};var E={};E[m]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return m}),"i"),lookbehind:!0,greedy:!0,inside:b},Prism.languages.insertBefore("markup","cdata",E)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(d,m){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+d+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[m,"language-"+m],inside:Prism.languages[m]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml;Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(d){var m=/[*&][^\s[\]{},]+/,g=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,x="(?:"+g.source+"(?:[ ]+"+m.source+")?|"+m.source+"(?:[ ]+"+g.source+")?)",b=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),E=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function v(C,S){S=(S||"").replace(/m/g,"")+"m";var T=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return x}).replace(/<<value>>/g,function(){return C});return RegExp(T,S)}d.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return x})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return x}).replace(/<<key>>/g,function(){return"(?:"+b+"|"+E+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:v(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:v(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:v(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:v(E),lookbehind:!0,greedy:!0},number:{pattern:v(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:g,important:m,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},d.languages.yml=d.languages.yaml})(Prism);(function(d){var m=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;d.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+m.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+m.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+m.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+m.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:m,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},d.languages.css.atrule.inside.rest=d.languages.css;var g=d.languages.markup;g&&(g.tag.addInlined("style","css"),g.tag.addAttribute("style","css"))})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;const TextEditor=reactExports.forwardRef((b,x)=>{var E=b,{style:d,lang:m="plain"}=E,g=zt(E,["style","lang"]);return reactExports.createElement(Editor,Ae({highlight:v=>prismExports.highlight(v,prismExports.languages[m],m),padding:10,tabSize:4,insertSpaces:!0,ignoreTabKey:!1,style:Ae({fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",fontSize:"1em",flex:1,background:"#8883",borderBottom:"1px solid #bbb"},d)},g))});function TextEditorField(v){var C=v,{onChange:d,value:m,onBlur:g,setApi:x,lang:b}=C,E=zt(C,["onChange","value","onBlur","setApi","lang"]);x==null||x({getError(){return b==="js"&&m?try_(()=>new Function(m)&&null,$=>$.message):!1}});const[S,T]=reactExports.useState(m||"");return reactExports.createElement(TextField,$t(Ae({multiline:!0,fullWidth:!0,value:S,InputProps:{inputComponent:TextEditorAsInput},inputProps:{lang:b},onChange($){T($.target.value)},onBlur($){g==null||g($),d($.target.value,{was:m,event:$})}},E),{onKeyDown($){var L;if((L=E.onKeyDown)==null||L.call(E,$),isCtrlKey($)==="Enter")return d(S,{was:m,event:$});if(!$.altKey||$.key!=="Tab")return;$.preventDefault();const k=document.querySelectorAll(focusableSelector),I=_.indexOf(k,$.target),D=k.length,A=(I+($.shiftKey?-1:1)+D)%D;k[A].focus(),console.debug(k[A])}}))}const TextEditorAsInput=reactExports.forwardRef((x,g)=>{var b=x,{onChange:d}=b,m=zt(b,["onChange"]);return reactExports.createElement(Box,{sx:{width:"100%",textarea:{outline:0}}},reactExports.createElement(TextEditor,$t(Ae({ref:g,padding:2,style:{background:"initial",borderBottom:"initial"}},m),{onValueChange:E=>d({target:{value:E}}),onKeyDown(E){isCtrlKey(E)==="Enter"&&E.preventDefault()}})))}),DefaultConfiguration={fieldSeparator:",",lineSeparator:`
804
- `,quote:'"'},CSV_INITAL_STATE={field:0,fieldOffset:0,line:0,lineOffset:0,quoted:!1,appendCell:!1,appendField:!1,appendRow:!1};class ParseError extends Error{constructor(m,g){super(`Invalid CSV at ${m}:${g}`)}}class Parser{constructor(m=DefaultConfiguration){Xo(this,"_rows",[]);Xo(this,"_row",[]);Xo(this,"_cell","");Xo(this,"_options",DefaultConfiguration);Xo(this,"_state",Ae({},CSV_INITAL_STATE));Xo(this,"_index",0);Xo(this,"_current","");Xo(this,"_previous","");Xo(this,"_quoteState",Ae({},CSV_INITAL_STATE));this._options=Object.assign({},DefaultConfiguration,m)}parse(m){for(this.reset(),this._index=0;this._index<m.length;this._index++)this._state.appendCell=!0,this._previous=this._current,this._current=m[this._index],this.handleNext();if(this._row.length>0&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this.addRow(this._row,this._rows,this._state)),this._state.quoted)throw new ParseError(this._quoteState.line,this._quoteState.lineOffset);return this.makeImmutable(),this._rows}get rows(){return this._rows}get json(){if(this.rows.length>0){const m=this.rows[0].filter(g=>typeof g=="string");return Object.freeze(this.rows.filter((g,x)=>g&&x>0).map(g=>{const x={};return m.forEach((b,E)=>{x[b]=g[E]}),Object.freeze(x)}))}return Object.freeze([])}handleNext(){this.handleQuote()||this.handleFieldSeparator()||this.handleLineSeparator(),this.processState()}handleQuote(){return this._current===this._options.quote?(this._quoteState=Ae({},this._state),this._previous==="\\"?this.handleQuoteEscaped():this.handleQuoteNotEscaped(),!0):!1}handleQuoteEscaped(){this._cell=this._cell.slice(0,Math.max(0,this._cell.length-1))}handleQuoteNotEscaped(){if(this._cell.length===0||this._state.quoted)this._state.quoted=!this._state.quoted;else throw new ParseError(this._state.line,this._state.lineOffset);this._state.appendCell=!1}handleFieldSeparator(){return this._current===this._options.fieldSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0),!0):!1}handleLineSeparator(){return this._current===this._options.lineSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0,this._state.appendRow=!0),!0):!1}processState(){this._state.appendCell&&(this._cell+=this._current),this._state.appendField&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this._cell=""),this._state.appendRow&&(this.addRow(this._row,this._rows,this._state),this._row=[]),this._state.lineOffset++,this._state.fieldOffset++}fieldValue(m){return m}addField(m,g,x){g.push(m),x.field++,x.fieldOffset=-1,x.appendField=!1}addRow(m,g,x){g.push(m),x.field=0,x.line++,x.lineOffset=-1,x.appendRow=!1}makeImmutable(){this.rows.forEach(m=>{m.forEach(g=>Object.freeze(g)),Object.freeze(m)}),Object.freeze(this._rows)}reset(){this._rows=[],this._row=[],this._cell="",this._state=Ae({},CSV_INITAL_STATE),this._index=0,this._current="",this._previous="",this._quoteState=Ae({},CSV_INITAL_STATE)}}function importAccountsCsv(d){return xt(this,null,function*(){selectFiles(m=>xt(this,null,function*(){const g=m==null?void 0:m[0];if(!g)return;const x=yield readFile(g);if(!x)return;const E=new Parser().parse(x.trim()),v={comp:NumberField,min:1,max:9,xs:6,typing:!0},C={skipFirstLines:0,usernameColumn:1,passwordColumn:2,groupColumn:3,redirectColumn:4,overwriteExistingAccounts:!1},S=yield formDialog({title:"Import accounts from CSV",dialogProps:{maxWidth:"sm"},values:C,form:k=>{const I=E[k.skipFirstLines||0],D=$(I,Ae(Ae({},C),k));return{save:{startIcon:reactExports.createElement(Upload),children:"Go"},fields:[reactExports.createElement(Box,{p:1},"Total lines:",E.length),{k:"skipFirstLines",comp:NumberField,max:E.length-1,typing:!0,md:6,helperText:reactExports.createElement(reactExports.Fragment,{},"First line: ",reactExports.createElement("code",{},I.join(", ")))},{k:"overwriteExistingAccounts",comp:BoolField,md:6},$t(Ae({k:"usernameColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First username: ",D.u)}),$t(Ae({k:"passwordColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First password: ",D.p)}),$t(Ae({k:"groupColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First group: ",D.g)}),$t(Ae({k:"redirectColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First redirect: ",D.r)})]}}});if(!S)return;const{close:T}=newDialog({title:"Importing...",Content(){const[k,I]=reactExports.useState(0),[D,A]=reactExports.useState();return reactExports.useEffect(()=>{let L=!1;return setTimeout(()=>xt(this,null,function*(){var z;if(L)return;let N=0,Y=0,j=S.skipFirstLines;const B=E.length-j;try{let V=0;for(const U of E){if(L)return;if(j){j--;continue}const W=$(U,S);A(W),I(V++/B),yield apiCall("add_account",{username:W.u,belongs:(z=W.g)==null?void 0:z.split(","),redirect:W.r,overwrite:S.overwriteExistingAccounts}).then(()=>{if(W.p)return apiNewPassword(W.u,W.p)},J=>{if(J.code===HTTP_CONFLICT)return Y++;N++})}}finally{T();const V=B-N-Y,U="Results: "+[prefix("",N," failed"),prefix("",V," succeeded"),prefix("",Y," skipped because already present")].filter(Boolean).join(", ");alertDialog(U,!V&&N?"error":N||Y?"warning":"success"),d==null||d()}})),()=>{L=!0}},[]),reactExports.createElement(Box,{display:"flex",gap:2,alignItems:"center"},reactExports.createElement(IconProgress,{icon:Group,progress:k}),D==null?void 0:D.u)}});function $(k,I){return{u:k[I.usernameColumn-1],p:k[I.passwordColumn-1],g:k[I.groupColumn-1],r:k[I.redirectColumn-1]}}}),{multiple:!1,accept:".csv"})})}function AccountsPage(){const{username:d,accountsAsTree:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_accounts"),[E,v]=reactExports.useState([]),C=Array.isArray(E);reactExports.useEffect(()=>{Array.isArray(g==null?void 0:g.list)&&C&&v(E.filter(B=>g.list.find(z=>(z==null?void 0:z.username)===B)))},[g]);const S=reactExports.useMemo(()=>g&&_.sortBy(g.list,[B=>!B.isGroup,B=>!B.adminActualAccess,"username"]),[g]),T=C&&_.find(S,{username:E[0]}),$="md",k=useBreakpoint($),I=!(E.length>0)||!S?null:C&&E.length>1?reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Typography,{variant:"h6"},E.length+" selected"),reactExports.createElement(Btn,{onClick:j,icon:Delete},"Remove")),reactExports.createElement(List,{},E.map(B=>reactExports.createElement(ListItem,{key:B},reactExports.createElement(ListItemText,{},B))))):with_(T||N(),B=>reactExports.createElement(AccountForm,{account:B,groups:S.filter(z=>z.isGroup).map(z=>z.username),addToBar:k&&[reactExports.createElement(Box,{flex:1}),account2icon(B,{fontSize:"large",sx:{p:1}}),reactExports.createElement(IconBtn,{icon:Close,title:"Close",onClick:Y})],reload:x,done(z){v(k?[z]:[]),x(),toast("Account saved","success")}}));reactExports.useEffect(()=>{if(k||!I||!E.length)return;const{close:B}=newDialog({title:_.isString(E)?_.startCase(E):E.length>1?"Multiple selection":T?(T.isGroup?"Group: ":"User: ")+T.username:"?",Content:()=>I,onClose:Y});return()=>void B()},[k,E,T]);const D={height:"100%",display:"flex",flexDirection:"column",overflow:"auto"},[A,L]=useToggleButton("Show tree","Show list",()=>({icon:AccountTree}),m);return state.accountsAsTree=A,b||reactExports.createElement(Grid,{container:!0,rowSpacing:1,columnSpacing:2,top:0,flex:"1 1 auto",height:0},reactExports.createElement(Grid,Ae({item:!0,xs:12,[$]:5,lg:4,xl:5},D),reactExports.createElement(Box,{display:"flex",flexWrap:"wrap",gap:2,mb:2,boxShadow:B=>`0px -8px 4px 10px ${B.palette.background.paper}`,sx:{position:"sticky",top:0,zIndex:2,backgroundColor:"background.paper",width:"fit-content"}},reactExports.createElement(MenuButton,{variant:"contained",startIcon:reactExports.createElement(PersonAdd),items:[{children:"user",onClick:()=>v("new-user")},{children:"group",onClick:()=>v("new-group")},{children:"from CSV",onClick:()=>importAccountsCsv(x)}]},"Add"),reloadBtn(x),L,(S==null?void 0:S.length)>0&&reactExports.createElement(Typography,{p:1},`${S.length} account(s)`)),!(S!=null&&S.length)&&reactExports.createElement(Alert,{severity:"info"},md`To access administration <u>remotely</u> you will need to create a user account with admin permission`),reactExports.createElement(TreeView,{multiSelect:!0,sx:{pr:4,pb:2,minWidth:"15em"},selected:C?E:[],defaultCollapseIcon:reactExports.createElement(ExpandMore),defaultExpandIcon:reactExports.createElement(ChevronRight),onNodeSelect(B,z){var V,U;(U=(V=B.target)==null?void 0:V.closest)!=null&&U.call(V,".MuiTreeItem-iconContainer")||v(z)}},S&&function B(z){return z.map(V=>{var U,W;return reactExports.createElement(TreeItem,{key:V.username,nodeId:V.username,label:reactExports.createElement(Box,{sx:{display:"flex",flexWrap:"wrap",padding:".2em 0",columnGap:".5em",alignItems:"center"}},account2icon(V),(V.disabled||V.canLogin===!1)&&iconTooltip(DoNotDisturb,V.disabled?"Disabled":"Disabled by its groups",V.disabled?void 0:{color:"text.secondary"}),(V.expire||V.days_to_live)&&reactExports.createElement(Schedule),V.adminActualAccess&&iconTooltip(MilitaryTech,"Can login into Admin"),V.username,!!((U=V.belongs)!=null&&U.length)&&reactExports.createElement(Box,{sx:{color:"text.secondary",fontSize:"small"}},"(",(W=V.belongs)==null?void 0:W.join(", "),")"))},A&&B(S.filter(J=>{var Q;return(Q=V.directMembers)==null?void 0:Q.includes(J.username)})))})}(A?S.filter(B=>!S.some(z=>{var V;return(V=z.members)==null?void 0:V.includes(B.username)})):S))),k&&I&&reactExports.createElement(Grid,Ae({item:!0,[$]:!0,maxWidth:"100%"},D),reactExports.createElement(Card,{sx:{overflow:"initial"}},reactExports.createElement(CardContent,{},I))));function N(){return{username:"",hasPassword:E==="new-user",adminActualAccess:!1,invalidated:void 0,canLogin:!0,canChangePassword:!0,isGroup:E==="new-group",members:[],directMembers:[]}}function Y(){v([])}function j(){return xt(this,null,function*(){const B=_.without(E,d);if(E.length>B.length&&!(yield confirmDialog("You cannot ask to delete the account you are using. Continue with the rest?")))return;if(!B.length)return alertDialog("Nothing to delete","info");if(!(yield confirmDialog(`Delete ${B.length} item(s)?`)))return;const z=[];for(const V of B)(yield apiCall("del_account",{username:V}).then(()=>1,()=>0))||z.push(V);if(x(),z.length)return alertDialog("Following elements couldn't be deleted: "+z.join(", "),"error")})}}function account2icon(d,m={}){return reactExports.createElement(d.isGroup?Group:Person,m)}const ACCEPT_LINK="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept";function FileForm({file:d,addToBar:m,statusApi:g,accounts:x,saved:b,isSideBreakpoint:E}){var pe,ge,Ee;const ue=d,{parent:v,children:C,isRoot:S,byMasks:T}=ue,$=zt(ue,["parent","children","isRoot","byMasks"]),[k,I]=reactExports.useState($);reactExports.useEffect(()=>{I(Object.assign(objSameKeys(defaultPerms,()=>null),$))},[d]);const D=reactExports.useMemo(()=>{let ve=d.parent;for(;ve;){if(ve.default!=null)return ve.default;ve=ve.parent}},[d]),{source:A}=d,L=d.type==="folder",N=!d.type&&A&&d.size<0,Y=k.url!==void 0,j=A!==void 0,B=j&&L,z=useBreakpoint("xl"),V=!Y&&(z||j),U=!Y&&z||j&&!B,W=d.accept>""||L&&((ge=d.can_upload)!=null?ge:(pe=d.inherited)==null?void 0:pe.can_upload),J=L,Q=useDialogBarColors(),{movingFile:X}=useSnapState(),Z=!j&&reactExports.createElement(Box,{color:"warning.main",component:"span"},"Works only on folders with disk source! "),oe={can_read:!Y,can_see:!0,can_archive:!Y,can_list:L,can_upload:L,can_delete:L},ie=!k.icon,ee=k.icon&&!k.icon.includes("."),re=A&&basename(A),ce=re===k.name;return reactExports.createElement(Form,{values:k,set(ve,Pe){I(Me=>(Pe==="source"&&ce&&(Me.name=basename(ve)),$t(Ae({},Me),{[Pe]:ve})))},barSx:Ae({gap:2,width:"100%"},Q),stickyBar:!0,addToBar:[L&&!E&&reactExports.createElement(AddVfsBtn,{variant:"outlined"},"Add"),reactExports.createElement(IconBtn,{icon:ContentCut,disabled:S||X===d.id,title:"Cut (you can also use drag & drop to move items)","aria-label":"Cut",onClick(){state.movingFile=d.id,alertDialog(reactExports.createElement(Box,{},"Now that this is marked for moving, click on the destination folder, and then the paste button ",reactExports.createElement(ContentPaste)),"info")}}),X&&reactExports.createElement(IconBtn,{icon:ContentPaste,disabled:d.type!=="folder"||d.id.startsWith(X)||d.id===X.replace(/[^/]+\/?$/,""),title:X,onClick(){return xt(this,null,function*(){moveVfs(X,d.id)&&(state.movingFile="")})}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Delete",confirm:`Delete ${d.name}?`,disabled:S,onClick(){deleteVfs([d.id]),b()}}),...wantArray(m)],onError:alertDialog,save:$t(Ae({},propsForModifiedValues(isModifiedConfig(k,$))),{children:"Apply",startIcon:reactExports.createElement(Check),onClick(){return xt(this,null,function*(){const ve=state.selectedFiles[0]||id2vfsNode.get(k.id);if(!ve)throw Error("Selected node not found");const Pe=_.omit(k,["birthtime","mtime","size","id"]),Me=ve.id;prepareVfsUndo(),Object.assign(ve,Pe),Pe.name!==void 0&&reindexVfs({node:ve,clearMap:!1,select:[ve]}),ve.id!==Me&&I(Re=>$t(Ae({},Re),{id:ve.id})),markVfsModified(),b()})}}),fields:[S?reactExports.createElement(Alert,{severity:"info"},"This is the Home folder, the root of your shared files. Options set here will be applied to all files."):L&&j&&reactExports.createElement(Alert,{severity:"info"},'To set permissions on individual items in folder, add them by clicking Add button, and then "from disk"'),$t(Ae({k:"name",required:!0,xl:!0,helperText:j&&"You can decide a name that's different from the one on your disk"},S&&{disabled:!0,value:"Home folder"}),{end:re&&!ce&&reactExports.createElement(Btn,{icon:RestartAlt,title:"Reset to same name on disk",onClick:()=>I($t(Ae({},k),{name:re}))})}),Y?{k:"url",label:"URL",lg:12,xl:8,required:!0}:{k:"source",label:"Disk source",xl:!0,comp:FileField,files:N||!L,folders:N||L,placeholder:"none",helperText:k.source?L?"Files from this path on disk will be listed, but you can add more":void 0:"If you enter a path here, its content will be listed. Leaving this empty, makes this folder fully virtual."},{k:"id",comp:LinkField,statusApi:g,xs:12},{k:"order",comp:NumberField,min:-1e5,max:1e5,label:"Priority (order in the frontend)",placeholder:"default",sm:4,helperText:wikiLink("Virtual-file-system#order","To force position")},{k:"iconType",comp:SelectField,options:["default","file","embedded"],value:k.icon?ee?"embedded":"file":"default",fromField:ve=>I($t(Ae({},k),{icon:ve==="default"?"":ve==="file"?"select.a.file":Object.keys(SYS_ICONS)[0]})),xs:!0,sm:ie?8:!0},!ie&&Ae({k:"icon",xs:8,sm:4},ee?{comp:SelectField,options:_.map(_.uniqBy(_.map(SYS_ICONS,(ve,Pe)=>{var Me;return[Pe,ve[0],(Me=ve[1])!=null?Me:Pe]}),ve=>ve[2]),([ve,Pe])=>({value:ve,label:reactExports.createElement(Flex,{gap:".5em"},hIcon(ve),hIcon(Pe)," ",ve)})),helperText:"Second icon you see is the fallback"}:{label:"Icon file",placeholder:"default",comp:FileField,fileMask:IMAGE_FILEMASK}),fe("can_read","Who can see but not download will be asked to log in"),fe("can_archive","Should this be included when user downloads as ZIP"),fe("can_list","Permission to request the list of a folder. The list will include only things you can see.",{contentText:"subfolders"}),fe("can_delete",[Z,"Those who can delete can also rename and cut/move"]),fe("can_upload",Z,{contentText:"subfolders"}),fe("can_see",["See this item in the list. ",wikiLink("Permissions","More help.")]),Y&&{k:"target",comp:BoolField,sm:!0,label:"Open in new browser",fromField:ve=>ve?"_blank":null,toField:ve=>ve>""},U&&{k:"size",comp:DisplayField,sm:6,lg:4,toField:formatBytes},V&&{k:"birthtime",comp:DisplayField,sm:6,lg:U&&4,label:"Created",toField:formatTimestamp$1},V&&{k:"mtime",comp:DisplayField,sm:6,lg:U&&4,label:"Modified",toField:formatTimestamp$1},W&&{k:"accept",label:"Accept on upload",placeholder:"anything",xl:J?4:12,helperText:reactExports.createElement("span",{},"Not enforced, just hinting the browser. ",reactExports.createElement(Link$3,{href:ACCEPT_LINK,target:"_blank"},"Example: .zip"))},J&&{k:"default",comp:BoolField,xl:W?8:12,label:"Serve as web-page if index.html is found"+(D&&k.default==null?" (inherited)":""),value:(Ee=k.default)!=null?Ee:D,toField:Boolean,fromField:ve=>ve&&!D?"index.html":ve?null:!1,helperText:md("...instead of showing list of files")},{k:"comment",multiline:!0,xl:!0},L&&{k:"masks",multiline:!0,xl:6,toField:YAML.stringify,fromField:ve=>ve?YAML.parse(ve):void 0,comp:TextEditorField,lang:"yaml",helperText:["Special field, leave empty unless you know what you are doing. YAML syntax. ",wikiLink("Masks-field","(examples)")]}]});function fe(ve,Pe,Me={}){var Le,Ge,Ie,Be,He;if(!oe[ve])return null;const Re=[ve,...onlyTruthy(_.map(oe,(Ve,rt)=>!Ve&&rt))],De=_.difference(Object.keys(defaultPerms),Re);let Ye=(Ie=(Ge=(Le=d.inherited)==null?void 0:Le[ve])!=null?Ge:ae(ve))!=null?Ie:defaultPerms[ve];for(;typeof Ye=="string"&&_.get(oe,Ye)===!1;)Ye=(He=(Be=_.get(k,Ye))!=null?Be:Ye!==WHO_ANY_ACCOUNT?ae(Ye):void 0)!=null?He:_.get(defaultPerms,Ye);return Ae({comp:WhoField,k:ve,sm:6,lg:12,xl:4,parent:v,accounts:x,helperText:Pe,isDir:L,otherPerms:De.map(Ve=>({value:Ve,label:who2desc(Ve)})),label:"Who can "+perm2word(ve),inherit:Ye,byMasks:T==null?void 0:T[ve],fromField:Ve=>Ve!=null?Ve:null},Me)}function ae(ve){if(d[ve]!==void 0)return;let Pe=d.parent;for(;Pe;){let Me=Pe[ve];if(!isWhoObject(Me)||(Me=Me.children,Me!==void 0))return Me;Pe=Pe.parent}}}function perm2word(d){return xlate(d.split("_")[1],{read:"download",archive:"zip",list:"access list"})}function WhoField(A){var L=A,{value:d,onChange:m,parent:g,inherit:x,accounts:b,helperText:E,otherPerms:v,byMasks:C,hideValues:S,isChildren:T,isDir:$,contentText:k="folder content",setApi:I}=L,D=zt(L,["value","onChange","parent","inherit","accounts","helperText","otherPerms","byMasks","hideValues","isChildren","isDir","contentText","setApi"]);const N=who2desc(C!=null?C:x)+prefix(" (",C!==void 0?"from masks":g!==void 0?"as parent folder":"default",")"),Y=isWhoObject(d),j=Y?d.this:d,B=reactExports.useMemo(()=>onlyTruthy([{value:null,label:N},{value:!0},{value:!1},{value:"*"},...v,{value:[],label:"Select accounts"}].map(W=>!(S!=null&&S.includes(W.value))&&Ae({label:who2desc(W.value)},W))),[x,g,j,...wantArray(S)]),z=500,V=Array.isArray(j);return reactExports.createElement(Box,{sx:{borderRight:Y?"8px solid #8884":void 0,transition:`all ${z}ms`}},reactExports.createElement(SelectField,$t(Ae({},D),{value:V?[]:j!=null?j:null,onChange(W,{event:J}){m(Y?U($t(Ae({},d),{this:W!=null?W:void 0})):W!=null?W:void 0,{was:d,event:J})},options:B})),reactExports.createElement(Collapse,{in:V,timeout:z},V&&reactExports.createElement(MultiSelectField,$t(Ae({label:b!=null&&b.length?"Accounts "+D.label:"You didn't create any account yet",value:j,onChange:m,options:(b==null?void 0:b.map(W=>({value:W.username,label:W.username,a:W})))||[],placeholder:"none"},j.length===0&&{helperText:"Select some account",error:!0}),{renderOption:W=>{var J;return reactExports.createElement("span",{},((J=W.a)==null?void 0:J.isGroup)&&account2icon(W.a)," ",W.label)}}))),reactExports.createElement(FormHelperText,{},E,!T&&$&&reactExports.createElement(LinkBtn,{sx:{display:"block",mt:-.5},onClick(W){m(Y?j:{this:j,children:j==null?!x:void 0},{was:d,event:W})}},Y?"Set same permission for ":"Set different permission for ",k)),!T&&reactExports.createElement(Collapse,{in:Y,timeout:z},reactExports.createElement(WhoField,{label:"Permission for "+k,parent:g,inherit:x,accounts:b,otherPerms:v,isDir:$,value:Y?d==null?void 0:d.children:void 0,isChildren:!0,hideValues:[j!=null?j:x,j],onChange(W,{event:J}){Y&&m(U($t(Ae({},d),{children:W})),{was:d,event:J})}})));function U(W){return W.this===W.children?W.this:W}}function who2desc(d){return d===!1?"No one":d===!0?"Anyone":d==="*"?"Any logged-in account":Array.isArray(d)?d.join(", "):typeof d=="string"?`As "can ${perm2word(d)}"`:"*UNKNOWN*"+JSON.stringify(d)}function LinkField({value:d,statusApi:m}){const{reload:g,error:x}=m,b=useRequestRender();reactExports.useEffect(()=>m.sub(b),[]);const E=m.getData(),v=E&&(E.urls.https||E.urls.http||[E.base_url]),C=try_(()=>normalizeHost(new URL(E==null?void 0:E.baseUrl).host)),S=reactExports.useMemo(()=>C&&_.find(E.roots,(D,A)=>matches(C,A)),[E]);S&&d&&(d=d.indexOf(S)===1?d.slice(S.length):void 0);const T=prefix((E==null?void 0:E.baseUrl)||"",d),$=reactExports.useMemo(()=>reactExports.forwardRef((D,A)=>reactExports.createElement(Link$3,$t(Ae({ref:A},D),{href:T,style:{height:"auto",overflow:"hidden",textOverflow:"ellipsis"},target:"frontend"}),T)),[T]);return reactExports.createElement(Box,{display:"flex"},C?v?reactExports.createElement(DisplayField,{label:"Link",className:MASK_IN_TESTS,value:T||`outside of configured main address (${C})`,error:x,InputProps:T?{inputComponent:$}:void 0,end:reactExports.createElement(Box,{},reactExports.createElement(IconBtn,{icon:ContentCopy,title:"Copy",disabled:!T,doneAnimation:!0,onClick:()=>copyTextToClipboard(T)}),reactExports.createElement(IconBtn,{icon:QrCode2,title:"QR Code",onClick:k,disabled:!T}),reactExports.createElement(IconBtn,{icon:Edit,title:"Change",onClick(){changeBaseUrl().then(g)}}))}):"error":"Invalid baseUrl");function k(){newDialog({title:"QR Code",dialogProps:{sx:{bgcolor:"background.default",border:"1px solid"}},Content(){const D=useTheme$1();return reactExports.createElement("canvas",{ref:A=>A&&I(A,T,D.palette.text.primary),style:{width:"100%"}})}})}function I(D,A,L){return xt(this,null,function*(){try{QrCreator$1.render({text:A,radius:0,ecLevel:"H",fill:L,background:null,size:300},D)}catch(N){console.error("Error generating QR code:",N)}})}}function changeBaseUrl(){return xt(this,null,function*(){return new Promise(d=>xt(this,null,function*(){const m=yield apiCall("get_status"),{base_url:g,roots:x}=yield apiCall("get_config",{only:[CFG.base_url,CFG.roots]}),b=m.urls.https||m.urls.http,E=Object.keys(x).map(S=>S.split("|")).flat().filter(S=>!/[*?]/.test(S)),v=splitAt("//",b[0])[0]+"//";b.push(..._.difference(E.map(S=>v+S),b));const{close:C}=newDialog({title:"Main address",Content(){const[S,T]=reactExports.useState(g||""),$=new URL(S||b[0]).protocol+"//",k=b.includes(S)?"":S.slice($.length),I=reactExports.createElement(Check,{sx:{ml:2}});return reactExports.createElement(Box,{display:"flex",flexDirection:"column"},reactExports.createElement(Box,{mb:2},"Choose a main address for your links"),reactExports.createElement(MenuList,{},reactExports.createElement(MenuItem,{selected:!S,onClick:()=>D("")},"Automatic",!S&&I),b.map(L=>reactExports.createElement(MenuItem,{key:L,selected:L===S,onClick:()=>D(L)},L,L===S&&I))),reactExports.createElement(StringField,{label:"Custom IP or domain",helperText:md(`You can type any address but *you* are responsible to make the address work.
805
- This functionality is just to help you copy the link in case you have a domain or a complex network configuration.`),value:k,onChange:L=>D(prefix($,L)),start:reactExports.createElement(SelectField,{value:$,onChange:L=>k?D(L+k):toast("Enter domain first"),options:["http://","https://"],size:"small",variant:"standard",sx:{"& .MuiSelect-select":{pt:"1px",pb:0}}}),sx:{mt:2}}),reactExports.createElement(Box,{mt:2,textAlign:"right"},reactExports.createElement(Btn,{icon:Save,children:"Save",onClick(){return xt(this,null,function*(){S!==g&&(yield apiCall("set_config",{values:{[CFG.base_url]:S.replace(/\/$/,"")}})),C(),d(S)})}})));function D(L){L.endsWith("/")&&(L=L.slice(0,-1)),T(L)}}})}))})}let selectOnReload,exposeVfsLoading;const id2vfsNode=new Map;function VfsPage({setTitleSide:d}){var J,Q,X,Z;const{vfs:m,selectedFiles:g,movingFile:x,vfsShowDiskContentFor:b}=useSnapState(),{data:E,reload:v,element:C,loading:S}=useApiEx("get_vfs");exposeVfsLoading=S,reactExports.useEffect(()=>{m||v()},[m,v]);const{data:T}=useApiEx("get_config",{only:[CFG.force_address,CFG.base_url]}),$="md",k=useBreakpoint($),I=useApiEx("get_status"),{data:D}=I,A=reactExports.useMemo(()=>{var re;const oe=T==null?void 0:T[CFG.force_address],ie=(re=(D==null?void 0:D.urls.https)||(D==null?void 0:D.urls.http))==null?void 0:re.filter(ce=>{if(!oe)return!0;const fe=normalizeHost(new URL(ce).host);return Object.keys(D.roots).some(ae=>matches(fe,ae))}),ee=oe?T==null?void 0:T[CFG.base_url]:D==null?void 0:D.baseUrl;return ee&&ie&&!ie.includes(ee)&&ie.unshift(ee),ie},[D,T]),L=useApiEx("get_accounts"),N=reactExports.useMemo(()=>{var oe;return _.sortBy((oe=L==null?void 0:L.data)==null?void 0:oe.list,"username")},[L.data]),Y=useApiList(b&&"get_ls",{path:b}),j=reactExports.useRef(_.noop);reactExports.useEffect(()=>{var oe;x===((oe=g[0])==null?void 0:oe.id)&&j.current()},[x]);const B=!((Q=(J=E==null?void 0:E.root)==null?void 0:J.children)!=null&&Q.length)&&!((X=E==null?void 0:E.root)!=null&&X.source),z=reactExports.useMemo(()=>B?reactExports.createElement(Alert,{severity:"warning",children:reactExports.createElement(reactExports.Fragment,{},"Add something to your virtual file system — click the ",reactExports.createElement(Add),"button, or set a source for the Home folder")}):(A==null?void 0:A.length)>0&&reactExports.createElement(Alert,{severity:"info",children:["Your shared files can be browsed from ",reactExports.createElement("span",{className:HIDE_IN_TESTS,key:0},reactJoin(" or ",A.slice(0,3).map(oe=>reactExports.createElement(Link$3,{href:oe,target:"frontend"},oe))))]}),[B,A]);d(reactExports.useMemo(()=>reactExports.createElement(Box,{sx:{display:{xs:"none",md:"block"}}},reactExports.createElement(Alert,{severity:"info"},"This is what your users will see. Edit it freely – files on disk won’t be changed."),z),[z]));const V=(g==null?void 0:g.length)<2&&g[0],U=reactExports.useMemo(()=>L.element||!m?null:Y.enabled?Y.element||reactExports.createElement(Box,{},reactExports.createElement(Box,{fontSize:"xx-large",sx:{wordBreak:"break-all"}},"From ",b),reactExports.createElement(List,{dense:!0},Y.list.map(oe=>reactExports.createElement(ListItem,{key:oe.n,sx:{borderTop:"1px solid #8888"}},reactExports.createElement(ListLsItem,{it:oe}))))):V?reactExports.createElement(FileForm,{key:V.id,isSideBreakpoint:k,addToBar:k&&reactExports.createElement(Box,{flex:1,textAlign:"right",mr:1,color:"#8883"},vfsNodeIcon(V)),statusApi:I,saved:()=>j.current(),accounts:N!=null?N:[],file:V}):g.length?reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Typography,{variant:"h6"},g.length+" selected"),reactExports.createElement(Button,{onClick:deleteFiles,startIcon:reactExports.createElement(Delete)},"Remove")),reactExports.createElement(List,{dense:!0,disablePadding:!0},g.map(oe=>reactExports.createElement(ListItem,{key:oe.id},reactExports.createElement(ListItemText,{primary:oe.name,secondary:oe.source}))))):null,[L.element,m,Y.list,V,g]);if(reactExports.useEffect(()=>{if(k||!U)return;const oe=[""];{let ee=V&&V.parent;for(;ee&&!ee.isRoot;)oe.push(ee.name),ee=ee.parent}const{close:ie}=newDialog({title:b?"Disk content":g.length>1?"Multiple selection":reactExports.createElement(Flex,{},vfsNodeIcon(g[0]),reactExports.createElement(Flex,{flexWrap:"wrap",gap:"0 0.5em"},g[0].name||"Home",reactExports.createElement(Box,{component:"span",color:"text.secondary"},oe.join(" /")))),dialogProps:{sx:{justifyContent:"flex-end"}},Content:()=>U,onClose(ee){ee||(state.selectedFiles=[],state.vfsShowDiskContentFor="")}});return j.current=ie,()=>void ie(!0)},[k,(Z=_.last(g))==null?void 0:Z.id,U]),reactExports.useEffect(()=>{if(state.vfs||!E)return;const{root:oe}=E;if(!oe)return;oe.isRoot=!0,state.vfs=oe,state.vfsUndo=void 0,reindexVfs({sortChildren:!0,select:ie()}),state.vfsModified=!1;function ie(){if(!selectOnReload)return;j.current();const ee=selectOnReload;return selectOnReload=void 0,ee}},[E]),C&&!state.vfs)return id2vfsNode.clear(),C;const W={height:"100%",display:"flex",flexDirection:"column",overflow:"auto"};return reactExports.createElement(Grid,{container:!0,rowSpacing:1,columnSpacing:2,top:0,flex:"1 1 auto",height:0},reactExports.createElement(Grid,Ae({item:!0,xs:12,[$]:5,lg:6,xl:5},W),reactExports.createElement(VfsTree,{statusApi:I})),k&&U&&reactExports.createElement(Grid,Ae({item:!0,[$]:!0,maxWidth:"100%"},W),reactExports.createElement(Card,{sx:{overflow:"initial"}},reactExports.createElement(CardContent,{},U))))}function reindexVfs({node:d=state.vfs,clearMap:m=!0,sortChildren:g=!1,select:x=state.selectedFiles}={}){var E;if(!d)return;m&&id2vfsNode.clear(),b(d,((E=d.parent)==null?void 0:E.id)||"/",d.parent),x&&(state.selectedFiles=onlyTruthy(x.map(v=>id2vfsNode.get(typeof v=="string"?v:v.id))));function b(v,C,S){const T=v.id;v.parent=S;const $=v.isRoot?"/":prefix(C,pathEncode(v.name),v.type==="folder"?"/":"");if(T&&T!==$&&id2vfsNode.delete(T),v.id=$,id2vfsNode.set($,v),!!v.children){g&&(v.children=_.sortBy(v.children,["type",k=>{var I;return(I=k.name)==null?void 0:I.toLocaleLowerCase()}]));for(const k of v.children)b(k,v.id,v)}}}function reloadVfs(d){return selectOnReload=d,state.vfs=void 0,wait(100).then(()=>exposeVfsLoading)}function deleteFiles(){return xt(this,null,function*(){const d=state.selectedFiles;d.length&&(deleteVfs(d.map(m=>m.id)),toast(`${d.length} item(s) deleted`,"success"))})}function deleteVfs(d){const m=_.uniq(d).sort(),g=m.filter((x,b)=>x!=="/"&&(b===0||_.findLastIndex(m,E=>isDescendantUri(x,E),b-1)<0));if(g.length){prepareVfsUndo();for(const x of g){const b=id2vfsNode.get(x),E=b.parent.children;_.remove(E,{id:b.id}),E.length||(b.parent.children=void 0)}state.movingFile&&g.some(x=>state.movingFile===x||isDescendantUri(state.movingFile,x))&&(state.movingFile=""),markVfsModified()}}function isDescendantUri(d,m){return m.endsWith("/")&&d.startsWith(m)}var NOTHING=Symbol.for("immer-nothing"),DRAFTABLE=Symbol.for("immer-draftable"),DRAFT_STATE=Symbol.for("immer-state");function die(d,...m){throw new Error(`[Immer] minified error nr: ${d}. Full error at: https://bit.ly/3cXEKWf`)}var getPrototypeOf=Object.getPrototypeOf;function isDraft(d){return!!d&&!!d[DRAFT_STATE]}function isDraftable(d){var m;return d?isPlainObject(d)||Array.isArray(d)||!!d[DRAFTABLE]||!!((m=d.constructor)!=null&&m[DRAFTABLE])||isMap(d)||isSet(d):!1}var objectCtorString=Object.prototype.constructor.toString();function isPlainObject(d){if(!d||typeof d!="object")return!1;const m=getPrototypeOf(d);if(m===null)return!0;const g=Object.hasOwnProperty.call(m,"constructor")&&m.constructor;return g===Object?!0:typeof g=="function"&&Function.toString.call(g)===objectCtorString}function each(d,m){getArchtype(d)===0?Reflect.ownKeys(d).forEach(g=>{m(g,d[g],d)}):d.forEach((g,x)=>m(x,g,d))}function getArchtype(d){const m=d[DRAFT_STATE];return m?m.type_:Array.isArray(d)?1:isMap(d)?2:isSet(d)?3:0}function has(d,m){return getArchtype(d)===2?d.has(m):Object.prototype.hasOwnProperty.call(d,m)}function set(d,m,g){const x=getArchtype(d);x===2?d.set(m,g):x===3?d.add(g):d[m]=g}function is$2(d,m){return d===m?d!==0||1/d===1/m:d!==d&&m!==m}function isMap(d){return d instanceof Map}function isSet(d){return d instanceof Set}function latest(d){return d.copy_||d.base_}function shallowCopy(d,m){if(isMap(d))return new Map(d);if(isSet(d))return new Set(d);if(Array.isArray(d))return Array.prototype.slice.call(d);const g=isPlainObject(d);if(m===!0||m==="class_only"&&!g){const x=Object.getOwnPropertyDescriptors(d);delete x[DRAFT_STATE];let b=Reflect.ownKeys(x);for(let E=0;E<b.length;E++){const v=b[E],C=x[v];C.writable===!1&&(C.writable=!0,C.configurable=!0),(C.get||C.set)&&(x[v]={configurable:!0,writable:!0,enumerable:C.enumerable,value:d[v]})}return Object.create(getPrototypeOf(d),x)}else{const x=getPrototypeOf(d);if(x!==null&&g)return Ae({},d);const b=Object.create(x);return Object.assign(b,d)}}function freeze(d,m=!1){return isFrozen(d)||isDraft(d)||!isDraftable(d)||(getArchtype(d)>1&&Object.defineProperties(d,{set:{value:dontMutateFrozenCollections},add:{value:dontMutateFrozenCollections},clear:{value:dontMutateFrozenCollections},delete:{value:dontMutateFrozenCollections}}),Object.freeze(d),m&&Object.values(d).forEach(g=>freeze(g,!0))),d}function dontMutateFrozenCollections(){die(2)}function isFrozen(d){return Object.isFrozen(d)}var plugins={};function getPlugin(d){const m=plugins[d];return m||die(0,d),m}var currentScope;function getCurrentScope(){return currentScope}function createScope(d,m){return{drafts_:[],parent_:d,immer_:m,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function usePatchesInScope(d,m){m&&(getPlugin("Patches"),d.patches_=[],d.inversePatches_=[],d.patchListener_=m)}function revokeScope(d){leaveScope(d),d.drafts_.forEach(revokeDraft),d.drafts_=null}function leaveScope(d){d===currentScope&&(currentScope=d.parent_)}function enterScope(d){return currentScope=createScope(currentScope,d)}function revokeDraft(d){const m=d[DRAFT_STATE];m.type_===0||m.type_===1?m.revoke_():m.revoked_=!0}function processResult(d,m){m.unfinalizedDrafts_=m.drafts_.length;const g=m.drafts_[0];return d!==void 0&&d!==g?(g[DRAFT_STATE].modified_&&(revokeScope(m),die(4)),isDraftable(d)&&(d=finalize(m,d),m.parent_||maybeFreeze(m,d)),m.patches_&&getPlugin("Patches").generateReplacementPatches_(g[DRAFT_STATE].base_,d,m.patches_,m.inversePatches_)):d=finalize(m,g,[]),revokeScope(m),m.patches_&&m.patchListener_(m.patches_,m.inversePatches_),d!==NOTHING?d:void 0}function finalize(d,m,g){if(isFrozen(m))return m;const x=m[DRAFT_STATE];if(!x)return each(m,(b,E)=>finalizeProperty(d,x,m,b,E,g)),m;if(x.scope_!==d)return m;if(!x.modified_)return maybeFreeze(d,x.base_,!0),x.base_;if(!x.finalized_){x.finalized_=!0,x.scope_.unfinalizedDrafts_--;const b=x.copy_;let E=b,v=!1;x.type_===3&&(E=new Set(b),b.clear(),v=!0),each(E,(C,S)=>finalizeProperty(d,x,b,C,S,g,v)),maybeFreeze(d,b,!1),g&&d.patches_&&getPlugin("Patches").generatePatches_(x,g,d.patches_,d.inversePatches_)}return x.copy_}function finalizeProperty(d,m,g,x,b,E,v){if(isDraft(b)){const C=E&&m&&m.type_!==3&&!has(m.assigned_,x)?E.concat(x):void 0,S=finalize(d,b,C);if(set(g,x,S),isDraft(S))d.canAutoFreeze_=!1;else return}else v&&g.add(b);if(isDraftable(b)&&!isFrozen(b)){if(!d.immer_.autoFreeze_&&d.unfinalizedDrafts_<1)return;finalize(d,b),(!m||!m.scope_.parent_)&&typeof x!="symbol"&&(isMap(g)?g.has(x):Object.prototype.propertyIsEnumerable.call(g,x))&&maybeFreeze(d,b)}}function maybeFreeze(d,m,g=!1){!d.parent_&&d.immer_.autoFreeze_&&d.canAutoFreeze_&&freeze(m,g)}function createProxyProxy(d,m){const g=Array.isArray(d),x={type_:g?1:0,scope_:m?m.scope_:getCurrentScope(),modified_:!1,finalized_:!1,assigned_:{},parent_:m,base_:d,draft_:null,copy_:null,revoke_:null,isManual_:!1};let b=x,E=objectTraps;g&&(b=[x],E=arrayTraps);const{revoke:v,proxy:C}=Proxy.revocable(b,E);return x.draft_=C,x.revoke_=v,C}var objectTraps={get(d,m){if(m===DRAFT_STATE)return d;const g=latest(d);if(!has(g,m))return readPropFromProto(d,g,m);const x=g[m];return d.finalized_||!isDraftable(x)?x:x===peek(d.base_,m)?(prepareCopy(d),d.copy_[m]=createProxy(x,d)):x},has(d,m){return m in latest(d)},ownKeys(d){return Reflect.ownKeys(latest(d))},set(d,m,g){const x=getDescriptorFromProto(latest(d),m);if(x!=null&&x.set)return x.set.call(d.draft_,g),!0;if(!d.modified_){const b=peek(latest(d),m),E=b==null?void 0:b[DRAFT_STATE];if(E&&E.base_===g)return d.copy_[m]=g,d.assigned_[m]=!1,!0;if(is$2(g,b)&&(g!==void 0||has(d.base_,m)))return!0;prepareCopy(d),markChanged(d)}return d.copy_[m]===g&&(g!==void 0||m in d.copy_)||Number.isNaN(g)&&Number.isNaN(d.copy_[m])||(d.copy_[m]=g,d.assigned_[m]=!0),!0},deleteProperty(d,m){return peek(d.base_,m)!==void 0||m in d.base_?(d.assigned_[m]=!1,prepareCopy(d),markChanged(d)):delete d.assigned_[m],d.copy_&&delete d.copy_[m],!0},getOwnPropertyDescriptor(d,m){const g=latest(d),x=Reflect.getOwnPropertyDescriptor(g,m);return x&&{writable:!0,configurable:d.type_!==1||m!=="length",enumerable:x.enumerable,value:g[m]}},defineProperty(){die(11)},getPrototypeOf(d){return getPrototypeOf(d.base_)},setPrototypeOf(){die(12)}},arrayTraps={};each(objectTraps,(d,m)=>{arrayTraps[d]=function(){return arguments[0]=arguments[0][0],m.apply(this,arguments)}});arrayTraps.deleteProperty=function(d,m){return arrayTraps.set.call(this,d,m,void 0)};arrayTraps.set=function(d,m,g){return objectTraps.set.call(this,d[0],m,g,d[0])};function peek(d,m){const g=d[DRAFT_STATE];return(g?latest(g):d)[m]}function readPropFromProto(d,m,g){var b;const x=getDescriptorFromProto(m,g);return x?"value"in x?x.value:(b=x.get)==null?void 0:b.call(d.draft_):void 0}function getDescriptorFromProto(d,m){if(!(m in d))return;let g=getPrototypeOf(d);for(;g;){const x=Object.getOwnPropertyDescriptor(g,m);if(x)return x;g=getPrototypeOf(g)}}function markChanged(d){d.modified_||(d.modified_=!0,d.parent_&&markChanged(d.parent_))}function prepareCopy(d){d.copy_||(d.copy_=shallowCopy(d.base_,d.scope_.immer_.useStrictShallowCopy_))}var Immer2=class{constructor(d){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(m,g,x)=>{if(typeof m=="function"&&typeof g!="function"){const E=g;g=m;const v=this;return function(S=E,...T){return v.produce(S,$=>g.call(this,$,...T))}}typeof g!="function"&&die(6),x!==void 0&&typeof x!="function"&&die(7);let b;if(isDraftable(m)){const E=enterScope(this),v=createProxy(m,void 0);let C=!0;try{b=g(v),C=!1}finally{C?revokeScope(E):leaveScope(E)}return usePatchesInScope(E,x),processResult(b,E)}else if(!m||typeof m!="object"){if(b=g(m),b===void 0&&(b=m),b===NOTHING&&(b=void 0),this.autoFreeze_&&freeze(b,!0),x){const E=[],v=[];getPlugin("Patches").generateReplacementPatches_(m,b,E,v),x(E,v)}return b}else die(1,m)},this.produceWithPatches=(m,g)=>{if(typeof m=="function")return(v,...C)=>this.produceWithPatches(v,S=>m(S,...C));let x,b;return[this.produce(m,g,(v,C)=>{x=v,b=C}),x,b]},typeof(d==null?void 0:d.autoFreeze)=="boolean"&&this.setAutoFreeze(d.autoFreeze),typeof(d==null?void 0:d.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(d.useStrictShallowCopy)}createDraft(d){isDraftable(d)||die(8),isDraft(d)&&(d=current(d));const m=enterScope(this),g=createProxy(d,void 0);return g[DRAFT_STATE].isManual_=!0,leaveScope(m),g}finishDraft(d,m){const g=d&&d[DRAFT_STATE];(!g||!g.isManual_)&&die(9);const{scope_:x}=g;return usePatchesInScope(x,m),processResult(void 0,x)}setAutoFreeze(d){this.autoFreeze_=d}setUseStrictShallowCopy(d){this.useStrictShallowCopy_=d}applyPatches(d,m){let g;for(g=m.length-1;g>=0;g--){const b=m[g];if(b.path.length===0&&b.op==="replace"){d=b.value;break}}g>-1&&(m=m.slice(g+1));const x=getPlugin("Patches").applyPatches_;return isDraft(d)?x(d,m):this.produce(d,b=>x(b,m))}};function createProxy(d,m){const g=isMap(d)?getPlugin("MapSet").proxyMap_(d,m):isSet(d)?getPlugin("MapSet").proxySet_(d,m):createProxyProxy(d,m);return(m?m.scope_:getCurrentScope()).drafts_.push(g),g}function current(d){return isDraft(d)||die(10,d),currentImpl(d)}function currentImpl(d){if(!isDraftable(d)||isFrozen(d))return d;const m=d[DRAFT_STATE];let g;if(m){if(!m.modified_)return m.base_;m.finalized_=!0,g=shallowCopy(d,m.scope_.immer_.useStrictShallowCopy_)}else g=shallowCopy(d,!0);return each(g,(x,b)=>{set(g,x,currentImpl(b))}),m&&(m.finalized_=!1),g}var immer=new Immer2,produce=immer.produce;const STORAGE_KEY="admin_state",INIT={title:"",config:{},selectedFiles:[],vfsShowDiskContentFor:"",accountsAsTree:!1,movingFile:"",vfs:void 0,vfsUndo:void 0,vfsModified:!1,expanded:[],loginRequired:!1,username:"",monitorOnlyFiles:!0,monitorWithLog:!0,customHtmlSection:"",darkTheme:void 0,dataTablePersistence:{},hideRandomPlugin:!1,onlinePluginsColumns:{version:!1,pushed_at:!1,license:!1}};Object.assign(INIT,JSON.parse(localStorage[STORAGE_KEY]||null));const state=proxy(INIT);Object.assign(window,{state});const SETTINGS_TO_STORE=["onlinePluginsColumns","monitorOnlyFiles","monitorWithLog","customHtmlSection","darkTheme","dataTablePersistence","accountsAsTree","hideRandomPlugin"],storeSettings=_.debounce(()=>localStorage[STORAGE_KEY]=JSON.stringify(_.pick(state,SETTINGS_TO_STORE)),500,{maxWait:1e3});for(const d of SETTINGS_TO_STORE)subscribeKey(state,d,storeSettings);function useSnapState(){return useSnapshot(state)}function markVfsModified(){state.vfs=Ae({},state.vfs),state.vfsModified=!0,reindexVfs()}function prepareVfsUndo(){state.vfs&&(state.vfsUndo=cloneVfs(state.vfs))}function undoVfs(){if(!state.vfs||!state.vfsUndo)return;const d=cloneVfs(state.vfs);state.vfs=state.vfsUndo,state.vfsUndo=d,state.vfsModified=!0,reindexVfs()}function updateStateObject(d,m,g){d[m]=produce(d[m],g)}function cloneVfs(d){const E=d,{parent:m,children:g}=E,x=zt(E,["parent","children"]),b=_.cloneDeep(x);return g&&(b.children=g.map(cloneVfs)),b}function useDark(){return useMediaQuery$1("(prefers-color-scheme: dark)")}const EMPTY={};function useMyTheme(){const{darkTheme:d}=useSnapState(),m=useDark(),g=(d!=null?d:m)?null:EMPTY;return reactExports.useMemo(()=>createTheme({palette:g||{mode:"dark",text:{primary:"#bbb",secondary:"#fff6"},primary:{main:"#469",light:"#68c"},secondary:{main:"#969"}},typography:{fontFamily:'Roboto, "Noto sans", "Segoe UI", "San Francisco", "Helvetica Neue", Arial, sans-serif'},components:{MuiLink:{defaultProps:g||{color:"primary.light"}},MuiTextField:{defaultProps:{variant:"filled"},styleOverrides:g||{root:{"& label.Mui-focused":{color:"#ccc"}}}},MuiButton:{defaultProps:{variant:"outlined"},styleOverrides:g||{root({ownerState:x}){return x.color==="primary"&&{color:x.variant==="contained"?"#ddd":"#68c"}}}}}}),[g])}function SwitchThemeBtn(d){const{darkTheme:m}=useSnapState(),g=useDark(),x=m!=null?m:g;return reactExports.createElement(Btn,Ae({icon:x?Brightness7:Brightness4,onClick:()=>{const b=!x;return state.darkTheme=g===b?void 0:b}},d),x?"Light theme":"Dark theme")}dialogsDefaults.Container=function(m){const g=reactExports.useRef(),x=useIsMobile();reactExports.useEffect(()=>{const T=setTimeout(()=>{const $=g.current;$&&(x||focusSelector("[autofocus]",$)||focusSelector(focusableSelector,$))});return()=>clearTimeout(T)},[x,g.current]);const b=useDialogBarColors();m=Ae(Ae({},dialogsDefaults),m);const S=m.dialogProps||{},{sx:E,root:v}=S,C=zt(S,["sx","root"]);return m.noFrame?reactExports.createElement(Modal,{open:!0,children:reactExports.createElement(Center,{},reactExports.createElement(m.Content))}):reactExports.createElement(Dialog$1,$t(Ae(Ae({open:!0,maxWidth:!1,fullScreen:x},C),v),{className:m.className,onClose:()=>closeDialog()}),m.title&&reactExports.createElement(DialogTitle,{sx:Ae({position:"sticky",top:0,p:1,zIndex:2,boxShadow:"0 0 8px #0004",display:"flex",alignItems:"center"},b)},m.icon&&componentOrNode(m.icon),reactExports.createElement(Box,{flex:1,minWidth:40,ml:1},componentOrNode(m.title)),m.closable&&reactExports.createElement(IconBtn,{icon:Close,title:"Close",onClick:()=>closeDialog()})),reactExports.createElement(DialogContent,{ref:g,sx:Ae({p:m.padding?{xs:1,sm:void 0}:0,pt:"16px !important",overflow:"initial",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"stretch"},E)},reactExports.createElement(m.Content)))};function useDialogBarColors(){const{darkTheme:d}=useSnapState();return(d!=null?d:useDark())?{bgcolor:"#2d2d2d"}:{bgcolor:"#ccc",color:"#444"}}const type2ico={error:ErrorIcon,warning:Warning,info:Info,success:Check};function alertDialog(d,m){var S;const g=typeof m=="string"?{type:m}:m!=null?m:{};let C=g,{type:x="info"}=C,b=zt(C,["type"]);d instanceof Error&&(d=err2msg$1(d.message||d.code),x="error");const E=pendingPromise(),v=newDialog($t(Ae({className:"dialog-alert dialog-alert-"+x,icon:(S=g.icon)!=null?S:reactExports.createElement(type2ico[x],{color:x}),onClose:E.resolve,title:_.upperFirst(x),dialogProps:{fullScreen:!1}},b),{Content(){return reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"center",gap:1},reactExports.isValidElement(d)?d:reactExports.createElement(Box,{fontSize:"large",lineHeight:"1.8em",pb:1},String(d)))}}));return Object.assign(E,v)}function confirmDialog(d,C={}){var S=C,{href:m,trueText:g="Go",falseText:x="Don't",before:b,after:E}=S,v=zt(S,["href","trueText","falseText","before","after"]);const T=pendingPromise(),$=newDialog($t(Ae({className:"dialog-confirm",onClose:T.resolve,dialogProps:{sx:{alignItems:"center"}}},v),{Content:k}));return Object.assign(T,$);function k(){return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{mb:2},typeof d=="string"?md(d):d),reactExports.createElement(Flex,{},b==null?void 0:b({onClick:I=>$.close(I)}),reactExports.createElement("a",{href:m,onClick:()=>$.close(!0)},reactExports.createElement(Button,{variant:"contained"},g)),reactExports.createElement(Button,{onClick:()=>$.close(!1)},x),E==null?void 0:E({onClick:I=>$.close(I)})))}}function formDialog(b){return xt(this,null,function*(){var E=b,{form:d,values:m,Wrapper:g}=E,x=zt(E,["form","values","Wrapper"]);let v;return new Promise(C=>{const S=newDialog($t(Ae({className:"dialog-form",onClose:T=>C(T||v)},x),{Content(){const[T,$]=reactExports.useState(m||{}),A=typeof d=="function"?d(T):d,{onChange:k,before:I}=A,D=zt(A,["onChange","before"]);return D.save===!1&&(v=T),reactExports.createElement(g||reactExports.Fragment,{},I,reactExports.createElement(Form,$t(Ae({},D),{values:T,set(L,N){$(Y=>{const j=$t(Ae({},Y),{[N]:L});return k==null||k(j,{setValues:$}),j})},save:D.save!==!1&&Ae({onClick(){S.close(T)}},D.save)})))}}))})})}function promptDialog(S){return xt(this,arguments,function*(d,v={}){var C=v,{value:m="",field:g,save:x,addToBar:b=[]}=C,E=zt(C,["value","field","save","addToBar"]);return formDialog($t(Ae({},E),{values:{text:m},form:Ae({fields:[$t(Ae({k:"text",label:null,autoFocus:!0},g),{before:reactExports.createElement(Box,{mb:2},d)})],save:Ae({children:"Continue",startIcon:reactExports.createElement(Forward)},x),saveOnEnter:!0,barSx:{gap:2},addToBar:[reactExports.createElement(Button,{onClick:closeDialog},"Cancel"),...b]},E.form)})).then(T=>T==null?void 0:T.text)})}function waitDialog(){return newDialog({Content:()=>reactExports.createElement(CircularProgress,{size:"20vw"}),noFrame:!0,closable:!1}).close}function toast(d,m="info",g){const b=newDialog($t(Ae({},g),{Content:E,dialogProps:{fullScreen:!1,PaperProps:{sx:{transition:"opacity 3000ms ease-in"},ref(v){v&&(v.style.opacity="0")}}}}));return setTimeout(b.close,3e3),b;function E(){return reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"center",gap:1},reactExports.isValidElement(m)?m:reactExports.createElement(type2ico[m],{color:m}),reactExports.isValidElement(d)?d:reactExports.createElement("div",{},String(d)))}}function spinner(){return reactExports.createElement(CircularProgress)}function useBreakpoint(d){return useMediaQuery$1(m=>m.breakpoints.up(d),{noSsr:!0})}function IconProgress({icon:d,progress:m,offset:g,title:x,sx:b}){return reactExports.createElement(Flex,{vert:!0,center:!0},reactExports.createElement(d,{sx:{position:"absolute",ml:"4px"}}),reactExports.createElement(CircularProgress,{value:m*100||0,variant:"determinate",size:32,sx:{position:"absolute"}}),hTooltip(x!=null?x:_.isNumber(m)?formatPerc(m):"Size unknown","",reactExports.createElement(CircularProgress,{color:"success",value:(g||1e-7)*100,variant:"determinate",size:32,sx:Ae({display:"flex"},b)})))}function Flex(v){var C=v,{vert:d=!1,center:m=!1,children:g=null,props:x={},component:b}=C,E=zt(C,["vert","center","children","props","component"]);return reactExports.createElement(Box,Ae({sx:Ae(Ae({display:"flex",gap:".8em",flexDirection:d?"column":void 0,alignItems:d?void 0:"center"},m&&{justifyContent:"center"}),E),component:b},x),g)}function wikiLink(d,m){return Array.isArray(m)&&(m=dontBotherWithKeys(m)),reactExports.createElement(Link$3,{href:WIKI_URL+d,target:"help"},m)}function WildcardsSupported(){return wikiLink("Wildcards","Wildcards supported")}function reloadBtn(d,m){return reactExports.createElement(IconBtn,Ae({icon:Refresh,title:"Reload",onClick:d},m))}function propsForModifiedValues(d){return d?{sx:{outline:"2px solid",animation:".5s blink 2"}}:void 0}function useRefPass(d){const m=reactExports.useRef(null);return Object.assign(m,{pass(g){m.current=g,_.isFunction(d)?d(g):d&&(d.current=g)}})}const IconBtn=reactExports.forwardRef((d,m)=>reactExports.createElement(Btn,Ae({ref:m},d))),Btn=reactExports.forwardRef((N,L)=>{var Y=N,{icon:d,title:m,onClick:g,disabled:x,progress:b,link:E,tooltipProps:v,confirm:C,doneMessage:S,doneAnimation:T,labelIf:$,children:k,modified:I,loading:D}=Y,A=zt(Y,["icon","title","onClick","disabled","progress","link","tooltipProps","confirm","doneMessage","doneAnimation","labelIf","children","modified","loading"]);var Z,oe;const[j,B]=useStateMounted(!1);typeof x=="string"&&(m=x),x=b||x?!0:void 0,E&&(g=()=>window.open(E));const z=useBreakpoint(_.isString($)?$:"xs")&&(_.isBoolean($)?$:!0);!z&&k&&(m=k);const V=useRefPass(L),U=_.merge(propsForModifiedValues(I),{ref:V.pass,disabled:x,"aria-hidden":x,onClick(...ie){return xt(this,null,function*(){if(j||C&&!(yield confirmDialog(C===!0?"Are you sure?":C)))return;const ee=g==null?void 0:g.apply(this,ie);ee instanceof Promise&&(B(!0),ee.finally(()=>B(!1)));try{(yield ee)!==!1&&execDoneMessage(S,T&&V.current)}catch(re){alertDialog(re)}})}},A),W=reactExports.isValidElement(d)?d:d&&reactExports.createElement(d);let J=k&&z?reactExports.createElement(LoadingButton,_.merge({variant:"contained",startIcon:W,loading:!!(D||j||b),loadingPosition:d&&"start",loadingIndicator:typeof b!="number"?void 0:reactExports.createElement(CircularProgress,{size:"1rem",value:b*100,variant:"determinate"}),children:z&&k},U,(!z||!k)&&{sx:{minWidth:"auto",px:1,py:"7px","& span":{mx:0}}})):reactExports.createElement(IconButton,_.merge(U,{sx:{height:"fit-content"},TouchRippleProps:{"aria-hidden":!0},"aria-label":!k||!z?(Z=A["aria-label"])!=null?Z:_.isString(m)?m:void 0:A["aria-label"]}),(b||j)&&b!==!1&&reactExports.createElement(CircularProgress,$t(Ae({},typeof b=="number"?{value:b*100,variant:"determinate"}:null),{style:{position:"absolute",top:"10%",left:"10%",width:"80%",height:"80%"}})),W);const Q=(oe=A["aria-label"])!=null?oe:with_(_.isString(m)&&m,ie=>ie?`${prefix("",_.isString(k)&&k," – ")}${ie}`:void 0);return m&&(J=reactExports.createElement("span",x?{role:"button","aria-label":Q,"aria-disabled":!0}:void 0,J),J=hTooltip(m,Q,J,v)),J});function execDoneMessage(d,m){m&&restartAnimation(m,"success .5s"),d&&toast(d===!0?"Operation completed":d,"success")}function iconTooltip(d,m,g,x){return hTooltip(m,void 0,reactExports.createElement(d,Ae({sx:g},x)))}function InLink(m){var d=zt(m,[]);const g=useNavigate();return d.onClickCapture=x=>xt(this,null,function*(){var b;for(x.preventDefault();anyDialogOpen();)yield(b=closeDialog())==null?void 0:b.closed;g(d.to)}),reactExports.createElement(Link$3,Ae({component:Link$4},d))}const Center=reactExports.forwardRef((d,m)=>reactExports.createElement(Box,Ae({ref:m,display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},d)));function LinkBtn(m){var d=zt(m,[]);return reactExports.createElement(Link$3,$t(Ae({},d),{href:"",sx:Ae({cursor:"pointer"},d.sx),role:"button",onClick(g){var x;g.preventDefault(),(x=d.onClick)==null||x.call(d,g)}}))}function usePauseButton(d="",m=!0,g){const[x,b]=useToggleButton(`Pause ${d}`,`Resume ${d}`,E=>Ae({icon:E?PauseCircle:PlayCircle,sx:{rotate:E?"180deg":"0deg"}},g),m);return{pause:!x,pauseButton:b}}function useToggleButton(d,m,g,x=!1){const[b,E]=reactExports.useState(x instanceof Promise||x instanceof Function?()=>{const T=callable(x);return T instanceof Promise?(T.then($=>E($)),!1):T}:x),v=reactExports.useCallback(()=>E(T=>!T),[]),C=g(b),S=reactExports.useMemo(()=>reactExports.createElement(IconBtn,$t(Ae({size:"small",color:b?"primary":void 0,title:b||m===void 0?d:m,"aria-label":d,"aria-pressed":b},C),{sx:Ae({transition:"all .5s"},C.sx),onClick(T){var $;($=C.onClick)==null||$.call(C,T),v()}})),[b]);return[b,S,E]}function NetmaskField(x){var b=x,{setApi:d,helperText:m}=b,g=zt(b,["setApi","helperText"]);const E=reactExports.useRef(!1);return d==null||d({getError(){return g.value&&apiCall("validate_net_mask",{mask:g.value}).then(v=>!v.result&&"Invalid mask")}}),reactExports.createElement(StringField,$t(Ae({helperText:reactExports.createElement("span",{},m,m&&" – ",wikiLink("Wildcards#network-masks","Wildcards supported"))},g),{onTyping(v){var C,S;return!E.current&&(v!=null&&v.includes("127.0.0.1"))&&!v.includes("::1")&&(E.current=!0,alertDialog('Hostname "localhost" is normally translated as ::1 instead of 127.0.0.1',"warning")),(S=(C=g.onTyping)==null?void 0:C.call(g,v))!=null?S:v}}))}function Country({code:d,ip:m,def:g,long:x,short:b}){const E=m&&!isIpLocalHost(m)&&!isIpLan(m),{data:v}=useBatch(d===void 0&&E&&ip2countryBatch,m,{delay:100});d||(d=v||"");const C=d&&_.find(ALL,{code:d});return C?hTooltip(x?void 0:C.name,void 0,reactExports.createElement("span",{},reactExports.createElement(Box,{className:`fflag fflag-${d.toUpperCase()}`,component:"span",mr:1}),x?C.name+prefix(" (",b&&d,")"):d)):reactExports.createElement(reactExports.Fragment,{},g)}function ip2countryBatch(d){return xt(this,null,function*(){return(yield apiCall("ip_country",{ips:d})).codes})}function hTooltip(d,m,g,x){return reactExports.createElement(Tooltip,Ae($t(Ae({title:d,children:g},m===""?{"aria-hidden":!0}:{"aria-label":m||_.isString(d)&&d||void 0}),{componentsProps:{popper:{sx:Ae({whiteSpace:"pre-wrap"},x==null?void 0:x.sx)}}}),x))}setDefaultApiCallOptions({onResponse(d,m){return xt(this,null,function*(){if(d.status===HTTP_UNAUTHORIZED)throw state.loginRequired=(m==null?void 0:m.possible)!==!1||HTTP_FORBIDDEN,new ApiError(d.status,m)})}});const ERRORS={timeout:"Operation timeout"};function useApiEx(...d){const m=useApi(...d);return $t(Ae({},m),{element:reactExports.useMemo(()=>d[0]?m.error?reactExports.createElement(Alert,{severity:"error"},xlate(String(m.error),ERRORS),reactExports.createElement(IconBtn,{icon:Refresh,title:"Reload",onClick:m.reload,sx:{m:"-10px 0 -8px 16px"}})):m.data===void 0?spinner():null:null,Object.values(m))})}function useApiList(d,m={},{map:g,invert:x,pause:b,limit:E}={}){const[v,C]=useStateMounted([]),[S,T]=useStateMounted(void 0),[$,k]=useStateMounted(void 0),[I,D]=useStateMounted(!0),[A,L]=useStateMounted(!1),[N,Y]=useStateMounted(!0),[j,B]=reactExports.useState(0),z=reactExports.useRef(0),[V,U]=reactExports.useState();reactExports.useEffect(()=>U(b?v:void 0),[b]),reactExports.useEffect(()=>{if(!d)return;const X=[],Z=_.debounce(()=>{const ee=X.splice(0,1/0);ee.length&&(x&&ee.reverse(),C(re=>{if(x){const fe=[...ee,...re];return fe.splice(E!=null?E:1/0,1/0),fe}const ce=[...re,...ee];return ce.splice(0,ce.length-(E!=null?E:1/0)),ce}))},1e3,{maxWait:1e3});k(void 0),L(!0),D(!0),Y(!0),C([]);const oe=apiEvents(d,objSameKeys(m,ee=>ee===!1?void 0:ee),(ee,re)=>{switch(ee){case"connected":return D(!1),setTimeout(()=>Z.flush());case"error":return k("Connection error"),setTimeout(Q,1e3),ie();case"closed":return ie();case"msg":const ce=[],fe=[];wantArray(re).forEach(ae=>{var ge,ye,Ce,Ee;if(!Array.isArray(ae))return console.debug("illegal list packet",ae);console.debug("LIST",...ae);const[ue,pe]=ae;if(ue===LIST.ready){Z.flush(),Y(!1);return}if(ue===LIST.error){pe===HTTP_UNAUTHORIZED?state.loginRequired=((ge=ae[2])==null?void 0:ge.possible)!==!1||HTTP_FORBIDDEN:k(_.isString(pe)||_.isNumber(pe)?err2msg$1(pe):pe);return}if(ue===LIST.props)return T(pe);if(ue===LIST.add){const ve=(ye=g==null?void 0:g(pe))!=null?ye:pe;(Ce=ve.id)!=null||(ve.id=z.current=Math.max(z.current,Date.now())+.001),X.push(ve),Z();return}if(ue===LIST.remove){const ve=_.matches(pe);_.isEmpty(_.remove(X,ve))&&ce.push(ve);return}if(ue===LIST.update){const ve=(Ee=g==null?void 0:g(ae[2]))!=null?Ee:ae[2],Pe=_.find(X,pe);if(Pe)return Object.assign(Pe,ve);fe.push([pe,ve]);return}console.debug("unknown list api",ue)}),C(ae=>{let ue=ae,pe;if(ce.length&&(pe=ae.filter(ge=>!ce.some(ye=>ye(ge))),pe.length<ae.length&&(ue=pe)),fe.length)for(const[ge,ye]of fe){const Ce=_.findIndex(ue,ge);Ce<0||(ue===ae&&(ue=pe!=null?pe:ae.slice()),ue[Ce]=Ae(Ae({},ue[Ce]),ye))}return ue}),oe.readyState===oe.CLOSED&&ie()}});return()=>oe.close();function ie(){Y(!1),L(!1),Z.flush()}},[j,d,JSON.stringify(m)]);const W=reactExports.useCallback(X=>C(Z=>produce(Z,X)),[C]),J=reactExports.useCallback((X,Z)=>{W(oe=>{const ie=_.find(oe,X);ie&&Object.assign(ie,Z)})},[W]);return{list:V!=null?V:v,props:S,loading:A,error:$,initializing:N,connecting:I,setList:C,updateList:W,updateEntry:J,reload:Q,enabled:!!d,element:I||N||A?spinner():$?reactExports.createElement(Alert,{severity:"error",sx:{flex:1}},err2msg$1($)):null};function Q(){B(X=>X+1)}}function MonitorPage({setTitleSide:d}){return d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"If you are behind a proxy, connections list may not match browsers activity"),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(MoreInfo),reactExports.createElement(Connections))}function MoreInfo(){var I,D;const{data:d,element:m,reload:g}=useApiEx("get_status");useInterval(g,1e4);const{data:x}=useApiEvents("get_connection_stats"),[b,E]=reactExports.useState(!1),v=useBreakpoint("md"),C=useBreakpoint("sm"),S=useBreakpoint("xl"),T=createDurationFormatter({maxTokens:2,skipZeroes:!0});return m||reactExports.createElement(Box,{display:"flex",flexWrap:"wrap",gap:{xs:.5,md:1},mb:{xs:1,sm:2}},(b||v)&&$("started",{label:"Uptime",render:A=>T(Date.now()-+new Date(A)),title:A=>"Started: "+formatTimestamp$1(A)}),(b||C)&&$("sent_got",{render:A=>({Sent:formatBytes(A[0]),Got:formatBytes(A[1])}),title:A=>"Since: "+formatTimestamp$1(A[2]),onDelete:()=>confirmDialog("Reset stats?").then(A=>A&&apiCall("clear_persistent",{k:["totalSent","totalGot"]}).then(()=>alertDialog("Done","success"),alertDialog))}),$("outSpeed",{label:"Output",render:formatSpeedK,minWidth:"8.5em"}),$("inSpeed",{label:"Input",render:formatSpeedK,minWidth:"8.5em"}),(b||C)&&$("ips",{label:"IPs",title:()=>"Currently connected"}),(v||b&&v||((I=d==null?void 0:d.http)==null?void 0:I.error))&&$("http",{label:"HTTP",render:k}),(v||b&&v||((D=d==null?void 0:d.https)==null?void 0:D.error))&&$("https",{label:"HTTPS",render:k}),(S||b)&&$("ram",{label:"RAM",render:formatBytes}),!S&&reactExports.createElement(IconBtn,{size:"small",icon:b?ChevronLeft:ChevronRight,title:"Show more",onClick:()=>E(A=>!A)}));function $(A,{label:L,minWidth:N,render:Y,title:j,onDelete:B}={}){var W;let z=(W=_.get(x,A))!=null?W:_.get(d,A);if(z===void 0)return null;let V;const U=j==null?void 0:j(z);return Y&&(z=Y(z),Array.isArray(z)&&([z,V]=z)),L||(L=_.capitalize(A.replaceAll("_"," "))),hTooltip(U,void 0,reactExports.createElement(Chip,{variant:"filled",color:V,onDelete:B,label:reactJoin(" – ",_.map(_.isPlainObject(z)?z:{[L]:z},(J,Q)=>reactExports.createElement("span",{style:{display:"inline-block",minWidth:N}},reactExports.createElement("b",{},Q),": ",J)))}))}function k(A){return A.listening?["port "+A.port,"success"]:A.error?[A.error,"error"]:"off"}}function Connections(){var I;const{list:d,error:m,props:g}=useApiList("get_connections"),x=useApiEx("get_config",{only:[CFG.geo_enable]}),{monitorOnlyFiles:b}=useSnapState(),{pause:E,pauseButton:v}=usePauseButton(),C=reactExports.useMemo(()=>d==null?void 0:d.filter(D=>!b||D.op).map((D,A)=>Ae({id:A},D)),[!E&&d,b]),S=useBreakpoint("md"),[T,$]=useToggleButton("Show log","Hide log",D=>({icon:History,sx:{rotate:D?0:"180deg"}}),state.monitorWithLog);state.monitorWithLog=T;const k=S&&T?6:0;return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Flex,{flex:1},reactExports.createElement(SelectField,{fullWidth:!1,value:b,onChange:D=>state.monitorOnlyFiles=D,options:{"Show downloads+uploads":!0,"Show all connections":!1}})),S&&reactExports.createElement(Flex,{flex:1,justifyContent:"space-between"},T?"Live log":reactExports.createElement(Box),$)),reactExports.createElement(Grid,{container:!0,flex:1,columnSpacing:1},reactExports.createElement(Grid,{item:!0,xs:12-k,sx:fillFlexParentSx},reactExports.createElement(DataTable,{persist:"connections",error:m,rows:C,fillFlex:!0,noRows:b&&"No downloads/uploads at the moment",footerSide:()=>reactExports.createElement(Flex,{},v,reactExports.createElement(Btn,{size:"small",icon:DisconnectIcon,labelIf:"xl",confirm:"Disconnecting all connections but localhost. Continue?",onClick:()=>apiCall("disconnect",{allButLocalhost:!0}).then(D=>toast(`Disconnected: ${D.result}`))},"Disconnect all")),columns:[{field:"ip",headerName:"Address",flex:1,maxWidth:400,renderCell:({row:D,value:A})=>ipForUrl(A)+" :"+D.port,mergeRender:{user:{display:"flex",justifyContent:"space-between",gap:".5em"},agent:{},country:{}}},{field:"country",headerName:"Country",hideUnder:((I=x.data)==null?void 0:I[CFG.geo_enable])!==!0||"md",renderCell:({value:D,row:A})=>reactExports.createElement(Country,{code:D,ip:A.ip})},{field:"user",headerName:"User",hideUnder:"md"},{field:"started",headerName:"Started",type:"dateTime",width:96,hideUnder:"lg",valueFormatter:({value:D})=>new Date(D).toLocaleTimeString()},{field:"path",headerName:"File",flex:1.5,renderCell({value:D,row:A}){var L;if(!(!D||!A.op))return A.op==="browsing"?reactExports.createElement(Box,{},D,reactExports.createElement(Box,{fontSize:"x-small"},"browsing")):reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconProgress,{icon:A.archive?FolderZip:A.op==="upload"?Upload:Download,progress:(L=A.opProgress)!=null?L:A.opOffset,offset:A.opOffset,title:md(formatPerc(A.opProgress)+(A.opTotal?`
806
- Total: `+formatBytes(A.opTotal):"")),sx:{mr:1}}),A.archive?reactExports.createElement(Box,{},D,reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},A.archive)):with_(D==null?void 0:D.lastIndexOf("/"),N=>reactExports.createElement(Box,{},D.slice(N+1),N>0&&reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},D.slice(0,N)))))}},{field:"outSpeed",headerName:"Speed",width:110,hideUnder:"sm",type:"number",renderCell:({value:D,row:A})=>formatSpeedK(Math.max(D||0,A.inSpeed||0)||void 0),mergeRender:{sent:{fontSize:"small",textAlign:"right"}}},{field:"sent",headerName:"Sent",type:"number",hideUnder:"md",renderCell:({value:D,row:A})=>formatBytes(Math.max(D||0,A.got||0))},{field:"v",headerName:"Protocol",align:"center",hideUnder:1/0,renderCell:({value:D})=>reactExports.createElement(reactExports.Fragment,{},"IPv"+D,iconTooltip(Lock,"HTTPS",{opacity:.5}))},{field:"agent",headerName:"Agent",hideUnder:"lg",renderCell:({value:D})=>agentIcons(D)}],actionsProps:{hideUnder:"sm"},actions:({row:D})=>[reactExports.createElement(IconBtn,{icon:DisconnectIcon,title:"Disconnect",doneMessage:!0,onClick:()=>apiCall("disconnect",_.pick(D,["ip","port"])).then(A=>A.result>0)}),reactExports.createElement(BlockIpBtn,{ip:D.ip,comment:"From monitoring",disabled:D.ip===(g==null?void 0:g.you)})]})),S&&T&&reactExports.createElement(Grid,Ae({item:!0,xs:k},fillFlexParentSx),reactExports.createElement(LogFile,{file:`${CFG.log}|${CFG.error_log}`,filter:b?D=>!D.uri.startsWith(SPECIAL_URI):void 0,fillFlex:!0,compact:!1,limit:1e3,getRowClassName:({row:D})=>D.status<400?"":"isError",sx:{"& .isError":{backgroundColor:"#a443"}}}))))}function formatSpeedK(d){return d===void 0?"":formatSpeed(d*1e3,{digits:1})}function ArrayField(j){var B=j,{label:d,helperText:m,fields:g,value:x,onChange:b,onError:E,setApi:v,reorder:C,prepend:S,noRows:T,valuesForAdd:$,autoRowHeight:k,dialog:I,form:D,details:A,objectK:L,saveOn:N}=B,Y=zt(B,["label","helperText","fields","value","onChange","onError","setApi","reorder","prepend","noRows","valuesForAdd","autoRowHeight","dialog","form","details","objectK","saveOn"]);const z=Array.isArray(x)?x:!L||!x?[]:Object.entries(x).map(([Z,oe])=>Ae({[L]:Z},oe)),V=reactExports.useMemo(()=>z.map((Z,oe)=>setHidden(Ae({},Z),Z.hasOwnProperty("id")?{$idx:oe}:{id:oe})),[JSON.stringify(z)]),U=Z=>oe=>Ae(Ae({fields:callable(g,oe).map(ge=>{var ye=ge,{$width:ie,$column:ee,$type:re,$hideUnder:ce,showIf:fe,$render:ae,$mergeRender:ue}=ye,pe=zt(ye,["$width","$column","$type","$hideUnder","showIf","$render","$mergeRender"]);var Ce;return(!fe||fe(oe))&&_.defaults(pe,(Ce=byType[re])==null?void 0:Ce.field)})},D),Z);v==null||v({isEqual:isOrderedEqual});const[W,J]=reactExports.useState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{rowGap:0,flexWrap:"wrap"},d&&reactExports.createElement(FormLabel,{sx:{ml:.5}},d),m&&reactExports.createElement(FormHelperText,{},m)),reactExports.createElement(Box,Ae({},Y),reactExports.createElement(DataTable,$t(Ae(Ae({rows:V,details:A},k&&{getRowHeight:()=>"auto"}),!useBreakpoint("sm")&&{compact:!0}),{sx:Ae({".MuiDataGrid-virtualScroller":{minHeight:"3em"}},k&&{".MuiDataGrid-cell":{minHeight:"52px !important"}}),hideFooterSelectedRowCount:!0,hideFooter:!0,slots:{noRowsOverlay:()=>reactExports.createElement(Center,{},T||"No entries")},slotProps:{pagination:{showFirstButton:!0,showLastButton:!0}},columns:[...callable(g,!1).map(Z=>{var ie,ee;if(reactExports.isValidElement(Z))return;const oe=(ie=byType[Z.$type])==null?void 0:ie.column;return _.defaults(Ae($t(Ae({field:Z.k,headerName:(ee=Z.headerName)!=null?ee:typeof Z.label=="string"?Z.label:labelFromKey(Z.k),disableColumnMenu:!0,valueGetter({value:re}){return(Z.toField||_.identity)(re)}},Z.$width?{[Z.$width>=8?"width":"flex"]:Z.$width}:!(oe!=null&&oe.width)&&!(oe!=null&&oe.flex)&&{flex:1}),{renderCell:Z.$render,mergeRender:Z.$mergeRender,hideUnder:Z.$hideUnder}),Z.$column),oe)}).filter(Boolean),{field:"",type:"actions",width:90,headerAlign:"center",renderHeader(){const Z="Add";return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconBtn,{icon:Add,title:Z,size:"small",onClick(ie){return xt(this,null,function*(){const ee=yield formDialog({form:U({}),title:Z,values:$,dialogProps:I});if(!ee)return;const re=z.slice()||[];S?re.unshift(ee):re.push(ee),X(re,ie)})}}),W!==void 0&&reactExports.createElement(IconBtn,{icon:Undo,title:"Undo",size:"small",onClick:ie=>X(W,ie)}))},getActions({row:Z}){const{$idx:oe=Z.id}=Z,ie="Modify";return[reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Edit),label:ie,title:ie,onClick(re){return xt(this,null,function*(){re.stopPropagation();const ce=yield formDialog({values:Z,form:U(N==="change"&&{save:!1,onChange(fe){Q(oe,fe,"change")}}||N&&{save:!1}),title:reactExports.createElement(reactExports.Fragment,{},ie,d&&" - ",d),dialogProps:I});ce&&Q(oe,ce,re)})}}),reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Delete),label:"Delete",showInMenu:C,onClick:re=>{re.stopPropagation(),X(z.filter((ce,fe)=>fe!==oe),re)}}),C&&oe&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowUpward),label:"Move up",showInMenu:!0,onClick:re=>{re.stopPropagation(),X(swap(z.slice(),oe,oe-1),re)}}),C&&oe<V.length-1&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowDownward),label:"Move down",showInMenu:!0,onClick:re=>{re.stopPropagation(),X(swap(z.slice(),oe,oe+1),re)}})].filter(Boolean)}}]}))));function Q(Z,oe,ie){X(z.map((ee,re)=>re===Z?oe:ee),ie)}function X(Z,oe){b(L?Object.fromEntries(Z.map(re=>{var ce=re,{[L]:ie}=ce,ee=zt(ce,[Rm(L)]);return[ie,ee]})):Z,{was:x,event:oe}),N!=="change"&&J(z)}}const byType={boolean:{field:{comp:BoolField},column:{renderCell:({value:d})=>d&&reactExports.createElement(Check)}},dateTime:{field:{comp:DateTimeField},column:{minWidth:96,flex:.5,renderCell:({value:d})=>d&&new Date(d).toLocaleString()}}},HFS_GITHUB_ACCOUNT=HFS_REPO.replace(/\/.+/,"/");function OnlinePlugins(){const[d,m]=reactExports.useState(""),g=useDebounce(d,1e3),{list:x,error:b,initializing:E}=useApiList("get_online_plugins",{text:g}),v=useSnapState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(StringField,{value:d,onChange:m,start:reactExports.createElement(Search),typing:!0,label:"Search text"}),reactExports.createElement(DataTable,{error:b&&err2msg$1(xlate(b,PLUGIN_ERRORS)),rows:x.length?x:[],noRows:"No compatible plugins have been found",fillFlex:!0,initializing:E,columnVisibilityModel:v.onlinePluginsColumns,onColumnVisibilityModelChange:C=>Object.assign(state.onlinePluginsColumns,C),columns:[{field:"id",headerName:"name",flex:1,renderCell:renderName,mergeRender:{description:{fontSize:"x-small"}}},{field:"version",width:70},{field:"pushed_at",headerName:"last update",valueGetter:({value:C})=>new Date(C).toLocaleDateString()},{field:"license",width:80},themeField,$t(Ae({},descriptionField),{flex:3,hideUnder:"sm"}),{field:"stargazers_count",width:50,headerName:"stars",align:"center",hideUnder:"sm"}],actions:({row:C,id:S})=>[reactExports.createElement(IconBtn,{icon:Download,title:"Install",progress:C.downloading,disabled:C.installed&&"Already installed",tooltipProps:{placement:"bottom-end"},onClick:()=>installPluginFromResult(C)}),reactExports.createElement(IconBtn,{icon:RemoveRedEye,disabled:!C.preview,onClick:()=>newDialog({title:S,Content:()=>reactExports.createElement(ShowImages,{imgs:wantArray(C.preview)})})})]}))}function ShowImages({imgs:d}){const[m,g]=reactExports.useState(0);return reactExports.createElement(Flex,{vert:!0,flex:1},reactExports.createElement(Flex,{vert:!0,center:!0,height:0,flex:"auto",minHeight:"50vh",minWidth:"50vw"},reactExports.createElement("img",{src:d[m],style:{margin:"auto",maxWidth:"100%",maxHeight:"100%"}})),d.length>1&&reactExports.createElement(Flex,{center:!0},reactExports.createElement(IconBtn,{icon:ArrowBack,disabled:!m,onClick:()=>g(m-1)}),reactExports.createElement(IconBtn,{icon:ArrowForward,disabled:m>=d.length-1,onClick:()=>g(m+1)})))}function installPluginFromResult(d){return xt(this,null,function*(){if(!d.id.startsWith(HFS_GITHUB_ACCOUNT)&&!(yield confirmDialog(reactExports.createElement(Flex,{vert:!0,alignItems:"center"},reactExports.createElement(Warning,{color:"warning",fontSize:"large"}),"Proceed only if you trust this plugin",reactExports.createElement(Box,{fontSize:"60%"},"A plugin has the same power of any other software"))))||d.missing&&!(yield confirmDialog("This will also install: "+_.map(d.missing,"repo").join(", "))))return;const m=d.branch||d.default_branch;return installPlugin(d.id,m).catch(g=>{if(g.code!==HTTP_FAILED_DEPENDENCY)return alertDialog(g);const x=reactExports.createElement(reactExports.Fragment,{},"This plugin has some dependencies unmet:",g.data.map(b=>reactExports.createElement("li",{key:b.repo},b.repo+": "+b.error)));return alertDialog(x,"error")})})}function installPlugin(d,m){return xt(this,null,function*(){try{const g=yield apiCall("download_plugin",{id:d,branch:m,stop:!0},{timeout:!1});(yield confirmDialog(`Plugin ${d} downloaded`,{trueText:"Start"}))&&(yield startPlugin(g.id))}catch(g){let x=!1;if(g.code===HTTP_FAILED_DEPENDENCY)for(const b of g.cause)b.error==="missing"&&(toast("Installing dependency: "+b.repo),yield installPlugin(b.repo),x=!0);if(x)return installPlugin(d,m);throw g}})}const TABS={Installed:InstalledPlugins,"Get more":OnlinePlugins,"Check updates":()=>reactExports.createElement(InstalledPlugins,{updates:!0})},LABELS=Object.keys(TABS),PANES=Object.values(TABS),PLUGIN_ERRORS={ENOTFOUND:"Cannot reach github.com",ECONNREFUSED:"Cannot reach github.com"};function PluginsPage(){const[d,m]=reactExports.useState(0);return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Tabs,{value:d,onChange(g,x){m(x)}},LABELS.map(g=>reactExports.createElement(Tab,{key:g,label:g}))),reactExports.createElement(PANES[d]))}function evalWrapper(s){return eval(s)}function InstalledPlugins({updates:d}){const{list:m,error:g,setList:x,initializing:b}=useApiList(d?"get_plugin_updates":"get_plugins",{},{map(I){I.config&&(I.config=tryJson(I.config,D=>evalWrapper("()=>("+D+")")()))}}),[E,v]=reactExports.useState(0);reactExports.useEffect(()=>{x(I=>_.sortBy(I,D=>{var A;return(D.error?0:D.started?1:2)+treatPluginName(((A=D.repo)==null?void 0:A.split("/").reverse().join("/"))||D.id).toLowerCase()}))},[m.length,E]);const C="small",{pause:S,pauseButton:T}=usePauseButton("plugins",()=>getSingleConfig(CFG.suspend_plugins).then(I=>!I),{onClick(){return xt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.suspend_plugins]:!S}}),S&&(yield wait(3e3),v(Date.now()))})}}),$=useTheme$1();return reactExports.createElement(DataTable,{error:isPrimitive(g)?xlate(g,PLUGIN_ERRORS):_.map(g,(I,D)=>`Error ${D} for: ${I.join(", ")}`).join("; "),rows:m.length?m:[],fillFlex:!0,initializing:b,disableColumnSelector:!0,getRowHeight:d&&(({model:I})=>I.changelog?"auto":50),noRows:d&&'No updates available. Only plugins available on "search online" are checked.',columns:[{field:"id",headerName:"name",flex:.3,minWidth:150,renderCell:renderName,valueGetter({row:I}){return I.repo||I.id},mergeRender:{[d?"changelog":"description"]:{fontSize:"x-small"}}},{field:"version",width:70,hideUnder:"sm",cellInnerProps:{className:HIDE_IN_TESTS},mergeRender:{installedVersion:{fontSize:"x-small"}}},themeField,$t(Ae({},descriptionField),{flex:1,hideUnder:"sm"}),{field:"installedVersion",hideUnder:!0,dialogHidden:!0,renderCell:({value:I})=>I&&`Yours ${I}`},{field:"changelog",headerName:"Change log",flex:2,hideUnder:!d||"sm",sx:{flexDirection:"column",alignItems:"flex-start"},renderCell({value:I,row:D}){return Array.isArray(I)?reactExports.createElement(Table,{sx:{td:{p:0}}},_.uniq(_.sortBy(I,"version").filter(A=>_.isString(A.message)&&A.message&&A.version>D.installedVersion)).map((A,L)=>reactExports.createElement(TableRow,{key:L},reactExports.createElement(TableCell,{sx:{whiteSpace:"pre",verticalAlign:"top"}},`• ${A.version}: `),reactExports.createElement(TableCell,{},md(A.message))))):null}}],footerSide:()=>!d&&T,actions:({row:I,id:D})=>d?[reactExports.createElement(IconBtn,{icon:Upgrade,title:I.downloading?"Downloading":I.updated?"Already updated":"Update",disabled:I.updated,progress:I.downloading,size:C,onClick(){return xt(this,null,function*(){yield apiCall("update_plugin",{id:D},{timeout:!1}).catch(Y=>{var j;throw Y.code!==HTTP_FAILED_DEPENDENCY?Y:Error("Failed dependencies: "+((j=Y.cause)==null?void 0:j.map(B=>prefix('plugin "',B.id||B.repo,'" ')+B.error).join("; ")))}),toast("Plugin updated")})}})]:[reactExports.createElement(IconBtn,I.started?{icon:StopCircle,title:reactExports.createElement(Box,{"aria-hidden":!0},`Stop ${D}`,reactExports.createElement("br"),"Started "+new Date(I.started).toLocaleString()),"aria-label":`Stop ${D}`,size:C,color:"success",doneAnimation:!0,onClick:()=>apiCall("stop_plugin",{id:D})}:{icon:PlayCircle,title:`Start ${D}`,disabled:S&&"All plugins are paused – Click the Resume button below",size:C,onClick:()=>startPlugin(D)}),reactExports.createElement(IconBtn,{icon:I.config||!I.started||!I.log?Settings:ListAlt,title:I.config||!I.log?"Options":"Log",size:C,disabled:!I.started&&"Start plugin to access options"||!I.config&&!I.log&&"No options and no log for this plugin",onClick(){return xt(this,null,function*(){const{config:Y}=yield apiCall("get_plugin",{id:D});let j=with_(I.configDialog,U=>{var W;return $.breakpoints.values[U==null?void 0:U.maxWidth]||((W=U==null?void 0:U.sx)==null?void 0:W.maxWidth)||xlate(U==null?void 0:U.maxWidth,{xs:0})||432});typeof j=="number"&&(j+="px");const B=!!I.config,z=yield formDialog({title:B?`Options for ${D}`:`Log for ${D}`,form:U=>({before:I.description&&reactExports.createElement(Box,{mx:2,mb:2},I.description),fields:makeFields(callable(I.config,U)||{},U),save:B?{children:"Save and close"}:!1,barSx:{gap:1},addToBar:[reactExports.createElement(Btn,{variant:"outlined",onClick:()=>V(U)},"Save")]}),values:Y,dialogProps:_.merge({maxWidth:"md",sx:{m:"auto"}},I.configDialog,{maxWidth:!1,sx:{maxWidth:null}}),Wrapper({children:U}){const{list:W,setList:J}=useApiList("get_plugin_log",{id:D},{map(Z){Z.ts=new Date(Z.ts)}}),Q=useAutoScroll(W);let X;return reactExports.createElement(Flex,{alignItems:"stretch",justifyContent:"center",flexWrap:"wrap",flexDirection:B?void 0:"column"},reactExports.createElement(Box,{maxWidth:j,minWidth:"min-content"},U),reactExports.createElement(Paper,{elevation:1,sx:{position:"relative",fontFamily:"monospace",flex:1,minWidth:"min(40em, 90vw)",minHeight:"20em",px:.5}},reactExports.createElement(Box,{my:.5,pb:.5,borderBottom:"1px solid",display:"flex",alignItems:"center",justifyContent:"space-between"},"Output",reactExports.createElement(Btn,{size:"small",sx:{p:0},onClick(){J([])}},"Clear")),reactExports.createElement(Box,{position:"absolute",bottom:0,top:"31px",left:0,right:0,sx:{overflowY:"auto"},ref:Q},!W.length&&reactExports.createElement(Box,{p:1},"Log is empty"),reactExports.createElement(Box,{sx:{textIndent:"-1em",pl:"1em",position:"absolute",width:"calc(100% - 1.2em)",ml:"2px",pt:".2em"}},W.map(Z=>{formatDate(Z.ts);const oe=formatDate(Z.ts);return reactExports.createElement(reactExports.Fragment,{key:Z.id},oe!==X&&(X=oe),reactExports.createElement(Box,{},reactExports.createElement(Box,{title:oe,display:"inline",color:"text.secondary",mr:1},formatTime(Z.ts)),replaceStringToReact(Z.msg,/https?:\/\/\S+/,ie=>reactExports.createElement(Link$3,{href:ie[0],target:"_blank"},ie[0]))))})))))}});if(z&&!_.isEqual(Y,z))return V(z);function V(U){return xt(this,null,function*(){yield apiCall("set_plugin",{id:D,config:U}),Object.assign(Y,U),toast("Configuration saved")})}})}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Uninstall",size:C,onClick(){return xt(this,null,function*(){const Y=yield confirmDialog(`${D}: delete configuration too?`,{trueText:"Yes",falseText:"No",after:({onClick:j})=>reactExports.createElement(Btn,{variant:"outlined",onClick(){j(void 0)}},"Abort")});Y!==void 0&&(yield apiCall("uninstall_plugin",{id:D,deleteConfig:Y}),toast("Plugin uninstalled"))})}})]})}function getSingleConfig(d){return apiCall("get_config",{only:[d]}).then(m=>m[d])}function treatPluginName(d){return d.replace(/hfs-/,"")}function renderName({row:d,value:m}){const{repo:g}=d;return reactExports.createElement(reactExports.Fragment,{},d.downgrade&&x("This version is older than the one you installed. It is possible that the author found a problem with your version and decided to retire it.",!0),x(d.error||d.badApi,!d.error),g!=null&&g.includes("//")?reactExports.createElement(Link$3,{href:g,target:"plugin"},m):with_(g==null?void 0:g.split("/"),b=>(b==null?void 0:b.length)!==2?m:reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Link$3,{href:"https://github.com/"+g,target:"plugin",onClick(E){E.stopPropagation()}},treatPluginName(b[1])),NBSP+"by ",b[0])));function x(b,E=!1){return b&&hTooltip(b,b,reactExports.createElement(ErrorIcon,{fontSize:"small",color:E?"warning":"error",sx:{ml:-.5,mr:.5}}))}}function makeFields(d,m){return Object.entries(d).map(([g,x])=>{var k;if(!x)return;let $=x,{type:b,defaultValue:E,frontend:v,showIf:C}=$,S=zt($,["type","defaultValue","frontend","showIf"]);try{if(S.getError=evalWrapper(S.getError),typeof C=="string"&&(S.showIf=C=evalWrapper(C)),C&&!C(m))return}catch(I){}S.helperText&&(S.helperText=md(S.helperText,{html:!1}));const T=type2comp[b];if(m===!1&&b==="date_time"&&(S.$type="dateTime"),T===ArrayField){let{fields:I}=S;S.valuesForAdd=newObj(callable(I,!1),D=>D.defaultValue),typeof I=="string"&&(I=evalWrapper(I)),(k=S.details)!=null||(S.details=!1),S.fields=D=>_.map(makeFields(callable(I,D),D),(A,L)=>A&&$t(Ae({k:L},A),{defaultValue:void 0})).filter(Boolean)}return E!==void 0&&b==="boolean"&&(S.placeholder=`Default value is ${JSON.stringify(E)}`),Ae({k:g,comp:T},S)})}const type2comp={string:StringField,number:NumberField,boolean:BoolField,select:SelectField,multiselect:MultiSelectField,array:ArrayField,real_path:FileField,vfs_path:VfsPathField,username:UsernameField,color:ColorField,showHtml:({html:d})=>reactExports.createElement(Html,{},String(d)),date_time:DateTimeField,net_mask:NetmaskField};function startPlugin(d){return xt(this,null,function*(){try{return yield apiCall("start_plugin",{id:d}),toast("Plugin started",reactExports.createElement(PlayCircle,{color:"success"})),!0}catch(m){alertDialog(`Plugin ${d} didn't start, with error: ${String((m==null?void 0:m.message)||m)}`,"error")}})}function UsernameField(E){var v=E,{value:d,onChange:m,multiple:g,groups:x}=v,b=zt(v,["value","onChange","multiple","groups"]);const{data:C,element:S,loading:T}=useApiEx("get_accounts");return!T&&S||reactExports.createElement(g?MultiSelectField:SelectField,Ae({value:d,onChange:m,options:C==null?void 0:C.list.filter($=>x===void 0||x===$.isGroup).map($=>$.username)},b))}function ColorField(d){return reactExports.createElement(StringField,Ae({inputProps:Ae({type:"color",style:{marginRight:24}},!d.value&&{value:"#888888",style:{zIndex:1,opacity:.1}}),InputProps:{endAdornment:d.value?reactExports.createElement(Btn,{icon:Clear,size:"small",sx:{position:"absolute",right:4},title:"Clear",onClick(m){d.onChange(null,{was:d.value,event:m})}}):reactExports.createElement(Box,{sx:{position:"absolute",width:"100%",bottom:2,pt:"3px",textAlign:"center",color:"#fff",background:"repeating-linear-gradient(45deg, #333, #333 10px, #444 10px, #444 20px)"}},"default")},typing:!0},d))}const descriptionField={field:"description",mergeRender:{isTheme:{}},mergeRenderSx:{float:"left"}},themeField={field:"isTheme",headerName:"is theme",hideUnder:!0,dialogHidden:!0,type:"boolean",renderCell({value:d}){return d&&iconTooltip(ThemeIcon,_.isString(d)?`${d} theme`:"theme",{fontSize:"1.2rem",mr:".3em"})}},cacheKey="onlinePluginsCache";function RandomPlugin(){const{hideRandomPlugin:d}=useSnapState(),m=localStorage.getItem(cacheKey),g=reactExports.useMemo(()=>{const S=tryJson(m||"");return(S==null?void 0:S.ts)&&Date.now()-S.ts<DAY&&_.shuffle(S.list)},[m]),{list:x,initializing:b}=useApiList(!d&&!g&&"get_online_plugins"),[E,v]=reactExports.useState(-1),C=g==null?void 0:g[E];if(reactExports.useEffect(()=>{!g&&!b&&x.length&&localStorage.setItem(cacheKey,JSON.stringify({ts:Date.now(),list:x})),v(0)},[x,b]),reactExports.useEffect(()=>{E>0&&!C&&toast("No more plugins!")},[E]),!(d||!C))return reactExports.createElement(Card,{sx:{display:{xs:"none",md:"block"},float:"right",width:"min(50%, 30em)",ml:"1em"}},reactExports.createElement(CardContent,{},reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.4em"},reactExports.createElement(Box,{color:"warning.main",mr:1,display:"inline"},"🎲"),"Random plugin:"),reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.8em",my:1},renderName({row:C})),reactExports.createElement(Box,{},C.description),C.preview&&reactExports.createElement("img",{src:wantArray(C.preview)[0],style:{maxWidth:"100%",maxHeight:"50vh",marginTop:"1em",border:"1px solid",maskImage:"radial-gradient(circle at center, black 50%, transparent 100%)"}})),reactExports.createElement(CardActions,{},reactExports.createElement(Btn,{variant:"outlined",onClick:()=>installPluginFromResult(C)},"Install"),reactExports.createElement(Btn,{variant:"outlined",onClick:()=>v(S=>S+1)},"Another"),reactExports.createElement(Btn,{variant:"outlined",onClick(){state.hideRandomPlugin=!0}},"Hide this box")))}function HomePage(){var X,Z,oe,ie,ee;const d=" — ",{username:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_status"),{data:E}=useApiEx(m&&"get_account"),v=useApiEx("get_config",{only:["https_port","cert","private_key","proxies","ignore_proxies","vfs"]}),{list:C}=useApiList("get_plugins"),[S,T]=reactExports.useState(!1),{list:$}=useApiList(S&&"get_plugin_updates"),[k,I]=reactExports.useState(),[D,A]=reactExports.useState();if(b||!g)return b;const{http:L,https:N}=g,Y=!(L!=null&&L.listening)&&(N!=null&&N.listening)?"s":"",j=Y?N:(L==null?void 0:L.listening)&&L,B=j&&`http${Y}://`+window.location.hostname+(j.port===(Y?443:80)?"":":"+j.port),z=objSameKeys({http:L,https:N},re=>re.busy?[`port ${re.configuredPort} already used by ${re.busy}${d}choose a `,cfgLink("different port"),` or stop ${re.busy}`]:re.error),V=z&&onlyTruthy(Object.entries(z).map(([re,ce])=>ce&&[md(`Protocol <u>${re}</u>: `),ce,(isCertError(ce)||isKeyError(ce))&&[d,reactExports.createElement(LinkBtn,{onClick(){suggestMakingCert().then(()=>wait(999)).then(v.reload).then(x)}},"make one")," or ",d,cfgLink("provide adequate files")]])),U={onContextMenu(re){return xt(this,null,function*(){if(re.preventDefault(),!g.updatePossible)return alertDialog("Automatic update is only for binary versions","warning");const ce=yield promptDialog("Enter a link to the zip to install");ce&&(yield update(ce))})},title:g.updatePossible&&"Right-click if you want to install a zip"},W=(X=v.data)==null?void 0:X.vfs;return reactExports.createElement(Box,{},reactExports.createElement(RandomPlugin),reactExports.createElement(Box,{display:"flex",gap:2,flexDirection:"column",alignItems:"flex-start",height:"100%"},dontBotherWithKeys((Z=g.alerts)==null?void 0:Z.map(re=>entry("warning",md(re,{html:!1})))),V.length?dontBotherWithKeys(V.map(re=>entry("error",dontBotherWithKeys(re)))):entry("success","Server is working"),W&&!((oe=W.children)!=null&&oe.length)&&!W.source?entry("warning","You have no shared files",d,fsLink("add some")):null,E!=null&&E.adminActualAccess?entry("","Welcome, "+m):entry("",md("You're accessing the Admin-panel without an account because you are on localhost"),...g.anyAccountCanLoginAdmin?[]:[d,"to access from another computer, you must ",reactExports.createElement(InLink,{to:"accounts"},md("create an account with *admin* permission"))]),!B&&entry("warning","Frontend unreachable: ",_.map(z,(re,ce)=>ce+" "+(re?"is in error":"is off")).join(", "),!V.length&&[d,cfgLink("switch http or https on")]),with_(g.acmeRenewError,re=>re&&entry("warning",re)),with_(g.blacklistedInstalledPlugins,re=>(re==null?void 0:re.length)>0&&entry("warning","Found blacklisted plugin(s): ",re.join(", "))),with_(C==null?void 0:C.filter(re=>re.error||re.badApi).length,re=>re>0&&entry("warning",`${re} plugin(s) failing`,d,reactExports.createElement(InLink,{to:"plugins"},"check now"))),!((ie=v.data)!=null&&ie.split_uploads)&&Date.now()-Number(g.cloudflareDetected||0)<DAY&&entry("",wikiLink("Reverse-proxy#cloudflare","Cloudflare detected, read our guide")),with_(proxyWarning(v.data,g),re=>re&&entry("warning",re,d,cfgLink("set the number of proxies"),d,"unless you are sure and you can ",reactExports.createElement(Btn,{variant:"outlined",size:"small",sx:{lineHeight:"unset"},confirm:"Go on only if you know what you are doing",onClick:()=>apiCall("set_config",{values:{ignore_proxies:!0}}).then(v.reload)},"ignore this warning"),d,wikiLink("Proxy-warning","Explanation"))),(((ee=v.data)==null?void 0:ee.proxies)>0||(g==null?void 0:g.proxyDetected))&&entry("",wikiLink("Reverse-proxy","Read our guide on proxies")),g.frpDetected&&entry("warning",'FRP is detected. It should not be used with "type = tcp" with HFS. Possible solutions are',reactExports.createElement("ol",{},reactExports.createElement("li",{},"configure FRP with type=http (best solution)"),reactExports.createElement("li",{},md("configure FRP to connect to HFS <u>not</u> with localhost (safe, but you won't see users' IPs)")),reactExports.createElement("li",{},`disable "admin access for localhost" in HFS (safe, but you won't see users' IPs)`))),entry("",md("This is the *Admin-panel*, where you manage your server. Access your files on the [Front-end](../..).")),entry("",wikiLink("","See the documentation")," and ",reactExports.createElement(Link$3,{target:"support",href:REPO_URL+"discussions"},"get support")),!k&&with_(g.autoCheckUpdateResult,re=>(re==null?void 0:re.isNewer)&&reactExports.createElement(Update,{info:re,fromAuto:!0,bodyCollapsed:!0,title:"An update has been found"})),$.length>0&&entry("success","Updates available for plugin(s): "+$.map(re=>re.id).join(", ")),reactExports.createElement(ConfigForm,{gridProps:{sx:{mt:1,display:"flex",columnGap:1,alignitems:"center","&>div.MuiGrid2-root":{width:"auto",px:.5,py:0},".MuiCheckbox-root":{pl:"2px"}}},saveOnChange:!0,form:{fields:[g.updatePossible==="local"?reactExports.createElement(Btn,{icon:UpdateIcon,onClick:()=>update()},"Update from local file"):!k&&reactExports.createElement(Btn,Ae({icon:UpdateIcon,onClick(){return apiCall("wait_project_info").then(x),T(!0),apiCall("check_update").then(re=>I(re.options),alertDialog)}},U),"Check for updates"),{k:"auto_check_update",comp:CheckboxField,label:"Auto check updates daily"},{k:"update_to_beta",comp:CheckboxField,label:"Include beta versions"}]}}),k&&with_(_.find(k,"isNewer"),re=>!k.length||!g.updatePossible&&!re?entry("","No update available"):re&&!g.updatePossible?entry("success",`Version ${re.name} available`):reactExports.createElement(Flex,{vert:!0},k.map(ce=>reactExports.createElement(Update,{info:ce,key:ce.name})))),reactExports.createElement(Flex,{flexWrap:"wrap"},!D&&g.updatePossible&&g.previousVersionAvailable&&reactExports.createElement(Btn,{icon:Restore,onClick:()=>update(PREVIOUS_TAG)},"Reinstall previous version"),g.updatePossible?D?reactExports.createElement(Flex,{vert:!0},D.map(re=>reactExports.createElement(Update,{info:re,key:re.name,bodyCollapsed:!0}))):reactExports.createElement(Btn,Ae({icon:Colorize,onClick:J},U),"Get another version"):entry("",reactExports.createElement(Link$3,{href:REPO_URL+"releases/",target:"repo"},"All releases"))),reactExports.createElement(SwitchThemeBtn),Date.now()-Number(new Date(g.started))>HOUR&&reactExports.createElement(Link$3,{title:"Donate",target:"donate",style:{textDecoration:"none",position:"fixed",bottom:0,right:4,fontSize:"large"},href:"https://www.paypal.com/donate/?hosted_button_id=HC8MB4GRVU5T2"},"❤️")));function J(){return xt(this,null,function*(){return apiCall("get_other_versions").then(re=>A(re.options),alertDialog)})}}function Update({info:d,title:m,bodyCollapsed:g,fromAuto:x}){const[b,E]=reactExports.useState(g);return reactExports.createElement(Flex,{alignItems:"flex-start",flexWrap:"wrap"},reactExports.createElement(Card,{className:"release"},reactExports.createElement(CardContent,{},reactExports.createElement(Flex,{},m&&reactExports.createElement(Box,{fontSize:"larger",mb:1},m),reactExports.createElement(Btn,$t(Ae({icon:UpdateIcon},!d.isNewer&&d.prerelease&&{color:"warning",variant:"outlined"}),{onClick:()=>update(x?void 0:d.tag_name)}),prefix("Install ",d.name,d.isNewer?"":" (older)")),reactExports.createElement(Link$3,{href:REPO_URL+"releases/tag/"+d.tag_name,target:"repo"},reactExports.createElement(OpenInNew))),b?reactExports.createElement(LinkBtn,{sx:{display:"block",mt:1},onClick(){E(!1)}},"See details"):reactExports.createElement(Box,{mt:1},renderChangelog(d.body)))))}function renderChangelog(d){return md(d,{html:!1,onText:m=>replaceStringToReact(m,new RegExp("(?<=^|\\W)#(\\d+)\\b|(https:.*\\S+)","g"),g=>g[1]?reactExports.createElement(Link$3,{href:REPO_URL+"issues/"+g[1],target:"_blank"},reactExports.createElement(OpenInNew,{fontSize:"small"})):reactExports.createElement(Link$3,{href:g[2],target:"_blank"},g[2]))})}function update(d){return xt(this,null,function*(){if(!(yield confirmDialog("Installation may take less than a minute, depending on the speed of your server")))return;toast("Downloading");const m=yield apiCall("update",{tag:d},{timeout:600}).then(()=>0,b=>b);if(m)return alertDialog(m);toast("Restarting");const g=Date.now();let x;for(;yield apiCall("NONE").then(()=>0,b=>!b.code);)!x&&Date.now()-g>15e3&&(x=alertDialog("This is taking too long, please check your server","warning")),yield wait(500);x==null||x.close(),subscribeKey(state,"loginRequired",()=>state.loginRequired=!1),yield alertDialog("Procedure complete","success"),window.location.reload()})}function entry(d,...m){return reactExports.createElement(Box,{fontSize:"x-large",color:g=>{var x;return d&&((x=g.palette[d])==null?void 0:x.main)}},reactExports.createElement({success:CheckCircle,info:Info,"":Info,warning:Warning,error:ErrorIcon}[d],{sx:{mr:1,color:d?void 0:"primary.main"}}),reactExports.createElement("span",{style:["warning","error"].includes(d)?{animation:".5s blink 2"}:void 0},...m))}function fsLink(d="File System page"){return reactExports.createElement(InLink,{to:"fs"},d)}function cfgLink(d="Options page"){return reactExports.createElement(InLink,{to:"options"},d)}function proxyWarning(d,m){return m&&d&&!d.ignore_proxies&&(!d.proxies&&m.proxyDetected?"A proxy was detected but none is configured":d.proxies&&!m.proxyDetected&&Date.now()-+new Date(m.started)>DAY?`Proxies is set to ${d.proxies} but none was detected recently. Consider setting it zero`:"")}let loaded,exposedReloadStatus;const pageState=proxy({changes:{}});subscribe(state,d=>{d.some(m=>m[1][0]==="config")&&recalculateChanges()});function OptionsPage(){var z,V;const{data:d,reload:m,element:g}=useApiEx("get_config",{omit:["vfs"]}),x=useSnapState(),{changes:b}=useSnapshot(pageState),E=useApiEx(d&&"get_status"),v=E.data,C=exposedReloadStatus=E.reload;reactExports.useEffect(()=>void C(),[d]),reactExports.useEffect(()=>()=>exposedReloadStatus=void 0,[]);const S=useBreakpoint("sm"),T=reactExports.useRef(null),$=(z=useApiEx("get_admins").data)==null?void 0:z.list,k=window.location.hostname,I=k==="localhost",D=k.includes(":"),A=[{label:"any",value:""},{label:"any IPv4",value:"0.0.0.0",disabled:!I&&D},{label:"any IPv6",value:"::",disabled:!I&&!D},...["127.0.0.1","::1"].map(U=>({label:U,value:U,disabled:!I&&k!==U})),...((V=v==null?void 0:v.ips)==null?void 0:V.map(U=>({value:U,disabled:k!==U})))||[]];if(g)return g;if(E.error)return E.element;const L=loaded!==d?state.config=loaded=d:x.config,N={comp:NumberField,min:1,unit:"KB/s",placeholder:"no limit",sm:6},Y={comp:NumberField,placeholder:"no limit",toField:U=>U||"",sm:4},j=L.https_port>=0;return reactExports.createElement(Form,{sx:{maxWidth:"60em"},values:L,set(U,W){state.config[W]=U},stickyBar:!0,onError:alertDialog,save:Ae({ref:T,onClick:B},propsForModifiedValues(Object.keys(b).length>0)),barSx:{gap:2},addToBar:[reactExports.createElement(Button,{onClick(){m(),C()},startIcon:reactExports.createElement(Refresh)},"Reload"),reactExports.createElement(Button,{component:Link$4,to:"/config",startIcon:reactExports.createElement(EditNote)},S?"Config file":"File")],defaults(){return{xs:6}},fields:[reactExports.createElement(Section,{title:"Networking"}),{k:"port",comp:PortField,xs:12,sm:6,label:"HTTP port",status:(v==null?void 0:v.http)||!0,suggestedPort:80},{k:"https_port",comp:PortField,xs:12,sm:6,label:"HTTPS port",status:(v==null?void 0:v.https)||!0,suggestedPort:443,onChange(U){return U>=0&&!j&&!L.cert&&suggestMakingCert(),U}},j&&{k:"cert",comp:FileField,sm:4,label:"HTTPS certificate file",helperText:wikiLink("HTTPS#certificate","What is this?"),error:with_(v==null?void 0:v.https.error,U=>isCertError(U)&&(v.https.listening?U:[U," - ",reactExports.createElement(LinkBtn,{key:"fix",onClick:suggestMakingCert},"make one")]))},j&&Ae({k:"private_key",comp:FileField,sm:4,label:"HTTPS private key file"},with_(v==null?void 0:v.https.error,U=>isKeyError(U)?{error:!0,helperText:U}:null)),j&&{k:"force_https",comp:BoolField,label:"Force HTTPS",sm:4,disabled:!j||L.port<0,helperText:"Not applied to localhost. Doesn't work with proxies."},{k:"listen_interface",comp:SelectField,sm:4,afterList:A.some(U=>U.disabled)&&reactExports.createElement(Box,{p:"8px 16px 0",borderTop:"1px solid",fontSize:"small"},"Disabled addresses depend on the address you used to connect"),options:A},$t(Ae({k:"max_kbps"},N),{sm:4,label:"Limit output",helperText:"Doesn't apply to localhost"}),$t(Ae({k:"max_kbps_per_ip"},N),{sm:4,label:"Limit output per-IP"}),$t(Ae({k:CFG.max_downloads},Y),{helperText:"Number of simultaneous downloads"}),$t(Ae({k:CFG.max_downloads_per_ip},Y),{label:"Max downloads per-IP"}),$t(Ae({k:CFG.max_downloads_per_account},Y),{label:"Max downloads per-account",helperText:"Overrides other limits"}),{k:"admin_net",comp:NetmaskField,label:"Admin-panel accessible from",placeholder:"any address",helperText:"IP address of browser machine"},{k:"localhost_admin",comp:BoolField,xs:12,sm:6,label:"Unprotected Admin-panel on localhost",getError:U=>!U&&($==null?void 0:$.length)===0&&"First create at least one admin account",helperText:"Access without entering credentials"},{k:"proxies",comp:NumberField,xs:12,sm:4,md:4,max:9,label:"Number of incoming HTTP proxies",placeholder:"none",error:proxyWarning(L,v),helperText:"Wrong number will prevent detection of users' IP"},{k:CFG.outbound_proxy,xs:12,sm:5,md:4,placeholder:"none",helperText:"URL form",getError:U=>try_(()=>U&&new URL(U)&&"",()=>"Invalid URL")},{k:"allowed_referer",comp:AllowedReferer,sm:3,md:4,placeholder:"any",label:"Links from other websites",helperText:"In case another website is linking your files"},{k:"block",label:!1,comp:ArrayField,xs:12,prepend:!0,sm:!0,autoRowHeight:!0,form:{maxWidth:"30em"},fields:[{k:"ip",label:"Blocked IP",sm:12,required:!0,wrap:!0,$width:2,comp:NetmaskField,$column:{mergeRender:{comment:{},expire:{}}},helperText:"Be careful to not kick yourself out, by blocking also your IP"},{k:"expire",$type:"dateTime",minDate:new Date,sm:6,$hideUnder:"sm",helperText:"Leave empty for no expiration"},{k:"disabled",$type:"boolean",label:"Enabled",helperText:"In case you want to not block without deleting the rule",toField:U=>!U,fromField:U=>U?void 0:!0,sm:6,$width:80},{k:"comment",$hideUnder:"sm"}]},reactExports.createElement(Section,{title:"Front-end",subtitle:"Following options affect only the front-end"}),{k:"file_menu_on_link",comp:SelectField,label:"Access file menu",md:4,options:{"by clicking on file name":!0,"by dedicated button":!1}},{k:"title",md:8,helperText:"You can see this in the tab of your browser"},{k:"auto_play_seconds",comp:NumberField,xs:6,sm:3,min:1,max:1e4,required:!0,label:"Auto-play seconds delay",helperText:md(`Default value for the [Show interface](${REPO_URL}discussions/270)`)},{k:"tile_size",comp:NumberField,xs:6,sm:3,max:MAX_TILE_SIZE,required:!0,label:"Default tiles size",helperText:wikiLink("Tiles","To enable tiles-mode")},{k:"theme",comp:SelectField,xs:6,sm:3,options:THEME_OPTIONS},{k:"sort_by",comp:SelectField,xs:6,sm:3,options:SORT_BY_OPTIONS},{k:"invert_order",comp:BoolField,xs:6,md:3},{k:"folders_first",comp:BoolField,xs:6,md:3},{k:"sort_numerics",comp:BoolField,xs:6,md:3,label:"Sort numeric names"},{k:"title_with_path",comp:BoolField,xs:6,md:3},{k:"favicon",comp:FileField,placeholder:"None",fileMask:"*.ico|"+IMAGE_FILEMASK,xs:12,sm:9,helperText:"The icon associated to your website"},{k:"page_size",comp:NumberField,xs:!0,min:1,required:!0,helperText:"Entries per page"},reactExports.createElement(Section,{title:"Uploads"}),{k:"dont_overwrite_uploading",comp:BoolField,md:4,label:"Uploads don't overwrite",helperText:"Files are automatically numbered (frontend only)"},{k:CFG.split_uploads,comp:NumberField,unit:"MB",md:2,step:.1,fromField:U=>U*1e6,toField:U=>U?U/1e6:null,placeholder:"disabled",label:"Split uploads in chunks",helperText:"Overcome proxy limits (frontend only)"},{k:"delete_unfinished_uploads_after",comp:NumberField,md:3,min:0,unit:"seconds",required:!0},{k:"min_available_mb",comp:NumberField,md:3,min:0,unit:"MBytes",placeholder:"None",label:"Min. available disk space",helperText:"Reject uploads that don't comply"},reactExports.createElement(Section,{title:"Others"}),{k:"keep_session_alive",comp:BoolField,sm:6,md:6,helperText:"Keeps you logged in while the page is left open and the computer is on"},{k:"session_duration",comp:NumberField,sm:3,md:3,min:5,unit:"seconds",required:!0},{k:CFG.size_1024,label:"KB size",comp:SelectField,sm:3,options:{1e3:!1,1024:!0}},{k:"show_hidden_files",comp:BoolField,sm:3},{k:CFG.comments_storage,comp:SelectField,xs:12,sm:6,md:5,options:{"in file DESCRIPT.ION":"","in file attributes":"attr","in file attributes + load DESCRIPT.ION":"attr+ion"}},{k:"descript_ion_encoding",xs:8,sm:3,md:4,label:"Encoding of file DESCRIPT.ION",comp:SelectField,disabled:!L.descript_ion,options:["utf8",720,775,819,850,852,862,869,874,808,..._.range(1250,1257),10029,20866,21866]},{k:"open_browser_at_start",comp:BoolField,label:"Open Admin-panel at start",xs:12,sm:6,md:3,helperText:"Browser is automatically launched with HFS"},{k:"zip_calculate_size_for_seconds",comp:NumberField,xs:12,sm:6,md:3,unit:"seconds",required:!0,label:"Calculate ZIP size for",helperText:"If time is not enough, the browser will not show download percentage"},{k:"mime",comp:ArrayField,label:!1,reorder:!0,prepend:!0,xs:12,sm:12,md:6,fields:[{k:"v",label:"Mime type",placeholder:"auto",$width:2,helperText:"Leave empty to get automatic value"},{k:"k",label:"File mask",helperText:reactExports.createElement(WildcardsSupported),$width:1,$column:{renderCell:({value:U,id:W})=>reactExports.createElement("code",{},U,U==="*"&&W<_.size(L.mime)-1&&iconTooltip(Warning,md("Mime with `*` should be the last, because first matching row applies"),{color:"warning.main",ml:1}))}}],toField:U=>Object.entries(U||{}).map(([W,J])=>({k:W,v:J})),fromField:U=>Object.fromEntries(U.map(W=>[W.k,W.v||"auto"]))},{k:CFG.force_webdav_login,comp:WebdavAgentAuthField,sm:!0,label:"WebDAV force login",fallbackRE:"Microsoft-WebDAV",helperText:"Force login for clients that mishandle mixed anonymous/protected access"},L[CFG.force_webdav_login]!==!0&&{k:CFG.webdav_initial_auth,comp:WebdavAgentAuthField,sm:6,label:"WebDAV initial auth",helperText:"Force login only once. Used only when previous option does not match"},{k:"server_code",comp:TextEditorField,lang:"js",xs:12,helperText:md(`This code works similarly to [a plugin](${REPO_URL}blob/main/dev-plugins.md) (with some limitations)`)}]});function B(){return xt(this,null,function*(){var pe,ge;if(_.isEmpty(b))return toast("Nothing to save");const U=window.location,W=["port","https_port"];if(W.every(ye=>b[ye]!==void 0))return alertDialog("You cannot change both http and https port at once. Please, do one, save, and then do the other.","warning");const J=[(pe=v==null?void 0:v.http)==null?void 0:pe.listening,(ge=v==null?void 0:v.https)==null?void 0:ge.listening],Q=location.protocol==="https:";Q&&(W.reverse(),J.reverse());const X=b[W[0]],Z=L[W[1]],oe=Z>0&&J[1],ie=Q?"http":"https";if(X<0&&!oe)return alertDialog("You cannot switch off this port unless you have a working fixed port for "+ie,"warning");if(X===0&&!oe)return alertDialog("You cannot randomize this port unless you have a working fixed port for "+ie,"warning");const ee=X>0&&X!=U.port;if(ee&&!(yield confirmDialog("You are changing the port and you may be disconnected")))return;const re="cert"in b||"private_key"in b;if(Q&&re&&!(yield confirmDialog("You may disrupt https service, kicking you out")))return;yield apiCall("set_config",{values:b}),"split_uploads"in b&&(yield alertDialog('Users need to reload for the "split uploads" option to take effect',"warning"));const ce=ipForUrl(U.hostname),fe=U.pathname+U.hash,ae=X<=0?`${Q?"http:":"https:"}//${ce}:${Z}${fe}`:ee?`${U.protocol}//${ce}:${X||L[W[0]]}${fe}`:yield with_(`https://${ce}:${U.port}${fe}`,ye=>{var Ce;return!Q&&((Ce=b.force_https)!=null?Ce:d.force_https)&&fetch(ye).then(()=>ye,()=>0)});if(ae)return yield alertDialog("You are being redirected but in some cases this may fail. Hold on tight!","warning"),window.location.href=ae;const ue="port"in b||"https_port"in b;setTimeout(C,ue||re?1e3:0),Object.assign(loaded,b),recalculateChanges(),execDoneMessage(!1,T.current)})}}function Section({title:d,subtitle:m}){return reactExports.createElement(Divider,{role:"heading",sx:{fontSize:"larger",fontWeight:"bold"}},d,reactExports.createElement(Box,{fontSize:"small",fontWeight:"normal"},m))}function recalculateChanges(){const d={};if(state.config)for(const[m,g]of Object.entries(state.config))JSON.stringify(g)!==JSON.stringify(loaded==null?void 0:loaded[m])&&(d[m]=g);pageState.changes=d}function isCertError(d){return/certificate/.test(d)}function isKeyError(d){return/private key/.test(d)}function PortField({label:d,value:m,onChange:g,setApi:x,status:b,suggestedPort:E=1,error:v,helperText:C}){const S=reactExports.useRef(E);m>0&&(S.current=m);const T=Number(m>0?S.current:m)||0;let $=b==null?void 0:b.error;return $&&(isCertError($)||isKeyError($)?$=void 0:v=!0),reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{sx:{flexGrow:1},label:d,error:v,value:T,options:[{label:"off",value:-1},{label:"random",value:0},{label:"choose",value:S.current}],onChange:g}),m>0&&reactExports.createElement(NumberField,{label:"Number",fullWidth:!1,value:m,onChange:g,setApi:x,error:v,min:1,max:65535,helperText:C,sx:{minWidth:"5.5em"}})),b&&reactExports.createElement(FormHelperText,{error:v},b===!0?"...":$!=null?$:(b==null?void 0:b.listening)&&"Correctly working on port "+b.port))}function AllowedReferer({label:d,value:m,onChange:g,error:x}){const b=!m||m==="-",E="example.com";return reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:b?m:E,options:{"allow all":"","forbid all":"-","allow some":E},onChange:g,error:x,sx:b?void 0:{maxWidth:"11em"}}),!b&&reactExports.createElement(StringField,{label:"Domain to allow",value:m,placeholder:"example.com",onChange:g,error:x,helperText:reactExports.createElement(WildcardsSupported)}))}function WebdavAgentAuthField({label:d,value:m,onChange:g,error:x,helperText:b,fallbackRE:E=".*"}){const[v,C]=reactExports.useState(""),S=typeof m=="string";reactExports.useEffect(()=>C(S?m:E),[m]);const T=reactExports.useId();return reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:m,onChange:g,error:x,"aria-describedby":T,options:{Off:!1,Always:!0,RegEx:v},sx:S?{maxWidth:"9em"}:void 0}),S&&reactExports.createElement(StringField,{label:"User-Agent regex",value:m,onChange:g,error:x})),reactExports.createElement(FormHelperText,{id:T},b))}function suggestMakingCert(){return xt(this,null,function*(){return new Promise(d=>{const{close:m}=newDialog({icon:CardMembership,title:"Get a certificate",onClose:d,Content:()=>reactExports.createElement(Box,{p:1,lineHeight:1.5},reactExports.createElement(Box,{},"HTTPS needs a certificate to work."),reactExports.createElement(Box,{},"We suggest you to ",reactExports.createElement(InLink,{to:"internet"},"get a free but proper certificate"),"."),reactExports.createElement(Box,{},"If you don't have a domain ",reactExports.createElement(LinkBtn,{onClick:g},"make a self-signed certificate")," but that ",wikiLink("HTTPS#certificate"," won't be perfect"),"."))});function g(){return xt(this,null,function*(){if(!window.crypto.subtle)return alertDialog("Retry this procedure on localhost","warning");const x=yield apiCall("make_self_signed_cert",{fileName:"self"});loaded&&Object.assign(loaded,x),setTimeout(exposedReloadStatus,1e3),setTimeout(exposedReloadStatus,2e3),Object.assign(state.config,x),yield alertDialog("Certificate saved","success"),m()})}})})}function LogoutPage(){const{element:d}=useApiEx("get_config",{only:[]}),{username:m}=useSnapState();return d||reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:2},m?reactExports.createElement(reactExports.Fragment,{},"You are logged in as: "+m,reactExports.createElement(Btn,{icon:Logout,size:"large",onClick:()=>apiCall("logout").catch(x=>x.code!==HTTP_UNAUTHORIZED&&alertDialog(x))},"I want to logout")):reactExports.createElement(Alert,{severity:"info"},"You are not logged in, because authentication is not required on localhost"),reactExports.createElement(Btn,{icon:PowerSettingsNew,size:"large",color:"warning",confirm:"Stopping the server, this interface won't respond anymore",onClick(){return xt(this,null,function*(){yield apiCall("quit"),yield alertDialog("Good-bye","success"),location.reload()})}},"Quit HFS"))}function LangPage({setTitleSide:d}){const{list:m,error:g,connecting:x,reload:b}=useApiList("get_langs"),E=reactExports.useMemo(()=>["en",..._.uniq(m.map(C=>C.code))],[m]);return d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"Translation is limited to Front-end, it doesn't apply to Admin-panel"),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,Ae({mt:1,maxWidth:"50em",flex:1},fillFlexParentSx),reactExports.createElement(Box,{mb:1,display:"flex"},reactExports.createElement(Btn,{icon:Upload,onClick:v},"Add"),reactExports.createElement(Box,{flex:1}),reactExports.createElement(ForceLang,{langs:E})),reactExports.createElement(DataTable,{error:g,loading:x,rows:reactExports.useMemo(()=>_.sortBy(m,C=>(C.embedded?2:1)+C.code),[m.length]),hideFooter:!0,fillFlex:!0,columns:[{field:"code",width:110,valueFormatter:({value:C})=>C==null?void 0:C.toUpperCase()},{field:"version",width:120,hideUnder:"sm"},{field:"hfs_version",headerName:"HFS version",width:110},{field:"author",flex:1,hideUnder:"sm"}],actions:({row:C})=>[reactExports.createElement(IconBtn,{icon:Delete,title:C.embedded?"Cannot delete (embedded)":"Delete",confirm:`Delete language code "${C.code}"?`,disabled:C.embedded,onClick(){return xt(this,null,function*(){yield apiCall("del_lang",_.pick(C,"code")),b(),toast("Deleted")})}})]})));function v(){selectFiles(C=>xt(this,null,function*(){if(!C)return;const S={};for(const T of C)S[T.name]=yield readFile(T);try{yield apiCall("add_langs",{langs:S}),b(),toast("Loaded")}catch(T){yield alertDialog(T)}}),{accept:".json"})}}function ForceLang({langs:d}){const m=CFG.force_lang,{data:g,reload:x,loading:b}=useApiEx("get_config",{only:[m]}),[E,v]=reactExports.useState();reactExports.useEffect(()=>{var $;return v(($=g==null?void 0:g[m])!=null?$:E)},[g]);const[C,S]=reactExports.useState();return reactExports.createElement(SelectField,{fullWidth:!1,disabled:!!b||typeof C=="string",value:C!=null?C:E,onChange($){return xt(this,null,function*(){S($);try{yield apiCall("set_config",{values:{[m]:$}}),yield x()}finally{S(void 0)}})},options:[{label:"Respect browser language",value:""},...d.map($=>({value:$,label:"Force language: "+$}))]})}function switchBtn(d,m,g){return reactExports.createElement(VerticalSwitch,Ae({checked:d||!1,onChange(x,b){m(b)},disabled:d===void 0},g))}const VerticalSwitch=styled(Switch)(({theme:d,size:m})=>{const g=m&&m==="small";return{height:g?36:48,width:g?18:26,padding:5,"& .MuiSwitch-switchBase":{margin:1,padding:0,transform:`translateY(${g?16:22}px)`,"&.Mui-checked":{color:d.palette.primary.contrastText,transform:"translateY(2px)","& .MuiSwitch-thumb:before":{backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"/></svg>')`},"& + .MuiSwitch-track":{backgroundColor:d.palette.grey[500]}}},"& .Mui-checked .MuiSwitch-thumb":{backgroundColor:d.palette.primary.main,boxShadow:"0px 2px 1px 1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)"},"& .MuiSwitch-thumb":{width:g?16:24,height:g?16:24,backgroundColor:d.palette.grey[700],"&::before":{content:"''",position:"absolute",width:"85%",height:"85%",left:0,top:0,backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M19,13H5V11H19V13Z"/></svg>')`}},"& .MuiSwitch-track":{backgroundColor:d.palette.grey[500],borderRadius:20/2}}}),names={top:"Top of HTML Body",bottom:"Bottom of HTML Body"};function CustomHtmlPage({setTitleSide:d}){const{data:m,reload:g}=useApiEx("get_custom_html"),{customHtmlSection:x}=useSnapState(),[b,E]=reactExports.useState({}),[v,C]=reactExports.useState({});reactExports.useEffect(()=>{m&&(C(m.sections),k(m.enabled))},[m]),reactExports.useEffect(()=>E(v),[v]);const S=reactExports.useMemo(()=>{const D=_.sortBy(Object.keys(b),isNumeric);return D.length&&!D.includes(x)&&(state.customHtmlSection=_.findKey(b,Boolean)||(D==null?void 0:D[0])||""),D.map(A=>{var L;return{value:A,label:(names[A]||prefix("HTTP ",HTTP_MESSAGES[A])||_.startCase(A))+((L=b[A])!=null&&L.trim()?" *":"")}})},[useDebounce(b,500)]),T=reactExports.useMemo(()=>!_.isEqualWith(v,b,(D,A)=>!D&&!A||void 0),[v,b]),[$,k]=reactExports.useState();return d(reactExports.useMemo(()=>reactExports.createElement(Box,{sx:{display:{xs:"none",md:"block"}}},reactExports.createElement(Alert,{severity:"info"},md("Add HTML code to some parts of the Front-end. It's saved to file `custom.html`, that you can edit directly with your editor of choice. "),wikiLink("customization","More help")),reactExports.createElement(Alert,{severity:"info"},md("To customize icons "),wikiLink("customization#icons","read documentation"))),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{display:"flex",alignItems:"center",gap:1,mb:1},reactExports.createElement(SelectField,{label:"Section",value:x,options:S,onChange:D=>state.customHtmlSection=D}),reloadBtn(g),reactExports.createElement(IconBtn,{icon:Save,title:`Save
807
- (ctrl+enter)`,modified:T,onClick:I}),hTooltip("Enable all sections",void 0,switchBtn($,D=>xt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.disable_custom_html]:!D}}),k(D)})))),reactExports.createElement(TextEditor,{lang:x==="style"?"css":x==="script"?"js":"html",value:(b==null?void 0:b[x])||"",style:{background:"#8881"},onValueChange(D){E(A=>$t(Ae({},A),{[x]:D}))},onKeyDown(D){["s","S","Enter"].includes(isCtrlKey(D))&&(I(),D.preventDefault())}}));function I(){return apiCall("set_custom_html",{sections:b}).then(()=>C(b))}}const COUNTRIES=ALL.filter(d=>WITH_IP.includes(d.code)),PORT_FORWARD_URL="https://portforward.com/",HIGHER_PORT=1080,MSG_ISP=reactExports.createElement("div",{},"HFS will probably not be reachable on the Internet. ",wikiLink("Work-on-the-internet#double-nat","Read more"));function InternetPage({setTitleSide:d}){var re,ce,fe,ae,ue;const[m,g]=reactExports.useState(),[x,b]=reactExports.useState(!1),[E,v]=reactExports.useState(!1),C=useApiEx("get_status"),S=useApiEx("get_config",{only:[CFG.base_url]}),T=(re=S.data)==null?void 0:re[CFG.base_url],$=with_([(fe=(ce=C.data)==null?void 0:ce.http)==null?void 0:fe.error,(ue=(ae=C.data)==null?void 0:ae.https)==null?void 0:ue.error],([pe,ge])=>pe&&ge?"error":pe||ge?"warning":"success"),k=useApiEx("get_nat",{},{timeout:20}),{data:I}=useApiEx("get_public_ips"),{data:D}=k,A=D==null?void 0:D.internalPort,L=(D==null?void 0:D.mapped)&&D.mapped.private.port!==A&&D.mapped.private.port,N=(D==null?void 0:D.externalIp)&&I&&!I.includes(D.externalIp),Y=useRequestRender();return reactExports.useEffect(()=>{Y.state&&Z(!0)},[Y.state]),d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"This page makes sure your site is working correctly on the Internet"),[])),reactExports.createElement(Flex,{vert:!0,gap:"2em",maxWidth:"40em"},Q(),J(),U(),z(),B());function j(pe){return pe.replace(new RegExp(".+<body>(.+)<\\/body>.+","is"),(ge,ye)=>ye||ge).replace(/<[^>]+>/g," ")}function B(){const{data:pe}=useApiEvents("get_dynamic_dns_error"),ge=reactExports.useRef();return reactExports.useEffect(()=>ge.current&&restartAnimation(ge.current,"1s blink"),[pe]),reactExports.createElement(TitleCard,{icon:Dns,title:"Dynamic DNS updater"},pe&&reactExports.createElement(Flex,{},pe.error?reactExports.createElement(ErrorIcon,{color:"error",ref:ge}):reactExports.createElement(Check,{color:"success",ref:ge}),formatTimestamp$1(pe.ts)," – ",prefix("Error: ",j(pe.error)).slice(0,500)||"Updated successfully"),"This tool can keep your domain updated with your latest IP address. Not every service is compatible, and most of them have their own software for the job, which is superior, but we offer this lightweight solution in case you are more keen to it.",reactExports.createElement(ConfigForm,{form:(ye,{setValues:Ce})=>({fields:[reactExports.createElement(Flex,{},_.map({NoIP:{url:"https://$username:$password@dynupdate.no-ip.com/nic/update?hostname=$domain",fields:["username","password","domain"]},DuckDNS:{url:"https://www.duckdns.org/update/$domain/$token>OK",fields:[{k:"domain",helperText:"do NOT include the .duckdns.org part"},"token"]}},({url:Ee,fields:ve},Pe)=>reactExports.createElement(Btn,{key:Ee,onClick:()=>formDialog({title:Pe+" wizard",form:{maxWidth:"20em",before:reactExports.createElement(Box,{mb:1},"Following information is stored non-encrypted"),fields:ve.map(Me=>_.isString(Me)?{k:Me}:Me)}}).then(Me=>Me&&Ce({[CFG.dynamic_dns_url]:replace(Ee,Me,"$")}))},Pe+" wizard"))),{k:CFG.dynamic_dns_url,label:"Updater URL",multiline:!0,helperText:"Refer to your DNS service provider to know what URL can automatically keep your domain updated. Supported symbols are $IP4, $IP6, $IPX. Optionally, you can append “>” followed by a regular expression to determine a successful answer, otherwise status code will be used."}]})}))}function z(){const pe=reactExports.useMemo(()=>COUNTRIES.map(ge=>({value:ge.code,label:ge.name})),[COUNTRIES]);return reactExports.createElement(TitleCard,{title:"Geo IP",icon:Public},reactExports.createElement(ConfigForm,{keys:[CFG.geo_enable,CFG.geo_allow,CFG.geo_list,CFG.geo_allow_unknown],form:ge=>{var ye;return{fields:[{k:CFG.geo_enable,comp:BoolField,label:"Enable",helperText:md("Necessary database will be downloaded every month (2MB). Service is made possible thanks to [IP2Location](https://www.ip2location.com).")},...ge!=null&&ge[CFG.geo_enable]?[{k:CFG.geo_allow,comp:SelectField,label:"Rule",options:{"no restriction":null,"block selected countries":!1,"allow selected countries":!0}},ge[CFG.geo_allow]!=null&&{k:CFG.geo_list,comp:MultiSelectField,label:`Selected countries (${((ye=ge[CFG.geo_list])==null?void 0:ye.length)||0})`,valueSeparator:!1,placeholder:"none",options:pe,renderOption:Ce=>reactExports.createElement(Country,{code:Ce.value,long:!0}),clearable:!0,getError:Ce=>ge[CFG.geo_allow]&&!(Ce!=null&&Ce.length)&&"Cannot be empty"},ge[CFG.geo_allow]!=null&&{k:CFG.geo_allow_unknown,comp:SelectField,label:"When country cannot be determined",helperText:"Local IPs are ignored",options:{Allow:!0,Block:!1}}]:[]]}},addToBar:[reactExports.createElement(Box,{flex:1}),reactExports.createElement(Btn,{icon:Search,onClick:V},"Lookup IP")]}))}function V(){return xt(this,null,function*(){const pe=yield promptDialog("Lookup IP");if(!pe)return;const{country:ge}=yield apiCall("geo_ip",{ip:pe});return ge?alertDialog(reactExports.createElement(Country,{code:ge,long:!0}),"success"):alertDialog("IP not found","error")})}function U(){var De;const[pe,ge]=reactExports.useState(),ye=useApiEx("get_cert");reactExports.useEffect(()=>{apiCall("get_config",{only:["acme_domain","acme_renew"]}).then(ge)},[]);const[Ce,Ee]=reactExports.useState(!1);if(!pe)return reactExports.createElement(CircularProgress);const{https:ve}=C.data||{},Pe=(ve==null?void 0:ve.port)===PORT_DISABLED,Me=ve==null?void 0:ve.error;return C.element||reactExports.createElement(TitleCard,{title:"HTTPS",icon:Lock,color:ve!=null&&ve.listening&&!Me?"success":"warning"},Me?reactExports.createElement(Alert,{severity:"warning"},Me):Pe&&reactExports.createElement(LinkBtn,{onClick:W},"Not enabled"),ye.element||with_(ye.data,Le=>{var Ge,Ie;return Le.none?reactExports.createElement(LinkBtn,{onClick:Re},"No certificate configured"):reactExports.createElement(Box,{},reactExports.createElement(CardMembership,{fontSize:"small",sx:{mr:1,verticalAlign:"middle"}}),"Current certificate",reactExports.createElement("ul",{},reactExports.createElement("li",{},"Domain: ",((Ge=Le.altNames)==null?void 0:Ge.join(" + "))||"-"),reactExports.createElement("li",{},"Issuer: ",((Ie=Le.issuer)==null?void 0:Ie.O)||reactExports.createElement("i",{},"self-signed")),reactExports.createElement("li",{},"Validity: ",["validFrom","validTo"].map(Be=>formatTimestamp$1(Le[Be])).join(" – "))))}),reactExports.createElement(Divider),reactExports.createElement(Form,{gap:1,gridProps:{rowSpacing:1},values:pe,set(Le,Ge){ge(Ie=>{const Be=$t(Ae({},Ie),{[Ge]:Le});return Ee(!0),apiCall("set_config",{values:Be}).finally(()=>Ee(!1)),Be})},fields:[md("Generate certificate using [Let's Encrypt](https://letsencrypt.org)"),{k:"acme_domain",label:"Domain for certificate",sm:((De=pe.acme_domain)==null?void 0:De.length)>30?12:6,required:!0,multiline:!0,fromField:Le=>Le.replaceAll(`
804
+ `,quote:'"'},CSV_INITAL_STATE={field:0,fieldOffset:0,line:0,lineOffset:0,quoted:!1,appendCell:!1,appendField:!1,appendRow:!1};class ParseError extends Error{constructor(m,g){super(`Invalid CSV at ${m}:${g}`)}}class Parser{constructor(m=DefaultConfiguration){Xo(this,"_rows",[]);Xo(this,"_row",[]);Xo(this,"_cell","");Xo(this,"_options",DefaultConfiguration);Xo(this,"_state",Ae({},CSV_INITAL_STATE));Xo(this,"_index",0);Xo(this,"_current","");Xo(this,"_previous","");Xo(this,"_quoteState",Ae({},CSV_INITAL_STATE));this._options=Object.assign({},DefaultConfiguration,m)}parse(m){for(this.reset(),this._index=0;this._index<m.length;this._index++)this._state.appendCell=!0,this._previous=this._current,this._current=m[this._index],this.handleNext();if(this._row.length>0&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this.addRow(this._row,this._rows,this._state)),this._state.quoted)throw new ParseError(this._quoteState.line,this._quoteState.lineOffset);return this.makeImmutable(),this._rows}get rows(){return this._rows}get json(){if(this.rows.length>0){const m=this.rows[0].filter(g=>typeof g=="string");return Object.freeze(this.rows.filter((g,x)=>g&&x>0).map(g=>{const x={};return m.forEach((b,E)=>{x[b]=g[E]}),Object.freeze(x)}))}return Object.freeze([])}handleNext(){this.handleQuote()||this.handleFieldSeparator()||this.handleLineSeparator(),this.processState()}handleQuote(){return this._current===this._options.quote?(this._quoteState=Ae({},this._state),this._previous==="\\"?this.handleQuoteEscaped():this.handleQuoteNotEscaped(),!0):!1}handleQuoteEscaped(){this._cell=this._cell.slice(0,Math.max(0,this._cell.length-1))}handleQuoteNotEscaped(){if(this._cell.length===0||this._state.quoted)this._state.quoted=!this._state.quoted;else throw new ParseError(this._state.line,this._state.lineOffset);this._state.appendCell=!1}handleFieldSeparator(){return this._current===this._options.fieldSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0),!0):!1}handleLineSeparator(){return this._current===this._options.lineSeparator?(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0,this._state.appendRow=!0),!0):!1}processState(){this._state.appendCell&&(this._cell+=this._current),this._state.appendField&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this._cell=""),this._state.appendRow&&(this.addRow(this._row,this._rows,this._state),this._row=[]),this._state.lineOffset++,this._state.fieldOffset++}fieldValue(m){return m}addField(m,g,x){g.push(m),x.field++,x.fieldOffset=-1,x.appendField=!1}addRow(m,g,x){g.push(m),x.field=0,x.line++,x.lineOffset=-1,x.appendRow=!1}makeImmutable(){this.rows.forEach(m=>{m.forEach(g=>Object.freeze(g)),Object.freeze(m)}),Object.freeze(this._rows)}reset(){this._rows=[],this._row=[],this._cell="",this._state=Ae({},CSV_INITAL_STATE),this._index=0,this._current="",this._previous="",this._quoteState=Ae({},CSV_INITAL_STATE)}}function importAccountsCsv(d){return xt(this,null,function*(){selectFiles(m=>xt(this,null,function*(){const g=m==null?void 0:m[0];if(!g)return;const x=yield readFile(g);if(!x)return;const E=new Parser().parse(x.trim()),v={comp:NumberField,min:1,max:9,xs:6,typing:!0},C={skipFirstLines:0,usernameColumn:1,passwordColumn:2,groupColumn:3,redirectColumn:4,overwriteExistingAccounts:!1},S=yield formDialog({title:"Import accounts from CSV",dialogProps:{maxWidth:"sm"},values:C,form:k=>{const I=E[k.skipFirstLines||0],D=$(I,Ae(Ae({},C),k));return{save:{startIcon:reactExports.createElement(Upload),children:"Go"},fields:[reactExports.createElement(Box,{p:1},"Total lines:",E.length),{k:"skipFirstLines",comp:NumberField,max:E.length-1,typing:!0,md:6,helperText:reactExports.createElement(reactExports.Fragment,{},"First line: ",reactExports.createElement("code",{},I.join(", ")))},{k:"overwriteExistingAccounts",comp:BoolField,md:6},$t(Ae({k:"usernameColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First username: ",D.u)}),$t(Ae({k:"passwordColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First password: ",D.p)}),$t(Ae({k:"groupColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First group: ",D.g)}),$t(Ae({k:"redirectColumn"},v),{helperText:reactExports.createElement(reactExports.Fragment,{},"First redirect: ",D.r)})]}}});if(!S)return;const{close:T}=newDialog({title:"Importing...",Content(){const[k,I]=reactExports.useState(0),[D,A]=reactExports.useState();return reactExports.useEffect(()=>{let L=!1;return setTimeout(()=>xt(this,null,function*(){var z;if(L)return;let N=0,Y=0,j=S.skipFirstLines;const B=E.length-j;try{let V=0;for(const U of E){if(L)return;if(j){j--;continue}const W=$(U,S);A(W),I(V++/B),yield apiCall("add_account",{username:W.u,belongs:(z=W.g)==null?void 0:z.split(","),redirect:W.r,overwrite:S.overwriteExistingAccounts}).then(()=>{if(W.p)return apiNewPassword(W.u,W.p)},J=>{if(J.code===HTTP_CONFLICT)return Y++;N++})}}finally{T();const V=B-N-Y,U="Results: "+[prefix("",N," failed"),prefix("",V," succeeded"),prefix("",Y," skipped because already present")].filter(Boolean).join(", ");alertDialog(U,!V&&N?"error":N||Y?"warning":"success"),d==null||d()}})),()=>{L=!0}},[]),reactExports.createElement(Box,{display:"flex",gap:2,alignItems:"center"},reactExports.createElement(IconProgress,{icon:Group,progress:k}),D==null?void 0:D.u)}});function $(k,I){return{u:k[I.usernameColumn-1],p:k[I.passwordColumn-1],g:k[I.groupColumn-1],r:k[I.redirectColumn-1]}}}),{multiple:!1,accept:".csv"})})}function AccountsPage(){const{username:d,accountsAsTree:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_accounts"),[E,v]=reactExports.useState([]),C=Array.isArray(E);reactExports.useEffect(()=>{Array.isArray(g==null?void 0:g.list)&&C&&v(E.filter(B=>g.list.find(z=>(z==null?void 0:z.username)===B)))},[g]);const S=reactExports.useMemo(()=>g&&_.sortBy(g.list,[B=>!B.isGroup,B=>!B.adminActualAccess,"username"]),[g]),T=C&&_.find(S,{username:E[0]}),$="md",k=useBreakpoint($),I=!(E.length>0)||!S?null:C&&E.length>1?reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Typography,{variant:"h6"},E.length+" selected"),reactExports.createElement(Btn,{onClick:j,icon:Delete},"Remove")),reactExports.createElement(List,{},E.map(B=>reactExports.createElement(ListItem,{key:B},reactExports.createElement(ListItemText,{},B))))):with_(T||N(),B=>reactExports.createElement(AccountForm,{account:B,groups:S.filter(z=>z.isGroup).map(z=>z.username),addToBar:k&&[reactExports.createElement(Box,{flex:1}),account2icon(B,{fontSize:"large",sx:{p:1}}),reactExports.createElement(IconBtn,{icon:Close,title:"Close",onClick:Y})],reload:x,done(z){v(k?[z]:[]),x(),toast("Account saved","success")}}));reactExports.useEffect(()=>{if(k||!I||!E.length)return;const{close:B}=newDialog({title:_.isString(E)?_.startCase(E):E.length>1?"Multiple selection":T?(T.isGroup?"Group: ":"User: ")+T.username:"?",Content:()=>I,onClose:Y});return()=>void B()},[k,E,T]);const D={height:"100%",display:"flex",flexDirection:"column",overflow:"auto"},[A,L]=useToggleButton("Show tree","Show list",()=>({icon:AccountTree}),m);return state.accountsAsTree=A,b||reactExports.createElement(Grid,{container:!0,rowSpacing:1,columnSpacing:2,top:0,flex:"1 1 auto",height:0},reactExports.createElement(Grid,Ae({item:!0,xs:12,[$]:5,lg:4,xl:5},D),reactExports.createElement(Box,{display:"flex",flexWrap:"wrap",gap:2,mb:2,boxShadow:B=>`0px -8px 4px 10px ${B.palette.background.paper}`,sx:{position:"sticky",top:0,zIndex:2,backgroundColor:"background.paper",width:"fit-content"}},reactExports.createElement(MenuButton,{variant:"contained",startIcon:reactExports.createElement(PersonAdd),items:[{children:"user",onClick:()=>v("new-user")},{children:"group",onClick:()=>v("new-group")},{children:"from CSV",onClick:()=>importAccountsCsv(x)}]},"Add"),reloadBtn(x),L,(S==null?void 0:S.length)>0&&reactExports.createElement(Typography,{p:1},`${S.length} account(s)`)),!(S!=null&&S.length)&&reactExports.createElement(Alert,{severity:"info"},md`To access administration <u>remotely</u> you will need to create a user account with admin permission`),reactExports.createElement(TreeView,{multiSelect:!0,sx:{pr:4,pb:2,minWidth:"15em"},selected:C?E:[],defaultCollapseIcon:reactExports.createElement(ExpandMore),defaultExpandIcon:reactExports.createElement(ChevronRight),onNodeSelect(B,z){var V,U;(U=(V=B.target)==null?void 0:V.closest)!=null&&U.call(V,".MuiTreeItem-iconContainer")||v(z)}},S&&function B(z){return z.map(V=>{var U,W;return reactExports.createElement(TreeItem,{key:V.username,nodeId:V.username,label:reactExports.createElement(Box,{sx:{display:"flex",flexWrap:"wrap",padding:".2em 0",columnGap:".5em",alignItems:"center"}},account2icon(V),(V.disabled||V.canLogin===!1)&&iconTooltip(DoNotDisturb,V.disabled?"Disabled":"Disabled by its groups",V.disabled?void 0:{color:"text.secondary"}),(V.expire||V.days_to_live)&&reactExports.createElement(Schedule),V.adminActualAccess&&iconTooltip(MilitaryTech,"Can login into Admin"),V.username,!!((U=V.belongs)!=null&&U.length)&&reactExports.createElement(Box,{sx:{color:"text.secondary",fontSize:"small"}},"(",(W=V.belongs)==null?void 0:W.join(", "),")"))},A&&B(S.filter(J=>{var Q;return(Q=V.directMembers)==null?void 0:Q.includes(J.username)})))})}(A?S.filter(B=>!S.some(z=>{var V;return(V=z.members)==null?void 0:V.includes(B.username)})):S))),k&&I&&reactExports.createElement(Grid,Ae({item:!0,[$]:!0,maxWidth:"100%"},D),reactExports.createElement(Card,{sx:{overflow:"initial"}},reactExports.createElement(CardContent,{},I))));function N(){return{username:"",hasPassword:E==="new-user",adminActualAccess:!1,invalidated:void 0,canLogin:!0,canChangePassword:!0,isGroup:E==="new-group",members:[],directMembers:[]}}function Y(){v([])}function j(){return xt(this,null,function*(){const B=_.without(E,d);if(E.length>B.length&&!(yield confirmDialog("You cannot ask to delete the account you are using. Continue with the rest?")))return;if(!B.length)return alertDialog("Nothing to delete","info");if(!(yield confirmDialog(`Delete ${B.length} item(s)?`)))return;const z=[];for(const V of B)(yield apiCall("del_account",{username:V}).then(()=>1,()=>0))||z.push(V);if(x(),z.length)return alertDialog("Following elements couldn't be deleted: "+z.join(", "),"error")})}}function account2icon(d,m={}){return reactExports.createElement(d.isGroup?Group:Person,m)}const ACCEPT_LINK="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept";function FileForm({file:d,addToBar:m,statusApi:g,accounts:x,saved:b,isSideBreakpoint:E}){var pe,ge,Ee;const ue=d,{parent:v,children:C,isRoot:S,byMasks:T}=ue,$=zt(ue,["parent","children","isRoot","byMasks"]),[k,I]=reactExports.useState($);reactExports.useEffect(()=>{I(Object.assign(objSameKeys(defaultPerms,()=>null),$))},[d]);const D=reactExports.useMemo(()=>{let ve=d.parent;for(;ve;){if(ve.default!=null)return ve.default;ve=ve.parent}},[d]),{source:A}=d,L=d.type==="folder",N=!d.type&&A&&d.size<0,Y=k.url!==void 0,j=A!==void 0,B=j&&L,z=useBreakpoint("xl"),V=!Y&&(z||j),U=!Y&&z||j&&!B,W=d.accept>""||L&&((ge=d.can_upload)!=null?ge:(pe=d.inherited)==null?void 0:pe.can_upload),J=L,Q=useDialogBarColors(),{movingFile:X}=useSnapState(),Z=!j&&reactExports.createElement(Box,{color:"warning.main",component:"span"},"Works only on folders with disk source! "),oe={can_read:!Y,can_see:!0,can_archive:!Y,can_list:L,can_upload:L,can_delete:L},ie=!k.icon,ee=k.icon&&!k.icon.includes("."),re=A&&basename(A),ce=re===k.name;return reactExports.createElement(Form,{values:k,set(ve,Pe){I(Me=>(Pe==="source"&&ce&&(Me.name=basename(ve)),$t(Ae({},Me),{[Pe]:ve})))},barSx:Ae({gap:2,width:"100%"},Q),stickyBar:!0,addToBar:[L&&!E&&reactExports.createElement(AddVfsBtn,{variant:"outlined"},"Add"),reactExports.createElement(IconBtn,{icon:ContentCut,disabled:S||X===d.id,title:"Cut (you can also use drag & drop to move items)","aria-label":"Cut",onClick(){state.movingFile=d.id,alertDialog(reactExports.createElement(Box,{},"Now that this is marked for moving, click on the destination folder, and then the paste button ",reactExports.createElement(ContentPaste)),"info")}}),X&&reactExports.createElement(IconBtn,{icon:ContentPaste,disabled:d.type!=="folder"||d.id.startsWith(X)||d.id===X.replace(/[^/]+\/?$/,""),title:X,onClick(){return xt(this,null,function*(){moveVfs(X,d.id)&&(state.movingFile="")})}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Delete",confirm:`Delete ${d.name}?`,disabled:S,onClick(){deleteVfs([d.id]),b()}}),...wantArray(m)],onError:alertDialog,save:$t(Ae({},propsForModifiedValues(isModifiedConfig(k,$))),{children:"Apply",startIcon:reactExports.createElement(Check),onClick(){return xt(this,null,function*(){const ve=state.selectedFiles[0]||id2vfsNode.get(k.id);if(!ve)throw Error("Selected node not found");const Pe=_.omit(k,["birthtime","mtime","size","id"]),Me=ve.id;prepareVfsUndo(),Object.assign(ve,Pe),Pe.name!==void 0&&reindexVfs({node:ve,clearMap:!1,select:[ve]}),ve.id!==Me&&I(Re=>$t(Ae({},Re),{id:ve.id})),markVfsModified(),b()})}}),fields:[S?reactExports.createElement(Alert,{severity:"info"},"This is the Home folder, the root of your shared files. Options set here will be applied to all files."):L&&j&&reactExports.createElement(Alert,{severity:"info"},'To set permissions on individual items in folder, add them by clicking Add button, and then "from disk"'),$t(Ae({k:"name",required:!0,xl:!0,helperText:j&&"You can decide a name that's different from the one on your disk"},S&&{disabled:!0,value:"Home folder"}),{end:re&&!ce&&reactExports.createElement(Btn,{icon:RestartAlt,title:"Reset to same name on disk",onClick:()=>I($t(Ae({},k),{name:re}))})}),Y?{k:"url",label:"URL",lg:12,xl:8,required:!0}:{k:"source",label:"Disk source",xl:!0,comp:FileField,files:N||!L,folders:N||L,placeholder:"none",helperText:k.source?L?"Files from this path on disk will be listed, but you can add more":void 0:"If you enter a path here, its content will be listed. Leaving this empty, makes this folder fully virtual."},{k:"id",comp:LinkField,statusApi:g,xs:12},{k:"order",comp:NumberField,min:-1e5,max:1e5,label:"Priority (order in the frontend)",placeholder:"default",sm:4,helperText:wikiLink("Virtual-file-system#order","To force position")},{k:"iconType",comp:SelectField,options:["default","file","embedded"],value:k.icon?ee?"embedded":"file":"default",fromField:ve=>I($t(Ae({},k),{icon:ve==="default"?"":ve==="file"?"select.a.file":Object.keys(SYS_ICONS)[0]})),xs:!0,sm:ie?8:!0},!ie&&Ae({k:"icon",xs:8,sm:4},ee?{comp:SelectField,options:_.map(_.uniqBy(_.map(SYS_ICONS,(ve,Pe)=>{var Me;return[Pe,ve[0],(Me=ve[1])!=null?Me:Pe]}),ve=>ve[2]),([ve,Pe])=>({value:ve,label:reactExports.createElement(Flex,{gap:".5em"},hIcon(ve),hIcon(Pe)," ",ve)})),helperText:"The second icon is the fallback"}:{label:"Icon file",placeholder:"default",comp:FileField,fileMask:IMAGE_FILEMASK}),fe("can_read","Who can see but not download will be asked to log in"),fe("can_archive","Should this be included when user downloads as ZIP"),fe("can_list","Permission to request the list of a folder. The list will include only things you can see.",{contentText:"subfolders"}),fe("can_delete",[Z,"Those who can delete can also rename and cut/move"]),fe("can_upload",Z,{contentText:"subfolders"}),fe("can_see",["See this item in the list. ",wikiLink("Permissions","More help.")]),Y&&{k:"target",comp:BoolField,sm:!0,label:"Open in new browser",fromField:ve=>ve?"_blank":null,toField:ve=>ve>""},U&&{k:"size",comp:DisplayField,sm:6,lg:4,toField:formatBytes},V&&{k:"birthtime",comp:DisplayField,sm:6,lg:U&&4,label:"Created",toField:formatTimestamp$1},V&&{k:"mtime",comp:DisplayField,sm:6,lg:U&&4,label:"Modified",toField:formatTimestamp$1},W&&{k:"accept",label:"Accept on upload",placeholder:"anything",xl:J?4:12,helperText:reactExports.createElement("span",{},"Not enforced, just hinting the browser. ",reactExports.createElement(Link$3,{href:ACCEPT_LINK,target:"_blank"},"Example: .zip"))},J&&{k:"default",comp:BoolField,xl:W?8:12,label:"Serve as web-page if index.html is found"+(D&&k.default==null?" (inherited)":""),value:(Ee=k.default)!=null?Ee:D,toField:Boolean,fromField:ve=>ve&&!D?"index.html":ve?null:!1,helperText:md("...instead of showing list of files")},{k:"comment",multiline:!0,xl:!0},L&&{k:"masks",multiline:!0,xl:6,toField:YAML.stringify,fromField:ve=>ve?YAML.parse(ve):void 0,comp:TextEditorField,lang:"yaml",helperText:["Special field, leave empty unless you know what you are doing. YAML syntax. ",wikiLink("Masks-field","(examples)")]}]});function fe(ve,Pe,Me={}){var Le,Ge,Ie,Be,He;if(!oe[ve])return null;const Re=[ve,...onlyTruthy(_.map(oe,(Ve,rt)=>!Ve&&rt))],De=_.difference(Object.keys(defaultPerms),Re);let Ye=(Ie=(Ge=(Le=d.inherited)==null?void 0:Le[ve])!=null?Ge:ae(ve))!=null?Ie:defaultPerms[ve];for(;typeof Ye=="string"&&_.get(oe,Ye)===!1;)Ye=(He=(Be=_.get(k,Ye))!=null?Be:Ye!==WHO_ANY_ACCOUNT?ae(Ye):void 0)!=null?He:_.get(defaultPerms,Ye);return Ae({comp:WhoField,k:ve,sm:6,lg:12,xl:4,parent:v,accounts:x,helperText:Pe,isDir:L,otherPerms:De.map(Ve=>({value:Ve,label:who2desc(Ve)})),label:"Who can "+perm2word(ve),inherit:Ye,byMasks:T==null?void 0:T[ve],fromField:Ve=>Ve!=null?Ve:null},Me)}function ae(ve){if(d[ve]!==void 0)return;let Pe=d.parent;for(;Pe;){let Me=Pe[ve];if(!isWhoObject(Me)||(Me=Me.children,Me!==void 0))return Me;Pe=Pe.parent}}}function perm2word(d){return xlate(d.split("_")[1],{read:"download",archive:"zip",list:"access list"})}function WhoField(A){var L=A,{value:d,onChange:m,parent:g,inherit:x,accounts:b,helperText:E,otherPerms:v,byMasks:C,hideValues:S,isChildren:T,isDir:$,contentText:k="folder content",setApi:I}=L,D=zt(L,["value","onChange","parent","inherit","accounts","helperText","otherPerms","byMasks","hideValues","isChildren","isDir","contentText","setApi"]);const N=who2desc(C!=null?C:x)+prefix(" (",C!==void 0?"from masks":g!==void 0?"as parent folder":"default",")"),Y=isWhoObject(d),j=Y?d.this:d,B=reactExports.useMemo(()=>onlyTruthy([{value:null,label:N},{value:!0},{value:!1},{value:"*"},...v,{value:[],label:"Select accounts"}].map(W=>!(S!=null&&S.includes(W.value))&&Ae({label:who2desc(W.value)},W))),[x,g,j,...wantArray(S)]),z=500,V=Array.isArray(j);return reactExports.createElement(Box,{sx:{borderRight:Y?"8px solid #8884":void 0,transition:`all ${z}ms`}},reactExports.createElement(SelectField,$t(Ae({},D),{value:V?[]:j!=null?j:null,onChange(W,{event:J}){m(Y?U($t(Ae({},d),{this:W!=null?W:void 0})):W!=null?W:void 0,{was:d,event:J})},options:B})),reactExports.createElement(Collapse,{in:V,timeout:z},V&&reactExports.createElement(MultiSelectField,$t(Ae({label:b!=null&&b.length?"Accounts "+D.label:"You didn't create any account yet",value:j,onChange:m,options:(b==null?void 0:b.map(W=>({value:W.username,label:W.username,a:W})))||[],placeholder:"none"},j.length===0&&{helperText:"Select some account",error:!0}),{renderOption:W=>{var J;return reactExports.createElement("span",{},((J=W.a)==null?void 0:J.isGroup)&&account2icon(W.a)," ",W.label)}}))),reactExports.createElement(FormHelperText,{},E,!T&&$&&reactExports.createElement(LinkBtn,{sx:{display:"block",mt:-.5},onClick(W){m(Y?j:{this:j,children:j==null?!x:void 0},{was:d,event:W})}},Y?"Set same permission for ":"Set different permission for ",k)),!T&&reactExports.createElement(Collapse,{in:Y,timeout:z},reactExports.createElement(WhoField,{label:"Permission for "+k,parent:g,inherit:x,accounts:b,otherPerms:v,isDir:$,value:Y?d==null?void 0:d.children:void 0,isChildren:!0,hideValues:[j!=null?j:x,j],onChange(W,{event:J}){Y&&m(U($t(Ae({},d),{children:W})),{was:d,event:J})}})));function U(W){return W.this===W.children?W.this:W}}function who2desc(d){return d===!1?"No one":d===!0?"Anyone":d==="*"?"Any logged-in account":Array.isArray(d)?d.join(", "):typeof d=="string"?`As "can ${perm2word(d)}"`:"*UNKNOWN*"+JSON.stringify(d)}function LinkField({value:d,statusApi:m}){const{reload:g,error:x}=m,b=useRequestRender();reactExports.useEffect(()=>m.sub(b),[]);const E=m.getData(),v=E&&(E.urls.https||E.urls.http||[E.base_url]),C=try_(()=>normalizeHost(new URL(E==null?void 0:E.baseUrl).host)),S=reactExports.useMemo(()=>C&&_.find(E.roots,(D,A)=>matches(C,A)),[E]);S&&d&&(d=d.indexOf(S)===1?d.slice(S.length):void 0);const T=prefix((E==null?void 0:E.baseUrl)||"",d),$=reactExports.useMemo(()=>reactExports.forwardRef((D,A)=>reactExports.createElement(Link$3,$t(Ae({ref:A},D),{href:T,style:{height:"auto",overflow:"hidden",textOverflow:"ellipsis"},target:"frontend"}),T)),[T]);return reactExports.createElement(Box,{display:"flex"},C?v?reactExports.createElement(DisplayField,{label:"Link",className:MASK_IN_TESTS,value:T||`outside of configured main address (${C})`,error:x,InputProps:T?{inputComponent:$}:void 0,end:reactExports.createElement(Box,{},reactExports.createElement(IconBtn,{icon:ContentCopy,title:"Copy",disabled:!T,doneAnimation:!0,onClick:()=>copyTextToClipboard(T)}),reactExports.createElement(IconBtn,{icon:QrCode2,title:"QR Code",onClick:k,disabled:!T}),reactExports.createElement(IconBtn,{icon:Edit,title:"Change",onClick(){changeBaseUrl().then(g)}}))}):"error":"Invalid baseUrl");function k(){newDialog({title:"QR Code",dialogProps:{sx:{bgcolor:"background.default",border:"1px solid"}},Content(){const D=useTheme$1();return reactExports.createElement("canvas",{ref:A=>A&&I(A,T,D.palette.text.primary),style:{width:"100%"}})}})}function I(D,A,L){return xt(this,null,function*(){try{QrCreator$1.render({text:A,radius:0,ecLevel:"H",fill:L,background:null,size:300},D)}catch(N){console.error("Error generating QR code:",N)}})}}function changeBaseUrl(){return xt(this,null,function*(){return new Promise(d=>xt(this,null,function*(){const m=yield apiCall("get_status"),{base_url:g,roots:x}=yield apiCall("get_config",{only:[CFG.base_url,CFG.roots]}),b=m.urls.https||m.urls.http,E=Object.keys(x).map(S=>S.split("|")).flat().filter(S=>!/[*?]/.test(S)),v=splitAt("//",b[0])[0]+"//";b.push(..._.difference(E.map(S=>v+S),b));const{close:C}=newDialog({title:"Main address",Content(){const[S,T]=reactExports.useState(g||""),$=new URL(S||b[0]).protocol+"//",k=b.includes(S)?"":S.slice($.length),I=reactExports.createElement(Check,{sx:{ml:2}});return reactExports.createElement(Box,{display:"flex",flexDirection:"column"},reactExports.createElement(Box,{mb:2},"Choose a main address for your links"),reactExports.createElement(MenuList,{},reactExports.createElement(MenuItem,{selected:!S,onClick:()=>D("")},"Automatic",!S&&I),b.map(L=>reactExports.createElement(MenuItem,{key:L,selected:L===S,onClick:()=>D(L)},L,L===S&&I))),reactExports.createElement(StringField,{label:"Custom IP or domain",helperText:md(`You can type any address but *you* are responsible to make the address work.
805
+ This functionality is just to help you copy the link in case you have a domain or a complex network configuration.`),value:k,onChange:L=>D(prefix($,L)),start:reactExports.createElement(SelectField,{value:$,onChange:L=>k?D(L+k):toast("Enter domain first"),options:["http://","https://"],size:"small",variant:"standard",sx:{"& .MuiSelect-select":{pt:"1px",pb:0}}}),sx:{mt:2}}),reactExports.createElement(Box,{mt:2,textAlign:"right"},reactExports.createElement(Btn,{icon:Save,children:"Save",onClick(){return xt(this,null,function*(){S!==g&&(yield apiCall("set_config",{values:{[CFG.base_url]:S.replace(/\/$/,"")}})),C(),d(S)})}})));function D(L){L.endsWith("/")&&(L=L.slice(0,-1)),T(L)}}})}))})}let selectOnReload,exposeVfsLoading;const id2vfsNode=new Map;function VfsPage({setTitleSide:d}){var J,Q,X,Z;const{vfs:m,selectedFiles:g,movingFile:x,vfsShowDiskContentFor:b}=useSnapState(),{data:E,reload:v,element:C,loading:S}=useApiEx("get_vfs");exposeVfsLoading=S,reactExports.useEffect(()=>{m||v()},[m,v]);const{data:T}=useApiEx("get_config",{only:[CFG.force_address,CFG.base_url]}),$="md",k=useBreakpoint($),I=useApiEx("get_status"),{data:D}=I,A=reactExports.useMemo(()=>{var re;const oe=T==null?void 0:T[CFG.force_address],ie=(re=(D==null?void 0:D.urls.https)||(D==null?void 0:D.urls.http))==null?void 0:re.filter(ce=>{if(!oe)return!0;const fe=normalizeHost(new URL(ce).host);return Object.keys(D.roots).some(ae=>matches(fe,ae))}),ee=oe?T==null?void 0:T[CFG.base_url]:D==null?void 0:D.baseUrl;return ee&&ie&&!ie.includes(ee)&&ie.unshift(ee),ie},[D,T]),L=useApiEx("get_accounts"),N=reactExports.useMemo(()=>{var oe;return _.sortBy((oe=L==null?void 0:L.data)==null?void 0:oe.list,"username")},[L.data]),Y=useApiList(b&&"get_ls",{path:b}),j=reactExports.useRef(_.noop);reactExports.useEffect(()=>{var oe;x===((oe=g[0])==null?void 0:oe.id)&&j.current()},[x]);const B=!((Q=(J=E==null?void 0:E.root)==null?void 0:J.children)!=null&&Q.length)&&!((X=E==null?void 0:E.root)!=null&&X.source),z=reactExports.useMemo(()=>B?reactExports.createElement(Alert,{severity:"warning",children:reactExports.createElement(reactExports.Fragment,{},"Add something to your virtual file system — click the ",reactExports.createElement(Add),"button, or set a source for the Home folder")}):(A==null?void 0:A.length)>0&&reactExports.createElement(Alert,{severity:"info",children:["Your shared files can be browsed from ",reactExports.createElement("span",{className:HIDE_IN_TESTS,key:0},reactJoin(" or ",A.slice(0,3).map(oe=>reactExports.createElement(Link$3,{href:oe,target:"frontend"},oe))))]}),[B,A]);d(reactExports.useMemo(()=>reactExports.createElement(Box,{sx:{display:{xs:"none",md:"block"}}},reactExports.createElement(Alert,{severity:"info"},"This is what your users will see. Edit it freely – files on disk won’t be changed."),z),[z]));const V=(g==null?void 0:g.length)<2&&g[0],U=reactExports.useMemo(()=>L.element||!m?null:Y.enabled?Y.element||reactExports.createElement(Box,{},reactExports.createElement(Box,{fontSize:"xx-large",sx:{wordBreak:"break-all"}},"From ",b),reactExports.createElement(List,{dense:!0},Y.list.map(oe=>reactExports.createElement(ListItem,{key:oe.n,sx:{borderTop:"1px solid #8888"}},reactExports.createElement(ListLsItem,{it:oe}))))):V?reactExports.createElement(FileForm,{key:V.id,isSideBreakpoint:k,addToBar:k&&reactExports.createElement(Box,{flex:1,textAlign:"right",mr:1,color:"#8883"},vfsNodeIcon(V)),statusApi:I,saved:()=>j.current(),accounts:N!=null?N:[],file:V}):g.length?reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Typography,{variant:"h6"},g.length+" selected"),reactExports.createElement(Button,{onClick:deleteFiles,startIcon:reactExports.createElement(Delete)},"Remove")),reactExports.createElement(List,{dense:!0,disablePadding:!0},g.map(oe=>reactExports.createElement(ListItem,{key:oe.id},reactExports.createElement(ListItemText,{primary:oe.name,secondary:oe.source}))))):null,[L.element,m,Y.list,V,g]);if(reactExports.useEffect(()=>{if(k||!U)return;const oe=[""];{let ee=V&&V.parent;for(;ee&&!ee.isRoot;)oe.push(ee.name),ee=ee.parent}const{close:ie}=newDialog({title:b?"Disk content":g.length>1?"Multiple selection":reactExports.createElement(Flex,{},vfsNodeIcon(g[0]),reactExports.createElement(Flex,{flexWrap:"wrap",gap:"0 0.5em"},g[0].name||"Home",reactExports.createElement(Box,{component:"span",color:"text.secondary"},oe.join(" /")))),dialogProps:{sx:{justifyContent:"flex-end"}},Content:()=>U,onClose(ee){ee||(state.selectedFiles=[],state.vfsShowDiskContentFor="")}});return j.current=ie,()=>void ie(!0)},[k,(Z=_.last(g))==null?void 0:Z.id,U]),reactExports.useEffect(()=>{if(state.vfs||!E)return;const{root:oe}=E;if(!oe)return;oe.isRoot=!0,state.vfs=oe,state.vfsUndo=void 0,reindexVfs({sortChildren:!0,select:ie()}),state.vfsModified=!1;function ie(){if(!selectOnReload)return;j.current();const ee=selectOnReload;return selectOnReload=void 0,ee}},[E]),C&&!state.vfs)return id2vfsNode.clear(),C;const W={height:"100%",display:"flex",flexDirection:"column",overflow:"auto"};return reactExports.createElement(Grid,{container:!0,rowSpacing:1,columnSpacing:2,top:0,flex:"1 1 auto",height:0},reactExports.createElement(Grid,Ae({item:!0,xs:12,[$]:5,lg:6,xl:5},W),reactExports.createElement(VfsTree,{statusApi:I})),k&&U&&reactExports.createElement(Grid,Ae({item:!0,[$]:!0,maxWidth:"100%"},W),reactExports.createElement(Card,{sx:{overflow:"initial"}},reactExports.createElement(CardContent,{},U))))}function reindexVfs({node:d=state.vfs,clearMap:m=!0,sortChildren:g=!1,select:x=state.selectedFiles}={}){var E;if(!d)return;m&&id2vfsNode.clear(),b(d,((E=d.parent)==null?void 0:E.id)||"/",d.parent),x&&(state.selectedFiles=onlyTruthy(x.map(v=>id2vfsNode.get(typeof v=="string"?v:v.id))));function b(v,C,S){const T=v.id;v.parent=S;const $=v.isRoot?"/":prefix(C,pathEncode(v.name),v.type==="folder"?"/":"");if(T&&T!==$&&id2vfsNode.delete(T),v.id=$,id2vfsNode.set($,v),!!v.children){g&&(v.children=_.sortBy(v.children,["type",k=>{var I;return(I=k.name)==null?void 0:I.toLocaleLowerCase()}]));for(const k of v.children)b(k,v.id,v)}}}function reloadVfs(d){return selectOnReload=d,state.vfs=void 0,wait(100).then(()=>exposeVfsLoading)}function deleteFiles(){return xt(this,null,function*(){const d=state.selectedFiles;d.length&&(deleteVfs(d.map(m=>m.id)),toast(`${d.length} item(s) deleted`,"success"))})}function deleteVfs(d){const m=_.uniq(d).sort(),g=m.filter((x,b)=>x!=="/"&&(b===0||_.findLastIndex(m,E=>isDescendantUri(x,E),b-1)<0));if(g.length){prepareVfsUndo();for(const x of g){const b=id2vfsNode.get(x),E=b.parent.children;_.remove(E,{id:b.id})}state.movingFile&&g.some(x=>state.movingFile===x||isDescendantUri(state.movingFile,x))&&(state.movingFile=""),markVfsModified()}}function isDescendantUri(d,m){return m.endsWith("/")&&d.startsWith(m)}var NOTHING=Symbol.for("immer-nothing"),DRAFTABLE=Symbol.for("immer-draftable"),DRAFT_STATE=Symbol.for("immer-state");function die(d,...m){throw new Error(`[Immer] minified error nr: ${d}. Full error at: https://bit.ly/3cXEKWf`)}var getPrototypeOf=Object.getPrototypeOf;function isDraft(d){return!!d&&!!d[DRAFT_STATE]}function isDraftable(d){var m;return d?isPlainObject(d)||Array.isArray(d)||!!d[DRAFTABLE]||!!((m=d.constructor)!=null&&m[DRAFTABLE])||isMap(d)||isSet(d):!1}var objectCtorString=Object.prototype.constructor.toString();function isPlainObject(d){if(!d||typeof d!="object")return!1;const m=getPrototypeOf(d);if(m===null)return!0;const g=Object.hasOwnProperty.call(m,"constructor")&&m.constructor;return g===Object?!0:typeof g=="function"&&Function.toString.call(g)===objectCtorString}function each(d,m){getArchtype(d)===0?Reflect.ownKeys(d).forEach(g=>{m(g,d[g],d)}):d.forEach((g,x)=>m(x,g,d))}function getArchtype(d){const m=d[DRAFT_STATE];return m?m.type_:Array.isArray(d)?1:isMap(d)?2:isSet(d)?3:0}function has(d,m){return getArchtype(d)===2?d.has(m):Object.prototype.hasOwnProperty.call(d,m)}function set(d,m,g){const x=getArchtype(d);x===2?d.set(m,g):x===3?d.add(g):d[m]=g}function is$2(d,m){return d===m?d!==0||1/d===1/m:d!==d&&m!==m}function isMap(d){return d instanceof Map}function isSet(d){return d instanceof Set}function latest(d){return d.copy_||d.base_}function shallowCopy(d,m){if(isMap(d))return new Map(d);if(isSet(d))return new Set(d);if(Array.isArray(d))return Array.prototype.slice.call(d);const g=isPlainObject(d);if(m===!0||m==="class_only"&&!g){const x=Object.getOwnPropertyDescriptors(d);delete x[DRAFT_STATE];let b=Reflect.ownKeys(x);for(let E=0;E<b.length;E++){const v=b[E],C=x[v];C.writable===!1&&(C.writable=!0,C.configurable=!0),(C.get||C.set)&&(x[v]={configurable:!0,writable:!0,enumerable:C.enumerable,value:d[v]})}return Object.create(getPrototypeOf(d),x)}else{const x=getPrototypeOf(d);if(x!==null&&g)return Ae({},d);const b=Object.create(x);return Object.assign(b,d)}}function freeze(d,m=!1){return isFrozen(d)||isDraft(d)||!isDraftable(d)||(getArchtype(d)>1&&Object.defineProperties(d,{set:{value:dontMutateFrozenCollections},add:{value:dontMutateFrozenCollections},clear:{value:dontMutateFrozenCollections},delete:{value:dontMutateFrozenCollections}}),Object.freeze(d),m&&Object.values(d).forEach(g=>freeze(g,!0))),d}function dontMutateFrozenCollections(){die(2)}function isFrozen(d){return Object.isFrozen(d)}var plugins={};function getPlugin(d){const m=plugins[d];return m||die(0,d),m}var currentScope;function getCurrentScope(){return currentScope}function createScope(d,m){return{drafts_:[],parent_:d,immer_:m,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function usePatchesInScope(d,m){m&&(getPlugin("Patches"),d.patches_=[],d.inversePatches_=[],d.patchListener_=m)}function revokeScope(d){leaveScope(d),d.drafts_.forEach(revokeDraft),d.drafts_=null}function leaveScope(d){d===currentScope&&(currentScope=d.parent_)}function enterScope(d){return currentScope=createScope(currentScope,d)}function revokeDraft(d){const m=d[DRAFT_STATE];m.type_===0||m.type_===1?m.revoke_():m.revoked_=!0}function processResult(d,m){m.unfinalizedDrafts_=m.drafts_.length;const g=m.drafts_[0];return d!==void 0&&d!==g?(g[DRAFT_STATE].modified_&&(revokeScope(m),die(4)),isDraftable(d)&&(d=finalize(m,d),m.parent_||maybeFreeze(m,d)),m.patches_&&getPlugin("Patches").generateReplacementPatches_(g[DRAFT_STATE].base_,d,m.patches_,m.inversePatches_)):d=finalize(m,g,[]),revokeScope(m),m.patches_&&m.patchListener_(m.patches_,m.inversePatches_),d!==NOTHING?d:void 0}function finalize(d,m,g){if(isFrozen(m))return m;const x=m[DRAFT_STATE];if(!x)return each(m,(b,E)=>finalizeProperty(d,x,m,b,E,g)),m;if(x.scope_!==d)return m;if(!x.modified_)return maybeFreeze(d,x.base_,!0),x.base_;if(!x.finalized_){x.finalized_=!0,x.scope_.unfinalizedDrafts_--;const b=x.copy_;let E=b,v=!1;x.type_===3&&(E=new Set(b),b.clear(),v=!0),each(E,(C,S)=>finalizeProperty(d,x,b,C,S,g,v)),maybeFreeze(d,b,!1),g&&d.patches_&&getPlugin("Patches").generatePatches_(x,g,d.patches_,d.inversePatches_)}return x.copy_}function finalizeProperty(d,m,g,x,b,E,v){if(isDraft(b)){const C=E&&m&&m.type_!==3&&!has(m.assigned_,x)?E.concat(x):void 0,S=finalize(d,b,C);if(set(g,x,S),isDraft(S))d.canAutoFreeze_=!1;else return}else v&&g.add(b);if(isDraftable(b)&&!isFrozen(b)){if(!d.immer_.autoFreeze_&&d.unfinalizedDrafts_<1)return;finalize(d,b),(!m||!m.scope_.parent_)&&typeof x!="symbol"&&(isMap(g)?g.has(x):Object.prototype.propertyIsEnumerable.call(g,x))&&maybeFreeze(d,b)}}function maybeFreeze(d,m,g=!1){!d.parent_&&d.immer_.autoFreeze_&&d.canAutoFreeze_&&freeze(m,g)}function createProxyProxy(d,m){const g=Array.isArray(d),x={type_:g?1:0,scope_:m?m.scope_:getCurrentScope(),modified_:!1,finalized_:!1,assigned_:{},parent_:m,base_:d,draft_:null,copy_:null,revoke_:null,isManual_:!1};let b=x,E=objectTraps;g&&(b=[x],E=arrayTraps);const{revoke:v,proxy:C}=Proxy.revocable(b,E);return x.draft_=C,x.revoke_=v,C}var objectTraps={get(d,m){if(m===DRAFT_STATE)return d;const g=latest(d);if(!has(g,m))return readPropFromProto(d,g,m);const x=g[m];return d.finalized_||!isDraftable(x)?x:x===peek(d.base_,m)?(prepareCopy(d),d.copy_[m]=createProxy(x,d)):x},has(d,m){return m in latest(d)},ownKeys(d){return Reflect.ownKeys(latest(d))},set(d,m,g){const x=getDescriptorFromProto(latest(d),m);if(x!=null&&x.set)return x.set.call(d.draft_,g),!0;if(!d.modified_){const b=peek(latest(d),m),E=b==null?void 0:b[DRAFT_STATE];if(E&&E.base_===g)return d.copy_[m]=g,d.assigned_[m]=!1,!0;if(is$2(g,b)&&(g!==void 0||has(d.base_,m)))return!0;prepareCopy(d),markChanged(d)}return d.copy_[m]===g&&(g!==void 0||m in d.copy_)||Number.isNaN(g)&&Number.isNaN(d.copy_[m])||(d.copy_[m]=g,d.assigned_[m]=!0),!0},deleteProperty(d,m){return peek(d.base_,m)!==void 0||m in d.base_?(d.assigned_[m]=!1,prepareCopy(d),markChanged(d)):delete d.assigned_[m],d.copy_&&delete d.copy_[m],!0},getOwnPropertyDescriptor(d,m){const g=latest(d),x=Reflect.getOwnPropertyDescriptor(g,m);return x&&{writable:!0,configurable:d.type_!==1||m!=="length",enumerable:x.enumerable,value:g[m]}},defineProperty(){die(11)},getPrototypeOf(d){return getPrototypeOf(d.base_)},setPrototypeOf(){die(12)}},arrayTraps={};each(objectTraps,(d,m)=>{arrayTraps[d]=function(){return arguments[0]=arguments[0][0],m.apply(this,arguments)}});arrayTraps.deleteProperty=function(d,m){return arrayTraps.set.call(this,d,m,void 0)};arrayTraps.set=function(d,m,g){return objectTraps.set.call(this,d[0],m,g,d[0])};function peek(d,m){const g=d[DRAFT_STATE];return(g?latest(g):d)[m]}function readPropFromProto(d,m,g){var b;const x=getDescriptorFromProto(m,g);return x?"value"in x?x.value:(b=x.get)==null?void 0:b.call(d.draft_):void 0}function getDescriptorFromProto(d,m){if(!(m in d))return;let g=getPrototypeOf(d);for(;g;){const x=Object.getOwnPropertyDescriptor(g,m);if(x)return x;g=getPrototypeOf(g)}}function markChanged(d){d.modified_||(d.modified_=!0,d.parent_&&markChanged(d.parent_))}function prepareCopy(d){d.copy_||(d.copy_=shallowCopy(d.base_,d.scope_.immer_.useStrictShallowCopy_))}var Immer2=class{constructor(d){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(m,g,x)=>{if(typeof m=="function"&&typeof g!="function"){const E=g;g=m;const v=this;return function(S=E,...T){return v.produce(S,$=>g.call(this,$,...T))}}typeof g!="function"&&die(6),x!==void 0&&typeof x!="function"&&die(7);let b;if(isDraftable(m)){const E=enterScope(this),v=createProxy(m,void 0);let C=!0;try{b=g(v),C=!1}finally{C?revokeScope(E):leaveScope(E)}return usePatchesInScope(E,x),processResult(b,E)}else if(!m||typeof m!="object"){if(b=g(m),b===void 0&&(b=m),b===NOTHING&&(b=void 0),this.autoFreeze_&&freeze(b,!0),x){const E=[],v=[];getPlugin("Patches").generateReplacementPatches_(m,b,E,v),x(E,v)}return b}else die(1,m)},this.produceWithPatches=(m,g)=>{if(typeof m=="function")return(v,...C)=>this.produceWithPatches(v,S=>m(S,...C));let x,b;return[this.produce(m,g,(v,C)=>{x=v,b=C}),x,b]},typeof(d==null?void 0:d.autoFreeze)=="boolean"&&this.setAutoFreeze(d.autoFreeze),typeof(d==null?void 0:d.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(d.useStrictShallowCopy)}createDraft(d){isDraftable(d)||die(8),isDraft(d)&&(d=current(d));const m=enterScope(this),g=createProxy(d,void 0);return g[DRAFT_STATE].isManual_=!0,leaveScope(m),g}finishDraft(d,m){const g=d&&d[DRAFT_STATE];(!g||!g.isManual_)&&die(9);const{scope_:x}=g;return usePatchesInScope(x,m),processResult(void 0,x)}setAutoFreeze(d){this.autoFreeze_=d}setUseStrictShallowCopy(d){this.useStrictShallowCopy_=d}applyPatches(d,m){let g;for(g=m.length-1;g>=0;g--){const b=m[g];if(b.path.length===0&&b.op==="replace"){d=b.value;break}}g>-1&&(m=m.slice(g+1));const x=getPlugin("Patches").applyPatches_;return isDraft(d)?x(d,m):this.produce(d,b=>x(b,m))}};function createProxy(d,m){const g=isMap(d)?getPlugin("MapSet").proxyMap_(d,m):isSet(d)?getPlugin("MapSet").proxySet_(d,m):createProxyProxy(d,m);return(m?m.scope_:getCurrentScope()).drafts_.push(g),g}function current(d){return isDraft(d)||die(10,d),currentImpl(d)}function currentImpl(d){if(!isDraftable(d)||isFrozen(d))return d;const m=d[DRAFT_STATE];let g;if(m){if(!m.modified_)return m.base_;m.finalized_=!0,g=shallowCopy(d,m.scope_.immer_.useStrictShallowCopy_)}else g=shallowCopy(d,!0);return each(g,(x,b)=>{set(g,x,currentImpl(b))}),m&&(m.finalized_=!1),g}var immer=new Immer2,produce=immer.produce;const STORAGE_KEY="admin_state",INIT={title:"",config:{},selectedFiles:[],vfsShowDiskContentFor:"",accountsAsTree:!1,movingFile:"",vfs:void 0,vfsUndo:void 0,vfsModified:!1,expanded:[],loginRequired:!1,username:"",monitorOnlyFiles:!0,monitorWithLog:!0,customHtmlSection:"",darkTheme:void 0,dataTablePersistence:{},hideRandomPlugin:!1,onlinePluginsColumns:{version:!1,pushed_at:!1,license:!1}};Object.assign(INIT,JSON.parse(localStorage[STORAGE_KEY]||null));const state=proxy(INIT);Object.assign(window,{state});const SETTINGS_TO_STORE=["onlinePluginsColumns","monitorOnlyFiles","monitorWithLog","customHtmlSection","darkTheme","dataTablePersistence","accountsAsTree","hideRandomPlugin"],storeSettings=_.debounce(()=>localStorage[STORAGE_KEY]=JSON.stringify(_.pick(state,SETTINGS_TO_STORE)),500,{maxWait:1e3});for(const d of SETTINGS_TO_STORE)subscribeKey(state,d,storeSettings);function useSnapState(){return useSnapshot(state)}function markVfsModified(){state.vfs=Ae({},state.vfs),state.vfsModified=!0,reindexVfs()}function prepareVfsUndo(){state.vfs&&(state.vfsUndo=cloneVfs(state.vfs))}function undoVfs(){if(!state.vfs||!state.vfsUndo)return;const d=cloneVfs(state.vfs);state.vfs=state.vfsUndo,state.vfsUndo=d,state.vfsModified=!0,reindexVfs()}function updateStateObject(d,m,g){d[m]=produce(d[m],g)}function cloneVfs(d){const E=d,{parent:m,children:g}=E,x=zt(E,["parent","children"]),b=_.cloneDeep(x);return g&&(b.children=g.map(cloneVfs)),b}function useDark(){return useMediaQuery$1("(prefers-color-scheme: dark)")}const EMPTY={};function useMyTheme(){const{darkTheme:d}=useSnapState(),m=useDark(),g=(d!=null?d:m)?null:EMPTY;return reactExports.useMemo(()=>createTheme({palette:g||{mode:"dark",text:{primary:"#bbb",secondary:"#fff6"},primary:{main:"#469",light:"#68c"},secondary:{main:"#969"}},typography:{fontFamily:'Roboto, "Noto sans", "Segoe UI", "San Francisco", "Helvetica Neue", Arial, sans-serif'},components:{MuiLink:{defaultProps:g||{color:"primary.light"}},MuiTextField:{defaultProps:{variant:"filled"},styleOverrides:g||{root:{"& label.Mui-focused":{color:"#ccc"}}}},MuiButton:{defaultProps:{variant:"outlined"},styleOverrides:g||{root({ownerState:x}){return x.color==="primary"&&{color:x.variant==="contained"?"#ddd":"#68c"}}}}}}),[g])}function SwitchThemeBtn(d){const{darkTheme:m}=useSnapState(),g=useDark(),x=m!=null?m:g;return reactExports.createElement(Btn,Ae({icon:x?Brightness7:Brightness4,onClick:()=>{const b=!x;return state.darkTheme=g===b?void 0:b}},d),x?"Light theme":"Dark theme")}dialogsDefaults.Container=function(m){const g=reactExports.useRef(),x=useIsMobile();reactExports.useEffect(()=>{const T=setTimeout(()=>{const $=g.current;$&&(x||focusSelector("[autofocus]",$)||focusSelector(focusableSelector,$))});return()=>clearTimeout(T)},[x,g.current]);const b=useDialogBarColors();m=Ae(Ae({},dialogsDefaults),m);const S=m.dialogProps||{},{sx:E,root:v}=S,C=zt(S,["sx","root"]);return m.noFrame?reactExports.createElement(Modal,{open:!0,children:reactExports.createElement(Center,{},reactExports.createElement(m.Content))}):reactExports.createElement(Dialog$1,$t(Ae(Ae({open:!0,maxWidth:!1,fullScreen:x},C),v),{className:m.className,onClose:()=>closeDialog()}),m.title&&reactExports.createElement(DialogTitle,{sx:Ae({position:"sticky",top:0,p:1,zIndex:2,boxShadow:"0 0 8px #0004",display:"flex",alignItems:"center"},b)},m.icon&&componentOrNode(m.icon),reactExports.createElement(Box,{flex:1,minWidth:40,ml:1},componentOrNode(m.title)),m.closable&&reactExports.createElement(IconBtn,{icon:Close,title:"Close",onClick:()=>closeDialog()})),reactExports.createElement(DialogContent,{ref:g,sx:Ae({p:m.padding?{xs:1,sm:void 0}:0,pt:"16px !important",overflow:"initial",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"stretch"},E)},reactExports.createElement(m.Content)))};function useDialogBarColors(){const{darkTheme:d}=useSnapState();return(d!=null?d:useDark())?{bgcolor:"#2d2d2d"}:{bgcolor:"#ccc",color:"#444"}}const type2ico={error:ErrorIcon,warning:Warning,info:Info,success:Check};function alertDialog(d,m){var S;const g=typeof m=="string"?{type:m}:m!=null?m:{};let C=g,{type:x="info"}=C,b=zt(C,["type"]);d instanceof Error&&(d=err2msg$1(d.message||d.code),x="error");const E=pendingPromise(),v=newDialog($t(Ae({className:"dialog-alert dialog-alert-"+x,icon:(S=g.icon)!=null?S:reactExports.createElement(type2ico[x],{color:x}),onClose:E.resolve,title:_.upperFirst(x),dialogProps:{fullScreen:!1}},b),{Content(){return reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"center",gap:1},reactExports.isValidElement(d)?d:reactExports.createElement(Box,{fontSize:"large",lineHeight:"1.8em",pb:1},String(d)))}}));return Object.assign(E,v)}function confirmDialog(d,C={}){var S=C,{href:m,trueText:g="Go",falseText:x="Don't",before:b,after:E}=S,v=zt(S,["href","trueText","falseText","before","after"]);const T=pendingPromise(),$=newDialog($t(Ae({className:"dialog-confirm",onClose:T.resolve,dialogProps:{sx:{alignItems:"center"}}},v),{Content:k}));return Object.assign(T,$);function k(){return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{mb:2},typeof d=="string"?md(d):d),reactExports.createElement(Flex,{},b==null?void 0:b({onClick:I=>$.close(I)}),reactExports.createElement("a",{href:m,onClick:()=>$.close(!0)},reactExports.createElement(Button,{variant:"contained"},g)),reactExports.createElement(Button,{onClick:()=>$.close(!1)},x),E==null?void 0:E({onClick:I=>$.close(I)})))}}function formDialog(b){return xt(this,null,function*(){var E=b,{form:d,values:m,Wrapper:g}=E,x=zt(E,["form","values","Wrapper"]);let v;return new Promise(C=>{const S=newDialog($t(Ae({className:"dialog-form",onClose:T=>C(T||v)},x),{Content(){const[T,$]=reactExports.useState(m||{}),A=typeof d=="function"?d(T):d,{onChange:k,before:I}=A,D=zt(A,["onChange","before"]);return D.save===!1&&(v=T),reactExports.createElement(g||reactExports.Fragment,{},I,reactExports.createElement(Form,$t(Ae({},D),{values:T,set(L,N){$(Y=>{const j=$t(Ae({},Y),{[N]:L});return k==null||k(j,{setValues:$}),j})},save:D.save!==!1&&Ae({onClick(){S.close(T)}},D.save)})))}}))})})}function promptDialog(S){return xt(this,arguments,function*(d,v={}){var C=v,{value:m="",field:g,save:x,addToBar:b=[]}=C,E=zt(C,["value","field","save","addToBar"]);return formDialog($t(Ae({},E),{values:{text:m},form:Ae({fields:[$t(Ae({k:"text",label:null,autoFocus:!0},g),{before:reactExports.createElement(Box,{mb:2},d)})],save:Ae({children:"Continue",startIcon:reactExports.createElement(Forward)},x),saveOnEnter:!0,barSx:{gap:2},addToBar:[reactExports.createElement(Button,{onClick:closeDialog},"Cancel"),...b]},E.form)})).then(T=>T==null?void 0:T.text)})}function waitDialog(){return newDialog({Content:()=>reactExports.createElement(CircularProgress,{size:"20vw"}),noFrame:!0,closable:!1}).close}function toast(d,m="info",g){const b=newDialog($t(Ae({},g),{Content:E,dialogProps:{fullScreen:!1,PaperProps:{sx:{transition:"opacity 3000ms ease-in"},ref(v){v&&(v.style.opacity="0")}}}}));return setTimeout(b.close,3e3),b;function E(){return reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"center",gap:1},reactExports.isValidElement(m)?m:reactExports.createElement(type2ico[m],{color:m}),reactExports.isValidElement(d)?d:reactExports.createElement("div",{},String(d)))}}function spinner(){return reactExports.createElement(CircularProgress)}function useBreakpoint(d){return useMediaQuery$1(m=>m.breakpoints.up(d),{noSsr:!0})}function IconProgress({icon:d,progress:m,offset:g,title:x,sx:b}){return reactExports.createElement(Flex,{vert:!0,center:!0},reactExports.createElement(d,{sx:{position:"absolute",ml:"4px"}}),reactExports.createElement(CircularProgress,{value:m*100||0,variant:"determinate",size:32,sx:{position:"absolute"}}),hTooltip(x!=null?x:_.isNumber(m)?formatPerc(m):"Size unknown","",reactExports.createElement(CircularProgress,{color:"success",value:(g||1e-7)*100,variant:"determinate",size:32,sx:Ae({display:"flex"},b)})))}function Flex(v){var C=v,{vert:d=!1,center:m=!1,children:g=null,props:x={},component:b}=C,E=zt(C,["vert","center","children","props","component"]);return reactExports.createElement(Box,Ae({sx:Ae(Ae({display:"flex",gap:".8em",flexDirection:d?"column":void 0,alignItems:d?void 0:"center"},m&&{justifyContent:"center"}),E),component:b},x),g)}function wikiLink(d,m){return Array.isArray(m)&&(m=dontBotherWithKeys(m)),reactExports.createElement(Link$3,{href:WIKI_URL+d,target:"help"},m)}function WildcardsSupported(){return wikiLink("Wildcards","Wildcards supported")}function reloadBtn(d,m){return reactExports.createElement(IconBtn,Ae({icon:Refresh,title:"Reload",onClick:d},m))}function propsForModifiedValues(d){return d?{sx:{outline:"2px solid",animation:".5s blink 2"}}:void 0}function useRefPass(d){const m=reactExports.useRef(null);return Object.assign(m,{pass(g){m.current=g,_.isFunction(d)?d(g):d&&(d.current=g)}})}const IconBtn=reactExports.forwardRef((d,m)=>reactExports.createElement(Btn,Ae({ref:m},d))),Btn=reactExports.forwardRef((N,L)=>{var Y=N,{icon:d,title:m,onClick:g,disabled:x,progress:b,link:E,tooltipProps:v,confirm:C,doneMessage:S,doneAnimation:T,labelIf:$,children:k,modified:I,loading:D}=Y,A=zt(Y,["icon","title","onClick","disabled","progress","link","tooltipProps","confirm","doneMessage","doneAnimation","labelIf","children","modified","loading"]);var Z,oe;const[j,B]=useStateMounted(!1);typeof x=="string"&&(m=x),x=b||x?!0:void 0,E&&(g=()=>window.open(E));const z=useBreakpoint(_.isString($)?$:"xs")&&(_.isBoolean($)?$:!0);!z&&k&&(m=k);const V=useRefPass(L),U=_.merge(propsForModifiedValues(I),{ref:V.pass,disabled:x,"aria-hidden":x,onClick(...ie){return xt(this,null,function*(){if(j||C&&!(yield confirmDialog(C===!0?"Are you sure?":C)))return;const ee=g==null?void 0:g.apply(this,ie);ee instanceof Promise&&(B(!0),ee.finally(()=>B(!1)));try{(yield ee)!==!1&&execDoneMessage(S,T&&V.current)}catch(re){alertDialog(re)}})}},A),W=reactExports.isValidElement(d)?d:d&&reactExports.createElement(d);let J=k&&z?reactExports.createElement(LoadingButton,_.merge({variant:"contained",startIcon:W,loading:!!(D||j||b),loadingPosition:d&&"start",loadingIndicator:typeof b!="number"?void 0:reactExports.createElement(CircularProgress,{size:"1rem",value:b*100,variant:"determinate"}),children:z&&k},U,(!z||!k)&&{sx:{minWidth:"auto",px:1,py:"7px","& span":{mx:0}}})):reactExports.createElement(IconButton,_.merge(U,{sx:{height:"fit-content"},TouchRippleProps:{"aria-hidden":!0},"aria-label":!k||!z?(Z=A["aria-label"])!=null?Z:_.isString(m)?m:void 0:A["aria-label"]}),(b||j)&&b!==!1&&reactExports.createElement(CircularProgress,$t(Ae({},typeof b=="number"?{value:b*100,variant:"determinate"}:null),{style:{position:"absolute",top:"10%",left:"10%",width:"80%",height:"80%"}})),W);const Q=(oe=A["aria-label"])!=null?oe:with_(_.isString(m)&&m,ie=>ie?`${prefix("",_.isString(k)&&k," – ")}${ie}`:void 0);return m&&(J=reactExports.createElement("span",x?{role:"button","aria-label":Q,"aria-disabled":!0}:void 0,J),J=hTooltip(m,Q,J,v)),J});function execDoneMessage(d,m){m&&restartAnimation(m,"success .5s"),d&&toast(d===!0?"Operation completed":d,"success")}function iconTooltip(d,m,g,x){return hTooltip(m,void 0,reactExports.createElement(d,Ae({sx:g},x)))}function InLink(m){var d=zt(m,[]);const g=useNavigate();return d.onClickCapture=x=>xt(this,null,function*(){var b;for(x.preventDefault();anyDialogOpen();)yield(b=closeDialog())==null?void 0:b.closed;g(d.to)}),reactExports.createElement(Link$3,Ae({component:Link$4},d))}const Center=reactExports.forwardRef((d,m)=>reactExports.createElement(Box,Ae({ref:m,display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},d)));function LinkBtn(m){var d=zt(m,[]);return reactExports.createElement(Link$3,$t(Ae({},d),{href:"",sx:Ae({cursor:"pointer"},d.sx),role:"button",onClick(g){var x;g.preventDefault(),(x=d.onClick)==null||x.call(d,g)}}))}function usePauseButton(d="",m=!0,g){const[x,b]=useToggleButton(`Pause ${d}`,`Resume ${d}`,E=>Ae({icon:E?PauseCircle:PlayCircle,sx:{rotate:E?"180deg":"0deg"}},g),m);return{pause:!x,pauseButton:b}}function useToggleButton(d,m,g,x=!1){const[b,E]=reactExports.useState(x instanceof Promise||x instanceof Function?()=>{const T=callable(x);return T instanceof Promise?(T.then($=>E($)),!1):T}:x),v=reactExports.useCallback(()=>E(T=>!T),[]),C=g(b),S=reactExports.useMemo(()=>reactExports.createElement(IconBtn,$t(Ae({size:"small",color:b?"primary":void 0,title:b||m===void 0?d:m,"aria-label":d,"aria-pressed":b},C),{sx:Ae({transition:"all .5s"},C.sx),onClick(T){var $;($=C.onClick)==null||$.call(C,T),v()}})),[b]);return[b,S,E]}function NetmaskField(x){var b=x,{setApi:d,helperText:m}=b,g=zt(b,["setApi","helperText"]);const E=reactExports.useRef(!1);return d==null||d({getError(){return g.value&&apiCall("validate_net_mask",{mask:g.value}).then(v=>!v.result&&"Invalid mask")}}),reactExports.createElement(StringField,$t(Ae({helperText:reactExports.createElement("span",{},m,m&&" – ",wikiLink("Wildcards#network-masks","Wildcards supported"))},g),{onTyping(v){var C,S;return!E.current&&(v!=null&&v.includes("127.0.0.1"))&&!v.includes("::1")&&(E.current=!0,alertDialog('Hostname "localhost" is normally translated as ::1 instead of 127.0.0.1',"warning")),(S=(C=g.onTyping)==null?void 0:C.call(g,v))!=null?S:v}}))}function Country({code:d,ip:m,def:g,long:x,short:b}){const E=m&&!isIpLocalHost(m)&&!isIpLan(m),{data:v}=useBatch(d===void 0&&E&&ip2countryBatch,m,{delay:100});d||(d=v||"");const C=d&&_.find(ALL,{code:d});return C?hTooltip(x?void 0:C.name,void 0,reactExports.createElement("span",{},reactExports.createElement(Box,{className:`fflag fflag-${d.toUpperCase()}`,component:"span",mr:1}),x?C.name+prefix(" (",b&&d,")"):d)):reactExports.createElement(reactExports.Fragment,{},g)}function ip2countryBatch(d){return xt(this,null,function*(){return(yield apiCall("ip_country",{ips:d})).codes})}function hTooltip(d,m,g,x){return reactExports.createElement(Tooltip,Ae($t(Ae({title:d,children:g},m===""?{"aria-hidden":!0}:{"aria-label":m||_.isString(d)&&d||void 0}),{componentsProps:{popper:{sx:Ae({whiteSpace:"pre-wrap"},x==null?void 0:x.sx)}}}),x))}setDefaultApiCallOptions({onResponse(d,m){return xt(this,null,function*(){if(d.status===HTTP_UNAUTHORIZED)throw state.loginRequired=(m==null?void 0:m.possible)!==!1||HTTP_FORBIDDEN,new ApiError(d.status,m)})}});const ERRORS={timeout:"Operation timeout"};function useApiEx(...d){const m=useApi(...d);return $t(Ae({},m),{element:reactExports.useMemo(()=>d[0]?m.error?reactExports.createElement(Alert,{severity:"error"},xlate(String(m.error),ERRORS),reactExports.createElement(IconBtn,{icon:Refresh,title:"Reload",onClick:m.reload,sx:{m:"-10px 0 -8px 16px"}})):m.data===void 0?spinner():null:null,Object.values(m))})}function useApiList(d,m={},{map:g,invert:x,pause:b,limit:E}={}){const[v,C]=useStateMounted([]),[S,T]=useStateMounted(void 0),[$,k]=useStateMounted(void 0),[I,D]=useStateMounted(!0),[A,L]=useStateMounted(!1),[N,Y]=useStateMounted(!0),[j,B]=reactExports.useState(0),z=reactExports.useRef(0),[V,U]=reactExports.useState();reactExports.useEffect(()=>U(b?v:void 0),[b]),reactExports.useEffect(()=>{if(!d)return;const X=[],Z=_.debounce(()=>{const ee=X.splice(0,1/0);ee.length&&(x&&ee.reverse(),C(re=>{if(x){const fe=[...ee,...re];return fe.splice(E!=null?E:1/0,1/0),fe}const ce=[...re,...ee];return ce.splice(0,ce.length-(E!=null?E:1/0)),ce}))},1e3,{maxWait:1e3});k(void 0),L(!0),D(!0),Y(!0),C([]);const oe=apiEvents(d,objSameKeys(m,ee=>ee===!1?void 0:ee),(ee,re)=>{switch(ee){case"connected":return D(!1),setTimeout(()=>Z.flush());case"error":return k("Connection error"),setTimeout(Q,1e3),ie();case"closed":return ie();case"msg":const ce=[],fe=[];wantArray(re).forEach(ae=>{var ge,ye,Ce,Ee;if(!Array.isArray(ae))return console.debug("illegal list packet",ae);console.debug("LIST",...ae);const[ue,pe]=ae;if(ue===LIST.ready){Z.flush(),Y(!1);return}if(ue===LIST.error){pe===HTTP_UNAUTHORIZED?state.loginRequired=((ge=ae[2])==null?void 0:ge.possible)!==!1||HTTP_FORBIDDEN:k(_.isString(pe)||_.isNumber(pe)?err2msg$1(pe):pe);return}if(ue===LIST.props)return T(pe);if(ue===LIST.add){const ve=(ye=g==null?void 0:g(pe))!=null?ye:pe;(Ce=ve.id)!=null||(ve.id=z.current=Math.max(z.current,Date.now())+.001),X.push(ve),Z();return}if(ue===LIST.remove){const ve=_.matches(pe);_.isEmpty(_.remove(X,ve))&&ce.push(ve);return}if(ue===LIST.update){const ve=(Ee=g==null?void 0:g(ae[2]))!=null?Ee:ae[2],Pe=_.find(X,pe);if(Pe)return Object.assign(Pe,ve);fe.push([pe,ve]);return}console.debug("unknown list api",ue)}),C(ae=>{let ue=ae,pe;if(ce.length&&(pe=ae.filter(ge=>!ce.some(ye=>ye(ge))),pe.length<ae.length&&(ue=pe)),fe.length)for(const[ge,ye]of fe){const Ce=_.findIndex(ue,ge);Ce<0||(ue===ae&&(ue=pe!=null?pe:ae.slice()),ue[Ce]=Ae(Ae({},ue[Ce]),ye))}return ue}),oe.readyState===oe.CLOSED&&ie()}});return()=>oe.close();function ie(){Y(!1),L(!1),Z.flush()}},[j,d,JSON.stringify(m)]);const W=reactExports.useCallback(X=>C(Z=>produce(Z,X)),[C]),J=reactExports.useCallback((X,Z)=>{W(oe=>{const ie=_.find(oe,X);ie&&Object.assign(ie,Z)})},[W]);return{list:V!=null?V:v,props:S,loading:A,error:$,initializing:N,connecting:I,setList:C,updateList:W,updateEntry:J,reload:Q,enabled:!!d,element:I||N||A?spinner():$?reactExports.createElement(Alert,{severity:"error",sx:{flex:1}},err2msg$1($)):null};function Q(){B(X=>X+1)}}function MonitorPage({setTitleSide:d}){return d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"If you are behind a proxy, connections list may not match browsers activity"),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(MoreInfo),reactExports.createElement(Connections))}function MoreInfo(){var I,D;const{data:d,element:m,reload:g}=useApiEx("get_status");useInterval(g,1e4);const{data:x}=useApiEvents("get_connection_stats"),[b,E]=reactExports.useState(!1),v=useBreakpoint("md"),C=useBreakpoint("sm"),S=useBreakpoint("xl"),T=createDurationFormatter({maxTokens:2,skipZeroes:!0});return m||reactExports.createElement(Box,{display:"flex",flexWrap:"wrap",gap:{xs:.5,md:1},mb:{xs:1,sm:2}},(b||v)&&$("started",{label:"Uptime",render:A=>T(Date.now()-+new Date(A)),title:A=>"Started: "+formatTimestamp$1(A)}),(b||C)&&$("sent_got",{render:A=>({Sent:formatBytes(A[0]),Got:formatBytes(A[1])}),title:A=>"Since: "+formatTimestamp$1(A[2]),onDelete:()=>confirmDialog("Reset stats?").then(A=>A&&apiCall("clear_persistent",{k:["totalSent","totalGot"]}).then(()=>alertDialog("Done","success"),alertDialog))}),$("outSpeed",{label:"Output",render:formatSpeedK,minWidth:"8.5em"}),$("inSpeed",{label:"Input",render:formatSpeedK,minWidth:"8.5em"}),(b||C)&&$("ips",{label:"IPs",title:()=>"Currently connected"}),(v||b&&v||((I=d==null?void 0:d.http)==null?void 0:I.error))&&$("http",{label:"HTTP",render:k}),(v||b&&v||((D=d==null?void 0:d.https)==null?void 0:D.error))&&$("https",{label:"HTTPS",render:k}),(S||b)&&$("ram",{label:"RAM",render:formatBytes}),!S&&reactExports.createElement(IconBtn,{size:"small",icon:b?ChevronLeft:ChevronRight,title:"Show more",onClick:()=>E(A=>!A)}));function $(A,{label:L,minWidth:N,render:Y,title:j,onDelete:B}={}){var W;let z=(W=_.get(x,A))!=null?W:_.get(d,A);if(z===void 0)return null;let V;const U=j==null?void 0:j(z);return Y&&(z=Y(z),Array.isArray(z)&&([z,V]=z)),L||(L=_.capitalize(A.replaceAll("_"," "))),hTooltip(U,void 0,reactExports.createElement(Chip,{variant:"filled",color:V,onDelete:B,label:reactJoin(" – ",_.map(_.isPlainObject(z)?z:{[L]:z},(J,Q)=>reactExports.createElement("span",{style:{display:"inline-block",minWidth:N}},reactExports.createElement("b",{},Q),": ",J)))}))}function k(A){return A.listening?["port "+A.port,"success"]:A.error?[A.error,"error"]:"off"}}function Connections(){var I;const{list:d,error:m,props:g}=useApiList("get_connections"),x=useApiEx("get_config",{only:[CFG.geo_enable]}),{monitorOnlyFiles:b}=useSnapState(),{pause:E,pauseButton:v}=usePauseButton(),C=reactExports.useMemo(()=>d==null?void 0:d.filter(D=>!b||D.op).map((D,A)=>Ae({id:A},D)),[!E&&d,b]),S=useBreakpoint("md"),[T,$]=useToggleButton("Show log","Hide log",D=>({icon:History,sx:{rotate:D?0:"180deg"}}),state.monitorWithLog);state.monitorWithLog=T;const k=S&&T?6:0;return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{},reactExports.createElement(Flex,{flex:1},reactExports.createElement(SelectField,{fullWidth:!1,value:b,onChange:D=>state.monitorOnlyFiles=D,options:{"Show downloads+uploads":!0,"Show all connections":!1}})),S&&reactExports.createElement(Flex,{flex:1,justifyContent:"space-between"},T?"Live log":reactExports.createElement(Box),$)),reactExports.createElement(Grid,{container:!0,flex:1,columnSpacing:1},reactExports.createElement(Grid,{item:!0,xs:12-k,sx:fillFlexParentSx},reactExports.createElement(DataTable,{persist:"connections",error:m,rows:C,fillFlex:!0,noRows:b&&"No downloads/uploads at the moment",footerSide:()=>reactExports.createElement(Flex,{},v,reactExports.createElement(Btn,{size:"small",icon:DisconnectIcon,labelIf:"xl",confirm:"Disconnecting all connections but localhost. Continue?",onClick:()=>apiCall("disconnect",{allButLocalhost:!0}).then(D=>toast(`Disconnected: ${D.result}`))},"Disconnect all")),columns:[{field:"ip",headerName:"Address",flex:1,maxWidth:400,renderCell:({row:D,value:A})=>ipForUrl(A)+" :"+D.port,mergeRender:{user:{display:"flex",justifyContent:"space-between",gap:".5em"},agent:{},country:{}}},{field:"country",headerName:"Country",hideUnder:((I=x.data)==null?void 0:I[CFG.geo_enable])!==!0||"md",renderCell:({value:D,row:A})=>reactExports.createElement(Country,{code:D,ip:A.ip})},{field:"user",headerName:"User",hideUnder:"md"},{field:"started",headerName:"Started",type:"dateTime",width:96,hideUnder:"lg",valueFormatter:({value:D})=>new Date(D).toLocaleTimeString()},{field:"path",headerName:"File",flex:1.5,renderCell({value:D,row:A}){var L;if(!(!D||!A.op))return A.op==="browsing"?reactExports.createElement(Box,{},D,reactExports.createElement(Box,{fontSize:"x-small"},"browsing")):reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconProgress,{icon:A.archive?FolderZip:A.op==="upload"?Upload:Download,progress:(L=A.opProgress)!=null?L:A.opOffset,offset:A.opOffset,title:md(formatPerc(A.opProgress)+(A.opTotal?`
806
+ Total: `+formatBytes(A.opTotal):"")),sx:{mr:1}}),A.archive?reactExports.createElement(Box,{},D,reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},A.archive)):with_(D==null?void 0:D.lastIndexOf("/"),N=>reactExports.createElement(Box,{},D.slice(N+1),N>0&&reactExports.createElement(Box,{fontSize:"x-small",color:"text.secondary"},D.slice(0,N)))))}},{field:"outSpeed",headerName:"Speed",width:110,hideUnder:"sm",type:"number",renderCell:({value:D,row:A})=>formatSpeedK(Math.max(D||0,A.inSpeed||0)||void 0),mergeRender:{sent:{fontSize:"small",textAlign:"right"}}},{field:"sent",headerName:"Sent",type:"number",hideUnder:"md",renderCell:({value:D,row:A})=>formatBytes(Math.max(D||0,A.got||0))},{field:"v",headerName:"Protocol",align:"center",hideUnder:1/0,renderCell:({value:D})=>reactExports.createElement(reactExports.Fragment,{},"IPv"+D,iconTooltip(Lock,"HTTPS",{opacity:.5}))},{field:"agent",headerName:"Agent",hideUnder:"lg",renderCell:({value:D})=>agentIcons(D)}],actionsProps:{hideUnder:"sm"},actions:({row:D})=>[reactExports.createElement(IconBtn,{icon:DisconnectIcon,title:"Disconnect",doneMessage:!0,onClick:()=>apiCall("disconnect",_.pick(D,["ip","port"])).then(A=>A.result>0)}),reactExports.createElement(BlockIpBtn,{ip:D.ip,comment:"From monitoring",disabled:D.ip===(g==null?void 0:g.you)})]})),S&&T&&reactExports.createElement(Grid,Ae({item:!0,xs:k},fillFlexParentSx),reactExports.createElement(LogFile,{file:`${CFG.log}|${CFG.error_log}`,filter:b?D=>!D.uri.startsWith(SPECIAL_URI):void 0,fillFlex:!0,compact:!1,limit:1e3,getRowClassName:({row:D})=>D.status<400?"":"isError",sx:{"& .isError":{backgroundColor:"#a443"}}}))))}function formatSpeedK(d){return d===void 0?"":formatSpeed(d*1e3,{digits:1})}function ArrayField(j){var B=j,{label:d,helperText:m,fields:g,value:x,onChange:b,onError:E,setApi:v,reorder:C,prepend:S,noRows:T,valuesForAdd:$,autoRowHeight:k,dialog:I,form:D,details:A,objectK:L,saveOn:N}=B,Y=zt(B,["label","helperText","fields","value","onChange","onError","setApi","reorder","prepend","noRows","valuesForAdd","autoRowHeight","dialog","form","details","objectK","saveOn"]);const z=Array.isArray(x)?x:!L||!x?[]:Object.entries(x).map(([Z,oe])=>Ae({[L]:Z},oe)),V=reactExports.useMemo(()=>z.map((Z,oe)=>setHidden(Ae({},Z),Z.hasOwnProperty("id")?{$idx:oe}:{id:oe})),[JSON.stringify(z)]),U=Z=>oe=>Ae(Ae({fields:callable(g,oe).map(ge=>{var ye=ge,{$width:ie,$column:ee,$type:re,$hideUnder:ce,showIf:fe,$render:ae,$mergeRender:ue}=ye,pe=zt(ye,["$width","$column","$type","$hideUnder","showIf","$render","$mergeRender"]);var Ce;return(!fe||fe(oe))&&_.defaults(pe,(Ce=byType[re])==null?void 0:Ce.field)})},D),Z);v==null||v({isEqual:isOrderedEqual});const[W,J]=reactExports.useState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Flex,{rowGap:0,flexWrap:"wrap"},d&&reactExports.createElement(FormLabel,{sx:{ml:.5}},d),m&&reactExports.createElement(FormHelperText,{},m)),reactExports.createElement(Box,Ae({},Y),reactExports.createElement(DataTable,$t(Ae(Ae({rows:V,details:A},k&&{getRowHeight:()=>"auto"}),!useBreakpoint("sm")&&{compact:!0}),{sx:Ae({".MuiDataGrid-virtualScroller":{minHeight:"3em"}},k&&{".MuiDataGrid-cell":{minHeight:"52px !important"}}),hideFooterSelectedRowCount:!0,hideFooter:!0,slots:{noRowsOverlay:()=>reactExports.createElement(Center,{},T||"No entries")},slotProps:{pagination:{showFirstButton:!0,showLastButton:!0}},columns:[...callable(g,!1).map(Z=>{var ie,ee;if(reactExports.isValidElement(Z))return;const oe=(ie=byType[Z.$type])==null?void 0:ie.column;return _.defaults(Ae($t(Ae({field:Z.k,headerName:(ee=Z.headerName)!=null?ee:typeof Z.label=="string"?Z.label:labelFromKey(Z.k),disableColumnMenu:!0,valueGetter({value:re}){return(Z.toField||_.identity)(re)}},Z.$width?{[Z.$width>=8?"width":"flex"]:Z.$width}:!(oe!=null&&oe.width)&&!(oe!=null&&oe.flex)&&{flex:1}),{renderCell:Z.$render,mergeRender:Z.$mergeRender,hideUnder:Z.$hideUnder}),Z.$column),oe)}).filter(Boolean),{field:"",type:"actions",width:90,headerAlign:"center",renderHeader(){const Z="Add";return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(IconBtn,{icon:Add,title:Z,size:"small",onClick(ie){return xt(this,null,function*(){const ee=yield formDialog({form:U({}),title:Z,values:$,dialogProps:I});if(!ee)return;const re=z.slice()||[];S?re.unshift(ee):re.push(ee),X(re,ie)})}}),W!==void 0&&reactExports.createElement(IconBtn,{icon:Undo,title:"Undo",size:"small",onClick:ie=>X(W,ie)}))},getActions({row:Z}){const{$idx:oe=Z.id}=Z,ie="Modify";return[reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Edit),label:ie,title:ie,onClick(re){return xt(this,null,function*(){re.stopPropagation();const ce=yield formDialog({values:Z,form:U(N==="change"&&{save:!1,onChange(fe){Q(oe,fe,"change")}}||N&&{save:!1}),title:reactExports.createElement(reactExports.Fragment,{},ie,d&&" - ",d),dialogProps:I});ce&&Q(oe,ce,re)})}}),reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(Delete),label:"Delete",showInMenu:C,onClick:re=>{re.stopPropagation(),X(z.filter((ce,fe)=>fe!==oe),re)}}),C&&oe&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowUpward),label:"Move up",showInMenu:!0,onClick:re=>{re.stopPropagation(),X(swap(z.slice(),oe,oe-1),re)}}),C&&oe<V.length-1&&reactExports.createElement(GridActionsCellItem,{icon:reactExports.createElement(ArrowDownward),label:"Move down",showInMenu:!0,onClick:re=>{re.stopPropagation(),X(swap(z.slice(),oe,oe+1),re)}})].filter(Boolean)}}]}))));function Q(Z,oe,ie){X(z.map((ee,re)=>re===Z?oe:ee),ie)}function X(Z,oe){b(L?Object.fromEntries(Z.map(re=>{var ce=re,{[L]:ie}=ce,ee=zt(ce,[Rm(L)]);return[ie,ee]})):Z,{was:x,event:oe}),N!=="change"&&J(z)}}const byType={boolean:{field:{comp:BoolField},column:{renderCell:({value:d})=>d&&reactExports.createElement(Check)}},dateTime:{field:{comp:DateTimeField},column:{minWidth:96,flex:.5,renderCell:({value:d})=>d&&new Date(d).toLocaleString()}}},HFS_GITHUB_ACCOUNT=HFS_REPO.replace(/\/.+/,"/");function OnlinePlugins(){const[d,m]=reactExports.useState(""),g=useDebounce(d,1e3),{list:x,error:b,initializing:E}=useApiList("get_online_plugins",{text:g}),v=useSnapState();return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(StringField,{value:d,onChange:m,start:reactExports.createElement(Search),typing:!0,label:"Search text"}),reactExports.createElement(DataTable,{error:b&&err2msg$1(xlate(b,PLUGIN_ERRORS)),rows:x.length?x:[],noRows:"No compatible plugins have been found",fillFlex:!0,initializing:E,columnVisibilityModel:v.onlinePluginsColumns,onColumnVisibilityModelChange:C=>Object.assign(state.onlinePluginsColumns,C),columns:[{field:"id",headerName:"name",flex:1,renderCell:renderName,mergeRender:{description:{fontSize:"x-small"}}},{field:"version",width:70},{field:"pushed_at",headerName:"last update",valueGetter:({value:C})=>new Date(C).toLocaleDateString()},{field:"license",width:80},themeField,$t(Ae({},descriptionField),{flex:3,hideUnder:"sm"}),{field:"stargazers_count",width:50,headerName:"stars",align:"center",hideUnder:"sm"}],actions:({row:C,id:S})=>[reactExports.createElement(IconBtn,{icon:Download,title:"Install",progress:C.downloading,disabled:C.installed&&"Already installed",tooltipProps:{placement:"bottom-end"},onClick:()=>installPluginFromResult(C)}),reactExports.createElement(IconBtn,{icon:RemoveRedEye,disabled:!C.preview,onClick:()=>newDialog({title:S,Content:()=>reactExports.createElement(ShowImages,{imgs:wantArray(C.preview)})})})]}))}function ShowImages({imgs:d}){const[m,g]=reactExports.useState(0);return reactExports.createElement(Flex,{vert:!0,flex:1},reactExports.createElement(Flex,{vert:!0,center:!0,height:0,flex:"auto",minHeight:"50vh",minWidth:"50vw"},reactExports.createElement("img",{src:d[m],style:{margin:"auto",maxWidth:"100%",maxHeight:"100%"}})),d.length>1&&reactExports.createElement(Flex,{center:!0},reactExports.createElement(IconBtn,{icon:ArrowBack,disabled:!m,onClick:()=>g(m-1)}),reactExports.createElement(IconBtn,{icon:ArrowForward,disabled:m>=d.length-1,onClick:()=>g(m+1)})))}function installPluginFromResult(d){return xt(this,null,function*(){if(!d.id.startsWith(HFS_GITHUB_ACCOUNT)&&!(yield confirmDialog(reactExports.createElement(Flex,{vert:!0,alignItems:"center"},reactExports.createElement(Warning,{color:"warning",fontSize:"large"}),"Proceed only if you trust this plugin",reactExports.createElement(Box,{fontSize:"60%"},"A plugin has the same power of any other software"))))||d.missing&&!(yield confirmDialog("This will also install: "+_.map(d.missing,"repo").join(", "))))return;const m=d.branch||d.default_branch;return installPlugin(d.id,m).catch(g=>{if(g.code!==HTTP_FAILED_DEPENDENCY)return alertDialog(g);const x=reactExports.createElement(reactExports.Fragment,{},"This plugin has some dependencies unmet:",g.data.map(b=>reactExports.createElement("li",{key:b.repo},b.repo+": "+b.error)));return alertDialog(x,"error")})})}function installPlugin(d,m){return xt(this,null,function*(){try{const g=yield apiCall("download_plugin",{id:d,branch:m,stop:!0},{timeout:!1});(yield confirmDialog(`Plugin ${d} downloaded`,{trueText:"Start"}))&&(yield startPlugin(g.id))}catch(g){let x=!1;if(g.code===HTTP_FAILED_DEPENDENCY)for(const b of g.cause)b.error==="missing"&&(toast("Installing dependency: "+b.repo),yield installPlugin(b.repo),x=!0);if(x)return installPlugin(d,m);throw g}})}const TABS={Installed:InstalledPlugins,"Get more":OnlinePlugins,"Check updates":()=>reactExports.createElement(InstalledPlugins,{updates:!0})},LABELS=Object.keys(TABS),PANES=Object.values(TABS),PLUGIN_ERRORS={ENOTFOUND:"Cannot reach github.com",ECONNREFUSED:"Cannot reach github.com"};function PluginsPage(){const[d,m]=reactExports.useState(0);return reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Tabs,{value:d,onChange(g,x){m(x)}},LABELS.map(g=>reactExports.createElement(Tab,{key:g,label:g}))),reactExports.createElement(PANES[d]))}function evalWrapper(s){return eval(s)}function InstalledPlugins({updates:d}){const{list:m,error:g,setList:x,initializing:b}=useApiList(d?"get_plugin_updates":"get_plugins",{},{map(I){I.config&&(I.config=tryJson(I.config,D=>evalWrapper("()=>("+D+")")()))}}),[E,v]=reactExports.useState(0);reactExports.useEffect(()=>{x(I=>_.sortBy(I,D=>{var A;return(D.error?0:D.started?1:2)+treatPluginName(((A=D.repo)==null?void 0:A.split("/").reverse().join("/"))||D.id).toLowerCase()}))},[m.length,E]);const C="small",{pause:S,pauseButton:T}=usePauseButton("plugins",()=>getSingleConfig(CFG.suspend_plugins).then(I=>!I),{onClick(){return xt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.suspend_plugins]:!S}}),S&&(yield wait(2e3),v(Date.now()))})}}),$=useTheme$1();return reactExports.createElement(DataTable,{error:isPrimitive(g)?xlate(g,PLUGIN_ERRORS):_.map(g,(I,D)=>`Error ${D} for: ${I.join(", ")}`).join("; "),rows:m.length?m:[],fillFlex:!0,initializing:b,disableColumnSelector:!0,getRowHeight:d&&(({model:I})=>I.changelog?"auto":50),noRows:d&&'No updates available. Only plugins available on "search online" are checked.',columns:[{field:"id",headerName:"name",flex:.3,minWidth:150,renderCell:renderName,valueGetter({row:I}){return I.repo||I.id},mergeRender:{[d?"changelog":"description"]:{fontSize:"x-small"}}},{field:"version",width:70,hideUnder:"sm",cellInnerProps:{className:HIDE_IN_TESTS},mergeRender:{installedVersion:{fontSize:"x-small"}}},themeField,$t(Ae({},descriptionField),{flex:1,hideUnder:"sm"}),{field:"installedVersion",hideUnder:!0,dialogHidden:!0,renderCell:({value:I})=>I&&`Yours ${I}`},{field:"changelog",headerName:"Change log",flex:2,hideUnder:!d||"sm",sx:{flexDirection:"column",alignItems:"flex-start"},renderCell({value:I,row:D}){return Array.isArray(I)?reactExports.createElement(Table,{sx:{td:{p:0}}},_.uniq(_.sortBy(I,"version").filter(A=>_.isString(A.message)&&A.message&&A.version>D.installedVersion)).map((A,L)=>reactExports.createElement(TableRow,{key:L},reactExports.createElement(TableCell,{sx:{whiteSpace:"pre",verticalAlign:"top"}},`• ${A.version}: `),reactExports.createElement(TableCell,{},md(A.message))))):null}}],footerSide:()=>!d&&T,actions:({row:I,id:D})=>d?[reactExports.createElement(IconBtn,{icon:Upgrade,title:I.downloading?"Downloading":I.updated?"Already updated":"Update",disabled:I.updated,progress:I.downloading,size:C,onClick(){return xt(this,null,function*(){yield apiCall("update_plugin",{id:D},{timeout:!1}).catch(Y=>{var j;throw Y.code!==HTTP_FAILED_DEPENDENCY?Y:Error("Failed dependencies: "+((j=Y.cause)==null?void 0:j.map(B=>prefix('plugin "',B.id||B.repo,'" ')+B.error).join("; ")))}),toast("Plugin updated")})}})]:[reactExports.createElement(IconBtn,I.started?{icon:StopCircle,title:reactExports.createElement(Box,{"aria-hidden":!0},`Stop ${D}`,reactExports.createElement("br"),"Started "+new Date(I.started).toLocaleString()),"aria-label":`Stop ${D}`,size:C,color:"success",doneAnimation:!0,onClick:()=>apiCall("stop_plugin",{id:D})}:{icon:PlayCircle,title:`Start ${D}`,disabled:S&&"All plugins are paused – Click the Resume button below",size:C,onClick:()=>startPlugin(D)}),reactExports.createElement(IconBtn,{icon:I.config||!I.started||!I.log?Settings:ListAlt,title:I.config||!I.log?"Options":"Log",size:C,disabled:!I.started&&"Start plugin to access options"||!I.config&&!I.log&&"No options and no log for this plugin",onClick(){return xt(this,null,function*(){const{config:Y}=yield apiCall("get_plugin",{id:D});let j=with_(I.configDialog,U=>{var W;return $.breakpoints.values[U==null?void 0:U.maxWidth]||((W=U==null?void 0:U.sx)==null?void 0:W.maxWidth)||xlate(U==null?void 0:U.maxWidth,{xs:0})||432});typeof j=="number"&&(j+="px");const B=!!I.config,z=yield formDialog({title:B?`Options for ${D}`:`Log for ${D}`,form:U=>({before:I.description&&reactExports.createElement(Box,{mx:2,mb:2},I.description),fields:makeFields(callable(I.config,U)||{},U),save:B?{children:"Save and close"}:!1,barSx:{gap:1},addToBar:[reactExports.createElement(Btn,{variant:"outlined",onClick:()=>V(U)},"Save")]}),values:Y,dialogProps:_.merge({maxWidth:"md",sx:{m:"auto"}},I.configDialog,{maxWidth:!1,sx:{maxWidth:null}}),Wrapper({children:U}){const{list:W,setList:J}=useApiList("get_plugin_log",{id:D},{map(Z){Z.ts=new Date(Z.ts)}}),Q=useAutoScroll(W);let X;return reactExports.createElement(Flex,{alignItems:"stretch",justifyContent:"center",flexWrap:"wrap",flexDirection:B?void 0:"column"},reactExports.createElement(Box,{maxWidth:j,minWidth:"min-content"},U),reactExports.createElement(Paper,{elevation:1,sx:{position:"relative",fontFamily:"monospace",flex:1,minWidth:"min(40em, 90vw)",minHeight:"20em",px:.5}},reactExports.createElement(Box,{my:.5,pb:.5,borderBottom:"1px solid",display:"flex",alignItems:"center",justifyContent:"space-between"},"Output",reactExports.createElement(Btn,{size:"small",sx:{p:0},onClick(){J([])}},"Clear")),reactExports.createElement(Box,{position:"absolute",bottom:0,top:"31px",left:0,right:0,sx:{overflowY:"auto"},ref:Q},!W.length&&reactExports.createElement(Box,{p:1},"Log is empty"),reactExports.createElement(Box,{sx:{textIndent:"-1em",pl:"1em",position:"absolute",width:"calc(100% - 1.2em)",ml:"2px",pt:".2em"}},W.map(Z=>{formatDate(Z.ts);const oe=formatDate(Z.ts);return reactExports.createElement(reactExports.Fragment,{key:Z.id},oe!==X&&(X=oe),reactExports.createElement(Box,{},reactExports.createElement(Box,{title:oe,display:"inline",color:"text.secondary",mr:1},formatTime(Z.ts)),replaceStringToReact(Z.msg,/https?:\/\/\S+/,ie=>reactExports.createElement(Link$3,{href:ie[0],target:"_blank"},ie[0]))))})))))}});if(z&&!_.isEqual(Y,z))return V(z);function V(U){return xt(this,null,function*(){yield apiCall("set_plugin",{id:D,config:U}),Object.assign(Y,U),toast("Configuration saved")})}})}}),reactExports.createElement(IconBtn,{icon:Delete,title:"Uninstall",size:C,onClick(){return xt(this,null,function*(){const Y=yield confirmDialog(`${D}: delete configuration too?`,{trueText:"Yes",falseText:"No",after:({onClick:j})=>reactExports.createElement(Btn,{variant:"outlined",onClick(){j(void 0)}},"Abort")});Y!==void 0&&(yield apiCall("uninstall_plugin",{id:D,deleteConfig:Y}),toast("Plugin uninstalled"))})}})]})}function getSingleConfig(d){return apiCall("get_config",{only:[d]}).then(m=>m[d])}function treatPluginName(d){return d.replace(/hfs-/,"")}function renderName({row:d,value:m}){const{repo:g}=d;return reactExports.createElement(reactExports.Fragment,{},d.downgrade&&x("This version is older than the one you installed. It is possible that the author found a problem with your version and decided to retire it.",!0),x(d.error||d.badApi,!d.error),g!=null&&g.includes("//")?reactExports.createElement(Link$3,{href:g,target:"plugin"},m):with_(g==null?void 0:g.split("/"),b=>(b==null?void 0:b.length)!==2?m:reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Link$3,{href:"https://github.com/"+g,target:"plugin",onClick(E){E.stopPropagation()}},treatPluginName(b[1])),NBSP+"by ",b[0])));function x(b,E=!1){return b&&hTooltip(b,b,reactExports.createElement(ErrorIcon,{fontSize:"small",color:E?"warning":"error",sx:{ml:-.5,mr:.5}}))}}function makeFields(d,m){return Object.entries(d).map(([g,x])=>{var k;if(!x)return;let $=x,{type:b,defaultValue:E,frontend:v,showIf:C}=$,S=zt($,["type","defaultValue","frontend","showIf"]);try{if(S.getError=evalWrapper(S.getError),typeof C=="string"&&(S.showIf=C=evalWrapper(C)),C&&!C(m))return}catch(I){}S.helperText&&(S.helperText=md(S.helperText,{html:!1}));const T=type2comp[b];if(m===!1&&b==="date_time"&&(S.$type="dateTime"),T===ArrayField){let{fields:I}=S;S.valuesForAdd=newObj(callable(I,!1),D=>D.defaultValue),typeof I=="string"&&(I=evalWrapper(I)),(k=S.details)!=null||(S.details=!1),S.fields=D=>_.map(makeFields(callable(I,D),D),(A,L)=>A&&$t(Ae({k:L},A),{defaultValue:void 0})).filter(Boolean)}return E!==void 0&&b==="boolean"&&(S.placeholder=`Default value is ${JSON.stringify(E)}`),Ae({k:g,comp:T},S)})}const type2comp={string:StringField,number:NumberField,boolean:BoolField,select:SelectField,multiselect:MultiSelectField,array:ArrayField,real_path:FileField,vfs_path:VfsPathField,username:UsernameField,color:ColorField,showHtml:({html:d})=>reactExports.createElement(Html,{},String(d)),date_time:DateTimeField,net_mask:NetmaskField};function startPlugin(d){return xt(this,null,function*(){try{return yield apiCall("start_plugin",{id:d}),toast("Plugin started",reactExports.createElement(PlayCircle,{color:"success"})),!0}catch(m){alertDialog(`Plugin ${d} didn't start, with error: ${String((m==null?void 0:m.message)||m)}`,"error")}})}function UsernameField(E){var v=E,{value:d,onChange:m,multiple:g,groups:x}=v,b=zt(v,["value","onChange","multiple","groups"]);const{data:C,element:S,loading:T}=useApiEx("get_accounts");return!T&&S||reactExports.createElement(g?MultiSelectField:SelectField,Ae({value:d,onChange:m,options:C==null?void 0:C.list.filter($=>x===void 0||x===$.isGroup).map($=>$.username)},b))}function ColorField(d){return reactExports.createElement(StringField,Ae({inputProps:Ae({type:"color",style:{marginRight:24}},!d.value&&{value:"#888888",style:{zIndex:1,opacity:.1}}),InputProps:{endAdornment:d.value?reactExports.createElement(Btn,{icon:Clear,size:"small",sx:{position:"absolute",right:4},title:"Clear",onClick(m){d.onChange(null,{was:d.value,event:m})}}):reactExports.createElement(Box,{sx:{position:"absolute",width:"100%",bottom:2,pt:"3px",textAlign:"center",color:"#fff",background:"repeating-linear-gradient(45deg, #333, #333 10px, #444 10px, #444 20px)"}},"default")},typing:!0},d))}const descriptionField={field:"description",mergeRender:{isTheme:{}},mergeRenderSx:{float:"left"}},themeField={field:"isTheme",headerName:"is theme",hideUnder:!0,dialogHidden:!0,type:"boolean",renderCell({value:d}){return d&&iconTooltip(ThemeIcon,_.isString(d)?`${d} theme`:"theme",{fontSize:"1.2rem",mr:".3em"})}},cacheKey="onlinePluginsCache";function RandomPlugin(){const{hideRandomPlugin:d}=useSnapState(),m=localStorage.getItem(cacheKey),g=reactExports.useMemo(()=>{const S=tryJson(m||"");return(S==null?void 0:S.ts)&&Date.now()-S.ts<DAY&&_.shuffle(S.list)},[m]),{list:x,initializing:b}=useApiList(!d&&!g&&"get_online_plugins"),[E,v]=reactExports.useState(-1),C=g==null?void 0:g[E];if(reactExports.useEffect(()=>{!g&&!b&&x.length&&localStorage.setItem(cacheKey,JSON.stringify({ts:Date.now(),list:x})),v(0)},[x,b]),reactExports.useEffect(()=>{E>0&&!C&&toast("No more plugins!")},[E]),!(d||!C))return reactExports.createElement(Card,{sx:{display:{xs:"none",md:"block"},float:"right",width:"min(50%, 30em)",ml:"1em"}},reactExports.createElement(CardContent,{},reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.4em"},reactExports.createElement(Box,{color:"warning.main",mr:1,display:"inline"},"🎲"),"Random plugin:"),reactExports.createElement(Box,{fontWeight:"bold",fontSize:"1.8em",my:1},renderName({row:C})),reactExports.createElement(Box,{},C.description),C.preview&&reactExports.createElement("img",{src:wantArray(C.preview)[0],style:{maxWidth:"100%",maxHeight:"50vh",marginTop:"1em",border:"1px solid",maskImage:"radial-gradient(circle at center, black 50%, transparent 100%)"}})),reactExports.createElement(CardActions,{},reactExports.createElement(Btn,{variant:"outlined",onClick:()=>installPluginFromResult(C)},"Install"),reactExports.createElement(Btn,{variant:"outlined",onClick:()=>v(S=>S+1)},"Another"),reactExports.createElement(Btn,{variant:"outlined",onClick(){state.hideRandomPlugin=!0}},"Hide this box")))}function HomePage(){var X,Z,oe,ie,ee;const d=" — ",{username:m}=useSnapState(),{data:g,reload:x,element:b}=useApiEx("get_status"),{data:E}=useApiEx(m&&"get_account"),v=useApiEx("get_config",{only:["https_port","cert","private_key","proxies","ignore_proxies","vfs"]}),{list:C}=useApiList("get_plugins"),[S,T]=reactExports.useState(!1),{list:$}=useApiList(S&&"get_plugin_updates"),[k,I]=reactExports.useState(),[D,A]=reactExports.useState();if(b||!g)return b;const{http:L,https:N}=g,Y=!(L!=null&&L.listening)&&(N!=null&&N.listening)?"s":"",j=Y?N:(L==null?void 0:L.listening)&&L,B=j&&`http${Y}://`+window.location.hostname+(j.port===(Y?443:80)?"":":"+j.port),z=objSameKeys({http:L,https:N},re=>re.busy?[`port ${re.configuredPort} already used by ${re.busy}${d}choose a `,cfgLink("different port"),` or stop ${re.busy}`]:re.error),V=z&&onlyTruthy(Object.entries(z).map(([re,ce])=>ce&&[md(`Protocol <u>${re}</u>: `),ce,(isCertError(ce)||isKeyError(ce))&&[d,reactExports.createElement(LinkBtn,{onClick(){suggestMakingCert().then(()=>wait(999)).then(v.reload).then(x)}},"make one")," or ",d,cfgLink("provide adequate files")]])),U={onContextMenu(re){return xt(this,null,function*(){if(re.preventDefault(),!g.updatePossible)return alertDialog("Automatic update is only for binary versions","warning");const ce=yield promptDialog("Enter a link to the zip to install");ce&&(yield update(ce))})},title:g.updatePossible&&"Right-click if you want to install a zip"},W=(X=v.data)==null?void 0:X.vfs;return reactExports.createElement(Box,{},reactExports.createElement(RandomPlugin),reactExports.createElement(Box,{display:"flex",gap:2,flexDirection:"column",alignItems:"flex-start",height:"100%"},dontBotherWithKeys((Z=g.alerts)==null?void 0:Z.map(re=>entry("warning",md(re,{html:!1})))),V.length?dontBotherWithKeys(V.map(re=>entry("error",dontBotherWithKeys(re)))):entry("success","Server is working"),W&&!((oe=W.children)!=null&&oe.length)&&!W.source?entry("warning","You have no shared files",d,fsLink("add some")):null,E!=null&&E.adminActualAccess?entry("","Welcome, "+m):entry("",md("You're accessing the Admin-panel without an account because you are on localhost"),...g.anyAccountCanLoginAdmin?[]:[d,"to access from another computer, you must ",reactExports.createElement(InLink,{to:"accounts"},md("create an account with *admin* permission"))]),!B&&entry("warning","Frontend unreachable: ",_.map(z,(re,ce)=>ce+" "+(re?"is in error":"is off")).join(", "),!V.length&&[d,cfgLink("switch http or https on")]),with_(g.acmeRenewError,re=>re&&entry("warning",re)),with_(g.blacklistedInstalledPlugins,re=>(re==null?void 0:re.length)>0&&entry("warning","Found blacklisted plugin(s): ",re.join(", "))),with_(C==null?void 0:C.filter(re=>re.error||re.badApi).length,re=>re>0&&entry("warning",`${re} plugin(s) failing`,d,reactExports.createElement(InLink,{to:"plugins"},"check now"))),!((ie=v.data)!=null&&ie.split_uploads)&&Date.now()-Number(g.cloudflareDetected||0)<DAY&&entry("",wikiLink("Reverse-proxy#cloudflare","Cloudflare detected, read our guide")),with_(proxyWarning(v.data,g),re=>re&&entry("warning",re,d,cfgLink("set the number of proxies"),d,"unless you are sure and you can ",reactExports.createElement(Btn,{variant:"outlined",size:"small",sx:{lineHeight:"unset"},confirm:"Go on only if you know what you are doing",onClick:()=>apiCall("set_config",{values:{ignore_proxies:!0}}).then(v.reload)},"ignore this warning"),d,wikiLink("Proxy-warning","Explanation"))),(((ee=v.data)==null?void 0:ee.proxies)>0||(g==null?void 0:g.proxyDetected))&&entry("",wikiLink("Reverse-proxy","Read our guide on proxies")),g.frpDetected&&entry("warning",'FRP is detected. It should not be used with "type = tcp" with HFS. Possible solutions are',reactExports.createElement("ol",{},reactExports.createElement("li",{},"configure FRP with type=http (best solution)"),reactExports.createElement("li",{},md("configure FRP to connect to HFS <u>not</u> with localhost (safe, but you won't see users' IPs)")),reactExports.createElement("li",{},`disable "admin access for localhost" in HFS (safe, but you won't see users' IPs)`))),entry("",md("This is the *Admin-panel*, where you manage your server. Access your files on the [Front-end](../..).")),entry("",wikiLink("","See the documentation")," and ",reactExports.createElement(Link$3,{target:"support",href:REPO_URL+"discussions"},"get support")),!k&&with_(g.autoCheckUpdateResult,re=>(re==null?void 0:re.isNewer)&&reactExports.createElement(Update,{info:re,fromAuto:!0,bodyCollapsed:!0,title:"An update has been found"})),$.length>0&&entry("success","Updates available for plugin(s): "+$.map(re=>re.id).join(", ")),reactExports.createElement(ConfigForm,{gridProps:{sx:{mt:1,display:"flex",columnGap:1,alignitems:"center","&>div.MuiGrid2-root":{width:"auto",px:.5,py:0},".MuiCheckbox-root":{pl:"2px"}}},saveOnChange:!0,form:{fields:[g.updatePossible==="local"?reactExports.createElement(Btn,{icon:UpdateIcon,onClick:()=>update()},"Update from local file"):!k&&reactExports.createElement(Btn,Ae({icon:UpdateIcon,onClick(){return apiCall("wait_project_info").then(x),T(!0),apiCall("check_update").then(re=>I(re.options),alertDialog)}},U),"Check for updates"),{k:"auto_check_update",comp:CheckboxField,label:"Auto check updates daily"},{k:"update_to_beta",comp:CheckboxField,label:"Include beta versions"}]}}),k&&with_(_.find(k,"isNewer"),re=>!k.length||!g.updatePossible&&!re?entry("","No update available"):re&&!g.updatePossible?entry("success",`Version ${re.name} available`):reactExports.createElement(Flex,{vert:!0},k.map(ce=>reactExports.createElement(Update,{info:ce,key:ce.name})))),reactExports.createElement(Flex,{flexWrap:"wrap"},!D&&g.updatePossible&&g.previousVersionAvailable&&reactExports.createElement(Btn,{icon:Restore,onClick:()=>update(PREVIOUS_TAG)},"Reinstall previous version"),g.updatePossible?D?reactExports.createElement(Flex,{vert:!0},D.map(re=>reactExports.createElement(Update,{info:re,key:re.name,bodyCollapsed:!0}))):reactExports.createElement(Btn,Ae({icon:Colorize,onClick:J},U),"Get another version"):entry("",reactExports.createElement(Link$3,{href:REPO_URL+"releases/",target:"repo"},"All releases"))),reactExports.createElement(SwitchThemeBtn),Date.now()-Number(new Date(g.started))>HOUR&&reactExports.createElement(Link$3,{title:"Donate",target:"donate",style:{textDecoration:"none",position:"fixed",bottom:0,right:4,fontSize:"large"},href:"https://www.paypal.com/donate/?hosted_button_id=HC8MB4GRVU5T2"},"❤️")));function J(){return xt(this,null,function*(){return apiCall("get_other_versions").then(re=>A(re.options),alertDialog)})}}function Update({info:d,title:m,bodyCollapsed:g,fromAuto:x}){const[b,E]=reactExports.useState(g);return reactExports.createElement(Flex,{alignItems:"flex-start",flexWrap:"wrap"},reactExports.createElement(Card,{className:"release"},reactExports.createElement(CardContent,{},reactExports.createElement(Flex,{},m&&reactExports.createElement(Box,{fontSize:"larger",mb:1},m),reactExports.createElement(Btn,$t(Ae({icon:UpdateIcon},!d.isNewer&&d.prerelease&&{color:"warning",variant:"outlined"}),{onClick:()=>update(x?void 0:d.tag_name)}),prefix("Install ",d.name,d.isNewer?"":" (older)")),reactExports.createElement(Link$3,{href:REPO_URL+"releases/tag/"+d.tag_name,target:"repo"},reactExports.createElement(OpenInNew))),b?reactExports.createElement(LinkBtn,{sx:{display:"block",mt:1},onClick(){E(!1)}},"See details"):reactExports.createElement(Box,{mt:1},renderChangelog(d.body)))))}function renderChangelog(d){return md(d,{html:!1,onText:m=>replaceStringToReact(m,new RegExp("(?<=^|\\W)#(\\d+)\\b|(https:.*\\S+)","g"),g=>g[1]?reactExports.createElement(Link$3,{href:REPO_URL+"issues/"+g[1],target:"_blank"},reactExports.createElement(OpenInNew,{fontSize:"small"})):reactExports.createElement(Link$3,{href:g[2],target:"_blank"},g[2]))})}function update(d){return xt(this,null,function*(){if(!(yield confirmDialog("Installation may take less than a minute, depending on the speed of your server")))return;toast("Downloading");const m=yield apiCall("update",{tag:d},{timeout:600}).then(()=>0,b=>b);if(m)return alertDialog(m);toast("Restarting");const g=Date.now();let x;for(;yield apiCall("NONE").then(()=>0,b=>!b.code);)!x&&Date.now()-g>15e3&&(x=alertDialog("This is taking too long, please check your server","warning")),yield wait(500);x==null||x.close(),subscribeKey(state,"loginRequired",()=>state.loginRequired=!1),yield alertDialog("Procedure complete","success"),window.location.reload()})}function entry(d,...m){return reactExports.createElement(Box,{fontSize:"x-large",color:g=>{var x;return d&&((x=g.palette[d])==null?void 0:x.main)}},reactExports.createElement({success:CheckCircle,info:Info,"":Info,warning:Warning,error:ErrorIcon}[d],{sx:{mr:1,color:d?void 0:"primary.main"}}),reactExports.createElement("span",{style:["warning","error"].includes(d)?{animation:".5s blink 2"}:void 0},...m))}function fsLink(d="File System page"){return reactExports.createElement(InLink,{to:"fs"},d)}function cfgLink(d="Options page"){return reactExports.createElement(InLink,{to:"options"},d)}function proxyWarning(d,m){return m&&d&&!d.ignore_proxies&&(!d.proxies&&m.proxyDetected?"A proxy was detected but none is configured":d.proxies&&!m.proxyDetected&&Date.now()-+new Date(m.started)>DAY?`Proxies is set to ${d.proxies} but none was detected recently. Consider setting it zero`:"")}let loaded,exposedReloadStatus;const pageState=proxy({changes:{}});subscribe(state,d=>{d.some(m=>m[1][0]==="config")&&recalculateChanges()});function OptionsPage(){var z,V;const{data:d,reload:m,element:g}=useApiEx("get_config",{omit:["vfs"]}),x=useSnapState(),{changes:b}=useSnapshot(pageState),E=useApiEx(d&&"get_status"),v=E.data,C=exposedReloadStatus=E.reload;reactExports.useEffect(()=>void C(),[d]),reactExports.useEffect(()=>()=>exposedReloadStatus=void 0,[]);const S=useBreakpoint("sm"),T=reactExports.useRef(null),$=(z=useApiEx("get_admins").data)==null?void 0:z.list,k=window.location.hostname,I=k==="localhost",D=k.includes(":"),A=[{label:"any",value:""},{label:"any IPv4",value:"0.0.0.0",disabled:!I&&D},{label:"any IPv6",value:"::",disabled:!I&&!D},...["127.0.0.1","::1"].map(U=>({label:U,value:U,disabled:!I&&k!==U})),...((V=v==null?void 0:v.ips)==null?void 0:V.map(U=>({value:U,disabled:k!==U})))||[]];if(g)return g;if(E.error)return E.element;const L=loaded!==d?state.config=loaded=d:x.config,N={comp:NumberField,min:1,unit:"KB/s",placeholder:"no limit",sm:6},Y={comp:NumberField,placeholder:"no limit",toField:U=>U||"",sm:4},j=L.https_port>=0;return reactExports.createElement(Form,{sx:{maxWidth:"60em"},values:L,set(U,W){state.config[W]=U},stickyBar:!0,onError:alertDialog,save:Ae({ref:T,onClick:B},propsForModifiedValues(Object.keys(b).length>0)),barSx:{gap:2},addToBar:[reactExports.createElement(Button,{onClick(){m(),C()},startIcon:reactExports.createElement(Refresh)},"Reload"),reactExports.createElement(Button,{component:Link$4,to:"/config",startIcon:reactExports.createElement(EditNote)},S?"Config file":"File")],defaults(){return{xs:6}},fields:[reactExports.createElement(Section,{title:"Networking"}),{k:"port",comp:PortField,xs:12,sm:6,label:"HTTP port",status:(v==null?void 0:v.http)||!0,suggestedPort:80},{k:"https_port",comp:PortField,xs:12,sm:6,label:"HTTPS port",status:(v==null?void 0:v.https)||!0,suggestedPort:443,onChange(U){return U>=0&&!j&&!L.cert&&suggestMakingCert(),U}},j&&{k:"cert",comp:FileField,sm:4,label:"HTTPS certificate file",helperText:wikiLink("HTTPS#certificate","What is this?"),error:with_(v==null?void 0:v.https.error,U=>isCertError(U)&&(v.https.listening?U:[U," - ",reactExports.createElement(LinkBtn,{key:"fix",onClick:suggestMakingCert},"make one")]))},j&&Ae({k:"private_key",comp:FileField,sm:4,label:"HTTPS private key file"},with_(v==null?void 0:v.https.error,U=>isKeyError(U)?{error:!0,helperText:U}:null)),j&&{k:"force_https",comp:BoolField,label:"Force HTTPS",sm:4,disabled:!j||L.port<0,helperText:"Not applied to localhost. Doesn't work with proxies."},{k:"listen_interface",comp:SelectField,sm:4,afterList:A.some(U=>U.disabled)&&reactExports.createElement(Box,{p:"8px 16px 0",borderTop:"1px solid",fontSize:"small"},"Disabled addresses depend on the address you used to connect"),options:A},$t(Ae({k:"max_kbps"},N),{sm:4,label:"Limit output",helperText:"Doesn't apply to localhost"}),$t(Ae({k:"max_kbps_per_ip"},N),{sm:4,label:"Limit output per-IP"}),$t(Ae({k:CFG.max_downloads},Y),{helperText:"Number of simultaneous downloads"}),$t(Ae({k:CFG.max_downloads_per_ip},Y),{label:"Max downloads per-IP"}),$t(Ae({k:CFG.max_downloads_per_account},Y),{label:"Max downloads per-account",helperText:"Overrides other limits"}),{k:"admin_net",comp:NetmaskField,label:"Admin-panel accessible from",placeholder:"any address",helperText:"IP address of browser machine"},{k:"localhost_admin",comp:BoolField,xs:12,sm:6,label:"Unprotected Admin-panel on localhost",getError:U=>!U&&($==null?void 0:$.length)===0&&"First create at least one admin account",helperText:"Access without entering credentials"},{k:"proxies",comp:NumberField,xs:12,sm:4,md:4,max:9,label:"Number of incoming HTTP proxies",placeholder:"none",error:proxyWarning(L,v),helperText:"Wrong number will prevent detection of users' IP"},{k:CFG.outbound_proxy,xs:12,sm:5,md:4,placeholder:"none",helperText:"URL form",getError:U=>try_(()=>U&&new URL(U)&&"",()=>"Invalid URL")},{k:"allowed_referer",comp:AllowedReferer,sm:3,md:4,placeholder:"any",label:"Links from other websites",helperText:"In case another website is linking your files"},{k:"block",label:!1,comp:ArrayField,xs:12,prepend:!0,sm:!0,autoRowHeight:!0,form:{maxWidth:"30em"},fields:[{k:"ip",label:"Blocked IP",sm:12,required:!0,wrap:!0,$width:2,comp:NetmaskField,$column:{mergeRender:{comment:{},expire:{}}},helperText:"Be careful to not kick yourself out, by blocking also your IP"},{k:"expire",$type:"dateTime",minDate:new Date,sm:6,$hideUnder:"sm",helperText:"Leave empty for no expiration"},{k:"disabled",$type:"boolean",label:"Enabled",helperText:"In case you want to not block without deleting the rule",toField:U=>!U,fromField:U=>U?void 0:!0,sm:6,$width:80},{k:"comment",$hideUnder:"sm"}]},reactExports.createElement(Section,{title:"Front-end",subtitle:"Following options affect only the front-end"}),{k:"file_menu_on_link",comp:SelectField,label:"Access file menu",md:4,options:{"by clicking on file name":!0,"by dedicated button":!1}},{k:"title",md:8,helperText:"You can see this in the tab of your browser"},{k:"auto_play_seconds",comp:NumberField,xs:6,sm:3,min:1,max:1e4,required:!0,label:"Auto-play seconds delay",helperText:md(`Default value for the [Show interface](${REPO_URL}discussions/270)`)},{k:"tile_size",comp:NumberField,xs:6,sm:3,max:MAX_TILE_SIZE,required:!0,label:"Default tiles size",helperText:wikiLink("Tiles","To enable tiles-mode")},{k:"theme",comp:SelectField,xs:6,sm:3,options:THEME_OPTIONS},{k:"sort_by",comp:SelectField,xs:6,sm:3,options:SORT_BY_OPTIONS},{k:"invert_order",comp:BoolField,xs:6,md:3},{k:"folders_first",comp:BoolField,xs:6,md:3},{k:"sort_numerics",comp:BoolField,xs:6,md:3,label:"Sort numeric names"},{k:"title_with_path",comp:BoolField,xs:6,md:3},{k:"favicon",comp:FileField,placeholder:"None",fileMask:"*.ico|"+IMAGE_FILEMASK,xs:12,sm:9,helperText:"The icon associated to your website"},{k:"page_size",comp:NumberField,xs:!0,min:1,required:!0,helperText:"Entries per page"},reactExports.createElement(Section,{title:"Uploads"}),{k:"dont_overwrite_uploading",comp:BoolField,md:4,label:"Uploads don't overwrite",helperText:"Files are automatically numbered (frontend only)"},{k:CFG.split_uploads,comp:NumberField,unit:"MB",md:2,step:.1,fromField:U=>U*1e6,toField:U=>U?U/1e6:null,placeholder:"disabled",label:"Split uploads in chunks",helperText:"Overcome proxy limits (frontend only)"},{k:"delete_unfinished_uploads_after",comp:NumberField,md:3,min:0,unit:"seconds",required:!0},{k:"min_available_mb",comp:NumberField,md:3,min:0,unit:"MBytes",placeholder:"None",label:"Min. available disk space",helperText:"Reject uploads that don't comply"},reactExports.createElement(Section,{title:"Others"}),{k:"keep_session_alive",comp:BoolField,sm:6,md:6,helperText:"Keeps you logged in while the page is left open and the computer is on"},{k:"session_duration",comp:NumberField,sm:3,md:3,min:5,unit:"seconds",required:!0},{k:CFG.size_1024,label:"KB size",comp:SelectField,sm:3,options:{1e3:!1,1024:!0}},{k:"show_hidden_files",comp:BoolField,sm:3},{k:CFG.comments_storage,comp:SelectField,xs:12,sm:6,md:5,options:{"in file DESCRIPT.ION":"","in file attributes":"attr","in file attributes + load DESCRIPT.ION":"attr+ion"}},{k:"descript_ion_encoding",xs:8,sm:3,md:4,label:"Encoding of file DESCRIPT.ION",comp:SelectField,disabled:!L.descript_ion,options:["utf8",720,775,819,850,852,862,869,874,808,..._.range(1250,1257),10029,20866,21866]},{k:"open_browser_at_start",comp:BoolField,label:"Open Admin-panel at start",xs:12,sm:6,md:3,helperText:"Browser is automatically launched with HFS"},{k:"zip_calculate_size_for_seconds",comp:NumberField,xs:12,sm:6,md:3,unit:"seconds",required:!0,label:"Calculate ZIP size for",helperText:"If time is not enough, the browser will not show download percentage"},{k:"mime",comp:ArrayField,label:!1,reorder:!0,prepend:!0,xs:12,sm:12,md:6,fields:[{k:"v",label:"Mime type",placeholder:"auto",$width:2,helperText:"Leave empty to get automatic value"},{k:"k",label:"File mask",helperText:reactExports.createElement(WildcardsSupported),$width:1,$column:{renderCell:({value:U,id:W})=>reactExports.createElement("code",{},U,U==="*"&&W<_.size(L.mime)-1&&iconTooltip(Warning,md("Mime with `*` should be the last, because first matching row applies"),{color:"warning.main",ml:1}))}}],toField:U=>Object.entries(U||{}).map(([W,J])=>({k:W,v:J})),fromField:U=>Object.fromEntries(U.map(W=>[W.k,W.v||"auto"]))},{k:CFG.force_webdav_login,comp:WebdavAgentAuthField,sm:!0,label:"WebDAV force login",fallbackRE:"Microsoft-WebDAV",helperText:"Force login for clients that mishandle mixed anonymous/protected access"},L[CFG.force_webdav_login]!==!0&&{k:CFG.webdav_initial_auth,comp:WebdavAgentAuthField,sm:6,label:"WebDAV initial auth",helperText:"Force login only once. Used only when previous option does not match"},{k:"server_code",comp:TextEditorField,lang:"js",xs:12,helperText:md(`This code works similarly to [a plugin](${REPO_URL}blob/main/dev-plugins.md) (with some limitations)`)}]});function B(){return xt(this,null,function*(){var pe,ge;if(_.isEmpty(b))return toast("Nothing to save");const U=window.location,W=["port","https_port"];if(W.every(ye=>b[ye]!==void 0))return alertDialog("You cannot change both http and https port at once. Please, do one, save, and then do the other.","warning");const J=[(pe=v==null?void 0:v.http)==null?void 0:pe.listening,(ge=v==null?void 0:v.https)==null?void 0:ge.listening],Q=location.protocol==="https:";Q&&(W.reverse(),J.reverse());const X=b[W[0]],Z=L[W[1]],oe=Z>0&&J[1],ie=Q?"http":"https";if(X<0&&!oe)return alertDialog("You cannot switch off this port unless you have a working fixed port for "+ie,"warning");if(X===0&&!oe)return alertDialog("You cannot randomize this port unless you have a working fixed port for "+ie,"warning");const ee=X>0&&X!=U.port;if(ee&&!(yield confirmDialog("You are changing the port and you may be disconnected")))return;const re="cert"in b||"private_key"in b;if(Q&&re&&!(yield confirmDialog("You may disrupt https service, kicking you out")))return;yield apiCall("set_config",{values:b}),"split_uploads"in b&&(yield alertDialog('Users need to reload for the "split uploads" option to take effect',"warning"));const ce=ipForUrl(U.hostname),fe=U.pathname+U.hash,ae=X<=0?`${Q?"http:":"https:"}//${ce}:${Z}${fe}`:ee?`${U.protocol}//${ce}:${X||L[W[0]]}${fe}`:yield with_(`https://${ce}:${U.port}${fe}`,ye=>{var Ce;return!Q&&((Ce=b.force_https)!=null?Ce:d.force_https)&&fetch(ye).then(()=>ye,()=>0)});if(ae)return yield alertDialog("You are being redirected but in some cases this may fail. Hold on tight!","warning"),window.location.href=ae;const ue="port"in b||"https_port"in b;setTimeout(C,ue||re?1e3:0),Object.assign(loaded,b),recalculateChanges(),execDoneMessage(!1,T.current)})}}function Section({title:d,subtitle:m}){return reactExports.createElement(Divider,{role:"heading",sx:{fontSize:"larger",fontWeight:"bold"}},d,reactExports.createElement(Box,{fontSize:"small",fontWeight:"normal"},m))}function recalculateChanges(){const d={};if(state.config)for(const[m,g]of Object.entries(state.config))JSON.stringify(g)!==JSON.stringify(loaded==null?void 0:loaded[m])&&(d[m]=g);pageState.changes=d}function isCertError(d){return/certificate/.test(d)}function isKeyError(d){return/private key/.test(d)}function PortField({label:d,value:m,onChange:g,setApi:x,status:b,suggestedPort:E=1,error:v,helperText:C}){const S=reactExports.useRef(E);m>0&&(S.current=m);const T=Number(m>0?S.current:m)||0;let $=b==null?void 0:b.error;return $&&(isCertError($)||isKeyError($)?$=void 0:v=!0),reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{sx:{flexGrow:1},label:d,error:v,value:T,options:[{label:"off",value:-1},{label:"random",value:0},{label:"choose",value:S.current}],onChange:g}),m>0&&reactExports.createElement(NumberField,{label:"Number",fullWidth:!1,value:m,onChange:g,setApi:x,error:v,min:1,max:65535,helperText:C,sx:{minWidth:"5.5em"}})),b&&reactExports.createElement(FormHelperText,{error:v},b===!0?"...":$!=null?$:(b==null?void 0:b.listening)&&"Correctly working on port "+b.port))}function AllowedReferer({label:d,value:m,onChange:g,error:x}){const b=!m||m==="-",E="example.com";return reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:b?m:E,options:{"allow all":"","forbid all":"-","allow some":E},onChange:g,error:x,sx:b?void 0:{maxWidth:"11em"}}),!b&&reactExports.createElement(StringField,{label:"Domain to allow",value:m,placeholder:"example.com",onChange:g,error:x,helperText:reactExports.createElement(WildcardsSupported)}))}function WebdavAgentAuthField({label:d,value:m,onChange:g,error:x,helperText:b,fallbackRE:E=".*"}){const[v,C]=reactExports.useState(""),S=typeof m=="string";reactExports.useEffect(()=>C(S?m:E),[m]);const T=reactExports.useId();return reactExports.createElement(Box,{},reactExports.createElement(Box,{display:"flex"},reactExports.createElement(SelectField,{label:d,value:m,onChange:g,error:x,"aria-describedby":T,options:{Off:!1,Always:!0,RegEx:v},sx:S?{maxWidth:"9em"}:void 0}),S&&reactExports.createElement(StringField,{label:"User-Agent regex",value:m,onChange:g,error:x})),reactExports.createElement(FormHelperText,{id:T},b))}function suggestMakingCert(){return xt(this,null,function*(){return new Promise(d=>{const{close:m}=newDialog({icon:CardMembership,title:"Get a certificate",onClose:d,Content:()=>reactExports.createElement(Box,{p:1,lineHeight:1.5},reactExports.createElement(Box,{},"HTTPS needs a certificate to work."),reactExports.createElement(Box,{},"We suggest you to ",reactExports.createElement(InLink,{to:"internet"},"get a free but proper certificate"),"."),reactExports.createElement(Box,{},"If you don't have a domain ",reactExports.createElement(LinkBtn,{onClick:g},"make a self-signed certificate")," but that ",wikiLink("HTTPS#certificate"," won't be perfect"),"."))});function g(){return xt(this,null,function*(){if(!window.crypto.subtle)return alertDialog("Retry this procedure on localhost","warning");const x=yield apiCall("make_self_signed_cert",{fileName:"self"});loaded&&Object.assign(loaded,x),setTimeout(exposedReloadStatus,1e3),setTimeout(exposedReloadStatus,2e3),Object.assign(state.config,x),yield alertDialog("Certificate saved","success"),m()})}})})}function LogoutPage(){const{element:d}=useApiEx("get_config",{only:[]}),{username:m}=useSnapState();return d||reactExports.createElement(Box,{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:2},m?reactExports.createElement(reactExports.Fragment,{},"You are logged in as: "+m,reactExports.createElement(Btn,{icon:Logout,size:"large",onClick:()=>apiCall("logout").catch(x=>x.code!==HTTP_UNAUTHORIZED&&alertDialog(x))},"I want to logout")):reactExports.createElement(Alert,{severity:"info"},"You are not logged in, because authentication is not required on localhost"),reactExports.createElement(Btn,{icon:PowerSettingsNew,size:"large",color:"warning",confirm:"Stopping the server, this interface won't respond anymore",onClick(){return xt(this,null,function*(){yield apiCall("quit"),yield alertDialog("Good-bye","success"),location.reload()})}},"Quit HFS"))}function LangPage({setTitleSide:d}){const{list:m,error:g,connecting:x,reload:b}=useApiList("get_langs"),E=reactExports.useMemo(()=>["en",..._.uniq(m.map(C=>C.code))],[m]);return d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"Translation is limited to Front-end, it doesn't apply to Admin-panel"),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,Ae({mt:1,maxWidth:"50em",flex:1},fillFlexParentSx),reactExports.createElement(Box,{mb:1,display:"flex"},reactExports.createElement(Btn,{icon:Upload,onClick:v},"Add"),reactExports.createElement(Box,{flex:1}),reactExports.createElement(ForceLang,{langs:E})),reactExports.createElement(DataTable,{error:g,loading:x,rows:reactExports.useMemo(()=>_.sortBy(m,C=>(C.embedded?2:1)+C.code),[m.length]),hideFooter:!0,fillFlex:!0,columns:[{field:"code",width:110,valueFormatter:({value:C})=>C==null?void 0:C.toUpperCase()},{field:"version",width:120,hideUnder:"sm"},{field:"hfs_version",headerName:"HFS version",width:110},{field:"author",flex:1,hideUnder:"sm"}],actions:({row:C})=>[reactExports.createElement(IconBtn,{icon:Delete,title:C.embedded?"Cannot delete (embedded)":"Delete",confirm:`Delete language code "${C.code}"?`,disabled:C.embedded,onClick(){return xt(this,null,function*(){yield apiCall("del_lang",_.pick(C,"code")),b(),toast("Deleted")})}})]})));function v(){selectFiles(C=>xt(this,null,function*(){if(!C)return;const S={};for(const T of C)S[T.name]=yield readFile(T);try{yield apiCall("add_langs",{langs:S}),b(),toast("Loaded")}catch(T){yield alertDialog(T)}}),{accept:".json"})}}function ForceLang({langs:d}){const m=CFG.force_lang,{data:g,reload:x,loading:b}=useApiEx("get_config",{only:[m]}),[E,v]=reactExports.useState();reactExports.useEffect(()=>{var $;return v(($=g==null?void 0:g[m])!=null?$:E)},[g]);const[C,S]=reactExports.useState();return reactExports.createElement(SelectField,{fullWidth:!1,disabled:!!b||typeof C=="string",value:C!=null?C:E,onChange($){return xt(this,null,function*(){S($);try{yield apiCall("set_config",{values:{[m]:$}}),yield x()}finally{S(void 0)}})},options:[{label:"Respect browser language",value:""},...d.map($=>({value:$,label:"Force language: "+$}))]})}function switchBtn(d,m,g){return reactExports.createElement(VerticalSwitch,Ae({checked:d||!1,onChange(x,b){m(b)},disabled:d===void 0},g))}const VerticalSwitch=styled(Switch)(({theme:d,size:m})=>{const g=m&&m==="small";return{height:g?36:48,width:g?18:26,padding:5,"& .MuiSwitch-switchBase":{margin:1,padding:0,transform:`translateY(${g?16:22}px)`,"&.Mui-checked":{color:d.palette.primary.contrastText,transform:"translateY(2px)","& .MuiSwitch-thumb:before":{backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"/></svg>')`},"& + .MuiSwitch-track":{backgroundColor:d.palette.grey[500]}}},"& .Mui-checked .MuiSwitch-thumb":{backgroundColor:d.palette.primary.main,boxShadow:"0px 2px 1px 1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)"},"& .MuiSwitch-thumb":{width:g?16:24,height:g?16:24,backgroundColor:d.palette.grey[700],"&::before":{content:"''",position:"absolute",width:"85%",height:"85%",left:0,top:0,backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${g?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(d.palette.primary.contrastText)}" d="M19,13H5V11H19V13Z"/></svg>')`}},"& .MuiSwitch-track":{backgroundColor:d.palette.grey[500],borderRadius:20/2}}}),names={top:"Top of HTML Body",bottom:"Bottom of HTML Body"};function CustomHtmlPage({setTitleSide:d}){const{data:m,reload:g}=useApiEx("get_custom_html"),{customHtmlSection:x}=useSnapState(),[b,E]=reactExports.useState({}),[v,C]=reactExports.useState({});reactExports.useEffect(()=>{m&&(C(m.sections),k(m.enabled))},[m]),reactExports.useEffect(()=>E(v),[v]);const S=reactExports.useMemo(()=>{const D=_.sortBy(Object.keys(b),isNumeric);return D.length&&!D.includes(x)&&(state.customHtmlSection=_.findKey(b,Boolean)||(D==null?void 0:D[0])||""),D.map(A=>{var L;return{value:A,label:(names[A]||prefix("HTTP ",HTTP_MESSAGES[A])||_.startCase(A))+((L=b[A])!=null&&L.trim()?" *":"")}})},[useDebounce(b,500)]),T=reactExports.useMemo(()=>!_.isEqualWith(v,b,(D,A)=>!D&&!A||void 0),[v,b]),[$,k]=reactExports.useState();return d(reactExports.useMemo(()=>reactExports.createElement(Box,{sx:{display:{xs:"none",md:"block"}}},reactExports.createElement(Alert,{severity:"info"},md("Add HTML code to some parts of the Front-end. It's saved to file `custom.html`, that you can edit directly with your editor of choice. "),wikiLink("customization","More help")),reactExports.createElement(Alert,{severity:"info"},md("To customize icons "),wikiLink("customization#icons","read documentation"))),[])),reactExports.createElement(reactExports.Fragment,{},reactExports.createElement(Box,{display:"flex",alignItems:"center",gap:1,mb:1},reactExports.createElement(SelectField,{label:"Section",value:x,options:S,onChange:D=>state.customHtmlSection=D}),reloadBtn(g),reactExports.createElement(IconBtn,{icon:Save,title:`Save
807
+ (ctrl+enter)`,modified:T,onClick:I}),hTooltip("Enable all sections",void 0,switchBtn($,D=>xt(this,null,function*(){yield apiCall("set_config",{values:{[CFG.disable_custom_html]:!D}}),k(D)})))),reactExports.createElement(TextEditor,{lang:x==="style"?"css":x==="script"?"js":"html",value:(b==null?void 0:b[x])||"",style:{background:"#8881"},onValueChange(D){E(A=>$t(Ae({},A),{[x]:D}))},onKeyDown(D){["s","S","Enter"].includes(isCtrlKey(D))&&(I(),D.preventDefault())}}));function I(){return apiCall("set_custom_html",{sections:b}).then(()=>C(b))}}const COUNTRIES=ALL.filter(d=>WITH_IP.includes(d.code)),PORT_FORWARD_URL="https://portforward.com/",HIGHER_PORT=1080,MSG_ISP=reactExports.createElement("div",{},"HFS will probably not be reachable on the Internet. ",wikiLink("Work-on-the-internet#double-nat","Read more"));function InternetPage({setTitleSide:d}){var re,ce,fe,ae,ue;const[m,g]=reactExports.useState(),[x,b]=reactExports.useState(!1),[E,v]=reactExports.useState(!1),C=useApiEx("get_status"),S=useApiEx("get_config",{only:[CFG.base_url]}),T=(re=S.data)==null?void 0:re[CFG.base_url],$=with_([(fe=(ce=C.data)==null?void 0:ce.http)==null?void 0:fe.error,(ue=(ae=C.data)==null?void 0:ae.https)==null?void 0:ue.error],([pe,ge])=>pe&&ge?"error":pe||ge?"warning":"success"),k=useApiEx("get_nat",{},{timeout:20}),{data:I}=useApiEx("get_public_ips",{timeout:20}),{data:D}=k,A=D==null?void 0:D.internalPort,L=(D==null?void 0:D.mapped)&&D.mapped.private.port!==A&&D.mapped.private.port,N=(D==null?void 0:D.externalIp)&&I&&!I.includes(D.externalIp),Y=useRequestRender();return reactExports.useEffect(()=>{Y.state&&Z(!0)},[Y.state]),d(reactExports.useMemo(()=>reactExports.createElement(Alert,{severity:"info",sx:{display:{xs:"none",sm:"inherit"}}},"This page makes sure your site is working correctly on the Internet"),[])),reactExports.createElement(Flex,{vert:!0,gap:"2em",maxWidth:"40em"},Q(),J(),U(),z(),B());function j(pe){return pe.replace(new RegExp(".+<body>(.+)<\\/body>.+","is"),(ge,ye)=>ye||ge).replace(/<[^>]+>/g," ")}function B(){const{data:pe}=useApiEvents("get_dynamic_dns_error"),ge=reactExports.useRef();return reactExports.useEffect(()=>ge.current&&restartAnimation(ge.current,"1s blink"),[pe]),reactExports.createElement(TitleCard,{icon:Dns,title:"Dynamic DNS updater"},pe&&reactExports.createElement(Flex,{},pe.error?reactExports.createElement(ErrorIcon,{color:"error",ref:ge}):reactExports.createElement(Check,{color:"success",ref:ge}),formatTimestamp$1(pe.ts)," – ",prefix("Error: ",j(pe.error)).slice(0,500)||"Updated successfully"),"This tool can keep your domain updated with your latest IP address. Not every service is compatible, and most of them have their own software for the job, which is superior, but we offer this lightweight solution in case you are more keen to it.",reactExports.createElement(ConfigForm,{form:(ye,{setValues:Ce})=>({fields:[reactExports.createElement(Flex,{},_.map({NoIP:{url:"https://$username:$password@dynupdate.no-ip.com/nic/update?hostname=$domain",fields:["username","password","domain"]},DuckDNS:{url:"https://www.duckdns.org/update/$domain/$token>OK",fields:[{k:"domain",helperText:"do NOT include the .duckdns.org part"},"token"]}},({url:Ee,fields:ve},Pe)=>reactExports.createElement(Btn,{key:Ee,onClick:()=>formDialog({title:Pe+" wizard",form:{maxWidth:"20em",before:reactExports.createElement(Box,{mb:1},"Following information is stored non-encrypted"),fields:ve.map(Me=>_.isString(Me)?{k:Me}:Me)}}).then(Me=>Me&&Ce({[CFG.dynamic_dns_url]:replace(Ee,Me,"$")}))},Pe+" wizard"))),{k:CFG.dynamic_dns_url,label:"Updater URL",multiline:!0,helperText:"Refer to your DNS service provider to know what URL can automatically keep your domain updated. Supported symbols are $IP4, $IP6, $IPX. Optionally, you can append “>” followed by a regular expression to determine a successful answer, otherwise status code will be used."}]})}))}function z(){const pe=reactExports.useMemo(()=>COUNTRIES.map(ge=>({value:ge.code,label:ge.name})),[COUNTRIES]);return reactExports.createElement(TitleCard,{title:"Geo IP",icon:Public},reactExports.createElement(ConfigForm,{keys:[CFG.geo_enable,CFG.geo_allow,CFG.geo_list,CFG.geo_allow_unknown],form:ge=>{var ye;return{fields:[{k:CFG.geo_enable,comp:BoolField,label:"Enable",helperText:md("Necessary database will be downloaded every month (2MB). Service is made possible thanks to [IP2Location](https://www.ip2location.com).")},...ge!=null&&ge[CFG.geo_enable]?[{k:CFG.geo_allow,comp:SelectField,label:"Rule",options:{"no restriction":null,"block selected countries":!1,"allow selected countries":!0}},ge[CFG.geo_allow]!=null&&{k:CFG.geo_list,comp:MultiSelectField,label:`Selected countries (${((ye=ge[CFG.geo_list])==null?void 0:ye.length)||0})`,valueSeparator:!1,placeholder:"none",options:pe,renderOption:Ce=>reactExports.createElement(Country,{code:Ce.value,long:!0}),clearable:!0,getError:Ce=>ge[CFG.geo_allow]&&!(Ce!=null&&Ce.length)&&"Cannot be empty"},ge[CFG.geo_allow]!=null&&{k:CFG.geo_allow_unknown,comp:SelectField,label:"When country cannot be determined",helperText:"Local IPs are ignored",options:{Allow:!0,Block:!1}}]:[]]}},addToBar:[reactExports.createElement(Box,{flex:1}),reactExports.createElement(Btn,{icon:Search,onClick:V},"Lookup IP")]}))}function V(){return xt(this,null,function*(){const pe=yield promptDialog("Lookup IP");if(!pe)return;const{country:ge}=yield apiCall("geo_ip",{ip:pe});return ge?alertDialog(reactExports.createElement(Country,{code:ge,long:!0}),"success"):alertDialog("IP not found","error")})}function U(){var De;const[pe,ge]=reactExports.useState(),ye=useApiEx("get_cert");reactExports.useEffect(()=>{apiCall("get_config",{only:["acme_domain","acme_renew"]}).then(ge)},[]);const[Ce,Ee]=reactExports.useState(!1);if(!pe)return reactExports.createElement(CircularProgress);const{https:ve}=C.data||{},Pe=(ve==null?void 0:ve.port)===PORT_DISABLED,Me=ve==null?void 0:ve.error;return C.element||reactExports.createElement(TitleCard,{title:"HTTPS",icon:Lock,color:ve!=null&&ve.listening&&!Me?"success":"warning"},Me?reactExports.createElement(Alert,{severity:"warning"},Me):Pe&&reactExports.createElement(LinkBtn,{onClick:W},"Not enabled"),ye.element||with_(ye.data,Le=>{var Ge,Ie;return Le.none?reactExports.createElement(LinkBtn,{onClick:Re},"No certificate configured"):reactExports.createElement(Box,{},reactExports.createElement(CardMembership,{fontSize:"small",sx:{mr:1,verticalAlign:"middle"}}),"Current certificate",reactExports.createElement("ul",{},reactExports.createElement("li",{},"Domain: ",((Ge=Le.altNames)==null?void 0:Ge.join(" + "))||"-"),reactExports.createElement("li",{},"Issuer: ",((Ie=Le.issuer)==null?void 0:Ie.O)||reactExports.createElement("i",{},"self-signed")),reactExports.createElement("li",{},"Validity: ",["validFrom","validTo"].map(Be=>formatTimestamp$1(Le[Be])).join(" – "))))}),reactExports.createElement(Divider),reactExports.createElement(Form,{gap:1,gridProps:{rowSpacing:1},values:pe,set(Le,Ge){ge(Ie=>{const Be=$t(Ae({},Ie),{[Ge]:Le});return Ee(!0),apiCall("set_config",{values:Be}).finally(()=>Ee(!1)),Be})},fields:[md("Generate certificate using [Let's Encrypt](https://letsencrypt.org)"),{k:"acme_domain",label:"Domain for certificate",sm:((De=pe.acme_domain)==null?void 0:De.length)>30?12:6,required:!0,multiline:!0,fromField:Le=>Le.replaceAll(`
808
808
  `,","),toField:Le=>Le.replaceAll(",",`
809
809
  `),helperText:md(`Example: your.domain.com
810
810
  Multiple domains on separated lines`)},{k:"acme_renew",label:"Automatic renew one month before expiration",comp:BoolField,disabled:!pe.acme_domain},with_(C.data.acmeRenewError,Le=>Le&&reactExports.createElement(Alert,{severity:"error"},Le))],save:$t(Ae({children:"Request",startIcon:reactExports.createElement(Send)},Ce&&{loading:!0}),{onClick(){return xt(this,null,function*(){var Be;const[Le,...Ge]=pe.acme_domain.split(",");Le===((Be=ye.data.subject)==null?void 0:Be.CN)&&Number(new Date(ye.data.validTo))-Date.now()>=30*DAY&&!(yield confirmDialog("Your certificate is still good",{trueText:"Make a new one anyway"}))||(yield confirmDialog("HFS must temporarily serve HTTP on public port 80, and your router must be configured or this operation will fail"))&&((yield X(Le))||(yield apiCall("make_cert",{domain:Le,altNames:Ge},{timeout:2e4}).then(()=>xt(this,null,function*(){yield alertDialog("Certificate created","success"),Pe&&(yield W()),ye.reload()}),alertDialog).finally(C.reload)))})}})}));function Re(){return xt(this,null,function*(){yield suggestMakingCert(),ye.reload(),C.reload()})}}function W(){return xt(this,null,function*(){if(!(yield confirmDialog(`HTTPS is currently disabled.