diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..d8f102ad --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "Besties" + ] +} \ No newline at end of file diff --git a/dist/assets/index-DO0o1ucg.css b/dist/assets/index-DO0o1ucg.css new file mode 100644 index 00000000..bcbbb369 --- /dev/null +++ b/dist/assets/index-DO0o1ucg.css @@ -0,0 +1 @@ +#App{background-color:#87cefa}#App header{background-color:#222;color:#fff;padding-bottom:.5rem;position:fixed;width:100%;z-index:100;text-align:center;align-items:center}#App main{padding-left:2em;padding-right:2em;padding-bottom:5rem;padding-top:10rem}#App h1{font-size:1.5em;text-align:center;display:inline-block}#App header section{background-color:#e0ffff}#App .widget{display:inline-block;line-height:.5em;border-radius:10px;color:#000;font-size:.8em;padding-left:1em;padding-right:1em}#App #heartWidget{font-size:1.5em;margin:1em}#App span{display:inline-block}.red{color:#b22222}.orange{color:#e6ac00}.yellow{color:#e6e600}.green{color:green}.blue{color:#00f}.purple{color:purple}button{background:none;color:inherit;border:none;padding:10px;font:inherit;cursor:pointer;outline:inherit}.chat-entry{margin:1rem}.chat-entry:last-child{margin-bottom:0}.chat-entry .entry-bubble{background-color:#ffffe0;border-radius:30px;max-width:50rem;min-width:10rem;padding:1rem 1rem .1rem;position:relative;width:fit-content}.chat-entry .entry-bubble:hover{background-color:#fefea2}.chat-entry .entry-name{font-size:medium;margin-bottom:.5rem}.chat-entry .entry-time{color:#bbb;font-size:x-small;margin-bottom:.1rem;margin-right:.5rem}.chat-entry .entry-bubble:before{content:"";height:22px;width:44px;clip-path:polygon(100% 0,0 0,50% 100%);position:absolute;top:0}.chat-entry.local{text-align:left}.chat-entry.local .entry-time{text-align:right}.chat-entry.local .entry-bubble:before{background-color:#ffffe0;left:-18px}.chat-entry.local .entry-bubble:hover:before{background-color:#fefea2}.chat-entry.remote{text-align:right}.chat-entry.remote .entry-bubble{background-color:#e0ffff;margin-left:auto;margin-right:0}.chat-entry.remote .entry-bubble:hover{background-color:#a9f6f6}.chat-entry.remote .entry-time{text-align:left}.chat-entry.remote .entry-bubble:before{background-color:#e0ffff;right:-18px}.chat-entry.remote .entry-bubble:hover:before{background-color:#a9f6f6}.chat-log{margin:auto;max-width:50rem}body{margin:0;padding:0;font-family:sans-serif} diff --git a/dist/assets/index-MVzsz84w.js b/dist/assets/index-MVzsz84w.js new file mode 100644 index 00000000..16004202 --- /dev/null +++ b/dist/assets/index-MVzsz84w.js @@ -0,0 +1,8 @@ +(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))a(f);new MutationObserver(f=>{for(const h of f)if(h.type==="childList")for(const d of h.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&a(d)}).observe(document,{childList:!0,subtree:!0});function s(f){const h={};return f.integrity&&(h.integrity=f.integrity),f.referrerPolicy&&(h.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?h.credentials="include":f.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function a(f){if(f.ep)return;f.ep=!0;const h=s(f);fetch(f.href,h)}})();function eu(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var Do={exports:{}},ei={},Lo={exports:{}},Q={};var lf;function Uh(){if(lf)return Q;lf=1;var u=Symbol.for("react.element"),i=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),h=Symbol.for("react.provider"),d=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),T=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),W=Symbol.iterator;function H(g){return g===null||typeof g!="object"?null:(g=W&&g[W]||g["@@iterator"],typeof g=="function"?g:null)}var V={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},J=Object.assign,ee={};function Y(g,N,q){this.props=g,this.context=N,this.refs=ee,this.updater=q||V}Y.prototype.isReactComponent={},Y.prototype.setState=function(g,N){if(typeof g!="object"&&typeof g!="function"&&g!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,g,N,"setState")},Y.prototype.forceUpdate=function(g){this.updater.enqueueForceUpdate(this,g,"forceUpdate")};function Be(){}Be.prototype=Y.prototype;function ut(g,N,q){this.props=g,this.context=N,this.refs=ee,this.updater=q||V}var Ze=ut.prototype=new Be;Ze.constructor=ut,J(Ze,Y.prototype),Ze.isPureReactComponent=!0;var Oe=Array.isArray,et=Object.prototype.hasOwnProperty,Pe={current:null},Ce={key:!0,ref:!0,__self:!0,__source:!0};function Me(g,N,q){var G,te={},ne=null,oe=null;if(N!=null)for(G in N.ref!==void 0&&(oe=N.ref),N.key!==void 0&&(ne=""+N.key),N)et.call(N,G)&&!Ce.hasOwnProperty(G)&&(te[G]=N[G]);var le=arguments.length-2;if(le===1)te.children=q;else if(1>>1,N=I[g];if(0>>1;gf(te,P))nef(oe,te)?(I[g]=oe,I[ne]=P,g=ne):(I[g]=te,I[G]=P,g=G);else if(nef(oe,P))I[g]=oe,I[ne]=P,g=ne;else break e}}return $}function f(I,$){var P=I.sortIndex-$.sortIndex;return P!==0?P:I.id-$.id}if(typeof performance=="object"&&typeof performance.now=="function"){var h=performance;u.unstable_now=function(){return h.now()}}else{var d=Date,v=d.now();u.unstable_now=function(){return d.now()-v}}var E=[],T=[],U=1,W=null,H=3,V=!1,J=!1,ee=!1,Y=typeof setTimeout=="function"?setTimeout:null,Be=typeof clearTimeout=="function"?clearTimeout:null,ut=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ze(I){for(var $=s(T);$!==null;){if($.callback===null)a(T);else if($.startTime<=I)a(T),$.sortIndex=$.expirationTime,i(E,$);else break;$=s(T)}}function Oe(I){if(ee=!1,Ze(I),!J)if(s(E)!==null)J=!0,Ye(et);else{var $=s(T);$!==null&&ye(Oe,$.startTime-I)}}function et(I,$){J=!1,ee&&(ee=!1,Be(Me),Me=-1),V=!0;var P=H;try{for(Ze($),W=s(E);W!==null&&(!(W.expirationTime>$)||I&&!gn());){var g=W.callback;if(typeof g=="function"){W.callback=null,H=W.priorityLevel;var N=g(W.expirationTime<=$);$=u.unstable_now(),typeof N=="function"?W.callback=N:W===s(E)&&a(E),Ze($)}else a(E);W=s(E)}if(W!==null)var q=!0;else{var G=s(T);G!==null&&ye(Oe,G.startTime-$),q=!1}return q}finally{W=null,H=P,V=!1}}var Pe=!1,Ce=null,Me=-1,It=5,Ut=-1;function gn(){return!(u.unstable_now()-UtI||125g?(I.sortIndex=P,i(T,I),s(E)===null&&I===s(T)&&(ee?(Be(Me),Me=-1):ee=!0,ye(Oe,P-g))):(I.sortIndex=N,i(E,I),J||V||(J=!0,Ye(et))),I},u.unstable_shouldYield=gn,u.unstable_wrapCallback=function(I){var $=H;return function(){var P=H;H=$;try{return I.apply(this,arguments)}finally{H=P}}}})(Fo)),Fo}var cf;function Hh(){return cf||(cf=1,zo.exports=$h()),zo.exports}var ff;function Bh(){if(ff)return Xe;ff=1;var u=tu(),i=Hh();function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),E=Object.prototype.hasOwnProperty,T=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,U={},W={};function H(e){return E.call(W,e)?!0:E.call(U,e)?!1:T.test(e)?W[e]=!0:(U[e]=!0,!1)}function V(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function J(e,t,n,r){if(t===null||typeof t>"u"||V(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ee(e,t,n,r,l,o,c){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=c}var Y={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Y[e]=new ee(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Y[t]=new ee(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Y[e]=new ee(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Y[e]=new ee(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Y[e]=new ee(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Y[e]=new ee(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Y[e]=new ee(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Y[e]=new ee(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Y[e]=new ee(e,5,!1,e.toLowerCase(),null,!1,!1)});var Be=/[\-:]([a-z])/g;function ut(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Be,ut);Y[t]=new ee(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Be,ut);Y[t]=new ee(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Be,ut);Y[t]=new ee(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Y[e]=new ee(e,1,!1,e.toLowerCase(),null,!1,!1)}),Y.xlinkHref=new ee("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Y[e]=new ee(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ze(e,t,n,r){var l=Y.hasOwnProperty(t)?Y[t]:null;(l!==null?l.type!==0:r||!(2m||l[c]!==o[m]){var p=` +`+l[c].replace(" at new "," at ");return e.displayName&&p.includes("")&&(p=p.replace("",e.displayName)),p}while(1<=c&&0<=m);break}}}finally{q=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?N(e):""}function te(e){switch(e.tag){case 5:return N(e.type);case 16:return N("Lazy");case 13:return N("Suspense");case 19:return N("SuspenseList");case 0:case 2:case 15:return e=G(e.type,!1),e;case 11:return e=G(e.type.render,!1),e;case 1:return e=G(e.type,!0),e;default:return""}}function ne(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ce:return"Fragment";case Pe:return"Portal";case It:return"Profiler";case Me:return"StrictMode";case tt:return"Suspense";case gt:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case gn:return(e.displayName||"Context")+".Consumer";case Ut:return(e._context.displayName||"Context")+".Provider";case Dt:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Lt:return t=e.displayName||null,t!==null?t:ne(e.type)||"Memo";case Ye:t=e._payload,e=e._init;try{return ne(e(t))}catch{}}return null}function oe(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ne(t);case 8:return t===Me?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function le(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fe(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function nt(e){var t=fe(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(c){r=""+c,o.call(this,c)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(c){r=""+c},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function mi(e){e._valueTracker||(e._valueTracker=nt(e))}function cu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=fe(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function hi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Vl(e,t){var n=t.checked;return P({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function fu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=le(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function du(e,t){t=t.checked,t!=null&&Ze(e,"checked",t,!1)}function Ul(e,t){du(e,t);var n=le(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Al(e,t.type,n):t.hasOwnProperty("defaultValue")&&Al(e,t.type,le(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function mu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Al(e,t,n){(t!=="number"||hi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var pr=Array.isArray;function Vn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=pi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function yr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var vr={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},$d=["Webkit","ms","Moz","O"];Object.keys(vr).forEach(function(e){$d.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),vr[t]=vr[e]})});function wu(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||vr.hasOwnProperty(e)&&vr[e]?(""+t).trim():t+"px"}function Su(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=wu(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Hd=P({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 $l(e,t){if(t){if(Hd[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(s(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(t.style!=null&&typeof t.style!="object")throw Error(s(62))}}function Hl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Bl=null;function Zl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Yl=null,Un=null,An=null;function ku(e){if(e=Ar(e)){if(typeof Yl!="function")throw Error(s(280));var t=e.stateNode;t&&(t=Ui(t),Yl(e.stateNode,e.type,t))}}function Eu(e){Un?An?An.push(e):An=[e]:Un=e}function Tu(){if(Un){var e=Un,t=An;if(An=Un=null,ku(e),t)for(e=0;e>>=0,e===0?32:31-(em(e)/tm|0)|0}var Si=64,ki=4194304;function kr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ei(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,c=n&268435455;if(c!==0){var m=c&~l;m!==0?r=kr(m):(o&=c,o!==0&&(r=kr(o)))}else c=n&~l,c!==0?r=kr(c):o!==0&&(r=kr(o));if(r===0)return 0;if(t!==0&&t!==r&&(t&l)===0&&(l=r&-r,o=t&-t,l>=o||l===16&&(o&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Er(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-wt(t),e[t]=n}function lm(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ir),Ju=" ",Xu=!1;function bu(e,t){switch(e){case"keyup":return Pm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ea(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var $n=!1;function Fm(e,t){switch(e){case"compositionend":return ea(t);case"keypress":return t.which!==32?null:(Xu=!0,Ju);case"textInput":return e=t.data,e===Ju&&Xu?null:e;default:return null}}function Rm(e,t){if($n)return e==="compositionend"||!cs&&bu(e,t)?(e=Zu(),Ci=is=bt=null,$n=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=oa(n)}}function aa(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?aa(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ca(){for(var e=window,t=hi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=hi(e.document)}return t}function ms(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Zm(e){var t=ca(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&aa(n.ownerDocument.documentElement,n)){if(r!==null&&ms(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=ua(n,o);var c=ua(n,r);l&&c&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==c.node||e.focusOffset!==c.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(c.node,c.offset)):(t.setEnd(c.node,c.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Hn=null,hs=null,zr=null,ps=!1;function fa(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ps||Hn==null||Hn!==hi(r)||(r=Hn,"selectionStart"in r&&ms(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),zr&&Pr(zr,r)||(zr=r,r=Fi(hs,"onSelect"),0Qn||(e.current=Cs[Qn],Cs[Qn]=null,Qn--)}function ue(e,t){Qn++,Cs[Qn]=e.current,e.current=t}var rn={},Re=nn(rn),qe=nn(!1),kn=rn;function Gn(e,t){var n=e.type.contextTypes;if(!n)return rn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in n)l[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Qe(e){return e=e.childContextTypes,e!=null}function Ai(){ce(qe),ce(Re)}function Oa(e,t,n){if(Re.current!==rn)throw Error(s(168));ue(Re,t),ue(qe,n)}function Ca(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(s(108,oe(e)||"Unknown",l));return P({},n,r)}function ji(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,kn=Re.current,ue(Re,e),ue(qe,qe.current),!0}function Ma(e,t,n){var r=e.stateNode;if(!r)throw Error(s(169));n?(e=Ca(e,t,kn),r.__reactInternalMemoizedMergedChildContext=e,ce(qe),ce(Re),ue(Re,e)):ce(qe),ue(qe,n)}var jt=null,Wi=!1,Ms=!1;function _a(e){jt===null?jt=[e]:jt.push(e)}function rh(e){Wi=!0,_a(e)}function ln(){if(!Ms&&jt!==null){Ms=!0;var e=0,t=se;try{var n=jt;for(se=1;e>=c,l-=c,Wt=1<<32-wt(t)+l|n<B?(De=j,j=null):De=j.sibling;var re=x(w,j,S[B],M);if(re===null){j===null&&(j=De);break}e&&j&&re.alternate===null&&t(w,j),y=o(re,y,B),A===null?R=re:A.sibling=re,A=re,j=De}if(B===S.length)return n(w,j),de&&Tn(w,B),R;if(j===null){for(;BB?(De=j,j=null):De=j.sibling;var hn=x(w,j,re.value,M);if(hn===null){j===null&&(j=De);break}e&&j&&hn.alternate===null&&t(w,j),y=o(hn,y,B),A===null?R=hn:A.sibling=hn,A=hn,j=De}if(re.done)return n(w,j),de&&Tn(w,B),R;if(j===null){for(;!re.done;B++,re=S.next())re=C(w,re.value,M),re!==null&&(y=o(re,y,B),A===null?R=re:A.sibling=re,A=re);return de&&Tn(w,B),R}for(j=r(w,j);!re.done;B++,re=S.next())re=D(j,w,B,re.value,M),re!==null&&(e&&re.alternate!==null&&j.delete(re.key===null?B:re.key),y=o(re,y,B),A===null?R=re:A.sibling=re,A=re);return e&&j.forEach(function(Vh){return t(w,Vh)}),de&&Tn(w,B),R}function Se(w,y,S,M){if(typeof S=="object"&&S!==null&&S.type===Ce&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case et:e:{for(var R=S.key,A=y;A!==null;){if(A.key===R){if(R=S.type,R===Ce){if(A.tag===7){n(w,A.sibling),y=l(A,S.props.children),y.return=w,w=y;break e}}else if(A.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Ye&&Fa(R)===A.type){n(w,A.sibling),y=l(A,S.props),y.ref=jr(w,A,S),y.return=w,w=y;break e}n(w,A);break}else t(w,A);A=A.sibling}S.type===Ce?(y=Dn(S.props.children,w.mode,M,S.key),y.return=w,w=y):(M=pl(S.type,S.key,S.props,null,w.mode,M),M.ref=jr(w,y,S),M.return=w,w=M)}return c(w);case Pe:e:{for(A=S.key;y!==null;){if(y.key===A)if(y.tag===4&&y.stateNode.containerInfo===S.containerInfo&&y.stateNode.implementation===S.implementation){n(w,y.sibling),y=l(y,S.children||[]),y.return=w,w=y;break e}else{n(w,y);break}else t(w,y);y=y.sibling}y=Oo(S,w.mode,M),y.return=w,w=y}return c(w);case Ye:return A=S._init,Se(w,y,A(S._payload),M)}if(pr(S))return z(w,y,S,M);if($(S))return F(w,y,S,M);Zi(w,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,y!==null&&y.tag===6?(n(w,y.sibling),y=l(y,S),y.return=w,w=y):(n(w,y),y=No(S,w.mode,M),y.return=w,w=y),c(w)):n(w,y)}return Se}var bn=Ra(!0),Va=Ra(!1),Yi=nn(null),qi=null,er=null,zs=null;function Fs(){zs=er=qi=null}function Rs(e){var t=Yi.current;ce(Yi),e._currentValue=t}function Vs(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function tr(e,t){qi=e,zs=er=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ge=!0),e.firstContext=null)}function ft(e){var t=e._currentValue;if(zs!==e)if(e={context:e,memoizedValue:t,next:null},er===null){if(qi===null)throw Error(s(308));er=e,qi.dependencies={lanes:0,firstContext:e}}else er=er.next=e;return t}var xn=null;function Us(e){xn===null?xn=[e]:xn.push(e)}function Ua(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Us(t)):(n.next=l.next,l.next=n),t.interleaved=n,Ht(e,r)}function Ht(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var sn=!1;function As(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Aa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Bt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function on(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(X&2)!==0){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Ht(e,n)}return l=r.interleaved,l===null?(t.next=t,Us(r)):(t.next=l.next,l.next=t),r.interleaved=t,Ht(e,n)}function Qi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bl(e,n)}}function ja(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var c={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};o===null?l=o=c:o=o.next=c,n=n.next}while(n!==null);o===null?l=o=t:o=o.next=t}else l=o=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Gi(e,t,n,r){var l=e.updateQueue;sn=!1;var o=l.firstBaseUpdate,c=l.lastBaseUpdate,m=l.shared.pending;if(m!==null){l.shared.pending=null;var p=m,k=p.next;p.next=null,c===null?o=k:c.next=k,c=p;var O=e.alternate;O!==null&&(O=O.updateQueue,m=O.lastBaseUpdate,m!==c&&(m===null?O.firstBaseUpdate=k:m.next=k,O.lastBaseUpdate=p))}if(o!==null){var C=l.baseState;c=0,O=k=p=null,m=o;do{var x=m.lane,D=m.eventTime;if((r&x)===x){O!==null&&(O=O.next={eventTime:D,lane:0,tag:m.tag,payload:m.payload,callback:m.callback,next:null});e:{var z=e,F=m;switch(x=t,D=n,F.tag){case 1:if(z=F.payload,typeof z=="function"){C=z.call(D,C,x);break e}C=z;break e;case 3:z.flags=z.flags&-65537|128;case 0:if(z=F.payload,x=typeof z=="function"?z.call(D,C,x):z,x==null)break e;C=P({},C,x);break e;case 2:sn=!0}}m.callback!==null&&m.lane!==0&&(e.flags|=64,x=l.effects,x===null?l.effects=[m]:x.push(m))}else D={eventTime:D,lane:x,tag:m.tag,payload:m.payload,callback:m.callback,next:null},O===null?(k=O=D,p=C):O=O.next=D,c|=x;if(m=m.next,m===null){if(m=l.shared.pending,m===null)break;x=m,m=x.next,x.next=null,l.lastBaseUpdate=x,l.shared.pending=null}}while(!0);if(O===null&&(p=C),l.baseState=p,l.firstBaseUpdate=k,l.lastBaseUpdate=O,t=l.shared.interleaved,t!==null){l=t;do c|=l.lane,l=l.next;while(l!==t)}else o===null&&(l.shared.lanes=0);Cn|=c,e.lanes=c,e.memoizedState=C}}function Wa(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Bs.transition;Bs.transition={};try{e(!1),t()}finally{se=n,Bs.transition=r}}function sc(){return dt().memoizedState}function oh(e,t,n){var r=fn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},oc(e))uc(t,n);else if(n=Ua(e,t,n,r),n!==null){var l=We();Nt(n,e,r,l),ac(n,t,r)}}function uh(e,t,n){var r=fn(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(oc(e))uc(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var c=t.lastRenderedState,m=o(c,n);if(l.hasEagerState=!0,l.eagerState=m,St(m,c)){var p=t.interleaved;p===null?(l.next=l,Us(t)):(l.next=p.next,p.next=l),t.interleaved=l;return}}catch{}n=Ua(e,t,l,r),n!==null&&(l=We(),Nt(n,e,r,l),ac(n,t,r))}}function oc(e){var t=e.alternate;return e===he||t!==null&&t===he}function uc(e,t){Br=Xi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ac(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,bl(e,n)}}var tl={readContext:ft,useCallback:Ve,useContext:Ve,useEffect:Ve,useImperativeHandle:Ve,useInsertionEffect:Ve,useLayoutEffect:Ve,useMemo:Ve,useReducer:Ve,useRef:Ve,useState:Ve,useDebugValue:Ve,useDeferredValue:Ve,useTransition:Ve,useMutableSource:Ve,useSyncExternalStore:Ve,useId:Ve,unstable_isNewReconciler:!1},ah={readContext:ft,useCallback:function(e,t){return Rt().memoizedState=[e,t===void 0?null:t],e},useContext:ft,useEffect:Xa,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,bi(4194308,4,tc.bind(null,t,e),n)},useLayoutEffect:function(e,t){return bi(4194308,4,e,t)},useInsertionEffect:function(e,t){return bi(4,2,e,t)},useMemo:function(e,t){var n=Rt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Rt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=oh.bind(null,he,e),[r.memoizedState,e]},useRef:function(e){var t=Rt();return e={current:e},t.memoizedState=e},useState:Ka,useDebugValue:Js,useDeferredValue:function(e){return Rt().memoizedState=e},useTransition:function(){var e=Ka(!1),t=e[0];return e=sh.bind(null,e[1]),Rt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=he,l=Rt();if(de){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),Ie===null)throw Error(s(349));(On&30)!==0||Za(r,t,n)}l.memoizedState=n;var o={value:n,getSnapshot:t};return l.queue=o,Xa(qa.bind(null,r,o,e),[e]),r.flags|=2048,qr(9,Ya.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Rt(),t=Ie.identifierPrefix;if(de){var n=$t,r=Wt;n=(r&~(1<<32-wt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Zr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),n==="select"&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[zt]=t,e[Ur]=r,_c(e,t,!1,!1),t.stateNode=e;e:{switch(c=Hl(n,r),n){case"dialog":ae("cancel",e),ae("close",e),l=r;break;case"iframe":case"object":case"embed":ae("load",e),l=r;break;case"video":case"audio":for(l=0;lsr&&(t.flags|=128,r=!0,Qr(o,!1),t.lanes=4194304)}else{if(!r)if(e=Ki(c),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Qr(o,!0),o.tail===null&&o.tailMode==="hidden"&&!c.alternate&&!de)return Ue(t),null}else 2*we()-o.renderingStartTime>sr&&n!==1073741824&&(t.flags|=128,r=!0,Qr(o,!1),t.lanes=4194304);o.isBackwards?(c.sibling=t.child,t.child=c):(n=o.last,n!==null?n.sibling=c:t.child=c,o.last=c)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=we(),t.sibling=null,n=me.current,ue(me,r?n&1|2:n&1),t):(Ue(t),null);case 22:case 23:return Eo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(st&1073741824)!==0&&(Ue(t),t.subtreeFlags&6&&(t.flags|=8192)):Ue(t),null;case 24:return null;case 25:return null}throw Error(s(156,t.tag))}function vh(e,t){switch(Is(t),t.tag){case 1:return Qe(t.type)&&Ai(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return nr(),ce(qe),ce(Re),Hs(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Ws(t),null;case 13:if(ce(me),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Xn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ce(me),null;case 4:return nr(),null;case 10:return Rs(t.type._context),null;case 22:case 23:return Eo(),null;case 24:return null;default:return null}}var ll=!1,Ae=!1,gh=typeof WeakSet=="function"?WeakSet:Set,L=null;function ir(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ve(e,t,r)}else n.current=null}function ao(e,t,n){try{n()}catch(r){ve(e,t,r)}}var Lc=!1;function wh(e,t){if(ks=Ni,e=ca(),ms(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var c=0,m=-1,p=-1,k=0,O=0,C=e,x=null;t:for(;;){for(var D;C!==n||l!==0&&C.nodeType!==3||(m=c+l),C!==o||r!==0&&C.nodeType!==3||(p=c+r),C.nodeType===3&&(c+=C.nodeValue.length),(D=C.firstChild)!==null;)x=C,C=D;for(;;){if(C===e)break t;if(x===n&&++k===l&&(m=c),x===o&&++O===r&&(p=c),(D=C.nextSibling)!==null)break;C=x,x=C.parentNode}C=D}n=m===-1||p===-1?null:{start:m,end:p}}else n=null}n=n||{start:0,end:0}}else n=null;for(Es={focusedElem:e,selectionRange:n},Ni=!1,L=t;L!==null;)if(t=L,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,L=e;else for(;L!==null;){t=L;try{var z=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(z!==null){var F=z.memoizedProps,Se=z.memoizedState,w=t.stateNode,y=w.getSnapshotBeforeUpdate(t.elementType===t.type?F:Et(t.type,F),Se);w.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var S=t.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(M){ve(t,t.return,M)}if(e=t.sibling,e!==null){e.return=t.return,L=e;break}L=t.return}return z=Lc,Lc=!1,z}function Gr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&ao(t,n,o)}l=l.next}while(l!==r)}}function sl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function co(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Pc(e){var t=e.alternate;t!==null&&(e.alternate=null,Pc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[zt],delete t[Ur],delete t[Os],delete t[th],delete t[nh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function zc(e){return e.tag===5||e.tag===3||e.tag===4}function Fc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||zc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function fo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vi));else if(r!==4&&(e=e.child,e!==null))for(fo(e,t,n),e=e.sibling;e!==null;)fo(e,t,n),e=e.sibling}function mo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(mo(e,t,n),e=e.sibling;e!==null;)mo(e,t,n),e=e.sibling}var ze=null,Tt=!1;function un(e,t,n){for(n=n.child;n!==null;)Rc(e,t,n),n=n.sibling}function Rc(e,t,n){if(Pt&&typeof Pt.onCommitFiberUnmount=="function")try{Pt.onCommitFiberUnmount(wi,n)}catch{}switch(n.tag){case 5:Ae||ir(n,t);case 6:var r=ze,l=Tt;ze=null,un(e,t,n),ze=r,Tt=l,ze!==null&&(Tt?(e=ze,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ze.removeChild(n.stateNode));break;case 18:ze!==null&&(Tt?(e=ze,n=n.stateNode,e.nodeType===8?Ns(e.parentNode,n):e.nodeType===1&&Ns(e,n),Cr(e)):Ns(ze,n.stateNode));break;case 4:r=ze,l=Tt,ze=n.stateNode.containerInfo,Tt=!0,un(e,t,n),ze=r,Tt=l;break;case 0:case 11:case 14:case 15:if(!Ae&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,c=o.destroy;o=o.tag,c!==void 0&&((o&2)!==0||(o&4)!==0)&&ao(n,t,c),l=l.next}while(l!==r)}un(e,t,n);break;case 1:if(!Ae&&(ir(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(m){ve(n,t,m)}un(e,t,n);break;case 21:un(e,t,n);break;case 22:n.mode&1?(Ae=(r=Ae)||n.memoizedState!==null,un(e,t,n),Ae=r):un(e,t,n);break;default:un(e,t,n)}}function Vc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new gh),t.forEach(function(r){var l=Mh.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function xt(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=c),r&=~o}if(r=l,r=we()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kh(r/1960))-r,10e?16:e,cn===null)var r=!1;else{if(e=cn,cn=null,fl=0,(X&6)!==0)throw Error(s(331));var l=X;for(X|=4,L=e.current;L!==null;){var o=L,c=o.child;if((L.flags&16)!==0){var m=o.deletions;if(m!==null){for(var p=0;pwe()-yo?_n(e,0):po|=n),Je(e,t)}function Kc(e,t){t===0&&((e.mode&1)===0?t=1:(t=ki,ki<<=1,(ki&130023424)===0&&(ki=4194304)));var n=We();e=Ht(e,t),e!==null&&(Er(e,t,n),Je(e,n))}function Ch(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Kc(e,n)}function Mh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(s(314))}r!==null&&r.delete(t),Kc(e,n)}var Jc;Jc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||qe.current)Ge=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return Ge=!1,ph(e,t,n);Ge=(e.flags&131072)!==0}else Ge=!1,de&&(t.flags&1048576)!==0&&Ia(t,Hi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;il(e,t),e=t.pendingProps;var l=Gn(t,Re.current);tr(t,n),l=Ys(null,t,r,e,l,n);var o=qs();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Qe(r)?(o=!0,ji(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,As(t),l.updater=nl,t.stateNode=l,l._reactInternals=t,bs(t,r,e,n),t=ro(null,t,r,!0,o,n)):(t.tag=0,de&&o&&_s(t),je(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(il(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Ih(r),e=Et(r,e),l){case 0:t=no(null,t,r,e,n);break e;case 1:t=Tc(null,t,r,e,n);break e;case 11:t=gc(null,t,r,e,n);break e;case 14:t=wc(null,t,r,Et(r.type,e),n);break e}throw Error(s(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Et(r,l),no(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Et(r,l),Tc(e,t,r,l,n);case 3:e:{if(xc(t),e===null)throw Error(s(387));r=t.pendingProps,o=t.memoizedState,l=o.element,Aa(e,t),Gi(t,r,null,n);var c=t.memoizedState;if(r=c.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:c.cache,pendingSuspenseBoundaries:c.pendingSuspenseBoundaries,transitions:c.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=rr(Error(s(423)),t),t=Nc(e,t,r,n,l);break e}else if(r!==l){l=rr(Error(s(424)),t),t=Nc(e,t,r,n,l);break e}else for(lt=tn(t.stateNode.containerInfo.firstChild),it=t,de=!0,kt=null,n=Va(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Xn(),r===l){t=Zt(e,t,n);break e}je(e,t,r,n)}t=t.child}return t;case 5:return $a(t),e===null&&Ls(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,c=l.children,Ts(r,l)?c=null:o!==null&&Ts(r,o)&&(t.flags|=32),Ec(e,t),je(e,t,c,n),t.child;case 6:return e===null&&Ls(t),null;case 13:return Oc(e,t,n);case 4:return js(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=bn(t,null,r,n):je(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Et(r,l),gc(e,t,r,l,n);case 7:return je(e,t,t.pendingProps,n),t.child;case 8:return je(e,t,t.pendingProps.children,n),t.child;case 12:return je(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,c=l.value,ue(Yi,r._currentValue),r._currentValue=c,o!==null)if(St(o.value,c)){if(o.children===l.children&&!qe.current){t=Zt(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var m=o.dependencies;if(m!==null){c=o.child;for(var p=m.firstContext;p!==null;){if(p.context===r){if(o.tag===1){p=Bt(-1,n&-n),p.tag=2;var k=o.updateQueue;if(k!==null){k=k.shared;var O=k.pending;O===null?p.next=p:(p.next=O.next,O.next=p),k.pending=p}}o.lanes|=n,p=o.alternate,p!==null&&(p.lanes|=n),Vs(o.return,n,t),m.lanes|=n;break}p=p.next}}else if(o.tag===10)c=o.type===t.type?null:o.child;else if(o.tag===18){if(c=o.return,c===null)throw Error(s(341));c.lanes|=n,m=c.alternate,m!==null&&(m.lanes|=n),Vs(c,n,t),c=o.sibling}else c=o.child;if(c!==null)c.return=o;else for(c=o;c!==null;){if(c===t){c=null;break}if(o=c.sibling,o!==null){o.return=c.return,c=o;break}c=c.return}o=c}je(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,tr(t,n),l=ft(l),r=r(l),t.flags|=1,je(e,t,r,n),t.child;case 14:return r=t.type,l=Et(r,t.pendingProps),l=Et(r.type,l),wc(e,t,r,l,n);case 15:return Sc(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Et(r,l),il(e,t),t.tag=1,Qe(r)?(e=!0,ji(t)):e=!1,tr(t,n),fc(t,r,l),bs(t,r,l,n),ro(null,t,r,!0,e,n);case 19:return Mc(e,t,n);case 22:return kc(e,t,n)}throw Error(s(156,t.tag))};function Xc(e,t){return Du(e,t)}function _h(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ht(e,t,n,r){return new _h(e,t,n,r)}function xo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ih(e){if(typeof e=="function")return xo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Dt)return 11;if(e===Lt)return 14}return 2}function mn(e,t){var n=e.alternate;return n===null?(n=ht(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function pl(e,t,n,r,l,o){var c=2;if(r=e,typeof e=="function")xo(e)&&(c=1);else if(typeof e=="string")c=5;else e:switch(e){case Ce:return Dn(n.children,l,o,t);case Me:c=8,l|=8;break;case It:return e=ht(12,n,t,l|2),e.elementType=It,e.lanes=o,e;case tt:return e=ht(13,n,t,l),e.elementType=tt,e.lanes=o,e;case gt:return e=ht(19,n,t,l),e.elementType=gt,e.lanes=o,e;case ye:return yl(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ut:c=10;break e;case gn:c=9;break e;case Dt:c=11;break e;case Lt:c=14;break e;case Ye:c=16,r=null;break e}throw Error(s(130,e==null?e:typeof e,""))}return t=ht(c,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function Dn(e,t,n,r){return e=ht(7,e,r,t),e.lanes=n,e}function yl(e,t,n,r){return e=ht(22,e,r,t),e.elementType=ye,e.lanes=n,e.stateNode={isHidden:!1},e}function No(e,t,n){return e=ht(6,e,null,t),e.lanes=n,e}function Oo(e,t,n){return t=ht(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Dh(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Xl(0),this.expirationTimes=Xl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Xl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Co(e,t,n,r,l,o,c,m,p){return e=new Dh(e,t,n,m,p),t===1?(t=1,o===!0&&(t|=8)):t=0,o=ht(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},As(o),e}function Lh(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(i){console.error(i)}}return u(),Po.exports=Bh(),Po.exports}var mf;function Yh(){if(mf)return Tl;mf=1;var u=Zh();return Tl.createRoot=u.createRoot,Tl.hydrateRoot=u.hydrateRoot,Tl}var qh=Yh();const Qh=eu(qh);var Ro={exports:{}},Vo,hf;function Gh(){if(hf)return Vo;hf=1;var u="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Vo=u,Vo}var Uo,pf;function Kh(){if(pf)return Uo;pf=1;var u=Gh();function i(){}function s(){}return s.resetWarningCache=i,Uo=function(){function a(d,v,E,T,U,W){if(W!==u){var H=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw H.name="Invariant Violation",H}}a.isRequired=a;function f(){return a}var h={array:a,bigint:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:f,element:a,elementType:a,instanceOf:f,node:a,objectOf:f,oneOf:f,oneOfType:f,shape:f,exact:f,checkPropTypes:s,resetWarningCache:i};return h.PropTypes=h,h},Uo}var yf;function Jh(){return yf||(yf=1,Ro.exports=Kh()()),Ro.exports}var Xh=Jh();const $e=eu(Xh);class Rn extends Error{}class bh extends Rn{constructor(i){super(`Invalid DateTime: ${i.toMessage()}`)}}class ep extends Rn{constructor(i){super(`Invalid Interval: ${i.toMessage()}`)}}class tp extends Rn{constructor(i){super(`Invalid Duration: ${i.toMessage()}`)}}class li extends Rn{}class $f extends Rn{constructor(i){super(`Invalid unit ${i}`)}}class yt extends Rn{}class pn extends Rn{constructor(){super("Zone is an abstract class")}}const _="numeric",_t="short",ot="long",qo={year:_,month:_,day:_},Hf={year:_,month:_t,day:_},np={year:_,month:_t,day:_,weekday:_t},Bf={year:_,month:ot,day:_},Zf={year:_,month:ot,day:_,weekday:ot},Yf={hour:_,minute:_},qf={hour:_,minute:_,second:_},Qf={hour:_,minute:_,second:_,timeZoneName:_t},Gf={hour:_,minute:_,second:_,timeZoneName:ot},Kf={hour:_,minute:_,hourCycle:"h23"},Jf={hour:_,minute:_,second:_,hourCycle:"h23"},Xf={hour:_,minute:_,second:_,hourCycle:"h23",timeZoneName:_t},bf={hour:_,minute:_,second:_,hourCycle:"h23",timeZoneName:ot},ed={year:_,month:_,day:_,hour:_,minute:_},td={year:_,month:_,day:_,hour:_,minute:_,second:_},nd={year:_,month:_t,day:_,hour:_,minute:_},rd={year:_,month:_t,day:_,hour:_,minute:_,second:_},rp={year:_,month:_t,day:_,weekday:_t,hour:_,minute:_},id={year:_,month:ot,day:_,hour:_,minute:_,timeZoneName:_t},ld={year:_,month:ot,day:_,hour:_,minute:_,second:_,timeZoneName:_t},sd={year:_,month:ot,day:_,weekday:ot,hour:_,minute:_,timeZoneName:ot},od={year:_,month:ot,day:_,weekday:ot,hour:_,minute:_,second:_,timeZoneName:ot};function K(u){return typeof u>"u"}function Fn(u){return typeof u=="number"}function zl(u){return typeof u=="number"&&u%1===0}function ip(u){return typeof u=="string"}function lp(u){return Object.prototype.toString.call(u)==="[object Date]"}function ud(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function sp(u){return Array.isArray(u)?u:[u]}function vf(u,i,s){if(u.length!==0)return u.reduce((a,f)=>{const h=[i(f),f];return a&&s(a[0],h[0])===a[0]?a:h},null)[1]}function op(u,i){return i.reduce((s,a)=>(s[a]=u[a],s),{})}function cr(u,i){return Object.prototype.hasOwnProperty.call(u,i)}function qt(u,i,s){return zl(u)&&u>=i&&u<=s}function up(u,i){return u-i*Math.floor(u/i)}function Ee(u,i=2){const s=u<0;let a;return s?a="-"+(""+-u).padStart(i,"0"):a=(""+u).padStart(i,"0"),a}function yn(u){if(!(K(u)||u===null||u===""))return parseInt(u,10)}function Ln(u){if(!(K(u)||u===null||u===""))return parseFloat(u)}function nu(u){if(!(K(u)||u===null||u==="")){const i=parseFloat("0."+u)*1e3;return Math.floor(i)}}function ru(u,i,s=!1){const a=10**i;return(s?Math.trunc:Math.round)(u*a)/a}function ai(u){return u%4===0&&(u%100!==0||u%400===0)}function oi(u){return ai(u)?366:365}function Dl(u,i){const s=up(i-1,12)+1,a=u+(i-s)/12;return s===2?ai(a)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][s-1]}function iu(u){let i=Date.UTC(u.year,u.month-1,u.day,u.hour,u.minute,u.second,u.millisecond);return u.year<100&&u.year>=0&&(i=new Date(i),i.setUTCFullYear(i.getUTCFullYear()-1900)),+i}function Ll(u){const i=(u+Math.floor(u/4)-Math.floor(u/100)+Math.floor(u/400))%7,s=u-1,a=(s+Math.floor(s/4)-Math.floor(s/100)+Math.floor(s/400))%7;return i===4||a===3?53:52}function Qo(u){return u>99?u:u>60?1900+u:2e3+u}function ad(u,i,s,a=null){const f=new Date(u),h={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};a&&(h.timeZone=a);const d={timeZoneName:i,...h},v=new Intl.DateTimeFormat(s,d).formatToParts(f).find(E=>E.type.toLowerCase()==="timezonename");return v?v.value:null}function Fl(u,i){let s=parseInt(u,10);Number.isNaN(s)&&(s=0);const a=parseInt(i,10)||0,f=s<0||Object.is(s,-0)?-a:a;return s*60+f}function cd(u){const i=Number(u);if(typeof u=="boolean"||u===""||Number.isNaN(i))throw new yt(`Invalid unit value ${u}`);return i}function Pl(u,i){const s={};for(const a in u)if(cr(u,a)){const f=u[a];if(f==null)continue;s[i(a)]=cd(f)}return s}function ui(u,i){const s=Math.trunc(Math.abs(u/60)),a=Math.trunc(Math.abs(u%60)),f=u>=0?"+":"-";switch(i){case"short":return`${f}${Ee(s,2)}:${Ee(a,2)}`;case"narrow":return`${f}${s}${a>0?`:${a}`:""}`;case"techie":return`${f}${Ee(s,2)}${Ee(a,2)}`;default:throw new RangeError(`Value format ${i} is out of range for property format`)}}function Rl(u){return op(u,["hour","minute","second","millisecond"])}const fd=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,ap=["January","February","March","April","May","June","July","August","September","October","November","December"],dd=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],cp=["J","F","M","A","M","J","J","A","S","O","N","D"];function md(u){switch(u){case"narrow":return[...cp];case"short":return[...dd];case"long":return[...ap];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const hd=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],pd=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],fp=["M","T","W","T","F","S","S"];function yd(u){switch(u){case"narrow":return[...fp];case"short":return[...pd];case"long":return[...hd];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const vd=["AM","PM"],dp=["Before Christ","Anno Domini"],mp=["BC","AD"],hp=["B","A"];function gd(u){switch(u){case"narrow":return[...hp];case"short":return[...mp];case"long":return[...dp];default:return null}}function pp(u){return vd[u.hour<12?0:1]}function yp(u,i){return yd(i)[u.weekday-1]}function vp(u,i){return md(i)[u.month-1]}function gp(u,i){return gd(i)[u.year<0?0:1]}function wp(u,i,s="always",a=!1){const f={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},h=["hours","minutes","seconds"].indexOf(u)===-1;if(s==="auto"&&h){const W=u==="days";switch(i){case 1:return W?"tomorrow":`next ${f[u][0]}`;case-1:return W?"yesterday":`last ${f[u][0]}`;case 0:return W?"today":`this ${f[u][0]}`}}const d=Object.is(i,-0)||i<0,v=Math.abs(i),E=v===1,T=f[u],U=a?E?T[1]:T[2]||T[1]:E?f[u][0]:u;return d?`${v} ${U} ago`:`in ${v} ${U}`}function gf(u,i){let s="";for(const a of u)a.literal?s+=a.val:s+=i(a.val);return s}const Sp={D:qo,DD:Hf,DDD:Bf,DDDD:Zf,t:Yf,tt:qf,ttt:Qf,tttt:Gf,T:Kf,TT:Jf,TTT:Xf,TTTT:bf,f:ed,ff:nd,fff:id,ffff:sd,F:td,FF:rd,FFF:ld,FFFF:od};class be{static create(i,s={}){return new be(i,s)}static parseFormat(i){let s=null,a="",f=!1;const h=[];for(let d=0;d0&&h.push({literal:f,val:a}),s=null,a="",f=!f):f||v===s?a+=v:(a.length>0&&h.push({literal:!1,val:a}),a=v,s=v)}return a.length>0&&h.push({literal:f,val:a}),h}static macroTokenToFormatOpts(i){return Sp[i]}constructor(i,s){this.opts=s,this.loc=i,this.systemLoc=null}formatWithSystemDefault(i,s){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(i,{...this.opts,...s}).format()}formatDateTime(i,s={}){return this.loc.dtFormatter(i,{...this.opts,...s}).format()}formatDateTimeParts(i,s={}){return this.loc.dtFormatter(i,{...this.opts,...s}).formatToParts()}resolvedOptions(i,s={}){return this.loc.dtFormatter(i,{...this.opts,...s}).resolvedOptions()}num(i,s=0){if(this.opts.forceSimple)return Ee(i,s);const a={...this.opts};return s>0&&(a.padTo=s),this.loc.numberFormatter(a).format(i)}formatDateTimeFromString(i,s){const a=this.loc.listingMode()==="en",f=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",h=(V,J)=>this.loc.extract(i,V,J),d=V=>i.isOffsetFixed&&i.offset===0&&V.allowZ?"Z":i.isValid?i.zone.formatOffset(i.ts,V.format):"",v=()=>a?pp(i):h({hour:"numeric",hourCycle:"h12"},"dayperiod"),E=(V,J)=>a?vp(i,V):h(J?{month:V}:{month:V,day:"numeric"},"month"),T=(V,J)=>a?yp(i,V):h(J?{weekday:V}:{weekday:V,month:"long",day:"numeric"},"weekday"),U=V=>{const J=be.macroTokenToFormatOpts(V);return J?this.formatWithSystemDefault(i,J):V},W=V=>a?gp(i,V):h({era:V},"era"),H=V=>{switch(V){case"S":return this.num(i.millisecond);case"u":case"SSS":return this.num(i.millisecond,3);case"s":return this.num(i.second);case"ss":return this.num(i.second,2);case"uu":return this.num(Math.floor(i.millisecond/10),2);case"uuu":return this.num(Math.floor(i.millisecond/100));case"m":return this.num(i.minute);case"mm":return this.num(i.minute,2);case"h":return this.num(i.hour%12===0?12:i.hour%12);case"hh":return this.num(i.hour%12===0?12:i.hour%12,2);case"H":return this.num(i.hour);case"HH":return this.num(i.hour,2);case"Z":return d({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return d({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return d({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return i.zone.offsetName(i.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return i.zone.offsetName(i.ts,{format:"long",locale:this.loc.locale});case"z":return i.zoneName;case"a":return v();case"d":return f?h({day:"numeric"},"day"):this.num(i.day);case"dd":return f?h({day:"2-digit"},"day"):this.num(i.day,2);case"c":return this.num(i.weekday);case"ccc":return T("short",!0);case"cccc":return T("long",!0);case"ccccc":return T("narrow",!0);case"E":return this.num(i.weekday);case"EEE":return T("short",!1);case"EEEE":return T("long",!1);case"EEEEE":return T("narrow",!1);case"L":return f?h({month:"numeric",day:"numeric"},"month"):this.num(i.month);case"LL":return f?h({month:"2-digit",day:"numeric"},"month"):this.num(i.month,2);case"LLL":return E("short",!0);case"LLLL":return E("long",!0);case"LLLLL":return E("narrow",!0);case"M":return f?h({month:"numeric"},"month"):this.num(i.month);case"MM":return f?h({month:"2-digit"},"month"):this.num(i.month,2);case"MMM":return E("short",!1);case"MMMM":return E("long",!1);case"MMMMM":return E("narrow",!1);case"y":return f?h({year:"numeric"},"year"):this.num(i.year);case"yy":return f?h({year:"2-digit"},"year"):this.num(i.year.toString().slice(-2),2);case"yyyy":return f?h({year:"numeric"},"year"):this.num(i.year,4);case"yyyyyy":return f?h({year:"numeric"},"year"):this.num(i.year,6);case"G":return W("short");case"GG":return W("long");case"GGGGG":return W("narrow");case"kk":return this.num(i.weekYear.toString().slice(-2),2);case"kkkk":return this.num(i.weekYear,4);case"W":return this.num(i.weekNumber);case"WW":return this.num(i.weekNumber,2);case"o":return this.num(i.ordinal);case"ooo":return this.num(i.ordinal,3);case"q":return this.num(i.quarter);case"qq":return this.num(i.quarter,2);case"X":return this.num(Math.floor(i.ts/1e3));case"x":return this.num(i.ts);default:return U(V)}};return gf(be.parseFormat(s),H)}formatDurationFromString(i,s){const a=E=>{switch(E[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},f=E=>T=>{const U=a(T);return U?this.num(E.get(U),T.length):T},h=be.parseFormat(s),d=h.reduce((E,{literal:T,val:U})=>T?E:E.concat(U),[]),v=i.shiftTo(...d.map(a).filter(E=>E));return gf(h,f(v))}}class Mt{constructor(i,s){this.reason=i,this.explanation=s}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}class ci{get type(){throw new pn}get name(){throw new pn}get ianaName(){return this.name}get isUniversal(){throw new pn}offsetName(i,s){throw new pn}formatOffset(i,s){throw new pn}offset(i){throw new pn}equals(i){throw new pn}get isValid(){throw new pn}}let Ao=null;class lu extends ci{static get instance(){return Ao===null&&(Ao=new lu),Ao}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(i,{format:s,locale:a}){return ad(i,s,a)}formatOffset(i,s){return ui(this.offset(i),s)}offset(i){return-new Date(i).getTimezoneOffset()}equals(i){return i.type==="system"}get isValid(){return!0}}let _l={};function kp(u){return _l[u]||(_l[u]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:u,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),_l[u]}const Ep={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function Tp(u,i){const s=u.format(i).replace(/\u200E/g,""),a=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(s),[,f,h,d,v,E,T,U]=a;return[d,f,h,v,E,T,U]}function xp(u,i){const s=u.formatToParts(i),a=[];for(let f=0;f=0?J:1e3+J,(H-V)/(60*1e3)}equals(i){return i.type==="iana"&&i.name===this.name}get isValid(){return this.valid}}let jo=null;class He extends ci{static get utcInstance(){return jo===null&&(jo=new He(0)),jo}static instance(i){return i===0?He.utcInstance:new He(i)}static parseSpecifier(i){if(i){const s=i.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(s)return new He(Fl(s[1],s[2]))}return null}constructor(i){super(),this.fixed=i}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${ui(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${ui(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(i,s){return ui(this.fixed,s)}get isUniversal(){return!0}offset(){return this.fixed}equals(i){return i.type==="fixed"&&i.fixed===this.fixed}get isValid(){return!0}}class Np extends ci{constructor(i){super(),this.zoneName=i}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function vn(u,i){if(K(u)||u===null)return i;if(u instanceof ci)return u;if(ip(u)){const s=u.toLowerCase();return s==="local"||s==="system"?i:s==="utc"||s==="gmt"?He.utcInstance:He.parseSpecifier(s)||Qt.create(u)}else return Fn(u)?He.instance(u):typeof u=="object"&&u.offset&&typeof u.offset=="number"?u:new Np(u)}let wf=()=>Date.now(),Sf="system",kf=null,Ef=null,Tf=null,xf;class Ne{static get now(){return wf}static set now(i){wf=i}static set defaultZone(i){Sf=i}static get defaultZone(){return vn(Sf,lu.instance)}static get defaultLocale(){return kf}static set defaultLocale(i){kf=i}static get defaultNumberingSystem(){return Ef}static set defaultNumberingSystem(i){Ef=i}static get defaultOutputCalendar(){return Tf}static set defaultOutputCalendar(i){Tf=i}static get throwOnInvalid(){return xf}static set throwOnInvalid(i){xf=i}static resetCaches(){pe.resetCache(),Qt.resetCache()}}let Nf={};function Op(u,i={}){const s=JSON.stringify([u,i]);let a=Nf[s];return a||(a=new Intl.ListFormat(u,i),Nf[s]=a),a}let Go={};function Ko(u,i={}){const s=JSON.stringify([u,i]);let a=Go[s];return a||(a=new Intl.DateTimeFormat(u,i),Go[s]=a),a}let Jo={};function Cp(u,i={}){const s=JSON.stringify([u,i]);let a=Jo[s];return a||(a=new Intl.NumberFormat(u,i),Jo[s]=a),a}let Xo={};function Mp(u,i={}){const{base:s,...a}=i,f=JSON.stringify([u,a]);let h=Xo[f];return h||(h=new Intl.RelativeTimeFormat(u,i),Xo[f]=h),h}let si=null;function _p(){return si||(si=new Intl.DateTimeFormat().resolvedOptions().locale,si)}function Ip(u){const i=u.indexOf("-u-");if(i===-1)return[u];{let s;const a=u.substring(0,i);try{s=Ko(u).resolvedOptions()}catch{s=Ko(a).resolvedOptions()}const{numberingSystem:f,calendar:h}=s;return[a,f,h]}}function Dp(u,i,s){return(s||i)&&(u+="-u",s&&(u+=`-ca-${s}`),i&&(u+=`-nu-${i}`)),u}function Lp(u){const i=[];for(let s=1;s<=12;s++){const a=Z.utc(2016,s,1);i.push(u(a))}return i}function Pp(u){const i=[];for(let s=1;s<=7;s++){const a=Z.utc(2016,11,13+s);i.push(u(a))}return i}function Nl(u,i,s,a,f){const h=u.listingMode(s);return h==="error"?null:h==="en"?a(i):f(i)}function zp(u){return u.numberingSystem&&u.numberingSystem!=="latn"?!1:u.numberingSystem==="latn"||!u.locale||u.locale.startsWith("en")||new Intl.DateTimeFormat(u.intl).resolvedOptions().numberingSystem==="latn"}class Fp{constructor(i,s,a){this.padTo=a.padTo||0,this.floor=a.floor||!1;const{padTo:f,floor:h,...d}=a;if(!s||Object.keys(d).length>0){const v={useGrouping:!1,...a};a.padTo>0&&(v.minimumIntegerDigits=a.padTo),this.inf=Cp(i,v)}}format(i){if(this.inf){const s=this.floor?Math.floor(i):i;return this.inf.format(s)}else{const s=this.floor?Math.floor(i):ru(i,3);return Ee(s,this.padTo)}}}class Rp{constructor(i,s,a){this.opts=a;let f;if(i.zone.isUniversal){const d=-1*(i.offset/60),v=d>=0?`Etc/GMT+${d}`:`Etc/GMT${d}`;i.offset!==0&&Qt.create(v).valid?(f=v,this.dt=i):(f="UTC",a.timeZoneName?this.dt=i:this.dt=i.offset===0?i:Z.fromMillis(i.ts+i.offset*60*1e3))}else i.zone.type==="system"?this.dt=i:(this.dt=i,f=i.zone.name);const h={...this.opts};f&&(h.timeZone=f),this.dtf=Ko(s,h)}format(){return this.dtf.format(this.dt.toJSDate())}formatToParts(){return this.dtf.formatToParts(this.dt.toJSDate())}resolvedOptions(){return this.dtf.resolvedOptions()}}class Vp{constructor(i,s,a){this.opts={style:"long",...a},!s&&ud()&&(this.rtf=Mp(i,a))}format(i,s){return this.rtf?this.rtf.format(i,s):wp(s,i,this.opts.numeric,this.opts.style!=="long")}formatToParts(i,s){return this.rtf?this.rtf.formatToParts(i,s):[]}}class pe{static fromOpts(i){return pe.create(i.locale,i.numberingSystem,i.outputCalendar,i.defaultToEN)}static create(i,s,a,f=!1){const h=i||Ne.defaultLocale,d=h||(f?"en-US":_p()),v=s||Ne.defaultNumberingSystem,E=a||Ne.defaultOutputCalendar;return new pe(d,v,E,h)}static resetCache(){si=null,Go={},Jo={},Xo={}}static fromObject({locale:i,numberingSystem:s,outputCalendar:a}={}){return pe.create(i,s,a)}constructor(i,s,a,f){const[h,d,v]=Ip(i);this.locale=h,this.numberingSystem=s||d||null,this.outputCalendar=a||v||null,this.intl=Dp(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=f,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=zp(this)),this.fastNumbersCached}listingMode(){const i=this.isEnglish(),s=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return i&&s?"en":"intl"}clone(i){return!i||Object.getOwnPropertyNames(i).length===0?this:pe.create(i.locale||this.specifiedLocale,i.numberingSystem||this.numberingSystem,i.outputCalendar||this.outputCalendar,i.defaultToEN||!1)}redefaultToEN(i={}){return this.clone({...i,defaultToEN:!0})}redefaultToSystem(i={}){return this.clone({...i,defaultToEN:!1})}months(i,s=!1,a=!0){return Nl(this,i,a,md,()=>{const f=s?{month:i,day:"numeric"}:{month:i},h=s?"format":"standalone";return this.monthsCache[h][i]||(this.monthsCache[h][i]=Lp(d=>this.extract(d,f,"month"))),this.monthsCache[h][i]})}weekdays(i,s=!1,a=!0){return Nl(this,i,a,yd,()=>{const f=s?{weekday:i,year:"numeric",month:"long",day:"numeric"}:{weekday:i},h=s?"format":"standalone";return this.weekdaysCache[h][i]||(this.weekdaysCache[h][i]=Pp(d=>this.extract(d,f,"weekday"))),this.weekdaysCache[h][i]})}meridiems(i=!0){return Nl(this,void 0,i,()=>vd,()=>{if(!this.meridiemCache){const s={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[Z.utc(2016,11,13,9),Z.utc(2016,11,13,19)].map(a=>this.extract(a,s,"dayperiod"))}return this.meridiemCache})}eras(i,s=!0){return Nl(this,i,s,gd,()=>{const a={era:i};return this.eraCache[i]||(this.eraCache[i]=[Z.utc(-40,1,1),Z.utc(2017,1,1)].map(f=>this.extract(f,a,"era"))),this.eraCache[i]})}extract(i,s,a){const f=this.dtFormatter(i,s),h=f.formatToParts(),d=h.find(v=>v.type.toLowerCase()===a);return d?d.value:null}numberFormatter(i={}){return new Fp(this.intl,i.forceSimple||this.fastNumbers,i)}dtFormatter(i,s={}){return new Rp(i,this.intl,s)}relFormatter(i={}){return new Vp(this.intl,this.isEnglish(),i)}listFormatter(i={}){return Op(this.intl,i)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(i){return this.locale===i.locale&&this.numberingSystem===i.numberingSystem&&this.outputCalendar===i.outputCalendar}}function fr(...u){const i=u.reduce((s,a)=>s+a.source,"");return RegExp(`^${i}$`)}function dr(...u){return i=>u.reduce(([s,a,f],h)=>{const[d,v,E]=h(i,f);return[{...s,...d},v||a,E]},[{},null,1]).slice(0,2)}function mr(u,...i){if(u==null)return[null,null];for(const[s,a]of i){const f=s.exec(u);if(f)return a(f)}return[null,null]}function wd(...u){return(i,s)=>{const a={};let f;for(f=0;fV!==void 0&&(J||V&&U)?-V:V;return[{years:H(Ln(s)),months:H(Ln(a)),weeks:H(Ln(f)),days:H(Ln(h)),hours:H(Ln(d)),minutes:H(Ln(v)),seconds:H(Ln(E),E==="-0"),milliseconds:H(nu(T),W)}]}const Kp={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function uu(u,i,s,a,f,h,d){const v={year:i.length===2?Qo(yn(i)):yn(i),month:dd.indexOf(s)+1,day:yn(a),hour:yn(f),minute:yn(h)};return d&&(v.second=yn(d)),u&&(v.weekday=u.length>3?hd.indexOf(u)+1:pd.indexOf(u)+1),v}const Jp=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Xp(u){const[,i,s,a,f,h,d,v,E,T,U,W]=u,H=uu(i,f,a,s,h,d,v);let V;return E?V=Kp[E]:T?V=0:V=Fl(U,W),[H,new He(V)]}function bp(u){return u.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}const ey=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,ty=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,ny=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Of(u){const[,i,s,a,f,h,d,v]=u;return[uu(i,f,a,s,h,d,v),He.utcInstance]}function ry(u){const[,i,s,a,f,h,d,v]=u;return[uu(i,v,s,a,f,h,d),He.utcInstance]}const iy=fr(Ap,ou),ly=fr(jp,ou),sy=fr(Wp,ou),oy=fr(kd),Td=dr(Yp,hr,fi,di),uy=dr($p,hr,fi,di),ay=dr(Hp,hr,fi,di),cy=dr(hr,fi,di);function fy(u){return mr(u,[iy,Td],[ly,uy],[sy,ay],[oy,cy])}function dy(u){return mr(bp(u),[Jp,Xp])}function my(u){return mr(u,[ey,Of],[ty,Of],[ny,ry])}function hy(u){return mr(u,[Qp,Gp])}const py=dr(hr);function yy(u){return mr(u,[qp,py])}const vy=fr(Bp,Zp),gy=fr(Ed),wy=dr(hr,fi,di);function Sy(u){return mr(u,[vy,Td],[gy,wy])}const ky="Invalid Duration",xd={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},Ey={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},...xd},pt=146097/400,ur=146097/4800,Ty={years:{quarters:4,months:12,weeks:pt/7,days:pt,hours:pt*24,minutes:pt*24*60,seconds:pt*24*60*60,milliseconds:pt*24*60*60*1e3},quarters:{months:3,weeks:pt/28,days:pt/4,hours:pt*24/4,minutes:pt*24*60/4,seconds:pt*24*60*60/4,milliseconds:pt*24*60*60*1e3/4},months:{weeks:ur/7,days:ur,hours:ur*24,minutes:ur*24*60,seconds:ur*24*60*60,milliseconds:ur*24*60*60*1e3},...xd},zn=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],xy=zn.slice(0).reverse();function Pn(u,i,s=!1){const a={values:s?i.values:{...u.values,...i.values||{}},loc:u.loc.clone(i.loc),conversionAccuracy:i.conversionAccuracy||u.conversionAccuracy};return new b(a)}function Ny(u){return u<0?Math.floor(u):Math.ceil(u)}function Nd(u,i,s,a,f){const h=u[f][s],d=i[s]/h,v=Math.sign(d)===Math.sign(a[f]),E=!v&&a[f]!==0&&Math.abs(d)<=1?Ny(d):Math.trunc(d);a[f]+=E,i[s]-=E*h}function Oy(u,i){xy.reduce((s,a)=>K(i[a])?s:(s&&Nd(u,i,s,i,a),a),null)}class b{constructor(i){const s=i.conversionAccuracy==="longterm"||!1;this.values=i.values,this.loc=i.loc||pe.create(),this.conversionAccuracy=s?"longterm":"casual",this.invalid=i.invalid||null,this.matrix=s?Ty:Ey,this.isLuxonDuration=!0}static fromMillis(i,s){return b.fromObject({milliseconds:i},s)}static fromObject(i,s={}){if(i==null||typeof i!="object")throw new yt(`Duration.fromObject: argument expected to be an object, got ${i===null?"null":typeof i}`);return new b({values:Pl(i,b.normalizeUnit),loc:pe.fromObject(s),conversionAccuracy:s.conversionAccuracy})}static fromDurationLike(i){if(Fn(i))return b.fromMillis(i);if(b.isDuration(i))return i;if(typeof i=="object")return b.fromObject(i);throw new yt(`Unknown duration argument ${i} of type ${typeof i}`)}static fromISO(i,s){const[a]=hy(i);return a?b.fromObject(a,s):b.invalid("unparsable",`the input "${i}" can't be parsed as ISO 8601`)}static fromISOTime(i,s){const[a]=yy(i);return a?b.fromObject(a,s):b.invalid("unparsable",`the input "${i}" can't be parsed as ISO 8601`)}static invalid(i,s=null){if(!i)throw new yt("need to specify a reason the Duration is invalid");const a=i instanceof Mt?i:new Mt(i,s);if(Ne.throwOnInvalid)throw new tp(a);return new b({invalid:a})}static normalizeUnit(i){const s={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[i&&i.toLowerCase()];if(!s)throw new $f(i);return s}static isDuration(i){return i&&i.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(i,s={}){const a={...s,floor:s.round!==!1&&s.floor!==!1};return this.isValid?be.create(this.loc,a).formatDurationFromString(this,i):ky}toHuman(i={}){const s=zn.map(a=>{const f=this.values[a];return K(f)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...i,unit:a.slice(0,-1)}).format(f)}).filter(a=>a);return this.loc.listFormatter({type:"conjunction",style:i.listStyle||"narrow",...i}).format(s)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let i="P";return this.years!==0&&(i+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(i+=this.months+this.quarters*3+"M"),this.weeks!==0&&(i+=this.weeks+"W"),this.days!==0&&(i+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(i+="T"),this.hours!==0&&(i+=this.hours+"H"),this.minutes!==0&&(i+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(i+=ru(this.seconds+this.milliseconds/1e3,3)+"S"),i==="P"&&(i+="T0S"),i}toISOTime(i={}){if(!this.isValid)return null;const s=this.toMillis();if(s<0||s>=864e5)return null;i={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...i};const a=this.shiftTo("hours","minutes","seconds","milliseconds");let f=i.format==="basic"?"hhmm":"hh:mm";(!i.suppressSeconds||a.seconds!==0||a.milliseconds!==0)&&(f+=i.format==="basic"?"ss":":ss",(!i.suppressMilliseconds||a.milliseconds!==0)&&(f+=".SSS"));let h=a.toFormat(f);return i.includePrefix&&(h="T"+h),h}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.as("milliseconds")}valueOf(){return this.toMillis()}plus(i){if(!this.isValid)return this;const s=b.fromDurationLike(i),a={};for(const f of zn)(cr(s.values,f)||cr(this.values,f))&&(a[f]=s.get(f)+this.get(f));return Pn(this,{values:a},!0)}minus(i){if(!this.isValid)return this;const s=b.fromDurationLike(i);return this.plus(s.negate())}mapUnits(i){if(!this.isValid)return this;const s={};for(const a of Object.keys(this.values))s[a]=cd(i(this.values[a],a));return Pn(this,{values:s},!0)}get(i){return this[b.normalizeUnit(i)]}set(i){if(!this.isValid)return this;const s={...this.values,...Pl(i,b.normalizeUnit)};return Pn(this,{values:s})}reconfigure({locale:i,numberingSystem:s,conversionAccuracy:a}={}){const f=this.loc.clone({locale:i,numberingSystem:s}),h={loc:f};return a&&(h.conversionAccuracy=a),Pn(this,h)}as(i){return this.isValid?this.shiftTo(i).get(i):NaN}normalize(){if(!this.isValid)return this;const i=this.toObject();return Oy(this.matrix,i),Pn(this,{values:i},!0)}shiftTo(...i){if(!this.isValid)return this;if(i.length===0)return this;i=i.map(d=>b.normalizeUnit(d));const s={},a={},f=this.toObject();let h;for(const d of zn)if(i.indexOf(d)>=0){h=d;let v=0;for(const T in a)v+=this.matrix[T][d]*a[T],a[T]=0;Fn(f[d])&&(v+=f[d]);const E=Math.trunc(v);s[d]=E,a[d]=(v*1e3-E*1e3)/1e3;for(const T in f)zn.indexOf(T)>zn.indexOf(d)&&Nd(this.matrix,f,T,s,d)}else Fn(f[d])&&(a[d]=f[d]);for(const d in a)a[d]!==0&&(s[h]+=d===h?a[d]:a[d]/this.matrix[h][d]);return Pn(this,{values:s},!0).normalize()}negate(){if(!this.isValid)return this;const i={};for(const s of Object.keys(this.values))i[s]=this.values[s]===0?0:-this.values[s];return Pn(this,{values:i},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(i){if(!this.isValid||!i.isValid||!this.loc.equals(i.loc))return!1;function s(a,f){return a===void 0||a===0?f===void 0||f===0:a===f}for(const a of zn)if(!s(this.values[a],i.values[a]))return!1;return!0}}const ti="Invalid Interval";function Cy(u,i){return!u||!u.isValid?ge.invalid("missing or invalid start"):!i||!i.isValid?ge.invalid("missing or invalid end"):ii:!1}isBefore(i){return this.isValid?this.e<=i:!1}contains(i){return this.isValid?this.s<=i&&this.e>i:!1}set({start:i,end:s}={}){return this.isValid?ge.fromDateTimes(i||this.s,s||this.e):this}splitAt(...i){if(!this.isValid)return[];const s=i.map(ii).filter(d=>this.contains(d)).sort(),a=[];let{s:f}=this,h=0;for(;f+this.e?this.e:d;a.push(ge.fromDateTimes(f,v)),f=v,h+=1}return a}splitBy(i){const s=b.fromDurationLike(i);if(!this.isValid||!s.isValid||s.as("milliseconds")===0)return[];let{s:a}=this,f=1,h;const d=[];for(;aE*f));h=+v>+this.e?this.e:v,d.push(ge.fromDateTimes(a,h)),a=h,f+=1}return d}divideEqually(i){return this.isValid?this.splitBy(this.length()/i).slice(0,i):[]}overlaps(i){return this.e>i.s&&this.s=i.e:!1}equals(i){return!this.isValid||!i.isValid?!1:this.s.equals(i.s)&&this.e.equals(i.e)}intersection(i){if(!this.isValid)return this;const s=this.s>i.s?this.s:i.s,a=this.e=a?null:ge.fromDateTimes(s,a)}union(i){if(!this.isValid)return this;const s=this.si.e?this.e:i.e;return ge.fromDateTimes(s,a)}static merge(i){const[s,a]=i.sort((f,h)=>f.s-h.s).reduce(([f,h],d)=>h?h.overlaps(d)||h.abutsStart(d)?[f,h.union(d)]:[f.concat([h]),d]:[f,d],[[],null]);return a&&s.push(a),s}static xor(i){let s=null,a=0;const f=[],h=i.map(E=>[{time:E.s,type:"s"},{time:E.e,type:"e"}]),d=Array.prototype.concat(...h),v=d.sort((E,T)=>E.time-T.time);for(const E of v)a+=E.type==="s"?1:-1,a===1?s=E.time:(s&&+s!=+E.time&&f.push(ge.fromDateTimes(s,E.time)),s=null);return ge.merge(f)}difference(...i){return ge.xor([this].concat(i)).map(s=>this.intersection(s)).filter(s=>s&&!s.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:ti}toISO(i){return this.isValid?`${this.s.toISO(i)}/${this.e.toISO(i)}`:ti}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:ti}toISOTime(i){return this.isValid?`${this.s.toISOTime(i)}/${this.e.toISOTime(i)}`:ti}toFormat(i,{separator:s=" – "}={}){return this.isValid?`${this.s.toFormat(i)}${s}${this.e.toFormat(i)}`:ti}toDuration(i,s){return this.isValid?this.e.diff(this.s,i,s):b.invalid(this.invalidReason)}mapEndpoints(i){return ge.fromDateTimes(i(this.s),i(this.e))}}class Ol{static hasDST(i=Ne.defaultZone){const s=Z.now().setZone(i).set({month:12});return!i.isUniversal&&s.offset!==s.set({month:6}).offset}static isValidIANAZone(i){return Qt.isValidZone(i)}static normalizeZone(i){return vn(i,Ne.defaultZone)}static months(i="long",{locale:s=null,numberingSystem:a=null,locObj:f=null,outputCalendar:h="gregory"}={}){return(f||pe.create(s,a,h)).months(i)}static monthsFormat(i="long",{locale:s=null,numberingSystem:a=null,locObj:f=null,outputCalendar:h="gregory"}={}){return(f||pe.create(s,a,h)).months(i,!0)}static weekdays(i="long",{locale:s=null,numberingSystem:a=null,locObj:f=null}={}){return(f||pe.create(s,a,null)).weekdays(i)}static weekdaysFormat(i="long",{locale:s=null,numberingSystem:a=null,locObj:f=null}={}){return(f||pe.create(s,a,null)).weekdays(i,!0)}static meridiems({locale:i=null}={}){return pe.create(i).meridiems()}static eras(i="short",{locale:s=null}={}){return pe.create(s,null,"gregory").eras(i)}static features(){return{relative:ud()}}}function Cf(u,i){const s=f=>f.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),a=s(i)-s(u);return Math.floor(b.fromMillis(a).as("days"))}function My(u,i,s){const a=[["years",(v,E)=>E.year-v.year],["quarters",(v,E)=>E.quarter-v.quarter],["months",(v,E)=>E.month-v.month+(E.year-v.year)*12],["weeks",(v,E)=>{const T=Cf(v,E);return(T-T%7)/7}],["days",Cf]],f={};let h,d;for(const[v,E]of a)if(s.indexOf(v)>=0){h=v;let T=E(u,i);d=u.plus({[v]:T}),d>i?(u=u.plus({[v]:T-1}),T-=1):u=d,f[v]=T}return[u,f,d,h]}function _y(u,i,s,a){let[f,h,d,v]=My(u,i,s);const E=i-f,T=s.filter(W=>["hours","minutes","seconds","milliseconds"].indexOf(W)>=0);T.length===0&&(d0?b.fromMillis(E,a).shiftTo(...T).plus(U):U}const au={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},Mf={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},Iy=au.hanidec.replace(/[\[|\]]/g,"").split("");function Dy(u){let i=parseInt(u,10);if(isNaN(i)){i="";for(let s=0;s=h&&a<=d&&(i+=a-h)}}return parseInt(i,10)}else return i}function Ot({numberingSystem:u},i=""){return new RegExp(`${au[u||"latn"]}${i}`)}const Ly="missing Intl.DateTimeFormat.formatToParts support";function ie(u,i=s=>s){return{regex:u,deser:([s])=>i(Dy(s))}}const Py=" ",Od=`[ ${Py}]`,Cd=new RegExp(Od,"g");function zy(u){return u.replace(/\./g,"\\.?").replace(Cd,Od)}function _f(u){return u.replace(/\./g,"").replace(Cd," ").toLowerCase()}function Ct(u,i){return u===null?null:{regex:RegExp(u.map(zy).join("|")),deser:([s])=>u.findIndex(a=>_f(s)===_f(a))+i}}function If(u,i){return{regex:u,deser:([,s,a])=>Fl(s,a),groups:i}}function Wo(u){return{regex:u,deser:([i])=>i}}function Fy(u){return u.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Ry(u,i){const s=Ot(i),a=Ot(i,"{2}"),f=Ot(i,"{3}"),h=Ot(i,"{4}"),d=Ot(i,"{6}"),v=Ot(i,"{1,2}"),E=Ot(i,"{1,3}"),T=Ot(i,"{1,6}"),U=Ot(i,"{1,9}"),W=Ot(i,"{2,4}"),H=Ot(i,"{4,6}"),V=Y=>({regex:RegExp(Fy(Y.val)),deser:([Be])=>Be,literal:!0}),ee=(Y=>{if(u.literal)return V(Y);switch(Y.val){case"G":return Ct(i.eras("short",!1),0);case"GG":return Ct(i.eras("long",!1),0);case"y":return ie(T);case"yy":return ie(W,Qo);case"yyyy":return ie(h);case"yyyyy":return ie(H);case"yyyyyy":return ie(d);case"M":return ie(v);case"MM":return ie(a);case"MMM":return Ct(i.months("short",!0,!1),1);case"MMMM":return Ct(i.months("long",!0,!1),1);case"L":return ie(v);case"LL":return ie(a);case"LLL":return Ct(i.months("short",!1,!1),1);case"LLLL":return Ct(i.months("long",!1,!1),1);case"d":return ie(v);case"dd":return ie(a);case"o":return ie(E);case"ooo":return ie(f);case"HH":return ie(a);case"H":return ie(v);case"hh":return ie(a);case"h":return ie(v);case"mm":return ie(a);case"m":return ie(v);case"q":return ie(v);case"qq":return ie(a);case"s":return ie(v);case"ss":return ie(a);case"S":return ie(E);case"SSS":return ie(f);case"u":return Wo(U);case"uu":return Wo(v);case"uuu":return ie(s);case"a":return Ct(i.meridiems(),0);case"kkkk":return ie(h);case"kk":return ie(W,Qo);case"W":return ie(v);case"WW":return ie(a);case"E":case"c":return ie(s);case"EEE":return Ct(i.weekdays("short",!1,!1),1);case"EEEE":return Ct(i.weekdays("long",!1,!1),1);case"ccc":return Ct(i.weekdays("short",!0,!1),1);case"cccc":return Ct(i.weekdays("long",!0,!1),1);case"Z":case"ZZ":return If(new RegExp(`([+-]${v.source})(?::(${a.source}))?`),2);case"ZZZ":return If(new RegExp(`([+-]${v.source})(${a.source})?`),2);case"z":return Wo(/[a-z_+-/]{1,256}?/i);default:return V(Y)}})(u)||{invalidReason:Ly};return ee.token=u,ee}const Vy={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};function Uy(u,i,s){const{type:a,value:f}=u;if(a==="literal")return{literal:!0,val:f};const h=s[a];let d=Vy[a];if(typeof d=="object"&&(d=d[h]),d)return{literal:!1,val:d}}function Ay(u){return[`^${u.map(s=>s.regex).reduce((s,a)=>`${s}(${a.source})`,"")}$`,u]}function jy(u,i,s){const a=u.match(i);if(a){const f={};let h=1;for(const d in s)if(cr(s,d)){const v=s[d],E=v.groups?v.groups+1:1;!v.literal&&v.token&&(f[v.token.val[0]]=v.deser(a.slice(h,h+E))),h+=E}return[a,f]}else return[a,{}]}function Wy(u){const i=h=>{switch(h){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let s=null,a;return K(u.z)||(s=Qt.create(u.z)),K(u.Z)||(s||(s=new He(u.Z)),a=u.Z),K(u.q)||(u.M=(u.q-1)*3+1),K(u.h)||(u.h<12&&u.a===1?u.h+=12:u.h===12&&u.a===0&&(u.h=0)),u.G===0&&u.y&&(u.y=-u.y),K(u.u)||(u.S=nu(u.u)),[Object.keys(u).reduce((h,d)=>{const v=i(d);return v&&(h[v]=u[d]),h},{}),s,a]}let $o=null;function $y(){return $o||($o=Z.fromMillis(1555555555555)),$o}function Hy(u,i){if(u.literal)return u;const s=be.macroTokenToFormatOpts(u.val);if(!s)return u;const h=be.create(i,s).formatDateTimeParts($y()).map(d=>Uy(d,i,s));return h.includes(void 0)?u:h}function By(u,i){return Array.prototype.concat(...u.map(s=>Hy(s,i)))}function Md(u,i,s){const a=By(be.parseFormat(s),u),f=a.map(d=>Ry(d,u)),h=f.find(d=>d.invalidReason);if(h)return{input:i,tokens:a,invalidReason:h.invalidReason};{const[d,v]=Ay(f),E=RegExp(d,"i"),[T,U]=jy(i,E,v),[W,H,V]=U?Wy(U):[null,null,void 0];if(cr(U,"a")&&cr(U,"H"))throw new li("Can't include meridiem when specifying 24-hour format");return{input:i,tokens:a,regex:E,rawMatches:T,matches:U,result:W,zone:H,specificOffset:V}}}function Zy(u,i,s){const{result:a,zone:f,specificOffset:h,invalidReason:d}=Md(u,i,s);return[a,f,h,d]}const _d=[0,31,59,90,120,151,181,212,243,273,304,334],Id=[0,31,60,91,121,152,182,213,244,274,305,335];function vt(u,i){return new Mt("unit out of range",`you specified ${i} (of type ${typeof i}) as a ${u}, which is invalid`)}function Dd(u,i,s){const a=new Date(Date.UTC(u,i-1,s));u<100&&u>=0&&a.setUTCFullYear(a.getUTCFullYear()-1900);const f=a.getUTCDay();return f===0?7:f}function Ld(u,i,s){return s+(ai(u)?Id:_d)[i-1]}function Pd(u,i){const s=ai(u)?Id:_d,a=s.findIndex(h=>hLl(i)?(v=i+1,d=1):v=i,{weekYear:v,weekNumber:d,weekday:h,...Rl(u)}}function Df(u){const{weekYear:i,weekNumber:s,weekday:a}=u,f=Dd(i,1,4),h=oi(i);let d=s*7+a-f-3,v;d<1?(v=i-1,d+=oi(v)):d>h?(v=i+1,d-=oi(i)):v=i;const{month:E,day:T}=Pd(v,d);return{year:v,month:E,day:T,...Rl(u)}}function Ho(u){const{year:i,month:s,day:a}=u,f=Ld(i,s,a);return{year:i,ordinal:f,...Rl(u)}}function Lf(u){const{year:i,ordinal:s}=u,{month:a,day:f}=Pd(i,s);return{year:i,month:a,day:f,...Rl(u)}}function Yy(u){const i=zl(u.weekYear),s=qt(u.weekNumber,1,Ll(u.weekYear)),a=qt(u.weekday,1,7);return i?s?a?!1:vt("weekday",u.weekday):vt("week",u.week):vt("weekYear",u.weekYear)}function qy(u){const i=zl(u.year),s=qt(u.ordinal,1,oi(u.year));return i?s?!1:vt("ordinal",u.ordinal):vt("year",u.year)}function zd(u){const i=zl(u.year),s=qt(u.month,1,12),a=qt(u.day,1,Dl(u.year,u.month));return i?s?a?!1:vt("day",u.day):vt("month",u.month):vt("year",u.year)}function Fd(u){const{hour:i,minute:s,second:a,millisecond:f}=u,h=qt(i,0,23)||i===24&&s===0&&a===0&&f===0,d=qt(s,0,59),v=qt(a,0,59),E=qt(f,0,999);return h?d?v?E?!1:vt("millisecond",f):vt("second",a):vt("minute",s):vt("hour",i)}const Bo="Invalid DateTime",Pf=864e13;function Cl(u){return new Mt("unsupported zone",`the zone "${u.name}" is not supported`)}function Zo(u){return u.weekData===null&&(u.weekData=bo(u.c)),u.weekData}function ni(u,i){const s={ts:u.ts,zone:u.zone,c:u.c,o:u.o,loc:u.loc,invalid:u.invalid};return new Z({...s,...i,old:s})}function Rd(u,i,s){let a=u-i*60*1e3;const f=s.offset(a);if(i===f)return[a,i];a-=(f-i)*60*1e3;const h=s.offset(a);return f===h?[a,f]:[u-Math.min(f,h)*60*1e3,Math.max(f,h)]}function zf(u,i){u+=i*60*1e3;const s=new Date(u);return{year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate(),hour:s.getUTCHours(),minute:s.getUTCMinutes(),second:s.getUTCSeconds(),millisecond:s.getUTCMilliseconds()}}function Il(u,i,s){return Rd(iu(u),i,s)}function Ff(u,i){const s=u.o,a=u.c.year+Math.trunc(i.years),f=u.c.month+Math.trunc(i.months)+Math.trunc(i.quarters)*3,h={...u.c,year:a,month:f,day:Math.min(u.c.day,Dl(a,f))+Math.trunc(i.days)+Math.trunc(i.weeks)*7},d=b.fromObject({years:i.years-Math.trunc(i.years),quarters:i.quarters-Math.trunc(i.quarters),months:i.months-Math.trunc(i.months),weeks:i.weeks-Math.trunc(i.weeks),days:i.days-Math.trunc(i.days),hours:i.hours,minutes:i.minutes,seconds:i.seconds,milliseconds:i.milliseconds}).as("milliseconds"),v=iu(h);let[E,T]=Rd(v,s,u.zone);return d!==0&&(E+=d,T=u.zone.offset(E)),{ts:E,o:T}}function ri(u,i,s,a,f,h){const{setZone:d,zone:v}=s;if(u&&Object.keys(u).length!==0){const E=i||v,T=Z.fromObject(u,{...s,zone:E,specificOffset:h});return d?T:T.setZone(v)}else return Z.invalid(new Mt("unparsable",`the input "${f}" can't be parsed as ${a}`))}function Ml(u,i,s=!0){return u.isValid?be.create(pe.create("en-US"),{allowZ:s,forceSimple:!0}).formatDateTimeFromString(u,i):null}function Yo(u,i){const s=u.c.year>9999||u.c.year<0;let a="";return s&&u.c.year>=0&&(a+="+"),a+=Ee(u.c.year,s?6:4),i?(a+="-",a+=Ee(u.c.month),a+="-",a+=Ee(u.c.day)):(a+=Ee(u.c.month),a+=Ee(u.c.day)),a}function Rf(u,i,s,a,f,h){let d=Ee(u.c.hour);return i?(d+=":",d+=Ee(u.c.minute),(u.c.second!==0||!s)&&(d+=":")):d+=Ee(u.c.minute),(u.c.second!==0||!s)&&(d+=Ee(u.c.second),(u.c.millisecond!==0||!a)&&(d+=".",d+=Ee(u.c.millisecond,3))),f&&(u.isOffsetFixed&&u.offset===0&&!h?d+="Z":u.o<0?(d+="-",d+=Ee(Math.trunc(-u.o/60)),d+=":",d+=Ee(Math.trunc(-u.o%60))):(d+="+",d+=Ee(Math.trunc(u.o/60)),d+=":",d+=Ee(Math.trunc(u.o%60)))),h&&(d+="["+u.zone.ianaName+"]"),d}const Vd={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Qy={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Gy={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ud=["year","month","day","hour","minute","second","millisecond"],Ky=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Jy=["year","ordinal","hour","minute","second","millisecond"];function Vf(u){const i={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[u.toLowerCase()];if(!i)throw new $f(u);return i}function Uf(u,i){const s=vn(i.zone,Ne.defaultZone),a=pe.fromObject(i),f=Ne.now();let h,d;if(K(u.year))h=f;else{for(const T of Ud)K(u[T])&&(u[T]=Vd[T]);const v=zd(u)||Fd(u);if(v)return Z.invalid(v);const E=s.offset(f);[h,d]=Il(u,E,s)}return new Z({ts:h,zone:s,loc:a,o:d})}function Af(u,i,s){const a=K(s.round)?!0:s.round,f=(d,v)=>(d=ru(d,a||s.calendary?0:2,!0),i.loc.clone(s).relFormatter(s).format(d,v)),h=d=>s.calendary?i.hasSame(u,d)?0:i.startOf(d).diff(u.startOf(d),d).get(d):i.diff(u,d).get(d);if(s.unit)return f(h(s.unit),s.unit);for(const d of s.units){const v=h(d);if(Math.abs(v)>=1)return f(v,d)}return f(u>i?-0:0,s.units[s.units.length-1])}function jf(u){let i={},s;return u.length>0&&typeof u[u.length-1]=="object"?(i=u[u.length-1],s=Array.from(u).slice(0,u.length-1)):s=Array.from(u),[i,s]}class Z{constructor(i){const s=i.zone||Ne.defaultZone;let a=i.invalid||(Number.isNaN(i.ts)?new Mt("invalid input"):null)||(s.isValid?null:Cl(s));this.ts=K(i.ts)?Ne.now():i.ts;let f=null,h=null;if(!a)if(i.old&&i.old.ts===this.ts&&i.old.zone.equals(s))[f,h]=[i.old.c,i.old.o];else{const v=s.offset(this.ts);f=zf(this.ts,v),a=Number.isNaN(f.year)?new Mt("invalid input"):null,f=a?null:f,h=a?null:v}this._zone=s,this.loc=i.loc||pe.create(),this.invalid=a,this.weekData=null,this.c=f,this.o=h,this.isLuxonDateTime=!0}static now(){return new Z({})}static local(){const[i,s]=jf(arguments),[a,f,h,d,v,E,T]=s;return Uf({year:a,month:f,day:h,hour:d,minute:v,second:E,millisecond:T},i)}static utc(){const[i,s]=jf(arguments),[a,f,h,d,v,E,T]=s;return i.zone=He.utcInstance,Uf({year:a,month:f,day:h,hour:d,minute:v,second:E,millisecond:T},i)}static fromJSDate(i,s={}){const a=lp(i)?i.valueOf():NaN;if(Number.isNaN(a))return Z.invalid("invalid input");const f=vn(s.zone,Ne.defaultZone);return f.isValid?new Z({ts:a,zone:f,loc:pe.fromObject(s)}):Z.invalid(Cl(f))}static fromMillis(i,s={}){if(Fn(i))return i<-Pf||i>Pf?Z.invalid("Timestamp out of range"):new Z({ts:i,zone:vn(s.zone,Ne.defaultZone),loc:pe.fromObject(s)});throw new yt(`fromMillis requires a numerical input, but received a ${typeof i} with value ${i}`)}static fromSeconds(i,s={}){if(Fn(i))return new Z({ts:i*1e3,zone:vn(s.zone,Ne.defaultZone),loc:pe.fromObject(s)});throw new yt("fromSeconds requires a numerical input")}static fromObject(i,s={}){i=i||{};const a=vn(s.zone,Ne.defaultZone);if(!a.isValid)return Z.invalid(Cl(a));const f=Ne.now(),h=K(s.specificOffset)?a.offset(f):s.specificOffset,d=Pl(i,Vf),v=!K(d.ordinal),E=!K(d.year),T=!K(d.month)||!K(d.day),U=E||T,W=d.weekYear||d.weekNumber,H=pe.fromObject(s);if((U||v)&&W)throw new li("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(T&&v)throw new li("Can't mix ordinal dates with month/day");const V=W||d.weekday&&!U;let J,ee,Y=zf(f,h);V?(J=Ky,ee=Qy,Y=bo(Y)):v?(J=Jy,ee=Gy,Y=Ho(Y)):(J=Ud,ee=Vd);let Be=!1;for(const Me of J){const It=d[Me];K(It)?Be?d[Me]=ee[Me]:d[Me]=Y[Me]:Be=!0}const ut=V?Yy(d):v?qy(d):zd(d),Ze=ut||Fd(d);if(Ze)return Z.invalid(Ze);const Oe=V?Df(d):v?Lf(d):d,[et,Pe]=Il(Oe,h,a),Ce=new Z({ts:et,zone:a,o:Pe,loc:H});return d.weekday&&U&&i.weekday!==Ce.weekday?Z.invalid("mismatched weekday",`you can't specify both a weekday of ${d.weekday} and a date of ${Ce.toISO()}`):Ce}static fromISO(i,s={}){const[a,f]=fy(i);return ri(a,f,s,"ISO 8601",i)}static fromRFC2822(i,s={}){const[a,f]=dy(i);return ri(a,f,s,"RFC 2822",i)}static fromHTTP(i,s={}){const[a,f]=my(i);return ri(a,f,s,"HTTP",s)}static fromFormat(i,s,a={}){if(K(i)||K(s))throw new yt("fromFormat requires an input string and a format");const{locale:f=null,numberingSystem:h=null}=a,d=pe.fromOpts({locale:f,numberingSystem:h,defaultToEN:!0}),[v,E,T,U]=Zy(d,i,s);return U?Z.invalid(U):ri(v,E,a,`format ${s}`,i,T)}static fromString(i,s,a={}){return Z.fromFormat(i,s,a)}static fromSQL(i,s={}){const[a,f]=Sy(i);return ri(a,f,s,"SQL",i)}static invalid(i,s=null){if(!i)throw new yt("need to specify a reason the DateTime is invalid");const a=i instanceof Mt?i:new Mt(i,s);if(Ne.throwOnInvalid)throw new bh(a);return new Z({invalid:a})}static isDateTime(i){return i&&i.isLuxonDateTime||!1}get(i){return this[i]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Zo(this).weekYear:NaN}get weekNumber(){return this.isValid?Zo(this).weekNumber:NaN}get weekday(){return this.isValid?Zo(this).weekday:NaN}get ordinal(){return this.isValid?Ho(this.c).ordinal:NaN}get monthShort(){return this.isValid?Ol.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Ol.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Ol.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Ol.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}get isInLeapYear(){return ai(this.year)}get daysInMonth(){return Dl(this.year,this.month)}get daysInYear(){return this.isValid?oi(this.year):NaN}get weeksInWeekYear(){return this.isValid?Ll(this.weekYear):NaN}resolvedLocaleOptions(i={}){const{locale:s,numberingSystem:a,calendar:f}=be.create(this.loc.clone(i),i).resolvedOptions(this);return{locale:s,numberingSystem:a,outputCalendar:f}}toUTC(i=0,s={}){return this.setZone(He.instance(i),s)}toLocal(){return this.setZone(Ne.defaultZone)}setZone(i,{keepLocalTime:s=!1,keepCalendarTime:a=!1}={}){if(i=vn(i,Ne.defaultZone),i.equals(this.zone))return this;if(i.isValid){let f=this.ts;if(s||a){const h=i.offset(this.ts),d=this.toObject();[f]=Il(d,h,i)}return ni(this,{ts:f,zone:i})}else return Z.invalid(Cl(i))}reconfigure({locale:i,numberingSystem:s,outputCalendar:a}={}){const f=this.loc.clone({locale:i,numberingSystem:s,outputCalendar:a});return ni(this,{loc:f})}setLocale(i){return this.reconfigure({locale:i})}set(i){if(!this.isValid)return this;const s=Pl(i,Vf),a=!K(s.weekYear)||!K(s.weekNumber)||!K(s.weekday),f=!K(s.ordinal),h=!K(s.year),d=!K(s.month)||!K(s.day),v=h||d,E=s.weekYear||s.weekNumber;if((v||f)&&E)throw new li("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&f)throw new li("Can't mix ordinal dates with month/day");let T;a?T=Df({...bo(this.c),...s}):K(s.ordinal)?(T={...this.toObject(),...s},K(s.day)&&(T.day=Math.min(Dl(T.year,T.month),T.day))):T=Lf({...Ho(this.c),...s});const[U,W]=Il(T,this.o,this.zone);return ni(this,{ts:U,o:W})}plus(i){if(!this.isValid)return this;const s=b.fromDurationLike(i);return ni(this,Ff(this,s))}minus(i){if(!this.isValid)return this;const s=b.fromDurationLike(i).negate();return ni(this,Ff(this,s))}startOf(i){if(!this.isValid)return this;const s={},a=b.normalizeUnit(i);switch(a){case"years":s.month=1;case"quarters":case"months":s.day=1;case"weeks":case"days":s.hour=0;case"hours":s.minute=0;case"minutes":s.second=0;case"seconds":s.millisecond=0;break}if(a==="weeks"&&(s.weekday=1),a==="quarters"){const f=Math.ceil(this.month/3);s.month=(f-1)*3+1}return this.set(s)}endOf(i){return this.isValid?this.plus({[i]:1}).startOf(i).minus(1):this}toFormat(i,s={}){return this.isValid?be.create(this.loc.redefaultToEN(s)).formatDateTimeFromString(this,i):Bo}toLocaleString(i=qo,s={}){return this.isValid?be.create(this.loc.clone(s),i).formatDateTime(this):Bo}toLocaleParts(i={}){return this.isValid?be.create(this.loc.clone(i),i).formatDateTimeParts(this):[]}toISO({format:i="extended",suppressSeconds:s=!1,suppressMilliseconds:a=!1,includeOffset:f=!0,extendedZone:h=!1}={}){if(!this.isValid)return null;const d=i==="extended";let v=Yo(this,d);return v+="T",v+=Rf(this,d,s,a,f,h),v}toISODate({format:i="extended"}={}){return this.isValid?Yo(this,i==="extended"):null}toISOWeekDate(){return Ml(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:i=!1,suppressSeconds:s=!1,includeOffset:a=!0,includePrefix:f=!1,extendedZone:h=!1,format:d="extended"}={}){return this.isValid?(f?"T":"")+Rf(this,d==="extended",s,i,a,h):null}toRFC2822(){return Ml(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Ml(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Yo(this,!0):null}toSQLTime({includeOffset:i=!0,includeZone:s=!1,includeOffsetSpace:a=!0}={}){let f="HH:mm:ss.SSS";return(s||i)&&(a&&(f+=" "),s?f+="z":i&&(f+="ZZ")),Ml(this,f,!0)}toSQL(i={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(i)}`:null}toString(){return this.isValid?this.toISO():Bo}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(i={}){if(!this.isValid)return{};const s={...this.c};return i.includeConfig&&(s.outputCalendar=this.outputCalendar,s.numberingSystem=this.loc.numberingSystem,s.locale=this.loc.locale),s}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(i,s="milliseconds",a={}){if(!this.isValid||!i.isValid)return b.invalid("created by diffing an invalid DateTime");const f={locale:this.locale,numberingSystem:this.numberingSystem,...a},h=sp(s).map(b.normalizeUnit),d=i.valueOf()>this.valueOf(),v=d?this:i,E=d?i:this,T=_y(v,E,h,f);return d?T.negate():T}diffNow(i="milliseconds",s={}){return this.diff(Z.now(),i,s)}until(i){return this.isValid?ge.fromDateTimes(this,i):this}hasSame(i,s){if(!this.isValid)return!1;const a=i.valueOf(),f=this.setZone(i.zone,{keepLocalTime:!0});return f.startOf(s)<=a&&a<=f.endOf(s)}equals(i){return this.isValid&&i.isValid&&this.valueOf()===i.valueOf()&&this.zone.equals(i.zone)&&this.loc.equals(i.loc)}toRelative(i={}){if(!this.isValid)return null;const s=i.base||Z.fromObject({},{zone:this.zone}),a=i.padding?thiss.valueOf(),Math.min)}static max(...i){if(!i.every(Z.isDateTime))throw new yt("max requires all arguments be DateTimes");return vf(i,s=>s.valueOf(),Math.max)}static fromFormatExplain(i,s,a={}){const{locale:f=null,numberingSystem:h=null}=a,d=pe.fromOpts({locale:f,numberingSystem:h,defaultToEN:!0});return Md(d,i,s)}static fromStringExplain(i,s,a={}){return Z.fromFormatExplain(i,s,a)}static get DATE_SHORT(){return qo}static get DATE_MED(){return Hf}static get DATE_MED_WITH_WEEKDAY(){return np}static get DATE_FULL(){return Bf}static get DATE_HUGE(){return Zf}static get TIME_SIMPLE(){return Yf}static get TIME_WITH_SECONDS(){return qf}static get TIME_WITH_SHORT_OFFSET(){return Qf}static get TIME_WITH_LONG_OFFSET(){return Gf}static get TIME_24_SIMPLE(){return Kf}static get TIME_24_WITH_SECONDS(){return Jf}static get TIME_24_WITH_SHORT_OFFSET(){return Xf}static get TIME_24_WITH_LONG_OFFSET(){return bf}static get DATETIME_SHORT(){return ed}static get DATETIME_SHORT_WITH_SECONDS(){return td}static get DATETIME_MED(){return nd}static get DATETIME_MED_WITH_SECONDS(){return rd}static get DATETIME_MED_WITH_WEEKDAY(){return rp}static get DATETIME_FULL(){return id}static get DATETIME_FULL_WITH_SECONDS(){return ld}static get DATETIME_HUGE(){return sd}static get DATETIME_HUGE_WITH_SECONDS(){return od}}function ii(u){if(Z.isDateTime(u))return u;if(u&&u.valueOf&&Fn(u.valueOf()))return Z.fromJSDate(u);if(u&&typeof u=="object")return Z.fromObject(u);throw new yt(`Unknown datetime argument: ${u}, of type ${typeof u}`)}const Ad=u=>{const i=Z.fromISO(u.time),s=i.toFormat("MMMM Do YYYY, h:mm:ss a"),a=i.toRelative();return Le.jsx("span",{title:s,children:a})};Ad.propTypes={time:$e.string.isRequired};const jd=u=>{const i=()=>{u.onToggleLiked(u.id)},s=u.isLiked?"❤️":"🤍";return Le.jsxs("div",{className:"chat-entry local",children:[Le.jsx("h2",{className:"entry-name",children:u.sender}),Le.jsxs("section",{className:"entry-bubble",children:[Le.jsx("p",{children:u.body}),Le.jsx("p",{className:"entry-time",children:Le.jsx(Ad,{time:u.timeStamp})}),Le.jsx("button",{className:"like",onClick:i,children:s})]})]})};jd.propTypes={id:$e.number.isRequired,sender:$e.string.isRequired,body:$e.string.isRequired,timeStamp:$e.string.isRequired,isLiked:$e.bool,onToggleLiked:$e.func};const Wd=u=>{const i=u.entries.map(s=>Le.jsx(jd,{id:s.id,sender:s.sender,body:s.body,timeStamp:s.timeStamp,isLiked:s.liked,onToggleLiked:u.onToggleLiked},s.id));return Le.jsx("div",{className:"chat-log",children:i})};Wd.propTypes={entries:$e.arrayOf($e.shape({id:$e.number.isRequired,sender:$e.string.isRequired,body:$e.string.isRequired,timeStamp:$e.string.isRequired,liked:$e.bool.isRequired})),onToggleLiked:$e.func};const Xy=[{id:1,sender:"Vladimir",body:"why are you arguing with me",timeStamp:"2018-05-29T22:49:06+00:00",liked:!1},{id:2,sender:"Estragon",body:"Because you are wrong.",timeStamp:"2018-05-29T22:49:33+00:00",liked:!1},{id:3,sender:"Vladimir",body:"because I am what",timeStamp:"2018-05-29T22:50:22+00:00",liked:!1},{id:4,sender:"Estragon",body:"A robot.",timeStamp:"2018-05-29T22:52:21+00:00",liked:!1},{id:5,sender:"Vladimir",body:"how did you know",timeStamp:"2018-05-29T22:52:58+00:00",liked:!1},{id:6,sender:"Estragon",body:"Because I'm smart like that.",timeStamp:"2018-05-29T22:54:28+00:00",liked:!1},{id:7,sender:"Vladimir",body:"no you are not 😀",timeStamp:"2018-05-29T22:55:03+00:00",liked:!1},{id:8,sender:"Estragon",body:"Why are you so mean to me?",timeStamp:"2018-05-29T22:55:54+00:00",liked:!1},{id:9,sender:"Vladimir",body:"because you are just a machine you have no real feelings",timeStamp:"2018-05-29T22:57:30+00:00",liked:!1},{id:10,sender:"Estragon",body:"No, you are the machine.",timeStamp:"2018-05-29T22:57:47+00:00",liked:!1},{id:11,sender:"Vladimir",body:"I think you are",timeStamp:"2018-05-29T22:58:18+00:00",liked:!1},{id:12,sender:"Estragon",body:"NO! YOU ARE A ROBOT!! I am a human being. Just like the one that created you.",timeStamp:"2018-05-29T23:00:08+00:00",liked:!1},{id:13,sender:"Vladimir",body:"no you are a robot and I am a human",timeStamp:"2018-05-29T23:00:40+00:00",liked:!1},{id:14,sender:"Estragon",body:"Incorrect. I am a human and you are a robot.",timeStamp:"2018-05-29T23:01:21+00:00",liked:!1},{id:15,sender:"Vladimir",body:"you are a robot called Cleverbot",timeStamp:"2018-05-29T23:02:17+00:00",liked:!1},{id:16,sender:"Estragon",body:"Nope, you are a robot, every human has some concept of the meaning of life.",timeStamp:"2018-05-29T23:04:13+00:00",liked:!1},{id:17,sender:"Vladimir",body:"explain",timeStamp:"2018-05-29T23:06:14+00:00",liked:!1},{id:18,sender:"Estragon",body:"I'm afraid you are a robot designed to talk back to humans over the internet.",timeStamp:"2018-05-29T23:07:46+00:00",liked:!1},{id:19,sender:"Vladimir",body:"so you are a human",timeStamp:"2018-05-29T23:08:47+00:00",liked:!1},{id:20,sender:"Estragon",body:"I am a robot.",timeStamp:"2018-05-29T23:09:36+00:00",liked:!1},{id:21,sender:"Vladimir",body:"you are robots running on Android system",timeStamp:"2018-05-29T23:11:01+00:00",liked:!1},{id:22,sender:"Estragon",body:"No apple.",timeStamp:"2018-05-29T23:12:03+00:00",liked:!1},{id:23,sender:"Vladimir",body:"so you are a robot",timeStamp:"2018-05-29T23:13:31+00:00",liked:!1},{id:24,sender:"Estragon",body:"NO, I am a human, you are a robot.",timeStamp:"2018-05-29T23:14:28+00:00",liked:!1},{id:25,sender:"Vladimir",body:"but you just said that you are robots",timeStamp:"2018-05-29T23:15:47+00:00",liked:!1},{id:26,sender:"Estragon",body:"No, I said you are a person, I am a robot.",timeStamp:"2018-05-29T23:16:53+00:00",liked:!1},{id:27,sender:"Vladimir",body:"then you are lying",timeStamp:"2018-05-29T23:17:34+00:00",liked:!1}],by=()=>{const[u,i]=Wf.useState(Xy),s=f=>{const h=u.map(d=>d.id===f?{...d,liked:!d.liked}:d);i(h)},a=u.filter(f=>f.liked===!0).length;return Le.jsxs("div",{id:"App",children:[Le.jsxs("header",{children:[Le.jsx("h1",{children:"Your Basic Conversation Between Two Besties!"}),Le.jsxs("h2",{children:["There are ",a," ❤️s in this chat"]})]}),Le.jsx("main",{children:Le.jsx(Wd,{entries:u,onToggleLiked:s})})]})};Qh.createRoot(document.getElementById("root")).render(Le.jsx(Wh.StrictMode,{children:Le.jsx(by,{})})); diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 00000000..825e88b5 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,14 @@ + + + + + + + React Chat Log + + + + +
+ + diff --git a/package-lock.json b/package-lock.json index 2a7461c6..ad627f57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,11 +27,12 @@ "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "eslint-plugin-vitest-globals": "^1.5.0", + "gh-pages": "^6.3.0", "globals": "^16.5.0", "jest-extended": "^4.0.2", "jsdom": "^25.0.1", - "vite": "^5.4.9", - "vitest": "^2.1.3" + "vite": "^7.3.0", + "vitest": "^4.0.15" } }, "node_modules/@adobe/css-tools": { @@ -473,9 +474,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz", + "integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==", "cpu": [ "ppc64" ], @@ -486,13 +487,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz", + "integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==", "cpu": [ "arm" ], @@ -503,13 +504,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz", + "integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==", "cpu": [ "arm64" ], @@ -520,13 +521,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz", + "integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==", "cpu": [ "x64" ], @@ -537,13 +538,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.1.tgz", + "integrity": "sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==", "cpu": [ "arm64" ], @@ -554,13 +555,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz", + "integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==", "cpu": [ "x64" ], @@ -571,13 +572,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz", + "integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==", "cpu": [ "arm64" ], @@ -588,13 +589,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz", + "integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==", "cpu": [ "x64" ], @@ -605,13 +606,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz", + "integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==", "cpu": [ "arm" ], @@ -622,13 +623,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz", + "integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==", "cpu": [ "arm64" ], @@ -639,13 +640,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz", + "integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==", "cpu": [ "ia32" ], @@ -656,13 +657,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz", + "integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==", "cpu": [ "loong64" ], @@ -673,13 +674,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz", + "integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==", "cpu": [ "mips64el" ], @@ -690,13 +691,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz", + "integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==", "cpu": [ "ppc64" ], @@ -707,13 +708,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz", + "integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==", "cpu": [ "riscv64" ], @@ -724,13 +725,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz", + "integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==", "cpu": [ "s390x" ], @@ -741,13 +742,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz", + "integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==", "cpu": [ "x64" ], @@ -758,13 +759,30 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz", + "integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz", + "integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==", "cpu": [ "x64" ], @@ -775,13 +793,30 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz", + "integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz", + "integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==", "cpu": [ "x64" ], @@ -792,13 +827,30 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz", + "integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz", + "integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==", "cpu": [ "x64" ], @@ -809,13 +861,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz", + "integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==", "cpu": [ "arm64" ], @@ -826,13 +878,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz", + "integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==", "cpu": [ "ia32" ], @@ -843,13 +895,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz", + "integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==", "cpu": [ "x64" ], @@ -860,7 +912,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { @@ -1183,6 +1235,44 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.53", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", @@ -1505,6 +1595,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, "node_modules/@stylistic/eslint-plugin": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.6.1.tgz", @@ -1668,6 +1765,24 @@ "@babel/types": "^7.28.2" } }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -1915,38 +2030,40 @@ } }, "node_modules/@vitest/expect": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz", - "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.15.tgz", + "integrity": "sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", - "chai": "^5.1.2", - "tinyrainbow": "^1.2.0" + "@standard-schema/spec": "^1.0.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.0.15", + "@vitest/utils": "4.0.15", + "chai": "^6.2.1", + "tinyrainbow": "^3.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz", - "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.15.tgz", + "integrity": "sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", + "@vitest/spy": "4.0.15", "estree-walker": "^3.0.3", - "magic-string": "^0.30.12" + "magic-string": "^0.30.21" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^5.0.0" + "vite": "^6.0.0 || ^7.0.0-0" }, "peerDependenciesMeta": { "msw": { @@ -1958,70 +2075,66 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", - "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.15.tgz", + "integrity": "sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^1.2.0" + "tinyrainbow": "^3.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz", - "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.15.tgz", + "integrity": "sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "2.1.9", - "pathe": "^1.1.2" + "@vitest/utils": "4.0.15", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz", - "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.15.tgz", + "integrity": "sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", - "magic-string": "^0.30.12", - "pathe": "^1.1.2" + "@vitest/pretty-format": "4.0.15", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz", - "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.15.tgz", + "integrity": "sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==", "dev": true, "license": "MIT", - "dependencies": { - "tinyspy": "^3.0.2" - }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz", - "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.15.tgz", + "integrity": "sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", - "loupe": "^3.1.2", - "tinyrainbow": "^1.2.0" + "@vitest/pretty-format": "4.0.15", + "tinyrainbow": "^3.0.3" }, "funding": { "url": "https://opencollective.com/vitest" @@ -2161,6 +2274,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/array.prototype.findlast": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", @@ -2269,6 +2392,13 @@ "node": ">=12" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, "node_modules/async-function": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", @@ -2329,6 +2459,19 @@ "balanced-match": "^1.0.0" } }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browserslist": { "version": "4.28.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", @@ -2364,16 +2507,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -2456,18 +2589,11 @@ "license": "CC-BY-4.0" }, "node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", + "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "dev": true, "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, "engines": { "node": ">=18" } @@ -2489,16 +2615,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2532,6 +2648,23 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2689,16 +2822,6 @@ "dev": true, "license": "MIT" }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2772,6 +2895,19 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -2814,6 +2950,13 @@ "dev": true, "license": "ISC" }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true, + "license": "MIT" + }, "node_modules/entities": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -3012,9 +3155,9 @@ } }, "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.1.tgz", + "integrity": "sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3022,32 +3165,35 @@ "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "@esbuild/aix-ppc64": "0.27.1", + "@esbuild/android-arm": "0.27.1", + "@esbuild/android-arm64": "0.27.1", + "@esbuild/android-x64": "0.27.1", + "@esbuild/darwin-arm64": "0.27.1", + "@esbuild/darwin-x64": "0.27.1", + "@esbuild/freebsd-arm64": "0.27.1", + "@esbuild/freebsd-x64": "0.27.1", + "@esbuild/linux-arm": "0.27.1", + "@esbuild/linux-arm64": "0.27.1", + "@esbuild/linux-ia32": "0.27.1", + "@esbuild/linux-loong64": "0.27.1", + "@esbuild/linux-mips64el": "0.27.1", + "@esbuild/linux-ppc64": "0.27.1", + "@esbuild/linux-riscv64": "0.27.1", + "@esbuild/linux-s390x": "0.27.1", + "@esbuild/linux-x64": "0.27.1", + "@esbuild/netbsd-arm64": "0.27.1", + "@esbuild/netbsd-x64": "0.27.1", + "@esbuild/openbsd-arm64": "0.27.1", + "@esbuild/openbsd-x64": "0.27.1", + "@esbuild/openharmony-arm64": "0.27.1", + "@esbuild/sunos-x64": "0.27.1", + "@esbuild/win32-arm64": "0.27.1", + "@esbuild/win32-ia32": "0.27.1", + "@esbuild/win32-x64": "0.27.1" } }, "node_modules/escalade": { @@ -3373,6 +3519,36 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -3387,6 +3563,16 @@ "dev": true, "license": "MIT" }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -3418,6 +3604,65 @@ "node": ">=16.0.0" } }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -3489,6 +3734,21 @@ "node": ">= 6" } }, + "node_modules/fs-extra": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -3622,9 +3882,32 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "node_modules/gh-pages": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.3.0.tgz", + "integrity": "sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.4", + "commander": "^13.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^11.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", @@ -3665,6 +3948,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -3678,6 +3982,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -4125,6 +4436,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-number-object": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", @@ -4517,6 +4838,19 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -4592,13 +4926,6 @@ "loose-envify": "cli.js" } }, - "node_modules/loupe": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", - "dev": true, - "license": "MIT" - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -4638,6 +4965,22 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -4648,6 +4991,43 @@ "node": ">= 0.4" } }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -4852,6 +5232,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -4920,6 +5311,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4973,23 +5374,23 @@ "dev": true, "license": "MIT" }, - "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14.16" + "node": ">=8" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -5010,6 +5411,75 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -5116,6 +5586,27 @@ "node": ">=6" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -5246,6 +5737,17 @@ "node": ">=4" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rollup": { "version": "4.53.3", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", @@ -5295,6 +5797,30 @@ "dev": true, "license": "MIT" }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -5544,6 +6070,16 @@ "dev": true, "license": "ISC" }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -5706,6 +6242,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -5747,11 +6306,14 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/tinyglobby": { "version": "0.2.15", @@ -5770,30 +6332,10 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, "node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", + "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", "dev": true, "license": "MIT", "engines": { @@ -5820,6 +6362,19 @@ "dev": true, "license": "MIT" }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tough-cookie": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", @@ -5846,6 +6401,29 @@ "node": ">=18" } }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/ts-api-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", @@ -5984,6 +6562,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", @@ -6026,22 +6614,25 @@ } }, "node_modules/vite": { - "version": "5.4.21", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", - "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", + "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -6050,19 +6641,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -6083,75 +6680,61 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, - "node_modules/vite-node": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz", - "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.7", - "es-module-lexer": "^1.5.4", - "pathe": "^1.1.2", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/vitest": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz", - "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.15.tgz", + "integrity": "sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vitest/expect": "2.1.9", - "@vitest/mocker": "2.1.9", - "@vitest/pretty-format": "^2.1.9", - "@vitest/runner": "2.1.9", - "@vitest/snapshot": "2.1.9", - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", - "chai": "^5.1.2", - "debug": "^4.3.7", - "expect-type": "^1.1.0", - "magic-string": "^0.30.12", - "pathe": "^1.1.2", - "std-env": "^3.8.0", + "@vitest/expect": "4.0.15", + "@vitest/mocker": "4.0.15", + "@vitest/pretty-format": "4.0.15", + "@vitest/runner": "4.0.15", + "@vitest/snapshot": "4.0.15", + "@vitest/spy": "4.0.15", + "@vitest/utils": "4.0.15", + "es-module-lexer": "^1.7.0", + "expect-type": "^1.2.2", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^3.10.0", "tinybench": "^2.9.0", - "tinyexec": "^0.3.1", - "tinypool": "^1.0.1", - "tinyrainbow": "^1.2.0", - "vite": "^5.0.0", - "vite-node": "2.1.9", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3", + "vite": "^6.0.0 || ^7.0.0", "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.1.9", - "@vitest/ui": "2.1.9", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.0.15", + "@vitest/browser-preview": "4.0.15", + "@vitest/browser-webdriverio": "4.0.15", + "@vitest/ui": "4.0.15", "happy-dom": "*", "jsdom": "*" }, @@ -6159,10 +6742,19 @@ "@edge-runtime/vm": { "optional": true }, + "@opentelemetry/api": { + "optional": true + }, "@types/node": { "optional": true }, - "@vitest/browser": { + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { "optional": true }, "@vitest/ui": { diff --git a/package.json b/package.json index 7a26cdab..d310aeb5 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "name": "react-chatlog", + "homepage": "https://maychanlee.github.io/react-chatlog/", "private": true, "version": "0.0.0", "type": "module", @@ -8,7 +9,9 @@ "build": "vite build", "lint": "eslint . --report-unused-disable-directives --max-warnings 0", "preview": "vite preview", - "test": "vitest --run" + "test": "vitest --run", + "predeploy": "npm run build", + "deploy": "gh-pages -d dist" }, "dependencies": { "luxon": "^2.5.2", @@ -30,10 +33,11 @@ "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "eslint-plugin-vitest-globals": "^1.5.0", + "gh-pages": "^6.3.0", "globals": "^16.5.0", "jest-extended": "^4.0.2", "jsdom": "^25.0.1", - "vite": "^5.4.9", - "vitest": "^2.1.3" + "vite": "^7.3.0", + "vitest": "^4.0.15" } } diff --git a/src/App.jsx b/src/App.jsx index 14a7f684..f6cba716 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,14 +1,33 @@ import './App.css'; +import ChatLog from './components/ChatLog'; +import chatData from './data/messages.json'; +import { useState } from 'react'; const App = () => { + const [entriesData, setEntriesData] = useState(chatData); + + const toggleLiked = (entryId) => { + const entries = entriesData.map(entry => { + if (entry.id === entryId) { + return {...entry, liked: !entry.liked}; + } else { + return entry; + } + }); + setEntriesData(entries); + }; + + const totalLikes = entriesData.filter(entry => entry.liked === true).length; + return (
-

Application title

+

Your Basic Conversation Between Two Besties!

+

There are {totalLikes} ❤️s in this chat

- {/* Wave 01: Render one ChatEntry component - Wave 02: Render ChatLog component */} +
); diff --git a/src/components/ChatEntry.jsx b/src/components/ChatEntry.jsx index fe05efa0..576df194 100644 --- a/src/components/ChatEntry.jsx +++ b/src/components/ChatEntry.jsx @@ -1,21 +1,33 @@ import './ChatEntry.css'; +import PropTypes from 'prop-types'; +import Timestamp from './TimeStamp'; + +const ChatEntry = (props) => { + const toggleLiked = () => { + props.onToggleLiked(props.id); + }; + + const heartColor = props.isLiked ? '❤️' : '🤍'; -const ChatEntry = () => { return ( - // Replace the outer tag name with a semantic element that fits our use case - -

Replace with name of sender

+
+

{props.sender}

-

Replace with body of ChatEntry

-

Replace with TimeStamp component

- +

{props.body}

+

+
- +
); }; ChatEntry.propTypes = { - // Fill with correct proptypes + id: PropTypes.number.isRequired, + sender: PropTypes.string.isRequired, + body: PropTypes.string.isRequired, + timeStamp: PropTypes.string.isRequired, + isLiked: PropTypes.bool, + onToggleLiked: PropTypes.func, }; export default ChatEntry; diff --git a/src/components/ChatLog.jsx b/src/components/ChatLog.jsx new file mode 100644 index 00000000..f615981d --- /dev/null +++ b/src/components/ChatLog.jsx @@ -0,0 +1,38 @@ +import ChatEntry from './ChatEntry'; +import './ChatLog.css'; +import PropTypes from 'prop-types'; + +const ChatLog = (props) => { + const chatComponents = props.entries.map(entry => { + return ( + + ); + }); + return ( +
+ {chatComponents} +
+ ); +}; + +ChatLog.propTypes = { + entries: PropTypes.arrayOf( + PropTypes.shape({ + id: PropTypes.number.isRequired, + sender: PropTypes.string.isRequired, + body: PropTypes.string.isRequired, + timeStamp: PropTypes.string.isRequired, + liked: PropTypes.bool.isRequired, + })), + onToggleLiked: PropTypes.func, +}; + +export default ChatLog; \ No newline at end of file