function dO(e,t){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=r(i);fetch(i.href,s)}})();var qx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ma(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function $ne(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var r=function n(){var i=!1;try{i=this instanceof n}catch{}return i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var rI={exports:{}},wx={},nI={exports:{}},qn={};var nD;function Hne(){if(nD)return qn;nD=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),o=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),h=Symbol.iterator;function p(V){return V===null||typeof V!="object"?null:(V=h&&V[h]||V["@@iterator"],typeof V=="function"?V:null)}var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,v={};function w(V,ue,de){this.props=V,this.context=ue,this.refs=v,this.updater=de||A}w.prototype.isReactComponent={},w.prototype.setState=function(V,ue){if(typeof V!="object"&&typeof V!="function"&&V!=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,V,ue,"setState")},w.prototype.forceUpdate=function(V){this.updater.enqueueForceUpdate(this,V,"forceUpdate")};function j(){}j.prototype=w.prototype;function E(V,ue,de){this.props=V,this.context=ue,this.refs=v,this.updater=de||A}var S=E.prototype=new j;S.constructor=E,y(S,w.prototype),S.isPureReactComponent=!0;var _=Array.isArray,C=Object.prototype.hasOwnProperty,Q={current:null},R={key:!0,ref:!0,__self:!0,__source:!0};function T(V,ue,de){var xe,_e={},Ce=null,we=null;if(ue!=null)for(xe in ue.ref!==void 0&&(we=ue.ref),ue.key!==void 0&&(Ce=""+ue.key),ue)C.call(ue,xe)&&!R.hasOwnProperty(xe)&&(_e[xe]=ue[xe]);var ve=arguments.length-2;if(ve===1)_e.children=de;else if(1>>1,ue=q[V];if(0>>1;Vi(_e,ne))Cei(we,_e)?(q[V]=we,q[Ce]=ne,V=Ce):(q[V]=_e,q[xe]=ne,V=xe);else if(Cei(we,ne))q[V]=we,q[Ce]=ne,V=Ce;else break e}}return ee}function i(q,ee){var ne=q.sortIndex-ee.sortIndex;return ne!==0?ne:q.id-ee.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,h=null,p=3,A=!1,y=!1,v=!1,w=typeof setTimeout=="function"?setTimeout:null,j=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(q){for(var ee=r(d);ee!==null;){if(ee.callback===null)n(d);else if(ee.startTime<=q)n(d),ee.sortIndex=ee.expirationTime,t(c,ee);else break;ee=r(d)}}function _(q){if(v=!1,S(q),!y)if(r(c)!==null)y=!0,G(C);else{var ee=r(d);ee!==null&&J(_,ee.startTime-q)}}function C(q,ee){y=!1,v&&(v=!1,j(T),T=-1),A=!0;var ne=p;try{for(S(ee),h=r(c);h!==null&&(!(h.expirationTime>ee)||q&&!$());){var V=h.callback;if(typeof V=="function"){h.callback=null,p=h.priorityLevel;var ue=V(h.expirationTime<=ee);ee=e.unstable_now(),typeof ue=="function"?h.callback=ue:h===r(c)&&n(c),S(ee)}else n(c);h=r(c)}if(h!==null)var de=!0;else{var xe=r(d);xe!==null&&J(_,xe.startTime-ee),de=!1}return de}finally{h=null,p=ne,A=!1}}var Q=!1,R=null,T=-1,M=5,O=-1;function $(){return!(e.unstable_now()-Oq||125V?(q.sortIndex=ne,t(d,q),r(c)===null&&q===r(d)&&(v?(j(T),T=-1):v=!0,J(_,ne-V))):(q.sortIndex=ue,t(c,q),y||A||(y=!0,G(C))),q},e.unstable_shouldYield=$,e.unstable_wrapCallback=function(q){var ee=p;return function(){var ne=p;p=ee;try{return q.apply(this,arguments)}finally{p=ne}}}})(sI)),sI}var lD;function Wne(){return lD||(lD=1,aI.exports=Vne()),aI.exports}var cD;function Kne(){if(cD)return mc;cD=1;var e=o4(),t=Wne();function r(f){for(var m="https://reactjs.org/docs/error-decoder.html?invariant="+f,b=1;b"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),c=Object.prototype.hasOwnProperty,d=/^[: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={},h={};function p(f){return c.call(h,f)?!0:c.call(u,f)?!1:d.test(f)?h[f]=!0:(u[f]=!0,!1)}function A(f,m,b,k){if(b!==null&&b.type===0)return!1;switch(typeof m){case"function":case"symbol":return!0;case"boolean":return k?!1:b!==null?!b.acceptsBooleans:(f=f.toLowerCase().slice(0,5),f!=="data-"&&f!=="aria-");default:return!1}}function y(f,m,b,k){if(m===null||typeof m>"u"||A(f,m,b,k))return!0;if(k)return!1;if(b!==null)switch(b.type){case 3:return!m;case 4:return m===!1;case 5:return isNaN(m);case 6:return isNaN(m)||1>m}return!1}function v(f,m,b,k,z,K,fe){this.acceptsBooleans=m===2||m===3||m===4,this.attributeName=k,this.attributeNamespace=z,this.mustUseProperty=b,this.propertyName=f,this.type=m,this.sanitizeURL=K,this.removeEmptyString=fe}var w={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(f){w[f]=new v(f,0,!1,f,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(f){var m=f[0];w[m]=new v(m,1,!1,f[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(f){w[f]=new v(f,2,!1,f.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(f){w[f]=new v(f,2,!1,f,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(f){w[f]=new v(f,3,!1,f.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(f){w[f]=new v(f,3,!0,f,null,!1,!1)}),["capture","download"].forEach(function(f){w[f]=new v(f,4,!1,f,null,!1,!1)}),["cols","rows","size","span"].forEach(function(f){w[f]=new v(f,6,!1,f,null,!1,!1)}),["rowSpan","start"].forEach(function(f){w[f]=new v(f,5,!1,f.toLowerCase(),null,!1,!1)});var j=/[\-:]([a-z])/g;function E(f){return f[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(f){var m=f.replace(j,E);w[m]=new v(m,1,!1,f,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(f){var m=f.replace(j,E);w[m]=new v(m,1,!1,f,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(f){var m=f.replace(j,E);w[m]=new v(m,1,!1,f,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(f){w[f]=new v(f,1,!1,f.toLowerCase(),null,!1,!1)}),w.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(f){w[f]=new v(f,1,!1,f.toLowerCase(),null,!0,!0)});function S(f,m,b,k){var z=w.hasOwnProperty(m)?w[m]:null;(z!==null?z.type!==0:k||!(2ke||z[fe]!==K[ke]){var Ue=` `+z[fe].replace(" at new "," at ");return f.displayName&&Ue.includes("")&&(Ue=Ue.replace("",f.displayName)),Ue}while(1<=fe&&0<=ke);break}}}finally{de=!1,Error.prepareStackTrace=b}return(f=f?f.displayName||f.name:"")?ue(f):""}function _e(f){switch(f.tag){case 5:return ue(f.type);case 16:return ue("Lazy");case 13:return ue("Suspense");case 19:return ue("SuspenseList");case 0:case 2:case 15:return f=xe(f.type,!1),f;case 11:return f=xe(f.type.render,!1),f;case 1:return f=xe(f.type,!0),f;default:return""}}function Ce(f){if(f==null)return null;if(typeof f=="function")return f.displayName||f.name||null;if(typeof f=="string")return f;switch(f){case R:return"Fragment";case Q:return"Portal";case M:return"Profiler";case T:return"StrictMode";case L:return"Suspense";case X:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case $:return(f.displayName||"Context")+".Consumer";case O:return(f._context.displayName||"Context")+".Provider";case P:var m=f.render;return f=f.displayName,f||(f=m.displayName||m.name||"",f=f!==""?"ForwardRef("+f+")":"ForwardRef"),f;case W:return m=f.displayName||null,m!==null?m:Ce(f.type)||"Memo";case G:m=f._payload,f=f._init;try{return Ce(f(m))}catch{}}return null}function we(f){var m=f.type;switch(f.tag){case 24:return"Cache";case 9:return(m.displayName||"Context")+".Consumer";case 10:return(m._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return f=m.render,f=f.displayName||f.name||"",m.displayName||(f!==""?"ForwardRef("+f+")":"ForwardRef");case 7:return"Fragment";case 5:return m;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ce(m);case 8:return m===T?"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 m=="function")return m.displayName||m.name||null;if(typeof m=="string")return m}return null}function ve(f){switch(typeof f){case"boolean":case"number":case"string":case"undefined":return f;case"object":return f;default:return""}}function Ne(f){var m=f.type;return(f=f.nodeName)&&f.toLowerCase()==="input"&&(m==="checkbox"||m==="radio")}function Ie(f){var m=Ne(f)?"checked":"value",b=Object.getOwnPropertyDescriptor(f.constructor.prototype,m),k=""+f[m];if(!f.hasOwnProperty(m)&&typeof b<"u"&&typeof b.get=="function"&&typeof b.set=="function"){var z=b.get,K=b.set;return Object.defineProperty(f,m,{configurable:!0,get:function(){return z.call(this)},set:function(fe){k=""+fe,K.call(this,fe)}}),Object.defineProperty(f,m,{enumerable:b.enumerable}),{getValue:function(){return k},setValue:function(fe){k=""+fe},stopTracking:function(){f._valueTracker=null,delete f[m]}}}}function be(f){f._valueTracker||(f._valueTracker=Ie(f))}function Re(f){if(!f)return!1;var m=f._valueTracker;if(!m)return!0;var b=m.getValue(),k="";return f&&(k=Ne(f)?f.checked?"true":"false":f.value),f=k,f!==b?(m.setValue(f),!0):!1}function Pe(f){if(f=f||(typeof document<"u"?document:void 0),typeof f>"u")return null;try{return f.activeElement||f.body}catch{return f.body}}function Ke(f,m){var b=m.checked;return ne({},m,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:b??f._wrapperState.initialChecked})}function tt(f,m){var b=m.defaultValue==null?"":m.defaultValue,k=m.checked!=null?m.checked:m.defaultChecked;b=ve(m.value!=null?m.value:b),f._wrapperState={initialChecked:k,initialValue:b,controlled:m.type==="checkbox"||m.type==="radio"?m.checked!=null:m.value!=null}}function pt(f,m){m=m.checked,m!=null&&S(f,"checked",m,!1)}function dt(f,m){pt(f,m);var b=ve(m.value),k=m.type;if(b!=null)k==="number"?(b===0&&f.value===""||f.value!=b)&&(f.value=""+b):f.value!==""+b&&(f.value=""+b);else if(k==="submit"||k==="reset"){f.removeAttribute("value");return}m.hasOwnProperty("value")?Pt(f,m.type,b):m.hasOwnProperty("defaultValue")&&Pt(f,m.type,ve(m.defaultValue)),m.checked==null&&m.defaultChecked!=null&&(f.defaultChecked=!!m.defaultChecked)}function Oe(f,m,b){if(m.hasOwnProperty("value")||m.hasOwnProperty("defaultValue")){var k=m.type;if(!(k!=="submit"&&k!=="reset"||m.value!==void 0&&m.value!==null))return;m=""+f._wrapperState.initialValue,b||m===f.value||(f.value=m),f.defaultValue=m}b=f.name,b!==""&&(f.name=""),f.defaultChecked=!!f._wrapperState.initialChecked,b!==""&&(f.name=b)}function Pt(f,m,b){(m!=="number"||Pe(f.ownerDocument)!==f)&&(b==null?f.defaultValue=""+f._wrapperState.initialValue:f.defaultValue!==""+b&&(f.defaultValue=""+b))}var Kt=Array.isArray;function gt(f,m,b,k){if(f=f.options,m){m={};for(var z=0;z"+m.valueOf().toString()+"",m=Lt.firstChild;f.firstChild;)f.removeChild(f.firstChild);for(;m.firstChild;)f.appendChild(m.firstChild)}});function He(f,m){if(m){var b=f.firstChild;if(b&&b===f.lastChild&&b.nodeType===3){b.nodeValue=m;return}}f.textContent=m}var ce={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},Le=["Webkit","ms","Moz","O"];Object.keys(ce).forEach(function(f){Le.forEach(function(m){m=m+f.charAt(0).toUpperCase()+f.substring(1),ce[m]=ce[f]})});function rt(f,m,b){return m==null||typeof m=="boolean"||m===""?"":b||typeof m!="number"||m===0||ce.hasOwnProperty(f)&&ce[f]?(""+m).trim():m+"px"}function ie(f,m){f=f.style;for(var b in m)if(m.hasOwnProperty(b)){var k=b.indexOf("--")===0,z=rt(b,m[b],k);b==="float"&&(b="cssFloat"),k?f.setProperty(b,z):f[b]=z}}var ae=ne({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 Ee(f,m){if(m){if(ae[f]&&(m.children!=null||m.dangerouslySetInnerHTML!=null))throw Error(r(137,f));if(m.dangerouslySetInnerHTML!=null){if(m.children!=null)throw Error(r(60));if(typeof m.dangerouslySetInnerHTML!="object"||!("__html"in m.dangerouslySetInnerHTML))throw Error(r(61))}if(m.style!=null&&typeof m.style!="object")throw Error(r(62))}}function re(f,m){if(f.indexOf("-")===-1)return typeof m.is=="string";switch(f){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 We=null;function Tt(f){return f=f.target||f.srcElement||window,f.correspondingUseElement&&(f=f.correspondingUseElement),f.nodeType===3?f.parentNode:f}var H=null,ze=null,Ze=null;function he(f){if(f=E0(f)){if(typeof H!="function")throw Error(r(280));var m=f.stateNode;m&&(m=Uc(m),H(f.stateNode,f.type,m))}}function De(f){ze?Ze?Ze.push(f):Ze=[f]:ze=f}function qe(){if(ze){var f=ze,m=Ze;if(Ze=ze=null,he(f),m)for(f=0;f>>=0,f===0?32:31-(me(f)/pe|0)|0}var $e=64,nt=4194304;function vt(f){switch(f&-f){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 f&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return f&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return f}}function Mt(f,m){var b=f.pendingLanes;if(b===0)return 0;var k=0,z=f.suspendedLanes,K=f.pingedLanes,fe=b&268435455;if(fe!==0){var ke=fe&~z;ke!==0?k=vt(ke):(K&=fe,K!==0&&(k=vt(K)))}else fe=b&~z,fe!==0?k=vt(fe):K!==0&&(k=vt(K));if(k===0)return 0;if(m!==0&&m!==k&&(m&z)===0&&(z=k&-k,K=m&-m,z>=K||z===16&&(K&4194240)!==0))return m;if((k&4)!==0&&(k|=b&16),m=f.entangledLanes,m!==0)for(f=f.entanglements,m&=k;0b;b++)m.push(f);return m}function fn(f,m,b){f.pendingLanes|=m,m!==536870912&&(f.suspendedLanes=0,f.pingedLanes=0),f=f.eventTimes,m=31-Sa(m),f[m]=b}function Ei(f,m){var b=f.pendingLanes&~m;f.pendingLanes=m,f.suspendedLanes=0,f.pingedLanes=0,f.expiredLanes&=m,f.mutableReadLanes&=m,f.entangledLanes&=m,m=f.entanglements;var k=f.eventTimes;for(f=f.expirationTimes;0=Ql),df=" ",td=!1;function rc(f,m){switch(f){case"keyup":return gl.indexOf(m.keyCode)!==-1;case"keydown":return m.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fl(f){return f=f.detail,typeof f=="object"&&"data"in f?f.data:null}var Go=!1;function wu(f,m){switch(f){case"compositionend":return Fl(m);case"keypress":return m.which!==32?null:(td=!0,df);case"textInput":return f=m.data,f===df&&td?null:f;default:return null}}function rd(f,m){if(Go)return f==="compositionend"||!uf&&rc(f,m)?(f=Ni(),oa=Ks=_s=null,Go=!1,f):null;switch(f){case"paste":return null;case"keypress":if(!(m.ctrlKey||m.altKey||m.metaKey)||m.ctrlKey&&m.altKey){if(m.char&&1=m)return{node:b,offset:m-f};f=k}e:{for(;b;){if(b.nextSibling){b=b.nextSibling;break e}b=b.parentNode}b=void 0}b=la(b)}}function Vo(f,m){return f&&m?f===m?!0:f&&f.nodeType===3?!1:m&&m.nodeType===3?Vo(f,m.parentNode):"contains"in f?f.contains(m):f.compareDocumentPosition?!!(f.compareDocumentPosition(m)&16):!1:!1}function Wo(){for(var f=window,m=Pe();m instanceof f.HTMLIFrameElement;){try{var b=typeof m.contentWindow.location.href=="string"}catch{b=!1}if(b)f=m.contentWindow;else break;m=Pe(f.document)}return m}function ic(f){var m=f&&f.nodeName&&f.nodeName.toLowerCase();return m&&(m==="input"&&(f.type==="text"||f.type==="search"||f.type==="tel"||f.type==="url"||f.type==="password")||m==="textarea"||f.contentEditable==="true")}function p0(f){var m=Wo(),b=f.focusedElem,k=f.selectionRange;if(m!==b&&b&&b.ownerDocument&&Vo(b.ownerDocument.documentElement,b)){if(k!==null&&ic(b)){if(m=k.start,f=k.end,f===void 0&&(f=m),"selectionStart"in b)b.selectionStart=m,b.selectionEnd=Math.min(f,b.value.length);else if(f=(m=b.ownerDocument||document)&&m.defaultView||window,f.getSelection){f=f.getSelection();var z=b.textContent.length,K=Math.min(k.start,z);k=k.end===void 0?K:Math.min(k.end,z),!f.extend&&K>k&&(z=k,k=K,K=z),z=vh(b,K);var fe=vh(b,k);z&&fe&&(f.rangeCount!==1||f.anchorNode!==z.node||f.anchorOffset!==z.offset||f.focusNode!==fe.node||f.focusOffset!==fe.offset)&&(m=m.createRange(),m.setStart(z.node,z.offset),f.removeAllRanges(),K>k?(f.addRange(m),f.extend(fe.node,fe.offset)):(m.setEnd(fe.node,fe.offset),f.addRange(m)))}}for(m=[],f=b;f=f.parentNode;)f.nodeType===1&&m.push({element:f,left:f.scrollLeft,top:f.scrollTop});for(typeof b.focus=="function"&&b.focus(),b=0;b=document.documentMode,ac=null,g0=null,Iu=null,Yr=!1;function ao(f,m,b){var k=b.window===b?b.document:b.nodeType===9?b:b.ownerDocument;Yr||ac==null||ac!==Pe(k)||(k=ac,"selectionStart"in k&&ic(k)?k={start:k.selectionStart,end:k.selectionEnd}:(k=(k.ownerDocument&&k.ownerDocument.defaultView||window).getSelection(),k={anchorNode:k.anchorNode,anchorOffset:k.anchorOffset,focusNode:k.focusNode,focusOffset:k.focusOffset}),Iu&&Cu(Iu,k)||(Iu=k,k=vs(g0,"onSelect"),0Su||(f.current=Zo[Su],Zo[Su]=null,Su--)}function vi(f,m){Su++,Zo[Su]=f.current,f.current=m}var Io={},Ts=uc(Io),Rs=uc(!1),Bu=Io;function ku(f,m){var b=f.type.contextTypes;if(!b)return Io;var k=f.stateNode;if(k&&k.__reactInternalMemoizedUnmaskedChildContext===m)return k.__reactInternalMemoizedMaskedChildContext;var z={},K;for(K in b)z[K]=m[K];return k&&(f=f.stateNode,f.__reactInternalMemoizedUnmaskedChildContext=m,f.__reactInternalMemoizedMaskedChildContext=z),z}function Ps(f){return f=f.childContextTypes,f!=null}function ud(){ii(Rs),ii(Ts)}function tA(f,m,b){if(Ts.current!==Io)throw Error(r(168));vi(Ts,m),vi(Rs,b)}function B(f,m,b){var k=f.stateNode;if(m=m.childContextTypes,typeof k.getChildContext!="function")return b;k=k.getChildContext();for(var z in k)if(!(z in m))throw Error(r(108,we(f)||"Unknown",z));return ne({},b,k)}function N(f){return f=(f=f.stateNode)&&f.__reactInternalMemoizedMergedChildContext||Io,Bu=Ts.current,vi(Ts,f),vi(Rs,Rs.current),!0}function F(f,m,b){var k=f.stateNode;if(!k)throw Error(r(169));b?(f=B(f,m,Bu),k.__reactInternalMemoizedMergedChildContext=f,ii(Rs),ii(Ts),vi(Ts,f)):ii(Rs),vi(Rs,b)}var te=null,oe=!1,ye=!1;function Fe(f){te===null?te=[f]:te.push(f)}function bt(f){oe=!0,Fe(f)}function Rt(){if(!ye&&te!==null){ye=!0;var f=0,m=Kr;try{var b=te;for(Kr=1;f>=fe,z-=fe,mt=1<<32-Sa(m)+z|b<vn?(Bo=on,on=null):Bo=on.sibling;var Si=Yt(lt,on,ht[vn],mr);if(Si===null){on===null&&(on=Bo);break}f&&on&&Si.alternate===null&&m(lt,on),Ve=K(Si,Ve,vn),sn===null?Ur=Si:sn.sibling=Si,sn=Si,on=Bo}if(vn===ht.length)return b(lt,on),Bn&&Ct(lt,vn),Ur;if(on===null){for(;vnvn?(Bo=on,on=null):Bo=on.sibling;var qh=Yt(lt,on,Si.value,mr);if(qh===null){on===null&&(on=Bo);break}f&&on&&qh.alternate===null&&m(lt,on),Ve=K(qh,Ve,vn),sn===null?Ur=qh:sn.sibling=qh,sn=qh,on=Bo}if(Si.done)return b(lt,on),Bn&&Ct(lt,vn),Ur;if(on===null){for(;!Si.done;vn++,Si=ht.next())Si=or(lt,Si.value,mr),Si!==null&&(Ve=K(Si,Ve,vn),sn===null?Ur=Si:sn.sibling=Si,sn=Si);return Bn&&Ct(lt,vn),Ur}for(on=k(lt,on);!Si.done;vn++,Si=ht.next())Si=Br(on,lt,vn,Si.value,mr),Si!==null&&(f&&Si.alternate!==null&&on.delete(Si.key===null?vn:Si.key),Ve=K(Si,Ve,vn),sn===null?Ur=Si:sn.sibling=Si,sn=Si);return f&&on.forEach(function(zne){return m(lt,zne)}),Bn&&Ct(lt,vn),Ur}function Os(lt,Ve,ht,mr){if(typeof ht=="object"&&ht!==null&&ht.type===R&&ht.key===null&&(ht=ht.props.children),typeof ht=="object"&&ht!==null){switch(ht.$$typeof){case C:e:{for(var Ur=ht.key,sn=Ve;sn!==null;){if(sn.key===Ur){if(Ur=ht.type,Ur===R){if(sn.tag===7){b(lt,sn.sibling),Ve=z(sn,ht.props.children),Ve.return=lt,lt=Ve;break e}}else if(sn.elementType===Ur||typeof Ur=="object"&&Ur!==null&&Ur.$$typeof===G&&A2(Ur)===sn.type){b(lt,sn.sibling),Ve=z(sn,ht.props),Ve.ref=yf(lt,sn,ht),Ve.return=lt,lt=Ve;break e}b(lt,sn);break}else m(lt,sn);sn=sn.sibling}ht.type===R?(Ve=Pp(ht.props.children,lt.mode,mr,ht.key),Ve.return=lt,lt=Ve):(mr=T2(ht.type,ht.key,ht.props,null,lt.mode,mr),mr.ref=yf(lt,Ve,ht),mr.return=lt,lt=mr)}return fe(lt);case Q:e:{for(sn=ht.key;Ve!==null;){if(Ve.key===sn)if(Ve.tag===4&&Ve.stateNode.containerInfo===ht.containerInfo&&Ve.stateNode.implementation===ht.implementation){b(lt,Ve.sibling),Ve=z(Ve,ht.children||[]),Ve.return=lt,lt=Ve;break e}else{b(lt,Ve);break}else m(lt,Ve);Ve=Ve.sibling}Ve=ZC(ht,lt.mode,mr),Ve.return=lt,lt=Ve}return fe(lt);case G:return sn=ht._init,Os(lt,Ve,sn(ht._payload),mr)}if(Kt(ht))return Fr(lt,Ve,ht,mr);if(ee(ht))return Or(lt,Ve,ht,mr);jh(lt,ht)}return typeof ht=="string"&&ht!==""||typeof ht=="number"?(ht=""+ht,Ve!==null&&Ve.tag===6?(b(lt,Ve.sibling),Ve=z(Ve,ht),Ve.return=lt,lt=Ve):(b(lt,Ve),Ve=YC(ht,lt.mode,mr),Ve.return=lt,lt=Ve),fe(lt)):b(lt,Ve)}return Os}var yl=x2(!0),fx=x2(!1),rA=uc(null),vp=null,Nh=null,hx=null;function mx(){hx=Nh=vp=null}function nA(f){var m=rA.current;ii(rA),f._currentValue=m}function Jo(f,m,b){for(;f!==null;){var k=f.alternate;if((f.childLanes&m)!==m?(f.childLanes|=m,k!==null&&(k.childLanes|=m)):k!==null&&(k.childLanes&m)!==m&&(k.childLanes|=m),f===b)break;f=f.return}}function bf(f,m){vp=f,hx=Nh=null,f=f.dependencies,f!==null&&f.firstContext!==null&&((f.lanes&m)!==0&&(No=!0),f.firstContext=null)}function Xo(f){var m=f._currentValue;if(hx!==f)if(f={context:f,memoizedValue:m,next:null},Nh===null){if(vp===null)throw Error(r(308));Nh=f,vp.dependencies={lanes:0,firstContext:f}}else Nh=Nh.next=f;return m}var _u=null;function iA(f){_u===null?_u=[f]:_u.push(f)}function wf(f,m,b,k){var z=m.interleaved;return z===null?(b.next=b,iA(m)):(b.next=z.next,z.next=b),m.interleaved=b,bl(f,k)}function bl(f,m){f.lanes|=m;var b=f.alternate;for(b!==null&&(b.lanes|=m),b=f,f=f.return;f!==null;)f.childLanes|=m,b=f.alternate,b!==null&&(b.childLanes|=m),b=f,f=f.return;return b.tag===3?b.stateNode:null}var C0=!1;function Hc(f){f.updateQueue={baseState:f.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Sh(f,m){f=f.updateQueue,m.updateQueue===f&&(m.updateQueue={baseState:f.baseState,firstBaseUpdate:f.firstBaseUpdate,lastBaseUpdate:f.lastBaseUpdate,shared:f.shared,effects:f.effects})}function dc(f,m){return{eventTime:f,lane:m,tag:0,payload:null,callback:null,next:null}}function qc(f,m,b){var k=f.updateQueue;if(k===null)return null;if(k=k.shared,(Ci&2)!==0){var z=k.pending;return z===null?m.next=m:(m.next=z.next,z.next=m),k.pending=m,bl(f,b)}return z=k.interleaved,z===null?(m.next=m,iA(k)):(m.next=z.next,z.next=m),k.interleaved=m,bl(f,b)}function aA(f,m,b){if(m=m.updateQueue,m!==null&&(m=m.shared,(b&4194240)!==0)){var k=m.lanes;k&=f.pendingLanes,b|=k,m.lanes=b,mn(f,b)}}function Du(f,m){var b=f.updateQueue,k=f.alternate;if(k!==null&&(k=k.updateQueue,b===k)){var z=null,K=null;if(b=b.firstBaseUpdate,b!==null){do{var fe={eventTime:b.eventTime,lane:b.lane,tag:b.tag,payload:b.payload,callback:b.callback,next:null};K===null?z=K=fe:K=K.next=fe,b=b.next}while(b!==null);K===null?z=K=m:K=K.next=m}else z=K=m;b={baseState:k.baseState,firstBaseUpdate:z,lastBaseUpdate:K,shared:k.shared,effects:k.effects},f.updateQueue=b;return}f=b.lastBaseUpdate,f===null?b.firstBaseUpdate=m:f.next=m,b.lastBaseUpdate=m}function el(f,m,b,k){var z=f.updateQueue;C0=!1;var K=z.firstBaseUpdate,fe=z.lastBaseUpdate,ke=z.shared.pending;if(ke!==null){z.shared.pending=null;var Ue=ke,At=Ue.next;Ue.next=null,fe===null?K=At:fe.next=At,fe=Ue;var er=f.alternate;er!==null&&(er=er.updateQueue,ke=er.lastBaseUpdate,ke!==fe&&(ke===null?er.firstBaseUpdate=At:ke.next=At,er.lastBaseUpdate=Ue))}if(K!==null){var or=z.baseState;fe=0,er=At=Ue=null,ke=K;do{var Yt=ke.lane,Br=ke.eventTime;if((k&Yt)===Yt){er!==null&&(er=er.next={eventTime:Br,lane:0,tag:ke.tag,payload:ke.payload,callback:ke.callback,next:null});e:{var Fr=f,Or=ke;switch(Yt=m,Br=b,Or.tag){case 1:if(Fr=Or.payload,typeof Fr=="function"){or=Fr.call(Br,or,Yt);break e}or=Fr;break e;case 3:Fr.flags=Fr.flags&-65537|128;case 0:if(Fr=Or.payload,Yt=typeof Fr=="function"?Fr.call(Br,or,Yt):Fr,Yt==null)break e;or=ne({},or,Yt);break e;case 2:C0=!0}}ke.callback!==null&&ke.lane!==0&&(f.flags|=64,Yt=z.effects,Yt===null?z.effects=[ke]:Yt.push(ke))}else Br={eventTime:Br,lane:Yt,tag:ke.tag,payload:ke.payload,callback:ke.callback,next:null},er===null?(At=er=Br,Ue=or):er=er.next=Br,fe|=Yt;if(ke=ke.next,ke===null){if(ke=z.shared.pending,ke===null)break;Yt=ke,ke=Yt.next,Yt.next=null,z.lastBaseUpdate=Yt,z.shared.pending=null}}while(!0);if(er===null&&(Ue=or),z.baseState=Ue,z.firstBaseUpdate=At,z.lastBaseUpdate=er,m=z.shared.interleaved,m!==null){z=m;do fe|=z.lane,z=z.next;while(z!==m)}else K===null&&(z.shared.lanes=0);_p|=fe,f.lanes=fe,f.memoizedState=or}}function Ef(f,m,b){if(f=m.effects,m.effects=null,f!==null)for(m=0;mb?b:4,f(!0);var k=jf.transition;jf.transition={};try{f(!1),m()}finally{Kr=b,jf.transition=k}}function gx(){return cn().memoizedState}function Rh(f,m,b){var k=zh(f);if(b={lane:k,action:b,hasEagerState:!1,eagerState:null,next:null},jo(f))dA(m,b);else if(b=wf(f,m,b,k),b!==null){var z=Ml();S0(b,f,k,z),Ax(b,m,k)}}function j0(f,m,b){var k=zh(f),z={lane:k,action:b,hasEagerState:!1,eagerState:null,next:null};if(jo(f))dA(m,z);else{var K=f.alternate;if(f.lanes===0&&(K===null||K.lanes===0)&&(K=m.lastRenderedReducer,K!==null))try{var fe=m.lastRenderedState,ke=K(fe,b);if(z.hasEagerState=!0,z.eagerState=ke,io(ke,fe)){var Ue=m.interleaved;Ue===null?(z.next=z,iA(m)):(z.next=Ue.next,Ue.next=z),m.interleaved=z;return}}catch{}b=wf(f,m,z,k),b!==null&&(z=Ml(),S0(b,f,k,z),Ax(b,m,k))}}function jo(f){var m=f.alternate;return f===ca||m!==null&&m===ca}function dA(f,m){Fu=md=!0;var b=f.pending;b===null?m.next=m:(m.next=b.next,b.next=m),f.pending=m}function Ax(f,m,b){if((b&4194240)!==0){var k=m.lanes;k&=f.pendingLanes,b|=k,m.lanes=b,mn(f,b)}}var ss={readContext:Xo,useCallback:Qs,useContext:Qs,useEffect:Qs,useImperativeHandle:Qs,useInsertionEffect:Qs,useLayoutEffect:Qs,useMemo:Qs,useReducer:Qs,useRef:Qs,useState:Qs,useDebugValue:Qs,useDeferredValue:Qs,useTransition:Qs,useMutableSource:Qs,useSyncExternalStore:Qs,useId:Qs,unstable_isNewReconciler:!1},E2={readContext:Xo,useCallback:function(f,m){return oo().memoizedState=[f,m===void 0?null:m],f},useContext:Xo,useEffect:px,useImperativeHandle:function(f,m,b){return b=b!=null?b.concat([f]):null,Ou(4194308,4,Cp.bind(null,m,f),b)},useLayoutEffect:function(f,m){return Ou(4194308,4,f,m)},useInsertionEffect:function(f,m){return Ou(4,2,f,m)},useMemo:function(f,m){var b=oo();return m=m===void 0?null:m,f=f(),b.memoizedState=[f,m],f},useReducer:function(f,m,b){var k=oo();return m=b!==void 0?b(m):m,k.memoizedState=k.baseState=m,f={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:f,lastRenderedState:m},k.queue=f,f=f.dispatch=Rh.bind(null,ca,f),[k.memoizedState,f]},useRef:function(f){var m=oo();return f={current:f},m.memoizedState=f},useState:Kc,useDebugValue:Ip,useDeferredValue:function(f){return oo().memoizedState=f},useTransition:function(){var f=Kc(!1),m=f[0];return f=Fs.bind(null,f[1]),oo().memoizedState=f,[m,f]},useMutableSource:function(){},useSyncExternalStore:function(f,m,b){var k=ca,z=oo();if(Bn){if(b===void 0)throw Error(r(407));b=b()}else{if(b=m(),So===null)throw Error(r(349));(hd&30)!==0||oA(k,m,b)}z.memoizedState=b;var K={value:b,getSnapshot:m};return z.queue=K,px(Sf.bind(null,k,K,f),[f]),k.flags|=2048,Yc(9,Dh.bind(null,k,K,b,m),void 0,null),b},useId:function(){var f=oo(),m=So.identifierPrefix;if(Bn){var b=ot,k=mt;b=(k&~(1<<32-Sa(k)-1)).toString(32)+b,m=":"+m+"R"+b,b=Ep++,0<\/script>",f=f.removeChild(f.firstChild)):typeof k.is=="string"?f=fe.createElement(b,{is:k.is}):(f=fe.createElement(b),b==="select"&&(fe=f,k.multiple?fe.multiple=!0:k.size&&(fe.size=k.size))):f=fe.createElementNS(f,b),f[Zs]=m,f[Af]=k,Me(f,m,!1,!1),m.stateNode=f;e:{switch(fe=re(b,k),b){case"dialog":Ri("cancel",f),Ri("close",f),z=k;break;case"iframe":case"object":case"embed":Ri("load",f),z=k;break;case"video":case"audio":for(z=0;zxA&&(m.flags|=128,k=!0,gr(K,!1),m.lanes=4194304)}else{if(!k)if(f=Pu(fe),f!==null){if(m.flags|=128,k=!0,b=f.updateQueue,b!==null&&(m.updateQueue=b,m.flags|=4),gr(K,!0),K.tail===null&&K.tailMode==="hidden"&&!fe.alternate&&!Bn)return Wt(m),null}else 2*pr()-K.renderingStartTime>xA&&b!==1073741824&&(m.flags|=128,k=!0,gr(K,!1),m.lanes=4194304);K.isBackwards?(fe.sibling=m.child,m.child=fe):(b=K.last,b!==null?b.sibling=fe:m.child=fe,K.last=fe)}return K.tail!==null?(m=K.tail,K.rendering=m,K.tail=m.sibling,K.renderingStartTime=pr(),m.sibling=null,b=Pi.current,vi(Pi,k?b&1|2:b&1),m):(Wt(m),null);case 22:case 23:return VC(),k=m.memoizedState!==null,f!==null&&f.memoizedState!==null!==k&&(m.flags|=8192),k&&(m.mode&1)!==0?(tu&1073741824)!==0&&(Wt(m),m.subtreeFlags&6&&(m.flags|=8192)):Wt(m),null;case 24:return null;case 25:return null}throw Error(r(156,m.tag))}function Ea(f,m){switch(ci(m),m.tag){case 1:return Ps(m.type)&&ud(),f=m.flags,f&65536?(m.flags=f&-65537|128,m):null;case 3:return Gc(),ii(Rs),ii(Ts),wp(),f=m.flags,(f&65536)!==0&&(f&128)===0?(m.flags=f&-65537|128,m):null;case 5:return bp(m),null;case 13:if(ii(Pi),f=m.memoizedState,f!==null&&f.dehydrated!==null){if(m.alternate===null)throw Error(r(340));Ih()}return f=m.flags,f&65536?(m.flags=f&-65537|128,m):null;case 19:return ii(Pi),null;case 4:return Gc(),null;case 10:return nA(m.type._context),null;case 22:case 23:return VC(),null;case 24:return null;default:return null}}var ut=!1,st=!1,It=typeof WeakSet=="function"?WeakSet:Set,ft=null;function tn(f,m){var b=f.ref;if(b!==null)if(typeof b=="function")try{b(null)}catch(k){Es(f,m,k)}else b.current=null}function Fi(f,m,b){try{b()}catch(k){Es(f,m,k)}}var gn=!1;function Hn(f,m){if(Nu=sa,f=Wo(),ic(f)){if("selectionStart"in f)var b={start:f.selectionStart,end:f.selectionEnd};else e:{b=(b=f.ownerDocument)&&b.defaultView||window;var k=b.getSelection&&b.getSelection();if(k&&k.rangeCount!==0){b=k.anchorNode;var z=k.anchorOffset,K=k.focusNode;k=k.focusOffset;try{b.nodeType,K.nodeType}catch{b=null;break e}var fe=0,ke=-1,Ue=-1,At=0,er=0,or=f,Yt=null;t:for(;;){for(var Br;or!==b||z!==0&&or.nodeType!==3||(ke=fe+z),or!==K||k!==0&&or.nodeType!==3||(Ue=fe+k),or.nodeType===3&&(fe+=or.nodeValue.length),(Br=or.firstChild)!==null;)Yt=or,or=Br;for(;;){if(or===f)break t;if(Yt===b&&++At===z&&(ke=fe),Yt===K&&++er===k&&(Ue=fe),(Br=or.nextSibling)!==null)break;or=Yt,Yt=or.parentNode}or=Br}b=ke===-1||Ue===-1?null:{start:ke,end:Ue}}else b=null}b=b||{start:0,end:0}}else b=null;for(cc={focusedElem:f,selectionRange:b},sa=!1,ft=m;ft!==null;)if(m=ft,f=m.child,(m.subtreeFlags&1028)!==0&&f!==null)f.return=m,ft=f;else for(;ft!==null;){m=ft;try{var Fr=m.alternate;if((m.flags&1024)!==0)switch(m.tag){case 0:case 11:case 15:break;case 1:if(Fr!==null){var Or=Fr.memoizedProps,Os=Fr.memoizedState,lt=m.stateNode,Ve=lt.getSnapshotBeforeUpdate(m.elementType===m.type?Or:Zc(m.type,Or),Os);lt.__reactInternalSnapshotBeforeUpdate=Ve}break;case 3:var ht=m.stateNode.containerInfo;ht.nodeType===1?ht.textContent="":ht.nodeType===9&&ht.documentElement&&ht.removeChild(ht.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(mr){Es(m,m.return,mr)}if(f=m.sibling,f!==null){f.return=m.return,ft=f;break}ft=m.return}return Fr=gn,gn=!1,Fr}function di(f,m,b){var k=m.updateQueue;if(k=k!==null?k.lastEffect:null,k!==null){var z=k=k.next;do{if((z.tag&f)===f){var K=z.destroy;z.destroy=void 0,K!==void 0&&Fi(m,b,K)}z=z.next}while(z!==k)}}function ws(f,m){if(m=m.updateQueue,m=m!==null?m.lastEffect:null,m!==null){var b=m=m.next;do{if((b.tag&f)===f){var k=b.create;b.destroy=k()}b=b.next}while(b!==m)}}function ls(f){var m=f.ref;if(m!==null){var b=f.stateNode;f.tag,f=b,typeof m=="function"?m(f):m.current=f}}function ua(f){var m=f.alternate;m!==null&&(f.alternate=null,ua(m)),f.child=null,f.deletions=null,f.sibling=null,f.tag===5&&(m=f.stateNode,m!==null&&(delete m[Zs],delete m[Af],delete m[xf],delete m[gp],delete m[eA])),f.stateNode=null,f.return=null,f.dependencies=null,f.memoizedProps=null,f.memoizedState=null,f.pendingProps=null,f.stateNode=null,f.updateQueue=null}function un(f){return f.tag===5||f.tag===3||f.tag===4}function Qn(f){e:for(;;){for(;f.sibling===null;){if(f.return===null||un(f.return))return null;f=f.return}for(f.sibling.return=f.return,f=f.sibling;f.tag!==5&&f.tag!==6&&f.tag!==18;){if(f.flags&2||f.child===null||f.tag===4)continue e;f.child.return=f,f=f.child}if(!(f.flags&2))return f.stateNode}}function Pa(f,m,b){var k=f.tag;if(k===5||k===6)f=f.stateNode,m?b.nodeType===8?b.parentNode.insertBefore(f,m):b.insertBefore(f,m):(b.nodeType===8?(m=b.parentNode,m.insertBefore(f,b)):(m=b,m.appendChild(f)),b=b._reactRootContainer,b!=null||m.onclick!==null||(m.onclick=b0));else if(k!==4&&(f=f.child,f!==null))for(Pa(f,m,b),f=f.sibling;f!==null;)Pa(f,m,b),f=f.sibling}function Yn(f,m,b){var k=f.tag;if(k===5||k===6)f=f.stateNode,m?b.insertBefore(f,m):b.appendChild(f);else if(k!==4&&(f=f.child,f!==null))for(Yn(f,m,b),f=f.sibling;f!==null;)Yn(f,m,b),f=f.sibling}var Ca=null,eu=!1;function Lh(f,m,b){for(b=b.child;b!==null;)P_(f,m,b),b=b.sibling}function P_(f,m,b){if(oi&&typeof oi.onCommitFiberUnmount=="function")try{oi.onCommitFiberUnmount(Ha,b)}catch{}switch(b.tag){case 5:st||tn(b,m);case 6:var k=Ca,z=eu;Ca=null,Lh(f,m,b),Ca=k,eu=z,Ca!==null&&(eu?(f=Ca,b=b.stateNode,f.nodeType===8?f.parentNode.removeChild(b):f.removeChild(b)):Ca.removeChild(b.stateNode));break;case 18:Ca!==null&&(eu?(f=Ca,b=b.stateNode,f.nodeType===8?cd(f.parentNode,b):f.nodeType===1&&cd(f,b),tc(f)):cd(Ca,b.stateNode));break;case 4:k=Ca,z=eu,Ca=b.stateNode.containerInfo,eu=!0,Lh(f,m,b),Ca=k,eu=z;break;case 0:case 11:case 14:case 15:if(!st&&(k=b.updateQueue,k!==null&&(k=k.lastEffect,k!==null))){z=k=k.next;do{var K=z,fe=K.destroy;K=K.tag,fe!==void 0&&((K&2)!==0||(K&4)!==0)&&Fi(b,m,fe),z=z.next}while(z!==k)}Lh(f,m,b);break;case 1:if(!st&&(tn(b,m),k=b.stateNode,typeof k.componentWillUnmount=="function"))try{k.props=b.memoizedProps,k.state=b.memoizedState,k.componentWillUnmount()}catch(ke){Es(b,m,ke)}Lh(f,m,b);break;case 21:Lh(f,m,b);break;case 22:b.mode&1?(st=(k=st)||b.memoizedState!==null,Lh(f,m,b),st=k):Lh(f,m,b);break;default:Lh(f,m,b)}}function Q_(f){var m=f.updateQueue;if(m!==null){f.updateQueue=null;var b=f.stateNode;b===null&&(b=f.stateNode=new It),m.forEach(function(k){var z=Tne.bind(null,f,k);b.has(k)||(b.add(k),k.then(z,z))})}}function N0(f,m){var b=m.deletions;if(b!==null)for(var k=0;kz&&(z=fe),k&=~K}if(k=z,k=pr()-k,k=(120>k?120:480>k?480:1080>k?1080:1920>k?1920:3e3>k?3e3:4320>k?4320:1960*jne(k/1960))-k,10f?16:f,Uh===null)var k=!1;else{if(f=Uh,Uh=null,B2=0,(Ci&6)!==0)throw Error(r(331));var z=Ci;for(Ci|=4,ft=f.current;ft!==null;){var K=ft,fe=K.child;if((ft.flags&16)!==0){var ke=K.deletions;if(ke!==null){for(var Ue=0;Uepr()-UC?Tp(f,0):MC|=b),hc(f,m)}function K_(f,m){m===0&&((f.mode&1)===0?m=1:(m=nt,nt<<=1,(nt&130023424)===0&&(nt=4194304)));var b=Ml();f=bl(f,m),f!==null&&(fn(f,m,b),hc(f,b))}function Dne(f){var m=f.memoizedState,b=0;m!==null&&(b=m.retryLane),K_(f,b)}function Tne(f,m){var b=0;switch(f.tag){case 13:var k=f.stateNode,z=f.memoizedState;z!==null&&(b=z.retryLane);break;case 19:k=f.stateNode;break;default:throw Error(r(314))}k!==null&&k.delete(m),K_(f,b)}var Y_;Y_=function(f,m,b){if(f!==null)if(f.memoizedProps!==m.pendingProps||Rs.current)No=!0;else{if((f.lanes&b)===0&&(m.flags&128)===0)return No=!1,je(f,m,b);No=(f.flags&131072)!==0}else No=!1,Bn&&(m.flags&1048576)!==0&&Tr(m,ai,m.index);switch(m.lanes=0,m.tag){case 2:var k=m.type;Z(f,m),f=m.pendingProps;var z=ku(m,Ts.current);bf(m,b),z=Wc(null,m,k,f,z,b);var K=as();return m.flags|=1,typeof z=="object"&&z!==null&&typeof z.render=="function"&&z.$$typeof===void 0?(m.tag=1,m.memoizedState=null,m.updateQueue=null,Ps(k)?(K=!0,N(m)):K=!1,m.memoizedState=z.state!==null&&z.state!==void 0?z.state:null,Hc(m),z.updater=fA,m.stateNode=z,z._reactInternals=m,Wi(m,k,f,b),m=zu(null,m,k,!0,K,b)):(m.tag=0,Bn&&K&&Jr(m),ea(null,m,z,b),m=m.child),m;case 16:k=m.elementType;e:{switch(Z(f,m),f=m.pendingProps,z=k._init,k=z(k._payload),m.type=k,z=m.tag=Pne(k),f=Zc(k,f),z){case 0:m=Np(null,m,k,f,b);break e;case 1:m=Sp(null,m,k,f,b);break e;case 11:m=Qh(null,m,k,f,b);break e;case 14:m=Fh(null,m,k,Zc(k.type,f),b);break e}throw Error(r(306,k,""))}return m;case 0:return k=m.type,z=m.pendingProps,z=m.elementType===k?z:Zc(k,z),Np(f,m,k,z,b);case 1:return k=m.type,z=m.pendingProps,z=m.elementType===k?z:Zc(k,z),Sp(f,m,k,z,b);case 3:e:{if(Bp(m),f===null)throw Error(r(387));k=m.pendingProps,K=m.memoizedState,z=K.element,Sh(f,m),el(m,k,null,b);var fe=m.memoizedState;if(k=fe.element,K.isDehydrated)if(K={element:k,isDehydrated:!1,cache:fe.cache,pendingSuspenseBoundaries:fe.pendingSuspenseBoundaries,transitions:fe.transitions},m.updateQueue.baseState=K,m.memoizedState=K,m.flags&256){z=_n(Error(r(423)),m),m=xd(f,m,k,b,z);break e}else if(k!==z){z=_n(Error(r(424)),m),m=xd(f,m,k,b,z);break e}else for(pn=Co(m.stateNode.containerInfo.firstChild),Lr=m,Bn=!0,kn=null,b=fx(m,null,k,b),m.child=b;b;)b.flags=b.flags&-3|4096,b=b.sibling;else{if(Ih(),k===z){m=se(f,m,b);break e}ea(f,m,k,b)}m=m.child}return m;case 5:return Bh(m),f===null&&fd(m),k=m.type,z=m.pendingProps,K=f!==null?f.memoizedProps:null,fe=z.children,wh(k,z)?fe=null:K!==null&&wh(k,K)&&(m.flags|=32),pA(f,m),ea(f,m,fe,b),m.child;case 6:return f===null&&fd(m),null;case 13:return gA(f,m,b);case 4:return yp(m,m.stateNode.containerInfo),k=m.pendingProps,f===null?m.child=yl(m,null,k,b):ea(f,m,k,b),m.child;case 11:return k=m.type,z=m.pendingProps,z=m.elementType===k?z:Zc(k,z),Qh(f,m,k,z,b);case 7:return ea(f,m,m.pendingProps,b),m.child;case 8:return ea(f,m,m.pendingProps.children,b),m.child;case 12:return ea(f,m,m.pendingProps.children,b),m.child;case 10:e:{if(k=m.type._context,z=m.pendingProps,K=m.memoizedProps,fe=z.value,vi(rA,k._currentValue),k._currentValue=fe,K!==null)if(io(K.value,fe)){if(K.children===z.children&&!Rs.current){m=se(f,m,b);break e}}else for(K=m.child,K!==null&&(K.return=m);K!==null;){var ke=K.dependencies;if(ke!==null){fe=K.child;for(var Ue=ke.firstContext;Ue!==null;){if(Ue.context===k){if(K.tag===1){Ue=dc(-1,b&-b),Ue.tag=2;var At=K.updateQueue;if(At!==null){At=At.shared;var er=At.pending;er===null?Ue.next=Ue:(Ue.next=er.next,er.next=Ue),At.pending=Ue}}K.lanes|=b,Ue=K.alternate,Ue!==null&&(Ue.lanes|=b),Jo(K.return,b,m),ke.lanes|=b;break}Ue=Ue.next}}else if(K.tag===10)fe=K.type===m.type?null:K.child;else if(K.tag===18){if(fe=K.return,fe===null)throw Error(r(341));fe.lanes|=b,ke=fe.alternate,ke!==null&&(ke.lanes|=b),Jo(fe,b,m),fe=K.sibling}else fe=K.child;if(fe!==null)fe.return=K;else for(fe=K;fe!==null;){if(fe===m){fe=null;break}if(K=fe.sibling,K!==null){K.return=fe.return,fe=K;break}fe=fe.return}K=fe}ea(f,m,z.children,b),m=m.child}return m;case 9:return z=m.type,k=m.pendingProps.children,bf(m,b),z=Xo(z),k=k(z),m.flags|=1,ea(f,m,k,b),m.child;case 14:return k=m.type,z=Zc(k,m.pendingProps),z=Zc(k.type,z),Fh(f,m,k,z,b);case 15:return Xc(f,m,m.type,m.pendingProps,b);case 17:return k=m.type,z=m.pendingProps,z=m.elementType===k?z:Zc(k,z),Z(f,m),m.tag=1,Ps(k)?(f=!0,N(m)):f=!1,bf(m,b),C2(m,k,z),Wi(m,k,z,b),zu(null,m,k,!0,f,b);case 19:return U(f,m,b);case 22:return mA(f,m,b)}throw Error(r(156,m.tag))};function Z_(f,m){return Ma(f,m)}function Rne(f,m,b,k){this.tag=f,this.key=b,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=m,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=k,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Hu(f,m,b,k){return new Rne(f,m,b,k)}function KC(f){return f=f.prototype,!(!f||!f.isReactComponent)}function Pne(f){if(typeof f=="function")return KC(f)?1:0;if(f!=null){if(f=f.$$typeof,f===P)return 11;if(f===W)return 14}return 2}function Hh(f,m){var b=f.alternate;return b===null?(b=Hu(f.tag,m,f.key,f.mode),b.elementType=f.elementType,b.type=f.type,b.stateNode=f.stateNode,b.alternate=f,f.alternate=b):(b.pendingProps=m,b.type=f.type,b.flags=0,b.subtreeFlags=0,b.deletions=null),b.flags=f.flags&14680064,b.childLanes=f.childLanes,b.lanes=f.lanes,b.child=f.child,b.memoizedProps=f.memoizedProps,b.memoizedState=f.memoizedState,b.updateQueue=f.updateQueue,m=f.dependencies,b.dependencies=m===null?null:{lanes:m.lanes,firstContext:m.firstContext},b.sibling=f.sibling,b.index=f.index,b.ref=f.ref,b}function T2(f,m,b,k,z,K){var fe=2;if(k=f,typeof f=="function")KC(f)&&(fe=1);else if(typeof f=="string")fe=5;else e:switch(f){case R:return Pp(b.children,z,K,m);case T:fe=8,z|=8;break;case M:return f=Hu(12,b,m,z|2),f.elementType=M,f.lanes=K,f;case L:return f=Hu(13,b,m,z),f.elementType=L,f.lanes=K,f;case X:return f=Hu(19,b,m,z),f.elementType=X,f.lanes=K,f;case J:return R2(b,z,K,m);default:if(typeof f=="object"&&f!==null)switch(f.$$typeof){case O:fe=10;break e;case $:fe=9;break e;case P:fe=11;break e;case W:fe=14;break e;case G:fe=16,k=null;break e}throw Error(r(130,f==null?f:typeof f,""))}return m=Hu(fe,b,m,z),m.elementType=f,m.type=k,m.lanes=K,m}function Pp(f,m,b,k){return f=Hu(7,f,k,m),f.lanes=b,f}function R2(f,m,b,k){return f=Hu(22,f,k,m),f.elementType=J,f.lanes=b,f.stateNode={isHidden:!1},f}function YC(f,m,b){return f=Hu(6,f,null,m),f.lanes=b,f}function ZC(f,m,b){return m=Hu(4,f.children!==null?f.children:[],f.key,m),m.lanes=b,m.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},m}function Qne(f,m,b,k,z){this.tag=m,this.containerInfo=f,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rr(0),this.expirationTimes=Rr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rr(0),this.identifierPrefix=k,this.onRecoverableError=z,this.mutableSourceEagerHydrationData=null}function JC(f,m,b,k,z,K,fe,ke,Ue){return f=new Qne(f,m,b,ke,Ue),m===1?(m=1,K===!0&&(m|=8)):m=0,K=Hu(3,null,null,m),f.current=K,K.stateNode=f,K.memoizedState={element:k,isDehydrated:b,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hc(K),f}function Fne(f,m,b){var k=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),iI.exports=Kne(),iI.exports}var dD;function Yne(){if(dD)return U2;dD=1;var e=fO();return U2.createRoot=e.createRoot,U2.hydrateRoot=e.hydrateRoot,U2}var Zne=Yne(),_g=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Jne={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Xne=class{#t=Jne;#e=!1;setTimeoutProvider(e){this.#t=e}setTimeout(e,t){return this.#t.setTimeout(e,t)}clearTimeout(e){this.#t.clearTimeout(e)}setInterval(e,t){return this.#t.setInterval(e,t)}clearInterval(e){this.#t.clearInterval(e)}},qp=new Xne;function eie(e){setTimeout(e,0)}var fg=typeof window>"u"||"Deno"in globalThis;function Cl(){}function tie(e,t){return typeof e=="function"?e(t):e}function O3(e){return typeof e=="number"&&e>=0&&e!==1/0}function hO(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Am(e,t){return typeof e=="function"?e(t):e}function Yu(e,t){return typeof e=="function"?e(t):e}function fD(e,t){const{type:r="all",exact:n,fetchStatus:i,predicate:s,queryKey:o,stale:l}=e;if(o){if(n){if(t.queryHash!==C6(o,t.options))return!1}else if(!av(t.queryKey,o))return!1}if(r!=="all"){const c=t.isActive();if(r==="active"&&!c||r==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||i&&i!==t.state.fetchStatus||s&&!s(t))}function hD(e,t){const{exact:r,status:n,predicate:i,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(r){if(hg(t.options.mutationKey)!==hg(s))return!1}else if(!av(t.options.mutationKey,s))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function C6(e,t){return(t?.queryKeyHashFn||hg)(e)}function hg(e){return JSON.stringify(e,(t,r)=>L3(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function av(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>av(e[r],t[r])):!1}var rie=Object.prototype.hasOwnProperty;function I6(e,t){if(e===t)return e;const r=mD(e)&&mD(t);if(!r&&!(L3(e)&&L3(t)))return t;const i=(r?e:Object.keys(e)).length,s=r?t:Object.keys(t),o=s.length,l=r?new Array(o):{};let c=0;for(let d=0;d{qp.setTimeout(t,e)})}function M3(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?I6(e,t):t}function iie(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function aie(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var j6=Symbol();function mO(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===j6?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function pO(e,t){return typeof e=="function"?e(...t):!!e}function sie(e,t,r){let n=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e}var oie=class extends _g{#t;#e;#r;constructor(){super(),this.#r=e=>{if(!fg&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#e||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#r=e,this.#e?.(),this.#e=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#t!==e&&(this.#t=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},N6=new oie;function U3(){let e,t;const r=new Promise((i,s)=>{e=i,t=s});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}var lie=eie;function cie(){let e=[],t=0,r=l=>{l()},n=l=>{l()},i=lie;const s=l=>{t?e.push(l):i(()=>{r(l)})},o=()=>{const l=e;e=[],l.length&&i(()=>{n(()=>{l.forEach(c=>{r(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||o()}return c},batchCalls:l=>(...c)=>{s(()=>{l(...c)})},schedule:s,setNotifyFunction:l=>{r=l},setBatchNotifyFunction:l=>{n=l},setScheduler:l=>{i=l}}}var ds=cie(),uie=class extends _g{#t=!0;#e;#r;constructor(){super(),this.#r=e=>{if(!fg&&window.addEventListener){const t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#e||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#r=e,this.#e?.(),this.#e=e(this.setOnline.bind(this))}setOnline(e){this.#t!==e&&(this.#t=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#t}},J5=new uie;function die(e){return Math.min(1e3*2**e,3e4)}function gO(e){return(e??"online")==="online"?J5.isOnline():!0}var z3=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function AO(e){let t=!1,r=0,n;const i=U3(),s=()=>i.status!=="pending",o=v=>{if(!s()){const w=new z3(v);p(w),e.onCancel?.(w)}},l=()=>{t=!0},c=()=>{t=!1},d=()=>N6.isFocused()&&(e.networkMode==="always"||J5.isOnline())&&e.canRun(),u=()=>gO(e.networkMode)&&e.canRun(),h=v=>{s()||(n?.(),i.resolve(v))},p=v=>{s()||(n?.(),i.reject(v))},A=()=>new Promise(v=>{n=w=>{(s()||d())&&v(w)},e.onPause?.()}).then(()=>{n=void 0,s()||e.onContinue?.()}),y=()=>{if(s())return;let v;const w=r===0?e.initialPromise:void 0;try{v=w??e.fn()}catch(j){v=Promise.reject(j)}Promise.resolve(v).then(h).catch(j=>{if(s())return;const E=e.retry??(fg?0:3),S=e.retryDelay??die,_=typeof S=="function"?S(r,j):S,C=E===!0||typeof E=="number"&&rd()?void 0:A()).then(()=>{t?p(j):y()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(n?.(),i),cancelRetry:l,continueRetry:c,canStart:u,start:()=>(u()?y():A().then(y),i)}}var xO=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),O3(this.gcTime)&&(this.#t=qp.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(fg?1/0:300*1e3))}clearGcTimeout(){this.#t&&(qp.clearTimeout(this.#t),this.#t=void 0)}},fie=class extends xO{#t;#e;#r;#i;#n;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=AD(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const t=AD(this.options);t.data!==void 0&&(this.setState(gD(t.data,t.dataUpdatedAt)),this.#t=t)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,t){const r=M3(this.state.data,e,this.options);return this.#s({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#s({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#n?.promise;return this.#n?.cancel(e),t?t.then(Cl).catch(Cl):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#t)}isActive(){return this.observers.some(e=>Yu(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===j6||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Am(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!hO(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#n&&(this.#o?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#s({type:"invalidate"})}async fetch(e,t){if(this.state.fetchStatus!=="idle"&&this.#n?.status()!=="rejected"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){const l=this.observers.find(c=>c.options.queryFn);l&&this.setOptions(l.options)}const r=new AbortController,n=l=>{Object.defineProperty(l,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},i=()=>{const l=mO(this.options,t),d=(()=>{const u={client:this.#i,queryKey:this.queryKey,meta:this.meta};return n(u),u})();return this.#o=!1,this.options.persister?this.options.persister(l,d,this):l(d)},o=(()=>{const l={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return n(l),l})();this.options.behavior?.onFetch(o,this),this.#e=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#s({type:"fetch",meta:o.fetchOptions?.meta}),this.#n=AO({initialPromise:t?.initialPromise,fn:o.fetchFn,onCancel:l=>{l instanceof z3&&l.revert&&this.setState({...this.#e,fetchStatus:"idle"}),r.abort()},onFail:(l,c)=>{this.#s({type:"failed",failureCount:l,error:c})},onPause:()=>{this.#s({type:"pause"})},onContinue:()=>{this.#s({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0});try{const l=await this.#n.start();if(l===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(l),this.#r.config.onSuccess?.(l,this),this.#r.config.onSettled?.(l,this.state.error,this),l}catch(l){if(l instanceof z3){if(l.silent)return this.#n.promise;if(l.revert){if(this.state.data===void 0)throw l;return this.state.data}}throw this.#s({type:"error",error:l}),this.#r.config.onError?.(l,this),this.#r.config.onSettled?.(this.state.data,l,this),l}finally{this.scheduleGc()}}#s(e){const t=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...vO(r.data,this.options),fetchMeta:e.meta??null};case"success":const n={...r,...gD(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#e=e.manual?n:void 0,n;case"error":const i=e.error;return{...r,error:i,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=t(this.state),ds.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function vO(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:gO(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function gD(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function AD(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var S6=class extends _g{constructor(e,t){super(),this.options=t,this.#t=e,this.#s=null,this.#o=U3(),this.bindMethods(),this.setOptions(t)}#t;#e=void 0;#r=void 0;#i=void 0;#n;#a;#o;#s;#h;#d;#f;#c;#u;#l;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),xD(this.#e,this.options)?this.#m():this.updateResult(),this.#v())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return $3(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return $3(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#y(),this.#b(),this.#e.removeObserver(this)}setOptions(e){const t=this.options,r=this.#e;if(this.options=this.#t.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Yu(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#w(),this.#e.setOptions(this.options),t._defaulted&&!sv(this.options,t)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const n=this.hasListeners();n&&vD(this.#e,r,this.options,t)&&this.#m(),this.updateResult(),n&&(this.#e!==r||Yu(this.options.enabled,this.#e)!==Yu(t.enabled,this.#e)||Am(this.options.staleTime,this.#e)!==Am(t.staleTime,this.#e))&&this.#g();const i=this.#A();n&&(this.#e!==r||Yu(this.options.enabled,this.#e)!==Yu(t.enabled,this.#e)||i!==this.#l)&&this.#x(i)}getOptimisticResult(e){const t=this.#t.getQueryCache().build(this.#t,e),r=this.createResult(t,e);return mie(this,r)&&(this.#i=r,this.#a=this.options,this.#n=this.#e.state),r}getCurrentResult(){return this.#i}trackResult(e,t){return new Proxy(e,{get:(r,n)=>(this.trackProp(n),t?.(n),n==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#o.status==="pending"&&this.#o.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#e}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#t.defaultQueryOptions(e),r=this.#t.getQueryCache().build(this.#t,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#i))}#m(e){this.#w();let t=this.#e.fetch(this.options,e);return e?.throwOnError||(t=t.catch(Cl)),t}#g(){this.#y();const e=Am(this.options.staleTime,this.#e);if(fg||this.#i.isStale||!O3(e))return;const r=hO(this.#i.dataUpdatedAt,e)+1;this.#c=qp.setTimeout(()=>{this.#i.isStale||this.updateResult()},r)}#A(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#x(e){this.#b(),this.#l=e,!(fg||Yu(this.options.enabled,this.#e)===!1||!O3(this.#l)||this.#l===0)&&(this.#u=qp.setInterval(()=>{(this.options.refetchIntervalInBackground||N6.isFocused())&&this.#m()},this.#l))}#v(){this.#g(),this.#x(this.#A())}#y(){this.#c&&(qp.clearTimeout(this.#c),this.#c=void 0)}#b(){this.#u&&(qp.clearInterval(this.#u),this.#u=void 0)}createResult(e,t){const r=this.#e,n=this.options,i=this.#i,s=this.#n,o=this.#a,c=e!==r?e.state:this.#r,{state:d}=e;let u={...d},h=!1,p;if(t._optimisticResults){const T=this.hasListeners(),M=!T&&xD(e,t),O=T&&vD(e,r,t,n);(M||O)&&(u={...u,...vO(d.data,e.options)}),t._optimisticResults==="isRestoring"&&(u.fetchStatus="idle")}let{error:A,errorUpdatedAt:y,status:v}=u;p=u.data;let w=!1;if(t.placeholderData!==void 0&&p===void 0&&v==="pending"){let T;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(T=i.data,w=!0):T=typeof t.placeholderData=="function"?t.placeholderData(this.#f?.state.data,this.#f):t.placeholderData,T!==void 0&&(v="success",p=M3(i?.data,T,t),h=!0)}if(t.select&&p!==void 0&&!w)if(i&&p===s?.data&&t.select===this.#h)p=this.#d;else try{this.#h=t.select,p=t.select(p),p=M3(i?.data,p,t),this.#d=p,this.#s=null}catch(T){this.#s=T}this.#s&&(A=this.#s,p=this.#d,y=Date.now(),v="error");const j=u.fetchStatus==="fetching",E=v==="pending",S=v==="error",_=E&&j,C=p!==void 0,R={status:v,fetchStatus:u.fetchStatus,isPending:E,isSuccess:v==="success",isError:S,isInitialLoading:_,isLoading:_,data:p,dataUpdatedAt:u.dataUpdatedAt,error:A,errorUpdatedAt:y,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:u.dataUpdateCount>0||u.errorUpdateCount>0,isFetchedAfterMount:u.dataUpdateCount>c.dataUpdateCount||u.errorUpdateCount>c.errorUpdateCount,isFetching:j,isRefetching:j&&!E,isLoadingError:S&&!C,isPaused:u.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:S&&C,isStale:B6(e,t),refetch:this.refetch,promise:this.#o,isEnabled:Yu(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const T=$=>{R.status==="error"?$.reject(R.error):R.data!==void 0&&$.resolve(R.data)},M=()=>{const $=this.#o=R.promise=U3();T($)},O=this.#o;switch(O.status){case"pending":e.queryHash===r.queryHash&&T(O);break;case"fulfilled":(R.status==="error"||R.data!==O.value)&&M();break;case"rejected":(R.status!=="error"||R.error!==O.reason)&&M();break}}return R}updateResult(){const e=this.#i,t=this.createResult(this.#e,this.options);if(this.#n=this.#e.state,this.#a=this.options,this.#n.data!==void 0&&(this.#f=this.#e),sv(t,e))return;this.#i=t;const r=()=>{if(!e)return!0;const{notifyOnChangeProps:n}=this.options,i=typeof n=="function"?n():n;if(i==="all"||!i&&!this.#p.size)return!0;const s=new Set(i??this.#p);return this.options.throwOnError&&s.add("error"),Object.keys(this.#i).some(o=>{const l=o;return this.#i[l]!==e[l]&&s.has(l)})};this.#E({listeners:r()})}#w(){const e=this.#t.getQueryCache().build(this.#t,this.options);if(e===this.#e)return;const t=this.#e;this.#e=e,this.#r=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#v()}#E(e){ds.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#i)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function hie(e,t){return Yu(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function xD(e,t){return hie(e,t)||e.state.data!==void 0&&$3(e,t,t.refetchOnMount)}function $3(e,t,r){if(Yu(t.enabled,e)!==!1&&Am(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&B6(e,t)}return!1}function vD(e,t,r,n){return(e!==t||Yu(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&B6(e,r)}function B6(e,t){return Yu(t.enabled,e)!==!1&&e.isStaleByTime(Am(t.staleTime,e))}function mie(e,t){return!sv(e.getCurrentResult(),t)}function yD(e){return{onFetch:(t,r)=>{const n=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],o=t.state.data?.pageParams||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let u=!1;const h=y=>{sie(y,()=>t.signal,()=>u=!0)},p=mO(t.options,t.fetchOptions),A=async(y,v,w)=>{if(u)return Promise.reject();if(v==null&&y.pages.length)return Promise.resolve(y);const E=(()=>{const Q={client:t.client,queryKey:t.queryKey,pageParam:v,direction:w?"backward":"forward",meta:t.options.meta};return h(Q),Q})(),S=await p(E),{maxPages:_}=t.options,C=w?aie:iie;return{pages:C(y.pages,S,_),pageParams:C(y.pageParams,v,_)}};if(i&&s.length){const y=i==="backward",v=y?pie:bD,w={pages:s,pageParams:o},j=v(n,w);l=await A(w,j,y)}else{const y=e??s.length;do{const v=c===0?o[0]??n.initialPageParam:bD(n,l);if(c>0&&v==null)break;l=await A(l,v),c++}while(ct.options.persister?.(d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=d}}}function bD(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function pie(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}var gie=class extends xO{#t;#e;#r;#i;constructor(e){super(),this.#t=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#e=[],this.state=e.state||yO(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#r.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#n({type:"continue"})},r={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#i=AO({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(s,o)=>{this.#n({type:"failed",failureCount:s,error:o})},onPause:()=>{this.#n({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});const n=this.state.status==="pending",i=!this.#i.canStart();try{if(n)t();else{this.#n({type:"pending",variables:e,isPaused:i}),await this.#r.config.onMutate?.(e,this,r);const o=await this.options.onMutate?.(e,r);o!==this.state.context&&this.#n({type:"pending",context:o,variables:e,isPaused:i})}const s=await this.#i.start();return await this.#r.config.onSuccess?.(s,e,this.state.context,this,r),await this.options.onSuccess?.(s,e,this.state.context,r),await this.#r.config.onSettled?.(s,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(s,null,e,this.state.context,r),this.#n({type:"success",data:s}),s}catch(s){try{throw await this.#r.config.onError?.(s,e,this.state.context,this,r),await this.options.onError?.(s,e,this.state.context,r),await this.#r.config.onSettled?.(void 0,s,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,s,e,this.state.context,r),s}finally{this.#n({type:"error",error:s})}}finally{this.#r.runNext(this)}}#n(e){const t=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),ds.batch(()=>{this.#e.forEach(r=>{r.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function yO(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Aie=class extends _g{constructor(e={}){super(),this.config=e,this.#t=new Set,this.#e=new Map,this.#r=0}#t;#e;#r;build(e,t,r){const n=new gie({client:e,mutationCache:this,mutationId:++this.#r,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#t.add(e);const t=z2(e);if(typeof t=="string"){const r=this.#e.get(t);r?r.push(e):this.#e.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#t.delete(e)){const t=z2(e);if(typeof t=="string"){const r=this.#e.get(t);if(r)if(r.length>1){const n=r.indexOf(e);n!==-1&&r.splice(n,1)}else r[0]===e&&this.#e.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=z2(e);if(typeof t=="string"){const n=this.#e.get(t)?.find(i=>i.state.status==="pending");return!n||n===e}else return!0}runNext(e){const t=z2(e);return typeof t=="string"?this.#e.get(t)?.find(n=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){ds.batch(()=>{this.#t.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(e){const t={exact:!0,...e};return this.getAll().find(r=>hD(t,r))}findAll(e={}){return this.getAll().filter(t=>hD(e,t))}notify(e){ds.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return ds.batch(()=>Promise.all(e.map(t=>t.continue().catch(Cl))))}};function z2(e){return e.options.scope?.id}var xie=class extends _g{#t;#e=void 0;#r;#i;constructor(t,r){super(),this.#t=t,this.setOptions(r),this.bindMethods(),this.#n()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const r=this.options;this.options=this.#t.defaultMutationOptions(t),sv(this.options,r)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#r,observer:this}),r?.mutationKey&&this.options.mutationKey&&hg(r.mutationKey)!==hg(this.options.mutationKey)?this.reset():this.#r?.state.status==="pending"&&this.#r.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#r?.removeObserver(this)}onMutationUpdate(t){this.#n(),this.#a(t)}getCurrentResult(){return this.#e}reset(){this.#r?.removeObserver(this),this.#r=void 0,this.#n(),this.#a()}mutate(t,r){return this.#i=r,this.#r?.removeObserver(this),this.#r=this.#t.getMutationCache().build(this.#t,this.options),this.#r.addObserver(this),this.#r.execute(t)}#n(){const t=this.#r?.state??yO();this.#e={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#a(t){ds.batch(()=>{if(this.#i&&this.hasListeners()){const r=this.#e.variables,n=this.#e.context,i={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};t?.type==="success"?(this.#i.onSuccess?.(t.data,r,n,i),this.#i.onSettled?.(t.data,null,r,n,i)):t?.type==="error"&&(this.#i.onError?.(t.error,r,n,i),this.#i.onSettled?.(void 0,t.error,r,n,i))}this.listeners.forEach(r=>{r(this.#e)})})}};function wD(e,t){const r=new Set(t);return e.filter(n=>!r.has(n))}function vie(e,t,r){const n=e.slice(0);return n[t]=r,n}var yie=class extends _g{#t;#e;#r;#i;#n;#a;#o;#s;#h=[];constructor(e,t,r){super(),this.#t=e,this.#i=r,this.#r=[],this.#n=[],this.#e=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#n.forEach(e=>{e.subscribe(t=>{this.#u(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#n.forEach(e=>{e.destroy()})}setQueries(e,t){this.#r=e,this.#i=t,ds.batch(()=>{const r=this.#n,n=this.#c(this.#r);this.#h=n,n.forEach(u=>u.observer.setOptions(u.defaultedQueryOptions));const i=n.map(u=>u.observer),s=i.map(u=>u.getCurrentResult()),o=r.length!==i.length,l=i.some((u,h)=>u!==r[h]),c=o||l,d=c?!0:s.some((u,h)=>{const p=this.#e[h];return!p||!sv(u,p)});!c&&!d||(c&&(this.#n=i),this.#e=s,this.hasListeners()&&(c&&(wD(r,i).forEach(u=>{u.destroy()}),wD(i,r).forEach(u=>{u.subscribe(h=>{this.#u(u,h)})})),this.#l()))})}getCurrentResult(){return this.#e}getQueries(){return this.#n.map(e=>e.getCurrentQuery())}getObservers(){return this.#n}getOptimisticResult(e,t){const r=this.#c(e),n=r.map(i=>i.observer.getOptimisticResult(i.defaultedQueryOptions));return[n,i=>this.#f(i??n,t),()=>this.#d(n,r)]}#d(e,t){return t.map((r,n)=>{const i=e[n];return r.defaultedQueryOptions.notifyOnChangeProps?i:r.observer.trackResult(i,s=>{t.forEach(o=>{o.observer.trackProp(s)})})})}#f(e,t){return t?((!this.#a||this.#e!==this.#s||t!==this.#o)&&(this.#o=t,this.#s=this.#e,this.#a=I6(this.#a,t(e))),this.#a):e}#c(e){const t=new Map;this.#n.forEach(n=>{const i=n.options.queryHash;if(!i)return;const s=t.get(i);s?s.push(n):t.set(i,[n])});const r=[];return e.forEach(n=>{const i=this.#t.defaultQueryOptions(n),o=t.get(i.queryHash)?.shift()??new S6(this.#t,i);r.push({defaultedQueryOptions:i,observer:o})}),r}#u(e,t){const r=this.#n.indexOf(e);r!==-1&&(this.#e=vie(this.#e,r,t),this.#l())}#l(){if(this.hasListeners()){const e=this.#a,t=this.#d(this.#e,this.#h),r=this.#f(t,this.#i?.combine);e!==r&&ds.batch(()=>{this.listeners.forEach(n=>{n(this.#e)})})}}},bie=class extends _g{constructor(e={}){super(),this.config=e,this.#t=new Map}#t;build(e,t,r){const n=t.queryKey,i=t.queryHash??C6(n,t);let s=this.get(i);return s||(s=new fie({client:e,queryKey:n,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(n)}),this.add(s)),s}add(e){this.#t.has(e.queryHash)||(this.#t.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#t.get(e.queryHash);t&&(e.destroy(),t===e&&this.#t.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){ds.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#t.get(e)}getAll(){return[...this.#t.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(r=>fD(t,r))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(r=>fD(e,r)):t}notify(e){ds.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ds.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ds.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},wie=class{#t;#e;#r;#i;#n;#a;#o;#s;constructor(e={}){this.#t=e.queryCache||new bie,this.#e=e.mutationCache||new Aie,this.#r=e.defaultOptions||{},this.#i=new Map,this.#n=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=N6.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#s=J5.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#t.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#t.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#e.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#t.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=this.#t.build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(Am(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return this.#t.findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),s=this.#t.get(n.queryHash)?.state.data,o=tie(t,s);if(o!==void 0)return this.#t.build(this,n).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return ds.batch(()=>this.#t.findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#t.get(t.queryHash)?.state}removeQueries(e){const t=this.#t;ds.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=this.#t;return ds.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=ds.batch(()=>this.#t.findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(Cl).catch(Cl)}invalidateQueries(e,t={}){return ds.batch(()=>(this.#t.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=ds.batch(()=>this.#t.findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,r);return r.throwOnError||(s=s.catch(Cl)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(n).then(Cl)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=this.#t.build(this,t);return r.isStaleByTime(Am(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Cl).catch(Cl)}fetchInfiniteQuery(e){return e.behavior=yD(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Cl).catch(Cl)}ensureInfiniteQueryData(e){return e.behavior=yD(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return J5.isOnline()?this.#e.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#t}getMutationCache(){return this.#e}getDefaultOptions(){return this.#r}setDefaultOptions(e){this.#r=e}setQueryDefaults(e,t){this.#i.set(hg(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#i.values()],r={};return t.forEach(n=>{av(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){this.#n.set(hg(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#n.values()],r={};return t.forEach(n=>{av(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#r.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=C6(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===j6&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#r.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#t.clear(),this.#e.clear()}},I=o4();const Za=ma(I),l4=dO({__proto__:null,default:Za},[I]);var bO=I.createContext(void 0),eo=e=>{const t=I.useContext(bO);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Eie=({client:e,children:t})=>(I.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),a.jsx(bO.Provider,{value:e,children:t})),wO=I.createContext(!1),EO=()=>I.useContext(wO);wO.Provider;function Cie(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Iie=I.createContext(Cie()),CO=()=>I.useContext(Iie),IO=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},jO=e=>{I.useEffect(()=>{e.clearReset()},[e])},NO=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||pO(r,[e.error,n])),SO=e=>{if(e.suspense){const r=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>r(n(...i)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},BO=(e,t)=>e.isLoading&&e.isFetching&&!t,H3=(e,t)=>e?.suspense&&t.isPending,X5=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function kO({queries:e,...t},r){const n=eo(),i=EO(),s=CO(),o=I.useMemo(()=>e.map(v=>{const w=n.defaultQueryOptions(v);return w._optimisticResults=i?"isRestoring":"optimistic",w}),[e,n,i]);o.forEach(v=>{SO(v),IO(v,s)}),jO(s);const[l]=I.useState(()=>new yie(n,o,t)),[c,d,u]=l.getOptimisticResult(o,t.combine),h=!i&&t.subscribed!==!1;I.useSyncExternalStore(I.useCallback(v=>h?l.subscribe(ds.batchCalls(v)):Cl,[l,h]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),I.useEffect(()=>{l.setQueries(o,t)},[o,t,l]);const A=c.some((v,w)=>H3(o[w],v))?c.flatMap((v,w)=>{const j=o[w];if(j){const E=new S6(n,j);if(H3(j,v))return X5(j,E,s);BO(v,i)&&X5(j,E,s)}return[]}):[];if(A.length>0)throw Promise.all(A);const y=c.find((v,w)=>{const j=o[w];return j&&NO({result:v,errorResetBoundary:s,throwOnError:j.throwOnError,query:n.getQueryCache().get(j.queryHash),suspense:j.suspense})});if(y?.error)throw y.error;return d(u())}function jie(e,t,r){const n=EO(),i=CO(),s=eo(),o=s.defaultQueryOptions(e);s.getDefaultOptions().queries?._experimental_beforeQuery?.(o),o._optimisticResults=n?"isRestoring":"optimistic",SO(o),IO(o,i),jO(i);const l=!s.getQueryCache().get(o.queryHash),[c]=I.useState(()=>new t(s,o)),d=c.getOptimisticResult(o),u=!n&&e.subscribed!==!1;if(I.useSyncExternalStore(I.useCallback(h=>{const p=u?c.subscribe(ds.batchCalls(h)):Cl;return c.updateResult(),p},[c,u]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),I.useEffect(()=>{c.setOptions(o)},[o,c]),H3(o,d))throw X5(o,c,i);if(NO({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s.getQueryCache().get(o.queryHash),suspense:o.suspense}))throw d.error;return s.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!fg&&BO(d,n)&&(l?X5(o,c,i):s.getQueryCache().get(o.queryHash)?.promise)?.catch(Cl).finally(()=>{c.updateResult()}),o.notifyOnChangeProps?d:c.trackResult(d)}function cr(e,t){return jie(e,S6)}function Nie(e,t){const r=eo(),n=r.getQueryCache();return I.useSyncExternalStore(I.useCallback(i=>n.subscribe(ds.batchCalls(i)),[n]),()=>r.isFetching(e),()=>r.isFetching(e))}function _r(e,t){const r=eo(),[n]=I.useState(()=>new xie(r,e));I.useEffect(()=>{n.setOptions(e)},[n,e]);const i=I.useSyncExternalStore(I.useCallback(o=>n.subscribe(ds.batchCalls(o)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),s=I.useCallback((o,l)=>{n.mutate(o,l).catch(Cl)},[n]);if(i.error&&pO(n.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:s,mutateAsync:i.mutate}}function Sie(){const e="https://apiparcapp.jrbxsolutions.com";if(e.trim()===""){const t="VITE_API_BASE_URL ou VITE_API_URL manquant : API non configurée. Veuillez définir cette variable d'environnement.";throw console.error("❌ ERREUR CRITIQUE:",t),new Error(t)}return e}function $s(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;const t=Sie(),r=e.startsWith("/")?e:`/${e}`;if(!t||t.trim()==="")throw new Error("VITE_API_BASE_URL manquant : API non configurée pour la production.");return`${t.endsWith("/")?t.slice(0,-1):t}${r}`}const Bie=Object.freeze(Object.defineProperty({__proto__:null,apiUrl:$s},Symbol.toStringTag,{value:"Module"}));async function _O(e){if(!e.ok){const t=e.clone();let r=e.statusText,n=null;try{const s=e.headers.get("content-type");if(s&&s.includes("application/json")){const o=await t.json();if(n=o,o.errors&&typeof o.errors=="object"){const l=[];for(const[c,d]of Object.entries(o.errors))Array.isArray(d)?l.push(`${c}: ${d.join(", ")}`):l.push(`${c}: ${String(d)}`);l.length>0?r=`${o.message||"Erreur de validation"} ${l.join(` `)}`:r=o.message||o.error||JSON.stringify(o)}else r=o.detail||o.message||o.error||JSON.stringify(o)}else{const o=await t.text();o.trim().startsWith("async({queryKey:t})=>{const r=t.join("/"),n=r.startsWith("http")?r:$s(r),i=localStorage.getItem("parcapp_token"),s={};i&&(s.Authorization=`Bearer ${i}`);let o;try{o=await fetch(n,{headers:s,credentials:"include"})}catch(l){const c=l instanceof Error?l.message:"Erreur de connexion réseau";throw c.includes("timeout")||c.includes("TIMED_OUT")?new Error("La connexion au serveur a expiré. Vérifiez votre connexion réseau."):c.includes("refused")||c.includes("REFUSED")?new Error("Impossible de se connecter au serveur. Vérifiez que l'API est accessible."):c.includes("Failed to fetch")||c.includes("ERR_NETWORK")||c.includes("ERR_HTTP2")?new Error("Erreur de connexion réseau. Veuillez réessayer."):new Error(`Erreur de connexion: ${c}`)}return await _O(o),await o.json()},jt=new wie({defaultOptions:{queries:{queryFn:um({on401:"throw"}),refetchInterval:!1,refetchOnWindowFocus:!0,refetchOnReconnect:!0,staleTime:0,retry:!1},mutations:{retry:!1}}}),DO=Object.freeze(Object.defineProperty({__proto__:null,apiRequest:$t,getQueryFn:um,queryClient:jt},Symbol.toStringTag,{value:"Module"}));function kie(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var r,n,i,s,o=[],l="",c=e.split("/");for(c[0]||c.shift();i=c.shift();)r=i[0],r==="*"?(o.push(r),l+=i[1]==="?"?"(?:/(.*))?":"/(.*)"):r===":"?(n=i.indexOf("?",1),s=i.indexOf(".",1),o.push(i.substring(1,~n?n:~s?s:i.length)),l+=~n&&!~s?"(?:/([^/]+?))?":"/([^/]+?)",~s&&(l+=(~n?"?":"")+"\\"+i.substring(s))):l+="/"+i;return{keys:o,pattern:new RegExp("^"+l+(t?"(?=$|/)":"/?$"),"i")}}var oI={exports:{}},lI={};var ED;function _ie(){if(ED)return lI;ED=1;var e=o4();function t(h,p){return h===p&&(h!==0||1/h===1/p)||h!==h&&p!==p}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,s=e.useLayoutEffect,o=e.useDebugValue;function l(h,p){var A=p(),y=n({inst:{value:A,getSnapshot:p}}),v=y[0].inst,w=y[1];return s(function(){v.value=A,v.getSnapshot=p,c(v)&&w({inst:v})},[h,A,p]),i(function(){return c(v)&&w({inst:v}),h(function(){c(v)&&w({inst:v})})},[h]),o(A),A}function c(h){var p=h.getSnapshot;h=h.value;try{var A=p();return!r(h,A)}catch{return!0}}function d(h,p){return p()}var u=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:l;return lI.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:u,lI}var CD;function Die(){return CD||(CD=1,oI.exports=_ie()),oI.exports}var TO=Die();const Tie=l4.useInsertionEffect,Rie=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Pie=Rie?I.useLayoutEffect:I.useEffect,Qie=Tie||Pie,RO=e=>{const t=I.useRef([e,(...r)=>t[0](...r)]).current;return Qie(()=>{t[0]=e}),t[1]},Fie="popstate",k6="pushState",_6="replaceState",Oie="hashchange",ID=[Fie,k6,_6,Oie],Lie=e=>{for(const t of ID)addEventListener(t,e);return()=>{for(const t of ID)removeEventListener(t,e)}},PO=(e,t)=>TO.useSyncExternalStore(Lie,e,t),jD=()=>location.search,Mie=({ssrSearch:e}={})=>PO(jD,e!=null?()=>e:jD),ND=()=>location.pathname,Uie=({ssrPath:e}={})=>PO(ND,e!=null?()=>e:ND),zie=(e,{replace:t=!1,state:r=null}={})=>history[t?_6:k6](r,"",e),$ie=(e={})=>[Uie(e),zie],SD=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[SD]>"u"){for(const e of[k6,_6]){const t=history[e];history[e]=function(){const r=t.apply(this,arguments),n=new Event(e);return n.arguments=arguments,dispatchEvent(n),r}}Object.defineProperty(window,SD,{value:!0})}const Hie=(e,t)=>t.toLowerCase().indexOf(e.toLowerCase())?"~"+t:t.slice(e.length)||"/",QO=(e="")=>e==="/"?"":e,qie=(e,t)=>e[0]==="~"?e.slice(1):QO(t)+e,Gie=(e="",t)=>Hie(BD(QO(e)),BD(t)),BD=e=>{try{return decodeURI(e)}catch{return e}},FO={hook:$ie,searchHook:Mie,parser:kie,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:e=>e,aroundNav:(e,t,r)=>e(t,r)},OO=I.createContext(FO),O1=()=>I.useContext(OO),LO={},MO=I.createContext(LO),Vie=()=>I.useContext(MO),c4=e=>{const[t,r]=e.hook(e);return[Gie(e.base,t),RO((n,i)=>e.aroundNav(r,qie(n,e.base),i))]},Gi=()=>c4(O1()),D6=(e,t,r,n)=>{const{pattern:i,keys:s}=t instanceof RegExp?{keys:!1,pattern:t}:e(t||"*",n),o=i.exec(r)||[],[l,...c]=o;return l!==void 0?[!0,(()=>{const d=s!==!1?Object.fromEntries(s.map((h,p)=>[h,c[p]])):o.groups;let u={...c};return d&&Object.assign(u,d),u})(),...n?[l]:[]]:[!1,null]},mg=e=>D6(O1().parser,e,Gi()[0]),Wie=({children:e,...t})=>{const r=O1(),n=t.hook?FO:r;let i=n;const[s,o=t.ssrSearch??""]=t.ssrPath?.split("?")??[];s&&(t.ssrSearch=o,t.ssrPath=s),t.hrefs=t.hrefs??t.hook?.hrefs,t.searchHook=t.searchHook??t.hook?.searchHook;let l=I.useRef({}),c=l.current,d=c;for(let u in n){const h=u==="base"?n[u]+(t[u]??""):t[u]??n[u];c===d&&h!==d[u]&&(l.current=d={...d}),d[u]=h,(h!==n[u]||h!==i[u])&&(i=d)}return I.createElement(OO.Provider,{value:i,children:e})},kD=({children:e,component:t},r)=>t?I.createElement(t,{params:r}):typeof e=="function"?e(r):e,Kie=e=>{let t=I.useRef(LO);const r=t.current;return t.current=Object.keys(e).length!==Object.keys(r).length||Object.entries(e).some(([n,i])=>i!==r[n])?e:r},ta=({path:e,nest:t,match:r,...n})=>{const i=O1(),[s]=c4(i),[o,l,c]=r??D6(i.parser,e,s,t),d=Kie({...Vie(),...l});if(!o)return null;const u=c?I.createElement(Wie,{base:c},kD(n,d)):kD(n,d);return I.createElement(MO.Provider,{value:d,children:u})},jm=I.forwardRef((e,t)=>{const r=O1(),[n,i]=c4(r),{to:s="",href:o=s,onClick:l,asChild:c,children:d,className:u,replace:h,state:p,transition:A,...y}=e,v=RO(j=>{j.ctrlKey||j.metaKey||j.altKey||j.shiftKey||j.button!==0||(l?.(j),j.defaultPrevented||(j.preventDefault(),i(o,e)))}),w=r.hrefs(o[0]==="~"?o.slice(1):r.base+o,r);return c&&I.isValidElement(d)?I.cloneElement(d,{onClick:v,href:w}):I.createElement("a",{...y,onClick:v,href:w,className:u?.call?u(n===o):u,children:d,ref:t})}),UO=e=>Array.isArray(e)?e.flatMap(t=>UO(t&&t.type===I.Fragment?t.props.children:t)):[e],Yie=({children:e,location:t})=>{const r=O1(),[n]=c4(r);for(const i of UO(e)){let s=0;if(I.isValidElement(i)&&(s=D6(r.parser,i.props.path,t||n,i.props.nest))[0])return I.cloneElement(i,{match:s})}return null},Zie=1,Jie=1e6;let cI=0;function Xie(){return cI=(cI+1)%Number.MAX_SAFE_INTEGER,cI.toString()}const uI=new Map,_D=e=>{if(uI.has(e))return;const t=setTimeout(()=>{uI.delete(e),Gx({type:"REMOVE_TOAST",toastId:e})},Jie);uI.set(e,t)},eae=(e,t)=>{let r={toasts:[]};try{e&&typeof e=="object"&&e!==null?"toasts"in e&&Array.isArray(e.toasts)?r=e:r={toasts:[]}:r={toasts:[]}}catch(i){console.warn("Error in reducer state validation:",i),r={toasts:[]}}let n=[];try{if(r&&typeof r=="object"&&r!==null&&"toasts"in r){const i=r.toasts;Array.isArray(i)&&(n=i)}}catch(i){console.warn("Error getting safe toasts:",i),n=[]}switch(t.type){case"ADD_TOAST":return{...r,toasts:[t.toast,...n].slice(0,Zie)};case"UPDATE_TOAST":return{...r,toasts:n.map(i=>i.id===t.toast.id?{...i,...t.toast}:i)};case"DISMISS_TOAST":{const{toastId:i}=t;return i?_D(i):n.forEach(s=>{_D(s.id)}),{...r,toasts:n.map(s=>s.id===i||i===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return t.toastId===void 0?{...r,toasts:[]}:{...r,toasts:n.filter(i=>i.id!==t.toastId)}}},tae=(()=>{let e=[];return{get:()=>(Array.isArray(e)||(e=[]),e),set:t=>{e=t}}})(),DA=(()=>{let e={toasts:[]};return{get:()=>((!e||typeof e!="object"||!e.toasts||!Array.isArray(e.toasts))&&(e={toasts:[]}),e),set:t=>{t&&typeof t=="object"&&t.toasts&&Array.isArray(t.toasts)?e=t:e={toasts:[]}}}})();function q3(){return tae.get()}function zO(){const e={toasts:[]};try{const t=DA.get();if(!t||typeof t!="object"||t===null||!("toasts"in t))return DA.set(e),e;const r=t.toasts;return Array.isArray(r)?t:(DA.set(e),e)}catch(t){return console.warn("Error getting memory state:",t),DA.set(e),e}}function $2(e){DA.set(e)}function Gx(e){try{const t=zO();if(!t||typeof t!="object"||t===null||!("toasts"in t)){console.warn("Invalid currentState in dispatch, using empty state"),$2({toasts:[]});return}const r=eae(t,e);if(!r||typeof r!="object"||r===null||!("toasts"in r)||!Array.isArray(r.toasts)){console.warn("Invalid newState from reducer, using empty state"),$2({toasts:[]});return}$2(r);const n=q3();Array.isArray(n)&&n.forEach(i=>{try{i(r)}catch(s){console.warn("Error calling toast listener:",s)}})}catch(t){console.error("Error in dispatch:",t),$2({toasts:[]})}}function rae({...e}){try{const t=Xie(),r=i=>{try{Gx({type:"UPDATE_TOAST",toast:{...i,id:t}})}catch(s){console.warn("Error updating toast:",s)}},n=()=>{try{Gx({type:"DISMISS_TOAST",toastId:t})}catch(i){console.warn("Error dismissing toast:",i)}};try{Gx({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:i=>{i||n()}}})}catch(i){console.warn("Error adding toast:",i)}return{id:t,dismiss:n,update:r}}catch(t){return console.error("Error in toast function:",t),{id:"",dismiss:()=>{},update:()=>{}}}}function Er(){const[e,t]=I.useState({toasts:[]});return I.useEffect(()=>{try{const i=zO();i&&typeof i=="object"&&i!==null&&"toasts"in i&&Array.isArray(i.toasts)&&t(i)}catch{}const n=t;try{const i=q3();if(Array.isArray(i))return i.push(n),()=>{try{const s=q3();if(Array.isArray(s)){const o=s.indexOf(n);o>-1&&s.splice(o,1)}}catch{}}}catch{}},[]),{toasts:e&&typeof e=="object"&&e!==null&&"toasts"in e&&Array.isArray(e.toasts)?e.toasts:[],toast:rae,dismiss:n=>{try{Gx({type:"DISMISS_TOAST",toastId:n})}catch{}}}}var L1=fO();const nae=ma(L1);function yr(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e?.(i),r===!1||!i.defaultPrevented)return t?.(i)}}function DD(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function rh(...e){return t=>{let r=!1;const n=e.map(i=>{const s=DD(i,t);return!r&&typeof s=="function"&&(r=!0),s});if(r)return()=>{for(let i=0;i{const{children:o,...l}=s,c=I.useMemo(()=>l,Object.values(l));return a.jsx(r.Provider,{value:c,children:o})};n.displayName=e+"Provider";function i(s){const o=I.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[n,i]}function Sc(e,t=[]){let r=[];function n(s,o){const l=I.createContext(o),c=r.length;r=[...r,o];const d=h=>{const{scope:p,children:A,...y}=h,v=p?.[e]?.[c]||l,w=I.useMemo(()=>y,Object.values(y));return a.jsx(v.Provider,{value:w,children:A})};d.displayName=s+"Provider";function u(h,p){const A=p?.[e]?.[c]||l,y=I.useContext(A);if(y)return y;if(o!==void 0)return o;throw new Error(`\`${h}\` must be used within \`${s}\``)}return[d,u]}const i=()=>{const s=r.map(o=>I.createContext(o));return function(l){const c=l?.[e]||s;return I.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return i.scopeName=e,[n,aae(i,...t)]}function aae(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(s){const o=n.reduce((l,{useScope:c,scopeName:d})=>{const h=c(s)[`__scope${d}`];return{...l,...h}},{});return I.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}function TD(e){const t=sae(e),r=I.forwardRef((n,i)=>{const{children:s,...o}=n,l=I.Children.toArray(s),c=l.find(lae);if(c){const d=c.props.children,u=l.map(h=>h===c?I.Children.count(d)>1?I.Children.only(null):I.isValidElement(d)?d.props.children:null:h);return a.jsx(t,{...o,ref:i,children:I.isValidElement(d)?I.cloneElement(d,void 0,u):null})}return a.jsx(t,{...o,ref:i,children:s})});return r.displayName=`${e}.Slot`,r}function sae(e){const t=I.forwardRef((r,n)=>{const{children:i,...s}=r;if(I.isValidElement(i)){const o=uae(i),l=cae(s,i.props);return i.type!==I.Fragment&&(l.ref=n?rh(n,o):o),I.cloneElement(i,l)}return I.Children.count(i)>1?I.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var oae=Symbol("radix.slottable");function lae(e){return I.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===oae}function cae(e,t){const r={...t};for(const n in t){const i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...l)=>{const c=s(...l);return i(...l),c}:i&&(r[n]=i):n==="style"?r[n]={...i,...s}:n==="className"&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}function uae(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Kv(e){const t=e+"CollectionProvider",[r,n]=Sc(t),[i,s]=r(t,{collectionRef:{current:null},itemMap:new Map}),o=v=>{const{scope:w,children:j}=v,E=Za.useRef(null),S=Za.useRef(new Map).current;return a.jsx(i,{scope:w,itemMap:S,collectionRef:E,children:j})};o.displayName=t;const l=e+"CollectionSlot",c=TD(l),d=Za.forwardRef((v,w)=>{const{scope:j,children:E}=v,S=s(l,j),_=ri(w,S.collectionRef);return a.jsx(c,{ref:_,children:E})});d.displayName=l;const u=e+"CollectionItemSlot",h="data-radix-collection-item",p=TD(u),A=Za.forwardRef((v,w)=>{const{scope:j,children:E,...S}=v,_=Za.useRef(null),C=ri(w,_),Q=s(u,j);return Za.useEffect(()=>(Q.itemMap.set(_,{ref:_,...S}),()=>{Q.itemMap.delete(_)})),a.jsx(p,{[h]:"",ref:C,children:E})});A.displayName=u;function y(v){const w=s(e+"CollectionConsumer",v);return Za.useCallback(()=>{const E=w.collectionRef.current;if(!E)return[];const S=Array.from(E.querySelectorAll(`[${h}]`));return Array.from(w.itemMap.values()).sort((Q,R)=>S.indexOf(Q.ref.current)-S.indexOf(R.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:o,Slot:d,ItemSlot:A},y,n]}function dae(e){const t=fae(e),r=I.forwardRef((n,i)=>{const{children:s,...o}=n,l=I.Children.toArray(s),c=l.find(mae);if(c){const d=c.props.children,u=l.map(h=>h===c?I.Children.count(d)>1?I.Children.only(null):I.isValidElement(d)?d.props.children:null:h);return a.jsx(t,{...o,ref:i,children:I.isValidElement(d)?I.cloneElement(d,void 0,u):null})}return a.jsx(t,{...o,ref:i,children:s})});return r.displayName=`${e}.Slot`,r}function fae(e){const t=I.forwardRef((r,n)=>{const{children:i,...s}=r;if(I.isValidElement(i)){const o=gae(i),l=pae(s,i.props);return i.type!==I.Fragment&&(l.ref=n?rh(n,o):o),I.cloneElement(i,l)}return I.Children.count(i)>1?I.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var hae=Symbol("radix.slottable");function mae(e){return I.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===hae}function pae(e,t){const r={...t};for(const n in t){const i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...l)=>{const c=s(...l);return i(...l),c}:i&&(r[n]=i):n==="style"?r[n]={...i,...s}:n==="className"&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}function gae(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Aae=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],an=Aae.reduce((e,t)=>{const r=dae(`Primitive.${t}`),n=I.forwardRef((i,s)=>{const{asChild:o,...l}=i,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(c,{...l,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function T6(e,t){e&&L1.flushSync(()=>e.dispatchEvent(t))}function ql(e){const t=I.useRef(e);return I.useEffect(()=>{t.current=e}),I.useMemo(()=>(...r)=>t.current?.(...r),[])}function xae(e,t=globalThis?.document){const r=ql(e);I.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var vae="DismissableLayer",G3="dismissableLayer.update",yae="dismissableLayer.pointerDownOutside",bae="dismissableLayer.focusOutside",RD,$O=I.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),M1=I.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:s,onInteractOutside:o,onDismiss:l,...c}=e,d=I.useContext($O),[u,h]=I.useState(null),p=u?.ownerDocument??globalThis?.document,[,A]=I.useState({}),y=ri(t,R=>h(R)),v=Array.from(d.layers),[w]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),j=v.indexOf(w),E=u?v.indexOf(u):-1,S=d.layersWithOutsidePointerEventsDisabled.size>0,_=E>=j,C=Eae(R=>{const T=R.target,M=[...d.branches].some(O=>O.contains(T));!_||M||(i?.(R),o?.(R),R.defaultPrevented||l?.())},p),Q=Cae(R=>{const T=R.target;[...d.branches].some(O=>O.contains(T))||(s?.(R),o?.(R),R.defaultPrevented||l?.())},p);return xae(R=>{E===d.layers.size-1&&(n?.(R),!R.defaultPrevented&&l&&(R.preventDefault(),l()))},p),I.useEffect(()=>{if(u)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(RD=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),PD(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=RD)}},[u,p,r,d]),I.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),PD())},[u,d]),I.useEffect(()=>{const R=()=>A({});return document.addEventListener(G3,R),()=>document.removeEventListener(G3,R)},[]),a.jsx(an.div,{...c,ref:y,style:{pointerEvents:S?_?"auto":"none":void 0,...e.style},onFocusCapture:yr(e.onFocusCapture,Q.onFocusCapture),onBlurCapture:yr(e.onBlurCapture,Q.onBlurCapture),onPointerDownCapture:yr(e.onPointerDownCapture,C.onPointerDownCapture)})});M1.displayName=vae;var wae="DismissableLayerBranch",HO=I.forwardRef((e,t)=>{const r=I.useContext($O),n=I.useRef(null),i=ri(t,n);return I.useEffect(()=>{const s=n.current;if(s)return r.branches.add(s),()=>{r.branches.delete(s)}},[r.branches]),a.jsx(an.div,{...e,ref:i})});HO.displayName=wae;function Eae(e,t=globalThis?.document){const r=ql(e),n=I.useRef(!1),i=I.useRef(()=>{});return I.useEffect(()=>{const s=l=>{if(l.target&&!n.current){let c=function(){qO(yae,r,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=c,t.addEventListener("click",i.current,{once:!0})):c()}else t.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",s),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function Cae(e,t=globalThis?.document){const r=ql(e),n=I.useRef(!1);return I.useEffect(()=>{const i=s=>{s.target&&!n.current&&qO(bae,r,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function PD(){const e=new CustomEvent(G3);document.dispatchEvent(e)}function qO(e,t,r,{discrete:n}){const i=r.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?T6(i,s):i.dispatchEvent(s)}var Iae=M1,jae=HO,zs=globalThis?.document?I.useLayoutEffect:()=>{},Nae="Portal",Yv=I.forwardRef((e,t)=>{const{container:r,...n}=e,[i,s]=I.useState(!1);zs(()=>s(!0),[]);const o=r||i&&globalThis?.document?.body;return o?nae.createPortal(a.jsx(an.div,{...n,ref:t}),o):null});Yv.displayName=Nae;function Sae(e,t){return I.useReducer((r,n)=>t[r][n]??r,e)}var hu=e=>{const{present:t,children:r}=e,n=Bae(t),i=typeof r=="function"?r({present:n.isPresent}):I.Children.only(r),s=ri(n.ref,kae(i));return typeof r=="function"||n.isPresent?I.cloneElement(i,{ref:s}):null};hu.displayName="Presence";function Bae(e){const[t,r]=I.useState(),n=I.useRef(null),i=I.useRef(e),s=I.useRef("none"),o=e?"mounted":"unmounted",[l,c]=Sae(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return I.useEffect(()=>{const d=H2(n.current);s.current=l==="mounted"?d:"none"},[l]),zs(()=>{const d=n.current,u=i.current;if(u!==e){const p=s.current,A=H2(d);e?c("MOUNT"):A==="none"||d?.display==="none"?c("UNMOUNT"):c(u&&p!==A?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,c]),zs(()=>{if(t){let d;const u=t.ownerDocument.defaultView??window,h=A=>{const v=H2(n.current).includes(CSS.escape(A.animationName));if(A.target===t&&v&&(c("ANIMATION_END"),!i.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",d=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},p=A=>{A.target===t&&(s.current=H2(n.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{u.clearTimeout(d),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:I.useCallback(d=>{n.current=d?getComputedStyle(d):null,r(d)},[])}}function H2(e){return e?.animationName||"none"}function kae(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var _ae=l4[" useInsertionEffect ".trim().toString()]||zs;function a0({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,s,o]=Dae({defaultProp:t,onChange:r}),l=e!==void 0,c=l?e:i;{const u=I.useRef(e!==void 0);I.useEffect(()=>{const h=u.current;h!==l&&console.warn(`${n} is changing from ${h?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=l},[l,n])}const d=I.useCallback(u=>{if(l){const h=Tae(u)?u(e):u;h!==e&&o.current?.(h)}else s(u)},[l,e,s,o]);return[c,d]}function Dae({defaultProp:e,onChange:t}){const[r,n]=I.useState(e),i=I.useRef(r),s=I.useRef(t);return _ae(()=>{s.current=t},[t]),I.useEffect(()=>{i.current!==r&&(s.current?.(r),i.current=r)},[r,i]),[r,n,s]}function Tae(e){return typeof e=="function"}var GO=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Rae="VisuallyHidden",u4=I.forwardRef((e,t)=>a.jsx(an.span,{...e,ref:t,style:{...GO,...e.style}}));u4.displayName=Rae;var Pae=u4,R6="ToastProvider",[P6,Qae,Fae]=Kv("Toast"),[VO]=Sc("Toast",[Fae]),[Oae,d4]=VO(R6),WO=e=>{const{__scopeToast:t,label:r="Notification",duration:n=5e3,swipeDirection:i="right",swipeThreshold:s=50,children:o}=e,[l,c]=I.useState(null),[d,u]=I.useState(0),h=I.useRef(!1),p=I.useRef(!1);return r.trim()||console.error(`Invalid prop \`label\` supplied to \`${R6}\`. Expected non-empty \`string\`.`),a.jsx(P6.Provider,{scope:t,children:a.jsx(Oae,{scope:t,label:r,duration:n,swipeDirection:i,swipeThreshold:s,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:I.useCallback(()=>u(A=>A+1),[]),onToastRemove:I.useCallback(()=>u(A=>A-1),[]),isFocusedToastEscapeKeyDownRef:h,isClosePausedRef:p,children:o})})};WO.displayName=R6;var KO="ToastViewport",Lae=["F8"],V3="toast.viewportPause",W3="toast.viewportResume",YO=I.forwardRef((e,t)=>{const{__scopeToast:r,hotkey:n=Lae,label:i="Notifications ({hotkey})",...s}=e,o=d4(KO,r),l=Qae(r),c=I.useRef(null),d=I.useRef(null),u=I.useRef(null),h=I.useRef(null),p=ri(t,h,o.onViewportChange),A=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=o.toastCount>0;I.useEffect(()=>{const w=j=>{n.length!==0&&n.every(S=>j[S]||j.code===S)&&h.current?.focus()};return document.addEventListener("keydown",w),()=>document.removeEventListener("keydown",w)},[n]),I.useEffect(()=>{const w=c.current,j=h.current;if(y&&w&&j){const E=()=>{if(!o.isClosePausedRef.current){const Q=new CustomEvent(V3);j.dispatchEvent(Q),o.isClosePausedRef.current=!0}},S=()=>{if(o.isClosePausedRef.current){const Q=new CustomEvent(W3);j.dispatchEvent(Q),o.isClosePausedRef.current=!1}},_=Q=>{!w.contains(Q.relatedTarget)&&S()},C=()=>{w.contains(document.activeElement)||S()};return w.addEventListener("focusin",E),w.addEventListener("focusout",_),w.addEventListener("pointermove",E),w.addEventListener("pointerleave",C),window.addEventListener("blur",E),window.addEventListener("focus",S),()=>{w.removeEventListener("focusin",E),w.removeEventListener("focusout",_),w.removeEventListener("pointermove",E),w.removeEventListener("pointerleave",C),window.removeEventListener("blur",E),window.removeEventListener("focus",S)}}},[y,o.isClosePausedRef]);const v=I.useCallback(({tabbingDirection:w})=>{const E=l().map(S=>{const _=S.ref.current,C=[_,...Jae(_)];return w==="forwards"?C:C.reverse()});return(w==="forwards"?E.reverse():E).flat()},[l]);return I.useEffect(()=>{const w=h.current;if(w){const j=E=>{const S=E.altKey||E.ctrlKey||E.metaKey;if(E.key==="Tab"&&!S){const C=document.activeElement,Q=E.shiftKey;if(E.target===w&&Q){d.current?.focus();return}const M=v({tabbingDirection:Q?"backwards":"forwards"}),O=M.findIndex($=>$===C);dI(M.slice(O+1))?E.preventDefault():Q?d.current?.focus():u.current?.focus()}};return w.addEventListener("keydown",j),()=>w.removeEventListener("keydown",j)}},[l,v]),a.jsxs(jae,{ref:c,role:"region","aria-label":i.replace("{hotkey}",A),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&a.jsx(K3,{ref:d,onFocusFromOutsideViewport:()=>{const w=v({tabbingDirection:"forwards"});dI(w)}}),a.jsx(P6.Slot,{scope:r,children:a.jsx(an.ol,{tabIndex:-1,...s,ref:p})}),y&&a.jsx(K3,{ref:u,onFocusFromOutsideViewport:()=>{const w=v({tabbingDirection:"backwards"});dI(w)}})]})});YO.displayName=KO;var ZO="ToastFocusProxy",K3=I.forwardRef((e,t)=>{const{__scopeToast:r,onFocusFromOutsideViewport:n,...i}=e,s=d4(ZO,r);return a.jsx(u4,{tabIndex:0,...i,ref:t,style:{position:"fixed"},onFocus:o=>{const l=o.relatedTarget;!s.viewport?.contains(l)&&n()}})});K3.displayName=ZO;var Zv="Toast",Mae="toast.swipeStart",Uae="toast.swipeMove",zae="toast.swipeCancel",$ae="toast.swipeEnd",JO=I.forwardRef((e,t)=>{const{forceMount:r,open:n,defaultOpen:i,onOpenChange:s,...o}=e,[l,c]=a0({prop:n,defaultProp:i??!0,onChange:s,caller:Zv});return a.jsx(hu,{present:r||l,children:a.jsx(Gae,{open:l,...o,ref:t,onClose:()=>c(!1),onPause:ql(e.onPause),onResume:ql(e.onResume),onSwipeStart:yr(e.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:yr(e.onSwipeMove,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${h}px`)}),onSwipeCancel:yr(e.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:yr(e.onSwipeEnd,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${h}px`),c(!1)})})})});JO.displayName=Zv;var[Hae,qae]=VO(Zv,{onClose(){}}),Gae=I.forwardRef((e,t)=>{const{__scopeToast:r,type:n="foreground",duration:i,open:s,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:h,onSwipeCancel:p,onSwipeEnd:A,...y}=e,v=d4(Zv,r),[w,j]=I.useState(null),E=ri(t,X=>j(X)),S=I.useRef(null),_=I.useRef(null),C=i||v.duration,Q=I.useRef(0),R=I.useRef(C),T=I.useRef(0),{onToastAdd:M,onToastRemove:O}=v,$=ql(()=>{w?.contains(document.activeElement)&&v.viewport?.focus(),o()}),P=I.useCallback(X=>{!X||X===1/0||(window.clearTimeout(T.current),Q.current=new Date().getTime(),T.current=window.setTimeout($,X))},[$]);I.useEffect(()=>{const X=v.viewport;if(X){const W=()=>{P(R.current),d?.()},G=()=>{const J=new Date().getTime()-Q.current;R.current=R.current-J,window.clearTimeout(T.current),c?.()};return X.addEventListener(V3,G),X.addEventListener(W3,W),()=>{X.removeEventListener(V3,G),X.removeEventListener(W3,W)}}},[v.viewport,C,c,d,P]),I.useEffect(()=>{s&&!v.isClosePausedRef.current&&P(C)},[s,C,v.isClosePausedRef,P]),I.useEffect(()=>(M(),()=>O()),[M,O]);const L=I.useMemo(()=>w?aL(w):null,[w]);return v.viewport?a.jsxs(a.Fragment,{children:[L&&a.jsx(Vae,{__scopeToast:r,role:"status","aria-live":n==="foreground"?"assertive":"polite",children:L}),a.jsx(Hae,{scope:r,onClose:$,children:L1.createPortal(a.jsx(P6.ItemSlot,{scope:r,children:a.jsx(Iae,{asChild:!0,onEscapeKeyDown:yr(l,()=>{v.isFocusedToastEscapeKeyDownRef.current||$(),v.isFocusedToastEscapeKeyDownRef.current=!1}),children:a.jsx(an.li,{tabIndex:0,"data-state":s?"open":"closed","data-swipe-direction":v.swipeDirection,...y,ref:E,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:yr(e.onKeyDown,X=>{X.key==="Escape"&&(l?.(X.nativeEvent),X.nativeEvent.defaultPrevented||(v.isFocusedToastEscapeKeyDownRef.current=!0,$()))}),onPointerDown:yr(e.onPointerDown,X=>{X.button===0&&(S.current={x:X.clientX,y:X.clientY})}),onPointerMove:yr(e.onPointerMove,X=>{if(!S.current)return;const W=X.clientX-S.current.x,G=X.clientY-S.current.y,J=!!_.current,q=["left","right"].includes(v.swipeDirection),ee=["left","up"].includes(v.swipeDirection)?Math.min:Math.max,ne=q?ee(0,W):0,V=q?0:ee(0,G),ue=X.pointerType==="touch"?10:2,de={x:ne,y:V},xe={originalEvent:X,delta:de};J?(_.current=de,q2(Uae,h,xe,{discrete:!1})):QD(de,v.swipeDirection,ue)?(_.current=de,q2(Mae,u,xe,{discrete:!1}),X.target.setPointerCapture(X.pointerId)):(Math.abs(W)>ue||Math.abs(G)>ue)&&(S.current=null)}),onPointerUp:yr(e.onPointerUp,X=>{const W=_.current,G=X.target;if(G.hasPointerCapture(X.pointerId)&&G.releasePointerCapture(X.pointerId),_.current=null,S.current=null,W){const J=X.currentTarget,q={originalEvent:X,delta:W};QD(W,v.swipeDirection,v.swipeThreshold)?q2($ae,A,q,{discrete:!0}):q2(zae,p,q,{discrete:!0}),J.addEventListener("click",ee=>ee.preventDefault(),{once:!0})}})})})}),v.viewport)})]}):null}),Vae=e=>{const{__scopeToast:t,children:r,...n}=e,i=d4(Zv,t),[s,o]=I.useState(!1),[l,c]=I.useState(!1);return Yae(()=>o(!0)),I.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:a.jsx(Yv,{asChild:!0,children:a.jsx(u4,{...n,children:s&&a.jsxs(a.Fragment,{children:[i.label," ",r]})})})},Wae="ToastTitle",XO=I.forwardRef((e,t)=>{const{__scopeToast:r,...n}=e;return a.jsx(an.div,{...n,ref:t})});XO.displayName=Wae;var Kae="ToastDescription",eL=I.forwardRef((e,t)=>{const{__scopeToast:r,...n}=e;return a.jsx(an.div,{...n,ref:t})});eL.displayName=Kae;var tL="ToastAction",rL=I.forwardRef((e,t)=>{const{altText:r,...n}=e;return r.trim()?a.jsx(iL,{altText:r,asChild:!0,children:a.jsx(Q6,{...n,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${tL}\`. Expected non-empty \`string\`.`),null)});rL.displayName=tL;var nL="ToastClose",Q6=I.forwardRef((e,t)=>{const{__scopeToast:r,...n}=e,i=qae(nL,r);return a.jsx(iL,{asChild:!0,children:a.jsx(an.button,{type:"button",...n,ref:t,onClick:yr(e.onClick,i.onClose)})})});Q6.displayName=nL;var iL=I.forwardRef((e,t)=>{const{__scopeToast:r,altText:n,...i}=e;return a.jsx(an.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":n||void 0,...i,ref:t})});function aL(e){const t=[];return Array.from(e.childNodes).forEach(n=>{if(n.nodeType===n.TEXT_NODE&&n.textContent&&t.push(n.textContent),Zae(n)){const i=n.ariaHidden||n.hidden||n.style.display==="none",s=n.dataset.radixToastAnnounceExclude==="";if(!i)if(s){const o=n.dataset.radixToastAnnounceAlt;o&&t.push(o)}else t.push(...aL(n))}}),t}function q2(e,t,r,{discrete:n}){const i=r.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?T6(i,s):i.dispatchEvent(s)}var QD=(e,t,r=0)=>{const n=Math.abs(e.x),i=Math.abs(e.y),s=n>i;return t==="left"||t==="right"?s&&n>r:!s&&i>r};function Yae(e=()=>{}){const t=ql(e);zs(()=>{let r=0,n=0;return r=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(r),window.cancelAnimationFrame(n)}},[t])}function Zae(e){return e.nodeType===e.ELEMENT_NODE}function Jae(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function dI(e){const t=document.activeElement;return e.some(r=>r===t?!0:(r.focus(),document.activeElement!==t))}var Xae=WO,sL=YO,oL=JO,lL=XO,cL=eL,uL=rL,dL=Q6;function fL(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;ttypeof e=="boolean"?`${e}`:e===0?"0":e,OD=hL,Dg=(e,t)=>r=>{var n;if(t?.variants==null)return OD(e,r?.class,r?.className);const{variants:i,defaultVariants:s}=t,o=Object.keys(i).map(d=>{const u=r?.[d],h=s?.[d];if(u===null)return null;const p=FD(u)||FD(h);return i[d][p]}),l=r&&Object.entries(r).reduce((d,u)=>{let[h,p]=u;return p===void 0||(d[h]=p),d},{}),c=t==null||(n=t.compoundVariants)===null||n===void 0?void 0:n.reduce((d,u)=>{let{class:h,className:p,...A}=u;return Object.entries(A).every(y=>{let[v,w]=y;return Array.isArray(w)?w.includes({...s,...l}[v]):{...s,...l}[v]===w})?[...d,h,p]:d},[]);return OD(e,o,c,r?.class,r?.className)};const ese=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),mL=(...e)=>e.filter((t,r,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===r).join(" ").trim();var tse={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const rse=I.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:i="",children:s,iconNode:o,...l},c)=>I.createElement("svg",{ref:c,...tse,width:t,height:t,stroke:e,strokeWidth:n?Number(r)*24/Number(t):r,className:mL("lucide",i),...l},[...o.map(([d,u])=>I.createElement(d,u)),...Array.isArray(s)?s:[s]]));const Zt=(e,t)=>{const r=I.forwardRef(({className:n,...i},s)=>I.createElement(rse,{ref:s,iconNode:t,className:mL(`lucide-${ese(e)}`,n),...i}));return r.displayName=`${e}`,r};const nse=Zt("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);const ise=Zt("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);const ase=Zt("ArrowDownRight",[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]]);const sse=Zt("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);const iu=Zt("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);const ov=Zt("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);const ose=Zt("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);const lse=Zt("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const LD=Zt("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);const Wf=Zt("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);const dm=Zt("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);const Sl=Zt("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);const mo=Zt("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);const Jv=Zt("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);const U0=Zt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const F6=Zt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const cse=Zt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const use=Zt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);const Kn=Zt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);const Px=Zt("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);const na=Zt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);const Gl=Zt("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const f4=Zt("CircleStop",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]);const U1=Zt("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);const Tg=Zt("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const Bl=Zt("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);const dse=Zt("CloudOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193",key:"yfwify"}],["path",{d:"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07",key:"jlfiyv"}]]);const lv=Zt("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);const fI=Zt("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);const l1=Zt("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);const Y3=Zt("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);const fse=Zt("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);const Id=Zt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);const O6=Zt("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);const hse=Zt("Factory",[["path",{d:"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"159hny"}],["path",{d:"M17 18h1",key:"uldtlt"}],["path",{d:"M12 18h1",key:"s9uhes"}],["path",{d:"M7 18h1",key:"1neino"}]]);const c1=Zt("FileImage",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]);const Z3=Zt("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);const po=Zt("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const mse=Zt("FileWarning",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const pse=Zt("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);const MD=Zt("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);const gse=Zt("FolderTree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]);const cv=Zt("Fuel",[["line",{x1:"3",x2:"15",y1:"22",y2:"22",key:"xegly4"}],["line",{x1:"4",x2:"14",y1:"9",y2:"9",key:"xcnuvu"}],["path",{d:"M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18",key:"16j0yd"}],["path",{d:"M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5",key:"7cu91f"}]]);const L6=Zt("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);const J3=Zt("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);const Ase=Zt("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);const Nm=Zt("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);const xse=Zt("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);const vse=Zt("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);const h4=Zt("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);const pL=Zt("LayoutGrid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);const Xv=Zt("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);const yse=Zt("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);const Nt=Zt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const Hd=Zt("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const bse=Zt("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);const m4=Zt("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);const ei=Zt("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);const hI=Zt("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);const xm=Zt("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);const F0=Zt("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);const wse=Zt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);const u1=Zt("Navigation",[["polygon",{points:"3 11 22 2 13 21 11 13 3 11",key:"1ltx0t"}]]);const il=Zt("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);const Ese=Zt("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);const Cse=Zt("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);const z1=Zt("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);const M6=Zt("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);const Ise=Zt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);const jse=Zt("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);const Ti=Zt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const Nse=Zt("Printer",[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]]);const ey=Zt("Receipt",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 17.5v-11",key:"1jc1ny"}]]);const p4=Zt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);const g4=Zt("Reply",[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]]);const gL=Zt("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);const A4=Zt("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);const HA=Zt("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]);const rf=Zt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);const zm=Zt("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);const U6=Zt("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);const $m=Zt("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);const pg=Zt("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);const Sse=Zt("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);const Ns=Zt("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);const ew=Zt("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);const uv=Zt("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const Fa=Zt("Truck",[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]]);const UD=Zt("Unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]);const ja=Zt("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);const Bse=Zt("UserX",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]);const nh=Zt("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);const Sm=Zt("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);const Xu=Zt("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);const z6=Zt("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]);const kse=Zt("VolumeX",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]);const _se=Zt("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);const qd=Zt("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);const Dse=Zt("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);const ty=Zt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);const Nn=Zt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);const ry=Zt("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),$6="-",Tse=e=>{const t=Pse(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:o=>{const l=o.split($6);return l[0]===""&&l.length!==1&&l.shift(),AL(l,t)||Rse(o)},getConflictingClassGroupIds:(o,l)=>{const c=r[o]||[];return l&&n[o]?[...c,...n[o]]:c}}},AL=(e,t)=>{if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?AL(e.slice(1),n):void 0;if(i)return i;if(t.validators.length===0)return;const s=e.join($6);return t.validators.find(({validator:o})=>o(s))?.classGroupId},zD=/^\[(.+)\]$/,Rse=e=>{if(zD.test(e)){const t=zD.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},Pse=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return Fse(Object.entries(e.classGroups),r).forEach(([s,o])=>{X3(o,n,s,t)}),n},X3=(e,t,r,n)=>{e.forEach(i=>{if(typeof i=="string"){const s=i===""?t:$D(t,i);s.classGroupId=r;return}if(typeof i=="function"){if(Qse(i)){X3(i(n),t,r,n);return}t.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([s,o])=>{X3(o,$D(t,s),r,n)})})},$D=(e,t)=>{let r=e;return t.split($6).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},Qse=e=>e.isThemeGetter,Fse=(e,t)=>t?e.map(([r,n])=>{const i=n.map(s=>typeof s=="string"?t+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([o,l])=>[t+o,l])):s);return[r,i]}):e,Ose=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(s,o)=>{r.set(s,o),t++,t>e&&(t=0,n=r,r=new Map)};return{get(s){let o=r.get(s);if(o!==void 0)return o;if((o=n.get(s))!==void 0)return i(s,o),o},set(s,o){r.has(s)?r.set(s,o):i(s,o)}}},xL="!",Lse=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,i=t[0],s=t.length,o=l=>{const c=[];let d=0,u=0,h;for(let w=0;wu?h-u:void 0;return{modifiers:c,hasImportantModifier:A,baseClassName:y,maybePostfixModifierPosition:v}};return r?l=>r({className:l,parseClassName:o}):o},Mse=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},Use=e=>({cache:Ose(e.cacheSize),parseClassName:Lse(e),...Tse(e)}),zse=/\s+/,$se=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,s=[],o=e.trim().split(zse);let l="";for(let c=o.length-1;c>=0;c-=1){const d=o[c],{modifiers:u,hasImportantModifier:h,baseClassName:p,maybePostfixModifierPosition:A}=r(d);let y=!!A,v=n(y?p.substring(0,A):p);if(!v){if(!y){l=d+(l.length>0?" "+l:l);continue}if(v=n(p),!v){l=d+(l.length>0?" "+l:l);continue}y=!1}const w=Mse(u).join(":"),j=h?w+xL:w,E=j+v;if(s.includes(E))continue;s.push(E);const S=i(v,y);for(let _=0;_0?" "+l:l)}return l};function Hse(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;nh(u),e());return r=Use(d),n=r.cache.get,i=r.cache.set,s=l,l(c)}function l(c){const d=n(c);if(d)return d;const u=$se(c,r);return i(c,u),u}return function(){return s(Hse.apply(null,arguments))}}const Qa=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},yL=/^\[(?:([a-z-]+):)?(.+)\]$/i,Gse=/^\d+\/\d+$/,Vse=new Set(["px","full","screen"]),Wse=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Kse=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Yse=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Zse=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Jse=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Tf=e=>qA(e)||Vse.has(e)||Gse.test(e),Gh=e=>$1(e,"length",soe),qA=e=>!!e&&!Number.isNaN(Number(e)),mI=e=>$1(e,"number",qA),Ex=e=>!!e&&Number.isInteger(Number(e)),Xse=e=>e.endsWith("%")&&qA(e.slice(0,-1)),Fn=e=>yL.test(e),Vh=e=>Wse.test(e),eoe=new Set(["length","size","percentage"]),toe=e=>$1(e,eoe,bL),roe=e=>$1(e,"position",bL),noe=new Set(["image","url"]),ioe=e=>$1(e,noe,loe),aoe=e=>$1(e,"",ooe),Cx=()=>!0,$1=(e,t,r)=>{const n=yL.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},soe=e=>Kse.test(e)&&!Yse.test(e),bL=()=>!1,ooe=e=>Zse.test(e),loe=e=>Jse.test(e),coe=()=>{const e=Qa("colors"),t=Qa("spacing"),r=Qa("blur"),n=Qa("brightness"),i=Qa("borderColor"),s=Qa("borderRadius"),o=Qa("borderSpacing"),l=Qa("borderWidth"),c=Qa("contrast"),d=Qa("grayscale"),u=Qa("hueRotate"),h=Qa("invert"),p=Qa("gap"),A=Qa("gradientColorStops"),y=Qa("gradientColorStopPositions"),v=Qa("inset"),w=Qa("margin"),j=Qa("opacity"),E=Qa("padding"),S=Qa("saturate"),_=Qa("scale"),C=Qa("sepia"),Q=Qa("skew"),R=Qa("space"),T=Qa("translate"),M=()=>["auto","contain","none"],O=()=>["auto","hidden","clip","visible","scroll"],$=()=>["auto",Fn,t],P=()=>[Fn,t],L=()=>["",Tf,Gh],X=()=>["auto",qA,Fn],W=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],G=()=>["solid","dashed","dotted","double","none"],J=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],q=()=>["start","end","center","between","around","evenly","stretch"],ee=()=>["","0",Fn],ne=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>[qA,Fn];return{cacheSize:500,separator:":",theme:{colors:[Cx],spacing:[Tf,Gh],blur:["none","",Vh,Fn],brightness:V(),borderColor:[e],borderRadius:["none","","full",Vh,Fn],borderSpacing:P(),borderWidth:L(),contrast:V(),grayscale:ee(),hueRotate:V(),invert:ee(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[Xse,Gh],inset:$(),margin:$(),opacity:V(),padding:P(),saturate:V(),scale:V(),sepia:ee(),skew:V(),space:P(),translate:P()},classGroups:{aspect:[{aspect:["auto","square","video",Fn]}],container:["container"],columns:[{columns:[Vh]}],"break-after":[{"break-after":ne()}],"break-before":[{"break-before":ne()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...W(),Fn]}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ex,Fn]}],basis:[{basis:$()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Fn]}],grow:[{grow:ee()}],shrink:[{shrink:ee()}],order:[{order:["first","last","none",Ex,Fn]}],"grid-cols":[{"grid-cols":[Cx]}],"col-start-end":[{col:["auto",{span:["full",Ex,Fn]},Fn]}],"col-start":[{"col-start":X()}],"col-end":[{"col-end":X()}],"grid-rows":[{"grid-rows":[Cx]}],"row-start-end":[{row:["auto",{span:[Ex,Fn]},Fn]}],"row-start":[{"row-start":X()}],"row-end":[{"row-end":X()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Fn]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Fn]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...q()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...q(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...q(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[R]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[R]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Fn,t]}],"min-w":[{"min-w":[Fn,t,"min","max","fit"]}],"max-w":[{"max-w":[Fn,t,"none","full","min","max","fit","prose",{screen:[Vh]},Vh]}],h:[{h:[Fn,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Fn,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Fn,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Fn,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Vh,Gh]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",mI]}],"font-family":[{font:[Cx]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Fn]}],"line-clamp":[{"line-clamp":["none",qA,mI]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Tf,Fn]}],"list-image":[{"list-image":["none",Fn]}],"list-style-type":[{list:["none","disc","decimal",Fn]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[j]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[j]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...G(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Tf,Gh]}],"underline-offset":[{"underline-offset":["auto",Tf,Fn]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:P()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Fn]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Fn]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[j]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...W(),roe]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",toe]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},ioe]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[A]}],"gradient-via":[{via:[A]}],"gradient-to":[{to:[A]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[j]}],"border-style":[{border:[...G(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[j]}],"divide-style":[{divide:G()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...G()]}],"outline-offset":[{"outline-offset":[Tf,Fn]}],"outline-w":[{outline:[Tf,Gh]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:L()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[j]}],"ring-offset-w":[{"ring-offset":[Tf,Gh]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Vh,aoe]}],"shadow-color":[{shadow:[Cx]}],opacity:[{opacity:[j]}],"mix-blend":[{"mix-blend":[...J(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":J()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Vh,Fn]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[h]}],saturate:[{saturate:[S]}],sepia:[{sepia:[C]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[j]}],"backdrop-saturate":[{"backdrop-saturate":[S]}],"backdrop-sepia":[{"backdrop-sepia":[C]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Fn]}],duration:[{duration:V()}],ease:[{ease:["linear","in","out","in-out",Fn]}],delay:[{delay:V()}],animate:[{animate:["none","spin","ping","pulse","bounce",Fn]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[_]}],"scale-x":[{"scale-x":[_]}],"scale-y":[{"scale-y":[_]}],rotate:[{rotate:[Ex,Fn]}],"translate-x":[{"translate-x":[T]}],"translate-y":[{"translate-y":[T]}],"skew-x":[{"skew-x":[Q]}],"skew-y":[{"skew-y":[Q]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Fn]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Fn]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":P()}],"scroll-mx":[{"scroll-mx":P()}],"scroll-my":[{"scroll-my":P()}],"scroll-ms":[{"scroll-ms":P()}],"scroll-me":[{"scroll-me":P()}],"scroll-mt":[{"scroll-mt":P()}],"scroll-mr":[{"scroll-mr":P()}],"scroll-mb":[{"scroll-mb":P()}],"scroll-ml":[{"scroll-ml":P()}],"scroll-p":[{"scroll-p":P()}],"scroll-px":[{"scroll-px":P()}],"scroll-py":[{"scroll-py":P()}],"scroll-ps":[{"scroll-ps":P()}],"scroll-pe":[{"scroll-pe":P()}],"scroll-pt":[{"scroll-pt":P()}],"scroll-pr":[{"scroll-pr":P()}],"scroll-pb":[{"scroll-pb":P()}],"scroll-pl":[{"scroll-pl":P()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Fn]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Tf,Gh,mI]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},uoe=qse(coe);function nr(...e){return uoe(hL(e))}const doe=Xae,wL=I.forwardRef(({className:e,...t},r)=>a.jsx(sL,{ref:r,className:nr("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));wL.displayName=sL.displayName;const foe=Dg("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),EL=I.forwardRef(({className:e,variant:t,...r},n)=>a.jsx(oL,{ref:n,className:nr(foe({variant:t}),e),...r}));EL.displayName=oL.displayName;const hoe=I.forwardRef(({className:e,...t},r)=>a.jsx(uL,{ref:r,className:nr("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));hoe.displayName=uL.displayName;const CL=I.forwardRef(({className:e,...t},r)=>a.jsx(dL,{ref:r,className:nr("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:a.jsx(Nn,{className:"h-4 w-4"})}));CL.displayName=dL.displayName;const IL=I.forwardRef(({className:e,...t},r)=>a.jsx(lL,{ref:r,className:nr("text-sm font-semibold",e),...t}));IL.displayName=lL.displayName;const jL=I.forwardRef(({className:e,...t},r)=>a.jsx(cL,{ref:r,className:nr("text-sm opacity-90",e),...t}));jL.displayName=cL.displayName;function NL(){const{toasts:e}=Er();return a.jsxs(doe,{children:[(e||[]).map(function({id:t,title:r,description:n,action:i,...s}){return a.jsxs(EL,{...s,children:[a.jsxs("div",{className:"grid gap-1",children:[r&&a.jsx(IL,{children:r}),n&&a.jsx(jL,{children:n})]}),i,a.jsx(CL,{})]},t)}),a.jsx(wL,{})]})}var moe=l4[" useId ".trim().toString()]||(()=>{}),poe=0;function su(e){const[t,r]=I.useState(moe());return zs(()=>{r(n=>n??String(poe++))},[e]),t?`radix-${t}`:""}const goe=["top","right","bottom","left"],Bm=Math.min,nu=Math.max,tw=Math.round,G2=Math.floor,$d=e=>({x:e,y:e}),Aoe={left:"right",right:"left",bottom:"top",top:"bottom"},xoe={start:"end",end:"start"};function eN(e,t,r){return nu(e,Bm(t,r))}function Zf(e,t){return typeof e=="function"?e(t):e}function Jf(e){return e.split("-")[0]}function H1(e){return e.split("-")[1]}function H6(e){return e==="x"?"y":"x"}function q6(e){return e==="y"?"height":"width"}const voe=new Set(["top","bottom"]);function Fd(e){return voe.has(Jf(e))?"y":"x"}function G6(e){return H6(Fd(e))}function yoe(e,t,r){r===void 0&&(r=!1);const n=H1(e),i=G6(e),s=q6(i);let o=i==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(o=rw(o)),[o,rw(o)]}function boe(e){const t=rw(e);return[tN(e),t,tN(t)]}function tN(e){return e.replace(/start|end/g,t=>xoe[t])}const HD=["left","right"],qD=["right","left"],woe=["top","bottom"],Eoe=["bottom","top"];function Coe(e,t,r){switch(e){case"top":case"bottom":return r?t?qD:HD:t?HD:qD;case"left":case"right":return t?woe:Eoe;default:return[]}}function Ioe(e,t,r,n){const i=H1(e);let s=Coe(Jf(e),r==="start",n);return i&&(s=s.map(o=>o+"-"+i),t&&(s=s.concat(s.map(tN)))),s}function rw(e){return e.replace(/left|right|bottom|top/g,t=>Aoe[t])}function joe(e){return{top:0,right:0,bottom:0,left:0,...e}}function SL(e){return typeof e!="number"?joe(e):{top:e,right:e,bottom:e,left:e}}function nw(e){const{x:t,y:r,width:n,height:i}=e;return{width:n,height:i,top:r,left:t,right:t+n,bottom:r+i,x:t,y:r}}function GD(e,t,r){let{reference:n,floating:i}=e;const s=Fd(t),o=G6(t),l=q6(o),c=Jf(t),d=s==="y",u=n.x+n.width/2-i.width/2,h=n.y+n.height/2-i.height/2,p=n[l]/2-i[l]/2;let A;switch(c){case"top":A={x:u,y:n.y-i.height};break;case"bottom":A={x:u,y:n.y+n.height};break;case"right":A={x:n.x+n.width,y:h};break;case"left":A={x:n.x-i.width,y:h};break;default:A={x:n.x,y:n.y}}switch(H1(t)){case"start":A[o]-=p*(r&&d?-1:1);break;case"end":A[o]+=p*(r&&d?-1:1);break}return A}const Noe=async(e,t,r)=>{const{placement:n="bottom",strategy:i="absolute",middleware:s=[],platform:o}=r,l=s.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t));let d=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:h}=GD(d,n,c),p=n,A={},y=0;for(let v=0;v({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:i,rects:s,platform:o,elements:l,middlewareData:c}=t,{element:d,padding:u=0}=Zf(e,t)||{};if(d==null)return{};const h=SL(u),p={x:r,y:n},A=G6(i),y=q6(A),v=await o.getDimensions(d),w=A==="y",j=w?"top":"left",E=w?"bottom":"right",S=w?"clientHeight":"clientWidth",_=s.reference[y]+s.reference[A]-p[A]-s.floating[y],C=p[A]-s.reference[A],Q=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let R=Q?Q[S]:0;(!R||!await(o.isElement==null?void 0:o.isElement(Q)))&&(R=l.floating[S]||s.floating[y]);const T=_/2-C/2,M=R/2-v[y]/2-1,O=Bm(h[j],M),$=Bm(h[E],M),P=O,L=R-v[y]-$,X=R/2-v[y]/2+T,W=eN(P,X,L),G=!c.arrow&&H1(i)!=null&&X!==W&&s.reference[y]/2-(XX<=0)){var $,P;const X=((($=s.flip)==null?void 0:$.index)||0)+1,W=R[X];if(W&&(!(h==="alignment"?E!==Fd(W):!1)||O.every(q=>Fd(q.placement)===E?q.overflows[0]>0:!0)))return{data:{index:X,overflows:O},reset:{placement:W}};let G=(P=O.filter(J=>J.overflows[0]<=0).sort((J,q)=>J.overflows[1]-q.overflows[1])[0])==null?void 0:P.placement;if(!G)switch(A){case"bestFit":{var L;const J=(L=O.filter(q=>{if(Q){const ee=Fd(q.placement);return ee===E||ee==="y"}return!0}).map(q=>[q.placement,q.overflows.filter(ee=>ee>0).reduce((ee,ne)=>ee+ne,0)]).sort((q,ee)=>q[1]-ee[1])[0])==null?void 0:L[0];J&&(G=J);break}case"initialPlacement":G=l;break}if(i!==G)return{reset:{placement:G}}}return{}}}};function VD(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function WD(e){return goe.some(t=>e[t]>=0)}const koe=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:n="referenceHidden",...i}=Zf(e,t);switch(n){case"referenceHidden":{const s=await dv(t,{...i,elementContext:"reference"}),o=VD(s,r.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:WD(o)}}}case"escaped":{const s=await dv(t,{...i,altBoundary:!0}),o=VD(s,r.floating);return{data:{escapedOffsets:o,escaped:WD(o)}}}default:return{}}}}},BL=new Set(["left","top"]);async function _oe(e,t){const{placement:r,platform:n,elements:i}=e,s=await(n.isRTL==null?void 0:n.isRTL(i.floating)),o=Jf(r),l=H1(r),c=Fd(r)==="y",d=BL.has(o)?-1:1,u=s&&c?-1:1,h=Zf(t,e);let{mainAxis:p,crossAxis:A,alignmentAxis:y}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&typeof y=="number"&&(A=l==="end"?y*-1:y),c?{x:A*u,y:p*d}:{x:p*d,y:A*u}}const Doe=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:i,y:s,placement:o,middlewareData:l}=t,c=await _oe(t,e);return o===((r=l.offset)==null?void 0:r.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:i+c.x,y:s+c.y,data:{...c,placement:o}}}}},Toe=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:i}=t,{mainAxis:s=!0,crossAxis:o=!1,limiter:l={fn:w=>{let{x:j,y:E}=w;return{x:j,y:E}}},...c}=Zf(e,t),d={x:r,y:n},u=await dv(t,c),h=Fd(Jf(i)),p=H6(h);let A=d[p],y=d[h];if(s){const w=p==="y"?"top":"left",j=p==="y"?"bottom":"right",E=A+u[w],S=A-u[j];A=eN(E,A,S)}if(o){const w=h==="y"?"top":"left",j=h==="y"?"bottom":"right",E=y+u[w],S=y-u[j];y=eN(E,y,S)}const v=l.fn({...t,[p]:A,[h]:y});return{...v,data:{x:v.x-r,y:v.y-n,enabled:{[p]:s,[h]:o}}}}}},Roe=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:n,placement:i,rects:s,middlewareData:o}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=Zf(e,t),u={x:r,y:n},h=Fd(i),p=H6(h);let A=u[p],y=u[h];const v=Zf(l,t),w=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(c){const S=p==="y"?"height":"width",_=s.reference[p]-s.floating[S]+w.mainAxis,C=s.reference[p]+s.reference[S]-w.mainAxis;A<_?A=_:A>C&&(A=C)}if(d){var j,E;const S=p==="y"?"width":"height",_=BL.has(Jf(i)),C=s.reference[h]-s.floating[S]+(_&&((j=o.offset)==null?void 0:j[h])||0)+(_?0:w.crossAxis),Q=s.reference[h]+s.reference[S]+(_?0:((E=o.offset)==null?void 0:E[h])||0)-(_?w.crossAxis:0);yQ&&(y=Q)}return{[p]:A,[h]:y}}}},Poe=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:i,rects:s,platform:o,elements:l}=t,{apply:c=()=>{},...d}=Zf(e,t),u=await dv(t,d),h=Jf(i),p=H1(i),A=Fd(i)==="y",{width:y,height:v}=s.floating;let w,j;h==="top"||h==="bottom"?(w=h,j=p===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(j=h,w=p==="end"?"top":"bottom");const E=v-u.top-u.bottom,S=y-u.left-u.right,_=Bm(v-u[w],E),C=Bm(y-u[j],S),Q=!t.middlewareData.shift;let R=_,T=C;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(T=S),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(R=E),Q&&!p){const O=nu(u.left,0),$=nu(u.right,0),P=nu(u.top,0),L=nu(u.bottom,0);A?T=y-2*(O!==0||$!==0?O+$:nu(u.left,u.right)):R=v-2*(P!==0||L!==0?P+L:nu(u.top,u.bottom))}await c({...t,availableWidth:T,availableHeight:R});const M=await o.getDimensions(l.floating);return y!==M.width||v!==M.height?{reset:{rects:!0}}:{}}}};function x4(){return typeof window<"u"}function q1(e){return kL(e)?(e.nodeName||"").toLowerCase():"#document"}function ou(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function nf(e){var t;return(t=(kL(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function kL(e){return x4()?e instanceof Node||e instanceof ou(e).Node:!1}function z0(e){return x4()?e instanceof Element||e instanceof ou(e).Element:!1}function Gd(e){return x4()?e instanceof HTMLElement||e instanceof ou(e).HTMLElement:!1}function KD(e){return!x4()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ou(e).ShadowRoot}const Qoe=new Set(["inline","contents"]);function ny(e){const{overflow:t,overflowX:r,overflowY:n,display:i}=$0(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!Qoe.has(i)}const Foe=new Set(["table","td","th"]);function Ooe(e){return Foe.has(q1(e))}const Loe=[":popover-open",":modal"];function v4(e){return Loe.some(t=>{try{return e.matches(t)}catch{return!1}})}const Moe=["transform","translate","scale","rotate","perspective"],Uoe=["transform","translate","scale","rotate","perspective","filter"],zoe=["paint","layout","strict","content"];function V6(e){const t=W6(),r=z0(e)?$0(e):e;return Moe.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||Uoe.some(n=>(r.willChange||"").includes(n))||zoe.some(n=>(r.contain||"").includes(n))}function $oe(e){let t=km(e);for(;Gd(t)&&!d1(t);){if(V6(t))return t;if(v4(t))return null;t=km(t)}return null}function W6(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Hoe=new Set(["html","body","#document"]);function d1(e){return Hoe.has(q1(e))}function $0(e){return ou(e).getComputedStyle(e)}function y4(e){return z0(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function km(e){if(q1(e)==="html")return e;const t=e.assignedSlot||e.parentNode||KD(e)&&e.host||nf(e);return KD(t)?t.host:t}function _L(e){const t=km(e);return d1(t)?e.ownerDocument?e.ownerDocument.body:e.body:Gd(t)&&ny(t)?t:_L(t)}function fv(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);const i=_L(e),s=i===((n=e.ownerDocument)==null?void 0:n.body),o=ou(i);if(s){const l=rN(o);return t.concat(o,o.visualViewport||[],ny(i)?i:[],l&&r?fv(l):[])}return t.concat(i,fv(i,[],r))}function rN(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function DL(e){const t=$0(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const i=Gd(e),s=i?e.offsetWidth:r,o=i?e.offsetHeight:n,l=tw(r)!==s||tw(n)!==o;return l&&(r=s,n=o),{width:r,height:n,$:l}}function K6(e){return z0(e)?e:e.contextElement}function GA(e){const t=K6(e);if(!Gd(t))return $d(1);const r=t.getBoundingClientRect(),{width:n,height:i,$:s}=DL(t);let o=(s?tw(r.width):r.width)/n,l=(s?tw(r.height):r.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const qoe=$d(0);function TL(e){const t=ou(e);return!W6()||!t.visualViewport?qoe:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Goe(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==ou(e)?!1:t}function gg(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);const i=e.getBoundingClientRect(),s=K6(e);let o=$d(1);t&&(n?z0(n)&&(o=GA(n)):o=GA(e));const l=Goe(s,r,n)?TL(s):$d(0);let c=(i.left+l.x)/o.x,d=(i.top+l.y)/o.y,u=i.width/o.x,h=i.height/o.y;if(s){const p=ou(s),A=n&&z0(n)?ou(n):n;let y=p,v=rN(y);for(;v&&n&&A!==y;){const w=GA(v),j=v.getBoundingClientRect(),E=$0(v),S=j.left+(v.clientLeft+parseFloat(E.paddingLeft))*w.x,_=j.top+(v.clientTop+parseFloat(E.paddingTop))*w.y;c*=w.x,d*=w.y,u*=w.x,h*=w.y,c+=S,d+=_,y=ou(v),v=rN(y)}}return nw({width:u,height:h,x:c,y:d})}function b4(e,t){const r=y4(e).scrollLeft;return t?t.left+r:gg(nf(e)).left+r}function RL(e,t){const r=e.getBoundingClientRect(),n=r.left+t.scrollLeft-b4(e,r),i=r.top+t.scrollTop;return{x:n,y:i}}function Voe(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e;const s=i==="fixed",o=nf(n),l=t?v4(t.floating):!1;if(n===o||l&&s)return r;let c={scrollLeft:0,scrollTop:0},d=$d(1);const u=$d(0),h=Gd(n);if((h||!h&&!s)&&((q1(n)!=="body"||ny(o))&&(c=y4(n)),Gd(n))){const A=gg(n);d=GA(n),u.x=A.x+n.clientLeft,u.y=A.y+n.clientTop}const p=o&&!h&&!s?RL(o,c):$d(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-c.scrollLeft*d.x+u.x+p.x,y:r.y*d.y-c.scrollTop*d.y+u.y+p.y}}function Woe(e){return Array.from(e.getClientRects())}function Koe(e){const t=nf(e),r=y4(e),n=e.ownerDocument.body,i=nu(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),s=nu(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let o=-r.scrollLeft+b4(e);const l=-r.scrollTop;return $0(n).direction==="rtl"&&(o+=nu(t.clientWidth,n.clientWidth)-i),{width:i,height:s,x:o,y:l}}const YD=25;function Yoe(e,t){const r=ou(e),n=nf(e),i=r.visualViewport;let s=n.clientWidth,o=n.clientHeight,l=0,c=0;if(i){s=i.width,o=i.height;const u=W6();(!u||u&&t==="fixed")&&(l=i.offsetLeft,c=i.offsetTop)}const d=b4(n);if(d<=0){const u=n.ownerDocument,h=u.body,p=getComputedStyle(h),A=u.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,y=Math.abs(n.clientWidth-h.clientWidth-A);y<=YD&&(s-=y)}else d<=YD&&(s+=d);return{width:s,height:o,x:l,y:c}}const Zoe=new Set(["absolute","fixed"]);function Joe(e,t){const r=gg(e,!0,t==="fixed"),n=r.top+e.clientTop,i=r.left+e.clientLeft,s=Gd(e)?GA(e):$d(1),o=e.clientWidth*s.x,l=e.clientHeight*s.y,c=i*s.x,d=n*s.y;return{width:o,height:l,x:c,y:d}}function ZD(e,t,r){let n;if(t==="viewport")n=Yoe(e,r);else if(t==="document")n=Koe(nf(e));else if(z0(t))n=Joe(t,r);else{const i=TL(e);n={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return nw(n)}function PL(e,t){const r=km(e);return r===t||!z0(r)||d1(r)?!1:$0(r).position==="fixed"||PL(r,t)}function Xoe(e,t){const r=t.get(e);if(r)return r;let n=fv(e,[],!1).filter(l=>z0(l)&&q1(l)!=="body"),i=null;const s=$0(e).position==="fixed";let o=s?km(e):e;for(;z0(o)&&!d1(o);){const l=$0(o),c=V6(o);!c&&l.position==="fixed"&&(i=null),(s?!c&&!i:!c&&l.position==="static"&&!!i&&Zoe.has(i.position)||ny(o)&&!c&&PL(e,o))?n=n.filter(u=>u!==o):i=l,o=km(o)}return t.set(e,n),n}function ele(e){let{element:t,boundary:r,rootBoundary:n,strategy:i}=e;const o=[...r==="clippingAncestors"?v4(t)?[]:Xoe(t,this._c):[].concat(r),n],l=o[0],c=o.reduce((d,u)=>{const h=ZD(t,u,i);return d.top=nu(h.top,d.top),d.right=Bm(h.right,d.right),d.bottom=Bm(h.bottom,d.bottom),d.left=nu(h.left,d.left),d},ZD(t,l,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function tle(e){const{width:t,height:r}=DL(e);return{width:t,height:r}}function rle(e,t,r){const n=Gd(t),i=nf(t),s=r==="fixed",o=gg(e,!0,s,t);let l={scrollLeft:0,scrollTop:0};const c=$d(0);function d(){c.x=b4(i)}if(n||!n&&!s)if((q1(t)!=="body"||ny(i))&&(l=y4(t)),n){const A=gg(t,!0,s,t);c.x=A.x+t.clientLeft,c.y=A.y+t.clientTop}else i&&d();s&&!n&&i&&d();const u=i&&!n&&!s?RL(i,l):$d(0),h=o.left+l.scrollLeft-c.x-u.x,p=o.top+l.scrollTop-c.y-u.y;return{x:h,y:p,width:o.width,height:o.height}}function pI(e){return $0(e).position==="static"}function JD(e,t){if(!Gd(e)||$0(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return nf(e)===r&&(r=r.ownerDocument.body),r}function QL(e,t){const r=ou(e);if(v4(e))return r;if(!Gd(e)){let i=km(e);for(;i&&!d1(i);){if(z0(i)&&!pI(i))return i;i=km(i)}return r}let n=JD(e,t);for(;n&&Ooe(n)&&pI(n);)n=JD(n,t);return n&&d1(n)&&pI(n)&&!V6(n)?r:n||$oe(e)||r}const nle=async function(e){const t=this.getOffsetParent||QL,r=this.getDimensions,n=await r(e.floating);return{reference:rle(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function ile(e){return $0(e).direction==="rtl"}const ale={convertOffsetParentRelativeRectToViewportRelativeRect:Voe,getDocumentElement:nf,getClippingRect:ele,getOffsetParent:QL,getElementRects:nle,getClientRects:Woe,getDimensions:tle,getScale:GA,isElement:z0,isRTL:ile};function FL(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function sle(e,t){let r=null,n;const i=nf(e);function s(){var l;clearTimeout(n),(l=r)==null||l.disconnect(),r=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),s();const d=e.getBoundingClientRect(),{left:u,top:h,width:p,height:A}=d;if(l||t(),!p||!A)return;const y=G2(h),v=G2(i.clientWidth-(u+p)),w=G2(i.clientHeight-(h+A)),j=G2(u),S={rootMargin:-y+"px "+-v+"px "+-w+"px "+-j+"px",threshold:nu(0,Bm(1,c))||1};let _=!0;function C(Q){const R=Q[0].intersectionRatio;if(R!==c){if(!_)return o();R?o(!1,R):n=setTimeout(()=>{o(!1,1e-7)},1e3)}R===1&&!FL(d,e.getBoundingClientRect())&&o(),_=!1}try{r=new IntersectionObserver(C,{...S,root:i.ownerDocument})}catch{r=new IntersectionObserver(C,S)}r.observe(e)}return o(!0),s}function ole(e,t,r,n){n===void 0&&(n={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,d=K6(e),u=i||s?[...d?fv(d):[],...fv(t)]:[];u.forEach(j=>{i&&j.addEventListener("scroll",r,{passive:!0}),s&&j.addEventListener("resize",r)});const h=d&&l?sle(d,r):null;let p=-1,A=null;o&&(A=new ResizeObserver(j=>{let[E]=j;E&&E.target===d&&A&&(A.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var S;(S=A)==null||S.observe(t)})),r()}),d&&!c&&A.observe(d),A.observe(t));let y,v=c?gg(e):null;c&&w();function w(){const j=gg(e);v&&!FL(v,j)&&r(),v=j,y=requestAnimationFrame(w)}return r(),()=>{var j;u.forEach(E=>{i&&E.removeEventListener("scroll",r),s&&E.removeEventListener("resize",r)}),h?.(),(j=A)==null||j.disconnect(),A=null,c&&cancelAnimationFrame(y)}}const lle=Doe,cle=Toe,ule=Boe,dle=Poe,fle=koe,XD=Soe,hle=Roe,mle=(e,t,r)=>{const n=new Map,i={platform:ale,...r},s={...i.platform,_c:n};return Noe(e,t,{...i,platform:s})};var ple=typeof document<"u",gle=function(){},Vb=ple?I.useLayoutEffect:gle;function iw(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,n,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(n=r;n--!==0;)if(!iw(e[n],t[n]))return!1;return!0}if(i=Object.keys(e),r=i.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!{}.hasOwnProperty.call(t,i[n]))return!1;for(n=r;n--!==0;){const s=i[n];if(!(s==="_owner"&&e.$$typeof)&&!iw(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function OL(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function e7(e,t){const r=OL(e);return Math.round(t*r)/r}function gI(e){const t=I.useRef(e);return Vb(()=>{t.current=e}),t}function Ale(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:i,elements:{reference:s,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[u,h]=I.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[p,A]=I.useState(n);iw(p,n)||A(n);const[y,v]=I.useState(null),[w,j]=I.useState(null),E=I.useCallback(q=>{q!==Q.current&&(Q.current=q,v(q))},[]),S=I.useCallback(q=>{q!==R.current&&(R.current=q,j(q))},[]),_=s||y,C=o||w,Q=I.useRef(null),R=I.useRef(null),T=I.useRef(u),M=c!=null,O=gI(c),$=gI(i),P=gI(d),L=I.useCallback(()=>{if(!Q.current||!R.current)return;const q={placement:t,strategy:r,middleware:p};$.current&&(q.platform=$.current),mle(Q.current,R.current,q).then(ee=>{const ne={...ee,isPositioned:P.current!==!1};X.current&&!iw(T.current,ne)&&(T.current=ne,L1.flushSync(()=>{h(ne)}))})},[p,t,r,$,P]);Vb(()=>{d===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,h(q=>({...q,isPositioned:!1})))},[d]);const X=I.useRef(!1);Vb(()=>(X.current=!0,()=>{X.current=!1}),[]),Vb(()=>{if(_&&(Q.current=_),C&&(R.current=C),_&&C){if(O.current)return O.current(_,C,L);L()}},[_,C,L,O,M]);const W=I.useMemo(()=>({reference:Q,floating:R,setReference:E,setFloating:S}),[E,S]),G=I.useMemo(()=>({reference:_,floating:C}),[_,C]),J=I.useMemo(()=>{const q={position:r,left:0,top:0};if(!G.floating)return q;const ee=e7(G.floating,u.x),ne=e7(G.floating,u.y);return l?{...q,transform:"translate("+ee+"px, "+ne+"px)",...OL(G.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:ee,top:ne}},[r,l,G.floating,u.x,u.y]);return I.useMemo(()=>({...u,update:L,refs:W,elements:G,floatingStyles:J}),[u,L,W,G,J])}const xle=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:n,padding:i}=typeof e=="function"?e(r):e;return n&&t(n)?n.current!=null?XD({element:n.current,padding:i}).fn(r):{}:n?XD({element:n,padding:i}).fn(r):{}}}},vle=(e,t)=>({...lle(e),options:[e,t]}),yle=(e,t)=>({...cle(e),options:[e,t]}),ble=(e,t)=>({...hle(e),options:[e,t]}),wle=(e,t)=>({...ule(e),options:[e,t]}),Ele=(e,t)=>({...dle(e),options:[e,t]}),Cle=(e,t)=>({...fle(e),options:[e,t]}),Ile=(e,t)=>({...xle(e),options:[e,t]});var jle="Arrow",LL=I.forwardRef((e,t)=>{const{children:r,width:n=10,height:i=5,...s}=e;return a.jsx(an.svg,{...s,ref:t,width:n,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:a.jsx("polygon",{points:"0,0 30,0 15,10"})})});LL.displayName=jle;var Nle=LL;function ML(e){const[t,r]=I.useState(void 0);return zs(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const s=i[0];let o,l;if("borderBoxSize"in s){const c=s.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=e.offsetWidth,l=e.offsetHeight;r({width:o,height:l})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else r(void 0)},[e]),t}var Y6="Popper",[UL,G1]=Sc(Y6),[Sle,zL]=UL(Y6),$L=e=>{const{__scopePopper:t,children:r}=e,[n,i]=I.useState(null);return a.jsx(Sle,{scope:t,anchor:n,onAnchorChange:i,children:r})};$L.displayName=Y6;var HL="PopperAnchor",qL=I.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:n,...i}=e,s=zL(HL,r),o=I.useRef(null),l=ri(t,o),c=I.useRef(null);return I.useEffect(()=>{const d=c.current;c.current=n?.current||o.current,d!==c.current&&s.onAnchorChange(c.current)}),n?null:a.jsx(an.div,{...i,ref:l})});qL.displayName=HL;var Z6="PopperContent",[Ble,kle]=UL(Z6),GL=I.forwardRef((e,t)=>{const{__scopePopper:r,side:n="bottom",sideOffset:i=0,align:s="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:h="partial",hideWhenDetached:p=!1,updatePositionStrategy:A="optimized",onPlaced:y,...v}=e,w=zL(Z6,r),[j,E]=I.useState(null),S=ri(t,we=>E(we)),[_,C]=I.useState(null),Q=ML(_),R=Q?.width??0,T=Q?.height??0,M=n+(s!=="center"?"-"+s:""),O=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},$=Array.isArray(d)?d:[d],P=$.length>0,L={padding:O,boundary:$.filter(Dle),altBoundary:P},{refs:X,floatingStyles:W,placement:G,isPositioned:J,middlewareData:q}=Ale({strategy:"fixed",placement:M,whileElementsMounted:(...we)=>ole(...we,{animationFrame:A==="always"}),elements:{reference:w.anchor},middleware:[vle({mainAxis:i+T,alignmentAxis:o}),c&&yle({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?ble():void 0,...L}),c&&wle({...L}),Ele({...L,apply:({elements:we,rects:ve,availableWidth:Ne,availableHeight:Ie})=>{const{width:be,height:Re}=ve.reference,Pe=we.floating.style;Pe.setProperty("--radix-popper-available-width",`${Ne}px`),Pe.setProperty("--radix-popper-available-height",`${Ie}px`),Pe.setProperty("--radix-popper-anchor-width",`${be}px`),Pe.setProperty("--radix-popper-anchor-height",`${Re}px`)}}),_&&Ile({element:_,padding:l}),Tle({arrowWidth:R,arrowHeight:T}),p&&Cle({strategy:"referenceHidden",...L})]}),[ee,ne]=KL(G),V=ql(y);zs(()=>{J&&V?.()},[J,V]);const ue=q.arrow?.x,de=q.arrow?.y,xe=q.arrow?.centerOffset!==0,[_e,Ce]=I.useState();return zs(()=>{j&&Ce(window.getComputedStyle(j).zIndex)},[j]),a.jsx("div",{ref:X.setFloating,"data-radix-popper-content-wrapper":"",style:{...W,transform:J?W.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:_e,"--radix-popper-transform-origin":[q.transformOrigin?.x,q.transformOrigin?.y].join(" "),...q.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsx(Ble,{scope:r,placedSide:ee,onArrowChange:C,arrowX:ue,arrowY:de,shouldHideArrow:xe,children:a.jsx(an.div,{"data-side":ee,"data-align":ne,...v,ref:S,style:{...v.style,animation:J?void 0:"none"}})})})});GL.displayName=Z6;var VL="PopperArrow",_le={top:"bottom",right:"left",bottom:"top",left:"right"},WL=I.forwardRef(function(t,r){const{__scopePopper:n,...i}=t,s=kle(VL,n),o=_le[s.placedSide];return a.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:a.jsx(Nle,{...i,ref:r,style:{...i.style,display:"block"}})})});WL.displayName=VL;function Dle(e){return e!==null}var Tle=e=>({name:"transformOrigin",options:e,fn(t){const{placement:r,rects:n,middlewareData:i}=t,o=i.arrow?.centerOffset!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[d,u]=KL(r),h={start:"0%",center:"50%",end:"100%"}[u],p=(i.arrow?.x??0)+l/2,A=(i.arrow?.y??0)+c/2;let y="",v="";return d==="bottom"?(y=o?h:`${p}px`,v=`${-c}px`):d==="top"?(y=o?h:`${p}px`,v=`${n.floating.height+c}px`):d==="right"?(y=`${-c}px`,v=o?h:`${A}px`):d==="left"&&(y=`${n.floating.width+c}px`,v=o?h:`${A}px`),{data:{x:y,y:v}}}});function KL(e){const[t,r="center"]=e.split("-");return[t,r]}var J6=$L,X6=qL,eS=GL,tS=WL,Rle=Symbol("radix.slottable");function Ple(e){const t=({children:r})=>a.jsx(a.Fragment,{children:r});return t.displayName=`${e}.Slottable`,t.__radixId=Rle,t}var[w4]=Sc("Tooltip",[G1]),E4=G1(),YL="TooltipProvider",Qle=700,nN="tooltip.open",[Fle,rS]=w4(YL),ZL=e=>{const{__scopeTooltip:t,delayDuration:r=Qle,skipDelayDuration:n=300,disableHoverableContent:i=!1,children:s}=e,o=I.useRef(!0),l=I.useRef(!1),c=I.useRef(0);return I.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),a.jsx(Fle,{scope:t,isOpenDelayedRef:o,delayDuration:r,onOpen:I.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:I.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,n)},[n]),isPointerInTransitRef:l,onPointerInTransitChange:I.useCallback(d=>{l.current=d},[]),disableHoverableContent:i,children:s})};ZL.displayName=YL;var hv="Tooltip",[Ole,C4]=w4(hv),JL=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:i,onOpenChange:s,disableHoverableContent:o,delayDuration:l}=e,c=rS(hv,e.__scopeTooltip),d=E4(t),[u,h]=I.useState(null),p=su(),A=I.useRef(0),y=o??c.disableHoverableContent,v=l??c.delayDuration,w=I.useRef(!1),[j,E]=a0({prop:n,defaultProp:i??!1,onChange:R=>{R?(c.onOpen(),document.dispatchEvent(new CustomEvent(nN))):c.onClose(),s?.(R)},caller:hv}),S=I.useMemo(()=>j?w.current?"delayed-open":"instant-open":"closed",[j]),_=I.useCallback(()=>{window.clearTimeout(A.current),A.current=0,w.current=!1,E(!0)},[E]),C=I.useCallback(()=>{window.clearTimeout(A.current),A.current=0,E(!1)},[E]),Q=I.useCallback(()=>{window.clearTimeout(A.current),A.current=window.setTimeout(()=>{w.current=!0,E(!0),A.current=0},v)},[v,E]);return I.useEffect(()=>()=>{A.current&&(window.clearTimeout(A.current),A.current=0)},[]),a.jsx(J6,{...d,children:a.jsx(Ole,{scope:t,contentId:p,open:j,stateAttribute:S,trigger:u,onTriggerChange:h,onTriggerEnter:I.useCallback(()=>{c.isOpenDelayedRef.current?Q():_()},[c.isOpenDelayedRef,Q,_]),onTriggerLeave:I.useCallback(()=>{y?C():(window.clearTimeout(A.current),A.current=0)},[C,y]),onOpen:_,onClose:C,disableHoverableContent:y,children:r})})};JL.displayName=hv;var iN="TooltipTrigger",XL=I.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,i=C4(iN,r),s=rS(iN,r),o=E4(r),l=I.useRef(null),c=ri(t,l,i.onTriggerChange),d=I.useRef(!1),u=I.useRef(!1),h=I.useCallback(()=>d.current=!1,[]);return I.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),a.jsx(X6,{asChild:!0,...o,children:a.jsx(an.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...n,ref:c,onPointerMove:yr(e.onPointerMove,p=>{p.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:yr(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:yr(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:yr(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:yr(e.onBlur,i.onClose),onClick:yr(e.onClick,i.onClose)})})});XL.displayName=iN;var Lle="TooltipPortal",[jGe,Mle]=w4(Lle,{forceMount:void 0}),f1="TooltipContent",eM=I.forwardRef((e,t)=>{const r=Mle(f1,e.__scopeTooltip),{forceMount:n=r.forceMount,side:i="top",...s}=e,o=C4(f1,e.__scopeTooltip);return a.jsx(hu,{present:n||o.open,children:o.disableHoverableContent?a.jsx(tM,{side:i,...s,ref:t}):a.jsx(Ule,{side:i,...s,ref:t})})}),Ule=I.forwardRef((e,t)=>{const r=C4(f1,e.__scopeTooltip),n=rS(f1,e.__scopeTooltip),i=I.useRef(null),s=ri(t,i),[o,l]=I.useState(null),{trigger:c,onClose:d}=r,u=i.current,{onPointerInTransitChange:h}=n,p=I.useCallback(()=>{l(null),h(!1)},[h]),A=I.useCallback((y,v)=>{const w=y.currentTarget,j={x:y.clientX,y:y.clientY},E=Gle(j,w.getBoundingClientRect()),S=Vle(j,E),_=Wle(v.getBoundingClientRect()),C=Yle([...S,..._]);l(C),h(!0)},[h]);return I.useEffect(()=>()=>p(),[p]),I.useEffect(()=>{if(c&&u){const y=w=>A(w,u),v=w=>A(w,c);return c.addEventListener("pointerleave",y),u.addEventListener("pointerleave",v),()=>{c.removeEventListener("pointerleave",y),u.removeEventListener("pointerleave",v)}}},[c,u,A,p]),I.useEffect(()=>{if(o){const y=v=>{const w=v.target,j={x:v.clientX,y:v.clientY},E=c?.contains(w)||u?.contains(w),S=!Kle(j,o);E?p():S&&(p(),d())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[c,u,o,d,p]),a.jsx(tM,{...e,ref:s})}),[zle,$le]=w4(hv,{isInside:!1}),Hle=Ple("TooltipContent"),tM=I.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":i,onEscapeKeyDown:s,onPointerDownOutside:o,...l}=e,c=C4(f1,r),d=E4(r),{onClose:u}=c;return I.useEffect(()=>(document.addEventListener(nN,u),()=>document.removeEventListener(nN,u)),[u]),I.useEffect(()=>{if(c.trigger){const h=p=>{p.target?.contains(c.trigger)&&u()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,u]),a.jsx(M1,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:h=>h.preventDefault(),onDismiss:u,children:a.jsxs(eS,{"data-state":c.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[a.jsx(Hle,{children:n}),a.jsx(zle,{scope:r,isInside:!0,children:a.jsx(Pae,{id:c.contentId,role:"tooltip",children:i||n})})]})})});eM.displayName=f1;var rM="TooltipArrow",qle=I.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,i=E4(r);return $le(rM,r).isInside?null:a.jsx(tS,{...i,...n,ref:t})});qle.displayName=rM;function Gle(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,i,s)){case s:return"left";case i:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function Vle(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function Wle(e){const{top:t,right:r,bottom:n,left:i}=e;return[{x:i,y:t},{x:r,y:t},{x:r,y:n},{x:i,y:n}]}function Kle(e,t){const{x:r,y:n}=e;let i=!1;for(let s=0,o=t.length-1;sn!=p>n&&r<(h-d)*(n-u)/(p-u)+d&&(i=!i)}return i}function Yle(e){const t=e.slice();return t.sort((r,n)=>r.xn.x?1:r.yn.y?1:0),Zle(t)}function Zle(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n=2;){const s=t[t.length-1],o=t[t.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))t.pop();else break}t.push(i)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const i=e[n];for(;r.length>=2;){const s=r[r.length-1],o=r[r.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))r.pop();else break}r.push(i)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var Jle=ZL,Xle=JL,ece=XL,nM=eM;const vm=Jle,iy=Xle,ay=ece,V1=I.forwardRef(({className:e,sideOffset:t=4,...r},n)=>a.jsx(nM,{ref:n,sideOffset:t,className:nr("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...r}));V1.displayName=nM.displayName;var tce=Symbol.for("react.lazy"),aw=l4[" use ".trim().toString()];function rce(e){return typeof e=="object"&&e!==null&&"then"in e}function iM(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===tce&&"_payload"in e&&rce(e._payload)}function sy(e){const t=nce(e),r=I.forwardRef((n,i)=>{let{children:s,...o}=n;iM(s)&&typeof aw=="function"&&(s=aw(s._payload));const l=I.Children.toArray(s),c=l.find(ace);if(c){const d=c.props.children,u=l.map(h=>h===c?I.Children.count(d)>1?I.Children.only(null):I.isValidElement(d)?d.props.children:null:h);return a.jsx(t,{...o,ref:i,children:I.isValidElement(d)?I.cloneElement(d,void 0,u):null})}return a.jsx(t,{...o,ref:i,children:s})});return r.displayName=`${e}.Slot`,r}var nS=sy("Slot");function nce(e){const t=I.forwardRef((r,n)=>{let{children:i,...s}=r;if(iM(i)&&typeof aw=="function"&&(i=aw(i._payload)),I.isValidElement(i)){const o=oce(i),l=sce(s,i.props);return i.type!==I.Fragment&&(l.ref=n?rh(n,o):o),I.cloneElement(i,l)}return I.Children.count(i)>1?I.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ice=Symbol("radix.slottable");function ace(e){return I.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ice}function sce(e,t){const r={...t};for(const n in t){const i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...l)=>{const c=s(...l);return i(...l),c}:i&&(r[n]=i):n==="style"?r[n]={...i,...s}:n==="className"&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}function oce(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}const AI=768;function lce(){const[e,t]=I.useState(void 0);return I.useEffect(()=>{const r=window.matchMedia(`(max-width: ${AI-1}px)`),n=()=>{t(window.innerWidthr.removeEventListener("change",n)},[]),!!e}const iS=Dg("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover-elevate active-elevate-2",{variants:{variant:{default:"bg-primary text-primary-foreground border border-primary-border",destructive:"bg-destructive text-destructive-foreground border border-destructive-border",outline:" border [border-color:var(--button-outline)] shadow-xs active:shadow-none ",secondary:"border bg-secondary text-secondary-foreground border border-secondary-border ",ghost:"border border-transparent"},size:{default:"min-h-9 px-4 py-2",sm:"min-h-8 rounded-md px-3 text-xs",lg:"min-h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ge=I.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...i},s)=>{const o=n?nS:"button";return a.jsx(o,{className:nr(iS({variant:t,size:r,className:e})),ref:s,...i})});ge.displayName="Button";const Xe=I.forwardRef(({className:e,type:t,...r},n)=>a.jsx("input",{type:t,className:nr("flex h-9 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...r}));Xe.displayName="Input";var cce=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],uce=cce.reduce((e,t)=>{const r=sy(`Primitive.${t}`),n=I.forwardRef((i,s)=>{const{asChild:o,...l}=i,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(c,{...l,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),dce="Separator",t7="horizontal",fce=["horizontal","vertical"],aM=I.forwardRef((e,t)=>{const{decorative:r,orientation:n=t7,...i}=e,s=hce(n)?n:t7,l=r?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return a.jsx(uce.div,{"data-orientation":s,...l,...i,ref:t})});aM.displayName=dce;function hce(e){return fce.includes(e)}var sM=aM;const Wb=I.forwardRef(({className:e,orientation:t="horizontal",decorative:r=!0,...n},i)=>a.jsx(sM,{ref:i,decorative:r,orientation:t,className:nr("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...n}));Wb.displayName=sM.displayName;var xI="focusScope.autoFocusOnMount",vI="focusScope.autoFocusOnUnmount",r7={bubbles:!1,cancelable:!0},mce="FocusScope",I4=I.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...o}=e,[l,c]=I.useState(null),d=ql(i),u=ql(s),h=I.useRef(null),p=ri(t,v=>c(v)),A=I.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;I.useEffect(()=>{if(n){let v=function(S){if(A.paused||!l)return;const _=S.target;l.contains(_)?h.current=_:tm(h.current,{select:!0})},w=function(S){if(A.paused||!l)return;const _=S.relatedTarget;_!==null&&(l.contains(_)||tm(h.current,{select:!0}))},j=function(S){if(document.activeElement===document.body)for(const C of S)C.removedNodes.length>0&&tm(l)};document.addEventListener("focusin",v),document.addEventListener("focusout",w);const E=new MutationObserver(j);return l&&E.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",w),E.disconnect()}}},[n,l,A.paused]),I.useEffect(()=>{if(l){i7.add(A);const v=document.activeElement;if(!l.contains(v)){const j=new CustomEvent(xI,r7);l.addEventListener(xI,d),l.dispatchEvent(j),j.defaultPrevented||(pce(yce(oM(l)),{select:!0}),document.activeElement===v&&tm(l))}return()=>{l.removeEventListener(xI,d),setTimeout(()=>{const j=new CustomEvent(vI,r7);l.addEventListener(vI,u),l.dispatchEvent(j),j.defaultPrevented||tm(v??document.body,{select:!0}),l.removeEventListener(vI,u),i7.remove(A)},0)}}},[l,d,u,A]);const y=I.useCallback(v=>{if(!r&&!n||A.paused)return;const w=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,j=document.activeElement;if(w&&j){const E=v.currentTarget,[S,_]=gce(E);S&&_?!v.shiftKey&&j===_?(v.preventDefault(),r&&tm(S,{select:!0})):v.shiftKey&&j===S&&(v.preventDefault(),r&&tm(_,{select:!0})):j===E&&v.preventDefault()}},[r,n,A.paused]);return a.jsx(an.div,{tabIndex:-1,...o,ref:p,onKeyDown:y})});I4.displayName=mce;function pce(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(tm(n,{select:t}),document.activeElement!==r)return}function gce(e){const t=oM(e),r=n7(t,e),n=n7(t.reverse(),e);return[r,n]}function oM(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function n7(e,t){for(const r of e)if(!Ace(r,{upTo:t}))return r}function Ace(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function xce(e){return e instanceof HTMLInputElement&&"select"in e}function tm(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&xce(e)&&t&&e.select()}}var i7=vce();function vce(){let e=[];return{add(t){const r=e[0];t!==r&&r?.pause(),e=a7(e,t),e.unshift(t)},remove(t){e=a7(e,t),e[0]?.resume()}}}function a7(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function yce(e){return e.filter(t=>t.tagName!=="A")}var yI=0;function aS(){I.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??s7()),document.body.insertAdjacentElement("beforeend",e[1]??s7()),yI++,()=>{yI===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),yI--}},[])}function s7(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Sd=function(){return Sd=Object.assign||function(t){for(var r,n=1,i=arguments.length;n=0;l--)(o=e[l])&&(s=(i<3?o(s):i>3?o(t,r,s):o(t,r))||s);return i>3&&s&&Object.defineProperty(t,r,s),s}function bce(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,s;n"u")return Fce;var t=Oce(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Mce=dM(),VA="data-scroll-locked",Uce=function(e,t,r,n){var i=e.left,s=e.top,o=e.right,l=e.gap;return r===void 0&&(r="margin"),` .`.concat(wce,` { overflow: hidden `).concat(n,`; padding-right: `).concat(l,"px ").concat(n,`; } body[`).concat(VA,`] { overflow: hidden `).concat(n,`; overscroll-behavior: contain; `).concat([t&&"position: relative ".concat(n,";"),r==="margin"&&` padding-left: `.concat(i,`px; padding-top: `).concat(s,`px; padding-right: `).concat(o,`px; margin-left:0; margin-top:0; margin-right: `).concat(l,"px ").concat(n,`; `),r==="padding"&&"padding-right: ".concat(l,"px ").concat(n,";")].filter(Boolean).join(""),` } .`).concat(Kb,` { right: `).concat(l,"px ").concat(n,`; } .`).concat(Yb,` { margin-right: `).concat(l,"px ").concat(n,`; } .`).concat(Kb," .").concat(Kb,` { right: 0 `).concat(n,`; } .`).concat(Yb," .").concat(Yb,` { margin-right: 0 `).concat(n,`; } body[`).concat(VA,`] { `).concat(Ece,": ").concat(l,`px; } `)},l7=function(){var e=parseInt(document.body.getAttribute(VA)||"0",10);return isFinite(e)?e:0},zce=function(){I.useEffect(function(){return document.body.setAttribute(VA,(l7()+1).toString()),function(){var e=l7()-1;e<=0?document.body.removeAttribute(VA):document.body.setAttribute(VA,e.toString())}},[])},$ce=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=n===void 0?"margin":n;zce();var s=I.useMemo(function(){return Lce(i)},[i]);return I.createElement(Mce,{styles:Uce(s,!t,i,r?"":"!important")})},aN=!1;if(typeof window<"u")try{var V2=Object.defineProperty({},"passive",{get:function(){return aN=!0,!0}});window.addEventListener("test",V2,V2),window.removeEventListener("test",V2,V2)}catch{aN=!1}var yA=aN?{passive:!1}:!1,Hce=function(e){return e.tagName==="TEXTAREA"},fM=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!Hce(e)&&r[t]==="visible")},qce=function(e){return fM(e,"overflowY")},Gce=function(e){return fM(e,"overflowX")},c7=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=hM(e,n);if(i){var s=mM(e,n),o=s[1],l=s[2];if(o>l)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},Vce=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},Wce=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},hM=function(e,t){return e==="v"?qce(t):Gce(t)},mM=function(e,t){return e==="v"?Vce(t):Wce(t)},Kce=function(e,t){return e==="h"&&t==="rtl"?-1:1},Yce=function(e,t,r,n,i){var s=Kce(e,window.getComputedStyle(t).direction),o=s*n,l=r.target,c=t.contains(l),d=!1,u=o>0,h=0,p=0;do{if(!l)break;var A=mM(e,l),y=A[0],v=A[1],w=A[2],j=v-w-s*y;(y||j)&&hM(e,l)&&(h+=j,p+=y);var E=l.parentNode;l=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!c&&l!==document.body||c&&(t.contains(l)||t===l));return(u&&Math.abs(h)<1||!u&&Math.abs(p)<1)&&(d=!0),d},W2=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},u7=function(e){return[e.deltaX,e.deltaY]},d7=function(e){return e&&"current"in e?e.current:e},Zce=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Jce=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} `)},Xce=0,bA=[];function eue(e){var t=I.useRef([]),r=I.useRef([0,0]),n=I.useRef(),i=I.useState(Xce++)[0],s=I.useState(dM)[0],o=I.useRef(e);I.useEffect(function(){o.current=e},[e]),I.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var v=bce([e.lockRef.current],(e.shards||[]).map(d7),!0).filter(Boolean);return v.forEach(function(w){return w.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),v.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var l=I.useCallback(function(v,w){if("touches"in v&&v.touches.length===2||v.type==="wheel"&&v.ctrlKey)return!o.current.allowPinchZoom;var j=W2(v),E=r.current,S="deltaX"in v?v.deltaX:E[0]-j[0],_="deltaY"in v?v.deltaY:E[1]-j[1],C,Q=v.target,R=Math.abs(S)>Math.abs(_)?"h":"v";if("touches"in v&&R==="h"&&Q.type==="range")return!1;var T=window.getSelection(),M=T&&T.anchorNode,O=M?M===Q||M.contains(Q):!1;if(O)return!1;var $=c7(R,Q);if(!$)return!0;if($?C=R:(C=R==="v"?"h":"v",$=c7(R,Q)),!$)return!1;if(!n.current&&"changedTouches"in v&&(S||_)&&(n.current=C),!C)return!0;var P=n.current||C;return Yce(P,w,v,P==="h"?S:_)},[]),c=I.useCallback(function(v){var w=v;if(!(!bA.length||bA[bA.length-1]!==s)){var j="deltaY"in w?u7(w):W2(w),E=t.current.filter(function(C){return C.name===w.type&&(C.target===w.target||w.target===C.shadowParent)&&Zce(C.delta,j)})[0];if(E&&E.should){w.cancelable&&w.preventDefault();return}if(!E){var S=(o.current.shards||[]).map(d7).filter(Boolean).filter(function(C){return C.contains(w.target)}),_=S.length>0?l(w,S[0]):!o.current.noIsolation;_&&w.cancelable&&w.preventDefault()}}},[]),d=I.useCallback(function(v,w,j,E){var S={name:v,delta:w,target:j,should:E,shadowParent:tue(j)};t.current.push(S),setTimeout(function(){t.current=t.current.filter(function(_){return _!==S})},1)},[]),u=I.useCallback(function(v){r.current=W2(v),n.current=void 0},[]),h=I.useCallback(function(v){d(v.type,u7(v),v.target,l(v,e.lockRef.current))},[]),p=I.useCallback(function(v){d(v.type,W2(v),v.target,l(v,e.lockRef.current))},[]);I.useEffect(function(){return bA.push(s),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:p}),document.addEventListener("wheel",c,yA),document.addEventListener("touchmove",c,yA),document.addEventListener("touchstart",u,yA),function(){bA=bA.filter(function(v){return v!==s}),document.removeEventListener("wheel",c,yA),document.removeEventListener("touchmove",c,yA),document.removeEventListener("touchstart",u,yA)}},[]);var A=e.removeScrollBar,y=e.inert;return I.createElement(I.Fragment,null,y?I.createElement(s,{styles:Jce(i)}):null,A?I.createElement($ce,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function tue(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const rue=kce(uM,eue);var N4=I.forwardRef(function(e,t){return I.createElement(j4,Sd({},e,{ref:t,sideCar:rue}))});N4.classNames=j4.classNames;var nue=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},wA=new WeakMap,K2=new WeakMap,Y2={},CI=0,pM=function(e){return e&&(e.host||pM(e.parentNode))},iue=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=pM(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},aue=function(e,t,r,n){var i=iue(t,Array.isArray(e)?e:[e]);Y2[r]||(Y2[r]=new WeakMap);var s=Y2[r],o=[],l=new Set,c=new Set(i),d=function(h){!h||l.has(h)||(l.add(h),d(h.parentNode))};i.forEach(d);var u=function(h){!h||c.has(h)||Array.prototype.forEach.call(h.children,function(p){if(l.has(p))u(p);else try{var A=p.getAttribute(n),y=A!==null&&A!=="false",v=(wA.get(p)||0)+1,w=(s.get(p)||0)+1;wA.set(p,v),s.set(p,w),o.push(p),v===1&&y&&K2.set(p,!0),w===1&&p.setAttribute(r,"true"),y||p.setAttribute(n,"true")}catch(j){console.error("aria-hidden: cannot operate on ",p,j)}})};return u(t),l.clear(),CI++,function(){o.forEach(function(h){var p=wA.get(h)-1,A=s.get(h)-1;wA.set(h,p),s.set(h,A),p||(K2.has(h)||h.removeAttribute(n),K2.delete(h)),A||h.removeAttribute(r)}),CI--,CI||(wA=new WeakMap,wA=new WeakMap,K2=new WeakMap,Y2={})}},sS=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=nue(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),aue(n,i,r,"aria-hidden")):function(){return null}};function sue(e){const t=oue(e),r=I.forwardRef((n,i)=>{const{children:s,...o}=n,l=I.Children.toArray(s),c=l.find(cue);if(c){const d=c.props.children,u=l.map(h=>h===c?I.Children.count(d)>1?I.Children.only(null):I.isValidElement(d)?d.props.children:null:h);return a.jsx(t,{...o,ref:i,children:I.isValidElement(d)?I.cloneElement(d,void 0,u):null})}return a.jsx(t,{...o,ref:i,children:s})});return r.displayName=`${e}.Slot`,r}function oue(e){const t=I.forwardRef((r,n)=>{const{children:i,...s}=r;if(I.isValidElement(i)){const o=due(i),l=uue(s,i.props);return i.type!==I.Fragment&&(l.ref=n?rh(n,o):o),I.cloneElement(i,l)}return I.Children.count(i)>1?I.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var lue=Symbol("radix.slottable");function cue(e){return I.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===lue}function uue(e,t){const r={...t};for(const n in t){const i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...l)=>{const c=s(...l);return i(...l),c}:i&&(r[n]=i):n==="style"?r[n]={...i,...s}:n==="className"&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}function due(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var S4="Dialog",[gM,AM]=Sc(S4),[fue,W0]=gM(S4),xM=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:s,modal:o=!0}=e,l=I.useRef(null),c=I.useRef(null),[d,u]=a0({prop:n,defaultProp:i??!1,onChange:s,caller:S4});return a.jsx(fue,{scope:t,triggerRef:l,contentRef:c,contentId:su(),titleId:su(),descriptionId:su(),open:d,onOpenChange:u,onOpenToggle:I.useCallback(()=>u(h=>!h),[u]),modal:o,children:r})};xM.displayName=S4;var vM="DialogTrigger",yM=I.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=W0(vM,r),s=ri(t,i.triggerRef);return a.jsx(an.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":cS(i.open),...n,ref:s,onClick:yr(e.onClick,i.onOpenToggle)})});yM.displayName=vM;var oS="DialogPortal",[hue,bM]=gM(oS,{forceMount:void 0}),wM=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,s=W0(oS,t);return a.jsx(hue,{scope:t,forceMount:r,children:I.Children.map(n,o=>a.jsx(hu,{present:r||s.open,children:a.jsx(Yv,{asChild:!0,container:i,children:o})}))})};wM.displayName=oS;var sw="DialogOverlay",EM=I.forwardRef((e,t)=>{const r=bM(sw,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,s=W0(sw,e.__scopeDialog);return s.modal?a.jsx(hu,{present:n||s.open,children:a.jsx(pue,{...i,ref:t})}):null});EM.displayName=sw;var mue=sue("DialogOverlay.RemoveScroll"),pue=I.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=W0(sw,r);return a.jsx(N4,{as:mue,allowPinchZoom:!0,shards:[i.contentRef],children:a.jsx(an.div,{"data-state":cS(i.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),Ag="DialogContent",CM=I.forwardRef((e,t)=>{const r=bM(Ag,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,s=W0(Ag,e.__scopeDialog);return a.jsx(hu,{present:n||s.open,children:s.modal?a.jsx(gue,{...i,ref:t}):a.jsx(Aue,{...i,ref:t})})});CM.displayName=Ag;var gue=I.forwardRef((e,t)=>{const r=W0(Ag,e.__scopeDialog),n=I.useRef(null),i=ri(t,r.contentRef,n);return I.useEffect(()=>{const s=n.current;if(s)return sS(s)},[]),a.jsx(IM,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:yr(e.onCloseAutoFocus,s=>{s.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:yr(e.onPointerDownOutside,s=>{const o=s.detail.originalEvent,l=o.button===0&&o.ctrlKey===!0;(o.button===2||l)&&s.preventDefault()}),onFocusOutside:yr(e.onFocusOutside,s=>s.preventDefault())})}),Aue=I.forwardRef((e,t)=>{const r=W0(Ag,e.__scopeDialog),n=I.useRef(!1),i=I.useRef(!1);return a.jsx(IM,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(n.current||r.triggerRef.current?.focus(),s.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(n.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const o=s.target;r.triggerRef.current?.contains(o)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),IM=I.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:s,...o}=e,l=W0(Ag,r),c=I.useRef(null),d=ri(t,c);return aS(),a.jsxs(a.Fragment,{children:[a.jsx(I4,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:s,children:a.jsx(M1,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":cS(l.open),...o,ref:d,onDismiss:()=>l.onOpenChange(!1)})}),a.jsxs(a.Fragment,{children:[a.jsx(vue,{titleId:l.titleId}),a.jsx(bue,{contentRef:c,descriptionId:l.descriptionId})]})]})}),lS="DialogTitle",jM=I.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=W0(lS,r);return a.jsx(an.h2,{id:i.titleId,...n,ref:t})});jM.displayName=lS;var NM="DialogDescription",SM=I.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=W0(NM,r);return a.jsx(an.p,{id:i.descriptionId,...n,ref:t})});SM.displayName=NM;var BM="DialogClose",kM=I.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=W0(BM,r);return a.jsx(an.button,{type:"button",...n,ref:t,onClick:yr(e.onClick,()=>i.onOpenChange(!1))})});kM.displayName=BM;function cS(e){return e?"open":"closed"}var _M="DialogTitleWarning",[xue,DM]=iae(_M,{contentName:Ag,titleName:lS,docsSlug:"dialog"}),vue=({titleId:e})=>{const t=DM(_M),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return I.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},yue="DialogDescriptionWarning",bue=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${DM(yue).contentName}}.`;return I.useEffect(()=>{const i=e.current?.getAttribute("aria-describedby");t&&i&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},uS=xM,TM=yM,dS=wM,oy=EM,ly=CM,cy=jM,uy=SM,B4=kM;const wue=uS,Eue=dS,RM=I.forwardRef(({className:e,...t},r)=>a.jsx(oy,{className:nr("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));RM.displayName=oy.displayName;const Cue=Dg("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),PM=I.forwardRef(({side:e="right",className:t,children:r,...n},i)=>a.jsxs(Eue,{children:[a.jsx(RM,{}),a.jsxs(ly,{ref:i,className:nr(Cue({side:e}),t),...n,children:[r,a.jsxs(B4,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[a.jsx(Nn,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));PM.displayName=ly.displayName;const QM=({className:e,...t})=>a.jsx("div",{className:nr("flex flex-col space-y-2 text-center sm:text-left",e),...t});QM.displayName="SheetHeader";const FM=I.forwardRef(({className:e,...t},r)=>a.jsx(cy,{ref:r,className:nr("text-lg font-semibold text-foreground",e),...t}));FM.displayName=cy.displayName;const OM=I.forwardRef(({className:e,...t},r)=>a.jsx(uy,{ref:r,className:nr("text-sm text-muted-foreground",e),...t}));OM.displayName=uy.displayName;const Iue="sidebar_state",jue=3600*24*7,Nue="16rem",Sue="18rem",Bue="3rem",kue="b",LM=I.createContext(null);function fS(){const e=I.useContext(LM);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function _ue({defaultOpen:e=!0,open:t,onOpenChange:r,className:n,style:i,children:s,...o}){const l=lce(),[c,d]=I.useState(!1),[u,h]=I.useState(e),p=t??u,A=I.useCallback(j=>{const E=typeof j=="function"?j(p):j;r?r(E):h(E),document.cookie=`${Iue}=${E}; path=/; max-age=${jue}`},[r,p]),y=I.useCallback(()=>l?d(j=>!j):A(j=>!j),[l,A,d]);I.useEffect(()=>{const j=E=>{E.key===kue&&(E.metaKey||E.ctrlKey)&&(E.preventDefault(),y())};return window.addEventListener("keydown",j),()=>window.removeEventListener("keydown",j)},[y]);const v=p?"expanded":"collapsed",w=I.useMemo(()=>({state:v,open:p,setOpen:A,isMobile:l,openMobile:c,setOpenMobile:d,toggleSidebar:y}),[v,p,A,l,c,d,y]);return a.jsx(LM.Provider,{value:w,children:a.jsx(vm,{delayDuration:0,children:a.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":Nue,"--sidebar-width-icon":Bue,...i},className:nr("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",n),...o,children:s})})})}function Due({side:e="left",variant:t="sidebar",collapsible:r="offcanvas",className:n,children:i,...s}){const{isMobile:o,state:l,openMobile:c,setOpenMobile:d}=fS();return r==="none"?a.jsx("div",{"data-slot":"sidebar",className:nr("bg-sidebar text-sidebar-foreground flex h-full w-[var(--sidebar-width)] flex-col",n),...s,children:i}):o?a.jsx(wue,{open:c,onOpenChange:d,...s,children:a.jsxs(PM,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-[var(--sidebar-width)] p-0 [&>button]:hidden",style:{"--sidebar-width":Sue},side:e,children:[a.jsxs(QM,{className:"sr-only",children:[a.jsx(FM,{children:"Sidebar"}),a.jsx(OM,{children:"Displays the mobile sidebar."})]}),a.jsx("div",{className:"flex h-full w-full flex-col",children:i})]})}):a.jsxs("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":l,"data-collapsible":l==="collapsed"?r:"","data-variant":t,"data-side":e,"data-slot":"sidebar",children:[a.jsx("div",{"data-slot":"sidebar-gap",className:nr("relative w-[var(--sidebar-width)] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+var(--spacing-4))]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]")}),a.jsx("div",{"data-slot":"sidebar-container",className:nr("fixed inset-y-0 z-10 hidden h-svh w-[var(--sidebar-width)] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+var(--spacing-4)+2px)]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...s,children:a.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:i})})]})}function Tue({className:e,onClick:t,...r}){const{toggleSidebar:n}=fS();return a.jsxs(ge,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:nr("h-7 w-7",e),onClick:i=>{t?.(i),n()},...r,children:[a.jsx(Ese,{}),a.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function Rue({className:e,...t}){return a.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:nr("flex flex-col gap-2 p-2",e),...t})}function Pue({className:e,...t}){return a.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:nr("flex flex-col gap-2 p-2",e),...t})}function Que({className:e,...t}){return a.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:nr("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t})}function Fue({className:e,...t}){return a.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:nr("relative flex w-full min-w-0 flex-col p-2",e),...t})}function Oue({className:e,asChild:t=!1,...r}){const n=t?nS:"div";return a.jsx(n,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:nr("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:h-4 [&>svg]:w-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})}function Lue({className:e,...t}){return a.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:nr("w-full text-sm",e),...t})}function Mue({className:e,...t}){return a.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:nr("flex w-full min-w-0 flex-col gap-1",e),...t})}function Uue({className:e,...t}){return a.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:nr("group/menu-item relative",e),...t})}const zue=Dg("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:w-8! group-data-[collapsible=icon]:h-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function $ue({asChild:e=!1,isActive:t=!1,variant:r="default",size:n="default",tooltip:i,className:s,...o}){const l=e?nS:"button",{isMobile:c,state:d}=fS(),u=a.jsx(l,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":n,"data-active":t,className:nr(zue({variant:r,size:n}),s),...o});return i?(typeof i=="string"&&(i={children:i}),a.jsxs(iy,{children:[a.jsx(ay,{asChild:!0,children:u}),a.jsx(V1,{side:"right",align:"center",hidden:d!=="collapsed"||c,...i})]})):u}function Vd(){return localStorage.getItem("parcapp_token")}function Hue(e){localStorage.setItem("parcapp_token",e)}function f7(){localStorage.removeItem("parcapp_token")}async function sN(e,t={}){const r=Vd(),n=e.startsWith("http")?e:$s(e),i={Accept:"application/json",...t.headers||{}};r&&(i.Authorization=`Bearer ${r}`);let s=t.body;const o=typeof FormData<"u"&&s instanceof FormData;s!=null&&!o&&typeof s=="object"&&(s=JSON.stringify(s)),s!=null&&!o&&(Object.keys(i).some(p=>p.toLowerCase()==="content-type")||(i["Content-Type"]="application/json"));const l=await fetch(n,{...t,headers:i,body:s,redirect:"manual",credentials:"include"});if(l.status===204)return;const c=l.headers.get("content-type")||"",d=await l.text();let u=null;if(d)if(c.includes("application/json"))try{u=JSON.parse(d)}catch{throw{status:l.status,message:"La réponse n'est pas du JSON valide."}}else u=d;if(!l.ok){const h=u&&u.message||u&&u.error||u&&u.errors&&Object.values(u.errors)[0]?.[0]||l.statusText||"Erreur API";throw{status:l.status,message:h}}return u}function ih(){const e=Vd(),{data:t,isLoading:r}=cr({queryKey:["auth","me"],queryFn:async()=>{if(!e)return null;if(typeof navigator<"u"&&!navigator.onLine)return console.warn("[User] Offline: skipping /api/me call"),null;try{return await sN("/api/me")}catch(n){const i=n;if(i.status===401||i.status===403)return null;if(typeof navigator<"u"&&!navigator.onLine)return console.warn("[User] Network error while offline: returning null"),null;throw n}},enabled:typeof navigator<"u"&&navigator.onLine&&!!e,staleTime:300*1e3,retry:!1});return{data:t||null,isLoading:r}}const que="modulepreload",Gue=function(e){return"/"+e},h7={},On=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let c=function(d){return Promise.all(d.map(u=>Promise.resolve(u).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=c(r.map(d=>{if(d=Gue(d),d in h7)return;h7[d]=!0;const u=d.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${h}`))return;const p=document.createElement("link");if(p.rel=u?"stylesheet":que,u||(p.as="script"),p.crossOrigin="",p.href=d,l&&p.setAttribute("nonce",l),document.head.appendChild(p),u)return new Promise((A,y)=>{p.addEventListener("load",A),p.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${d}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})};function dy(){const e=eo(),[t,r]=I.useState(Vd()),[n,i]=I.useState(!!t),[s,o]=I.useState(()=>{try{const M=localStorage.getItem("parcapp_offline_unlocked");if(M){const{unlocked:O,timestamp:$}=JSON.parse(M),P=Date.now();if(O&&$&&P-$<1440*60*1e3)return console.log("[useAuth] État offlineUnlocked restauré depuis localStorage, timestamp:",$),!0;console.log("[useAuth] État offlineUnlocked expiré, nettoyage localStorage"),localStorage.removeItem("parcapp_offline_unlocked")}}catch(M){console.error("[useAuth] Erreur lors de la lecture de offlineUnlocked depuis localStorage:",M)}return!1}),[l,c]=I.useState(()=>{try{const M=localStorage.getItem("parcapp_offline_unlocked");if(M){const{unlocked:O,timestamp:$}=JSON.parse(M),P=Date.now();if(O&&$&&P-$<1440*60*1e3&&O)return console.log("[useAuth] hasOfflineProfileState initialisé à true car offlineUnlocked est true au démarrage"),!0}}catch(M){console.error("[useAuth] Erreur lors de la lecture de localStorage pour hasOfflineProfileState:",M)}return!1}),[d,u]=I.useState(null),h=()=>{try{const M=localStorage.getItem("parcapp_offline_unlocked");if(M){const{unlocked:O,timestamp:$}=JSON.parse(M),P=Date.now();if(O&&$&&P-$<1440*60*1e3)return!0}}catch(M){console.error("[useAuth] Erreur lors de l'initialisation de offlineUnlockedRef:",M)}return!1},p=I.useRef(h()),A=()=>{try{const M=localStorage.getItem("parcapp_offline_unlocked");if(M){const{unlocked:O,timestamp:$}=JSON.parse(M),P=Date.now();if(O&&$&&P-$<1440*60*1e3&&$)return $}}catch(M){console.error("[useAuth] Erreur lors de l'initialisation de lastUnlockTimestampRef:",M)}return 0},y=I.useRef(A()),[v,w]=I.useState(()=>{try{return navigator.onLine}catch{return!0}});I.useEffect(()=>{i(!!t)},[t]),I.useEffect(()=>{p.current=s;try{if(s){const M={unlocked:!0,timestamp:Date.now()};localStorage.setItem("parcapp_offline_unlocked",JSON.stringify(M)),console.log("[useAuth] État offlineUnlocked persisté dans localStorage, timestamp:",M.timestamp)}}catch(M){console.error("[useAuth] Erreur lors de la sauvegarde de offlineUnlocked dans localStorage:",M)}},[s]),I.useEffect(()=>{let M=!0;const O=setTimeout(async()=>{try{let $=!1,P=0;try{const xe=localStorage.getItem("parcapp_offline_unlocked");if(xe){const{unlocked:_e,timestamp:Ce}=JSON.parse(xe);$=_e===!0,P=Ce||0;const we=Date.now();!($&&P>0&&we-P<1440*60*1e3)&&$&&(console.log("[useAuth] État localStorage expiré, nettoyage"),localStorage.removeItem("parcapp_offline_unlocked"),$=!1,P=0)}}catch(xe){console.error("[useAuth] Erreur lors de la lecture de localStorage:",xe)}const L=p.current||$,X=Date.now(),W=y.current>0?y.current:P>0?P:0,G=W>0&&X-W<1e4,{hasOfflineProfile:J,getOfflineProfile:q}=await On(async()=>{const{hasOfflineProfile:xe,getOfflineProfile:_e}=await Promise.resolve().then(()=>Qp);return{hasOfflineProfile:xe,getOfflineProfile:_e}},void 0),ee=await J();if(!M)return;const ne=y.current,V=ne>0&&Date.now()-ne<1e4,ue=p.current;if(console.log("[useAuth] Vérification profil offline, wasUnlocked:",L,"wasUnlockedFromStorage:",$,"offlineUnlocked:",s,"currentUnlockedRef:",ue,"justUnlocked:",G,"lastUnlock:",W,"lastUnlockFromStorage:",P,"lastUnlockAfterAsync:",ne,"justUnlockedAfterAsync:",V),ee?c(!0):L||$||G||V||s||ue?console.log("[useAuth] Profil non trouvé MAIS déverrouillé, PRÉSERVATION hasOfflineProfileState"):c(!1),ee){const xe=await q();if(!M)return;if(u(xe),xe){const _e=Date.now()>xe.expiresAt,Ce=xe.lockUntil!==null&&Date.now()0?ne:W>0?W:X;localStorage.setItem("parcapp_offline_unlocked",JSON.stringify({unlocked:!0,timestamp:we}))}catch(we){console.error("[useAuth] Erreur lors de la sauvegarde dans localStorage:",we)}}else console.log("[useAuth] Profil valide mais pas déverrouillé, état inchangé (ne pas forcer)")}else if(L||$||G||V||s||ue){if(console.log("[useAuth] Profil introuvable MAIS était déverrouillé, PRÉSERVATION offlineUnlocked=true ET hasOfflineProfileState=true (wasUnlockedFromStorage:",$,"currentUnlockedRef:",ue,"justUnlockedAfterAsync:",V,"lastUnlockAfterAsync:",ne,")"),o(!0),p.current=!0,c(!0),!$)try{localStorage.setItem("parcapp_offline_unlocked",JSON.stringify({unlocked:!0,timestamp:X}))}catch(_e){console.error("[useAuth] Erreur lors de la sauvegarde dans localStorage:",_e)}}else console.log("[useAuth] Profil introuvable et pas déverrouillé, état inchangé")}else if(u(null),L||$||G||V||s||ue){if(console.log("[useAuth] Pas de profil offline MAIS était déverrouillé, PRÉSERVATION offlineUnlocked=true ET hasOfflineProfileState=true (wasUnlockedFromStorage:",$,"currentUnlockedRef:",ue,"justUnlockedAfterAsync:",V,"lastUnlockAfterAsync:",ne,")"),o(!0),p.current=!0,c(!0),!$)try{localStorage.setItem("parcapp_offline_unlocked",JSON.stringify({unlocked:!0,timestamp:X}))}catch(xe){console.error("[useAuth] Erreur lors de la sauvegarde dans localStorage:",xe)}}else console.log("[useAuth] Pas de profil offline et pas déverrouillé, état inchangé")}catch($){if(console.error("[Auth] Erreur lors de la vérification du profil offline:",$),!M)return;let P=!1;try{const ee=localStorage.getItem("parcapp_offline_unlocked");if(ee){const{unlocked:ne,timestamp:V}=JSON.parse(ee);P=ne===!0;const ue=Date.now();!(P&&V&&ue-V<1440*60*1e3)&&P&&(localStorage.removeItem("parcapp_offline_unlocked"),P=!1)}}catch(ee){console.error("[useAuth] Erreur lors de la lecture localStorage:",ee)}const L=p.current,X=Date.now(),W=y.current,G=W>0&&X-W<1e4,J=p.current;if(console.log("[useAuth] Erreur de vérification, wasUnlocked:",L,"wasUnlockedFromStorage:",P,"justUnlocked:",G,"offlineUnlocked:",s,"currentUnlockedRef:",J,"lastUnlock:",W),L||P||G||s||J?console.log("[useAuth] Erreur de vérification MAIS déverrouillé, PRÉSERVATION hasOfflineProfileState"):c(!1),u(null),L||P||G||s||J){if(console.log("[useAuth] Erreur de vérification MAIS était déverrouillé, PRÉSERVATION offlineUnlocked=true ET hasOfflineProfileState=true"),o(!0),p.current=!0,c(!0),!P)try{localStorage.setItem("parcapp_offline_unlocked",JSON.stringify({unlocked:!0,timestamp:X}))}catch(ee){console.error("[useAuth] Erreur lors de la sauvegarde localStorage:",ee)}}else console.log("[useAuth] Erreur de vérification et pas déverrouillé, état inchangé")}},100);return()=>{M=!1,clearTimeout(O)}},[v]),I.useEffect(()=>{const M=()=>{const O=Vd();r(O)};return window.addEventListener("storage",M),()=>{window.removeEventListener("storage",M)}},[]);const j=cr({queryKey:["auth","me"],queryFn:async()=>null,enabled:!1,select:M=>e.getQueryData(["auth","me"])??M??null}),E=j.data??null,S=j.isLoading;I.useEffect(()=>{const M=async()=>{if(w(!0),l)try{const{updateLastOnlineAt:$}=await On(async()=>{const{updateLastOnlineAt:P}=await Promise.resolve().then(()=>Qp);return{updateLastOnlineAt:P}},void 0);await $()}catch($){console.error("[Auth] Erreur lors de la mise à jour lastOnlineAt:",$)}},O=()=>{if(w(!1),!l)try{const $=localStorage.getItem("parcapp_offline_unlocked");if($){const{unlocked:P,timestamp:L}=JSON.parse($),X=Date.now();P&&L&&X-L<1440*60*1e3||(localStorage.removeItem("parcapp_offline_unlocked"),o(!1))}else o(!1)}catch($){console.error("[useAuth] Erreur lors de la vérification localStorage dans handleOffline:",$),o(!1)}};return window.addEventListener("online",M),window.addEventListener("offline",O),()=>{window.removeEventListener("online",M),window.removeEventListener("offline",O)}},[t,E,l]),I.useEffect(()=>{E&&v&&l&&(async()=>{try{const{updateLastOnlineAt:M}=await On(async()=>{const{updateLastOnlineAt:O}=await Promise.resolve().then(()=>Qp);return{updateLastOnlineAt:O}},void 0);await M()}catch(M){console.error("[Auth] Erreur lors de la mise à jour lastOnlineAt:",M)}})()},[E,v,l]),I.useEffect(()=>{const M=e.getQueryState(["auth","me"]);if(M?.error){const O=M.error;(O.status===401||O.status===403)&&(f7(),r(null),i(!1),(async()=>{try{const{clearOfflineProfile:$}=await On(async()=>{const{clearOfflineProfile:P}=await Promise.resolve().then(()=>Qp);return{clearOfflineProfile:P}},void 0);await $(),c(!1),o(!1),p.current=!1,u(null);try{localStorage.removeItem("parcapp_offline_unlocked")}catch(P){console.error("[Auth] Erreur lors du nettoyage localStorage:",P)}}catch($){console.error("[Auth] Erreur lors de la suppression du profil offline:",$)}})())}},[e]);const _=_r({mutationFn:async M=>await sN("/api/login",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:M}),onSuccess:async M=>{if(Hue(M.token),r(M.token),i(!0),e.setQueryData(["auth","me"],M.user),l)try{const{updateLastOnlineAt:O}=await On(async()=>{const{updateLastOnlineAt:$}=await Promise.resolve().then(()=>Qp);return{updateLastOnlineAt:$}},void 0);await O()}catch(O){console.error("[Auth] Erreur lors de la mise à jour lastOnlineAt:",O)}}}),C=I.useCallback(async()=>{try{v&&await sN("/api/logout",{method:"POST"})}catch(M){console.error("Erreur lors de la déconnexion:",M)}finally{f7(),r(null),i(!1),e.clear(),e.setQueryData(["auth","me"],null);try{const{clearOfflineProfile:M}=await On(async()=>{const{clearOfflineProfile:O}=await Promise.resolve().then(()=>Qp);return{clearOfflineProfile:O}},void 0);await M(),c(!1),o(!1),p.current=!1,u(null);try{localStorage.removeItem("parcapp_offline_unlocked")}catch(O){console.error("[Auth] Erreur lors du nettoyage localStorage:",O)}}catch(M){console.error("[Auth] Erreur lors de la suppression du profil offline:",M)}}},[e,v]),Q=I.useCallback(()=>{console.log("[useAuth] ===== unlockOffline() APPELÉ =====");const M=Date.now();console.log("[useAuth] État AVANT: offlineUnlocked =",p.current),console.log("[useAuth] Appel setOfflineUnlocked(true)..."),p.current=!0,y.current=M;try{const O={unlocked:!0,timestamp:M};localStorage.setItem("parcapp_offline_unlocked",JSON.stringify(O)),console.log("[useAuth] État offlineUnlocked persisté IMMÉDIATEMENT dans localStorage, timestamp:",M)}catch(O){console.error("[useAuth] Erreur lors de la sauvegarde immédiate dans localStorage:",O)}console.log("[useAuth] Refs mises à jour: offlineUnlockedRef=true, lastUnlockTimestampRef=",M),o(!0),console.log("[useAuth] setOfflineUnlocked(true) appelé, React devrait déclencher un re-rendu")},[]),R=I.useCallback(async()=>{try{const{clearOfflineProfile:M}=await On(async()=>{const{clearOfflineProfile:O}=await Promise.resolve().then(()=>Qp);return{clearOfflineProfile:O}},void 0);await M(),c(!1),o(!1),p.current=!1,u(null);try{localStorage.removeItem("parcapp_offline_unlocked")}catch(O){console.error("[Auth] Erreur lors du nettoyage localStorage:",O)}}catch(M){throw console.error("[Auth] Erreur lors de la réinitialisation du profil offline:",M),M}},[]),T=I.useMemo(()=>{console.log("[useAuth] ===== CALCUL authMode ====="),console.log("[useAuth] Inputs:",{isOnline:v,hasToken:!!t,hasOfflineProfileState:l,offlineUnlocked:s,hasUser:!!E});try{if(v===void 0||t===void 0||l===void 0||s===void 0){const O="needs-online-login";return console.log("[useAuth] authMode:",O,"(valeurs non initialisées)"),O}if(v){if(E){const $="online";return console.log("[useAuth] authMode:",$,"(utilisateur connecté)"),$}if(t){const $="needs-online-login";return console.log("[useAuth] authMode:",$,"(token invalide)"),$}const O="needs-online-login";return console.log("[useAuth] authMode:",O,"(pas de token)"),O}if(!l){const O="needs-online-login";return console.log("[useAuth] authMode:",O,"(pas de profil offline)"),O}if(s){const O="offline-unlocked";return console.log("[useAuth] authMode:",O,"(profil déverrouillé) - OFFLINE UNLOCKED DÉTECTÉ!"),O}const M="offline-locked";return console.log("[useAuth] authMode:",M,"(profil verrouillé)"),M}catch(M){return console.error("[Auth] Erreur lors du calcul de authMode:",M),"needs-online-login"}},[v,E,t,l,s]);return{isAuthenticated:n,token:t,user:E||null,isLoading:S,login:_.mutate,loginAsync:_.mutateAsync,isLoggingIn:_.isPending,logout:C,isOnline:v,isOffline:!v,hasOfflineProfile:l,offlineUnlocked:s,authMode:T,cachedOfflineProfile:d,unlockOffline:Q,resetOfflineProfile:R}}function k4(){const{logout:e}=dy(),[,t]=Gi();return _r({mutationFn:async()=>{await e(),t("/login")},onError:r=>{console.error("Erreur lors de la déconnexion:",r),t("/login")}})}function _4(e){return e?e==="chauffeur"||e==="apprenti":!1}function MM(e){return e?e==="chauffeur"||e==="apprenti"||e==="admin":!1}function Vue(e,t){return t==="/"?e==="/":e===t||e.startsWith(t+"/")}const Wue=[{path:"/",allowedRoles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable","atelier"]},{path:"/dashboard",allowedRoles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable","atelier"]},{path:"/voyages",allowedRoles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire"],readOnlyRoles:["comptable","atelier"]},{path:"/trajets",allowedRoles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire"],readOnlyRoles:["comptable","atelier"]},{path:"/attelages",allowedRoles:["admin","gestionnaire_parc"]},{path:"/incidents",allowedRoles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","atelier"],readOnlyRoles:["comptable"]},{path:"/pannes",allowedRoles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","atelier"],readOnlyRoles:["comptable"]},{path:"/maintenances",allowedRoles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","atelier"]},{path:"/statistiques/finance",allowedRoles:["admin","gestionnaire_parc","comptable"]},{path:"/statistiques",allowedRoles:["admin","gestionnaire_parc"],readOnlyRoles:["secretaire","atelier","comptable"]},{path:"/parametres",allowedRoles:["admin"]}];function hS(e,t){if(!e)return!1;if(_4(e))return t.startsWith("/driver");if(t.startsWith("/driver"))return MM(e);for(const r of Wue)if(Vue(t,r.path))return!!(r.allowedRoles.includes(e)||r.readOnlyRoles?.includes(e));return!1}const Kue=[{title:"Tableau de bord",url:"/",icon:h4,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable","atelier"]},{title:"Voyages",url:"/voyages",icon:ei,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable"]},{title:"Attelages",url:"/attelages",icon:Xv,roles:["admin","gestionnaire_parc"]},{title:"Pannes/Incidents",url:"/incidents",icon:Kn,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","atelier"]},{title:"Entretiens",url:"/maintenances",icon:ty,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","atelier"]},{title:"Statistiques",url:"/statistiques",icon:Jv,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable"]},{title:"Paramètres",url:"/parametres",icon:zm,roles:["admin","gestionnaire_parc"]}];function Yue(e){return e?_4(e)?[]:Kue.filter(t=>hS(e,t.url)):[]}function Zue(){const[e]=Gi(),{data:t}=ih(),r=k4(),n=Yue(t?.role),i=()=>{r.mutate()};return a.jsxs(Due,{className:"hidden md:flex",children:[a.jsx(Rue,{className:"border-b p-4",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 p-1.5",children:a.jsx("img",{src:"/logo-parc-app.png",alt:"Parc'App Logo",className:"h-full w-full object-contain"})}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Parc'App"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Gestion de flotte"})]})]})}),a.jsx(Que,{children:a.jsxs(Fue,{children:[a.jsx(Oue,{children:"Navigation"}),a.jsx(Lue,{children:a.jsx(Mue,{className:"space-y-1",children:n.map(s=>{const o=s.url==="/statistiques"||s.url==="/parametres"?e.startsWith(s.url):e===s.url;return a.jsx(Uue,{children:a.jsx($ue,{asChild:!0,isActive:o,className:`${o?"bg-primary/10 border-l-4 border-l-primary font-semibold":""} py-3 px-4 gap-3`,children:a.jsxs(jm,{href:s.url,to:s.url,"data-testid":`link-${s.title.toLowerCase().replace(/\s+/g,"-")}`,className:"w-full flex items-center",children:[a.jsx(s.icon,{className:`h-7 w-7 flex-shrink-0 ${o?"text-primary":""}`}),a.jsx("span",{className:"text-base font-medium",children:s.title})]})})},s.title)})})})]})}),a.jsx(Pue,{className:"border-t p-4",children:a.jsxs("div",{className:"space-y-2",children:[t&&a.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 text-sm text-muted-foreground",children:[a.jsx(nh,{className:"h-4 w-4"}),a.jsx("span",{className:"truncate",children:t.username})]}),a.jsxs(ge,{variant:"ghost",className:"w-full justify-start gap-2",onClick:i,disabled:r.isPending,children:[a.jsx(m4,{className:"h-4 w-4"}),a.jsx("span",{children:r.isPending?"Déconnexion...":"Se déconnecter"})]})]})})]})}function Jue(){const[e,t]=I.useState("light");I.useEffect(()=>{const i=localStorage.getItem("theme")||"light";t(i),document.documentElement.classList.toggle("dark",i==="dark")},[]);const r=()=>{const n=e==="light"?"dark":"light";t(n),localStorage.setItem("theme",n),document.documentElement.classList.toggle("dark",n==="dark")};return a.jsx(ge,{variant:"ghost",size:"icon",onClick:r,"data-testid":"button-theme-toggle",children:e==="light"?a.jsx(wse,{className:"h-5 w-5"}):a.jsx(Sse,{className:"h-5 w-5"})})}const Xue=[{title:"Tableau de bord",path:"/",icon:h4,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable","atelier"]},{title:"Voyages",path:"/voyages",icon:ei,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable"]},{title:"Attelages",path:"/attelages",icon:Xv,roles:["admin","gestionnaire_parc"]},{title:"Pannes/Incidents",path:"/incidents",icon:Kn,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","atelier"]},{title:"Entretiens",path:"/maintenances",icon:ty,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","atelier"]},{title:"Statistiques",path:"/statistiques",icon:Jv,roles:["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable"]},{title:"Paramètres",path:"/parametres",icon:zm,roles:["admin","gestionnaire_parc"]}];function e0e(e){return e?_4(e)?[]:Xue.filter(t=>hS(e,t.path)):[]}function t0e(){const[e]=Gi(),{data:t}=ih(),r=e0e(t?.role);return a.jsx("nav",{className:"fixed bottom-0 left-0 right-0 z-50 border-t bg-background md:hidden shadow-lg",children:a.jsx("div",{className:"flex items-center justify-around",children:r.map(n=>{const i=n.path==="/statistiques"||n.path==="/parametres"?e.startsWith(n.path):e===n.path,s=n.icon;return a.jsxs(jm,{href:n.path,className:`flex flex-col items-center gap-1.5 py-3 px-4 min-w-0 flex-1 hover-elevate active-elevate-2 transition-all ${i?"text-primary bg-primary/10 border-t-3 border-t-primary":"text-muted-foreground"}`,"data-testid":`nav-${n.title.toLowerCase().replace(/\s+/g,"-")}`,children:[a.jsx(s,{className:`h-8 w-8 flex-shrink-0 ${i?"scale-110":""} transition-transform`}),a.jsx("span",{className:`text-xs font-semibold truncate w-full text-center ${i?"font-bold":""}`,children:n.title})]},n.path)})})})}const r0e=Dg("whitespace-nowrap inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 hover-elevate ",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow-xs",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow-xs",outline:" border [border-color:var(--badge-outline)] shadow-xs"}},defaultVariants:{variant:"default"}});function yt({className:e,variant:t,...r}){return a.jsx("div",{className:nr(r0e({variant:t}),e),...r})}async function D4(e,t){const r=new URLSearchParams;t?.phase&&r.append("phase",t.phase),t?.etapeId&&r.append("etape_id",t.etapeId.toString()),t?.type&&r.append("type",t.type),t?.mediaKind&&r.append("media_kind",t.mediaKind),t?.incidentId&&r.append("incident_id",t.incidentId.toString()),t?.incidentStatus&&r.append("incident_status",t.incidentStatus);const n=r.toString(),i=`/api/voyages/${e}/events${n?`?${n}`:""}`;return await $t(i)}async function UM(e,t){return await $t(`/api/voyages/${e}/events`,{method:"POST",body:t})}async function mS(e,t){const r=new FormData;return r.append("type","media"),r.append("media_kind",t.mediaKind),t.voyageEtapeId&&r.append("voyage_etape_id",t.voyageEtapeId.toString()),t.description&&r.append("description",t.description),t.occurredAt&&r.append("occurred_at",t.occurredAt),r.append("file",t.file),await $t(`/api/voyages/${e}/events`,{method:"POST",body:r})}async function zM(e,t){return await $t(`/api/voyages/${e}/events/${t}/read`,{method:"PATCH"})}const $M=Object.freeze(Object.defineProperty({__proto__:null,createVoyageEventMedia:mS,createVoyageEventNote:UM,getVoyageEvents:D4,markEventAsRead:zM},Symbol.toStringTag,{value:"Module"}));async function n0e(e,t){return await UM(e,{type:t.type,voyageEtapeId:t.etapeId,description:t.description,occurredAt:new Date().toISOString()})}async function i0e(e,t){return await mS(e,{mediaKind:t.mediaKind,voyageEtapeId:t.etapeId,description:t.description,occurredAt:new Date().toISOString(),file:t.file})}const pS="driver_offline_queue",HM="driver_offline_image_cache",qM=3;function Hl(){try{const e=localStorage.getItem(pS);return e?JSON.parse(e).map(r=>{const n={...r};if(r.type==="media"||r.type==="incident"){const i=n;if(r.fileBase64&&r.fileName&&r.fileMime)try{i.file=J2(r.fileBase64,r.fileName,r.fileMime)}catch(s){console.error("Erreur lors de la conversion base64 en File:",s)}}else if(r.type==="weighing"){const i=n;if(r.ticketBase64&&r.ticketFileName&&r.ticketFileMime)try{i.ticket=J2(r.ticketBase64,r.ticketFileName,r.ticketFileMime)}catch(s){console.error("Erreur lors de la conversion du ticket de pesée base64 en File:",s)}}else if(r.type==="fuel"){const i=n;if(r.receiptBase64&&r.receiptFileName&&r.receiptFileMime)try{i.receipt=J2(r.receiptBase64,r.receiptFileName,r.receiptFileMime)}catch(s){console.error("Erreur lors de la conversion du reçu de carburant base64 en File:",s)}}else if(r.type==="expense"){const i=n;if(r.receiptBase64&&r.receiptFileName&&r.receiptFileMime)try{i.receipt=J2(r.receiptBase64,r.receiptFileName,r.receiptFileMime)}catch(s){console.error("Erreur lors de la conversion du reçu de dépense base64 en File:",s)}}return n}):[]}catch{return[]}}function GM(){try{const e=localStorage.getItem(pS);return e?JSON.parse(e):[]}catch{return[]}}async function mv(e){const t=Hl(),r={...e,id:`offline_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,createdAt:new Date().toISOString(),retryCount:0,status:"pending"};return t.push(r),await Kf(t),r.id}async function VM(e){const r=Hl().filter(n=>n.id!==e);await Kf(r)}async function WM(e){const t=Hl(),r=t.find(n=>n.id===e);r&&(r.status="uploading",await Kf(t))}async function KM(e){const t=Hl(),r=t.find(n=>n.id===e);r&&(r.retryCount++,r.status=r.retryCount>=qM?"failed":"pending",await Kf(t))}async function Z2(e){return new Promise((t,r)=>{const n=new FileReader;n.onload=()=>t(n.result),n.onerror=r,n.readAsDataURL(e)})}function J2(e,t,r){const n=e.split(","),i=n[0].match(/:(.*?);/)?.[1]||r,s=atob(n[1]);let o=s.length;const l=new Uint8Array(o);for(;o--;)l[o]=s.charCodeAt(o);return new File([l],t,{type:i})}async function Kf(e){try{const t=await Promise.all(e.map(async r=>{const n={...r};if(r.type==="media"||r.type==="incident"){const i=r;if(i.file)try{n.fileBase64=await Z2(i.file),n.fileName=i.file.name,n.fileMime=i.file.type}catch(s){console.error("Erreur lors de la conversion du fichier en base64:",s)}}else if(r.type==="weighing"){if(r.ticket)try{n.ticketBase64=await Z2(r.ticket),n.ticketFileName=r.ticket.name,n.ticketFileMime=r.ticket.type}catch(i){console.error("Erreur lors de la conversion du ticket de pesée en base64:",i)}}else if(r.type==="fuel"){if(r.receipt)try{n.receiptBase64=await Z2(r.receipt),n.receiptFileName=r.receipt.name,n.receiptFileMime=r.receipt.type}catch(i){console.error("Erreur lors de la conversion du reçu de carburant en base64:",i)}}else if(r.type==="expense"&&r.receipt)try{n.receiptBase64=await Z2(r.receipt),n.receiptFileName=r.receipt.name,n.receiptFileMime=r.receipt.type}catch(i){console.error("Erreur lors de la conversion du reçu de dépense en base64:",i)}return n}));localStorage.setItem(pS,JSON.stringify(t))}catch(t){if(t instanceof DOMException&&(t.code===22||t.name==="QuotaExceededError")){await YM();try{const r=Hl();await Kf(r)}catch{await ZM(12);try{const n=Hl();await Kf(n)}catch{const o=Hl().sort((l,c)=>new Date(c.createdAt).getTime()-new Date(l.createdAt).getTime()).slice(0,50);await Kf(o)}}}}}let II=!1;async function T4(){if(II)return{success:0,failed:0};II=!0;try{const e=Hl().filter(n=>n.status==="pending");let t=0,r=0;for(const n of e)try{if(await WM(n.id),n.type==="incident"){const o=n,{createVoyageIncident:l,createIncidentMessage:c}=await On(async()=>{const{createVoyageIncident:d,createIncidentMessage:u}=await Promise.resolve().then(()=>F$);return{createVoyageIncident:d,createIncidentMessage:u}},void 0);if(o.incidentId&&o.messageType)o.messageType==="note"?await c(o.voyageId,o.incidentId,{type:"message",description:o.description,senderRole:"chauffeur"}):o.file&&await c(o.voyageId,o.incidentId,{type:"media",mediaKind:o.messageType,description:o.description,file:o.file,senderRole:"chauffeur"});else if(o.incidentType&&o.messageType){const d=await l(o.voyageId,{type:o.incidentType,voyageEtapeId:o.etapeId,priority:"normale"});o.messageType==="note"?await c(o.voyageId,d.id,{type:"message",description:o.description,senderRole:"chauffeur"}):o.file&&await c(o.voyageId,d.id,{type:"media",mediaKind:o.messageType,description:o.description,file:o.file,senderRole:"chauffeur"})}}else if(n.type==="media"){const o=n;o.file&&await i0e(o.voyageId,{mediaKind:o.mediaKind,etapeId:o.etapeId,description:o.description,file:o.file})}else if(n.type==="note"){const o=n;await n0e(o.voyageId,{type:o.type,etapeId:o.etapeId,description:o.description})}else if(n.type==="reachStep"){const{reachVoyageStep:o}=await On(async()=>{const{reachVoyageStep:l}=await Promise.resolve().then(()=>Xde);return{reachVoyageStep:l}},void 0);await o(n.voyageId,n.stepId)}else if(n.type==="weighing"){const{createVoyageEventMedia:o}=await On(async()=>{const{createVoyageEventMedia:c}=await Promise.resolve().then(()=>$M);return{createVoyageEventMedia:c}},void 0),{apiRequest:l}=await On(async()=>{const{apiRequest:c}=await Promise.resolve().then(()=>DO);return{apiRequest:c}},void 0);if(n.isUnloadingWeighing&&n.trajetId&&n.ticket){const c=new FormData;c.append("photo",n.ticket),n.weight&&c.append("weight",n.weight),await l(`/api/voyages/${n.voyageId}/trajets/${n.trajetId}/unloading-ticket`,{method:"POST",body:c})}else if(n.ticket){const c=n.weight?`PESÉE - ${n.weight} kg`:"PESÉE";await o(n.voyageId,{mediaKind:"photo",description:c,file:n.ticket,occurredAt:new Date().toISOString()})}}else if(n.type==="fuel"){const{createVoyageFuelFill:o}=await On(async()=>{const{createVoyageFuelFill:l}=await Promise.resolve().then(()=>Yfe);return{createVoyageFuelFill:l}},void 0);await o(n.voyageId,{amount_l:n.amountL,cost_fcfa:n.costFcfa,receipt:n.receipt||null,voyage_trajet_id:n.trajetId||null,filled_at:n.filledAt||null})}else if(n.type==="expense"){const{createVoyageExpense:o}=await On(async()=>{const{createVoyageExpense:l}=await Promise.resolve().then(()=>y$);return{createVoyageExpense:l}},void 0);await o(n.voyageId,{category:n.category,amount_fcfa:n.amountFcfa,description:n.description||void 0,receipt:n.receipt||void 0,voyage_trajet_id:n.trajetId||null,expense_at:n.expenseAt||void 0})}else if(n.type==="startVoyage"){const{startVoyage:o}=await On(async()=>{const{startVoyage:l}=await Promise.resolve().then(()=>BI);return{startVoyage:l}},void 0);await o(n.voyageId)}else if(n.type==="startReturn"){const{startVoyageReturn:o}=await On(async()=>{const{startVoyageReturn:l}=await Promise.resolve().then(()=>BI);return{startVoyageReturn:l}},void 0);await o(n.voyageId)}else if(n.type==="closeVoyage"){const{closeVoyage:o}=await On(async()=>{const{closeVoyage:c}=await Promise.resolve().then(()=>BI);return{closeVoyage:c}},void 0);await o(n.voyageId);const{clearVoyageCache:l}=await On(async()=>{const{clearVoyageCache:c}=await Promise.resolve().then(()=>FA);return{clearVoyageCache:c}},void 0);l(n.voyageId)}const s=GM().find(o=>o.id===n.id);s&&(s.type==="fuel"&&s.receiptBase64||s.type==="expense"&&s.receiptBase64?jI(n.id,s.receiptBase64):s.type==="weighing"&&s.ticketBase64&&jI(n.id,s.ticketBase64)),await VM(n.id),t++}catch{await KM(n.id),r++}return{success:t,failed:r}}finally{II=!1}}async function YM(){const t=Hl().filter(r=>r.status!=="failed"&&r.status!=="synced"&&(r.retryCount{if(s.status==="synced"||s.status==="failed")return!1;const o=new Date(s.createdAt).getTime();return!(r-o>n)});await Kf(i)}function gS(){return Hl().filter(e=>e.status==="pending").length}function jI(e,t){try{const r=a0e();r[e]=t,localStorage.setItem(HM,JSON.stringify(r))}catch(r){console.error("Erreur lors du cache de l'image:",r)}}function a0e(){try{const e=localStorage.getItem(HM);return e?JSON.parse(e):{}}catch{return{}}}const h1=Object.freeze(Object.defineProperty({__proto__:null,addToQueue:mv,cleanupFailedEvents:YM,cleanupOldEvents:ZM,getPendingCount:gS,getPendingEvents:Hl,getPendingEventsBase64:GM,markAsFailed:KM,markAsUploading:WM,removeFromQueue:VM,syncPendingEvents:T4},Symbol.toStringTag,{value:"Module"})),Yf="driver_voyage_cache_",JM=1440*60*1e3;function fy(e,t){try{const r=gc(e),n={voyage:t.voyage??r?.voyage,trips:t.trips||r?.trips||[],steps:t.steps??r?.steps,events:t.events??r?.events,timestamp:Date.now()};localStorage.setItem(`${Yf}${e}`,JSON.stringify(n))}catch(r){console.error("Erreur lors de la sauvegarde du cache:",r)}}function AS(e,t){try{const r=gc(e);if(r)r.events=t,r.timestamp=Date.now(),localStorage.setItem(`${Yf}${e}`,JSON.stringify(r));else{const n={voyage:null,trips:[],events:t,timestamp:Date.now()};localStorage.setItem(`${Yf}${e}`,JSON.stringify(n))}}catch(r){console.error("Erreur lors de la sauvegarde du cache des événements:",r)}}function XM(e){try{return gc(e)?.events||null}catch(t){return console.error("Erreur lors de la récupération du cache des événements:",t),null}}function gc(e){try{const t=localStorage.getItem(`${Yf}${e}`);if(!t)return null;const r=JSON.parse(t);return r.voyage&&r.voyage.status==="completed"?(localStorage.removeItem(`${Yf}${e}`),null):Date.now()-r.timestamp>JM?(localStorage.removeItem(`${Yf}${e}`),null):r}catch(t){return console.error("Erreur lors de la récupération du cache:",t),null}}function Vx(){try{const e=Object.keys(localStorage),t=Date.now();e.forEach(r=>{if(r.startsWith(Yf))try{const n=localStorage.getItem(r);if(n){const i=JSON.parse(n);if(i.voyage&&i.voyage.status==="completed"){localStorage.removeItem(r);return}t-i.timestamp>JM&&localStorage.removeItem(r)}}catch{}})}catch(e){console.error("Erreur lors du nettoyage du cache:",e)}}function s0e(e){try{localStorage.removeItem(`${Yf}${e}`)}catch(t){console.error("Erreur lors de la suppression du cache:",t)}}function xS(){try{const e=Object.keys(localStorage);let t=0;return e.forEach(r=>{r.startsWith(Yf)&&(localStorage.removeItem(r),t++)}),t}catch(e){return console.error("Erreur lors du vidage du cache:",e),0}}const FA=Object.freeze(Object.defineProperty({__proto__:null,cacheVoyageData:fy,cacheVoyageEvents:AS,cleanupExpiredCache:Vx,clearAllVoyageCache:xS,clearVoyageCache:s0e,getCachedVoyageData:gc,getCachedVoyageEvents:XM},Symbol.toStringTag,{value:"Module"}));function NI(){try{const t=Object.keys(localStorage).filter(n=>n.startsWith("driver_voyage_cache_"));if(t.length===0)return;let r=null;for(const n of t)try{const i=localStorage.getItem(n);if(i){const s=JSON.parse(i);if(s.voyage&&s.voyage.status==="completed")continue;(!r||s.timestamp>r.timestamp)&&(r={data:s,timestamp:s.timestamp})}}catch{}if(r?.data?.voyage)return{voyage:r.data.voyage,trips:r.data.trips||[],message:"Données en cache (mode hors ligne)"}}catch{}}function hy(){const[e,t]=I.useState(()=>{try{return navigator.onLine}catch{return!0}});I.useEffect(()=>{const i=()=>t(!0),s=()=>t(!1);try{return window.addEventListener("online",i),window.addEventListener("offline",s),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",s)}}catch{}},[]),Vx();const r=NI(),n=r&&r.voyage?.status!=="completed"?r:void 0;return cr({queryKey:["/api/driver/current-voyage"],queryFn:async()=>{if(!e){const i=NI();return i&&i.voyage&&i.voyage.status!=="completed"?{...i,trips:i.trips||[]}:{voyage:null,trips:[],message:"Aucun voyage en cache. Veuillez vous connecter pour charger les données."}}try{const i=await $t("/api/driver/current-voyage");if(i.voyage?.id){if(i.voyage.status==="completed"){const{clearVoyageCache:s}=await On(async()=>{const{clearVoyageCache:o}=await Promise.resolve().then(()=>FA);return{clearVoyageCache:o}},void 0);return s(i.voyage.id),{voyage:null,trips:[],message:"Aucun voyage actif"}}try{fy(i.voyage.id,{voyage:i.voyage,trips:i.trips||[]})}catch(s){console.error("[DriverVoyage] Erreur lors de la sauvegarde du cache:",s)}}return i}catch{if(!e){const s=NI();if(s&&s.voyage&&s.voyage.status!=="completed")return{...s,trips:s.trips||[]}}return{voyage:null,trips:[],message:"Aucun voyage actif trouvé"}}},...e?{placeholderData:n?{...n,trips:n.trips||[]}:void 0}:{initialData:n?{...n,trips:n.trips||[]}:{voyage:null,trips:[],message:"Aucun voyage en cache. Veuillez vous connecter pour charger les données."}},refetchInterval:e?3e4:!1,retry:!1,staleTime:e?0:1/0,gcTime:e?300*1e3:1/0,refetchOnWindowFocus:e,refetchOnReconnect:!0})}function o0e({isOnline:e,hasCache:t=!0,className:r}){return e?a.jsxs("div",{className:nr("flex items-end gap-0.5 h-4",r),title:t?"En ligne - Cache à jour":"En ligne",children:[a.jsx("div",{className:"w-1 bg-green-500 h-1.5 rounded-t"}),a.jsx("div",{className:"w-1 bg-green-500 h-2.5 rounded-t"}),a.jsx("div",{className:"w-1 bg-green-500 h-3.5 rounded-t"}),a.jsx("div",{className:"w-1 bg-green-500 h-4 rounded-t"})]}):a.jsx("div",{className:nr("flex items-center gap-1",r),title:"Hors ligne",children:a.jsx(qd,{className:"h-4 w-4 text-red-500"})})}var l0e=I.createContext(void 0);function my(e){const t=I.useContext(l0e);return e||t||"ltr"}var SI="rovingFocusGroup.onEntryFocus",c0e={bubbles:!1,cancelable:!0},py="RovingFocusGroup",[oN,eU,u0e]=Kv(py),[d0e,R4]=Sc(py,[u0e]),[f0e,h0e]=d0e(py),tU=I.forwardRef((e,t)=>a.jsx(oN.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(oN.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(m0e,{...e,ref:t})})}));tU.displayName=py;var m0e=I.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:i=!1,dir:s,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:u=!1,...h}=e,p=I.useRef(null),A=ri(t,p),y=my(s),[v,w]=a0({prop:o,defaultProp:l??null,onChange:c,caller:py}),[j,E]=I.useState(!1),S=ql(d),_=eU(r),C=I.useRef(!1),[Q,R]=I.useState(0);return I.useEffect(()=>{const T=p.current;if(T)return T.addEventListener(SI,S),()=>T.removeEventListener(SI,S)},[S]),a.jsx(f0e,{scope:r,orientation:n,dir:y,loop:i,currentTabStopId:v,onItemFocus:I.useCallback(T=>w(T),[w]),onItemShiftTab:I.useCallback(()=>E(!0),[]),onFocusableItemAdd:I.useCallback(()=>R(T=>T+1),[]),onFocusableItemRemove:I.useCallback(()=>R(T=>T-1),[]),children:a.jsx(an.div,{tabIndex:j||Q===0?-1:0,"data-orientation":n,...h,ref:A,style:{outline:"none",...e.style},onMouseDown:yr(e.onMouseDown,()=>{C.current=!0}),onFocus:yr(e.onFocus,T=>{const M=!C.current;if(T.target===T.currentTarget&&M&&!j){const O=new CustomEvent(SI,c0e);if(T.currentTarget.dispatchEvent(O),!O.defaultPrevented){const $=_().filter(G=>G.focusable),P=$.find(G=>G.active),L=$.find(G=>G.id===v),W=[P,L,...$].filter(Boolean).map(G=>G.ref.current);iU(W,u)}}C.current=!1}),onBlur:yr(e.onBlur,()=>E(!1))})})}),rU="RovingFocusGroupItem",nU=I.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:i=!1,tabStopId:s,children:o,...l}=e,c=su(),d=s||c,u=h0e(rU,r),h=u.currentTabStopId===d,p=eU(r),{onFocusableItemAdd:A,onFocusableItemRemove:y,currentTabStopId:v}=u;return I.useEffect(()=>{if(n)return A(),()=>y()},[n,A,y]),a.jsx(oN.ItemSlot,{scope:r,id:d,focusable:n,active:i,children:a.jsx(an.span,{tabIndex:h?0:-1,"data-orientation":u.orientation,...l,ref:t,onMouseDown:yr(e.onMouseDown,w=>{n?u.onItemFocus(d):w.preventDefault()}),onFocus:yr(e.onFocus,()=>u.onItemFocus(d)),onKeyDown:yr(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){u.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const j=A0e(w,u.orientation,u.dir);if(j!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let S=p().filter(_=>_.focusable).map(_=>_.ref.current);if(j==="last")S.reverse();else if(j==="prev"||j==="next"){j==="prev"&&S.reverse();const _=S.indexOf(w.currentTarget);S=u.loop?x0e(S,_+1):S.slice(_+1)}setTimeout(()=>iU(S))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:v!=null}):o})})});nU.displayName=rU;var p0e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function g0e(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function A0e(e,t,r){const n=g0e(e.key,r);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return p0e[n]}function iU(e,t=!1){const r=document.activeElement;for(const n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}function x0e(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var aU=tU,sU=nU;function v0e(e){const t=y0e(e),r=I.forwardRef((n,i)=>{const{children:s,...o}=n,l=I.Children.toArray(s),c=l.find(w0e);if(c){const d=c.props.children,u=l.map(h=>h===c?I.Children.count(d)>1?I.Children.only(null):I.isValidElement(d)?d.props.children:null:h);return a.jsx(t,{...o,ref:i,children:I.isValidElement(d)?I.cloneElement(d,void 0,u):null})}return a.jsx(t,{...o,ref:i,children:s})});return r.displayName=`${e}.Slot`,r}function y0e(e){const t=I.forwardRef((r,n)=>{const{children:i,...s}=r;if(I.isValidElement(i)){const o=C0e(i),l=E0e(s,i.props);return i.type!==I.Fragment&&(l.ref=n?rh(n,o):o),I.cloneElement(i,l)}return I.Children.count(i)>1?I.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var b0e=Symbol("radix.slottable");function w0e(e){return I.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===b0e}function E0e(e,t){const r={...t};for(const n in t){const i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...l)=>{const c=s(...l);return i(...l),c}:i&&(r[n]=i):n==="style"?r[n]={...i,...s}:n==="className"&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}function C0e(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var lN=["Enter"," "],I0e=["ArrowDown","PageUp","Home"],oU=["ArrowUp","PageDown","End"],j0e=[...I0e,...oU],N0e={ltr:[...lN,"ArrowRight"],rtl:[...lN,"ArrowLeft"]},S0e={ltr:["ArrowLeft"],rtl:["ArrowRight"]},gy="Menu",[pv,B0e,k0e]=Kv(gy),[Rg,lU]=Sc(gy,[k0e,G1,R4]),P4=G1(),cU=R4(),[_0e,Pg]=Rg(gy),[D0e,Ay]=Rg(gy),uU=e=>{const{__scopeMenu:t,open:r=!1,children:n,dir:i,onOpenChange:s,modal:o=!0}=e,l=P4(t),[c,d]=I.useState(null),u=I.useRef(!1),h=ql(s),p=my(i);return I.useEffect(()=>{const A=()=>{u.current=!0,document.addEventListener("pointerdown",y,{capture:!0,once:!0}),document.addEventListener("pointermove",y,{capture:!0,once:!0})},y=()=>u.current=!1;return document.addEventListener("keydown",A,{capture:!0}),()=>{document.removeEventListener("keydown",A,{capture:!0}),document.removeEventListener("pointerdown",y,{capture:!0}),document.removeEventListener("pointermove",y,{capture:!0})}},[]),a.jsx(J6,{...l,children:a.jsx(_0e,{scope:t,open:r,onOpenChange:h,content:c,onContentChange:d,children:a.jsx(D0e,{scope:t,onClose:I.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:u,dir:p,modal:o,children:n})})})};uU.displayName=gy;var T0e="MenuAnchor",vS=I.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,i=P4(r);return a.jsx(X6,{...i,...n,ref:t})});vS.displayName=T0e;var yS="MenuPortal",[R0e,dU]=Rg(yS,{forceMount:void 0}),fU=e=>{const{__scopeMenu:t,forceMount:r,children:n,container:i}=e,s=Pg(yS,t);return a.jsx(R0e,{scope:t,forceMount:r,children:a.jsx(hu,{present:r||s.open,children:a.jsx(Yv,{asChild:!0,container:i,children:n})})})};fU.displayName=yS;var e0="MenuContent",[P0e,bS]=Rg(e0),hU=I.forwardRef((e,t)=>{const r=dU(e0,e.__scopeMenu),{forceMount:n=r.forceMount,...i}=e,s=Pg(e0,e.__scopeMenu),o=Ay(e0,e.__scopeMenu);return a.jsx(pv.Provider,{scope:e.__scopeMenu,children:a.jsx(hu,{present:n||s.open,children:a.jsx(pv.Slot,{scope:e.__scopeMenu,children:o.modal?a.jsx(Q0e,{...i,ref:t}):a.jsx(F0e,{...i,ref:t})})})})}),Q0e=I.forwardRef((e,t)=>{const r=Pg(e0,e.__scopeMenu),n=I.useRef(null),i=ri(t,n);return I.useEffect(()=>{const s=n.current;if(s)return sS(s)},[]),a.jsx(wS,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:yr(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),F0e=I.forwardRef((e,t)=>{const r=Pg(e0,e.__scopeMenu);return a.jsx(wS,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),O0e=v0e("MenuContent.ScrollLock"),wS=I.forwardRef((e,t)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:p,onDismiss:A,disableOutsideScroll:y,...v}=e,w=Pg(e0,r),j=Ay(e0,r),E=P4(r),S=cU(r),_=B0e(r),[C,Q]=I.useState(null),R=I.useRef(null),T=ri(t,R,w.onContentChange),M=I.useRef(0),O=I.useRef(""),$=I.useRef(0),P=I.useRef(null),L=I.useRef("right"),X=I.useRef(0),W=y?N4:I.Fragment,G=y?{as:O0e,allowPinchZoom:!0}:void 0,J=ee=>{const ne=O.current+ee,V=_().filter(we=>!we.disabled),ue=document.activeElement,de=V.find(we=>we.ref.current===ue)?.textValue,xe=V.map(we=>we.textValue),_e=Y0e(xe,ne,de),Ce=V.find(we=>we.textValue===_e)?.ref.current;(function we(ve){O.current=ve,window.clearTimeout(M.current),ve!==""&&(M.current=window.setTimeout(()=>we(""),1e3))})(ne),Ce&&setTimeout(()=>Ce.focus())};I.useEffect(()=>()=>window.clearTimeout(M.current),[]),aS();const q=I.useCallback(ee=>L.current===P.current?.side&&J0e(ee,P.current?.area),[]);return a.jsx(P0e,{scope:r,searchRef:O,onItemEnter:I.useCallback(ee=>{q(ee)&&ee.preventDefault()},[q]),onItemLeave:I.useCallback(ee=>{q(ee)||(R.current?.focus(),Q(null))},[q]),onTriggerLeave:I.useCallback(ee=>{q(ee)&&ee.preventDefault()},[q]),pointerGraceTimerRef:$,onPointerGraceIntentChange:I.useCallback(ee=>{P.current=ee},[]),children:a.jsx(W,{...G,children:a.jsx(I4,{asChild:!0,trapped:i,onMountAutoFocus:yr(s,ee=>{ee.preventDefault(),R.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:a.jsx(M1,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:p,onDismiss:A,children:a.jsx(aU,{asChild:!0,...S,dir:j.dir,orientation:"vertical",loop:n,currentTabStopId:C,onCurrentTabStopIdChange:Q,onEntryFocus:yr(c,ee=>{j.isUsingKeyboardRef.current||ee.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(eS,{role:"menu","aria-orientation":"vertical","data-state":BU(w.open),"data-radix-menu-content":"",dir:j.dir,...E,...v,ref:T,style:{outline:"none",...v.style},onKeyDown:yr(v.onKeyDown,ee=>{const V=ee.target.closest("[data-radix-menu-content]")===ee.currentTarget,ue=ee.ctrlKey||ee.altKey||ee.metaKey,de=ee.key.length===1;V&&(ee.key==="Tab"&&ee.preventDefault(),!ue&&de&&J(ee.key));const xe=R.current;if(ee.target!==xe||!j0e.includes(ee.key))return;ee.preventDefault();const Ce=_().filter(we=>!we.disabled).map(we=>we.ref.current);oU.includes(ee.key)&&Ce.reverse(),W0e(Ce)}),onBlur:yr(e.onBlur,ee=>{ee.currentTarget.contains(ee.target)||(window.clearTimeout(M.current),O.current="")}),onPointerMove:yr(e.onPointerMove,gv(ee=>{const ne=ee.target,V=X.current!==ee.clientX;if(ee.currentTarget.contains(ne)&&V){const ue=ee.clientX>X.current?"right":"left";L.current=ue,X.current=ee.clientX}}))})})})})})})});hU.displayName=e0;var L0e="MenuGroup",ES=I.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return a.jsx(an.div,{role:"group",...n,ref:t})});ES.displayName=L0e;var M0e="MenuLabel",mU=I.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return a.jsx(an.div,{...n,ref:t})});mU.displayName=M0e;var ow="MenuItem",m7="menu.itemSelect",Q4=I.forwardRef((e,t)=>{const{disabled:r=!1,onSelect:n,...i}=e,s=I.useRef(null),o=Ay(ow,e.__scopeMenu),l=bS(ow,e.__scopeMenu),c=ri(t,s),d=I.useRef(!1),u=()=>{const h=s.current;if(!r&&h){const p=new CustomEvent(m7,{bubbles:!0,cancelable:!0});h.addEventListener(m7,A=>n?.(A),{once:!0}),T6(h,p),p.defaultPrevented?d.current=!1:o.onClose()}};return a.jsx(pU,{...i,ref:c,disabled:r,onClick:yr(e.onClick,u),onPointerDown:h=>{e.onPointerDown?.(h),d.current=!0},onPointerUp:yr(e.onPointerUp,h=>{d.current||h.currentTarget?.click()}),onKeyDown:yr(e.onKeyDown,h=>{const p=l.searchRef.current!=="";r||p&&h.key===" "||lN.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})})});Q4.displayName=ow;var pU=I.forwardRef((e,t)=>{const{__scopeMenu:r,disabled:n=!1,textValue:i,...s}=e,o=bS(ow,r),l=cU(r),c=I.useRef(null),d=ri(t,c),[u,h]=I.useState(!1),[p,A]=I.useState("");return I.useEffect(()=>{const y=c.current;y&&A((y.textContent??"").trim())},[s.children]),a.jsx(pv.ItemSlot,{scope:r,disabled:n,textValue:i??p,children:a.jsx(sU,{asChild:!0,...l,focusable:!n,children:a.jsx(an.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...s,ref:d,onPointerMove:yr(e.onPointerMove,gv(y=>{n?o.onItemLeave(y):(o.onItemEnter(y),y.defaultPrevented||y.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:yr(e.onPointerLeave,gv(y=>o.onItemLeave(y))),onFocus:yr(e.onFocus,()=>h(!0)),onBlur:yr(e.onBlur,()=>h(!1))})})})}),U0e="MenuCheckboxItem",gU=I.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:n,...i}=e;return a.jsx(bU,{scope:e.__scopeMenu,checked:r,children:a.jsx(Q4,{role:"menuitemcheckbox","aria-checked":lw(r)?"mixed":r,...i,ref:t,"data-state":IS(r),onSelect:yr(i.onSelect,()=>n?.(lw(r)?!0:!r),{checkForDefaultPrevented:!1})})})});gU.displayName=U0e;var AU="MenuRadioGroup",[z0e,$0e]=Rg(AU,{value:void 0,onValueChange:()=>{}}),xU=I.forwardRef((e,t)=>{const{value:r,onValueChange:n,...i}=e,s=ql(n);return a.jsx(z0e,{scope:e.__scopeMenu,value:r,onValueChange:s,children:a.jsx(ES,{...i,ref:t})})});xU.displayName=AU;var vU="MenuRadioItem",yU=I.forwardRef((e,t)=>{const{value:r,...n}=e,i=$0e(vU,e.__scopeMenu),s=r===i.value;return a.jsx(bU,{scope:e.__scopeMenu,checked:s,children:a.jsx(Q4,{role:"menuitemradio","aria-checked":s,...n,ref:t,"data-state":IS(s),onSelect:yr(n.onSelect,()=>i.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});yU.displayName=vU;var CS="MenuItemIndicator",[bU,H0e]=Rg(CS,{checked:!1}),wU=I.forwardRef((e,t)=>{const{__scopeMenu:r,forceMount:n,...i}=e,s=H0e(CS,r);return a.jsx(hu,{present:n||lw(s.checked)||s.checked===!0,children:a.jsx(an.span,{...i,ref:t,"data-state":IS(s.checked)})})});wU.displayName=CS;var q0e="MenuSeparator",EU=I.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return a.jsx(an.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});EU.displayName=q0e;var G0e="MenuArrow",CU=I.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,i=P4(r);return a.jsx(tS,{...i,...n,ref:t})});CU.displayName=G0e;var V0e="MenuSub",[NGe,IU]=Rg(V0e),Qx="MenuSubTrigger",jU=I.forwardRef((e,t)=>{const r=Pg(Qx,e.__scopeMenu),n=Ay(Qx,e.__scopeMenu),i=IU(Qx,e.__scopeMenu),s=bS(Qx,e.__scopeMenu),o=I.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=s,d={__scopeMenu:e.__scopeMenu},u=I.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return I.useEffect(()=>u,[u]),I.useEffect(()=>{const h=l.current;return()=>{window.clearTimeout(h),c(null)}},[l,c]),a.jsx(vS,{asChild:!0,...d,children:a.jsx(pU,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":i.contentId,"data-state":BU(r.open),...e,ref:rh(t,i.onTriggerChange),onClick:h=>{e.onClick?.(h),!(e.disabled||h.defaultPrevented)&&(h.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:yr(e.onPointerMove,gv(h=>{s.onItemEnter(h),!h.defaultPrevented&&!e.disabled&&!r.open&&!o.current&&(s.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{r.onOpenChange(!0),u()},100))})),onPointerLeave:yr(e.onPointerLeave,gv(h=>{u();const p=r.content?.getBoundingClientRect();if(p){const A=r.content?.dataset.side,y=A==="right",v=y?-5:5,w=p[y?"left":"right"],j=p[y?"right":"left"];s.onPointerGraceIntentChange({area:[{x:h.clientX+v,y:h.clientY},{x:w,y:p.top},{x:j,y:p.top},{x:j,y:p.bottom},{x:w,y:p.bottom}],side:A}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(h),h.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:yr(e.onKeyDown,h=>{const p=s.searchRef.current!=="";e.disabled||p&&h.key===" "||N0e[n.dir].includes(h.key)&&(r.onOpenChange(!0),r.content?.focus(),h.preventDefault())})})})});jU.displayName=Qx;var NU="MenuSubContent",SU=I.forwardRef((e,t)=>{const r=dU(e0,e.__scopeMenu),{forceMount:n=r.forceMount,...i}=e,s=Pg(e0,e.__scopeMenu),o=Ay(e0,e.__scopeMenu),l=IU(NU,e.__scopeMenu),c=I.useRef(null),d=ri(t,c);return a.jsx(pv.Provider,{scope:e.__scopeMenu,children:a.jsx(hu,{present:n||s.open,children:a.jsx(pv.Slot,{scope:e.__scopeMenu,children:a.jsx(wS,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:d,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{o.isUsingKeyboardRef.current&&c.current?.focus(),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:yr(e.onFocusOutside,u=>{u.target!==l.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:yr(e.onEscapeKeyDown,u=>{o.onClose(),u.preventDefault()}),onKeyDown:yr(e.onKeyDown,u=>{const h=u.currentTarget.contains(u.target),p=S0e[o.dir].includes(u.key);h&&p&&(s.onOpenChange(!1),l.trigger?.focus(),u.preventDefault())})})})})})});SU.displayName=NU;function BU(e){return e?"open":"closed"}function lw(e){return e==="indeterminate"}function IS(e){return lw(e)?"indeterminate":e?"checked":"unchecked"}function W0e(e){const t=document.activeElement;for(const r of e)if(r===t||(r.focus(),document.activeElement!==t))return}function K0e(e,t){return e.map((r,n)=>e[(t+n)%e.length])}function Y0e(e,t,r){const i=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let o=K0e(e,Math.max(s,0));i.length===1&&(o=o.filter(d=>d!==r));const c=o.find(d=>d.toLowerCase().startsWith(i.toLowerCase()));return c!==r?c:void 0}function Z0e(e,t){const{x:r,y:n}=e;let i=!1;for(let s=0,o=t.length-1;sn!=p>n&&r<(h-d)*(n-u)/(p-u)+d&&(i=!i)}return i}function J0e(e,t){if(!t)return!1;const r={x:e.clientX,y:e.clientY};return Z0e(r,t)}function gv(e){return t=>t.pointerType==="mouse"?e(t):void 0}var X0e=uU,ede=vS,tde=fU,rde=hU,nde=ES,ide=mU,ade=Q4,sde=gU,ode=xU,lde=yU,cde=wU,ude=EU,dde=CU,fde=jU,hde=SU,F4="DropdownMenu",[mde]=Sc(F4,[lU]),Yl=lU(),[pde,kU]=mde(F4),_U=e=>{const{__scopeDropdownMenu:t,children:r,dir:n,open:i,defaultOpen:s,onOpenChange:o,modal:l=!0}=e,c=Yl(t),d=I.useRef(null),[u,h]=a0({prop:i,defaultProp:s??!1,onChange:o,caller:F4});return a.jsx(pde,{scope:t,triggerId:su(),triggerRef:d,contentId:su(),open:u,onOpenChange:h,onOpenToggle:I.useCallback(()=>h(p=>!p),[h]),modal:l,children:a.jsx(X0e,{...c,open:u,onOpenChange:h,dir:n,modal:l,children:r})})};_U.displayName=F4;var DU="DropdownMenuTrigger",TU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...i}=e,s=kU(DU,r),o=Yl(r);return a.jsx(ede,{asChild:!0,...o,children:a.jsx(an.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...i,ref:rh(t,s.triggerRef),onPointerDown:yr(e.onPointerDown,l=>{!n&&l.button===0&&l.ctrlKey===!1&&(s.onOpenToggle(),s.open||l.preventDefault())}),onKeyDown:yr(e.onKeyDown,l=>{n||(["Enter"," "].includes(l.key)&&s.onOpenToggle(),l.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(l.key)&&l.preventDefault())})})})});TU.displayName=DU;var gde="DropdownMenuPortal",RU=e=>{const{__scopeDropdownMenu:t,...r}=e,n=Yl(t);return a.jsx(tde,{...n,...r})};RU.displayName=gde;var PU="DropdownMenuContent",QU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=kU(PU,r),s=Yl(r),o=I.useRef(!1);return a.jsx(rde,{id:i.contentId,"aria-labelledby":i.triggerId,...s,...n,ref:t,onCloseAutoFocus:yr(e.onCloseAutoFocus,l=>{o.current||i.triggerRef.current?.focus(),o.current=!1,l.preventDefault()}),onInteractOutside:yr(e.onInteractOutside,l=>{const c=l.detail.originalEvent,d=c.button===0&&c.ctrlKey===!0,u=c.button===2||d;(!i.modal||u)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});QU.displayName=PU;var Ade="DropdownMenuGroup",xde=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(nde,{...i,...n,ref:t})});xde.displayName=Ade;var vde="DropdownMenuLabel",FU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(ide,{...i,...n,ref:t})});FU.displayName=vde;var yde="DropdownMenuItem",OU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(ade,{...i,...n,ref:t})});OU.displayName=yde;var bde="DropdownMenuCheckboxItem",LU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(sde,{...i,...n,ref:t})});LU.displayName=bde;var wde="DropdownMenuRadioGroup",Ede=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(ode,{...i,...n,ref:t})});Ede.displayName=wde;var Cde="DropdownMenuRadioItem",MU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(lde,{...i,...n,ref:t})});MU.displayName=Cde;var Ide="DropdownMenuItemIndicator",UU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(cde,{...i,...n,ref:t})});UU.displayName=Ide;var jde="DropdownMenuSeparator",zU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(ude,{...i,...n,ref:t})});zU.displayName=jde;var Nde="DropdownMenuArrow",Sde=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(dde,{...i,...n,ref:t})});Sde.displayName=Nde;var Bde="DropdownMenuSubTrigger",$U=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(fde,{...i,...n,ref:t})});$U.displayName=Bde;var kde="DropdownMenuSubContent",HU=I.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,i=Yl(r);return a.jsx(hde,{...i,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});HU.displayName=kde;var _de=_U,Dde=TU,Tde=RU,qU=QU,GU=FU,VU=OU,WU=LU,KU=MU,YU=UU,ZU=zU,JU=$U,XU=HU;const ez=_de,tz=Dde,Rde=I.forwardRef(({className:e,inset:t,children:r,...n},i)=>a.jsxs(JU,{ref:i,className:nr("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...n,children:[r,a.jsx(cse,{className:"ml-auto"})]}));Rde.displayName=JU.displayName;const Pde=I.forwardRef(({className:e,...t},r)=>a.jsx(XU,{ref:r,className:nr("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...t}));Pde.displayName=XU.displayName;const jS=I.forwardRef(({className:e,sideOffset:t=4,...r},n)=>a.jsx(Tde,{children:a.jsx(qU,{ref:n,sideOffset:t,className:nr("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...r})}));jS.displayName=qU.displayName;const Av=I.forwardRef(({className:e,inset:t,...r},n)=>a.jsx(VU,{ref:n,className:nr("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...r}));Av.displayName=VU.displayName;const Qde=I.forwardRef(({className:e,children:t,checked:r,...n},i)=>a.jsxs(WU,{ref:i,className:nr("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:r,...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(YU,{children:a.jsx(U0,{className:"h-4 w-4"})})}),t]}));Qde.displayName=WU.displayName;const Fde=I.forwardRef(({className:e,children:t,...r},n)=>a.jsxs(KU,{ref:n,className:nr("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(YU,{children:a.jsx(Tg,{className:"h-2 w-2 fill-current"})})}),t]}));Fde.displayName=KU.displayName;const NS=I.forwardRef(({className:e,inset:t,...r},n)=>a.jsx(GU,{ref:n,className:nr("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));NS.displayName=GU.displayName;const xv=I.forwardRef(({className:e,...t},r)=>a.jsx(ZU,{ref:r,className:nr("-mx-1 my-1 h-px bg-muted",e),...t}));xv.displayName=ZU.displayName;const An={PIN_LENGTH_MIN:4,PIN_LENGTH_MAX:6,TTL_DAYS_DEFAULT:7,MAX_ATTEMPTS:5,LOCKOUT_SCHEDULE:[30,120,600],PBKDF2_ITERATIONS:15e4,PBKDF2_ITERATIONS_FALLBACK:8e4,DB_NAME:"parcapp_offline_auth",DB_VERSION:1,STORE_NAME:"offline_auth"};let X2=null;function SS(){return X2||(typeof indexedDB>"u"?Promise.reject(new Error("IndexedDB n'est pas disponible dans cet environnement")):(X2=new Promise((e,t)=>{try{const r=indexedDB.open(An.DB_NAME,An.DB_VERSION);r.onerror=()=>{console.error("[OfflineAuth] Erreur ouverture IndexedDB:",r.error),t(r.error)},r.onsuccess=()=>e(r.result),r.onupgradeneeded=n=>{const i=n.target.result;i.objectStoreNames.contains(An.STORE_NAME)||i.createObjectStore(An.STORE_NAME,{keyPath:"key"}).createIndex("userId","userId",{unique:!1})}}catch(r){console.error("[OfflineAuth] Erreur lors de l'ouverture IndexedDB:",r),t(r)}}),X2))}async function vv(){try{if(typeof indexedDB>"u")return console.warn("[OfflineAuth] IndexedDB n'est pas disponible"),null;const e=await SS();return new Promise((t,r)=>{const s=e.transaction([An.STORE_NAME],"readonly").objectStore(An.STORE_NAME).get("activeProfile");s.onsuccess=()=>{const o=s.result;t(o?o.value:null)},s.onerror=()=>{console.error("[OfflineAuth] Erreur lors de la lecture IndexedDB:",s.error),t(null)}})}catch(e){return console.error("[OfflineAuth] Erreur lors de la récupération du profil:",e),null}}async function O4(e){try{const t=await SS();return new Promise((r,n)=>{const o=t.transaction([An.STORE_NAME],"readwrite").objectStore(An.STORE_NAME).put({key:"activeProfile",value:e});o.onsuccess=()=>r(),o.onerror=()=>n(o.error)})}catch(t){throw console.error("[OfflineAuth] Erreur lors de la sauvegarde du profil:",t),t}}async function Ode(){try{const e=await SS();return new Promise((t,r)=>{const s=e.transaction([An.STORE_NAME],"readwrite").objectStore(An.STORE_NAME).delete("activeProfile");s.onsuccess=()=>t(),s.onerror=()=>r(s.error)})}catch(e){throw console.error("[OfflineAuth] Erreur lors de la suppression du profil:",e),e}}async function cw(e,t,r=An.PBKDF2_ITERATIONS){let n;if(typeof window<"u"&&window.crypto&&window.crypto.subtle?n=window.crypto.subtle:typeof globalThis<"u"&&globalThis.crypto&&globalThis.crypto.subtle?n=globalThis.crypto.subtle:typeof crypto<"u"&&crypto.subtle&&(n=crypto.subtle),!n){const l=typeof window<"u"?window.location.protocol:"unknown",c=typeof window<"u"?window.location.hostname:"unknown",d=typeof window<"u"?window.isSecureContext:!1;let u=`Web Crypto API (crypto.subtle) n'est pas disponible. `;throw u+=`Contexte: protocol=${l}, hostname=${c}, isSecureContext=${d}. `,u+=`L'authentification offline nécessite un contexte sécurisé (HTTPS ou localhost). `,l==="https:"&&!d?(u+=`⚠️ Le certificat SSL n'est pas reconnu par le navigateur. `,u+='Solution: Installez mkcert sur cet ordinateur et exécutez "mkcert -install" pour accepter le certificat.'):l==="http:"&&c!=="localhost"&&c!=="127.0.0.1"&&(u+=`⚠️ HTTP n'est pas sécurisé pour les adresses IP réseau. `,u+="Solution: Utilisez HTTPS ou accédez via localhost."),new Error(u)}const s=new TextEncoder().encode(e),o=await n.importKey("raw",s,{name:"PBKDF2"},!1,["deriveBits"]);return n.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:"SHA-256"},o,256)}function Lde(){let e;if(typeof window<"u"&&window.crypto?e=window.crypto:typeof globalThis<"u"&&globalThis.crypto?e=globalThis.crypto:typeof crypto<"u"&&(e=crypto),!e||!e.getRandomValues){const t=typeof window<"u"?window.location.protocol:"unknown",r=typeof window<"u"?window.location.hostname:"unknown",n=typeof window<"u"?window.isSecureContext:!1;throw new Error(`crypto.getRandomValues n'est pas disponible. Contexte: protocol=${t}, hostname=${r}, isSecureContext=${n}. Vérifiez que vous êtes dans un contexte sécurisé (HTTPS ou localhost).`)}return e.getRandomValues(new Uint8Array(16))}function p7(e){const t=new Uint8Array(e);let r="";for(let n=0;ne.expiresAt}function Ude(e){const t=An.LOCKOUT_SCHEDULE,r=Math.min(e-1,t.length-1);return t[r]*1e3}async function BS(e,t,r,n){if(n.lengthAn.PIN_LENGTH_MAX)throw new Error(`Le PIN doit contenir entre ${An.PIN_LENGTH_MIN} et ${An.PIN_LENGTH_MAX} chiffres`);if(!/^\d+$/.test(n))throw new Error("Le PIN ne doit contenir que des chiffres");const i=Lde();let s;try{s=await cw(n,i,An.PBKDF2_ITERATIONS)}catch(c){console.warn("[OfflineAuth] Fallback vers iterations réduites:",c),s=await cw(n,i,An.PBKDF2_ITERATIONS_FALLBACK)}const o=Date.now(),l={userId:e,displayName:t,roles:r,saltBase64:p7(i.buffer),pinVerifierBase64:p7(s),createdAt:o,lastOnlineAt:o,expiresAt:o+An.TTL_DAYS_DEFAULT*24*60*60*1e3,failedAttempts:0,lockUntil:null,version:1};await O4(l)}async function nz(e){const t=await vv();if(!t)return{success:!1,profile:null};if(rz(t))return{success:!1,profile:null};if(Mde(t))return{success:!1,profile:t,lockedUntil:t.lockUntil||void 0};const r=new Uint8Array(g7(t.saltBase64)),n=g7(t.pinVerifierBase64);let i;try{i=await cw(e,r,An.PBKDF2_ITERATIONS)}catch(c){console.warn("[OfflineAuth] Fallback vers iterations réduites:",c),i=await cw(e,r,An.PBKDF2_ITERATIONS_FALLBACK)}const s=new Uint8Array(i),o=new Uint8Array(n);if(s.length!==o.length)return await A7(t),{success:!1,profile:t};let l=!0;for(let c=0;c=An.MAX_ATTEMPTS){const t=Ude(e.failedAttempts);e.lockUntil=Date.now()+t}await O4(e)}async function zde(){return vv()}async function cN(){try{if(typeof indexedDB>"u")return!1;const e=await vv();return e?!rz(e):!1}catch(e){return console.error("[OfflineAuth] Erreur lors de la vérification hasOfflineProfile:",e),!1}}async function $de(){const e=await vv();if(!e)return;const t=Date.now();e.lastOnlineAt=t,e.expiresAt=t+An.TTL_DAYS_DEFAULT*24*60*60*1e3,e.failedAttempts=0,e.lockUntil=null,await O4(e)}async function Hde(){await Ode()}const Qp=Object.freeze(Object.defineProperty({__proto__:null,OFFLINE_AUTH_CONFIG:An,clearOfflineProfile:Hde,createOfflineProfile:BS,getOfflineProfile:zde,hasOfflineProfile:cN,updateLastOnlineAt:$de,verifyPin:nz},Symbol.toStringTag,{value:"Module"}));var qde=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Gde=qde.reduce((e,t)=>{const r=sy(`Primitive.${t}`),n=I.forwardRef((i,s)=>{const{asChild:o,...l}=i,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(c,{...l,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),Vde="Label",iz=I.forwardRef((e,t)=>a.jsx(Gde.label,{...e,ref:t,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));iz.displayName=Vde;var az=iz;const Wde=Dg("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Se=I.forwardRef(({className:e,...t},r)=>a.jsx(az,{ref:r,className:nr(Wde(),e),...t}));Se.displayName=az.displayName;const En=uS,ah=TM,Kde=dS,sz=I.forwardRef(({className:e,...t},r)=>a.jsx(oy,{ref:r,className:nr("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));sz.displayName=oy.displayName;const yn=I.forwardRef(({className:e,children:t,...r},n)=>a.jsxs(Kde,{children:[a.jsx(sz,{}),a.jsxs(ly,{ref:n,className:nr("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[t,a.jsxs(B4,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[a.jsx(Nn,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));yn.displayName=ly.displayName;const Cn=({className:e,...t})=>a.jsx("div",{className:nr("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Cn.displayName="DialogHeader";const Na=({className:e,...t})=>a.jsx("div",{className:nr("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Na.displayName="DialogFooter";const In=I.forwardRef(({className:e,...t},r)=>a.jsx(cy,{ref:r,className:nr("text-lg font-semibold leading-none tracking-tight",e),...t}));In.displayName=cy.displayName;const Mn=I.forwardRef(({className:e,...t},r)=>a.jsx(uy,{ref:r,className:nr("text-sm text-muted-foreground",e),...t}));Mn.displayName=uy.displayName;const Yde=Dg("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),lu=I.forwardRef(({className:e,variant:t,...r},n)=>a.jsx("div",{ref:n,role:"alert",className:nr(Yde({variant:t}),e),...r}));lu.displayName="Alert";const kS=I.forwardRef(({className:e,...t},r)=>a.jsx("h5",{ref:r,className:nr("mb-1 font-medium leading-none tracking-tight",e),...t}));kS.displayName="AlertTitle";const cu=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{ref:r,className:nr("text-sm [&_p]:leading-relaxed",e),...t}));cu.displayName="AlertDescription";function oz({open:e,onOpenChange:t,user:r,onSuccess:n}){const{loginAsync:i}=dy(),{toast:s}=Er(),[o,l]=I.useState(""),[c,d]=I.useState(""),[u,h]=I.useState(""),[p,A]=I.useState(null),[y,v]=I.useState(!1),[w,j]=I.useState(!1),[E,S]=I.useState("password"),_=async R=>{R.preventDefault(),A(null),v(!0);try{const T=r.email?{email:r.email,password:o}:{phone:r.phone||"",password:o};await i(T),l(""),S("pin")}catch(T){A(T.message||"Mot de passe incorrect")}finally{v(!1)}},C=async R=>{if(R.preventDefault(),A(null),c.lengthAn.PIN_LENGTH_MAX){A(`Le PIN doit contenir entre ${An.PIN_LENGTH_MIN} et ${An.PIN_LENGTH_MAX} chiffres`);return}if(!/^\d+$/.test(c)){A("Le PIN ne doit contenir que des chiffres");return}if(c!==u){A("Les PIN ne correspondent pas");return}j(!0);try{const T=r.name||r.email||`Utilisateur ${r.id}`,M=r.role?[r.role]:[];await BS(r.id,T,M,c),d(""),h(""),S("password"),s({title:"PIN offline configuré",description:"Vous pouvez maintenant accéder à l'application en mode offline avec votre PIN."}),n?.(),t(!1)}catch(T){const M=T instanceof Error?T.message:"Erreur lors de la création du profil offline";A(M)}finally{j(!1)}},Q=()=>{l(""),d(""),h(""),A(null),S("password"),t(!1)};return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md",children:[a.jsxs(Cn,{children:[a.jsxs(In,{className:"flex items-center gap-2",children:[a.jsx(Hd,{className:"h-5 w-5"}),E==="password"?"Vérification du mot de passe":"Configurer le PIN offline"]}),a.jsx(Mn,{children:E==="password"?"Veuillez entrer votre mot de passe pour configurer l'accès offline":"Définissez un PIN de 4 à 6 chiffres pour déverrouiller l'application en mode offline"})]}),E==="password"?a.jsxs("form",{onSubmit:_,className:"space-y-4",children:[p&&a.jsxs(lu,{variant:"destructive",children:[a.jsx(Kn,{className:"h-4 w-4"}),a.jsx(cu,{children:p})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"password",children:"Mot de passe"}),a.jsx(Xe,{id:"password",type:"password",value:o,onChange:R=>l(R.target.value),placeholder:"Entrez votre mot de passe",required:!0,autoFocus:!0,disabled:y})]}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:Q,disabled:y,children:"Annuler"}),a.jsx(ge,{type:"submit",disabled:y||!o,children:y?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"mr-2 h-4 w-4 animate-spin"}),"Vérification..."]}):a.jsxs(a.Fragment,{children:[a.jsx(vse,{className:"mr-2 h-4 w-4"}),"Continuer"]})})]})]}):a.jsxs("form",{onSubmit:C,className:"space-y-4",children:[p&&a.jsxs(lu,{variant:"destructive",children:[a.jsx(Kn,{className:"h-4 w-4"}),a.jsx(cu,{children:p})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"pin",children:["PIN (",An.PIN_LENGTH_MIN,"-",An.PIN_LENGTH_MAX," chiffres)"]}),a.jsx(Xe,{id:"pin",type:"password",inputMode:"numeric",pattern:"[0-9]*",value:c,onChange:R=>{const T=R.target.value.replace(/\D/g,"");T.length<=An.PIN_LENGTH_MAX&&d(T)},placeholder:"Ex: 1234",required:!0,autoFocus:!0,disabled:w,maxLength:An.PIN_LENGTH_MAX})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"confirmPin",children:"Confirmer le PIN"}),a.jsx(Xe,{id:"confirmPin",type:"password",inputMode:"numeric",pattern:"[0-9]*",value:u,onChange:R=>{const T=R.target.value.replace(/\D/g,"");T.length<=An.PIN_LENGTH_MAX&&h(T)},placeholder:"Ex: 1234",required:!0,disabled:w,maxLength:An.PIN_LENGTH_MAX})]}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>{S("password"),d(""),h(""),A(null)},disabled:w,children:"Retour"}),a.jsx(ge,{type:"submit",disabled:w||!c||!u,children:w?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"mr-2 h-4 w-4 animate-spin"}),"Création..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Hd,{className:"mr-2 h-4 w-4"}),"Configurer"]})})]})]})]})})}function Zde({onRefresh:e}){const t=k4(),{data:r}=ih(),n=eo(),{toast:i}=Er(),[s,o]=I.useState(0),[l,c]=I.useState(()=>{try{return navigator.onLine}catch{return!0}}),[d,u]=I.useState(!1),[h,p]=I.useState(!1),[A,y]=I.useState(!1),{data:v}=hy(),w=v?.voyage||null;I.useEffect(()=>{const _=()=>{o(gS())},C=()=>{if(w?.id){const R=gc(w.id);p(!!R&&!!R.voyage&&!!R.trips)}else p(!1)};_(),C();const Q=setInterval(()=>{_(),C()},2e3);return()=>clearInterval(Q)},[w?.id]),I.useEffect(()=>{const _=()=>c(!0),C=()=>c(!1);return window.addEventListener("online",_),window.addEventListener("offline",C),()=>{window.removeEventListener("online",_),window.removeEventListener("offline",C)}},[]);const j=()=>{n.invalidateQueries(),e?.(),i({title:"Rafraîchissement",description:"Les données sont en cours de rafraîchissement..."})},E=()=>{if(confirm("Vider le cache ? Cela supprimera toutes les données mises en cache et rechargera la page."))try{const _=xS();n.clear(),i({title:"Cache vidé",description:`${_} élément(s) supprimé(s). Rechargement...`}),setTimeout(()=>window.location.reload(),1e3)}catch{i({variant:"destructive",title:"Erreur",description:"Impossible de vider le cache."})}},S=async()=>{if(!(!l||s===0)){u(!0);try{const{success:_,failed:C}=await T4();_>0&&(i({title:"Synchronisation réussie",description:`${_} action(s) synchronisée(s) avec succès.`}),await new Promise(Q=>setTimeout(Q,1500)),n.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),setTimeout(()=>{n.invalidateQueries({queryKey:["/api/voyages"]})},1e3)),C>0&&i({variant:"destructive",title:"Erreur de synchronisation",description:`${C} action(s) n'ont pas pu être synchronisées.`})}catch{i({variant:"destructive",title:"Erreur",description:"Une erreur est survenue lors de la synchronisation."})}finally{u(!1)}}};return a.jsxs("header",{className:"flex flex-col gap-2 p-4 border-b bg-card",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2 pb-2 border-b",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-primary/10 p-1",children:a.jsx("img",{src:"/logo-parc-app.png",alt:"Parc'App Logo",className:"h-full w-full object-contain"})}),a.jsx("h1",{className:"text-base font-semibold",children:"Parc'App"})]}),a.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[a.jsx(o0e,{isOnline:l,hasCache:h}),s>0&&a.jsx(yt,{variant:l?"secondary":"destructive",className:"text-xs flex items-center gap-1",children:l?a.jsxs(a.Fragment,{children:[a.jsx(lv,{className:"h-3 w-3"}),s," en attente"]}):a.jsxs(a.Fragment,{children:[a.jsx(dse,{className:"h-3 w-3"}),s," hors ligne"]})}),l&&s>0&&a.jsx(ge,{variant:"outline",size:"sm",onClick:S,disabled:d,className:"h-8 text-xs",children:d?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-3 w-3 mr-1 animate-spin"}),"Sync..."]}):a.jsxs(a.Fragment,{children:[a.jsx(lv,{className:"h-3 w-3 mr-1"}),"Synchroniser"]})}),a.jsx(ge,{variant:"ghost",size:"icon",onClick:j,className:"h-8 w-8",title:"Rafraîchir",children:a.jsx(p4,{className:"h-4 w-4"})}),a.jsx(ge,{variant:"ghost",size:"icon",onClick:E,className:"h-8 w-8",title:"Vider le cache",children:a.jsx(Ns,{className:"h-4 w-4"})}),r&&a.jsxs(ez,{children:[a.jsx(tz,{asChild:!0,children:a.jsx(ge,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"Menu utilisateur",children:a.jsx(nh,{className:"h-4 w-4"})})}),a.jsxs(jS,{align:"end",children:[a.jsx(NS,{children:a.jsxs("div",{className:"flex flex-col space-y-1",children:[a.jsx("p",{className:"text-sm font-medium",children:r.username||r.name||r.email}),a.jsx("p",{className:"text-xs text-muted-foreground",children:r.role})]})}),a.jsx(xv,{}),a.jsxs(Av,{onClick:()=>y(!0),children:[a.jsx(Hd,{className:"mr-2 h-4 w-4"}),a.jsx("span",{children:"Configurer PIN offline"})]}),a.jsx(xv,{}),a.jsxs(Av,{onClick:()=>t.mutate(),disabled:t.isPending,children:[a.jsx(m4,{className:"mr-2 h-4 w-4"}),a.jsx("span",{children:t.isPending?"Déconnexion...":"Se déconnecter"})]})]})]})]})]}),a.jsx("div",{className:"flex items-center gap-3",children:a.jsxs("div",{className:"flex flex-col gap-1 flex-1 min-w-0",children:[w?.title&&a.jsx("span",{className:"text-xl font-bold text-primary truncate",children:w.title}),w?.code&&a.jsx("span",{className:"text-sm text-muted-foreground truncate",children:w.code})]})}),r&&a.jsx(oz,{open:A,onOpenChange:y,user:r,onSuccess:()=>{}})]})}function Jde({activeTab:e,onTabChange:t}){const r=[{id:"voyage",label:"Voyage",icon:ei},{id:"journal",label:"Journal",icon:po},{id:"aide",label:"Aide",icon:Gl}];return a.jsx("nav",{className:"fixed bottom-0 left-0 right-0 border-t bg-card z-50",children:a.jsx("div",{className:"flex items-center justify-around h-16",children:r.map(n=>{const i=n.icon,s=e===n.id;return a.jsxs("button",{onClick:()=>t(n.id),className:nr("flex flex-col items-center justify-center gap-1 flex-1 h-full","transition-colors",s?"text-primary":"text-muted-foreground hover:text-foreground"),children:[a.jsx(i,{className:nr("h-5 w-5",s&&"stroke-[2.5]")}),a.jsx("span",{className:"text-xs font-medium",children:n.label})]},n.id)})})})}async function lz(e){return await $t(`/api/voyages/${e}/etapes`)}async function uw(e,t){return await $t(`/api/voyages/${e}/etapes/${t}/reach`,{method:"POST"})}const Xde=Object.freeze(Object.defineProperty({__proto__:null,getVoyageSteps:lz,reachVoyageStep:uw},Symbol.toStringTag,{value:"Module"}));let x7=!1,Ix=null,uN=new Set,dN=new Set,fN=navigator.onLine;function efe(){if(x7)return;x7=!0;const e=()=>{fN=!0,uN.forEach(r=>{try{r()}catch(n){console.error("[offlineSyncManager] Erreur dans un callback online:",n)}}),Ix&&clearTimeout(Ix),Ix=setTimeout(async()=>{try{const{success:r,failed:n}=await T4();r>0&&(await new Promise(i=>setTimeout(i,1500)),jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),setTimeout(()=>{jt.invalidateQueries({queryKey:["/api/voyages"]})},1e3))}catch(r){console.error("[offlineSyncManager] Erreur lors de la synchronisation globale:",r)}},1e3)},t=()=>{fN=!1,Ix&&clearTimeout(Ix),dN.forEach(r=>{try{r()}catch{}})};window.addEventListener("online",e),window.addEventListener("offline",t),navigator.onLine&&e()}function tfe(e,t){return efe(),uN.add(e),dN.add(t),()=>{uN.delete(e),dN.delete(t)}}function v7(){return fN}function xy(){const[e,t]=I.useState(v7),{toast:r}=Er();return I.useEffect(()=>{const i=tfe(()=>{t(!0)},()=>{t(!1)});return t(v7()),i},[]),{isOnline:e,executeAction:async(i,s,o)=>{if(e)try{return await s()}catch(l){if(!navigator.onLine){t(!1);const c=await mv(i);return r({title:"Action enregistrée hors ligne",description:o||"L'action sera synchronisée automatiquement quand la connexion reviendra."}),c}throw l}else{const l=await mv(i);return r({title:"Action enregistrée hors ligne",description:o||"L'action sera synchronisée automatiquement quand la connexion reviendra."}),l}}}}function rfe(e,t){const r=gc(e);let n=r?.steps;if(!n){const i=jt.getQueryData(["/api/voyages",e,"etapes"]);i&&(n=i)}if(n){const i=new Date().toISOString(),s=d=>{if(!d||!d.steps||!Array.isArray(d.steps))return d||{steps:[],currentStepId:null};if(!d.steps.some(y=>y.id===t))return{...d,steps:d.steps.map(y=>({...y}))};let h=d.steps.map(y=>y.id===t?{...y,reachedAt:i}:{...y});const p=h.findIndex(y=>y.id===t);let A=null;if(p>=0)for(let y=p+1;yu.reachedAt||u.skippedAt)&&o.inbound.steps.length>0&&(l=l.map(u=>u.direction==="inbound"&&u.status==="in_progress"?{...u,status:"completed",endedAt:new Date().toISOString()}:u)),fy(e,{voyage:r?.voyage,trips:l,steps:o}),jt.setQueryData(["/api/driver/current-voyage"],d=>d&&{...d,trips:l.map(u=>({...u})),_updatedAt:Date.now()});const c={outbound:{...o.outbound,steps:o.outbound.steps.map(d=>({...d}))},inbound:{...o.inbound,steps:o.inbound.steps.map(d=>({...d}))},_updatedAt:Date.now()};return jt.setQueryData(["/api/voyages",e,"etapes"],d=>c),jt.invalidateQueries({queryKey:["/api/voyages",e,"etapes"]}),jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),!0}else return!1}function dw(e){const[t,r]=I.useState(()=>{try{return navigator.onLine}catch{return!0}});I.useEffect(()=>{const o=()=>r(!0),l=()=>r(!1);try{return window.addEventListener("online",o),window.addEventListener("offline",l),()=>{window.removeEventListener("online",o),window.removeEventListener("offline",l)}}catch{}},[]);const i=(e?gc(e):null)?.steps,s={outbound:{direction:null,currentStepId:null,steps:[]},inbound:{direction:null,currentStepId:null,steps:[]}};return cr({queryKey:["/api/voyages",e,"etapes"],queryFn:async()=>{if(e){const o=gc(e);if(o?.steps&&(o.steps.outbound?.steps?.length>0||o.steps.inbound?.steps?.length>0)&&!t)return o.steps}if(!t&&e)return s;try{const o=await lz(e),l=o.outbound?.steps?.length>0||o.inbound?.steps?.length>0;if(e&&l)try{const c=gc(e);fy(e,{voyage:c?.voyage,trips:c?.trips,steps:o})}catch{}return o}catch(o){if(e){const l=gc(e);if(l?.steps&&(l.steps.outbound?.steps?.length>0||l.steps.inbound?.steps?.length>0))return l.steps}if(o instanceof Error&&(o.message.includes("404")||o.status===404))return s;throw o instanceof Error&&(o.message.includes("ERR_HTTP2")||o.message.includes("ERR_NETWORK")||o.message.includes("Failed to fetch")||o.message.includes("network")),o}},enabled:!!e,placeholderData:i&&(i.outbound?.steps?.length>0||i.inbound?.steps?.length>0)?i:s,initialData:i&&(i.outbound?.steps?.length>0||i.inbound?.steps?.length>0)?i:s,refetchInterval:!1,staleTime:t?0:1/0,gcTime:t?300*1e3:1/0,retry:(o,l)=>{if(l instanceof Error&&(l.message.includes("ERR_HTTP2")||l.message.includes("ERR_NETWORK")||l.message.includes("Failed to fetch")||l.message.includes("network"))&&e){const c=gc(e);if(c?.steps&&(c.steps.outbound?.steps?.length>0||c.steps.inbound?.steps?.length>0))return!1}return o<1},retryDelay:1e3,throwOnError:!1,useErrorBoundary:!1,onError:o=>{},select:o=>{if(!o){if(e){const c=gc(e);if(c?.steps&&(c.steps.outbound?.steps?.length>0||c.steps.inbound?.steps?.length>0))return c.steps}return s}if(o.outbound?.steps?.length>0||o.inbound?.steps?.length>0)return o;if(e){const c=gc(e);if(c?.steps&&(c.steps.outbound?.steps?.length>0||c.steps.inbound?.steps?.length>0))return c.steps}return o}})}function nfe(){const{toast:e}=Er(),t=xy();return _r({mutationFn:async({voyageId:n,stepId:i})=>{if(!t)throw new Error("Hook offline non disponible");if(t){const s=await t.executeAction({type:"reachStep",voyageId:n,stepId:i},()=>uw(n,i),"L'étape sera validée automatiquement quand la connexion reviendra.");return typeof s=="string"?{message:"Étape enregistrée hors ligne",etape:{id:i,reachedAt:new Date().toISOString()}}:s}return uw(n,i)},onSuccess:async(n,i)=>{const s=!navigator.onLine,o=n.message?.includes("hors ligne")||n.message?.includes("enregistrée")||n.message?.includes("offline")||s;let l=o;if(!o&&s&&(l=!0),l){const c=gc(i.voyageId);let d=c?.steps;if(!d){const u=jt.getQueryData(["/api/voyages",i.voyageId,"etapes"]);u&&(d=u)}if(d){const u=new Date().toISOString(),h=v=>{if(!v||!v.steps||!Array.isArray(v.steps))return v||{steps:[],currentStepId:null};if(!v.steps.some(_=>_.id===i.stepId))return{...v,steps:v.steps.map(_=>({..._}))};let j=v.steps.map(_=>_.id===i.stepId?{..._,reachedAt:u}:{..._});const E=j.findIndex(_=>_.id===i.stepId);let S=null;if(E>=0)for(let _=E+1;_({...v}))},inbound:{...p.inbound,steps:p.inbound.steps.map(v=>({...v}))},_updatedAt:Date.now()};jt.setQueryData(["/api/voyages",i.voyageId,"etapes"],v=>A),window.dispatchEvent(new CustomEvent("offlineStepUpdated",{detail:{voyageId:i.voyageId,stepId:i.stepId}})),jt.invalidateQueries({queryKey:["/api/voyages",i.voyageId,"etapes"]}),jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]});const y=A;setTimeout(()=>{jt.setQueryData(["/api/voyages",i.voyageId,"etapes"],v=>({...y,_updatedAt:Date.now()}))},50)}}jt.invalidateQueries({queryKey:["/api/voyages",i.voyageId,"etapes"]}),jt.invalidateQueries({queryKey:["/api/voyages",i.voyageId]}),jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),navigator.onLine&&!o&&await Promise.all([jt.refetchQueries({queryKey:["/api/driver/current-voyage"]}),jt.refetchQueries({queryKey:["/api/voyages",i.voyageId,"etapes"]})]),e({title:"Succès",description:n.message||"L'étape a été marquée comme atteinte"})},onError:n=>{let i="Impossible de marquer l'étape comme atteinte",s="Erreur";if(n?.response?.data?.requires_unloading_weighing||n?.requires_unloading_weighing)s="Pesée de livraison requise",i=n?.response?.data?.detail||n?.response?.data?.error||n?.message||"Vous devez enregistrer le ticket de pesée de livraison avant de pouvoir clôturer le voyage. Veuillez enregistrer le ticket de pesée de livraison via la carte PESÉE.";else if(n?.response?.data?.error||n?.response?.data?.message)i=n.response.data.detail||n.response.data.error||n.response.data.message,n.response.data.message&&n.response.data.message!==i&&(i=`${n.response.data.message}: ${i}`);else if(n?.message){const o=n.message.split(": ");o.length>1?i=o.slice(1).join(": "):i=n.message}e({variant:"destructive",title:s,description:i,duration:n?.response?.data?.requires_unloading_weighing?8e3:5e3})}})}async function vy(e,t){const r=new URLSearchParams;e&&r.append("status",e),t&&r.append("with_unread_count","1");const n=r.toString(),i=`/api/voyages${n?`?${n}`:""}`;return await $t(i)}async function _S(e){try{return await $t(`/api/voyages/${e}`)}catch(t){if(t instanceof Error&&(t.message.includes("404")||t.message.includes("Not Found")))return null;throw t}}async function cz(e){return await $t("/api/voyages",{method:"POST",body:e})}async function uz(e,t){return await $t(`/api/voyages/${e}`,{method:"PATCH",body:t})}async function dz(e){return await $t(`/api/voyages/${e}`,{method:"DELETE"})}async function fz(e){return await $t(`/api/voyages/${e}/has-weighing`)}async function hN(e){return await $t(`/api/voyages/${e}/start`,{method:"POST"})}async function mN(e){return await $t(`/api/voyages/${e}/start-return`,{method:"POST"})}async function hz(e){return await $t(`/api/voyages/${e}/close`,{method:"POST"})}async function mz(e,t){return await $t(`/api/voyages/${e}/trips/quick-create`,{method:"POST",body:{mode:t}})}async function pz(e){try{return await $t(`/api/voyages/${e}/mission-order`)}catch(t){if(t instanceof Error&&(t.message.includes("404")||t.message.includes("Not Found")))return null;throw t}}async function gz(){return await $t("/api/driver/completed-voyages")}async function Az(){return await $t("/api/driver/planned-voyages")}const BI=Object.freeze(Object.defineProperty({__proto__:null,closeVoyage:hz,createVoyage:cz,deleteVoyage:dz,fetchDriverCompletedVoyages:gz,fetchDriverPlannedVoyages:Az,fetchVoyage:_S,fetchVoyageOrderData:pz,fetchVoyages:vy,hasVoyageWeighing:fz,quickCreateTrips:mz,startVoyage:hN,startVoyageReturn:mN,updateVoyage:uz},Symbol.toStringTag,{value:"Module"})),it=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{ref:r,className:nr("shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm",e),...t}));it.displayName="Card";const br=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{ref:r,className:nr("flex flex-col space-y-1.5 p-6",e),...t}));br.displayName="CardHeader";const jr=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{ref:r,className:nr("text-2xl font-semibold leading-none tracking-tight",e),...t}));jr.displayName="CardTitle";const wn=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{ref:r,className:nr("text-sm text-muted-foreground",e),...t}));wn.displayName="CardDescription";const Et=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{ref:r,className:nr("p-6 pt-0",e),...t}));Et.displayName="CardContent";const _m=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{ref:r,className:nr("flex items-center p-6 pt-0",e),...t}));_m.displayName="CardFooter";function ife(e,t=[]){let r=[];function n(s,o){const l=I.createContext(o);l.displayName=s+"Context";const c=r.length;r=[...r,o];const d=h=>{const{scope:p,children:A,...y}=h,v=p?.[e]?.[c]||l,w=I.useMemo(()=>y,Object.values(y));return a.jsx(v.Provider,{value:w,children:A})};d.displayName=s+"Provider";function u(h,p){const A=p?.[e]?.[c]||l,y=I.useContext(A);if(y)return y;if(o!==void 0)return o;throw new Error(`\`${h}\` must be used within \`${s}\``)}return[d,u]}const i=()=>{const s=r.map(o=>I.createContext(o));return function(l){const c=l?.[e]||s;return I.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return i.scopeName=e,[n,afe(i,...t)]}function afe(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(s){const o=n.reduce((l,{useScope:c,scopeName:d})=>{const h=c(s)[`__scope${d}`];return{...l,...h}},{});return I.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var sfe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],DS=sfe.reduce((e,t)=>{const r=sy(`Primitive.${t}`),n=I.forwardRef((i,s)=>{const{asChild:o,...l}=i,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(c,{...l,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function ofe(){return TO.useSyncExternalStore(lfe,()=>!0,()=>!1)}function lfe(){return()=>{}}var TS="Avatar",[cfe]=ife(TS),[ufe,xz]=cfe(TS),vz=I.forwardRef((e,t)=>{const{__scopeAvatar:r,...n}=e,[i,s]=I.useState("idle");return a.jsx(ufe,{scope:r,imageLoadingStatus:i,onImageLoadingStatusChange:s,children:a.jsx(DS.span,{...n,ref:t})})});vz.displayName=TS;var yz="AvatarImage",bz=I.forwardRef((e,t)=>{const{__scopeAvatar:r,src:n,onLoadingStatusChange:i=()=>{},...s}=e,o=xz(yz,r),l=dfe(n,s),c=ql(d=>{i(d),o.onImageLoadingStatusChange(d)});return zs(()=>{l!=="idle"&&c(l)},[l,c]),l==="loaded"?a.jsx(DS.img,{...s,ref:t,src:n}):null});bz.displayName=yz;var wz="AvatarFallback",Ez=I.forwardRef((e,t)=>{const{__scopeAvatar:r,delayMs:n,...i}=e,s=xz(wz,r),[o,l]=I.useState(n===void 0);return I.useEffect(()=>{if(n!==void 0){const c=window.setTimeout(()=>l(!0),n);return()=>window.clearTimeout(c)}},[n]),o&&s.imageLoadingStatus!=="loaded"?a.jsx(DS.span,{...i,ref:t}):null});Ez.displayName=wz;function y7(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function dfe(e,{referrerPolicy:t,crossOrigin:r}){const n=ofe(),i=I.useRef(null),s=n?(i.current||(i.current=new window.Image),i.current):null,[o,l]=I.useState(()=>y7(s,e));return zs(()=>{l(y7(s,e))},[s,e]),zs(()=>{const c=h=>()=>{l(h)};if(!s)return;const d=c("loaded"),u=c("error");return s.addEventListener("load",d),s.addEventListener("error",u),t&&(s.referrerPolicy=t),typeof r=="string"&&(s.crossOrigin=r),()=>{s.removeEventListener("load",d),s.removeEventListener("error",u)}},[s,r,t]),o}var Cz=vz,Iz=bz,jz=Ez;const Dm=I.forwardRef(({className:e,...t},r)=>a.jsx(Cz,{ref:r,className:nr(` after:content-[''] after:block after:absolute after:inset-0 after:rounded-full after:pointer-events-none after:border after:border-black/10 dark:after:border-white/10 relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full`,e),...t}));Dm.displayName=Cz.displayName;const Tm=I.forwardRef(({className:e,...t},r)=>a.jsx(Iz,{ref:r,className:nr("aspect-square h-full w-full",e),...t}));Tm.displayName=Iz.displayName;const Rm=I.forwardRef(({className:e,...t},r)=>a.jsx(jz,{ref:r,className:nr("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));Rm.displayName=jz.displayName;function ffe(e,t=[]){let r=[];function n(s,o){const l=I.createContext(o);l.displayName=s+"Context";const c=r.length;r=[...r,o];const d=h=>{const{scope:p,children:A,...y}=h,v=p?.[e]?.[c]||l,w=I.useMemo(()=>y,Object.values(y));return a.jsx(v.Provider,{value:w,children:A})};d.displayName=s+"Provider";function u(h,p){const A=p?.[e]?.[c]||l,y=I.useContext(A);if(y)return y;if(o!==void 0)return o;throw new Error(`\`${h}\` must be used within \`${s}\``)}return[d,u]}const i=()=>{const s=r.map(o=>I.createContext(o));return function(l){const c=l?.[e]||s;return I.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return i.scopeName=e,[n,hfe(i,...t)]}function hfe(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(s){const o=n.reduce((l,{useScope:c,scopeName:d})=>{const h=c(s)[`__scope${d}`];return{...l,...h}},{});return I.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var mfe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Nz=mfe.reduce((e,t)=>{const r=sy(`Primitive.${t}`),n=I.forwardRef((i,s)=>{const{asChild:o,...l}=i,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(c,{...l,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),RS="Progress",PS=100,[pfe]=ffe(RS),[gfe,Afe]=pfe(RS),Sz=I.forwardRef((e,t)=>{const{__scopeProgress:r,value:n=null,max:i,getValueLabel:s=xfe,...o}=e;(i||i===0)&&!b7(i)&&console.error(vfe(`${i}`,"Progress"));const l=b7(i)?i:PS;n!==null&&!w7(n,l)&&console.error(yfe(`${n}`,"Progress"));const c=w7(n,l)?n:null,d=fw(c)?s(c,l):void 0;return a.jsx(gfe,{scope:r,value:c,max:l,children:a.jsx(Nz.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":fw(c)?c:void 0,"aria-valuetext":d,role:"progressbar","data-state":_z(c,l),"data-value":c??void 0,"data-max":l,...o,ref:t})})});Sz.displayName=RS;var Bz="ProgressIndicator",kz=I.forwardRef((e,t)=>{const{__scopeProgress:r,...n}=e,i=Afe(Bz,r);return a.jsx(Nz.div,{"data-state":_z(i.value,i.max),"data-value":i.value??void 0,"data-max":i.max,...n,ref:t})});kz.displayName=Bz;function xfe(e,t){return`${Math.round(e/t*100)}%`}function _z(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function fw(e){return typeof e=="number"}function b7(e){return fw(e)&&!isNaN(e)&&e>0}function w7(e,t){return fw(e)&&!isNaN(e)&&e<=t&&e>=0}function vfe(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${PS}\`.`}function yfe(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: - a positive number - less than the value passed to \`max\` (or ${PS} if no \`max\` prop is set) - \`null\` or \`undefined\` if the progress is indeterminate. Defaulting to \`null\`.`}var Dz=Sz,bfe=kz;const QS=I.forwardRef(({className:e,value:t,...r},n)=>a.jsx(Dz,{ref:n,className:nr("relative h-4 w-full overflow-hidden rounded-full bg-secondary",e),...r,children:a.jsx(bfe,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));QS.displayName=Dz.displayName;function Sr(e){if(!e)return null;if(e.startsWith("data:")||e.startsWith("http://")||e.startsWith("https://"))return e;const t=e.startsWith("/")?e:`/${e}`;return $s(t)}var wfe=Symbol("radix.slottable");function Efe(e){const t=({children:r})=>a.jsx(a.Fragment,{children:r});return t.displayName=`${e}.Slottable`,t.__radixId=wfe,t}var Tz="AlertDialog",[Cfe]=Sc(Tz,[AM]),sh=AM(),Rz=e=>{const{__scopeAlertDialog:t,...r}=e,n=sh(t);return a.jsx(uS,{...n,...r,modal:!0})};Rz.displayName=Tz;var Ife="AlertDialogTrigger",Pz=I.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...n}=e,i=sh(r);return a.jsx(TM,{...i,...n,ref:t})});Pz.displayName=Ife;var jfe="AlertDialogPortal",Qz=e=>{const{__scopeAlertDialog:t,...r}=e,n=sh(t);return a.jsx(dS,{...n,...r})};Qz.displayName=jfe;var Nfe="AlertDialogOverlay",Fz=I.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...n}=e,i=sh(r);return a.jsx(oy,{...i,...n,ref:t})});Fz.displayName=Nfe;var WA="AlertDialogContent",[Sfe,Bfe]=Cfe(WA),kfe=Efe("AlertDialogContent"),Oz=I.forwardRef((e,t)=>{const{__scopeAlertDialog:r,children:n,...i}=e,s=sh(r),o=I.useRef(null),l=ri(t,o),c=I.useRef(null);return a.jsx(xue,{contentName:WA,titleName:Lz,docsSlug:"alert-dialog",children:a.jsx(Sfe,{scope:r,cancelRef:c,children:a.jsxs(ly,{role:"alertdialog",...s,...i,ref:l,onOpenAutoFocus:yr(i.onOpenAutoFocus,d=>{d.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:d=>d.preventDefault(),onInteractOutside:d=>d.preventDefault(),children:[a.jsx(kfe,{children:n}),a.jsx(Dfe,{contentRef:o})]})})})});Oz.displayName=WA;var Lz="AlertDialogTitle",Mz=I.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...n}=e,i=sh(r);return a.jsx(cy,{...i,...n,ref:t})});Mz.displayName=Lz;var Uz="AlertDialogDescription",zz=I.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...n}=e,i=sh(r);return a.jsx(uy,{...i,...n,ref:t})});zz.displayName=Uz;var _fe="AlertDialogAction",$z=I.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...n}=e,i=sh(r);return a.jsx(B4,{...i,...n,ref:t})});$z.displayName=_fe;var Hz="AlertDialogCancel",qz=I.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...n}=e,{cancelRef:i}=Bfe(Hz,r),s=sh(r),o=ri(t,i);return a.jsx(B4,{...s,...n,ref:o})});qz.displayName=Hz;var Dfe=({contentRef:e})=>{const t=`\`${WA}\` requires a description for the component to be accessible for screen reader users. You can add a description to the \`${WA}\` by passing a \`${Uz}\` component as a child, which also benefits sighted users by adding visible context to the dialog. Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${WA}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return I.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},Tfe=Rz,Rfe=Pz,Pfe=Qz,Gz=Fz,Vz=Oz,Wz=$z,Kz=qz,Yz=Mz,Zz=zz;const du=Tfe,Qfe=Rfe,Ffe=Pfe,Jz=I.forwardRef(({className:e,...t},r)=>a.jsx(Gz,{className:nr("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));Jz.displayName=Gz.displayName;const yc=I.forwardRef(({className:e,...t},r)=>a.jsxs(Ffe,{children:[a.jsx(Jz,{}),a.jsx(Vz,{ref:r,className:nr("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));yc.displayName=Vz.displayName;const bc=({className:e,...t})=>a.jsx("div",{className:nr("flex flex-col space-y-2 text-center sm:text-left",e),...t});bc.displayName="AlertDialogHeader";const wc=({className:e,...t})=>a.jsx("div",{className:nr("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});wc.displayName="AlertDialogFooter";const Ec=I.forwardRef(({className:e,...t},r)=>a.jsx(Yz,{ref:r,className:nr("text-lg font-semibold",e),...t}));Ec.displayName=Yz.displayName;const Cc=I.forwardRef(({className:e,...t},r)=>a.jsx(Zz,{ref:r,className:nr("text-sm text-muted-foreground",e),...t}));Cc.displayName=Zz.displayName;const Ic=I.forwardRef(({className:e,...t},r)=>a.jsx(Wz,{ref:r,className:nr(iS(),e),...t}));Ic.displayName=Wz.displayName;const jc=I.forwardRef(({className:e,...t},r)=>a.jsx(Kz,{ref:r,className:nr(iS({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));jc.displayName=Kz.displayName;function Ofe(e){const t=e.toLowerCase();return t.includes("usine")||t.includes("dépôt")||t.includes("depot")?hse:t.includes("douane")?U6:ei}function Lfe({steps:e,currentStepId:t,lastReachedIndex:r,onReachStep:n,isLoading:i=!1,onStartVoyage:s,canStartVoyage:o=!1,isStartingVoyage:l=!1,onStartReturn:c,canStartReturn:d=!1,isStartingReturn:u=!1,readOnly:h=!1}){const[p,A]=I.useState(null),[y,v]=I.useState(""),[w,j]=I.useState(!1);if(e.length===0)return null;const E=[...e].reverse(),S=()=>{p!==null&&n&&(n(p),A(null),v(""))},_=()=>{c&&(c(),j(!1))};let C=-1;r>=0&&(C=E.findIndex((T,M)=>e.length-1-M===r&&!!T.reachedAt&&!T.skippedAt));let Q=-1;t!==null&&(Q=E.findIndex(T=>T.id===t));const R=C>=0&&Q>=0&&C>Q?(()=>{const T=16+C*80+24,M=16+Q*80+32,O=(T+M)/2,$=(C-Q)*70;return O+$})():0;return a.jsxs("div",{className:"relative py-4",children:[a.jsx("div",{className:"absolute left-6 w-1.5 bg-border",style:{top:"24px",bottom:"24px"}}),a.jsx("div",{className:"relative space-y-8",children:E.map((T,M)=>{const O=e.length-1-M,$=!!T.reachedAt&&!T.skippedAt,P=!!T.skippedAt,W=t!==null&&T.id===t||d&&O===0&&!$&&!P,G=Ofe(T.category);return a.jsxs("div",{className:"relative flex items-start gap-4",children:[a.jsx("div",{className:"relative z-10 flex-shrink-0",children:$?a.jsx("div",{className:"w-12 h-12 rounded-full bg-green-500 flex items-center justify-center border-4 border-background shadow-md",children:a.jsx(na,{className:"h-6 w-6 text-white"})}):P?a.jsx("div",{className:"w-12 h-12 rounded-full bg-gray-400 flex items-center justify-center border-4 border-background shadow-md",children:a.jsx("div",{className:"w-3 h-3 rounded-full bg-white"})}):W?a.jsx("div",{className:"w-16 h-16 rounded-lg bg-primary flex items-center justify-center border-4 border-background shadow-lg",children:a.jsx(G,{className:"h-8 w-8 text-primary-foreground"})}):a.jsx("div",{className:"w-12 h-12 rounded-full bg-blue-500 border-4 border-background shadow-md flex items-center justify-center",children:a.jsx(G,{className:"h-6 w-6 text-white"})})}),a.jsx("div",{className:nr("flex-1 min-w-0 pt-1",W&&"pb-2"),children:W?a.jsxs("div",{className:"bg-primary/10 border-2 border-primary rounded-lg p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-base font-bold text-primary",children:T.label}),T.category&&a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:T.category})]}),T.isRequired&&a.jsx(yt,{variant:"outline",className:"text-xs",children:"Requis"})]}),!h&&o&&O===0&&s?a.jsx(ge,{onClick:s,disabled:l,className:"w-full bg-green-600 hover:bg-green-700 text-white font-semibold",size:"lg",children:l?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Démarrage..."]}):a.jsxs(a.Fragment,{children:[a.jsx(ei,{className:"h-4 w-4 mr-2"}),"Je pars maintenant"]})}):!h&&d&&O===0&&c&&!$&&!P?a.jsx(ge,{onClick:()=>j(!0),disabled:u,className:"w-full bg-blue-600 hover:bg-blue-700 text-white font-semibold",size:"lg",children:u?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Démarrage..."]}):a.jsxs(a.Fragment,{children:[a.jsx(g4,{className:"h-4 w-4 mr-2"}),"Je retourne maintenant!"]})}):!h&&n&&T.id&&!$&&!P&&!(d&&O===0)?a.jsxs(ge,{onClick:()=>{A(T.id),v(T.label)},disabled:i,className:"w-full bg-primary text-primary-foreground hover:bg-primary/90",children:[a.jsx(na,{className:"h-4 w-4 mr-2"}),"PASSÉ ",T.label.toUpperCase()]}):null]}):!h&&!$&&!P&&O===0&&r===-1&&n&&T.id&&!d?a.jsxs("div",{className:"bg-primary/10 border-2 border-primary rounded-lg p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-base font-bold text-primary",children:T.label}),T.category&&a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:T.category})]}),T.isRequired&&a.jsx(yt,{variant:"outline",className:"text-xs",children:"Requis"})]}),a.jsxs(ge,{onClick:()=>{A(T.id),v(T.label)},disabled:i,className:"w-full bg-primary text-primary-foreground hover:bg-primary/90",children:[a.jsx(na,{className:"h-4 w-4 mr-2"}),"PASSÉ ",T.label.toUpperCase()]})]}):$?a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("h4",{className:"text-sm font-semibold text-green-700 dark:text-green-300",children:T.label}),a.jsx(yt,{variant:"outline",className:"text-xs bg-green-50 dark:bg-green-950 border-green-200 dark:border-green-800",children:"Terminé"})]}),T.category&&a.jsx("p",{className:"text-xs text-muted-foreground",children:T.category}),T.reachedAt&&a.jsx("p",{className:"text-xs text-muted-foreground",children:new Date(T.reachedAt).toLocaleString("fr-FR",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})})]}):P?a.jsxs("div",{className:"space-y-1 opacity-50",children:[a.jsx("h4",{className:"text-sm font-medium text-gray-500",children:T.label}),T.category&&a.jsx("p",{className:"text-xs text-muted-foreground",children:T.category}),a.jsx(yt,{variant:"outline",className:"text-xs",children:"Ignoré"})]}):a.jsxs("div",{className:"space-y-1",children:[a.jsx("h4",{className:"text-sm font-medium text-blue-700 dark:text-blue-300",children:T.label}),T.category&&a.jsx("p",{className:"text-xs text-muted-foreground",children:T.category}),T.isRequired&&a.jsx(yt,{variant:"outline",className:"text-xs bg-blue-50 dark:bg-blue-950 border-blue-200 dark:border-blue-800",children:"Requis"})]})})]},T.id||T.voyageTypeStepId)})}),C>=0&&Q>=0&&C>Q&&a.jsx("div",{className:"absolute left-0 z-20 flex items-center justify-center",style:{top:`${R}px`,transform:"translateY(-50%)"},children:a.jsxs("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"text-primary",children:[a.jsx("rect",{x:"11",y:"4",width:"2",height:"12",fill:"currentColor"}),a.jsx("path",{d:"M12 4L6 10L18 10L12 4Z",fill:"currentColor"})]})}),a.jsx(du,{open:p!==null,onOpenChange:T=>!T&&A(null),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Confirmer la validation"}),a.jsxs(Cc,{children:[`Êtes-vous sûr de vouloir valider l'étape "`,y,'" ? Cette action ne peut pas être annulée.']})]}),a.jsxs(wc,{children:[a.jsx(jc,{disabled:i,children:"Annuler"}),a.jsx(Ic,{onClick:S,disabled:i,className:"bg-primary text-primary-foreground hover:bg-primary/90",children:i?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Validation..."]}):"Confirmer"})]})]})}),a.jsx(du,{open:w,onOpenChange:T=>!T&&j(!1),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Démarrer le trajet RETOUR"}),a.jsx(Cc,{children:"Êtes-vous sûr de vouloir démarrer le trajet RETOUR ? Cette action marquera le début de votre voyage de retour."})]}),a.jsxs(wc,{children:[a.jsx(jc,{disabled:u,children:"Annuler"}),a.jsx(Ic,{onClick:_,disabled:u,className:"bg-blue-600 text-white hover:bg-blue-700",children:u?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Démarrage..."]}):"Je retourne maintenant!"})]})]})})]})}var L4="Tabs",[Mfe]=Sc(L4,[R4]),Xz=R4(),[Ufe,FS]=Mfe(L4),e$=I.forwardRef((e,t)=>{const{__scopeTabs:r,value:n,onValueChange:i,defaultValue:s,orientation:o="horizontal",dir:l,activationMode:c="automatic",...d}=e,u=my(l),[h,p]=a0({prop:n,onChange:i,defaultProp:s??"",caller:L4});return a.jsx(Ufe,{scope:r,baseId:su(),value:h,onValueChange:p,orientation:o,dir:u,activationMode:c,children:a.jsx(an.div,{dir:u,"data-orientation":o,...d,ref:t})})});e$.displayName=L4;var t$="TabsList",r$=I.forwardRef((e,t)=>{const{__scopeTabs:r,loop:n=!0,...i}=e,s=FS(t$,r),o=Xz(r);return a.jsx(aU,{asChild:!0,...o,orientation:s.orientation,dir:s.dir,loop:n,children:a.jsx(an.div,{role:"tablist","aria-orientation":s.orientation,...i,ref:t})})});r$.displayName=t$;var n$="TabsTrigger",i$=I.forwardRef((e,t)=>{const{__scopeTabs:r,value:n,disabled:i=!1,...s}=e,o=FS(n$,r),l=Xz(r),c=o$(o.baseId,n),d=l$(o.baseId,n),u=n===o.value;return a.jsx(sU,{asChild:!0,...l,focusable:!i,active:u,children:a.jsx(an.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":d,"data-state":u?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:c,...s,ref:t,onMouseDown:yr(e.onMouseDown,h=>{!i&&h.button===0&&h.ctrlKey===!1?o.onValueChange(n):h.preventDefault()}),onKeyDown:yr(e.onKeyDown,h=>{[" ","Enter"].includes(h.key)&&o.onValueChange(n)}),onFocus:yr(e.onFocus,()=>{const h=o.activationMode!=="manual";!u&&!i&&h&&o.onValueChange(n)})})})});i$.displayName=n$;var a$="TabsContent",s$=I.forwardRef((e,t)=>{const{__scopeTabs:r,value:n,forceMount:i,children:s,...o}=e,l=FS(a$,r),c=o$(l.baseId,n),d=l$(l.baseId,n),u=n===l.value,h=I.useRef(u);return I.useEffect(()=>{const p=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(p)},[]),a.jsx(hu,{present:i||u,children:({present:p})=>a.jsx(an.div,{"data-state":u?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":c,hidden:!p,id:d,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:p&&s})})});s$.displayName=a$;function o$(e,t){return`${e}-trigger-${t}`}function l$(e,t){return`${e}-content-${t}`}var zfe=e$,c$=r$,u$=i$,d$=s$;const ul=zfe,Ro=I.forwardRef(({className:e,...t},r)=>a.jsx(c$,{ref:r,className:nr("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));Ro.displayName=c$.displayName;const hn=I.forwardRef(({className:e,...t},r)=>a.jsx(u$,{ref:r,className:nr("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t}));hn.displayName=u$.displayName;const dn=I.forwardRef(({className:e,...t},r)=>a.jsx(d$,{ref:r,className:nr("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));dn.displayName=d$.displayName;const pN="driver_media_cache",f$=10080*60*1e3;function $fe(e){try{const t=h$(),r=t[e];if(!r)return null;const n=new Date(r.cachedAt).getTime();return Date.now()-n>f$?(delete t[e],m$(t),null):r}catch{return null}}function E7(e){const t=$fe(e);return t?t.base64:null}function h$(){try{const e=localStorage.getItem(pN);return e?JSON.parse(e):{}}catch{return{}}}function m$(e){try{localStorage.setItem(pN,JSON.stringify(e))}catch(t){if(t instanceof DOMException&&(t.code===22||t.name==="QuotaExceededError")){Hfe();try{localStorage.setItem(pN,JSON.stringify(e))}catch(r){console.error("[mediaCache] Impossible de sauvegarder le cache même après nettoyage:",r)}}}}function Hfe(){try{const e=h$(),t=Date.now();let r=0;for(const[n,i]of Object.entries(e)){const s=new Date(i.cachedAt).getTime();t-s>f$&&(delete e[n],r++)}r>0&&m$(e)}catch(e){console.error("[mediaCache] Erreur lors du nettoyage:",e)}}function OS({src:e,onError:t,onLoad:r,...n}){const[i,s]=I.useState(e),[o,l]=I.useState(!1);I.useEffect(()=>{s(e),l(!1)},[e]);const c=u=>{r?.(u)},d=u=>{if(o){t?.(u);return}if(l(!0),!navigator.onLine&&e){const h=Sr(e)||e,p=E7(h);if(p){s(p);return}}t?.(u)};if(e?.startsWith("data:"))return a.jsx("img",{src:e,...n,onError:t,onLoad:r});if(!navigator.onLine&&e){const u=Sr(e)||e,h=E7(u);if(h)return a.jsx("img",{src:h,...n,onError:t,onLoad:r})}return a.jsx("img",{src:i?Sr(i)||i:void 0,...n,onError:d,onLoad:c})}const qfe={pod:{maxSize:1024,quality:.62},incident:{maxSize:1024,quality:.7},default:{maxSize:1280,quality:.7}};function Gfe(){try{const e=document.createElement("canvas");return e.width=1,e.height=1,e.toDataURL("image/webp").indexOf("data:image/webp")===0}catch{return!1}}async function Vfe(e){const t=e.width,r=e.height;return{width:t,height:r,needsRotation:!1}}function C7(e,t){if(typeof OffscreenCanvas<"u"){const i=new OffscreenCanvas(e,t),s=i.getContext("2d");return{canvas:i,ctx:s}}const r=document.createElement("canvas");r.width=e,r.height=t;const n=r.getContext("2d");return{canvas:r,ctx:n}}async function I7(e,t,r,n,i){if(!t)throw new Error("Contexte canvas non disponible");t.clearRect(0,0,n,i),t.drawImage(r,0,0,n,i)}async function j7(e,t,r){return e instanceof OffscreenCanvas?await e.convertToBlob({type:t,quality:r}):new Promise((n,i)=>{e.toBlob(s=>{s?n(s):i(new Error("Échec de la conversion canvas en blob"))},t,r)})}async function Wfe(e){if(typeof createImageBitmap<"u")try{const t=await e.arrayBuffer();return await createImageBitmap(new Blob([t],{type:e.type}))}catch(t){console.warn("createImageBitmap échoué, fallback sur Image:",t)}return new Promise((t,r)=>{const n=new Image,i=URL.createObjectURL(e);n.onload=()=>{URL.revokeObjectURL(i),t(n)},n.onerror=()=>{URL.revokeObjectURL(i),r(new Error("Échec du chargement de l'image"))},n.src=i})}async function Hm(e,t={}){const{preset:r="default",maxSize:n,quality:i,generateThumbnail:s=!1}=t;if(!e.type.startsWith("image/"))throw new Error("Le fichier doit être une image");const o=e.size;let l=qfe[r];if(!n)try{const{getImageOptimizationPresets:A}=await On(async()=>{const{getImageOptimizationPresets:v}=await import("./image-optimization-config-36ZLt28A.js");return{getImageOptimizationPresets:v}},[]),y=await A();l={...l,maxSize:y[r]||l.maxSize}}catch(A){console.warn("[Image Optimizer] Impossible de récupérer la config, utilisation des valeurs par défaut:",A)}const c=n??l.maxSize,d=i??l.quality,u=Gfe(),h=u?"image/webp":"image/jpeg",p=u?"webp":"jpg";try{const A=await Wfe(e),{width:y,height:v}=await Vfe(A);let w=y,j=v;const E=Math.max(y,v);if(E>c){const M=c/E;w=Math.round(y*M),j=Math.round(v*M);const O=Math.max(w,j);if(O>c){const $=c/O;w=Math.round(w*$),j=Math.round(j*$)}}const{canvas:S,ctx:_}=C7(w,j);await I7(S,_,A,w,j);const C=await j7(S,h,d),Q=e.name.replace(/\.[^/.]+$/,""),R=new File([C],`${Q}_optimized.${p}`,{type:h,lastModified:Date.now()});let T;if(s){let O=w,$=j;if(O>320||$>320){const W=Math.min(320/O,320/$);O=Math.round(O*W),$=Math.round($*W)}const{canvas:P,ctx:L}=C7(O,$);await I7(P,L,A,O,$);const X=await j7(P,h,.5);T=new File([X],`${Q}_thumb.${p}`,{type:h,lastModified:Date.now()})}return A instanceof ImageBitmap&&A.close(),{file:R,originalSize:o,optimizedSize:C.size,width:w,height:j,mimeType:h,thumbnail:T}}catch(A){console.error("Erreur lors de l'optimisation, tentative de fallback:",A);try{const y=new Image,v=URL.createObjectURL(e);return new Promise((w,j)=>{y.onload=()=>{URL.revokeObjectURL(v);let{width:E,height:S}=y;const _=Math.max(E,S);if(_>c){const R=c/_;E=Math.round(E*R),S=Math.round(S*R);const T=Math.max(E,S);if(T>c){const M=c/T;E=Math.round(E*M),S=Math.round(S*M)}}const C=document.createElement("canvas");C.width=E,C.height=S;const Q=C.getContext("2d");if(!Q){j(new Error("Contexte canvas non disponible"));return}Q.drawImage(y,0,0,E,S),C.toBlob(R=>{if(!R){j(new Error("Échec de la conversion"));return}const T=new File([R],e.name.replace(/\.[^/.]+$/,"")+"_optimized.jpg",{type:"image/jpeg",lastModified:Date.now()});w({file:T,originalSize:o,optimizedSize:R.size,width:E,height:S,mimeType:"image/jpeg"})},"image/jpeg",d)},y.onerror=()=>{URL.revokeObjectURL(v),j(new Error("Échec du chargement de l'image pour le fallback"))},y.src=v})}catch{throw new Error(`Optimisation impossible: ${A instanceof Error?A.message:String(A)}`)}}}function ol(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(2)} MB`}const N7=Object.freeze(Object.defineProperty({__proto__:null,formatFileSize:ol,optimizeImage:Hm},Symbol.toStringTag,{value:"Module"}));function Kfe({open:e,onOpenChange:t,voyageId:r,currentTrajet:n,onImageClick:i}){const{toast:s}=Er(),o=eo(),{isOnline:l,executeAction:c}=xy(),[d,u]=I.useState("add"),[h,p]=I.useState(""),[A,y]=I.useState(!1),[v,w]=I.useState(null),[j,E]=I.useState(null),[S,_]=I.useState(!1),C=I.useRef(null),Q=I.useRef(null),{data:R=[],isLoading:T}=cr({queryKey:[`/api/voyages/${r}/events`,{type:"media",mediaKind:"photo"}],queryFn:async()=>{let L=[];try{navigator.onLine&&(L=await D4(r,{type:"media",mediaKind:"photo"}))}catch{}let X=[];try{const{getPendingEventsBase64:G}=await On(async()=>{const{getPendingEventsBase64:q}=await Promise.resolve().then(()=>h1);return{getPendingEventsBase64:q}},void 0);X=G().filter(q=>q.type==="weighing"&&q.voyageId===r&&!q.isUnloadingWeighing).map(q=>({id:q.id,description:q.weight?`PESÉE - ${q.weight} kg`:"PESÉE",mediaKind:"photo",occurredAt:q.createdAt,mediaUrl:q.ticketBase64||null,isOffline:!0,offlineActionId:q.id}))}catch{}const W=[...L];for(const G of X)L.some(q=>{const ee=Math.abs(new Date(q.occurredAt||q.createdAt).getTime()-new Date(G.occurredAt||G.createdAt).getTime());return q.description?.includes("PESÉE")&&G.description?.includes("PESÉE")&&ee<5e3})||W.push(G);return W},enabled:e,refetchInterval:e&&!l?2e3:!1,select:L=>L.filter(X=>X.description?.toUpperCase().includes("PESÉE")||X.description?.toUpperCase().includes("PESEE"))}),M=_r({mutationFn:async L=>{if(!L.ticket)throw new Error("Un ticket de pesée est requis");const X=n?.direction==="inbound"&&n?.id,W=await c({type:"weighing",voyageId:r,weight:L.weight||null,ticket:L.ticket,trajetId:X?n.id:null,isUnloadingWeighing:!!X},async()=>{if(X){const J=new FormData;return J.append("photo",L.ticket),L.weight&&J.append("weight",L.weight),await $t(`/api/voyages/${r}/trajets/${n.id}/unloading-ticket`,{method:"POST",body:J}),{message:"Ticket de pesée de livraison enregistré avec succès",isUnloadingWeighing:!0}}const G=L.weight?`PESÉE - ${L.weight} kg`:"PESÉE";return await mS(r,{mediaKind:"photo",description:G,file:L.ticket,occurredAt:new Date().toISOString()})},"La pesée sera synchronisée automatiquement quand la connexion reviendra.");return typeof W=="string"?{message:X?"Ticket de pesée de livraison enregistré hors ligne":"Pesée enregistrée hors ligne",isUnloadingWeighing:!!X}:W},onSuccess:async L=>{o.invalidateQueries({queryKey:[`/api/voyages/${r}/events`]}),o.invalidateQueries({queryKey:["/api/voyages",r,"has-weighing"]}),L.isUnloadingWeighing&&(await new Promise(X=>setTimeout(X,300)),await Promise.all([o.refetchQueries({queryKey:["/api/driver/current-voyage"]}),o.refetchQueries({queryKey:["/api/voyages",r]}),o.refetchQueries({queryKey:["/api/voyages",r,"etapes"]})]),setTimeout(()=>{t(!1)},200)),s({title:l?"Pesée enregistrée":"Pesée enregistrée hors ligne",description:L.message||(l?"La pesée a été enregistrée avec succès.":"La pesée sera synchronisée automatiquement quand la connexion reviendra.")}),p(""),w(null),E(null),L.isUnloadingWeighing||u("history")},onError:L=>{s({title:"Erreur",description:L.message||"Une erreur est survenue lors de l'enregistrement.",variant:"destructive"})}}),O=async L=>{const X=L.target.files?.[0];if(X){if(X.size>10485760){s({title:"Fichier trop volumineux",description:"La taille du fichier ne doit pas dépasser 10 MB.",variant:"destructive"});return}if(!X.type.startsWith("image/")){s({title:"Type de fichier invalide",description:"Veuillez sélectionner une image.",variant:"destructive"});return}_(!0);try{const G=await Hm(X,{preset:"pod"});w(G.file);const J=((1-G.optimizedSize/G.originalSize)*100).toFixed(0);G.originalSize>G.optimizedSize&&s({title:"Image optimisée",description:`${ol(G.originalSize)} → ${ol(G.optimizedSize)} (-${J}%)`,duration:3e3});const q=new FileReader;q.onloadend=()=>{E(q.result),_(!1),y(!1)},q.onerror=()=>{s({title:"Erreur de lecture",description:"Impossible de lire le fichier sélectionné.",variant:"destructive"}),_(!1)},q.readAsDataURL(G.file)}catch(G){_(!1),s({variant:"destructive",title:"Erreur",description:G instanceof Error?G.message:"Optimisation impossible, veuillez reprendre la photo"})}}},$=async()=>{if(!v){s({title:"Ticket requis",description:"Veuillez ajouter un ticket de pesée.",variant:"destructive"});return}if(h){const L=parseFloat(h);if(isNaN(L)||L<=0){s({title:"Poids invalide",description:"Le poids doit être un nombre positif.",variant:"destructive"});return}}if(l)M.mutate({weight:h||void 0,ticket:v});else try{const L=n?.direction==="inbound"&&n?.id;if(typeof await c({type:"weighing",voyageId:r,weight:h||null,ticket:v,trajetId:L?n.id:null,isUnloadingWeighing:!!L},async()=>{const{createVoyageEventMedia:W}=await On(async()=>{const{createVoyageEventMedia:q}=await Promise.resolve().then(()=>$M);return{createVoyageEventMedia:q}},void 0),{apiRequest:G}=await On(async()=>{const{apiRequest:q}=await Promise.resolve().then(()=>DO);return{apiRequest:q}},void 0);if(L){const q=new FormData;return q.append("photo",v),h&&q.append("weight",h),await G(`/api/voyages/${r}/trajets/${n.id}/unloading-ticket`,{method:"POST",body:q}),{message:"Ticket de pesée de livraison enregistré avec succès",isUnloadingWeighing:!0}}const J=h?`PESÉE - ${h} kg`:"PESÉE";return await W(r,{mediaKind:"photo",description:J,file:v,occurredAt:new Date().toISOString()})},"La pesée sera synchronisée automatiquement quand la connexion reviendra.")=="string"){if(L||o.setQueryData(["/api/voyages",r,"has-weighing"],{hasWeighing:!0}),l)o.invalidateQueries({queryKey:[`/api/voyages/${r}/events`,{type:"media",mediaKind:"photo"}]});else{const{getPendingEventsBase64:W}=await On(async()=>{const{getPendingEventsBase64:J}=await Promise.resolve().then(()=>h1);return{getPendingEventsBase64:J}},void 0),G=W();o.setQueryData([`/api/voyages/${r}/events`,{type:"media",mediaKind:"photo"}],(J=[])=>{const q=G.filter(V=>V.type==="weighing"&&V.voyageId===r&&!V.isUnloadingWeighing).map(V=>({id:V.id,description:V.weight?`PESÉE - ${V.weight} kg`:"PESÉE",mediaKind:"photo",occurredAt:V.createdAt,mediaUrl:V.ticketBase64||null,isOffline:!0,offlineActionId:V.id}));return[...J.filter(V=>!V.isOffline),...q].sort((V,ue)=>{const de=new Date(V.occurredAt||V.createdAt).getTime();return new Date(ue.occurredAt||ue.createdAt).getTime()-de})})}o.invalidateQueries({queryKey:["/api/voyages",r,"has-weighing"]}),p(""),w(null),E(null),L||u("history"),s({title:L?"Ticket de pesée de livraison enregistré hors ligne":"Pesée enregistrée hors ligne",description:"La pesée sera synchronisée automatiquement quand la connexion reviendra."})}}catch(L){s({variant:"destructive",title:"Erreur",description:L instanceof Error?L.message:"Impossible d'enregistrer la pesée hors ligne."})}},P=()=>{p(""),w(null),E(null),u("add"),t(!1)};return A?a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Tg,{className:"h-5 w-5"}),a.jsx(In,{children:"PESÉE"})]}),a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t(!1),children:a.jsx(Nn,{className:"h-4 w-4"})})]}),a.jsx(Mn,{children:"Prendre ou sélectionner une photo"})]}),a.jsxs("div",{className:"space-y-4 mt-4",children:[a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>y(!1),className:"mb-2",children:"← Retour"}),a.jsxs("div",{className:"space-y-4",children:[S&&a.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[a.jsx(Nt,{className:"h-4 w-4 animate-spin"}),a.jsx("span",{children:"Optimisation..."})]}),j?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:j,alt:"Ticket de pesée",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{w(null),E(null),C.current&&(C.current.value=""),Q.current&&(Q.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>Q.current?.click(),className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",disabled:S,children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-blue-600 shadow-lg flex items-center justify-center",children:a.jsx(mo,{className:"h-10 w-10 text-white"})}),a.jsx("span",{className:"text-sm font-semibold",children:"Prendre une photo"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:C,type:"file",accept:"image/*",onChange:O,className:"hidden"}),a.jsx("input",{ref:Q,type:"file",accept:"image/*",capture:"environment",onChange:O,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>C.current?.click(),className:"flex-1",disabled:S,children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Galerie"]})]})]})]}),a.jsxs("div",{className:"flex items-center justify-between gap-3 mt-6 pt-4 border-t",children:[a.jsx(ge,{variant:"outline",onClick:()=>{y(!1),w(null),E(null),C.current&&(C.current.value=""),Q.current&&(Q.current.value="")},className:"flex items-center gap-2",children:"Annuler"}),a.jsxs(ge,{onClick:()=>{v&&y(!1)},className:"flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white",disabled:!v,children:[a.jsx(U0,{className:"h-4 w-4"}),"Enregistrer"]})]})]})]})}):a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(il,{className:"h-5 w-5 text-green-600"}),a.jsx(HA,{className:"h-5 w-5 text-amber-600"}),a.jsx(In,{className:"text-lg font-semibold",children:"PESÉE"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Ajouter une pesée"})]}),a.jsxs(ul,{value:d,onValueChange:L=>u(L),className:"w-full",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-2",children:[a.jsxs(hn,{value:"add",className:"flex items-center gap-2",children:[a.jsx(Ti,{className:"h-4 w-4"}),"Ajouter"]}),a.jsxs(hn,{value:"history",className:"flex items-center gap-2",children:[a.jsx(Bl,{className:"h-4 w-4"}),"Historique"]})]}),a.jsxs(dn,{value:"add",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"weight",children:"Poids (kg)"}),a.jsx(Xe,{id:"weight",type:"number",placeholder:"Ex: 40000",value:h,onChange:L=>p(L.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"ticket",children:["Ticket de pesée ",a.jsx("span",{className:"text-destructive",children:"*"})]}),j?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:j,alt:"Ticket de pesée",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{w(null),E(null),C.current&&(C.current.value=""),Q.current&&(Q.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})}),a.jsx(ge,{type:"button",variant:"outline",onClick:()=>y(!0),className:"mt-2 w-full",children:"Changer la photo"})]}):a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>y(!0),className:"w-full",children:[a.jsx(c1,{className:"h-4 w-4 mr-2"}),"Ajouter une photo"]})]})]}),a.jsxs(dn,{value:"history",className:"mt-4",children:[a.jsx("h3",{className:"text-sm font-semibold mb-4",children:"Historique"}),T?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):R.length===0?a.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"Aucune pesée enregistrée"}):a.jsx("div",{className:"space-y-4",children:R.map(L=>{const X=L.description?.match(/(\d+(?:\s?\d+)*)\s*kg/i),W=X?`${X[1].replace(/\s/g," ")} kg`:null;return a.jsxs("div",{className:"flex items-start gap-3 p-3 border rounded-lg",children:[a.jsx("div",{className:"flex-shrink-0 w-20 h-20 border rounded-lg flex items-center justify-center bg-muted cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>{const G=L.mediaUrl||(L.media?.url?Sr(L.media.url)||L.media.url:null);G&&i&&i(G)},children:L.mediaUrl||L.media?.url?a.jsx(OS,{src:L.isOffline&&L.mediaUrl?.startsWith("data:")?L.mediaUrl:L.mediaUrl||L.media?.url,alt:"Ticket de pesée",className:"w-full h-full object-cover rounded-lg"}):a.jsx(c1,{className:"h-8 w-8 text-muted-foreground"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx(HA,{className:"h-4 w-4 text-amber-600"}),a.jsxs("span",{className:"text-sm font-medium",children:["PESÉE",W&&` - ${W}`]}),L.isOffline&&a.jsx(yt,{variant:"outline",className:"text-xs",children:"En attente"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:new Date(L.occurredAt).toLocaleString("fr-FR",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})})]})]},L.id)})})]})]}),a.jsxs("div",{className:"flex items-center justify-between gap-3 mt-6 pt-4 border-t",children:[a.jsxs(ge,{variant:"outline",onClick:P,className:"flex items-center gap-2",children:[a.jsx(Nn,{className:"h-4 w-4"}),"REVENIR"]}),a.jsxs(ge,{onClick:$,className:"flex items-center gap-2 bg-green-600 hover:bg-green-700 text-white",disabled:!v||M.isPending,children:[M.isPending?a.jsx(Nt,{className:"h-4 w-4 animate-spin"}):a.jsx(U0,{className:"h-4 w-4"}),"ENREGISTRER"]})]})]})})}async function p$(e){return await $t(`/api/voyages/${e}/fuel-fills`)}async function gN(e,t){const r=new FormData;return r.append("amount_l",t.amount_l.toString()),r.append("cost_fcfa",t.cost_fcfa.toString()),t.voyage_trajet_id&&r.append("voyage_trajet_id",t.voyage_trajet_id.toString()),t.filled_at&&r.append("filled_at",t.filled_at),t.receipt&&r.append("receipt",t.receipt),await $t(`/api/voyages/${e}/fuel-fills`,{method:"POST",body:r})}async function g$(e,t){await $t(`/api/voyages/${e}/fuel-fills/${t}`,{method:"DELETE"})}const Yfe=Object.freeze(Object.defineProperty({__proto__:null,createVoyageFuelFill:gN,deleteVoyageFuelFill:g$,fetchVoyageFuelFills:p$},Symbol.toStringTag,{value:"Module"}));function Zfe({open:e,onOpenChange:t,voyageId:r,onImageClick:n}){const{toast:i}=Er(),s=eo(),{isOnline:o,executeAction:l}=xy(),[c,d]=I.useState("add"),[u,h]=I.useState(!1),[p,A]=I.useState(""),[y,v]=I.useState(""),[w,j]=I.useState(null),[E,S]=I.useState(null),[_,C]=I.useState(!1),[Q,R]=I.useState(null),[T,M]=I.useState(!1),[O,$]=I.useState(!1),P=I.useRef(null),L=I.useRef(null),{data:X=[],isLoading:W}=cr({queryKey:[`/api/voyages/${r}/fuel-fills`],queryFn:async()=>{let V=[];try{navigator.onLine&&(V=await p$(r))}catch{}let ue=[];try{const{getPendingEventsBase64:xe}=await On(async()=>{const{getPendingEventsBase64:Ce}=await Promise.resolve().then(()=>h1);return{getPendingEventsBase64:Ce}},void 0);ue=xe().filter(Ce=>Ce.type==="fuel"&&Ce.voyageId===r).map(Ce=>({id:Ce.id,voyageId:Ce.voyageId,amountL:Ce.amountL,costFcfa:Ce.costFcfa,filledAt:Ce.filledAt||Ce.createdAt,createdAt:Ce.createdAt,receiptUrl:Ce.receiptBase64||null,isOffline:!0,offlineActionId:Ce.id}))}catch{}const de=[...V];for(const xe of ue)V.some(Ce=>{const we=Math.abs(new Date(Ce.filledAt||Ce.createdAt).getTime()-new Date(xe.filledAt||xe.createdAt).getTime());return Ce.amountL===xe.amountL&&Ce.costFcfa===xe.costFcfa&&we<5e3})||de.push(xe);return de},enabled:e,refetchInterval:e&&!o?2e3:!1}),G=_r({mutationFn:async V=>{const ue=await l({type:"fuel",voyageId:r,amountL:V.amount_l,costFcfa:V.cost_fcfa,receipt:V.receipt||null,trajetId:V.trajetId||null,filledAt:V.filledAt||null},()=>gN(r,{amount_l:V.amount_l,cost_fcfa:V.cost_fcfa,receipt:V.receipt,voyage_trajet_id:V.trajetId||null,filled_at:V.filledAt||null}),"La prise de carburant sera synchronisée automatiquement quand la connexion reviendra.");return typeof ue=="string"?{id:0,voyageId:r,amountL:V.amount_l,costFcfa:V.cost_fcfa,filledAt:V.filledAt||new Date().toISOString(),createdAt:new Date().toISOString()}:ue},onSuccess:()=>{s.invalidateQueries({queryKey:[`/api/voyages/${r}/fuel-fills`]}),o||s.refetchQueries({queryKey:[`/api/voyages/${r}/fuel-fills`]}),i({title:o?"Carburant enregistré":"Carburant enregistré hors ligne",description:o?"La prise de carburant a été enregistrée avec succès.":"La prise de carburant sera synchronisée automatiquement quand la connexion reviendra."}),A(""),v(""),j(null),S(null),d("history")},onError:V=>{i({title:"Erreur",description:V.message||"Une erreur est survenue lors de l'enregistrement.",variant:"destructive"})}}),J=_r({mutationFn:async V=>await g$(r,V),onSuccess:()=>{s.invalidateQueries({queryKey:[`/api/voyages/${r}/fuel-fills`]}),i({title:"Suppression réussie",description:"La prise de carburant a été supprimée avec succès."}),C(!1),R(null)},onError:V=>{i({title:"Erreur",description:V.message||"Une erreur est survenue lors de la suppression.",variant:"destructive"})}}),q=async V=>{const ue=V.target.files?.[0];if(ue){if(ue.size>10485760){i({title:"Fichier trop volumineux",description:"La taille du fichier ne doit pas dépasser 10 MB.",variant:"destructive"});return}if(!ue.type.startsWith("image/")){i({title:"Type de fichier invalide",description:"Veuillez sélectionner une image.",variant:"destructive"});return}$(!0);try{const xe=await Hm(ue,{preset:"pod"});j(xe.file);const _e=((1-xe.optimizedSize/xe.originalSize)*100).toFixed(0);xe.originalSize>xe.optimizedSize&&i({title:"Image optimisée",description:`${ol(xe.originalSize)} → ${ol(xe.optimizedSize)} (-${_e}%)`,duration:3e3});const Ce=new FileReader;Ce.onloadend=()=>{S(Ce.result),$(!1),h(!1)},Ce.onerror=()=>{i({title:"Erreur de lecture",description:"Impossible de lire le fichier sélectionné.",variant:"destructive"}),$(!1)},Ce.readAsDataURL(xe.file)}catch(xe){$(!1),i({variant:"destructive",title:"Erreur",description:xe instanceof Error?xe.message:"Optimisation impossible, veuillez reprendre la photo"})}}},ee=async()=>{if(!p||!y){i({title:"Champs requis",description:"Veuillez remplir la quantité et le montant.",variant:"destructive"});return}if(!w){i({title:"Photo requise",description:"Veuillez ajouter une photo du compteur.",variant:"destructive"});return}const V=parseFloat(p),ue=parseInt(y);if(isNaN(V)||V<=0){i({title:"Quantité invalide",description:"La quantité doit être un nombre positif.",variant:"destructive"});return}if(isNaN(ue)||ue<=0){i({title:"Montant invalide",description:"Le montant doit être un nombre positif.",variant:"destructive"});return}if(o)G.mutate({amount_l:V,cost_fcfa:ue,receipt:w});else{M(!0);try{if(typeof await l({type:"fuel",voyageId:r,amountL:V,costFcfa:ue,receipt:w,trajetId:null,filledAt:null},()=>gN(r,{amount_l:V,cost_fcfa:ue,receipt:w,voyage_trajet_id:null,filled_at:null}),"La prise de carburant sera synchronisée automatiquement quand la connexion reviendra.")=="string"){if(!o){const{getPendingEventsBase64:xe}=await On(async()=>{const{getPendingEventsBase64:Ce}=await Promise.resolve().then(()=>h1);return{getPendingEventsBase64:Ce}},void 0),_e=xe();s.setQueryData([`/api/voyages/${r}/fuel-fills`],(Ce=[])=>{const we=_e.filter(Ie=>Ie.type==="fuel"&&Ie.voyageId===r).map(Ie=>({id:Ie.id,voyageId:Ie.voyageId,amountL:Ie.amountL,costFcfa:Ie.costFcfa,filledAt:Ie.filledAt||Ie.createdAt,createdAt:Ie.createdAt,receiptUrl:Ie.receiptBase64||null,isOffline:!0,offlineActionId:Ie.id})),ve=Ce.filter(Ie=>!Ie.isOffline),Ne=[...ve];for(const Ie of we)ve.some(Re=>{const Pe=Math.abs(new Date(Re.filledAt||Re.createdAt).getTime()-new Date(Ie.filledAt||Ie.createdAt).getTime());return Re.amountL===Ie.amountL&&Re.costFcfa===Ie.costFcfa&&Pe<5e3})||Ne.push(Ie);return Ne})}A(""),v(""),j(null),S(null),d("history"),i({title:"Carburant enregistré hors ligne",description:"La prise de carburant sera synchronisée automatiquement quand la connexion reviendra."})}}catch{i({variant:"destructive",title:"Erreur",description:"Impossible d'enregistrer la prise de carburant hors ligne."})}finally{M(!1)}}},ne=()=>{A(""),v(""),j(null),S(null),d("add"),t(!1)};return u?a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Tg,{className:"h-5 w-5"}),a.jsx(In,{children:"CARBURANT"})]}),a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t(!1),children:a.jsx(Nn,{className:"h-4 w-4"})})]}),a.jsx(Mn,{children:"Prendre ou sélectionner une photo"})]}),a.jsxs("div",{className:"space-y-4 mt-4",children:[a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>h(!1),className:"mb-2",children:"← Retour"}),a.jsxs("div",{className:"space-y-4",children:[O&&a.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[a.jsx(Nt,{className:"h-4 w-4 animate-spin"}),a.jsx("span",{children:"Optimisation..."})]}),E?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:E,alt:"Photo index compteur",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{j(null),S(null),P.current&&(P.current.value=""),L.current&&(L.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>L.current?.click(),className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",disabled:O,children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-blue-600 shadow-lg flex items-center justify-center",children:a.jsx(mo,{className:"h-10 w-10 text-white"})}),a.jsx("span",{className:"text-sm font-semibold",children:"Prendre une photo"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:P,type:"file",accept:"image/*",onChange:q,className:"hidden"}),a.jsx("input",{ref:L,type:"file",accept:"image/*",capture:"environment",onChange:q,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>P.current?.click(),className:"flex-1",disabled:O,children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Galerie"]})]})]})]}),a.jsxs("div",{className:"flex items-center justify-between gap-3 mt-6 pt-4 border-t",children:[a.jsx(ge,{variant:"outline",onClick:()=>{h(!1),j(null),S(null),P.current&&(P.current.value=""),L.current&&(L.current.value="")},className:"flex items-center gap-2",children:"Annuler"}),a.jsxs(ge,{onClick:()=>{w&&h(!1)},className:"flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white",disabled:!w,children:[a.jsx(U0,{className:"h-4 w-4"}),"Enregistrer"]})]})]})]})}):a.jsxs(En,{open:e,onOpenChange:t,children:[a.jsxs(yn,{className:"max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(cv,{className:"h-5 w-5 text-blue-600"}),a.jsx(In,{className:"text-lg font-semibold",children:"CARBURANT"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Ajouter une entrée de carburant"})]}),a.jsxs(ul,{value:c,onValueChange:V=>d(V),className:"w-full",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-2",children:[a.jsxs(hn,{value:"add",className:"flex items-center gap-2",children:[a.jsx(Ti,{className:"h-4 w-4"}),"Ajouter"]}),a.jsxs(hn,{value:"history",className:"flex items-center gap-2",children:[a.jsx(Bl,{className:"h-4 w-4"}),"Historique"]})]}),a.jsxs(dn,{value:"add",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"quantity",children:"Quantité (L)"}),a.jsx(Xe,{id:"quantity",type:"number",placeholder:"Ex: 150",value:p,onChange:V=>A(V.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"amount",children:"Montant (FCFA)"}),a.jsx(Xe,{id:"amount",type:"number",placeholder:"Ex: 225000",value:y,onChange:V=>v(V.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"counter-photo",children:["Photo index compteur ",a.jsx("span",{className:"text-destructive",children:"*"})]}),E?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:E,alt:"Photo index compteur",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{j(null),S(null),P.current&&(P.current.value=""),L.current&&(L.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})}),a.jsx(ge,{type:"button",variant:"outline",onClick:()=>h(!0),className:"mt-2 w-full",children:"Changer la photo"})]}):a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>h(!0),className:"w-full",children:[a.jsx(c1,{className:"h-4 w-4 mr-2"}),"Ajouter une photo"]})]})]}),a.jsxs(dn,{value:"history",className:"mt-4",children:[a.jsx("h3",{className:"text-sm font-semibold mb-4",children:"Historique"}),W?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):X.length===0?a.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"Aucune prise de carburant enregistrée"}):a.jsx("div",{className:"space-y-4",children:X.map(V=>a.jsxs("div",{className:"flex items-start gap-3 p-3 border rounded-lg",children:[a.jsx("div",{className:"flex-shrink-0 w-20 h-20 border rounded-lg flex items-center justify-center bg-muted cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>{const ue=V.receiptUrl||(V.receiptUrl?Sr(V.receiptUrl)||V.receiptUrl:null);ue&&n&&n(ue)},children:V.receiptUrl?a.jsx(OS,{src:V.isOffline&&V.receiptUrl.startsWith("data:")?V.receiptUrl:Sr(V.receiptUrl)||V.receiptUrl,alt:"Photo index compteur",className:"w-full h-full object-cover rounded-lg"}):a.jsx(c1,{className:"h-8 w-8 text-muted-foreground"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx(cv,{className:"h-4 w-4 text-blue-600"}),a.jsxs("span",{className:"text-sm font-medium",children:["CARBURANT",V.amountL&&` - ${V.amountL.toLocaleString("fr-FR")} L`,V.costFcfa&&` - ${V.costFcfa.toLocaleString("fr-FR")} FCFA`]}),V.isOffline&&a.jsx(yt,{variant:"outline",className:"text-xs",children:"En attente"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:new Date(V.filledAt).toLocaleString("fr-FR",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})})]}),a.jsx(ge,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:ue=>{ue.stopPropagation(),R(V.id),C(!0)},disabled:J.isPending,children:a.jsx(Ns,{className:"h-4 w-4"})})]},V.id))})]})]}),a.jsxs("div",{className:"flex items-center justify-between gap-3 mt-6 pt-4 border-t",children:[a.jsxs(ge,{variant:"outline",onClick:ne,className:"flex items-center gap-2",children:[a.jsx(Nn,{className:"h-4 w-4"}),"REVENIR"]}),a.jsxs(ge,{onClick:ee,className:"flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white",disabled:!p||!y||!w||G.isPending||T,children:[G.isPending||T?a.jsx(Nt,{className:"h-4 w-4 animate-spin"}):a.jsx(U0,{className:"h-4 w-4"}),"ENREGISTRER"]})]})]}),a.jsx(du,{open:_,onOpenChange:C,children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Supprimer cette prise de carburant ?"}),a.jsx(Cc,{children:"Cette action est irréversible. La prise de carburant sera définitivement supprimée."})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:()=>{Q!==null&&J.mutate(Q)},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",disabled:J.isPending,children:J.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Suppression..."]}):"Supprimer"})]})]})})]})}async function A$(){return await $t("/api/voyage-expenses")}async function x$(e){return await $t(`/api/voyages/${e}/expenses`)}async function AN(e,t){const r=new FormData;return r.append("category",t.category),r.append("amount_fcfa",t.amount_fcfa.toString()),t.description&&r.append("description",t.description),t.receipt&&r.append("receipt",t.receipt),t.voyage_trajet_id&&r.append("voyage_trajet_id",t.voyage_trajet_id.toString()),t.expense_at&&r.append("expense_at",t.expense_at),await $t(`/api/voyages/${e}/expenses`,{method:"POST",body:r})}async function v$(e,t){await $t(`/api/voyages/${e}/expenses/${t}`,{method:"DELETE"})}const y$=Object.freeze(Object.defineProperty({__proto__:null,createVoyageExpense:AN,deleteVoyageExpense:v$,fetchAllVoyageExpenses:A$,fetchVoyageExpenses:x$},Symbol.toStringTag,{value:"Module"})),S7=[{value:"peage",label:"Péage",icon:ey,color:"bg-blue-100 dark:bg-blue-900 border-blue-300 dark:border-blue-700 text-blue-700 dark:text-blue-300"},{value:"reparation",label:"Réparation",icon:ty,color:"bg-red-100 dark:bg-red-900 border-red-300 dark:border-red-700 text-red-700 dark:text-red-300"},{value:"douane",label:"Douane",icon:U6,color:"bg-purple-100 dark:bg-purple-900 border-purple-300 dark:border-purple-700 text-purple-700 dark:text-purple-300"},{value:"main_oeuvre",label:"Main d'œuvre",icon:Sm,color:"bg-orange-100 dark:bg-orange-900 border-orange-300 dark:border-orange-700 text-orange-700 dark:text-orange-300"},{value:"contravention",label:"Contravention",icon:mse,color:"bg-yellow-100 dark:bg-yellow-900 border-yellow-300 dark:border-yellow-700 text-yellow-700 dark:text-yellow-300"},{value:"autre",label:"Autre",icon:fse,color:"bg-gray-100 dark:bg-gray-900 border-gray-300 dark:border-gray-700 text-gray-700 dark:text-gray-300"}];function Jfe({open:e,onOpenChange:t,voyageId:r,onImageClick:n}){const{toast:i}=Er(),s=eo(),{isOnline:o,executeAction:l}=xy(),[c,d]=I.useState("add"),[u,h]=I.useState(""),[p,A]=I.useState(""),[y,v]=I.useState(""),[w,j]=I.useState(!1),[E,S]=I.useState(null),[_,C]=I.useState(null),[Q,R]=I.useState(!1),[T,M]=I.useState(null),[O,$]=I.useState(!1),[P,L]=I.useState(!1),X=I.useRef(null),W=I.useRef(null),{data:G=[],isLoading:J}=cr({queryKey:[`/api/voyages/${r}/expenses`],queryFn:async()=>{let de=[];try{navigator.onLine&&(de=await x$(r))}catch{}let xe=[];try{const{getPendingEventsBase64:Ce}=await On(async()=>{const{getPendingEventsBase64:ve}=await Promise.resolve().then(()=>h1);return{getPendingEventsBase64:ve}},void 0);xe=Ce().filter(ve=>ve.type==="expense"&&ve.voyageId===r).map(ve=>({id:ve.id,voyageId:ve.voyageId,category:ve.category,amountFcfa:ve.amountFcfa,description:ve.description||null,expenseAt:ve.expenseAt||ve.createdAt,createdAt:ve.createdAt,receiptUrl:ve.receiptBase64||null,isOffline:!0,offlineActionId:ve.id}))}catch{}const _e=[...de];for(const Ce of xe)de.some(ve=>{const Ne=Math.abs(new Date(ve.expenseAt||ve.createdAt).getTime()-new Date(Ce.expenseAt||Ce.createdAt).getTime());return ve.category===Ce.category&&ve.amountFcfa===Ce.amountFcfa&&Ne<5e3})||_e.push(Ce);return _e},enabled:e,refetchInterval:e&&!o?2e3:!1}),q=_r({mutationFn:async de=>{const xe=await l({type:"expense",voyageId:r,category:de.category,amountFcfa:de.amount_fcfa,description:de.description||null,receipt:de.receipt||null,trajetId:de.trajetId||null,expenseAt:de.expenseAt||null},()=>AN(r,{category:de.category,amount_fcfa:de.amount_fcfa,description:de.description,receipt:de.receipt,voyage_trajet_id:de.trajetId||null,expense_at:de.expenseAt||void 0}),"La dépense sera synchronisée automatiquement quand la connexion reviendra.");return typeof xe=="string"?{id:0,voyageId:r,category:de.category,amountFcfa:de.amount_fcfa,description:de.description||null,expenseAt:de.expenseAt||new Date().toISOString(),createdAt:new Date().toISOString()}:xe},onSuccess:()=>{s.invalidateQueries({queryKey:[`/api/voyages/${r}/expenses`]}),o||s.refetchQueries({queryKey:[`/api/voyages/${r}/expenses`]}),i({title:o?"Dépense enregistrée":"Dépense enregistrée hors ligne",description:o?"La dépense a été enregistrée avec succès.":"La dépense sera synchronisée automatiquement quand la connexion reviendra."}),h(""),A(""),v(""),S(null),C(null),d("history")},onError:de=>{i({title:"Erreur",description:de.message||"Une erreur est survenue lors de l'enregistrement.",variant:"destructive"})}}),ee=_r({mutationFn:async de=>await v$(r,de),onSuccess:()=>{s.invalidateQueries({queryKey:[`/api/voyages/${r}/expenses`]}),i({title:"Suppression réussie",description:"La dépense a été supprimée avec succès."}),R(!1),M(null)},onError:de=>{i({title:"Erreur",description:de.message||"Une erreur est survenue lors de la suppression.",variant:"destructive"})}}),ne=async de=>{const xe=de.target.files?.[0];if(xe){if(xe.size>10485760){i({title:"Fichier trop volumineux",description:"La taille du fichier ne doit pas dépasser 10 MB.",variant:"destructive"});return}if(!xe.type.startsWith("image/")){i({title:"Type de fichier invalide",description:"Veuillez sélectionner une image.",variant:"destructive"});return}L(!0);try{const Ce=await Hm(xe,{preset:"pod"});S(Ce.file);const we=((1-Ce.optimizedSize/Ce.originalSize)*100).toFixed(0);Ce.originalSize>Ce.optimizedSize&&i({title:"Image optimisée",description:`${ol(Ce.originalSize)} → ${ol(Ce.optimizedSize)} (-${we}%)`,duration:3e3});const ve=new FileReader;ve.onloadend=()=>{C(ve.result),L(!1),j(!1)},ve.onerror=()=>{i({title:"Erreur de lecture",description:"Impossible de lire le fichier sélectionné.",variant:"destructive"}),L(!1)},ve.readAsDataURL(Ce.file)}catch(Ce){L(!1),i({variant:"destructive",title:"Erreur",description:Ce instanceof Error?Ce.message:"Optimisation impossible, veuillez reprendre la photo"})}}},V=async()=>{if(!u){i({title:"Type requis",description:"Veuillez sélectionner un type de frais.",variant:"destructive"});return}if(!p){i({title:"Montant requis",description:"Veuillez renseigner le montant.",variant:"destructive"});return}if(!E){i({title:"Photo requise",description:"Veuillez ajouter une photo du justificatif.",variant:"destructive"});return}const de=p?parseInt(p):0;if(p&&(isNaN(de)||de<0)){i({title:"Montant invalide",description:"Le montant doit être un nombre positif ou zéro.",variant:"destructive"});return}if(o)q.mutate({category:u,amount_fcfa:de,description:y||void 0,receipt:E||void 0});else{$(!0);try{if(typeof await l({type:"expense",voyageId:r,category:u,amountFcfa:de,description:y||null,receipt:E,trajetId:null,expenseAt:null},()=>AN(r,{category:u,amount_fcfa:de,description:y||void 0,receipt:E,voyage_trajet_id:null,expense_at:void 0}),"La dépense sera synchronisée automatiquement quand la connexion reviendra.")=="string"){const{getPendingEventsBase64:_e}=await On(async()=>{const{getPendingEventsBase64:we}=await Promise.resolve().then(()=>h1);return{getPendingEventsBase64:we}},void 0),Ce=_e();o||s.setQueryData([`/api/voyages/${r}/expenses`],(we=[])=>{const ve=Ce.filter(be=>be.type==="expense"&&be.voyageId===r).map(be=>({id:be.id,voyageId:be.voyageId,category:be.category,amountFcfa:be.amountFcfa,description:be.description||null,expenseAt:be.expenseAt||be.createdAt,createdAt:be.createdAt,receiptUrl:be.receiptBase64||null,isOffline:!0,offlineActionId:be.id})),Ne=we.filter(be=>!be.isOffline),Ie=[...Ne];for(const be of ve)Ne.some(Pe=>{const Ke=Math.abs(new Date(Pe.expenseAt||Pe.createdAt).getTime()-new Date(be.expenseAt||be.createdAt).getTime());return Pe.category===be.category&&Pe.amountFcfa===be.amountFcfa&&Ke<5e3})||Ie.push(be);return Ie}),h(""),A(""),v(""),S(null),C(null),d("history"),i({title:"Dépense enregistrée hors ligne",description:"La dépense sera synchronisée automatiquement quand la connexion reviendra."})}}catch{i({variant:"destructive",title:"Erreur",description:"Impossible d'enregistrer la dépense hors ligne."})}finally{$(!1)}}},ue=()=>{h(""),A(""),v(""),S(null),C(null),d("add"),t(!1)};return w?a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Tg,{className:"h-5 w-5"}),a.jsx(In,{children:"FRAIS"})]}),a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t(!1),children:a.jsx(Nn,{className:"h-4 w-4"})})]}),a.jsx(Mn,{children:"Prendre ou sélectionner une photo"})]}),a.jsxs("div",{className:"space-y-4 mt-4",children:[a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>j(!1),className:"mb-2",children:"← Retour"}),a.jsxs("div",{className:"space-y-4",children:[P&&a.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[a.jsx(Nt,{className:"h-4 w-4 animate-spin"}),a.jsx("span",{children:"Optimisation..."})]}),_?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:_,alt:"Justificatif",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{S(null),C(null),X.current&&(X.current.value=""),W.current&&(W.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>W.current?.click(),className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",disabled:P,children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-blue-600 shadow-lg flex items-center justify-center",children:a.jsx(mo,{className:"h-10 w-10 text-white"})}),a.jsx("span",{className:"text-sm font-semibold",children:"Prendre une photo"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:X,type:"file",accept:"image/*",onChange:ne,className:"hidden"}),a.jsx("input",{ref:W,type:"file",accept:"image/*",capture:"environment",onChange:ne,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>X.current?.click(),className:"flex-1",disabled:P,children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Galerie"]})]})]})]}),a.jsxs("div",{className:"flex items-center justify-between gap-3 mt-6 pt-4 border-t",children:[a.jsx(ge,{variant:"outline",onClick:()=>{j(!1),S(null),C(null),X.current&&(X.current.value=""),W.current&&(W.current.value="")},className:"flex items-center gap-2",children:"Annuler"}),a.jsxs(ge,{onClick:()=>{E&&j(!1)},className:"flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white",disabled:!E,children:[a.jsx(U0,{className:"h-4 w-4"}),"Enregistrer"]})]})]})]})}):a.jsxs(En,{open:e,onOpenChange:t,children:[a.jsxs(yn,{className:"max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(l1,{className:"h-5 w-5 text-orange-600"}),a.jsx(In,{className:"text-lg font-semibold",children:"FRAIS"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Ajouter une dépense"})]}),a.jsxs(ul,{value:c,onValueChange:de=>d(de),className:"w-full",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-2",children:[a.jsxs(hn,{value:"add",className:"flex items-center gap-2",children:[a.jsx(Ti,{className:"h-4 w-4"}),"Ajouter"]}),a.jsxs(hn,{value:"history",className:"flex items-center gap-2",children:[a.jsx(Bl,{className:"h-4 w-4"}),"Historique"]})]}),a.jsxs(dn,{value:"add",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Type de frais"}),a.jsx("div",{className:"grid grid-cols-3 gap-3",children:S7.map(de=>{const xe=de.icon,_e=u===de.value;return a.jsxs("button",{type:"button",onClick:()=>h(de.value),className:` flex flex-col items-center justify-center gap-2 p-4 rounded-lg border-2 transition-all ${_e?`${de.color} border-2 border-primary shadow-md scale-105`:"bg-muted border-muted-foreground/25 hover:border-primary/50 hover:bg-muted/80"} `,children:[a.jsx(xe,{className:`h-8 w-8 ${_e?"":"text-muted-foreground"}`}),a.jsx("span",{className:`text-xs font-medium ${_e?"":"text-muted-foreground"}`,children:de.label})]},de.value)})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"amount",children:"Montant (FCFA)"}),a.jsx(Xe,{id:"amount",type:"number",placeholder:"Ex: 15000",value:p,onChange:de=>A(de.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"description",children:"Description (optionnel)"}),a.jsx(Xe,{id:"description",type:"text",placeholder:"Ex: Déjeuner équipage",value:y,onChange:de=>v(de.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"ticket",children:["Justificatif ",a.jsx("span",{className:"text-destructive",children:"*"})]}),_?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:_,alt:"Justificatif",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{S(null),C(null),X.current&&(X.current.value=""),W.current&&(W.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})}),a.jsx(ge,{type:"button",variant:"outline",onClick:()=>j(!0),className:"mt-2 w-full",children:"Changer la photo"})]}):a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>j(!0),className:"w-full",children:[a.jsx(c1,{className:"h-4 w-4 mr-2"}),"Ajouter une photo"]})]})]}),a.jsxs(dn,{value:"history",className:"mt-4",children:[a.jsx("h3",{className:"text-sm font-semibold mb-4",children:"Historique"}),J?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):G.length===0?a.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"Aucune dépense enregistrée"}):a.jsx("div",{className:"space-y-4",children:G.map(de=>{const xe=S7.find(_e=>_e.value===de.category)?.label||de.category;return a.jsxs("div",{className:"flex items-start gap-3 p-3 border rounded-lg",children:[a.jsx("div",{className:"flex-shrink-0 w-20 h-20 border rounded-lg flex items-center justify-center bg-muted cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>{const _e=de.receiptUrl||(de.receiptUrl?Sr(de.receiptUrl)||de.receiptUrl:null);_e&&n&&n(_e)},children:de.receiptUrl||de.receiptUrl?a.jsx(OS,{src:((de.isOffline||de.isOffline)&&(de.receiptUrl||de.receiptUrl)?.startsWith("data:"),de.receiptUrl||de.receiptUrl),alt:"Justificatif",className:"w-full h-full object-cover rounded-lg"}):a.jsx(c1,{className:"h-8 w-8 text-muted-foreground"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx(l1,{className:"h-4 w-4 text-orange-600"}),a.jsxs("span",{className:"text-sm font-medium",children:[xe,de.amountFcfa&&` - ${de.amountFcfa.toLocaleString("fr-FR")} FCFA`]}),de.isOffline&&a.jsx(yt,{variant:"outline",className:"text-xs",children:"En attente"})]}),de.description&&a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:de.description}),a.jsx("p",{className:"text-xs text-muted-foreground",children:new Date(de.expenseAt||de.expenseAt||de.createdAt||de.createdAt).toLocaleString("fr-FR",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})})]}),a.jsx(ge,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:_e=>{_e.stopPropagation(),M(de.id),R(!0)},disabled:ee.isPending,children:a.jsx(Ns,{className:"h-4 w-4"})})]},de.id)})})]})]}),a.jsxs("div",{className:"flex items-center justify-between gap-3 mt-6 pt-4 border-t",children:[a.jsxs(ge,{variant:"outline",onClick:ue,className:"flex items-center gap-2",children:[a.jsx(Nn,{className:"h-4 w-4"}),"REVENIR"]}),a.jsxs(ge,{onClick:V,className:"flex items-center gap-2 bg-orange-600 hover:bg-orange-700 text-white",disabled:!u||!p||!E||q.isPending||O,children:[q.isPending||O?a.jsx(Nt,{className:"h-4 w-4 animate-spin"}):a.jsx(U0,{className:"h-4 w-4"}),"ENREGISTRER"]})]})]}),a.jsx(du,{open:Q,onOpenChange:R,children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Supprimer cette dépense ?"}),a.jsx(Cc,{children:"Cette action est irréversible. La dépense sera définitivement supprimée."})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:()=>{T!==null&&ee.mutate(T)},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",disabled:ee.isPending,children:ee.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Suppression..."]}):"Supprimer"})]})]})})]})}function Xfe(e=!0){return cr({queryKey:["/api/driver/completed-voyages"],queryFn:async()=>await gz(),enabled:e,staleTime:300*1e3,retry:!1})}const b$=6048e5,ehe=864e5,w$=6e4,E$=36e5,eb=43200,B7=1440,k7=Symbol.for("constructDateFrom");function Wd(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&k7 in e?e[k7](t):e instanceof Date?new e.constructor(t):new Date(t)}function Xs(e,t){return Wd(t||e,e)}let the={};function yy(){return the}function yv(e,t){const r=yy(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=Xs(e,t?.in),s=i.getDay(),o=(s=s.getTime()?n+1:r.getTime()>=l.getTime()?n:n-1}function mw(e){const t=Xs(e),r=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return r.setUTCFullYear(t.getFullYear()),+e-+r}function W1(e,...t){const r=Wd.bind(null,e||t.find(n=>typeof n=="object"));return t.map(r)}function pw(e,t){const r=Xs(e,t?.in);return r.setHours(0,0,0,0),r}function I$(e,t,r){const[n,i]=W1(r?.in,e,t),s=pw(n),o=pw(i),l=+s-mw(s),c=+o-mw(o);return Math.round((l-c)/ehe)}function rhe(e,t){const r=C$(e,t),n=Wd(e,0);return n.setFullYear(r,0,4),n.setHours(0,0,0,0),hw(n)}function Zb(e,t){const r=+Xs(e)-+Xs(t);return r<0?-1:r>0?1:r}function nhe(e){return Wd(e,Date.now())}function xN(e,t,r){const[n,i]=W1(r?.in,e,t);return+pw(n)==+pw(i)}function ihe(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function ahe(e){return!(!ihe(e)&&typeof e!="number"||isNaN(+Xs(e)))}function she(e,t,r){const[n,i]=W1(r?.in,e,t),s=n.getFullYear()-i.getFullYear(),o=n.getMonth()-i.getMonth();return s*12+o}function ohe(e,t,r){const[n,i]=W1(r?.in,e,t),s=_7(n,i),o=Math.abs(I$(n,i));n.setDate(n.getDate()-s*o);const l=+(_7(n,i)===-s),c=s*(o-l);return c===0?0:c}function _7(e,t){const r=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return r<0?-1:r>0?1:r}function lhe(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return n===0?0:n}}function che(e,t){return+Xs(e)-+Xs(t)}function uhe(e,t){const r=Xs(e,t?.in);return r.setHours(23,59,59,999),r}function dhe(e,t){const r=Xs(e,t?.in),n=r.getMonth();return r.setFullYear(r.getFullYear(),n+1,0),r.setHours(23,59,59,999),r}function fhe(e,t){const r=Xs(e,t?.in);return+uhe(r,t)==+dhe(r,t)}function hhe(e,t,r){const[n,i,s]=W1(r?.in,e,e,t),o=Zb(i,s),l=Math.abs(she(i,s));if(l<1)return 0;i.getMonth()===1&&i.getDate()>27&&i.setDate(30),i.setMonth(i.getMonth()-o*l);let c=Zb(i,s)===-o;fhe(n)&&l===1&&Zb(n,s)===1&&(c=!1);const d=o*(l-+c);return d===0?0:d}function mhe(e,t,r){const n=che(e,t)/1e3;return lhe(r?.roundingMethod)(n)}function phe(e,t){const r=Xs(e,t?.in);return r.setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r}const ghe={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Ahe=(e,t,r)=>{let n;const i=ghe[e];return typeof i=="string"?n=i:t===1?n=i.one:n=i.other.replace("{{count}}",t.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"in "+n:n+" ago":n};function KA(e){return(t={})=>{const r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}const xhe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},vhe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},yhe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},bhe={date:KA({formats:xhe,defaultWidth:"full"}),time:KA({formats:vhe,defaultWidth:"full"}),dateTime:KA({formats:yhe,defaultWidth:"full"})},whe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ehe=(e,t,r,n)=>whe[e];function Bd(e){return(t,r)=>{const n=r?.context?String(r.context):"standalone";let i;if(n==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,l=r?.width?String(r.width):o;i=e.formattingValues[l]||e.formattingValues[o]}else{const o=e.defaultWidth,l=r?.width?String(r.width):e.defaultWidth;i=e.values[l]||e.values[o]}const s=e.argumentCallback?e.argumentCallback(t):t;return i[s]}}const Che={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ihe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},jhe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Nhe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},She={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Bhe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},khe=(e,t)=>{const r=Number(e),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},_he={ordinalNumber:khe,era:Bd({values:Che,defaultWidth:"wide"}),quarter:Bd({values:Ihe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Bd({values:jhe,defaultWidth:"wide"}),day:Bd({values:Nhe,defaultWidth:"wide"}),dayPeriod:Bd({values:She,defaultWidth:"wide",formattingValues:Bhe,defaultFormattingWidth:"wide"})};function kd(e){return(t,r={})=>{const n=r.width,i=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],s=t.match(i);if(!s)return null;const o=s[0],l=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(l)?The(l,h=>h.test(o)):Dhe(l,h=>h.test(o));let d;d=e.valueCallback?e.valueCallback(c):c,d=r.valueCallback?r.valueCallback(d):d;const u=t.slice(o.length);return{value:d,rest:u}}}function Dhe(e,t){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t(e[r]))return r}function The(e,t){for(let r=0;r{const n=t.match(e.matchPattern);if(!n)return null;const i=n[0],s=t.match(e.parsePattern);if(!s)return null;let o=e.valueCallback?e.valueCallback(s[0]):s[0];o=r.valueCallback?r.valueCallback(o):o;const l=t.slice(i.length);return{value:o,rest:l}}}const Rhe=/^(\d+)(th|st|nd|rd)?/i,Phe=/\d+/i,Qhe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Fhe={any:[/^b/i,/^(a|c)/i]},Ohe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Lhe={any:[/1/i,/2/i,/3/i,/4/i]},Mhe={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Uhe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},zhe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},$he={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Hhe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},qhe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Ghe={ordinalNumber:j$({matchPattern:Rhe,parsePattern:Phe,valueCallback:e=>parseInt(e,10)}),era:kd({matchPatterns:Qhe,defaultMatchWidth:"wide",parsePatterns:Fhe,defaultParseWidth:"any"}),quarter:kd({matchPatterns:Ohe,defaultMatchWidth:"wide",parsePatterns:Lhe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:kd({matchPatterns:Mhe,defaultMatchWidth:"wide",parsePatterns:Uhe,defaultParseWidth:"any"}),day:kd({matchPatterns:zhe,defaultMatchWidth:"wide",parsePatterns:$he,defaultParseWidth:"any"}),dayPeriod:kd({matchPatterns:Hhe,defaultMatchWidth:"any",parsePatterns:qhe,defaultParseWidth:"any"})},N$={code:"en-US",formatDistance:Ahe,formatLong:bhe,formatRelative:Ehe,localize:_he,match:Ghe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Vhe(e,t){const r=Xs(e,t?.in);return I$(r,phe(r))+1}function Whe(e,t){const r=Xs(e,t?.in),n=+hw(r)-+rhe(r);return Math.round(n/b$)+1}function S$(e,t){const r=Xs(e,t?.in),n=r.getFullYear(),i=yy(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Wd(t?.in||e,0);o.setFullYear(n+1,0,s),o.setHours(0,0,0,0);const l=yv(o,t),c=Wd(t?.in||e,0);c.setFullYear(n,0,s),c.setHours(0,0,0,0);const d=yv(c,t);return+r>=+l?n+1:+r>=+d?n:n-1}function Khe(e,t){const r=yy(),n=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=S$(e,t),s=Wd(t?.in||e,0);return s.setFullYear(i,0,n),s.setHours(0,0,0,0),yv(s,t)}function Yhe(e,t){const r=Xs(e,t?.in),n=+yv(r,t)-+Khe(r,t);return Math.round(n/b$)+1}function Ki(e,t){const r=e<0?"-":"",n=Math.abs(e).toString().padStart(t,"0");return r+n}const Wh={y(e,t){const r=e.getFullYear(),n=r>0?r:1-r;return Ki(t==="yy"?n%100:n,t.length)},M(e,t){const r=e.getMonth();return t==="M"?String(r+1):Ki(r+1,2)},d(e,t){return Ki(e.getDate(),t.length)},a(e,t){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return r==="am"?"a.m.":"p.m."}},h(e,t){return Ki(e.getHours()%12||12,t.length)},H(e,t){return Ki(e.getHours(),t.length)},m(e,t){return Ki(e.getMinutes(),t.length)},s(e,t){return Ki(e.getSeconds(),t.length)},S(e,t){const r=t.length,n=e.getMilliseconds(),i=Math.trunc(n*Math.pow(10,r-3));return Ki(i,t.length)}},EA={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},D7={G:function(e,t,r){const n=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(e,t,r){if(t==="yo"){const n=e.getFullYear(),i=n>0?n:1-n;return r.ordinalNumber(i,{unit:"year"})}return Wh.y(e,t)},Y:function(e,t,r,n){const i=S$(e,n),s=i>0?i:1-i;if(t==="YY"){const o=s%100;return Ki(o,2)}return t==="Yo"?r.ordinalNumber(s,{unit:"year"}):Ki(s,t.length)},R:function(e,t){const r=C$(e);return Ki(r,t.length)},u:function(e,t){const r=e.getFullYear();return Ki(r,t.length)},Q:function(e,t,r){const n=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return Ki(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,r){const n=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return Ki(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,r){const n=e.getMonth();switch(t){case"M":case"MM":return Wh.M(e,t);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,r){const n=e.getMonth();switch(t){case"L":return String(n+1);case"LL":return Ki(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){const i=Yhe(e,n);return t==="wo"?r.ordinalNumber(i,{unit:"week"}):Ki(i,t.length)},I:function(e,t,r){const n=Whe(e);return t==="Io"?r.ordinalNumber(n,{unit:"week"}):Ki(n,t.length)},d:function(e,t,r){return t==="do"?r.ordinalNumber(e.getDate(),{unit:"date"}):Wh.d(e,t)},D:function(e,t,r){const n=Vhe(e);return t==="Do"?r.ordinalNumber(n,{unit:"dayOfYear"}):Ki(n,t.length)},E:function(e,t,r){const n=e.getDay();switch(t){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,r,n){const i=e.getDay(),s=(i-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Ki(s,2);case"eo":return r.ordinalNumber(s,{unit:"day"});case"eee":return r.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(i,{width:"short",context:"formatting"});default:return r.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,r,n){const i=e.getDay(),s=(i-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Ki(s,t.length);case"co":return r.ordinalNumber(s,{unit:"day"});case"ccc":return r.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(i,{width:"narrow",context:"standalone"});case"cccccc":return r.day(i,{width:"short",context:"standalone"});default:return r.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,r){const n=e.getDay(),i=n===0?7:n;switch(t){case"i":return String(i);case"ii":return Ki(i,t.length);case"io":return r.ordinalNumber(i,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,r){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(i,{width:"narrow",context:"formatting"});default:return r.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,r){const n=e.getHours();let i;switch(n===12?i=EA.noon:n===0?i=EA.midnight:i=n/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(i,{width:"narrow",context:"formatting"});default:return r.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,r){const n=e.getHours();let i;switch(n>=17?i=EA.evening:n>=12?i=EA.afternoon:n>=4?i=EA.morning:i=EA.night,t){case"B":case"BB":case"BBB":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(i,{width:"narrow",context:"formatting"});default:return r.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,r){if(t==="ho"){let n=e.getHours()%12;return n===0&&(n=12),r.ordinalNumber(n,{unit:"hour"})}return Wh.h(e,t)},H:function(e,t,r){return t==="Ho"?r.ordinalNumber(e.getHours(),{unit:"hour"}):Wh.H(e,t)},K:function(e,t,r){const n=e.getHours()%12;return t==="Ko"?r.ordinalNumber(n,{unit:"hour"}):Ki(n,t.length)},k:function(e,t,r){let n=e.getHours();return n===0&&(n=24),t==="ko"?r.ordinalNumber(n,{unit:"hour"}):Ki(n,t.length)},m:function(e,t,r){return t==="mo"?r.ordinalNumber(e.getMinutes(),{unit:"minute"}):Wh.m(e,t)},s:function(e,t,r){return t==="so"?r.ordinalNumber(e.getSeconds(),{unit:"second"}):Wh.s(e,t)},S:function(e,t){return Wh.S(e,t)},X:function(e,t,r){const n=e.getTimezoneOffset();if(n===0)return"Z";switch(t){case"X":return R7(n);case"XXXX":case"XX":return Up(n);default:return Up(n,":")}},x:function(e,t,r){const n=e.getTimezoneOffset();switch(t){case"x":return R7(n);case"xxxx":case"xx":return Up(n);default:return Up(n,":")}},O:function(e,t,r){const n=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+T7(n,":");default:return"GMT"+Up(n,":")}},z:function(e,t,r){const n=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+T7(n,":");default:return"GMT"+Up(n,":")}},t:function(e,t,r){const n=Math.trunc(+e/1e3);return Ki(n,t.length)},T:function(e,t,r){return Ki(+e,t.length)}};function T7(e,t=""){const r=e>0?"-":"+",n=Math.abs(e),i=Math.trunc(n/60),s=n%60;return s===0?r+String(i):r+String(i)+t+Ki(s,2)}function R7(e,t){return e%60===0?(e>0?"-":"+")+Ki(Math.abs(e)/60,2):Up(e,t)}function Up(e,t=""){const r=e>0?"-":"+",n=Math.abs(e),i=Ki(Math.trunc(n/60),2),s=Ki(n%60,2);return r+i+t+s}const P7=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},B$=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Zhe=(e,t)=>{const r=e.match(/(P+)(p+)?/)||[],n=r[1],i=r[2];if(!i)return P7(e,t);let s;switch(n){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",P7(n,t)).replace("{{time}}",B$(i,t))},Jhe={p:B$,P:Zhe},Xhe=/^D+$/,eme=/^Y+$/,tme=["D","DD","YY","YYYY"];function rme(e){return Xhe.test(e)}function nme(e){return eme.test(e)}function ime(e,t,r){const n=ame(e,t,r);if(console.warn(n),tme.includes(e))throw new RangeError(n)}function ame(e,t,r){const n=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${n} to the input \`${r}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const sme=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ome=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,lme=/^'([^]*?)'?$/,cme=/''/g,ume=/[a-zA-Z]/;function Wr(e,t,r){const n=yy(),i=r?.locale??n.locale??N$,s=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,l=Xs(e,r?.in);if(!ahe(l))throw new RangeError("Invalid time value");let c=t.match(ome).map(u=>{const h=u[0];if(h==="p"||h==="P"){const p=Jhe[h];return p(u,i.formatLong)}return u}).join("").match(sme).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const h=u[0];if(h==="'")return{isToken:!1,value:dme(u)};if(D7[h])return{isToken:!0,value:u};if(h.match(ume))throw new RangeError("Format string contains an unescaped latin alphabet character `"+h+"`");return{isToken:!1,value:u}});i.localize.preprocessor&&(c=i.localize.preprocessor(l,c));const d={firstWeekContainsDate:s,weekStartsOn:o,locale:i};return c.map(u=>{if(!u.isToken)return u.value;const h=u.value;(!r?.useAdditionalWeekYearTokens&&nme(h)||!r?.useAdditionalDayOfYearTokens&&rme(h))&&ime(h,t,String(e));const p=D7[h[0]];return p(l,h,i.localize,d)}).join("")}function dme(e){const t=e.match(lme);return t?t[1].replace(cme,"'"):e}function fme(e,t,r){const n=yy(),i=r?.locale??n.locale??N$,s=2520,o=Zb(e,t);if(isNaN(o))throw new RangeError("Invalid time value");const l=Object.assign({},r,{addSuffix:r?.addSuffix,comparison:o}),[c,d]=W1(r?.in,...o>0?[t,e]:[e,t]),u=mhe(d,c),h=(mw(d)-mw(c))/1e3,p=Math.round((u-h)/60);let A;if(p<2)return r?.includeSeconds?u<5?i.formatDistance("lessThanXSeconds",5,l):u<10?i.formatDistance("lessThanXSeconds",10,l):u<20?i.formatDistance("lessThanXSeconds",20,l):u<40?i.formatDistance("halfAMinute",0,l):u<60?i.formatDistance("lessThanXMinutes",1,l):i.formatDistance("xMinutes",1,l):p===0?i.formatDistance("lessThanXMinutes",1,l):i.formatDistance("xMinutes",p,l);if(p<45)return i.formatDistance("xMinutes",p,l);if(p<90)return i.formatDistance("aboutXHours",1,l);if(pWd(t?.in,NaN),i=Ame(e);let s;if(i.date){const d=xme(i.date,2);s=vme(d.restDateString,d.year)}if(!s||isNaN(+s))return r();const o=+s;let l=0,c;if(i.time&&(l=yme(i.time),isNaN(l)))return r();if(i.timezone){if(c=bme(i.timezone),isNaN(c))return r()}else{const d=new Date(o+l),u=Xs(0,t?.in);return u.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),u.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),u}return Xs(o+l+c,t?.in)}const tb={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},mme=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,pme=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,gme=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Ame(e){const t={},r=e.split(tb.dateTimeDelimiter);let n;if(r.length>2)return t;if(/:/.test(r[0])?n=r[0]:(t.date=r[0],n=r[1],tb.timeZoneDelimiter.test(t.date)&&(t.date=e.split(tb.timeZoneDelimiter)[0],n=e.substr(t.date.length,e.length))),n){const i=tb.timezone.exec(n);i?(t.time=n.replace(i[1],""),t.timezone=i[1]):t.time=n}return t}function xme(e,t){const r=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),n=e.match(r);if(!n)return{year:NaN,restDateString:""};const i=n[1]?parseInt(n[1]):null,s=n[2]?parseInt(n[2]):null;return{year:s===null?i:s*100,restDateString:e.slice((n[1]||n[2]).length)}}function vme(e,t){if(t===null)return new Date(NaN);const r=e.match(mme);if(!r)return new Date(NaN);const n=!!r[4],i=jx(r[1]),s=jx(r[2])-1,o=jx(r[3]),l=jx(r[4]),c=jx(r[5])-1;if(n)return jme(t,l,c)?wme(t,l,c):new Date(NaN);{const d=new Date(0);return!Cme(t,s,o)||!Ime(t,i)?new Date(NaN):(d.setUTCFullYear(t,s,Math.max(i,o)),d)}}function jx(e){return e?parseInt(e):1}function yme(e){const t=e.match(pme);if(!t)return NaN;const r=_I(t[1]),n=_I(t[2]),i=_I(t[3]);return Nme(r,n,i)?r*E$+n*w$+i*1e3:NaN}function _I(e){return e&&parseFloat(e.replace(",","."))||0}function bme(e){if(e==="Z")return 0;const t=e.match(gme);if(!t)return 0;const r=t[1]==="+"?-1:1,n=parseInt(t[2]),i=t[3]&&parseInt(t[3])||0;return Sme(n,i)?r*(n*E$+i*w$):NaN}function wme(e,t,r){const n=new Date(0);n.setUTCFullYear(e,0,4);const i=n.getUTCDay()||7,s=(t-1)*7+r+1-i;return n.setUTCDate(n.getUTCDate()+s),n}const Eme=[31,null,31,30,31,30,31,31,30,31,30,31];function k$(e){return e%400===0||e%4===0&&e%100!==0}function Cme(e,t,r){return t>=0&&t<=11&&r>=1&&r<=(Eme[t]||(k$(e)?29:28))}function Ime(e,t){return t>=1&&t<=(k$(e)?366:365)}function jme(e,t,r){return t>=1&&t<=53&&r>=0&&r<=6}function Nme(e,t,r){return e===24?t===0&&r===0:r>=0&&r<60&&t>=0&&t<60&&e>=0&&e<25}function Sme(e,t){return t>=0&&t<=59}const Bme={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},kme=(e,t,r)=>{let n;const i=Bme[e];return typeof i=="string"?n=i:t===1?n=i.one:n=i.other.replace("{{count}}",String(t)),r?.addSuffix?r.comparison&&r.comparison>0?"dans "+n:"il y a "+n:n},_me={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},Dme={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Tme={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Rme={date:KA({formats:_me,defaultWidth:"full"}),time:KA({formats:Dme,defaultWidth:"full"}),dateTime:KA({formats:Tme,defaultWidth:"full"})},Pme={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},Qme=(e,t,r,n)=>Pme[e],Fme={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},Ome={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},Lme={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},Mme={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},Ume={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},zme=(e,t)=>{const r=Number(e),n=t?.unit;if(r===0)return"0";const i=["year","week","hour","minute","second"];let s;return r===1?s=n&&i.includes(n)?"ère":"er":s="ème",r+s},$me=["MMM","MMMM"],Hme={preprocessor:(e,t)=>e.getDate()===1||!t.some(n=>n.isToken&&$me.includes(n.value))?t:t.map(n=>n.isToken&&n.value==="do"?{isToken:!0,value:"d"}:n),ordinalNumber:zme,era:Bd({values:Fme,defaultWidth:"wide"}),quarter:Bd({values:Ome,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Bd({values:Lme,defaultWidth:"wide"}),day:Bd({values:Mme,defaultWidth:"wide"}),dayPeriod:Bd({values:Ume,defaultWidth:"wide"})},qme=/^(\d+)(ième|ère|ème|er|e)?/i,Gme=/\d+/i,Vme={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},Wme={any:[/^av/i,/^ap/i]},Kme={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},Yme={any:[/1/i,/2/i,/3/i,/4/i]},Zme={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},Jme={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},Xme={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},epe={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},tpe={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},rpe={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},npe={ordinalNumber:j$({matchPattern:qme,parsePattern:Gme,valueCallback:e=>parseInt(e)}),era:kd({matchPatterns:Vme,defaultMatchWidth:"wide",parsePatterns:Wme,defaultParseWidth:"any"}),quarter:kd({matchPatterns:Kme,defaultMatchWidth:"wide",parsePatterns:Yme,defaultParseWidth:"any",valueCallback:e=>e+1}),month:kd({matchPatterns:Zme,defaultMatchWidth:"wide",parsePatterns:Jme,defaultParseWidth:"any"}),day:kd({matchPatterns:Xme,defaultMatchWidth:"wide",parsePatterns:epe,defaultParseWidth:"any"}),dayPeriod:kd({matchPatterns:tpe,defaultMatchWidth:"any",parsePatterns:rpe,defaultParseWidth:"any"})},Hr={code:"fr",formatDistance:kme,formatLong:Rme,formatRelative:Qme,localize:Hme,match:npe,options:{weekStartsOn:1,firstWeekContainsDate:4}};function ipe({onVoyageClick:e}){const[,t]=Gi(),{data:r=[],isLoading:n}=Xfe(),i=s=>{e?e(s):t(`/driver/voyage/${s}?readOnly=true`)};return n?a.jsx(it,{children:a.jsxs(Et,{className:"p-4 text-center",children:[a.jsx(Nt,{className:"h-5 w-5 animate-spin text-primary mx-auto mb-2"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Chargement des voyages..."})]})}):r.length===0?null:a.jsxs("div",{className:"space-y-3",children:[a.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Vos 10 derniers voyages"}),r.map(s=>{const o=s.updatedAt||s.createdAt,l=s.trips?.[0],c=s.trips?.[s.trips.length-1],d=l?.fromLabel||"N/A",u=c?.toLabel||l?.toLabel||"N/A";return a.jsx(it,{className:"cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>i(s.id),children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(yt,{variant:"outline",className:"bg-green-50 dark:bg-green-950 text-green-700 dark:text-green-300 border-green-200 dark:border-green-800",children:"Clôturé"}),a.jsxs("span",{className:"text-sm font-semibold text-muted-foreground",children:["Voyage #",s.id]})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx(ei,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),a.jsxs("span",{className:"truncate",children:[d," → ",u]})]}),o&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a.jsx(Sl,{className:"h-3 w-3 flex-shrink-0"}),a.jsxs("span",{children:["Clôturé le ",Wr(new Date(o),"dd/MM/yyyy à HH:mm",{locale:Hr})]})]}),s.vehicle&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a.jsx(Fa,{className:"h-3 w-3 flex-shrink-0"}),a.jsx("span",{children:s.vehicle.immatriculation||"Véhicule"})]})]})]}),a.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:"Voir →"})]})})},s.id)})]})}function _$(){return cr({queryKey:["/api/driver/planned-voyages"],queryFn:Az,staleTime:30*1e3,refetchOnWindowFocus:!0})}function ape({onVoyageClick:e}){const[,t]=Gi(),{data:r=[],isLoading:n}=_$(),i=s=>{e?e(s):t(`/driver/voyage/${s}`)};return n?a.jsx(it,{children:a.jsxs(Et,{className:"p-4 text-center",children:[a.jsx(Nt,{className:"h-5 w-5 animate-spin text-primary mx-auto mb-2"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Chargement des voyages..."})]})}):r.length===0?null:a.jsxs("div",{className:"space-y-3",children:[a.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Voyages planifiés"}),r.map(s=>{const o=s.trips?.[0],l=s.trips?.[s.trips.length-1],c=o?.fromLabel||s.loadingSite||"N/A",d=l?.toLabel||o?.toLabel||s.unloadingSite||"N/A",u=s.plannedStartAt;return a.jsx(it,{className:"cursor-pointer hover:bg-muted/50 transition-colors border-blue-200 dark:border-blue-800 bg-blue-50/30 dark:bg-blue-950/20",onClick:()=>i(s.id),children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(yt,{variant:"outline",className:"bg-blue-50 dark:bg-blue-950 text-blue-700 dark:text-blue-300 border-blue-200 dark:border-blue-800",children:"Planifié"}),a.jsxs("span",{className:"text-sm font-semibold text-muted-foreground",children:["Voyage #",s.id]})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx(ei,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),a.jsxs("span",{className:"truncate",children:[c," → ",d]})]}),u&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a.jsx(Bl,{className:"h-3 w-3 flex-shrink-0"}),a.jsxs("span",{children:["Début prévu le ",Wr(new Date(u),"dd/MM/yyyy à HH:mm",{locale:Hr})]})]}),s.vehicle&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a.jsx(Fa,{className:"h-3 w-3 flex-shrink-0"}),a.jsx("span",{children:s.vehicle.immatriculation||"Véhicule"})]})]})]}),a.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:"Ouvrir →"})]})})},s.id)})]})}function spe(){const e=eo(),{toast:t}=Er(),[,r]=Gi(),[n,i]=I.useState(!1),{data:s=[]}=_$(),o=async()=>{i(!0);try{await Promise.all([e.refetchQueries({queryKey:["/api/driver/current-voyage"]}),e.refetchQueries({queryKey:["/api/driver/planned-voyages"]})]),e.getQueryData(["/api/driver/current-voyage"])?.voyage?t({title:"Nouveau voyage trouvé !",description:"Un nouveau voyage a été assigné."}):t({title:"Aucun nouveau voyage",description:"Aucun nouveau voyage planifié n'a été trouvé pour le moment."})}catch{t({variant:"destructive",title:"Erreur",description:"Impossible de vérifier les nouveaux voyages. Veuillez réessayer."})}finally{i(!1)}},l=u=>{r(`/driver/voyage/${u}?readOnly=true`)},c=u=>{r(`/driver/voyage/${u}`)},d=s.length>0;return a.jsxs("div",{className:"p-4 pb-20 space-y-6",children:[d&&a.jsx(ape,{onVoyageClick:c}),!d&&a.jsx(it,{className:"border-green-200 dark:border-green-800 bg-green-50/50 dark:bg-green-950/30",children:a.jsx(Et,{className:"py-12 text-center",children:a.jsxs("div",{className:"flex flex-col items-center gap-4",children:[a.jsx("div",{className:"w-16 h-16 rounded-full bg-green-100 dark:bg-green-900 flex items-center justify-center",children:a.jsx(U0,{className:"h-8 w-8 text-green-600 dark:text-green-400"})}),a.jsxs("div",{children:[a.jsx("p",{className:"text-xl font-bold text-green-800 dark:text-green-200 mb-2",children:"Merci pour le voyage bien terminé."}),a.jsx("p",{className:"text-base text-muted-foreground",children:"Vous n'avez plus de voyage planifié."}),a.jsx("p",{className:"text-base text-muted-foreground mt-1",children:"Veuillez contacter le dispatch pour une nouvelle mission."})]})]})})}),a.jsx(it,{children:a.jsx(Et,{className:"p-4",children:a.jsx(ge,{onClick:o,disabled:n,className:"w-full",variant:"outline",children:n?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Vérification en cours..."]}):a.jsxs(a.Fragment,{children:[a.jsx(p4,{className:"h-4 w-4 mr-2"}),"Vérifier les nouveaux voyages"]})})})}),!d&&a.jsx(ipe,{onVoyageClick:l})]})}function Q7(){const[e]=Gi(),t=I.useMemo(()=>new URLSearchParams(window.location.search).get("readOnly")==="true",[e]),r=I.useMemo(()=>{if(!t)return null;const He=e.match(/\/driver\/voyage\/(\d+)/);return He?parseInt(He[1],10):null},[e,t]),{data:n,isLoading:i}=cr({queryKey:["/api/voyages",r],queryFn:()=>_S(r),enabled:t&&!!r}),{data:s,isLoading:o}=dw(t?r:null),{data:l,isLoading:c,error:d}=hy(),u=t&&n?n:l?.voyage,h=t&&n?.trips?n.trips:l?.trips,p=h?.find(He=>He.status==="in_progress")||h?.[0],{data:A,isLoading:y}=dw(t?null:u?.id||null),v=t?s:A,w=nfe(),{toast:j}=Er(),{isOnline:E,executeAction:S}=xy(),[_,C]=I.useState(0),[Q,R]=I.useState(!1),[T,M]=I.useState(!1),[O,$]=I.useState(!1);I.useEffect(()=>{const He=async ce=>{const{voyageId:Le,stepId:rt}=ce.detail;if(Le===u?.id){C(Ee=>Ee+1);const{getCachedVoyageData:ie}=await On(async()=>{const{getCachedVoyageData:Ee}=await Promise.resolve().then(()=>FA);return{getCachedVoyageData:Ee}},void 0),ae=ie(Le);if(ae?.steps){const Ee={...ae.steps,outbound:ae.steps.outbound?{...ae.steps.outbound,steps:ae.steps.outbound.steps?.map(re=>({...re}))||[]}:null,inbound:ae.steps.inbound?{...ae.steps.inbound,steps:ae.steps.inbound.steps?.map(re=>({...re}))||[]}:null,_updatedAt:Date.now()};jt.setQueryData(["/api/voyages",Le,"etapes"],Ee)}}};return window.addEventListener("offlineStepUpdated",He),()=>{window.removeEventListener("offlineStepUpdated",He)}},[u?.id]);const[P,L]=I.useState(!1),[X,W]=I.useState(!1),[G,J]=I.useState(!1),[q,ee]=I.useState(!1),[ne,V]=I.useState(null),[ue,de]=I.useState(null),xe=I.useMemo(()=>{const He=l?.trips?.find(rt=>rt.direction==="outbound");if(!He)return!1;if(He.status==="completed")return!0;const ce=v?.outbound?.steps||[];return ce.length===0?!1:ce.every(rt=>rt.reachedAt||rt.skippedAt)},[l?.trips,v]),{data:_e,refetch:Ce}=cr({queryKey:["/api/voyages",u?.id,"has-weighing"],queryFn:()=>fz(u.id),enabled:!!u?.id&&xe&&E}),we=I.useMemo(()=>{if(E)return _e?.hasWeighing??!1;if(u?.id)try{return jt.getQueryData(["/api/voyages",u.id,"has-weighing"])?.hasWeighing?!0:Hl().some(rt=>rt.type==="weighing"&&rt.voyageId===u.id&&!rt.isUnloadingWeighing)}catch{return!1}return!1},[E,_e?.hasWeighing,u?.id]),ve=I.useMemo(()=>!u||u.status!=="planned"||t?!1:!!h?.find(ce=>ce.direction==="outbound"&&(ce.status==="scheduled"||ce.status==="pending")),[u,h,t]),Ne=_r({mutationFn:async()=>{const He=await S({type:"startVoyage",voyageId:u.id},()=>hN(u.id),"Le démarrage du voyage sera synchronisé automatiquement quand la connexion reviendra.");return typeof He=="string"?{message:"Voyage enregistré hors ligne",voyage:{id:u.id,status:"in_progress",startedAt:new Date().toISOString()},trajet:{id:0,direction:"outbound",status:"in_progress",startedAt:new Date().toISOString()}}:He},onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),jt.invalidateQueries({queryKey:["/api/voyages",u?.id,"etapes"]}),jt.invalidateQueries({queryKey:["/api/voyages",u?.id]}),j({title:E?"Voyage démarré":"Voyage enregistré hors ligne",description:E?"Le voyage a commencé avec succès. Bon voyage !":"Le démarrage du voyage sera synchronisé automatiquement quand la connexion reviendra."})},onError:He=>{let ce="Impossible de démarrer le voyage";if(He?.message){const Le=He.message.split(": ");Le.length>1?ce=Le.slice(1).join(": "):ce=He.message}j({variant:"destructive",title:"Erreur",description:ce})}}),Ie=_r({mutationFn:async()=>{const He=await S({type:"startReturn",voyageId:u.id},()=>mN(u.id),"Le démarrage du trajet RETOUR sera synchronisé automatiquement quand la connexion reviendra.");return typeof He=="string"?{message:"Trajet RETOUR enregistré hors ligne",trajet:{id:0,direction:"inbound",status:"in_progress",startedAt:new Date().toISOString()}}:He},onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),jt.invalidateQueries({queryKey:["/api/voyages",u?.id,"etapes"]}),jt.invalidateQueries({queryKey:["/api/voyages",u?.id]}),j({title:E?"Trajet RETOUR démarré":"Trajet RETOUR enregistré hors ligne",description:E?"Le voyage retour a commencé avec succès.":"Le démarrage du trajet RETOUR sera synchronisé automatiquement quand la connexion reviendra."})},onError:He=>{let ce="Impossible de démarrer le trajet RETOUR";if(He?.message){const Le=He.message.split(": ");Le.length>1?ce=Le.slice(1).join(": "):ce=He.message}j({variant:"destructive",title:"Erreur",description:ce})}}),be=h?.find(He=>He.direction==="inbound"&&(He.status==="scheduled"||He.status==="pending")),Re=h?.find(He=>He.direction==="inbound"&&He.status==="in_progress"),Pe=h?.find(He=>He.direction==="inbound"&&He.status==="completed"),Ke=Pe&&!Pe.unloadingWeighingTicketUrl,tt=I.useMemo(()=>{if(!u)return!1;const He=v?.inbound?.steps||[];if(He.length===0)return!1;const ce=He.every(ae=>ae.reachedAt||ae.skippedAt);if(!ce||!(Pe?.status==="completed"||Re&&ce))return!1;const rt=Pe?.unloadingWeighingTicketUrl||Re?.unloadingWeighingTicketUrl;let ie=!1;if(!E)try{ie=Hl().some(Ee=>Ee.type==="weighing"&&Ee.voyageId===u.id&&Ee.isUnloadingWeighing===!0)}catch{}return!(!rt&&!ie||u.status==="completed")},[u,Pe,Re,v?.inbound?.steps,E,_]),[pt,dt]=I.useState(0);I.useEffect(()=>{const He=()=>{try{dt(gS())}catch{dt(0)}};He();const ce=setInterval(He,1e3);return()=>clearInterval(ce)},[E,_]);const Oe=I.useMemo(()=>!(!tt||!E||pt>0),[tt,E,pt]),Pt=_r({mutationFn:async()=>{const He=await S({type:"closeVoyage",voyageId:u.id},()=>hz(u.id),"La clôture du voyage sera synchronisée automatiquement quand la connexion reviendra.");return typeof He=="string"?{message:"Voyage enregistré pour clôture hors ligne",voyage:{id:u.id,status:"completed"}}:He},onSuccess:async()=>{if($(!0),u?.id){const{clearVoyageCache:He}=await On(async()=>{const{clearVoyageCache:ce}=await Promise.resolve().then(()=>FA);return{clearVoyageCache:ce}},void 0);He(u.id)}if(await Promise.all([jt.refetchQueries({queryKey:["/api/driver/current-voyage"]}),jt.invalidateQueries({queryKey:["/api/voyages",u?.id,"etapes"]}),jt.invalidateQueries({queryKey:["/api/voyages",u?.id]})]),jt.setQueryData(["/api/driver/current-voyage"],{voyage:null,trips:[],message:"Aucun voyage actif"}),j({title:E?"✅ Voyage clôturé":"✅ Voyage enregistré pour clôture hors ligne",description:E?"Le voyage a été clôturé avec succès. Merci pour votre travail !":"La clôture du voyage sera synchronisée automatiquement quand la connexion reviendra."}),E){const He=setInterval(()=>{jt.refetchQueries({queryKey:["/api/driver/current-voyage"]})},5e3);setTimeout(()=>{clearInterval(He)},12e4)}},onError:He=>{let ce="Impossible de clôturer le voyage";if(He?.response?.data?.error||He?.response?.data?.message)ce=He.response.data.detail||He.response.data.error||He.response.data.message;else if(He?.message){const Le=He.message.split(": ");Le.length>1?ce=Le.slice(1).join(": "):ce=He.message}j({variant:"destructive",title:"Erreur",description:ce})}});I.useEffect(()=>{if(u&&xe&&!P){const He=setTimeout(()=>{Ce()},1e3);return()=>clearTimeout(He)}},[u,P,xe,Ce]),I.useEffect(()=>{O&&u&&$(!1)},[u,O]);const Kt=u&&(Re||Pe||xe&&be)?"inbound":"outbound",gt=I.useMemo(()=>v?.[Kt]?.steps||[],[v,Kt,_]),Jt=I.useMemo(()=>v?.[Kt]?.currentStepId??null,[v,Kt,_]),Bt=I.useMemo(()=>Kt==="inbound"&&be&&(be.status==="scheduled"||be.status==="pending")&&!Re&&!Pe?null:Jt,[Kt,be,Re,Pe,Jt]),tr=I.useMemo(()=>{let He=-1;return gt.forEach((ce,Le)=>{ce.reachedAt&&!ce.skippedAt&&(He=Le)}),He},[gt,_]),sr=I.useMemo(()=>xe&&Kt==="inbound"&&!!be&&(be.status==="scheduled"||be.status==="pending")&&tr===-1&>.length>0&&!Re&&!Pe,[xe,Kt,be,tr,gt.length,Re,Pe]),xt=I.useMemo(()=>gt.length,[gt]),wt=I.useMemo(()=>gt.filter(He=>He.reachedAt&&!He.skippedAt).length,[gt]),Lt=I.useMemo(()=>xt>0?Math.round(wt/xt*100):0,[xt,wt]);return c&&!l&&!t||t&&i?a.jsx("div",{className:"p-4 pb-20 flex items-center justify-center min-h-[400px]",children:a.jsxs("div",{className:"text-center",children:[a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary mx-auto mb-4"}),a.jsx("p",{className:"text-muted-foreground",children:"Chargement du voyage..."})]})}):t&&!n&&!i?a.jsx("div",{className:"p-4 pb-20",children:a.jsx(it,{children:a.jsx(Et,{className:"py-12 text-center",children:a.jsx("p",{className:"text-muted-foreground",children:"Voyage introuvable"})})})}):O||!u&&!c&&l||u?.status==="completed"&&!c?a.jsx(spe,{}):a.jsxs("div",{className:"p-4 pb-20 space-y-4",children:[t&&a.jsx(it,{className:"border-orange-200 dark:border-orange-800 bg-orange-50/50 dark:bg-orange-950/30",children:a.jsxs(Et,{className:"p-4",children:[a.jsxs("div",{className:"flex items-center gap-2 justify-center",children:[a.jsx(Hd,{className:"h-5 w-5 text-orange-600 dark:text-orange-400"}),a.jsx(yt,{variant:"outline",className:"bg-orange-100 dark:bg-orange-900 text-orange-800 dark:text-orange-200 border-orange-300 dark:border-orange-700",children:"VOYAGE CLÔTURÉ - MODE LECTURE SEULE"})]}),a.jsx("p",{className:"text-sm text-center text-muted-foreground mt-2",children:"Ce voyage est terminé. Vous pouvez consulter les informations mais aucune modification n'est possible."})]})}),p&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-4 w-4 text-muted-foreground"}),a.jsx("span",{className:"text-sm font-medium",children:p.direction==="outbound"?"ALLER":"RETOUR"}),p.fromLabel&&p.toLabel&&a.jsxs("span",{className:"text-sm text-muted-foreground",children:[": ",p.fromLabel," → ",p.toLabel]})]}),!t&&Ke&&a.jsxs(lu,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950",children:[a.jsx(Kn,{className:"h-4 w-4 text-orange-600 dark:text-orange-400"}),a.jsx(kS,{className:"text-orange-800 dark:text-orange-200",children:"Pesée de livraison requise"}),a.jsxs(cu,{className:"text-orange-700 dark:text-orange-300",children:["Le trajet RETOUR est complété, mais la pesée de livraison n'est pas encore enregistrée. Vous devez enregistrer le ticket de pesée de livraison avant de pouvoir clôturer le voyage.",a.jsxs(ge,{variant:"outline",size:"sm",className:"mt-2 border-orange-300 text-orange-700 hover:bg-orange-100 dark:border-orange-700 dark:text-orange-300 dark:hover:bg-orange-900",onClick:()=>L(!0),children:[a.jsx(HA,{className:"h-4 w-4 mr-2"}),"Enregistrer la pesée de livraison"]})]})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(it,{children:a.jsx(Et,{className:"p-0",children:a.jsxs("div",{className:"relative w-full aspect-video rounded-lg overflow-hidden",children:[u.vehicle?.photoUrl?a.jsx("img",{src:Sr(u.vehicle.photoUrl),alt:u.vehicle.immatriculation||"Véhicule",className:"w-full h-full object-cover"}):a.jsx("div",{className:"w-full h-full bg-muted flex items-center justify-center",children:a.jsx(Fa,{className:"h-12 w-12 text-muted-foreground"})}),u.vehicle?.immatriculation&&a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{className:"bg-secondary text-secondary-foreground text-sm font-bold px-2 py-1",children:u.vehicle.immatriculation})})]})})}),a.jsx(it,{children:a.jsx(Et,{className:"p-0",children:a.jsxs("div",{className:"relative w-full aspect-video rounded-lg overflow-hidden",children:[u.trailer?.photoUrl?a.jsx("img",{src:Sr(u.trailer.photoUrl),alt:u.trailer.numeroChassis||"Remorque",className:"w-full h-full object-cover"}):a.jsx("div",{className:"w-full h-full bg-muted flex items-center justify-center",children:a.jsx(Fa,{className:"h-12 w-12 text-muted-foreground"})}),u.trailer?.numeroChassis?a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{className:"bg-secondary text-secondary-foreground text-sm font-bold px-2 py-1",children:u.trailer.numeroChassis})}):a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{className:"bg-secondary text-secondary-foreground text-sm font-bold px-2 py-1",children:"Aucune"})})]})})})]}),a.jsx(it,{children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-center justify-between gap-4",children:[u.mainDriver&&a.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[a.jsxs(Dm,{className:"h-12 w-12",children:[a.jsx(Tm,{src:u.mainDriver.photoUrl?Sr(u.mainDriver.photoUrl):void 0,alt:`${u.mainDriver.prenom} ${u.mainDriver.nom}`}),a.jsxs(Rm,{children:[u.mainDriver.prenom?.[0],u.mainDriver.nom?.[0]]})]}),a.jsxs("div",{className:"flex flex-col min-w-0",children:[a.jsx("p",{className:"text-sm font-semibold",children:"CHAUFFEUR"}),a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:u.mainDriver.prenom})]})]}),u.additionalCrew&&u.additionalCrew.length>0&&a.jsxs("div",{className:"flex items-center gap-3 flex-1 justify-end",children:[a.jsxs(Dm,{className:"h-12 w-12",children:[a.jsx(Tm,{src:u.additionalCrew[0].photoUrl?Sr(u.additionalCrew[0].photoUrl):void 0,alt:`${u.additionalCrew[0].prenom} ${u.additionalCrew[0].nom}`}),a.jsxs(Rm,{children:[u.additionalCrew[0].prenom?.[0],u.additionalCrew[0].nom?.[0]]})]}),a.jsxs("div",{className:"flex flex-col min-w-0 text-right",children:[a.jsx("p",{className:"text-sm font-semibold",children:"APPRENTI"}),a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:u.additionalCrew[0].prenom})]})]})]})})}),u.loadingBonImageUrl&&a.jsx(it,{children:a.jsxs(Et,{className:"p-0",children:[a.jsx("div",{className:"p-3 border-b",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(po,{className:"h-4 w-4 text-muted-foreground"}),a.jsx("span",{className:"text-sm font-semibold",children:"Bon de chargement"})]})}),a.jsxs("div",{className:"relative w-full cursor-pointer",onClick:()=>{V(Sr(u.loadingBonImageUrl)||u.loadingBonImageUrl),ee(!0)},children:[a.jsx("img",{src:Sr(u.loadingBonImageUrl)||u.loadingBonImageUrl,alt:"Bon de chargement",className:"w-full h-auto object-contain max-h-[400px]",loading:"lazy"}),a.jsx("div",{className:"absolute inset-0 bg-black/0 hover:bg-black/10 transition-colors flex items-center justify-center",children:a.jsx(Nm,{className:"h-8 w-8 text-white opacity-0 hover:opacity-100 transition-opacity"})})]})]})}),!t&&a.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[a.jsxs(ge,{variant:"outline",onClick:()=>W(!0),className:"h-auto p-4 flex flex-col items-center justify-center gap-2 bg-blue-50 dark:bg-blue-950 border-blue-200 dark:border-blue-800 hover:bg-blue-100 dark:hover:bg-blue-900",children:[a.jsx(cv,{className:"h-8 w-8 text-blue-600 dark:text-blue-400"}),a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{className:"w-3 h-3 bg-red-500 rounded-full flex items-center justify-center",children:a.jsx("div",{className:"w-1.5 h-1.5 bg-white rounded-full"})}),a.jsx("span",{className:"text-sm font-semibold text-blue-700 dark:text-blue-300",children:"CARBURANT"})]})]}),a.jsxs(ge,{variant:"outline",onClick:()=>L(!0),className:"h-auto p-4 flex flex-col items-center justify-center gap-2 bg-green-50 dark:bg-green-950 border-green-200 dark:border-green-800 hover:bg-green-100 dark:hover:bg-green-900",children:[a.jsx(il,{className:"h-8 w-8 text-green-600 dark:text-green-400"}),a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx(HA,{className:"h-3.5 w-3.5 text-amber-700"}),a.jsx("span",{className:"text-sm font-semibold text-green-700 dark:text-green-300",children:"PESÉE"})]})]}),a.jsxs(ge,{variant:"outline",onClick:()=>J(!0),className:"h-auto p-4 flex flex-col items-center justify-center gap-2 bg-orange-50 dark:bg-orange-950 border-orange-200 dark:border-orange-800 hover:bg-orange-100 dark:hover:bg-orange-900",children:[a.jsx(l1,{className:"h-8 w-8 text-orange-600 dark:text-orange-400"}),a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx(ew,{className:"h-3.5 w-3.5 text-green-600"}),a.jsx("span",{className:"text-sm font-semibold text-orange-700 dark:text-orange-300",children:"FRAIS"})]})]})]}),y?a.jsx(it,{children:a.jsxs(Et,{className:"p-4 text-center",children:[a.jsx(Nt,{className:"h-5 w-5 animate-spin text-primary mx-auto mb-2"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Chargement des étapes..."})]})}):gt.length>0?a.jsx(it,{children:a.jsxs(Et,{className:"p-4",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-4 w-4 text-muted-foreground"}),a.jsxs("h3",{className:"text-sm font-semibold",children:["Étapes ",Kt==="outbound"?"ALLER":"RETOUR"]})]}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[wt,"/",xt]})]}),a.jsxs("div",{className:"mb-6",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"text-sm font-medium",children:"Trajet"}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:[wt,"/",xt]})]}),a.jsx(QS,{value:Lt,className:"h-2"})]}),!t&&tt&&a.jsx("div",{className:"mb-6 pt-4 border-t-2 border-green-300 dark:border-green-700 -mx-4 px-4 bg-green-50/50 dark:bg-green-950/30",children:a.jsxs("div",{className:"flex flex-col items-center gap-2",children:[a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-base font-bold text-green-800 dark:text-green-200 mb-1",children:"✅ Voyage terminé"}),a.jsx("p",{className:"text-xs text-green-700 dark:text-green-300",children:"Toutes les étapes sont complétées et la pesée de livraison est enregistrée."})]}),Oe?a.jsx(ge,{onClick:()=>{u?.id&&Pt.mutate()},disabled:Pt.isPending,className:"w-full bg-green-600 hover:bg-green-700 text-white font-semibold py-4 text-base shadow-md",size:"lg",children:Pt.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 animate-spin mr-2"}),"Clôture en cours..."]}):a.jsxs(a.Fragment,{children:[a.jsx(U0,{className:"h-4 w-4 mr-2"}),"Clôturer le voyage"]})}):a.jsxs("div",{className:"w-full p-4 bg-orange-50 dark:bg-orange-950 border border-orange-200 dark:border-orange-800 rounded-lg",children:[a.jsxs("div",{className:"flex items-center gap-2 justify-center mb-2",children:[a.jsx(Kn,{className:"h-5 w-5 text-orange-600 dark:text-orange-400"}),a.jsx("p",{className:"text-sm font-medium text-orange-800 dark:text-orange-200",children:E?pt>0?`${pt} action(s) en attente de synchronisation`:"Synchronisation requise":"Connexion requise pour clôturer le voyage"})]}),a.jsx("p",{className:"text-xs text-orange-700 dark:text-orange-300 mb-3 text-center",children:E?pt>0?"Veuillez synchroniser toutes les actions en attente avant de clôturer le voyage. Utilisez le bouton 'Synchroniser' dans l'en-tête.":"Veuillez attendre que toutes les données soient synchronisées.":"Veuillez vous connecter à Internet pour synchroniser toutes les données avant de clôturer le voyage."}),E&&pt>0&&a.jsxs(ge,{variant:"outline",size:"sm",onClick:async()=>{try{const{success:He,failed:ce}=await T4();He>0&&(j({title:"Synchronisation réussie",description:`${He} action(s) synchronisée(s) avec succès.`}),await new Promise(Le=>setTimeout(Le,1500)),jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),setTimeout(()=>{jt.invalidateQueries({queryKey:["/api/voyages"]})},1e3)),ce>0&&j({variant:"destructive",title:"Erreur de synchronisation",description:`${ce} action(s) n'ont pas pu être synchronisées.`})}catch{j({variant:"destructive",title:"Erreur",description:"Une erreur est survenue lors de la synchronisation."})}},className:"w-full border-orange-300 text-orange-700 hover:bg-orange-100 dark:border-orange-700 dark:text-orange-300 dark:hover:bg-orange-900",children:[a.jsx(lv,{className:"h-4 w-4 mr-2"}),"Synchroniser maintenant (",pt,")"]})]})]})}),a.jsx(Lfe,{steps:gt,currentStepId:Bt,lastReachedIndex:tr,readOnly:t,onReachStep:async He=>{if(!t&&u?.id)if(E)w.mutate({voyageId:u.id,stepId:He},{onSuccess:async ce=>{xe&&Ce()},onError:ce=>{}});else try{typeof await S({type:"reachStep",voyageId:u.id,stepId:He},()=>uw(u.id,He),"L'étape sera validée automatiquement quand la connexion reviendra.")=="string"&&(rfe(u.id,He)&&window.dispatchEvent(new CustomEvent("offlineStepUpdated",{detail:{voyageId:u.id,stepId:He}})),xe&&Ce(),j({title:"Étape enregistrée hors ligne",description:"L'étape sera validée automatiquement quand la connexion reviendra."}))}catch{j({variant:"destructive",title:"Erreur",description:"Impossible d'enregistrer l'étape hors ligne."})}},isLoading:w.isPending,onStartVoyage:async()=>{if(u?.id)if(E)Ne.mutate();else{R(!0);try{if(typeof await S({type:"startVoyage",voyageId:u.id},()=>hN(u.id),"Le démarrage du voyage sera synchronisé automatiquement quand la connexion reviendra.")=="string"){const{getCachedVoyageData:ce,cacheVoyageData:Le}=await On(async()=>{const{getCachedVoyageData:ie,cacheVoyageData:ae}=await Promise.resolve().then(()=>FA);return{getCachedVoyageData:ie,cacheVoyageData:ae}},void 0),rt=ce(u.id);if(rt){const ie={...rt.voyage,status:"in_progress",startedAt:new Date().toISOString()},ae=rt.trips.map(Ee=>Ee.direction==="outbound"&&(Ee.status==="scheduled"||Ee.status==="pending")?{...Ee,status:"in_progress",startedAt:new Date().toISOString()}:Ee);Le(u.id,{voyage:ie,trips:ae,steps:rt.steps}),jt.setQueryData(["/api/driver/current-voyage"],Ee=>Ee&&{...Ee,voyage:ie,trips:ae.map(re=>({...re})),_updatedAt:Date.now()}),C(Ee=>Ee+1),jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),jt.invalidateQueries({queryKey:["/api/voyages",u.id,"etapes"]}),setTimeout(()=>{jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),C(Ee=>Ee+1)},200)}j({title:"Voyage enregistré hors ligne",description:"Le démarrage du voyage sera synchronisé automatiquement quand la connexion reviendra."})}}catch{j({variant:"destructive",title:"Erreur",description:"Impossible d'enregistrer le démarrage du voyage hors ligne."})}finally{R(!1)}}},canStartVoyage:ve,isStartingVoyage:Ne.isPending||Q,onStartReturn:async()=>{if(u?.id){if(!we){j({variant:"destructive",title:"Pesée requise",description:"Vous devez enregistrer une pesée de chargement avant de démarrer le trajet RETOUR."});return}if(E)Ie.mutate();else{M(!0);try{if(typeof await S({type:"startReturn",voyageId:u.id},()=>mN(u.id),"Le démarrage du trajet RETOUR sera synchronisé automatiquement quand la connexion reviendra.")=="string"){const{getCachedVoyageData:ce,cacheVoyageData:Le}=await On(async()=>{const{getCachedVoyageData:ie,cacheVoyageData:ae}=await Promise.resolve().then(()=>FA);return{getCachedVoyageData:ie,cacheVoyageData:ae}},void 0),rt=ce(u.id);if(rt){const ie=rt.trips?.find(Ee=>Ee.direction==="inbound");let ae;if(ie)ae=rt.trips.map(Ee=>Ee.direction==="inbound"?{...Ee,status:"in_progress",startedAt:new Date().toISOString()}:Ee);else{const Ee={id:0,direction:"inbound",status:"in_progress",startedAt:new Date().toISOString(),orderIndex:(rt.trips?.length||0)+1};ae=[...rt.trips||[],Ee]}Le(u.id,{voyage:rt.voyage,trips:ae,steps:rt.steps}),jt.setQueryData(["/api/driver/current-voyage"],Ee=>Ee&&{...Ee,voyage:Ee.voyage?{...Ee.voyage}:null,trips:ae.map(re=>({...re})),_updatedAt:Date.now()}),C(Ee=>Ee+1),jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),jt.invalidateQueries({queryKey:["/api/voyages",u.id,"etapes"]}),setTimeout(()=>{jt.invalidateQueries({queryKey:["/api/driver/current-voyage"]}),C(Ee=>Ee+1)},200)}j({title:"Trajet RETOUR enregistré hors ligne",description:"Le démarrage du trajet RETOUR sera synchronisé automatiquement quand la connexion reviendra."})}}catch{j({variant:"destructive",title:"Erreur",description:"Impossible d'enregistrer le démarrage du trajet RETOUR hors ligne."})}finally{M(!1)}}}},canStartReturn:sr,isStartingReturn:Ie.isPending||T})]})}):null,!t&>.length>0&&xe&&!h?.find(He=>He.direction==="inbound"&&He.status==="in_progress")&&!be&&!Pe&&a.jsx(it,{children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"space-y-3",children:[a.jsx(ge,{onClick:()=>{u?.id&&Ie.mutate()},disabled:!we||Ie.isPending,className:"w-full h-14 text-base font-semibold bg-green-600 hover:bg-green-700 text-white disabled:opacity-50 disabled:cursor-not-allowed",size:"lg",children:Ie.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-5 w-5 mr-2 animate-spin"}),"Démarrage en cours..."]}):a.jsxs(a.Fragment,{children:[a.jsx(ov,{className:"h-5 w-5 mr-2"}),"Commencer le voyage Retour"]})}),!we&&a.jsx("div",{className:"bg-orange-50 dark:bg-orange-950 border border-orange-200 dark:border-orange-800 rounded-lg p-4 space-y-2",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>{const He="Vous devez enregistrer au moins une pesée, bon de chargement, via la carte pesée avant de pouvoir commencer le voyage retour.",ce=new SpeechSynthesisUtterance(He);ce.lang="fr-FR",ce.rate=.9,window.speechSynthesis.speak(ce)},className:"h-10 w-10 text-orange-600 dark:text-orange-400 hover:bg-orange-100 dark:hover:bg-orange-900 flex-shrink-0",title:"Écouter le message",children:a.jsx(z6,{className:"h-5 w-5"})}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-sm font-medium text-orange-900 dark:text-orange-100",children:"Pesée requise"}),a.jsx("p",{className:"text-sm text-orange-700 dark:text-orange-300 mt-1",children:"Vous devez enregistrer au moins une pesée (bon de chargement) via la carte PESÉE avant de pouvoir commencer le voyage retour."}),a.jsxs(ge,{variant:"outline",size:"sm",onClick:()=>L(!0),className:"mt-3 border-orange-300 dark:border-orange-700 text-orange-700 dark:text-orange-300 hover:bg-orange-100 dark:hover:bg-orange-900",children:[a.jsx(HA,{className:"h-4 w-4 mr-2"}),"Enregistrer une pesée"]})]})]})})]})})}),u?.id&&a.jsx(Kfe,{open:P,onOpenChange:L,voyageId:u.id,currentTrajet:Re||Pe?Re||Pe?{id:(Re||Pe).id,direction:"inbound"}:null:p?{id:p.id,direction:p.direction}:null,onImageClick:He=>{L(!1),de("weighing"),V(He),ee(!0)}}),u?.id&&a.jsx(Zfe,{open:X,onOpenChange:W,voyageId:u.id,onImageClick:He=>{W(!1),de("fuel"),V(He),ee(!0)}}),u?.id&&a.jsx(Jfe,{open:G,onOpenChange:J,voyageId:u.id,onImageClick:He=>{J(!1),de("expense"),V(He),ee(!0)}}),a.jsx(En,{open:q,onOpenChange:He=>{ee(He),He||setTimeout(()=>{ue==="weighing"?L(!0):ue==="fuel"?W(!0):ue==="expense"&&J(!0),de(null)},100)},children:a.jsxs(yn,{className:"max-w-4xl max-h-[90vh] p-6 overflow-auto","aria-describedby":"image-dialog-description",children:[a.jsxs(Cn,{className:"sr-only",children:[a.jsx(In,{children:"Justificatif"}),a.jsx(Mn,{id:"image-dialog-description",children:"Visualisation du justificatif"})]}),ne&&(()=>{const He=Sr(ne);return a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"flex items-center justify-center w-full min-h-[300px] bg-gray-50 dark:bg-gray-900 rounded-lg p-4",children:a.jsx("img",{src:He||ne,alt:"Justificatif",className:"max-w-full max-h-[calc(90vh-12rem)] w-auto h-auto object-contain rounded-lg shadow-lg",onError:ce=>{He&&He!==ne&&(ce.target.src=He)}})}),a.jsx(ge,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 bg-black/80 hover:bg-black text-white border-2 border-white/60 hover:border-white rounded-full w-10 h-10 flex items-center justify-center shadow-xl z-50",onClick:ce=>{ce.stopPropagation(),ee(!1)},"aria-label":"Fermer l'image",children:a.jsx(Nn,{className:"h-5 w-5"})})]})})()]})})]})}function LS(e,t){const[r,n]=I.useState(()=>{try{return navigator.onLine}catch{return!0}});return I.useEffect(()=>{const i=()=>n(!0),s=()=>n(!1);return window.addEventListener("online",i),window.addEventListener("offline",s),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",s)}},[]),cr({queryKey:["/api/voyages",e,"events",t],queryFn:async()=>{if(!e)return[];if(!r){const s=jt.getQueryData(["/api/voyages",e,"events",t]);if(s)return console.log("[Events] Offline: using React Query cached events"),s;try{const o=XM(e);if(o&&o.length>0)return console.log("[Events] Offline: using localStorage cached events"),jt.setQueryData(["/api/voyages",e,"events",t],o),o}catch(o){console.error("[Events] Erreur lors de la récupération du cache localStorage:",o)}return console.warn("[Events] Offline: no cached events available"),[]}const i=await D4(e,t);if(i&&i.length>0)try{AS(e,i)}catch(s){console.error("[Events] Erreur lors de la sauvegarde du cache:",s)}return i},enabled:!!e,staleTime:r?0:1/0,gcTime:r?300*1e3:1/0,refetchOnWindowFocus:r,refetchOnReconnect:!0,retry:!1})}function D$(){return _r({mutationFn:({voyageId:e,eventId:t})=>zM(e,t),onSuccess:(e,t)=>{jt.setQueryData(["/api/voyages",t.voyageId,"events"],r=>{if(!r)return r;const n=r.map(i=>i.id===t.eventId?e:i);try{AS(t.voyageId,n)}catch(i){console.error("[Events] Erreur lors de la mise à jour du cache:",i)}return n}),jt.invalidateQueries({queryKey:["/api/voyages",t.voyageId,"events"]})}})}function ope(e,t,r){const n=I.useRef(new Set);return I.useEffect(()=>()=>{n.current.forEach(i=>{URL.revokeObjectURL(i)}),n.current.clear()},[]),I.useMemo(()=>{if(!e)return{events:[],pendingCount:0};const i=Hl().filter(l=>l.voyageId===e&&(l.status==="pending"||l.status==="uploading")),s=i.map(l=>{let c=null;return l.type==="media"&&l.file&&(c=URL.createObjectURL(l.file),n.current.add(c)),{id:l.id,voyageId:l.voyageId,type:l.type,mediaKind:l.mediaKind||null,description:l.description||null,occurredAt:l.createdAt,createdAt:l.createdAt,incidentId:l.incidentId||null,etape:l.etapeId?{id:l.etapeId,label:`Étape ${l.etapeId}`}:null,media:l.type==="media"&&c?{url:c,mime:l.file?.type||"image/jpeg",durationSec:null}:null,isOffline:!0,status:l.status}}),o=[...t||[],...s];return o.sort((l,c)=>{const d=new Date(l.occurredAt||l.createdAt).getTime(),u=new Date(c.occurredAt||c.createdAt).getTime();return d-u}),{events:o,pendingCount:i.filter(l=>l.status==="pending").length}},[e,t,r])}function lpe({audioUrl:e,duration:t}){const[r,n]=I.useState(!1),[i,s]=I.useState(0),[o,l]=I.useState(t||0),[c,d]=I.useState([]),u=I.useRef(null);I.useEffect(()=>{const w=Array.from({length:50},()=>Math.random()*.4+.1);d(w)},[]),I.useEffect(()=>{const v=u.current;if(!v)return;const w=()=>{l(v.duration)};return v.addEventListener("loadedmetadata",w),()=>v.removeEventListener("loadedmetadata",w)},[]),I.useEffect(()=>{const v=u.current;if(!v)return;const w=()=>{s(v.currentTime)},j=()=>w(),E=()=>{n(!1),s(0)};return v.addEventListener("timeupdate",j),v.addEventListener("ended",E),()=>{v.removeEventListener("timeupdate",j),v.removeEventListener("ended",E)}},[]);const h=()=>{const v=u.current;v&&(r?v.pause():v.play(),n(!r))},p=v=>{const w=Math.floor(v/60),j=Math.floor(v%60);return`${w}:${j.toString().padStart(2,"0")}`},A=o>0?i/o*100:0,y=Math.floor(A/100*c.length);return a.jsx("div",{className:"p-3",children:a.jsxs("div",{className:"bg-white border border-gray-300 rounded-2xl p-3 flex items-center gap-3 shadow-sm",children:[a.jsx("button",{onClick:h,className:"flex-shrink-0 w-9 h-9 rounded-full bg-gray-600 hover:bg-gray-700 flex items-center justify-center transition-colors active:scale-95","aria-label":r?"Pause":"Play",children:r?a.jsx(Cse,{className:"h-4 w-4 text-white",fill:"currentColor"}):a.jsx(Ise,{className:"h-4 w-4 text-white ml-0.5",fill:"currentColor"})}),a.jsx("div",{className:"flex-1 flex items-end gap-[2px] h-10 relative px-1",children:c.map((v,w)=>{const j=w=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.substring(0,2).toUpperCase()}function upe({event:e,isOffline:t=!1,isPending:r=!1,onImageClick:n,onReplyToIncident:i,readOnly:s=!1}){const[o,l]=I.useState(!1),[c,d]=I.useState(null),u=e.type==="media",h=e.type==="note",p=e.type==="incident",A=()=>{if(u&&e.mediaKind)switch(e.mediaKind){case"photo":return Nm;case"video":return Xu;case"audio":return F0}return p?Kn:po},y=()=>{if(u&&e.mediaKind)switch(e.mediaKind){case"photo":return"Photo";case"video":return"Vidéo";case"audio":return"Audio"}return p?"Problème":"Note"},v=()=>{if(u&&e.mediaKind)switch(e.mediaKind){case"photo":return"bg-green-500/10 text-green-600 border-green-500/20";case"video":return"bg-purple-500/10 text-purple-600 border-purple-500/20";case"audio":return"bg-blue-500/10 text-blue-600 border-blue-500/20"}return p?"bg-red-500/10 text-red-600 border-red-500/20":"bg-gray-500/10 text-gray-600 border-gray-500/20"},w=T=>{const M=Sr(T)||T;d(M),l(!0),n?.(M)},j=()=>{try{const T=new Date(e.occurredAt||e.createdAt);return Wr(T,"HH:mm",{locale:Hr})}catch{return""}};A(),y(),v();const E="senderRole"in e?e.senderRole:null,S=E==="chauffeur",_=E==="backoffice",C="creator"in e&&e.creator?.name||"Utilisateur",Q=cpe(C),R="creator"in e&&e.creator?.avatar||null;return a.jsxs(a.Fragment,{children:[a.jsx(it,{className:`overflow-hidden bg-white border shadow-sm ${S?"ml-8":_?"mr-8":""}`,children:a.jsxs(Et,{className:"p-0",children:[u&&e.media&&a.jsxs("div",{className:"w-full",children:[e.mediaKind==="photo"&&e.media.url&&a.jsxs("div",{className:"relative w-full bg-muted cursor-pointer",onClick:()=>w(e.media.url),children:[a.jsx("img",{src:Sr(e.media.url)||e.media.url,alt:e.description||"Photo",className:"w-full h-auto object-cover",loading:"lazy"}),a.jsx("div",{className:"absolute inset-0 bg-black/0 hover:bg-black/10 transition-colors flex items-center justify-center",children:a.jsx(Nm,{className:"h-8 w-8 text-white opacity-0 hover:opacity-100 transition-opacity"})})]}),e.mediaKind==="video"&&e.media.url&&a.jsx("div",{className:"w-full bg-black",children:a.jsx("video",{src:Sr(e.media.url)||e.media.url,controls:!0,className:"w-full h-auto max-h-[400px]",preload:"metadata",children:"Votre navigateur ne supporte pas la lecture de vidéos."})}),e.mediaKind==="audio"&&e.media.url&&a.jsx(lpe,{audioUrl:Sr(e.media.url)||e.media.url,duration:e.media.durationSec||null})]}),a.jsxs("div",{className:`p-4 space-y-3 ${S?"bg-green-100/60 dark:bg-green-950/40":_?"bg-gray-50/50 dark:bg-gray-950/20":""}`,children:[a.jsxs("div",{className:`flex items-start justify-between gap-2 ${S?"flex-row-reverse":""}`,children:[a.jsxs("div",{className:`flex items-center gap-2 flex-wrap ${S?"flex-row-reverse":""}`,children:["incidentId"in e&&e.incidentId||"incident"in e&&e.incident?a.jsxs(a.Fragment,{children:[a.jsxs(yt,{variant:"outline",className:"text-xs bg-red-500/10 text-red-600 border-red-500/20",children:[a.jsx(J3,{className:"h-3 w-3 mr-1"}),"Problème #","incident"in e&&e.incident?.id||"incidentId"in e&&e.incidentId]}),"incident"in e&&e.incident?.status&&a.jsx(yt,{variant:"outline",className:`text-xs ${e.incident.status==="ouvert"?"bg-yellow-500/10 text-yellow-600 border-yellow-500/20":e.incident.status==="en_cours"?"bg-blue-500/10 text-blue-600 border-blue-500/20":e.incident.status==="resolu"?"bg-green-500/10 text-green-600 border-green-500/20":(e.incident.status==="ferme","bg-gray-500/10 text-gray-600 border-gray-500/20")}`,children:e.incident.status==="ouvert"?"Ouvert":e.incident.status==="en_cours"?"En cours":e.incident.status==="resolu"?"Résolu":e.incident.status==="ferme"?"Fermé":e.incident.status})]}):null,e.etape&&a.jsxs(yt,{variant:"secondary",className:"text-xs",children:[a.jsx(ei,{className:"h-3 w-3 mr-1"}),e.etape.label]}),t&&a.jsx(yt,{variant:"outline",className:"text-xs bg-orange-500/10 text-orange-600 border-orange-500/20",children:r?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-3 w-3 mr-1 animate-spin"}),"En attente"]}):a.jsxs(a.Fragment,{children:[a.jsx(qd,{className:"h-3 w-3 mr-1"}),"Hors ligne"]})}),!s&&"incidentId"in e&&e.incidentId&&i&&a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>i(e.incidentId),className:"h-8 w-8 rounded-full bg-green-500 hover:bg-green-600 text-white p-0","aria-label":"Répondre",children:a.jsx(g4,{className:"h-5 w-5",fill:"currentColor"})})]}),a.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[a.jsx(Bl,{className:"h-3 w-3"}),a.jsx("span",{children:j()})]})]}),a.jsx("div",{className:`flex items-center gap-2 ${S?"justify-end pl-12":"justify-start pr-12"}`,children:a.jsxs(a.Fragment,{children:[a.jsxs(Dm,{className:"h-6 w-6 flex-shrink-0 border border-border",children:[R?a.jsx(Tm,{src:Sr(R),alt:C,onError:T=>{const M=T.target;M.style.display="none"}}):null,a.jsx(Rm,{className:`text-[10px] ${S?"bg-green-200 dark:bg-green-800 text-green-800 dark:text-green-200":_?"bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300":"bg-muted"}`,children:Q})]}),a.jsx("span",{className:"text-xs font-medium text-foreground",children:C}),E&&a.jsx(yt,{variant:S?"default":"secondary",className:"text-[10px]",children:S?"Chauffeur":"Backoffice"})]})}),e.description&&a.jsx("div",{className:`flex ${S?"justify-end pl-12":"justify-start pr-12"}`,children:a.jsx("div",{className:`rounded-2xl px-3 py-2 max-w-[65%] ${S?"bg-green-200 dark:bg-green-800/50 text-green-900 dark:text-green-100 rounded-tr-sm":_?"bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-gray-900 dark:text-gray-100 rounded-tl-sm":"bg-muted"}`,children:a.jsx("p",{className:"text-sm whitespace-pre-wrap leading-relaxed break-words",children:e.description})})}),!u&&!e.description&&a.jsx("div",{className:`flex ${S?"justify-end pl-12":"justify-start pr-12"}`,children:a.jsx("div",{className:`rounded-2xl px-3 py-2 max-w-[65%] ${S?"bg-green-200 dark:bg-green-800/50 text-green-900 dark:text-green-100 rounded-tr-sm":_?"bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-gray-900 dark:text-gray-100 rounded-tl-sm":"bg-muted"}`,children:a.jsxs("p",{className:"text-sm text-muted-foreground italic",children:[h&&"Note sans description",p&&"Problème sans description"]})})})]})]})}),a.jsx(En,{open:o,onOpenChange:l,children:a.jsx(yn,{className:"max-w-[95vw] max-h-[95vh] p-0 bg-black/95",children:c&&a.jsxs("div",{className:"relative w-full h-full flex items-center justify-center",children:[a.jsx("img",{src:c,alt:"Image agrandie",className:"max-w-full max-h-[95vh] object-contain"}),a.jsx(ge,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 text-white hover:bg-white/20",onClick:()=>l(!1),children:a.jsx(Nn,{className:"h-5 w-5"})})]})})})]})}const K0=I.forwardRef(({className:e,...t},r)=>a.jsx("textarea",{className:nr("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...t}));K0.displayName="Textarea";async function T$(e,t){const n=new URLSearchParams().toString(),i=`/api/voyages/${e}/incidents${n?`?${n}`:""}`;return await $t(i)}async function R$(e,t){return await $t(`/api/voyages/${e}/incidents/${t}`)}async function P$(e,t){return await $t(`/api/voyages/${e}/incidents`,{method:"POST",body:t})}async function Q$(e,t,r){return await $t(`/api/voyages/${e}/incidents/${t}`,{method:"PATCH",body:r})}async function MS(e){const r=new URLSearchParams().toString(),n=`/api/incidents${r?`?${r}`:""}`;return await $t(n)}async function xg(e,t,r){if(r.type==="media"&&r.file){const n=new FormData;return n.append("type","media"),n.append("media_kind",r.mediaKind),r.description&&n.append("description",r.description),r.occurredAt&&n.append("occurred_at",r.occurredAt),r.senderRole&&n.append("sender_role",r.senderRole),n.append("file",r.file),await $t(`/api/voyages/${e}/incidents/${t}/messages`,{method:"POST",body:n})}else return await $t(`/api/voyages/${e}/incidents/${t}/messages`,{method:"POST",body:{type:"message",description:r.description,occurred_at:r.occurredAt,sender_role:r.senderRole}})}const F$=Object.freeze(Object.defineProperty({__proto__:null,createIncidentMessage:xg,createVoyageIncident:P$,getAllVoyageIncidents:MS,getVoyageIncident:R$,getVoyageIncidents:T$,updateVoyageIncident:Q$},Symbol.toStringTag,{value:"Module"})),vN={"144p":{widthIdeal:256,heightIdeal:144},"240p":{widthIdeal:426,heightIdeal:240},"360p":{widthIdeal:640,heightIdeal:360},"480p":{widthIdeal:854,heightIdeal:480},"720p":{widthIdeal:1280,heightIdeal:720},"1080p":{widthIdeal:1920,heightIdeal:1080}};function O$(e){const{widthIdeal:t,heightIdeal:r}=vN[e];return{widthIdeal:t,heightIdeal:r,maxHeight:r}}function dpe(e){for(const r of e)if(MediaRecorder.isTypeSupported(r))return r;const t=["video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const r of t)if(MediaRecorder.isTypeSupported(r))return r;return null}async function US(e,t){if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)throw new Error("getUserMedia non disponible");if(typeof MediaRecorder>"u")throw new Error("MediaRecorder non disponible");const{widthIdeal:r,heightIdeal:n}=O$(e.resolutionPreset),i={width:{ideal:r},height:{ideal:n},facingMode:"environment"},s=await navigator.mediaDevices.getUserMedia({video:i,audio:!0}),o=dpe(e.preferredMimeTypes);if(!o)throw s.getTracks().forEach(A=>A.stop()),new Error("Aucun format vidéo supporté");const l=new MediaRecorder(s,{mimeType:o});let c=0,d=null,u=null;const h=new Promise((A,y)=>{const v=[];l.ondataavailable=j=>{j.data.size>0&&v.push(j.data)},l.onstop=async()=>{d!==null&&(clearInterval(d),d=null);const j=new Blob(v,{type:o}),E=document.createElement("video"),S=URL.createObjectURL(j);E.onloadedmetadata=()=>{URL.revokeObjectURL(S);const _=E.duration,C=E.videoWidth,Q=E.videoHeight,R=j.size,T=new File([j],`video_${Date.now()}.${o.split("/")[1]?.split(";")[0]||"webm"}`,{type:o,lastModified:Date.now()});A({blob:j,file:T,metadata:{duration:_,width:C,height:Q,size:R,mimeType:o,preset:e.resolutionPreset,updatedAt:e.updatedAt||new Date().toISOString()}})},E.onerror=()=>{URL.revokeObjectURL(S),y(new Error("Impossible de lire les métadonnées de la vidéo capturée"))},E.src=S},l.onerror=j=>{d!==null&&clearInterval(d),s.getTracks().forEach(E=>E.stop()),y(new Error("Erreur lors de l'enregistrement vidéo"))},l.start(),c=Date.now();const w=e.maxDurationSec*1e3;u=window.setTimeout(()=>{l.state==="recording"&&l.stop()},w),t&&(d=window.setInterval(()=>{const j=(Date.now()-c)/1e3;t(Math.min(j,e.maxDurationSec))},100))});return{stream:s,recorder:l,stop:()=>{u!==null&&(clearTimeout(u),u=null),d!==null&&(clearInterval(d),d=null),l.state==="recording"&&l.stop()},promise:h}}const fpe=Object.freeze(Object.defineProperty({__proto__:null,captureVideo:US},Symbol.toStringTag,{value:"Module"}));async function hpe(e){return new Promise((t,r)=>{const n=document.createElement("video"),i=URL.createObjectURL(e);n.onloadedmetadata=()=>{URL.revokeObjectURL(i),t({duration:n.duration,width:n.videoWidth,height:n.videoHeight,size:e.size})},n.onerror=()=>{URL.revokeObjectURL(i),r(new Error("Impossible de lire les métadonnées de la vidéo"))},n.src=i})}async function L$(e,t){const r=[];try{const n=e instanceof File?e:new File([e],"video.webm",{type:e.type}),i=await hpe(n),s=t.maxDurationSec+.2;if(i.duration>s&&r.push(`Durée (${i.duration.toFixed(1)}s) > ${t.maxDurationSec}s`),t.requireExactOrLower){const{maxHeight:l}=O$(t.resolutionPreset);i.height>l&&r.push(`Hauteur (${i.height}px) > ${l}px (${t.resolutionPreset})`)}if(i.size>t.maxSizeBytes){const l=(t.maxSizeBytes/1048576).toFixed(1),c=(i.size/(1024*1024)).toFixed(1);r.push(`Taille (${c} MB) > ${l} MB`)}let o;return r.length>0&&(o=`Vidéo non conforme: max ${t.maxDurationSec}s et ${t.resolutionPreset}.`,r.length>1&&(o+=` Problèmes: ${r.join(", ")}`)),{valid:r.length===0,reasons:r,message:o}}catch(n){return{valid:!1,reasons:["Erreur lors de la lecture de la vidéo"],message:n instanceof Error?n.message:"Impossible de valider la vidéo"}}}const Gu={enabled:!0,maxDurationSec:10,resolutionPreset:"360p",maxSizeBytes:8*1024*1024,preferredCaptureMode:"auto",preferredMimeTypes:["video/webm;codecs=vp8","video/webm"],thumbnail:{enabled:!0,maxSize:240,quality:.5},requireExactOrLower:!0};let TA=null,Jb=0;const mpe=300*1e3,m1="video_optimization_config",M$="current_config";async function U$(){return new Promise((e,t)=>{const r=indexedDB.open("parcapp_offline_cache",1);r.onerror=()=>t(r.error),r.onsuccess=()=>e(r.result),r.onupgradeneeded=n=>{const i=n.target.result;i.objectStoreNames.contains(m1)||i.createObjectStore(m1)}})}async function z$(){try{const e=await U$();return new Promise((t,r)=>{const s=e.transaction([m1],"readonly").objectStore(m1).get(M$);s.onsuccess=()=>{const o=s.result;t(o||null)},s.onerror=()=>r(s.error)})}catch(e){return console.warn("[Video Optimization] Erreur IndexedDB:",e),null}}async function ppe(e){try{const t=await U$();return new Promise((r,n)=>{const o=t.transaction([m1],"readwrite").objectStore(m1).put(e,M$);o.onsuccess=()=>r(),o.onerror=()=>n(o.error)})}catch(t){console.warn("[Video Optimization] Erreur sauvegarde IndexedDB:",t)}}async function gpe(){try{const e=await $t("/api/settings/organization",{method:"GET"}),t=e.videoResolutionPreset&&(e.videoResolutionPreset==="144p"||e.videoResolutionPreset==="240p"||e.videoResolutionPreset==="360p"||e.videoResolutionPreset==="480p"||e.videoResolutionPreset==="720p"||e.videoResolutionPreset==="1080p")?e.videoResolutionPreset:Gu.resolutionPreset,r={enabled:e.videoEnabled??Gu.enabled,maxDurationSec:e.videoMaxDurationSec??Gu.maxDurationSec,resolutionPreset:t,maxSizeBytes:e.videoMaxSizeBytes??Gu.maxSizeBytes,preferredCaptureMode:e.videoPreferredCaptureMode==="auto"||e.videoPreferredCaptureMode==="mediaRecorder"||e.videoPreferredCaptureMode==="fileInput"?e.videoPreferredCaptureMode:Gu.preferredCaptureMode,preferredMimeTypes:e.videoPreferredMimeTypes&&Array.isArray(e.videoPreferredMimeTypes)?e.videoPreferredMimeTypes:Gu.preferredMimeTypes,thumbnail:{enabled:e.videoThumbnailEnabled??Gu.thumbnail.enabled,maxSize:e.videoThumbnailMaxSize??Gu.thumbnail.maxSize,quality:e.videoThumbnailQuality??Gu.thumbnail.quality},requireExactOrLower:e.videoRequireExactOrLower??Gu.requireExactOrLower,updatedAt:new Date().toISOString()};return await ppe(r),r}catch(e){console.warn("[Video Optimization] Erreur lors de la récupération des paramètres:",e);const t=await z$();return t||Gu}}async function ag(){const e=Date.now();if(TA&&e-Jb{const{createVoyageIncident:tt}=await On(async()=>{const{createVoyageIncident:pt}=await Promise.resolve().then(()=>F$);return{createVoyageIncident:pt}},void 0);return tt(Pe,Ke)},onSuccess:(Pe,Ke)=>{J.invalidateQueries({queryKey:["/api/voyages",Ke.voyageId,"incidents"]}),J.invalidateQueries({queryKey:["/api/voyages",Ke.voyageId,"events"]})}}),ee=I.useRef(null),ne=I.useRef(null),V=I.useRef(null),ue=I.useRef(null),de=I.useRef(null),xe=I.useRef(null);I.useEffect(()=>{const Pe=()=>M(!0),Ke=()=>M(!1);return window.addEventListener("online",Pe),window.addEventListener("offline",Ke),()=>{window.removeEventListener("online",Pe),window.removeEventListener("offline",Ke)}},[]),I.useEffect(()=>{c==="video"&&ag().then(W).catch(console.error)},[c]),I.useEffect(()=>{e||(l(null),d(null),h(""),A(null),y&&URL.revokeObjectURL(y),v(null),j(!1),S(0),R(null),_&&_.state!=="inactive"&&_.stop(),ue.current&&(ue.current.getTracks().forEach(Pe=>Pe.stop()),ue.current=null),de.current&&clearInterval(de.current))},[e,_]);const _e=async Pe=>{const Ke=Pe.target.files?.[0];if(Ke){if(c==="photo"){if(!Ke.type.startsWith("image/")){G({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner une image"});return}if(Ke.size>10*1024*1024){G({variant:"destructive",title:"Erreur",description:"L'image ne doit pas dépasser 10 MB"});return}L(!0);try{const tt=await Hm(Ke,{preset:"incident"});A(tt.file);const pt=URL.createObjectURL(tt.file);v(pt);const dt=((1-tt.optimizedSize/tt.originalSize)*100).toFixed(0);tt.originalSize>tt.optimizedSize&&G({title:"Image optimisée",description:`${ol(tt.originalSize)} → ${ol(tt.optimizedSize)} (-${dt}%)`,duration:3e3})}catch(tt){G({variant:"destructive",title:"Erreur",description:tt instanceof Error?tt.message:"Optimisation impossible, veuillez reprendre la photo"})}finally{L(!1)}}else if(c==="audio"){if(!["audio/mpeg","audio/mp4","audio/aac","audio/ogg","audio/wav","audio/webm"].includes(Ke.type)){G({variant:"destructive",title:"Erreur",description:"Format audio non supporté"});return}if(Ke.size>15*1024*1024){G({variant:"destructive",title:"Erreur",description:"L'audio ne doit pas dépasser 15 MB"});return}A(Ke)}else if(c==="video"){L(!0);try{const tt=await ag();if(!tt.enabled){G({variant:"destructive",title:"Vidéo désactivée",description:"L'optimisation vidéo est désactivée dans les paramètres."}),L(!1);return}const pt=await L$(Ke,tt);if(!pt.valid){G({variant:"destructive",title:"Vidéo non conforme",description:pt.message||"La vidéo ne respecte pas les paramètres configurés."}),L(!1);return}A(Ke);const dt=URL.createObjectURL(Ke);v(dt),G({title:"Vidéo acceptée",description:`Qualité ${tt.resolutionPreset}, max ${tt.maxDurationSec}s`,duration:3e3})}catch(tt){G({variant:"destructive",title:"Erreur",description:tt instanceof Error?tt.message:"Impossible de valider la vidéo"})}finally{L(!1)}}}},Ce=async()=>{if(!(window.location.protocol==="https:"||window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1")){G({variant:"destructive",title:"HTTPS requis",description:"L'enregistrement audio/vidéo nécessite une connexion HTTPS. Veuillez utiliser l'application via HTTPS (https://...) ou localhost. Note: L'upload de photos fonctionne sans HTTPS.",duration:1e4});return}if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){G({variant:"destructive",title:"API non disponible",description:"Votre navigateur ne supporte pas l'enregistrement audio/vidéo.",duration:5e3});return}try{if(c==="video"){L(!0);const Ke=await ag();if(!Ke.enabled){G({variant:"destructive",title:"Vidéo désactivée",description:"L'optimisation vidéo est désactivée dans les paramètres."}),L(!1);return}if(!(Ke.preferredCaptureMode==="auto"||Ke.preferredCaptureMode==="mediaRecorder")&&Ke.preferredCaptureMode==="fileInput"){G({variant:"destructive",title:"Mode fichier requis",description:"Veuillez utiliser le sélecteur de fichier pour capturer la vidéo."}),L(!1);return}W(Ke),L(!1),j(!0),S(0);const pt=await US(Ke,dt=>{S(Math.floor(dt))});xe.current=pt,setTimeout(()=>{V.current&&pt.stream&&(V.current.srcObject=pt.stream,V.current.play().catch(dt=>{console.error("Erreur lors de la lecture vidéo:",dt)}))},100),pt.promise.then(dt=>{if(j(!1),pt.stream.getTracks().forEach(Oe=>Oe.stop()),V.current&&(V.current.srcObject=null),xe.current=null,R(dt.blob),A(dt.file),V.current){const Oe=URL.createObjectURL(dt.blob);v(Oe),V.current.src=Oe}G({title:"Vidéo capturée",description:`Qualité ${dt.metadata.preset}, ${dt.metadata.duration.toFixed(1)}s, ${ol(dt.metadata.size)}`,duration:3e3})}).catch(dt=>{j(!1),L(!1),W(null),xe.current=null,console.error("Erreur lors de l'enregistrement vidéo:",dt),G({variant:"destructive",title:"Erreur",description:dt instanceof Error?dt.message:"Erreur lors de l'enregistrement vidéo"})})}else{const Ke=await navigator.mediaDevices.getUserMedia({audio:!0});ue.current=Ke;const tt=new MediaRecorder(Ke,{mimeType:"audio/webm"});C(tt);const pt=[];tt.ondataavailable=Oe=>{Oe.data.size>0&&pt.push(Oe.data)},tt.onstop=()=>{const Oe=new Blob(pt,{type:"audio/webm"});R(Oe);const Pt=new File([Oe],"recording.webm",{type:Oe.type});A(Pt);const Kt=URL.createObjectURL(Oe);v(Kt),Ke.getTracks().forEach(gt=>gt.stop()),ue.current=null,j(!1),de.current&&(clearInterval(de.current),de.current=null)},tt.start(),j(!0),S(0);const dt=Date.now();de.current=window.setInterval(()=>{const Oe=Math.floor((Date.now()-dt)/1e3);S(Pt=>{const Kt=Oe;return Kt!==Pt?Kt:Pt})},100)}}catch(Ke){L(!1),console.error("Erreur lors de l'enregistrement:",Ke);const tt=window.location.protocol!=="https:"&&window.location.hostname!=="localhost"&&window.location.hostname!=="127.0.0.1",pt=Ke.name==="NotAllowedError"||Ke.name==="PermissionDeniedError",dt=Ke.name==="NotFoundError"||Ke.name==="DevicesNotFoundError";let Oe="Impossible d'accéder à la caméra/microphone.",Pt="Erreur d'accès";tt?(Pt="HTTPS requis",Oe="L'accès au microphone nécessite une connexion HTTPS. Veuillez utiliser l'application via HTTPS (https://...) ou localhost."):pt?(Pt="Permission refusée",Oe="L'accès au microphone a été refusé. Veuillez autoriser l'accès au microphone dans les paramètres de votre navigateur."):dt?(Pt="Microphone introuvable",Oe="Aucun microphone n'a été détecté. Veuillez connecter un microphone et réessayer."):Oe=Ke.message||"Impossible d'accéder à la caméra/microphone. Vérifiez les permissions.",G({variant:"destructive",title:Pt,description:Oe,duration:tt?1e4:5e3})}},we=()=>{if(c==="video"&&xe.current&&w){xe.current.stop();return}_&&_.state!=="inactive"&&_.stop(),de.current&&(clearInterval(de.current),de.current=null)},ve=async()=>{if(!s||!o||!c){G({variant:"destructive",title:"Erreur",description:"Veuillez compléter toutes les étapes"});return}if(c==="note"&&!u.trim()){G({variant:"destructive",title:"Erreur",description:"Veuillez saisir une description"});return}if(c!=="note"&&!p&&!Q){G({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner ou enregistrer un fichier"});return}$(!0);try{if(T){const Pe=await q.mutateAsync({voyageId:s,data:{type:o,voyageEtapeId:r??null,priority:"normale"}}),Ke=p||(Q?new File([Q],"recording.webm",{type:Q.type}):null);c==="note"?await xg(s,Pe.id,{type:"message",description:u.trim(),senderRole:"chauffeur"}):Ke&&await xg(s,Pe.id,{type:"media",mediaKind:c,description:u.trim()||null,file:Ke,senderRole:"chauffeur"}),G({title:"Succès",description:"Le problème a été créé avec succès"})}else{const Pe=p||(Q?new File([Q],"recording.webm",{type:Q.type}):null);await mv({voyageId:s,type:"incident",incidentType:o,messageType:c,etapeId:r??null,description:c==="note"?u.trim():u.trim()||null,file:c!=="note"?Pe:null}),G({title:"Problème enregistré",description:"Le problème sera synchronisé à la reconnexion"})}s&&(J.invalidateQueries({queryKey:["/api/voyages",s,"incidents"]}),J.invalidateQueries({queryKey:["/api/voyages",s,"events"]})),t(!1)}catch(Pe){console.error("Erreur lors de la création:",Pe),G({variant:"destructive",title:"Erreur",description:Pe instanceof Error?Pe.message:"Impossible de créer le problème"})}finally{$(!1)}},Ne=O||q.isPending;if(!o)return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Nouveau problème"}),a.jsx(Mn,{children:"Choisissez le type de problème"})]}),a.jsx("div",{className:"grid grid-cols-2 gap-4 py-4",children:DI.map(Pe=>{const Ke=Pe.icon;return a.jsxs("button",{onClick:()=>l(Pe.value),className:`flex flex-col items-center justify-center gap-3 p-6 rounded-xl border-2 active:scale-95 transition-all min-h-[120px] ${Pe.color}`,children:[a.jsx("div",{className:`w-16 h-16 rounded-full flex items-center justify-center ${Pe.color.includes("bg-blue")?"bg-blue-500/20":Pe.color.includes("bg-yellow")?"bg-yellow-500/20":Pe.color.includes("bg-red")?"bg-red-500/20":Pe.color.includes("bg-orange")?"bg-orange-500/20":"bg-gray-500/20"}`,children:a.jsx(Ke,{className:"h-8 w-8"})}),a.jsx("span",{className:"font-medium",children:Pe.label})]},Pe.value)})})]})});if(!c){const Pe=DI.find(tt=>tt.value===o),Ke=Pe?.icon||Gl;return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto flex flex-col",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ke,{className:"h-5 w-5"}),a.jsx(In,{children:Pe?.label})]}),a.jsx(Mn,{children:"Choisissez le type de message"})]}),a.jsx("div",{className:"flex-1"}),a.jsx("div",{className:"flex gap-2 pb-4 border-t pt-4",children:F7.map(tt=>{const pt=tt.icon;return a.jsxs("button",{onClick:()=>d(tt.value),className:`flex flex-col items-center justify-center gap-2 p-4 rounded-lg border-2 active:scale-95 transition-all flex-1 ${tt.color}`,children:[a.jsx(pt,{className:"h-6 w-6"}),a.jsx("span",{className:"text-xs font-medium",children:tt.label})]},tt.value)})}),a.jsx("div",{className:"flex justify-end gap-2",children:a.jsx(ge,{variant:"outline",onClick:()=>l(null),children:"Retour"})})]})})}const Ie=DI.find(Pe=>Pe.value===o),be=F7.find(Pe=>Pe.value===c),Re=Ie?.icon||Gl;return be?.icon,a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Re,{className:"h-5 w-5"}),a.jsx(In,{children:Ie?.label})]}),!T&&a.jsxs(yt,{variant:"outline",className:"bg-orange-500/10 text-orange-600 border-orange-500/20",children:[a.jsx(qd,{className:"h-3 w-3 mr-1"}),"Hors ligne"]})]}),a.jsxs(Mn,{children:[c==="photo"&&"Prendre ou sélectionner une photo",c==="audio"&&"Enregistrer ou uploader un audio",c==="video"&&`Enregistrer une vidéo${X?` (max ${X.maxDurationSec}s, ${X.resolutionPreset})`:""}`,c==="note"&&"Ajouter une note"]})]}),a.jsxs("div",{className:"space-y-4 mt-4",children:[a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>d(null),className:"mb-2",children:"← Retour"}),c==="photo"&&a.jsxs("div",{className:"space-y-4",children:[P&&a.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[a.jsx(Nt,{className:"h-4 w-4 animate-spin"}),a.jsx("span",{children:"Optimisation..."})]}),a.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>ne.current?.click(),className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",disabled:P,children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-blue-600 shadow-lg flex items-center justify-center",children:a.jsx(mo,{className:"h-10 w-10 text-white"})}),a.jsx("span",{className:"text-sm font-semibold",children:"Prendre une photo"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:ee,type:"file",accept:"image/*",onChange:_e,className:"hidden"}),a.jsx("input",{ref:ne,type:"file",accept:"image/*",capture:"environment",onChange:_e,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>ee.current?.click(),className:"flex-1",disabled:P,children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Galerie"]})]})]}),y&&a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:y,alt:"Preview",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{A(null),v(null),ee.current&&(ee.current.value=""),ne.current&&(ne.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]})]}),c==="audio"&&a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:w?a.jsxs(ge,{type:"button",variant:"destructive",onClick:we,className:"h-24 w-24 flex-col gap-3 text-base font-semibold",children:[a.jsx(pg,{className:"h-8 w-8"}),a.jsx("span",{children:"STOP"}),a.jsxs("span",{className:"text-sm",children:["(",E,"s)"]})]}):a.jsxs(a.Fragment,{children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:Ce,className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-red-600 shadow-lg flex-shrink-0",style:{borderRadius:"50%"}}),a.jsx("span",{className:"text-sm font-semibold",children:p||Q?"Enregistrer à nouveau":"Enregistrer"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:ee,type:"file",accept:"audio/*",onChange:_e,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>ee.current?.click(),className:"flex-1",children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Uploader"]})]})]})}),y&&c==="audio"&&!w&&a.jsxs("div",{className:"p-4 bg-muted/50 rounded-lg",children:[a.jsx("audio",{src:y,controls:!0,className:"w-full",preload:"metadata",children:"Votre navigateur ne supporte pas la lecture audio."}),a.jsxs(ge,{type:"button",variant:"ghost",size:"sm",className:"mt-2 w-full",onClick:()=>{A(null),R(null),v(null),y&&URL.revokeObjectURL(y),ee.current&&(ee.current.value="")},children:[a.jsx(Nn,{className:"h-4 w-4 mr-2"}),"Supprimer l'enregistrement"]})]}),p&&!w&&!y&&a.jsx("div",{className:"text-center",children:a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Fichier sélectionné : ",p.name]})})]}),c==="video"&&a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:w?a.jsxs(ge,{type:"button",variant:"destructive",onClick:we,className:"h-24 w-24 flex-col gap-3 text-base font-semibold",children:[a.jsx(pg,{className:"h-8 w-8"}),a.jsx("span",{children:"STOP"}),a.jsxs("span",{className:"text-sm",children:["(",E,"s/",X?.maxDurationSec||10,"s)"]})]}):a.jsxs(a.Fragment,{children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:Ce,className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-purple-600 shadow-lg flex items-center justify-center",children:a.jsx(Xu,{className:"h-10 w-10 text-white"})}),a.jsx("span",{className:"text-sm font-semibold",children:p||Q?"Enregistrer à nouveau":"Enregistrer"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:ee,type:"file",accept:"video/*",onChange:_e,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>ee.current?.click(),className:"flex-1",children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Uploader"]})]})]})}),w&&c==="video"&&a.jsxs("div",{className:"relative w-full rounded-lg border bg-black overflow-hidden",children:[a.jsx("video",{ref:V,autoPlay:!0,playsInline:!0,muted:!0,className:"rounded-lg w-full max-h-64 object-cover"}),a.jsxs("div",{className:"absolute top-2 right-2 flex items-center gap-2 bg-red-500 text-white px-3 py-1 rounded-full",children:[a.jsx("div",{className:"w-2 h-2 bg-white rounded-full animate-pulse"}),a.jsx("span",{className:"text-xs font-medium",children:"Enregistrement..."})]})]}),y&&!w&&a.jsxs("div",{className:"relative",children:[a.jsx("video",{src:y,controls:!0,className:"rounded-lg w-full max-h-64"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{A(null),v(null),ee.current&&(ee.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]})]}),c==="note"&&a.jsxs("div",{children:[a.jsx(Se,{htmlFor:"note-description",children:"Description"}),a.jsx(K0,{id:"note-description",value:u,onChange:Pe=>h(Pe.target.value),placeholder:"Décrivez le problème...",rows:5,className:"mt-1"})]}),a.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[a.jsx(ge,{variant:"outline",onClick:()=>t(!1),disabled:Ne,children:"Annuler"}),a.jsxs(ge,{onClick:ve,disabled:Ne,children:[Ne&&a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),c==="audio"&&(p||Q)?T?"Sauvegarder":"Sauvegarder (hors ligne)":T?"Enregistrer":"Enregistrer (hors ligne)"]})]})]})]})})}const O7=[{value:"audio",label:"Audio",icon:F0,color:"bg-blue-500/10 border-blue-500/20 hover:bg-blue-500/20 text-blue-600"},{value:"photo",label:"Photo",icon:Nm,color:"bg-green-500/10 border-green-500/20 hover:bg-green-500/20 text-green-600"},{value:"video",label:"Vidéo",icon:Xu,color:"bg-purple-500/10 border-purple-500/20 hover:bg-purple-500/20 text-purple-600"},{value:"note",label:"Note",icon:po,color:"bg-gray-500/10 border-gray-500/20 hover:bg-gray-500/20 text-gray-600"}];function vpe({open:e,onOpenChange:t,incidentId:r,etapeId:n}){const{data:i}=hy(),o=i?.voyage?.id,[l,c]=I.useState(null),[d,u]=I.useState(""),[h,p]=I.useState(null),[A,y]=I.useState(null),[v,w]=I.useState(!1),[j,E]=I.useState(0),[S,_]=I.useState(null),[C,Q]=I.useState(null),[R,T]=I.useState(navigator.onLine),[M,O]=I.useState(!1),[$,P]=I.useState(!1),[L,X]=I.useState(null),{toast:W}=Er(),G=eo(),J=I.useRef(null),q=I.useRef(null),ee=I.useRef(null),ne=I.useRef(null),V=I.useRef(null),ue=I.useRef(null),de=I.useRef(null);I.useEffect(()=>{const be=()=>T(!0),Re=()=>T(!1);return window.addEventListener("online",be),window.addEventListener("offline",Re),()=>{window.removeEventListener("online",be),window.removeEventListener("offline",Re)}},[]),I.useEffect(()=>{l==="video"&&ag().then(X).catch(console.error)},[l]),I.useEffect(()=>(v&&de.current&&ee.current&&l==="video"&&(ee.current.srcObject=de.current,ee.current.play().catch(be=>{console.error("Erreur lors de la lecture vidéo:",be)})),()=>{!v&&ee.current&&(ee.current.srcObject=null)}),[v,l]),I.useEffect(()=>{e||(c(null),u(""),p(null),y(null),w(!1),E(0),Q(null),S&&S.state!=="inactive"&&S.stop(),ne.current&&(ne.current.getTracks().forEach(be=>be.stop()),ne.current=null),V.current&&clearInterval(V.current))},[e,S]);const xe=async be=>{const Re=be.target.files?.[0];if(Re){if(l==="photo"){if(!Re.type.startsWith("image/")){W({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner une image"});return}if(Re.size>10*1024*1024){W({variant:"destructive",title:"Erreur",description:"L'image ne doit pas dépasser 10 MB"});return}P(!0);try{const Pe=await Hm(Re,{preset:"incident"});p(Pe.file);const Ke=URL.createObjectURL(Pe.file);y(Ke);const tt=((1-Pe.optimizedSize/Pe.originalSize)*100).toFixed(0);Pe.originalSize>Pe.optimizedSize&&W({title:"Image optimisée",description:`${ol(Pe.originalSize)} → ${ol(Pe.optimizedSize)} (-${tt}%)`,duration:3e3})}catch(Pe){W({variant:"destructive",title:"Erreur",description:Pe instanceof Error?Pe.message:"Optimisation impossible, veuillez reprendre la photo"})}finally{P(!1)}}else if(l==="audio"){if(!["audio/mpeg","audio/mp4","audio/aac","audio/ogg","audio/wav","audio/webm"].includes(Re.type)){W({variant:"destructive",title:"Erreur",description:"Format audio non supporté"});return}if(Re.size>15*1024*1024){W({variant:"destructive",title:"Erreur",description:"L'audio ne doit pas dépasser 15 MB"});return}p(Re)}else if(l==="video"){P(!0);try{const Pe=await ag();if(!Pe.enabled){W({variant:"destructive",title:"Vidéo désactivée",description:"L'optimisation vidéo est désactivée dans les paramètres."}),P(!1);return}const Ke=await L$(Re,Pe);if(!Ke.valid){W({variant:"destructive",title:"Vidéo non conforme",description:Ke.message||"La vidéo ne respecte pas les paramètres configurés."}),P(!1);return}p(Re);const tt=URL.createObjectURL(Re);y(tt),W({title:"Vidéo acceptée",description:`Qualité ${Pe.resolutionPreset}, max ${Pe.maxDurationSec}s`,duration:3e3})}catch(Pe){W({variant:"destructive",title:"Erreur",description:Pe instanceof Error?Pe.message:"Impossible de valider la vidéo"})}finally{P(!1)}}}},_e=async()=>{if(!(window.location.protocol==="https:"||window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1")){W({variant:"destructive",title:"HTTPS requis",description:"L'enregistrement audio/vidéo nécessite une connexion HTTPS. Veuillez utiliser l'application via HTTPS (https://...) ou localhost. Note: L'upload de photos fonctionne sans HTTPS.",duration:1e4});return}if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){W({variant:"destructive",title:"API non disponible",description:"Votre navigateur ne supporte pas l'enregistrement audio/vidéo.",duration:5e3});return}try{if(l==="video"){P(!0);const Re=await ag();if(!Re.enabled){W({variant:"destructive",title:"Vidéo désactivée",description:"L'optimisation vidéo est désactivée dans les paramètres."}),P(!1);return}if(!(Re.preferredCaptureMode==="auto"||Re.preferredCaptureMode==="mediaRecorder")&&Re.preferredCaptureMode==="fileInput"){W({variant:"destructive",title:"Mode fichier requis",description:"Veuillez utiliser le sélecteur de fichier pour capturer la vidéo."}),P(!1);return}X(Re),P(!1),w(!0),E(0),await new Promise(tt=>setTimeout(tt,50));const Ke=await US(Re,tt=>{E(Math.floor(tt))});ue.current=Ke,de.current=Ke.stream,ee.current&&Ke.stream&&(ee.current.srcObject=Ke.stream,ee.current.play().catch(tt=>{console.error("Erreur lors de la lecture vidéo:",tt)})),Ke.promise.then(tt=>{if(w(!1),Ke.stream.getTracks().forEach(pt=>pt.stop()),de.current=null,ee.current&&(ee.current.srcObject=null),ue.current=null,Q(tt.blob),p(tt.file),ee.current){const pt=URL.createObjectURL(tt.blob);y(pt),ee.current.src=pt}W({title:"Vidéo capturée",description:`Qualité ${tt.metadata.preset}, ${tt.metadata.duration.toFixed(1)}s, ${ol(tt.metadata.size)}`,duration:3e3})}).catch(tt=>{w(!1),P(!1),X(null),ue.current=null,de.current=null,ee.current&&(ee.current.srcObject=null),console.error("Erreur lors de l'enregistrement vidéo:",tt),W({variant:"destructive",title:"Erreur",description:tt instanceof Error?tt.message:"Erreur lors de l'enregistrement vidéo"})})}else{const Re=await navigator.mediaDevices.getUserMedia({audio:!0});ne.current=Re;const Pe=new MediaRecorder(Re,{mimeType:"audio/webm"});_(Pe);const Ke=[];Pe.ondataavailable=pt=>{pt.data.size>0&&Ke.push(pt.data)},Pe.onstop=()=>{const pt=new Blob(Ke,{type:"audio/webm"});Q(pt);const dt=new File([pt],"recording.webm",{type:pt.type});p(dt);const Oe=URL.createObjectURL(pt);y(Oe),Re.getTracks().forEach(Pt=>Pt.stop()),ne.current=null,w(!1),V.current&&(clearInterval(V.current),V.current=null)},Pe.start(),w(!0),E(0);const tt=Date.now();V.current=window.setInterval(()=>{const pt=Math.floor((Date.now()-tt)/1e3);E(dt=>{const Oe=pt;return Oe!==dt?Oe:dt})},100)}}catch(Re){P(!1),console.error("Erreur lors de l'enregistrement:",Re);const Pe=window.location.protocol!=="https:"&&window.location.hostname!=="localhost"&&window.location.hostname!=="127.0.0.1",Ke=Re.name==="NotAllowedError"||Re.name==="PermissionDeniedError",tt=Re.name==="NotFoundError"||Re.name==="DevicesNotFoundError";let pt="Impossible d'accéder à la caméra/microphone.",dt="Erreur d'accès";Pe?(dt="HTTPS requis",pt="L'accès au microphone nécessite une connexion HTTPS. Veuillez utiliser l'application via HTTPS (https://...) ou localhost."):Ke?(dt="Permission refusée",pt="L'accès au microphone a été refusé. Veuillez autoriser l'accès au microphone dans les paramètres de votre navigateur."):tt?(dt="Microphone introuvable",pt="Aucun microphone n'a été détecté. Veuillez connecter un microphone et réessayer."):pt=Re.message||"Impossible d'accéder à la caméra/microphone. Vérifiez les permissions.",W({variant:"destructive",title:dt,description:pt,duration:Pe?1e4:5e3})}},Ce=()=>{if(l==="video"&&ue.current&&v){ue.current.stop();return}S&&S.state!=="inactive"&&S.stop(),V.current&&(clearInterval(V.current),V.current=null)},we=async()=>{if(!o){W({variant:"destructive",title:"Erreur",description:"Aucun voyage actif"});return}if(!l){W({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un type de message"});return}if(l==="note"&&!d.trim()){W({variant:"destructive",title:"Erreur",description:"Veuillez saisir une description"});return}if(l!=="note"&&!h&&!C){W({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner ou enregistrer un fichier"});return}O(!0);try{if(R){const be=h||(C?new File([C],"recording.webm",{type:C.type}):null);l==="note"?await xg(o,r,{type:"message",description:d.trim(),senderRole:"chauffeur"}):be&&await xg(o,r,{type:"media",mediaKind:l,description:d.trim()||null,file:be,senderRole:"chauffeur"}),W({title:"Succès",description:"Votre réponse a été envoyée"})}else{const be=h||(C?new File([C],"recording.webm",{type:C.type}):null);await mv({voyageId:o,type:"incident",incidentId:r,messageType:l,etapeId:n??null,description:l==="note"?d.trim():d.trim()||null,file:l!=="note"?be:null}),W({title:"Réponse enregistrée",description:"Votre réponse sera synchronisée à la reconnexion"})}o&&(G.invalidateQueries({queryKey:["/api/voyages",o,"incidents"]}),G.invalidateQueries({queryKey:["/api/voyages",o,"incidents",r]}),G.invalidateQueries({queryKey:["/api/voyages",o,"events"]})),t(!1)}catch(be){console.error("Erreur lors de l'envoi:",be),W({variant:"destructive",title:"Erreur",description:be instanceof Error?be.message:"Impossible d'envoyer la réponse"})}finally{O(!1)}},ve=M;if(!l)return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs(In,{children:["Répondre au problème #",r]}),a.jsx(Mn,{children:"Choisissez le type de message"})]}),a.jsx("div",{className:"flex gap-2 py-4",children:O7.map(be=>{const Re=be.icon;return a.jsxs("button",{onClick:()=>c(be.value),className:`flex flex-col items-center justify-center gap-2 p-4 rounded-lg border-2 active:scale-95 transition-all flex-1 ${be.color}`,children:[a.jsx(Re,{className:"h-6 w-6"}),a.jsx("span",{className:"text-xs font-medium",children:be.label})]},be.value)})})]})});const Ie=O7.find(be=>be.value===l)?.icon||po;return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ie,{className:"h-5 w-5"}),a.jsxs(In,{children:["Répondre au problème #",r]})]}),!R&&a.jsxs(yt,{variant:"outline",className:"bg-orange-500/10 text-orange-600 border-orange-500/20",children:[a.jsx(qd,{className:"h-3 w-3 mr-1"}),"Hors ligne"]})]}),a.jsxs(Mn,{children:[l==="photo"&&"Prendre ou sélectionner une photo",l==="audio"&&"Enregistrer ou uploader un audio",l==="video"&&`Enregistrer une vidéo${L?` (max ${L.maxDurationSec}s, ${L.resolutionPreset})`:""}`,l==="note"&&"Ajouter une note"]})]}),a.jsxs("div",{className:"space-y-4 mt-4",children:[a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>c(null),className:"mb-2",children:"← Retour"}),l==="photo"&&a.jsxs("div",{className:"space-y-4",children:[$&&a.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[a.jsx(Nt,{className:"h-4 w-4 animate-spin"}),a.jsx("span",{children:"Optimisation..."})]}),a.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>q.current?.click(),className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",disabled:$,children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-blue-600 shadow-lg flex items-center justify-center",children:a.jsx(mo,{className:"h-10 w-10 text-white"})}),a.jsx("span",{className:"text-sm font-semibold",children:"Prendre une photo"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:J,type:"file",accept:"image/*",onChange:xe,className:"hidden"}),a.jsx("input",{ref:q,type:"file",accept:"image/*",capture:"environment",onChange:xe,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>J.current?.click(),className:"flex-1",disabled:$,children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Galerie"]})]})]}),A&&a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:A,alt:"Preview",className:"rounded-lg w-full h-auto max-h-64 object-cover"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{p(null),y(null),J.current&&(J.current.value=""),q.current&&(q.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]})]}),l==="audio"&&a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:v?a.jsxs(ge,{type:"button",variant:"destructive",onClick:Ce,className:"h-24 w-24 flex-col gap-3 text-base font-semibold",children:[a.jsx(pg,{className:"h-8 w-8"}),a.jsx("span",{children:"STOP"}),a.jsxs("span",{className:"text-sm",children:["(",j,"s)"]})]}):a.jsxs(a.Fragment,{children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:_e,className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-red-600 shadow-lg flex-shrink-0",style:{borderRadius:"50%"}}),a.jsx("span",{className:"text-sm font-semibold",children:h||C?"Enregistrer à nouveau":"Enregistrer"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:J,type:"file",accept:"audio/*",onChange:xe,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>J.current?.click(),className:"flex-1",children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Uploader"]})]})]})}),A&&l==="audio"&&!v&&a.jsxs("div",{className:"p-4 bg-muted/50 rounded-lg",children:[a.jsx("audio",{src:A,controls:!0,className:"w-full",preload:"metadata",children:"Votre navigateur ne supporte pas la lecture audio."}),a.jsxs(ge,{type:"button",variant:"ghost",size:"sm",className:"mt-2 w-full",onClick:()=>{p(null),Q(null),y(null),A&&URL.revokeObjectURL(A),J.current&&(J.current.value="")},children:[a.jsx(Nn,{className:"h-4 w-4 mr-2"}),"Supprimer l'enregistrement"]})]}),h&&!v&&!A&&a.jsx("div",{className:"text-center",children:a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Fichier sélectionné : ",h.name]})})]}),l==="video"&&a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:v?a.jsxs(ge,{type:"button",variant:"destructive",onClick:Ce,className:"h-24 w-24 flex-col gap-3 text-base font-semibold",children:[a.jsx(pg,{className:"h-8 w-8"}),a.jsx("span",{children:"STOP"}),a.jsxs("span",{className:"text-sm",children:["(",j,"s/",L?.maxDurationSec||10,"s)"]})]}):a.jsxs(a.Fragment,{children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:_e,className:"h-24 w-24 flex-col gap-3 border-0 hover:bg-transparent p-0",children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-purple-600 shadow-lg flex items-center justify-center",children:a.jsx(Xu,{className:"h-10 w-10 text-white"})}),a.jsx("span",{className:"text-sm font-semibold",children:h||C?"Enregistrer à nouveau":"Enregistrer"})]}),a.jsxs("div",{className:"flex gap-2 w-full max-w-xs",children:[a.jsx("input",{ref:J,type:"file",accept:"video/*",onChange:xe,className:"hidden"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>J.current?.click(),className:"flex-1",children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Uploader"]})]})]})}),v&&l==="video"&&a.jsxs("div",{className:"relative w-full rounded-lg border bg-black overflow-hidden min-h-[200px]",children:[a.jsx("video",{ref:ee,autoPlay:!0,playsInline:!0,muted:!0,className:"rounded-lg w-full max-h-64 object-cover",style:{display:de.current?"block":"none"}}),!de.current&&a.jsx("div",{className:"flex items-center justify-center h-[200px] text-white",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin"})}),a.jsxs("div",{className:"absolute top-2 right-2 flex items-center gap-2 bg-red-500 text-white px-3 py-1 rounded-full",children:[a.jsx("div",{className:"w-2 h-2 bg-white rounded-full animate-pulse"}),a.jsx("span",{className:"text-xs font-medium",children:"Enregistrement..."})]})]}),A&&!v&&a.jsxs("div",{className:"relative",children:[a.jsx("video",{src:A,controls:!0,className:"rounded-lg w-full max-h-64"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{p(null),y(null),J.current&&(J.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]})]}),l==="note"&&a.jsxs("div",{children:[a.jsx(Se,{htmlFor:"note-description",children:"Description"}),a.jsx(K0,{id:"note-description",value:d,onChange:be=>u(be.target.value),placeholder:"Votre réponse...",rows:5,className:"mt-1"})]}),a.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[a.jsx(ge,{variant:"outline",onClick:()=>t(!1),disabled:ve,children:"Annuler"}),a.jsxs(ge,{onClick:we,disabled:ve,children:[ve&&a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),R?"Envoyer":"Enregistrer (hors ligne)"]})]})]})]})})}function ype(){const[e]=Gi(),t=I.useMemo(()=>new URLSearchParams(window.location.search).get("readOnly")==="true",[e]),{data:r,isLoading:n}=hy(),i=r?.voyage,[s,o]=I.useState(navigator.onLine),[l,c]=I.useState(!1),[d,u]=I.useState(null),[h,p]=I.useState(!1),[A,y]=I.useState(null),v=I.useRef(null),{data:w,isLoading:j,refetch:E}=LS(i?.id||null),{events:S,pendingCount:_}=ope(i?.id||null,w,j),C=I.useMemo(()=>S.filter(O=>{const $=O.description?.toUpperCase()||"";return!($.includes("PESÉE")||$.includes("PESEE")||$.includes("CARBURANT")||$.includes("FUEL")||$.includes("FRAIS")||$.includes("EXPENSE"))}),[S]),Q=I.useMemo(()=>{const O={};return C.forEach(P=>{const L=new Date(P.occurredAt||P.createdAt),X=Wr(L,"yyyy-MM-dd");O[X]||(O[X]=[]),O[X].push(P)}),Object.keys(O).sort((P,L)=>P.localeCompare(L)).map(P=>{const L=O[P].sort((X,W)=>{const G=new Date(X.occurredAt||X.createdAt).getTime(),J=new Date(W.occurredAt||W.createdAt).getTime();return G-J});return{day:P,date:hme(P),events:L}})},[C]);I.useEffect(()=>{const O=()=>o(!0),$=()=>o(!1);return window.addEventListener("online",O),window.addEventListener("offline",$),()=>{window.removeEventListener("online",O),window.removeEventListener("offline",$)}},[]),I.useEffect(()=>{!j&&C.length>0&&setTimeout(()=>{v.current?v.current.scrollIntoView({behavior:"smooth",block:"end"}):window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},500)},[j,C.length]);const R=O=>{u(O),c(!0)};if(n)return a.jsx("div",{className:"p-4 pb-20 flex items-center justify-center min-h-[400px] bg-muted/60",children:a.jsxs("div",{className:"text-center",children:[a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary mx-auto mb-4"}),a.jsx("p",{className:"text-muted-foreground",children:"Chargement du voyage..."})]})});if(!i)return a.jsx("div",{className:"p-4 pb-20 bg-muted/60",children:a.jsx(it,{children:a.jsxs(Et,{className:"py-12 text-center text-muted-foreground",children:[a.jsx(Wf,{className:"h-12 w-12 mx-auto mb-4 opacity-50"}),a.jsx("p",{className:"text-lg font-medium mb-2",children:"Aucun voyage actif"}),a.jsx("p",{className:"text-sm",children:"Aucun voyage en cours pour le moment"})]})})});const T=j,M=C.length>0;return a.jsxs("div",{className:"pb-20 bg-muted/60 min-h-screen",children:[a.jsxs("div",{className:"sticky top-0 z-10 bg-muted/60 border-b p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Wf,{className:"h-5 w-5 text-primary"}),a.jsx("h1",{className:"text-lg font-semibold",children:"Journal de bord"}),t&&a.jsxs(yt,{variant:"outline",className:"bg-orange-50 dark:bg-orange-950 text-orange-700 dark:text-orange-300 border-orange-200 dark:border-orange-800",children:[a.jsx(Hd,{className:"h-3 w-3 mr-1"}),"Lecture seule"]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[!s&&a.jsxs(yt,{variant:"outline",className:"bg-orange-500/10 text-orange-600 border-orange-500/20",children:[a.jsx(qd,{className:"h-3.5 w-3.5 mr-1"}),a.jsx("span",{className:"hidden sm:inline",children:"Hors ligne"})]}),s&&a.jsxs(yt,{variant:"outline",className:"bg-green-500/10 text-green-600 border-green-500/20",children:[a.jsx(Dse,{className:"h-3.5 w-3.5 mr-1"}),a.jsx("span",{className:"hidden sm:inline",children:"En ligne"})]}),_>0&&a.jsxs(yt,{variant:"outline",className:"bg-blue-500/10 text-blue-600 border-blue-500/20",children:[_," en attente"]}),a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>E(),disabled:T||!s,title:"Actualiser",children:a.jsx(p4,{className:`h-4 w-4 ${T?"animate-spin":""}`})})]})]}),a.jsxs("div",{className:"text-sm text-muted-foreground",children:[a.jsx("span",{className:"font-medium",children:i.code}),i.name&&a.jsxs("span",{children:[" - ",i.name]})]})]}),T?a.jsx("div",{className:"p-4 flex items-center justify-center min-h-[400px] bg-muted/60",children:a.jsxs("div",{className:"text-center",children:[a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary mx-auto mb-4"}),a.jsx("p",{className:"text-muted-foreground",children:"Chargement des événements..."})]})}):M?a.jsxs("div",{className:"p-4 space-y-4",children:[Q.map(({day:O,date:$,events:P})=>a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"sticky top-[73px] z-10 bg-muted/60 backdrop-blur-sm py-2 border-b -mx-4 px-4",children:a.jsx("h3",{className:"text-sm font-semibold text-muted-foreground",children:xN($,new Date)?"Aujourd'hui":xN($,new Date(Date.now()-864e5))?"Hier":Wr($,"EEEE d MMMM yyyy",{locale:Hr})})}),P.map(L=>{const X="isOffline"in L&&L.isOffline,W=X&&L.status==="pending";return a.jsx(upe,{event:L,isOffline:X,isPending:W,onImageClick:R,onReplyToIncident:t?void 0:G=>y(G),readOnly:t},L.id)})]},O)),a.jsx("div",{ref:v})]}):a.jsx("div",{className:"p-4",children:a.jsx(it,{className:"bg-white",children:a.jsxs(Et,{className:"py-12 text-center text-muted-foreground",children:[a.jsx(Wf,{className:"h-12 w-12 mx-auto mb-4 opacity-50"}),a.jsx("p",{className:"text-lg font-medium mb-2",children:"Aucun événement"}),a.jsx("p",{className:"text-sm",children:s?"Aucun événement enregistré pour ce voyage":"Vous êtes hors ligne. Les événements créés seront synchronisés à la reconnexion."})]})})}),!t&&a.jsxs(ge,{size:"lg",className:"fixed bottom-24 right-4 h-16 w-16 rounded-full shadow-xl z-40 flex flex-col items-center justify-center gap-1 p-0 bg-red-600 hover:bg-red-700 text-white border-0",onClick:()=>p(!0),"aria-label":"Créer un nouveau problème",style:{right:"1rem",left:"auto",position:"fixed"},children:[a.jsx(Kn,{className:"h-7 w-7",strokeWidth:2.5}),a.jsx("span",{className:"text-[10px] font-semibold leading-tight",children:"PROBLÈME"})]}),a.jsx(xpe,{open:h,onOpenChange:p}),a.jsx(vpe,{open:A!==null,onOpenChange:O=>{O||y(null)},incidentId:A||0}),d&&a.jsx("div",{className:`fixed inset-0 z-50 bg-black/95 flex items-center justify-center ${l?"":"hidden"}`,onClick:()=>c(!1),children:a.jsxs("div",{className:"relative max-w-[95vw] max-h-[95vh] p-4",children:[a.jsx("img",{src:d,alt:"Image agrandie",className:"max-w-full max-h-[95vh] object-contain",onClick:O=>O.stopPropagation()}),a.jsx(ge,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 text-white hover:bg-white/20",onClick:()=>c(!1),children:a.jsx(Nn,{className:"h-5 w-5"})})]})})]})}var M4="Collapsible",[bpe,H$]=Sc(M4),[wpe,zS]=bpe(M4),q$=I.forwardRef((e,t)=>{const{__scopeCollapsible:r,open:n,defaultOpen:i,disabled:s,onOpenChange:o,...l}=e,[c,d]=a0({prop:n,defaultProp:i??!1,onChange:o,caller:M4});return a.jsx(wpe,{scope:r,disabled:s,contentId:su(),open:c,onOpenToggle:I.useCallback(()=>d(u=>!u),[d]),children:a.jsx(an.div,{"data-state":HS(c),"data-disabled":s?"":void 0,...l,ref:t})})});q$.displayName=M4;var G$="CollapsibleTrigger",V$=I.forwardRef((e,t)=>{const{__scopeCollapsible:r,...n}=e,i=zS(G$,r);return a.jsx(an.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":HS(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...n,ref:t,onClick:yr(e.onClick,i.onOpenToggle)})});V$.displayName=G$;var $S="CollapsibleContent",W$=I.forwardRef((e,t)=>{const{forceMount:r,...n}=e,i=zS($S,e.__scopeCollapsible);return a.jsx(hu,{present:r||i.open,children:({present:s})=>a.jsx(Epe,{...n,ref:t,present:s})})});W$.displayName=$S;var Epe=I.forwardRef((e,t)=>{const{__scopeCollapsible:r,present:n,children:i,...s}=e,o=zS($S,r),[l,c]=I.useState(n),d=I.useRef(null),u=ri(t,d),h=I.useRef(0),p=h.current,A=I.useRef(0),y=A.current,v=o.open||l,w=I.useRef(v),j=I.useRef(void 0);return I.useEffect(()=>{const E=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(E)},[]),zs(()=>{const E=d.current;if(E){j.current=j.current||{transitionDuration:E.style.transitionDuration,animationName:E.style.animationName},E.style.transitionDuration="0s",E.style.animationName="none";const S=E.getBoundingClientRect();h.current=S.height,A.current=S.width,w.current||(E.style.transitionDuration=j.current.transitionDuration,E.style.animationName=j.current.animationName),c(n)}},[o.open,n]),a.jsx(an.div,{"data-state":HS(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!v,...s,ref:u,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":y?`${y}px`:void 0,...e.style},children:v&&i})});function HS(e){return e?"open":"closed"}var Cpe=q$,Ipe=V$,jpe=W$,Y0="Accordion",Npe=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[qS,Spe,Bpe]=Kv(Y0),[U4]=Sc(Y0,[Bpe,H$]),GS=H$(),K$=Za.forwardRef((e,t)=>{const{type:r,...n}=e,i=n,s=n;return a.jsx(qS.Provider,{scope:e.__scopeAccordion,children:r==="multiple"?a.jsx(Tpe,{...s,ref:t}):a.jsx(Dpe,{...i,ref:t})})});K$.displayName=Y0;var[Y$,kpe]=U4(Y0),[Z$,_pe]=U4(Y0,{collapsible:!1}),Dpe=Za.forwardRef((e,t)=>{const{value:r,defaultValue:n,onValueChange:i=()=>{},collapsible:s=!1,...o}=e,[l,c]=a0({prop:r,defaultProp:n??"",onChange:i,caller:Y0});return a.jsx(Y$,{scope:e.__scopeAccordion,value:Za.useMemo(()=>l?[l]:[],[l]),onItemOpen:c,onItemClose:Za.useCallback(()=>s&&c(""),[s,c]),children:a.jsx(Z$,{scope:e.__scopeAccordion,collapsible:s,children:a.jsx(J$,{...o,ref:t})})})}),Tpe=Za.forwardRef((e,t)=>{const{value:r,defaultValue:n,onValueChange:i=()=>{},...s}=e,[o,l]=a0({prop:r,defaultProp:n??[],onChange:i,caller:Y0}),c=Za.useCallback(u=>l((h=[])=>[...h,u]),[l]),d=Za.useCallback(u=>l((h=[])=>h.filter(p=>p!==u)),[l]);return a.jsx(Y$,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:d,children:a.jsx(Z$,{scope:e.__scopeAccordion,collapsible:!0,children:a.jsx(J$,{...s,ref:t})})})}),[Rpe,z4]=U4(Y0),J$=Za.forwardRef((e,t)=>{const{__scopeAccordion:r,disabled:n,dir:i,orientation:s="vertical",...o}=e,l=Za.useRef(null),c=ri(l,t),d=Spe(r),h=my(i)==="ltr",p=yr(e.onKeyDown,A=>{if(!Npe.includes(A.key))return;const y=A.target,v=d().filter(T=>!T.ref.current?.disabled),w=v.findIndex(T=>T.ref.current===y),j=v.length;if(w===-1)return;A.preventDefault();let E=w;const S=0,_=j-1,C=()=>{E=w+1,E>_&&(E=S)},Q=()=>{E=w-1,E{const{__scopeAccordion:r,value:n,...i}=e,s=z4(gw,r),o=kpe(gw,r),l=GS(r),c=su(),d=n&&o.value.includes(n)||!1,u=s.disabled||e.disabled;return a.jsx(Ppe,{scope:r,open:d,disabled:u,triggerId:c,children:a.jsx(Cpe,{"data-orientation":s.orientation,"data-state":aH(d),...l,...i,ref:t,disabled:u,open:d,onOpenChange:h=>{h?o.onItemOpen(n):o.onItemClose(n)}})})});X$.displayName=gw;var eH="AccordionHeader",tH=Za.forwardRef((e,t)=>{const{__scopeAccordion:r,...n}=e,i=z4(Y0,r),s=VS(eH,r);return a.jsx(an.h3,{"data-orientation":i.orientation,"data-state":aH(s.open),"data-disabled":s.disabled?"":void 0,...n,ref:t})});tH.displayName=eH;var yN="AccordionTrigger",rH=Za.forwardRef((e,t)=>{const{__scopeAccordion:r,...n}=e,i=z4(Y0,r),s=VS(yN,r),o=_pe(yN,r),l=GS(r);return a.jsx(qS.ItemSlot,{scope:r,children:a.jsx(Ipe,{"aria-disabled":s.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:s.triggerId,...l,...n,ref:t})})});rH.displayName=yN;var nH="AccordionContent",iH=Za.forwardRef((e,t)=>{const{__scopeAccordion:r,...n}=e,i=z4(Y0,r),s=VS(nH,r),o=GS(r);return a.jsx(jpe,{role:"region","aria-labelledby":s.triggerId,"data-orientation":i.orientation,...o,...n,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});iH.displayName=nH;function aH(e){return e?"open":"closed"}var Qpe=K$,Fpe=X$,Ope=tH,sH=rH,oH=iH;const bN=Qpe,Il=I.forwardRef(({className:e,...t},r)=>a.jsx(Fpe,{ref:r,className:nr("border-b",e),...t}));Il.displayName="AccordionItem";const jl=I.forwardRef(({className:e,children:t,...r},n)=>a.jsx(Ope,{className:"flex",children:a.jsxs(sH,{ref:n,className:nr("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...r,children:[t,a.jsx(F6,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));jl.displayName=sH.displayName;const Nl=I.forwardRef(({className:e,children:t,...r},n)=>a.jsx(oH,{ref:n,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:a.jsx("div",{className:nr("pb-4 pt-0",e),children:t})}));Nl.displayName=oH.displayName;async function vg(){return await $t("/api/settings/organization")}async function $4(e){return await $t("/api/settings/organization",{method:"PUT",body:e})}function WS(){return cr({queryKey:["/api/settings/organization"],queryFn:()=>vg(),retry:1,onError:e=>{}})}function lH(){const{toast:e}=Er();return _r({mutationFn:t=>$4(t),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/settings/organization"]}),e({title:"Succès",description:"Informations de la société mises à jour avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de mettre à jour les informations de la société"})}})}const Lpe=[{id:"dispatch",name:"Dispatch",role:"dispatch",phone:"+226 70 00 00 00"},{id:"mechanic",name:"Mécanicien",role:"mechanic",phone:"+226 70 00 00 01"}];function Mpe({contacts:e}){const{data:t,isLoading:r}=WS(),n=I.useMemo(()=>{if(e)return e;const s=[];return t?.dispatchPhone&&s.push({id:"dispatch",name:"Dispatch",role:"dispatch",phone:t.dispatchPhone}),t?.mechanicPhone&&s.push({id:"mechanic",name:"Mécanicien",role:"mechanic",phone:t.mechanicPhone}),s.length>0?s:Lpe},[t,e]),i=s=>{window.location.href=`tel:${s}`};return r?a.jsxs(it,{children:[a.jsx(br,{children:a.jsx(jr,{children:"Contacts"})}),a.jsx(Et,{className:"flex justify-center items-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})})]}):a.jsxs(it,{children:[a.jsx(br,{children:a.jsx(jr,{children:"Contacts"})}),a.jsxs(Et,{className:"space-y-3",children:[n.map(s=>a.jsxs("div",{className:"flex items-center justify-between p-3 rounded-md border bg-card",children:[a.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[a.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(nh,{className:"h-5 w-5 text-primary"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("div",{className:"font-semibold",children:s.name}),a.jsx("div",{className:"text-sm text-muted-foreground truncate",children:s.phone})]})]}),a.jsx(ge,{onClick:()=>i(s.phone),size:"lg",className:"min-h-[48px] min-w-[48px] p-0",children:a.jsx(M6,{className:"h-5 w-5"})})]},s.id)),a.jsx("div",{className:"pt-2 text-xs text-muted-foreground text-center",children:"Appuyez sur le bouton pour appeler"})]})]})}function Ms({text:e,title:t,className:r,size:n="md"}){const[i,s]=I.useState(!1),[o,l]=I.useState(!1),c=I.useRef(null),d=I.useRef(null);I.useEffect(()=>(typeof window<"u"&&"speechSynthesis"in window&&(l(!0),d.current=window.speechSynthesis),()=>{d.current&&d.current.cancel()}),[]);const u=()=>{if(!d.current||!o)return;if(i){d.current.cancel(),s(!1);return}const p=new SpeechSynthesisUtterance,A=t?`${t}. ${e}`:e;p.text=A,p.lang="fr-FR",p.rate=.9,p.pitch=1,p.volume=1,p.onstart=()=>{s(!0)},p.onend=()=>{s(!1),c.current=null},p.onerror=y=>{console.error("Erreur de synthèse vocale:",y),s(!1),c.current=null},c.current=p,d.current.speak(p)};if(I.useEffect(()=>()=>{d.current&&i&&d.current.cancel()},[i]),!o)return null;const h={sm:"h-8 w-8",md:"h-9 w-9",lg:"h-10 w-10"};return a.jsx(ge,{variant:"outline",size:"icon",onClick:u,className:nr("flex-shrink-0",h[n],r),title:i?"Arrêter la lecture":"Lire le texte","aria-label":i?"Arrêter la lecture":"Lire le texte",children:i?a.jsx(kse,{className:"h-4 w-4"}):a.jsx(z6,{className:"h-4 w-4"})})}function Upe(){const{toast:e}=Er(),t=eo(),[r,n]=I.useState(!1),i=()=>{if(confirm("Êtes-vous sûr de vouloir vider le cache ? Cela supprimera toutes les données mises en cache des voyages. Vous devrez vous reconnecter pour recharger les données.")){n(!0);try{const s=xS();t.clear(),e({title:"Cache vidé",description:`${s} élément(s) de cache supprimé(s). La page va se recharger...`}),setTimeout(()=>{window.location.reload()},1500)}catch{e({variant:"destructive",title:"Erreur",description:"Impossible de vider le cache. Veuillez réessayer."}),n(!1)}}};return a.jsxs("div",{className:"p-4 pb-20 space-y-4 max-w-2xl mx-auto",children:[a.jsxs("div",{className:"text-center space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-center gap-2",children:[a.jsx(Gl,{className:"h-6 w-6 text-primary"}),a.jsx("h1",{className:"text-2xl font-bold",children:"Aide & Support"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Guide d'utilisation et contacts d'urgence"})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(M6,{className:"h-5 w-5 text-primary"}),"Contacts d'urgence"]}),a.jsx(Ms,{text:"En cas d'urgence, contactez le dispatch ou le mécanicien. Les numéros sont disponibles ci-dessous.",title:"Contacts d'urgence"})]})}),a.jsx(Et,{children:a.jsx(Mpe,{})})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Wf,{className:"h-5 w-5 text-primary"}),"Guide rapide"]}),a.jsx(Ms,{text:"Ce guide vous explique comment utiliser l'application pour gérer vos voyages, votre journal de bord, et toutes les actions disponibles. L'application fonctionne même sans connexion internet.",title:"Guide rapide"})]})}),a.jsx(Et,{children:a.jsxs(bN,{type:"single",collapsible:!0,className:"w-full",children:[a.jsxs(Il,{value:"voyage",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-4 w-4"}),a.jsx("span",{children:"Gérer mon voyage"})]})}),a.jsxs(Nl,{className:"space-y-3 text-sm",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("p",{className:"font-semibold",children:"Démarrer un voyage :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Vérifiez les informations du voyage (véhicule, remorque, équipage)"}),a.jsx("li",{children:'Cliquez sur le bouton vert "Je pars maintenant" pour démarrer le voyage ALLER'}),a.jsx("li",{children:`Suivez les étapes dans l'ordre indiqué. Cliquez sur le bouton "Passé..." quand vous avez franchi l'étape`}),a.jsx("li",{children:`Validez chaque étape en cliquant sur le bouton "Passé..." quand vous avez franchi l'étape`})]})]}),a.jsx(Ms,{text:"Pour démarrer un voyage, vérifiez d'abord les informations du voyage comme le véhicule, la remorque et l'équipage. Ensuite, cliquez sur le bouton vert Je pars maintenant pour démarrer le voyage ALLER. Suivez les étapes dans l'ordre indiqué et cliquez sur le bouton Passé quand vous avez franchi l'étape. Validez chaque étape en cliquant sur le bouton Passé quand vous avez franchi l'étape. Après l'aller, arrivé à destination, il faut d'abord charger la note de pesée de chargement, puis cliquer sur le bouton bleu Je retourne maintenant pour démarrer le retour. Complétez toutes les étapes du retour. Arrivé au lieu de livraison, enregistrez la pesée de livraison. Cliquez sur Clôturer le voyage une fois terminé. Il faut être connecté au réseau pour pouvoir terminer un voyage.",title:"Gérer mon voyage",size:"sm"})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Retour et clôture :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:`Après l'aller, arrivé à destination, il faut d'abord charger la note de pesée de chargement, puis cliquer sur le bouton bleu "Je retourne maintenant" pour démarrer le retour`}),a.jsx("li",{children:"Complétez toutes les étapes du retour"}),a.jsx("li",{children:"Arrivé au lieu de livraison, enregistrez la pesée de livraison"}),a.jsx("li",{children:'Cliquez sur "Clôturer le voyage" une fois terminé. Il faut être connecté au réseau pour pouvoir terminer un voyage.'})]})]})]})]}),a.jsxs(Il,{value:"journal",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(po,{className:"h-4 w-4"}),a.jsx("span",{children:"Journal de bord"})]})}),a.jsxs(Nl,{className:"space-y-3 text-sm",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("p",{className:"font-semibold",children:"Créer un nouvel incident :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:'Cliquez sur le bouton "+" en bas du journal'}),a.jsx("li",{children:"Sélectionnez le type d'incident (roue, électricité, moteur, frein, autre)"}),a.jsx("li",{children:"Ajoutez des photos ou vidéos pour illustrer"}),a.jsx("li",{children:"Envoyez un message audio ou texte"}),a.jsx("li",{children:"L'incident sera traité par le dispatch"})]})]}),a.jsx(Ms,{text:"Pour créer un nouvel incident, cliquez sur le bouton plus en bas du journal. Sélectionnez le type d'incident comme roue, électricité, moteur, frein ou autre. Ajoutez des photos ou vidéos pour illustrer, envoyez un message audio ou texte. L'incident sera traité par le dispatch. Pour répondre ou ajouter des informations à un incident déjà créé, cliquez sur le bouton Répondre en bas du message. Les événements sont sauvegardés même en mode offline.",title:"Journal de bord",size:"sm"})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Répondre à un incident :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:'Pour répondre ou ajouter des informations à un incident déjà créé, cliquez sur le bouton "Répondre" en bas du message'}),a.jsx("li",{children:"Vous pouvez ajouter des photos, vidéos, audio ou texte"}),a.jsx("li",{children:"Les réponses sont sauvegardées même en mode offline"})]})]})]})]}),a.jsxs(Il,{value:"actions",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Px,{className:"h-4 w-4"}),a.jsx("span",{children:"Actions disponibles"})]})}),a.jsx(Nl,{className:"space-y-3 text-sm",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 grid grid-cols-2 gap-3",children:[a.jsxs("div",{className:"flex items-start gap-2 p-2 rounded border",children:[a.jsx(HA,{className:"h-4 w-4 text-primary mt-0.5"}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold text-xs",children:"Pesée"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Enregistrer un ticket de pesée"})]})]}),a.jsxs("div",{className:"flex items-start gap-2 p-2 rounded border",children:[a.jsx(cv,{className:"h-4 w-4 text-primary mt-0.5"}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold text-xs",children:"Carburant"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Ajouter un plein"})]})]}),a.jsxs("div",{className:"flex items-start gap-2 p-2 rounded border",children:[a.jsx(l1,{className:"h-4 w-4 text-primary mt-0.5"}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold text-xs",children:"Dépenses"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Enregistrer une dépense"})]})]}),a.jsxs("div",{className:"flex items-start gap-2 p-2 rounded border",children:[a.jsx(mo,{className:"h-4 w-4 text-primary mt-0.5"}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold text-xs",children:"Médias"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Photos et vidéos"})]})]})]}),a.jsx(Ms,{text:"Les actions disponibles incluent : Pesée pour enregistrer un ticket de pesée, Carburant pour ajouter un plein, Dépenses pour enregistrer une dépense, et Médias pour prendre des photos et vidéos.",title:"Actions disponibles",size:"sm"})]})})]}),a.jsxs(Il,{value:"offline",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(qd,{className:"h-4 w-4"}),a.jsx("span",{children:"Mode hors ligne"})]})}),a.jsx(Nl,{className:"space-y-3 text-sm",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("p",{className:"text-muted-foreground",children:"L'application fonctionne même sans connexion internet. Toutes vos actions sont sauvegardées localement et synchronisées automatiquement dès que la connexion est rétablie."}),a.jsxs("div",{className:"pt-2 space-y-1",children:[a.jsx("p",{className:"font-semibold",children:"Fonctionnalités disponibles offline :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Valider les étapes du voyage"}),a.jsx("li",{children:"Ajouter des notes et événements"}),a.jsx("li",{children:"Signaler des incidents"}),a.jsx("li",{children:"Prendre des photos/vidéos"}),a.jsx("li",{children:"Enregistrer pesée, carburant et dépenses"})]})]}),a.jsx("div",{className:"pt-2 border-t",children:a.jsxs(yt,{variant:"outline",className:"text-xs",children:[a.jsx(qd,{className:"h-3 w-3 mr-1"}),"Les données seront synchronisées à la reconnexion"]})})]}),a.jsx(Ms,{text:"L'application fonctionne même sans connexion internet. Toutes vos actions sont sauvegardées localement et synchronisées automatiquement dès que la connexion est rétablie. Les fonctionnalités disponibles offline incluent : valider les étapes du voyage, ajouter des notes et événements, signaler des incidents, prendre des photos et vidéos, et enregistrer pesée, carburant et dépenses. Les données seront synchronisées à la reconnexion.",title:"Mode hors ligne",size:"sm"})]})})]})]})})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Gl,{className:"h-5 w-5 text-primary"}),"Questions fréquentes"]}),a.jsx(Ms,{text:"Cette section répond aux questions les plus fréquentes sur l'utilisation de l'application.",title:"Questions fréquentes"})]})}),a.jsx(Et,{children:a.jsxs(bN,{type:"single",collapsible:!0,className:"w-full",children:[a.jsxs(Il,{value:"faq1",children:[a.jsx(jl,{className:"text-sm",children:"Que faire si je ne peux pas valider une étape ?"}),a.jsx(Nl,{className:"text-sm text-muted-foreground",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsx("p",{className:"flex-1",children:"Vérifiez que vous avez bien complété l'étape précédente. Si le problème persiste, contactez le dispatch ou ajoutez une note dans le journal pour expliquer la situation."}),a.jsx(Ms,{text:"Vérifiez que vous avez bien complété l'étape précédente. Si le problème persiste, contactez le dispatch ou ajoutez une note dans le journal pour expliquer la situation.",title:"Que faire si je ne peux pas valider une étape",size:"sm"})]})})]}),a.jsxs(Il,{value:"faq2",children:[a.jsx(jl,{className:"text-sm",children:"Comment savoir si mes données sont synchronisées ?"}),a.jsx(Nl,{className:"text-sm text-muted-foreground",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsx("p",{className:"flex-1",children:"L'indicateur de connexion en haut de l'écran vous montre l'état de la connexion. Un badge orange indique le mode hors ligne. Les événements en attente de synchronisation sont marqués d'un indicateur spécial."}),a.jsx(Ms,{text:"L'indicateur de connexion en haut de l'écran vous montre l'état de la connexion. Un badge orange indique le mode hors ligne. Les événements en attente de synchronisation sont marqués d'un indicateur spécial.",title:"Comment savoir si mes données sont synchronisées",size:"sm"})]})})]}),a.jsxs(Il,{value:"faq3",children:[a.jsx(jl,{className:"text-sm",children:"Puis-je modifier une étape déjà validée ?"}),a.jsx(Nl,{className:"text-sm text-muted-foreground",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsx("p",{className:"flex-1",children:"Non, les étapes validées ne peuvent pas être modifiées. Si vous avez fait une erreur, contactez le dispatch qui pourra corriger la situation."}),a.jsx(Ms,{text:"Non, les étapes validées ne peuvent pas être modifiées. Si vous avez fait une erreur, contactez le dispatch qui pourra corriger la situation.",title:"Puis-je modifier une étape déjà validée",size:"sm"})]})})]}),a.jsxs(Il,{value:"faq4",children:[a.jsx(jl,{className:"text-sm",children:"Que faire en cas de panne ou d'urgence ?"}),a.jsx(Nl,{className:"text-sm text-muted-foreground",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("ol",{className:"list-decimal list-inside space-y-1 flex-1",children:[a.jsx("li",{children:"Signalez l'incident dans le journal avec photos/vidéos"}),a.jsx("li",{children:"Appelez immédiatement le dispatch ou le mécanicien"}),a.jsx("li",{children:"Ajoutez une note détaillée dans le journal"}),a.jsx("li",{children:"Restez en contact avec le dispatch pour les instructions"})]}),a.jsx(Ms,{text:"En cas de panne ou d'urgence : signalez l'incident dans le journal avec photos ou vidéos, appelez immédiatement le dispatch ou le mécanicien, ajoutez une note détaillée dans le journal, et restez en contact avec le dispatch pour les instructions.",title:"Que faire en cas de panne ou d'urgence",size:"sm"})]})})]})]})})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(uv,{className:"h-5 w-5 text-primary"}),"Astuces importantes"]}),a.jsx(Ms,{text:"Voici quelques astuces importantes pour bien utiliser l'application : validez les étapes dans l'ordre pour suivre précisément votre progression, utilisez les photos pour les incidents car elles aident le dispatch et le mécanicien, et rappelez-vous que l'application fonctionne offline.",title:"Astuces importantes"})]})}),a.jsxs(Et,{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-blue-50 dark:bg-blue-950 border border-blue-200 dark:border-blue-800",children:[a.jsx(Px,{className:"h-5 w-5 text-blue-600 dark:text-blue-400 mt-0.5 flex-shrink-0"}),a.jsxs("div",{className:"text-sm flex-1",children:[a.jsx("p",{className:"font-semibold text-blue-900 dark:text-blue-100",children:"Validez les étapes dans l'ordre"}),a.jsx("p",{className:"text-blue-700 dark:text-blue-300 mt-1",children:"Cela permet de suivre précisément votre progression et d'éviter les erreurs."})]}),a.jsx(Ms,{text:"Validez les étapes dans l'ordre. Cela permet de suivre précisément votre progression et d'éviter les erreurs.",title:"Validez les étapes dans l'ordre",size:"sm"})]}),a.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-green-50 dark:bg-green-950 border border-green-200 dark:border-green-800",children:[a.jsx(Px,{className:"h-5 w-5 text-green-600 dark:text-green-400 mt-0.5 flex-shrink-0"}),a.jsxs("div",{className:"text-sm flex-1",children:[a.jsx("p",{className:"font-semibold text-green-900 dark:text-green-100",children:"Utilisez les photos pour les incidents"}),a.jsx("p",{className:"text-green-700 dark:text-green-300 mt-1",children:"Les photos aident le dispatch et le mécanicien à mieux comprendre la situation."})]}),a.jsx(Ms,{text:"Utilisez les photos pour les incidents. Les photos aident le dispatch et le mécanicien à mieux comprendre la situation.",title:"Utilisez les photos pour les incidents",size:"sm"})]}),a.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-orange-50 dark:bg-orange-950 border border-orange-200 dark:border-orange-800",children:[a.jsx(Px,{className:"h-5 w-5 text-orange-600 dark:text-orange-400 mt-0.5 flex-shrink-0"}),a.jsxs("div",{className:"text-sm flex-1",children:[a.jsx("p",{className:"font-semibold text-orange-900 dark:text-orange-100",children:"L'application fonctionne offline"}),a.jsx("p",{className:"text-orange-700 dark:text-orange-300 mt-1",children:"Vous pouvez continuer à travailler même sans internet. Vos données seront synchronisées automatiquement."})]}),a.jsx(Ms,{text:"L'application fonctionne offline. Vous pouvez continuer à travailler même sans internet. Vos données seront synchronisées automatiquement.",title:"L'application fonctionne offline",size:"sm"})]})]})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(uv,{className:"h-5 w-5 text-primary"}),"Dépannage"]})}),a.jsx(Et,{className:"space-y-3",children:a.jsxs("div",{className:"p-4 rounded-lg bg-muted border",children:[a.jsx("p",{className:"text-sm font-semibold mb-2",children:"Vider le cache de l'application"}),a.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:"Si vous rencontrez des problèmes d'affichage (par exemple, un voyage terminé qui s'affiche encore), vous pouvez vider le cache. Cela supprimera toutes les données mises en cache et rechargera les données depuis le serveur."}),a.jsx(ge,{variant:"outline",onClick:i,disabled:r,className:"w-full",children:r?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Vidage en cours..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Vider le cache"]})})]})})]})]})}function zpe({children:e}){const[t,r]=I.useState("voyage");console.log("[DriverLayout] Composant monté/rendu, activeTab:",t,"children:",!!e),I.useEffect(()=>{console.log("[DriverLayout] useEffect nettoyage cache exécuté"),Vx();const i=setTimeout(()=>{Vx()},100),s=setInterval(Vx,3600*1e3);return()=>{clearTimeout(i),clearInterval(s)}},[]),I.useEffect(()=>{console.log("[DriverLayout] useEffect activeTab changé, activeTab:",t)},[t]);const n=()=>{if(e)return e;switch(t){case"voyage":return a.jsx(Q7,{});case"journal":return a.jsx(ype,{});case"aide":return a.jsx(Upe,{});default:return a.jsx(Q7,{})}};return I.useEffect(()=>{console.log("[DriverLayout] Composant rendu, activeTab:",t)},[t]),a.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[a.jsx(Zde,{}),a.jsx("main",{className:"flex-1 overflow-y-auto pb-16",children:n()}),a.jsx(Jde,{activeTab:t,onTabChange:r}),a.jsx(NL,{})]})}function $pe({queriesToInvalidate:e,className:t,label:r="Actualiser",variant:n="ghost",size:i="sm"}){const s=eo(),{toast:o}=Er(),[l,c]=I.useState(!1),d=Nie(e&&e.length>0?{predicate:p=>e.some(A=>{const y=A.join("/");return p.queryKey.join("/").startsWith(y)})}:void 0);I.useEffect(()=>{l&&d===0&&(c(!1),o({title:"Actualisation terminée",description:"Les données ont été mises à jour avec succès"}))},[l,d,o]);const u=async()=>{c(!0);try{if(e&&e.length>0){const p=e.map(A=>s.invalidateQueries({queryKey:A}));await Promise.all(p)}else await s.invalidateQueries();await new Promise(p=>setTimeout(p,100))}catch{c(!1),o({variant:"destructive",title:"Erreur",description:"Impossible de rafraîchir les données"})}},h=l||d>0;return a.jsxs(ge,{type:"button",onClick:u,variant:n,size:i,className:t??"gap-2",disabled:h,children:[a.jsx(p4,{className:`h-4 w-4 ${h?"animate-spin":""}`}),a.jsx("span",{className:"hidden sm:inline",children:h?"Actualisation...":r})]})}function Hpe(){const[e,t]=I.useState(navigator.onLine),[r,n]=I.useState(!1),{toast:i}=Er(),s=eo();return I.useEffect(()=>{const o=()=>{t(!0),r&&(i({title:"Connexion rétablie",description:"Les données sont en cours de rafraîchissement..."}),n(!1),s.invalidateQueries())},l=()=>{t(!1),n(!0),i({variant:"destructive",title:"Connexion perdue",description:"Vous êtes hors ligne. Les données seront rafraîchies à la reconnexion."})};return window.addEventListener("online",o),window.addEventListener("offline",l),()=>{window.removeEventListener("online",o),window.removeEventListener("offline",l)}},[r,i,s]),e?null:a.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 rounded-md bg-destructive/10 text-destructive text-xs",children:[a.jsx(qd,{className:"h-3.5 w-3.5"}),a.jsx("span",{className:"hidden sm:inline",children:"Hors ligne"})]})}const qpe="G",qm="SVG",Rn="VIEW",rr="TEXT",KS="LINK",H4="PAGE",YS="NOTE",cH="PATH",uH="RECT",dH="LINE",fH="FIELD_SET",Gpe="TEXT_INPUT",Vpe="SELECT",Wpe="CHECKBOX",Kpe="LIST",hH="DEFS",Gm="IMAGE",ZS="TSPAN",JS="CANVAS",mH="CIRCLE",pH="ELLIPSE",gH="POLYGON",XS="DOCUMENT",AH="POLYLINE",Qg="TEXT_INSTANCE",Ype="LINEAR_GRADIENT",Zpe="RADIAL_GRADIENT";var rb={exports:{}},nb={exports:{}},L7;function Jpe(){return L7||(L7=1,typeof Object.create=="function"?nb.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:nb.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}),nb.exports}var ib={exports:{}},M7;function Xpe(){if(M7)return ib.exports;M7=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(C,Q,R){return Function.prototype.apply.call(C,Q,R)},r;e&&typeof e.ownKeys=="function"?r=e.ownKeys:Object.getOwnPropertySymbols?r=function(C){return Object.getOwnPropertyNames(C).concat(Object.getOwnPropertySymbols(C))}:r=function(C){return Object.getOwnPropertyNames(C)};function n(_){console&&console.warn&&console.warn(_)}var i=Number.isNaN||function(C){return C!==C};function s(){s.init.call(this)}ib.exports=s,ib.exports.once=j,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function l(_){if(typeof _!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof _)}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(_){if(typeof _!="number"||_<0||i(_))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+_+".");o=_}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(C){if(typeof C!="number"||C<0||i(C))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+C+".");return this._maxListeners=C,this};function c(_){return _._maxListeners===void 0?s.defaultMaxListeners:_._maxListeners}s.prototype.getMaxListeners=function(){return c(this)},s.prototype.emit=function(C){for(var Q=[],R=1;R0&&(O=Q[0]),O instanceof Error)throw O;var $=new Error("Unhandled error."+(O?" ("+O.message+")":""));throw $.context=O,$}var P=M[C];if(P===void 0)return!1;if(typeof P=="function")t(P,this,Q);else for(var L=P.length,X=y(P,L),R=0;R0&&O.length>T&&!O.warned){O.warned=!0;var $=new Error("Possible EventEmitter memory leak detected. "+O.length+" "+String(C)+" listeners added. Use emitter.setMaxListeners() to increase limit");$.name="MaxListenersExceededWarning",$.emitter=_,$.type=C,$.count=O.length,n($)}return _}s.prototype.addListener=function(C,Q){return d(this,C,Q,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(C,Q){return d(this,C,Q,!0)};function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(_,C,Q){var R={fired:!1,wrapFn:void 0,target:_,type:C,listener:Q},T=u.bind(R);return T.listener=Q,R.wrapFn=T,T}s.prototype.once=function(C,Q){return l(Q),this.on(C,h(this,C,Q)),this},s.prototype.prependOnceListener=function(C,Q){return l(Q),this.prependListener(C,h(this,C,Q)),this},s.prototype.removeListener=function(C,Q){var R,T,M,O,$;if(l(Q),T=this._events,T===void 0)return this;if(R=T[C],R===void 0)return this;if(R===Q||R.listener===Q)--this._eventsCount===0?this._events=Object.create(null):(delete T[C],T.removeListener&&this.emit("removeListener",C,R.listener||Q));else if(typeof R!="function"){for(M=-1,O=R.length-1;O>=0;O--)if(R[O]===Q||R[O].listener===Q){$=R[O].listener,M=O;break}if(M<0)return this;M===0?R.shift():v(R,M),R.length===1&&(T[C]=R[0]),T.removeListener!==void 0&&this.emit("removeListener",C,$||Q)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(C){var Q,R,T;if(R=this._events,R===void 0)return this;if(R.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):R[C]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete R[C]),this;if(arguments.length===0){var M=Object.keys(R),O;for(T=0;T=0;T--)this.removeListener(C,Q[T]);return this};function p(_,C,Q){var R=_._events;if(R===void 0)return[];var T=R[C];return T===void 0?[]:typeof T=="function"?Q?[T.listener||T]:[T]:Q?w(T):y(T,T.length)}s.prototype.listeners=function(C){return p(this,C,!0)},s.prototype.rawListeners=function(C){return p(this,C,!1)},s.listenerCount=function(_,C){return typeof _.listenerCount=="function"?_.listenerCount(C):A.call(_,C)},s.prototype.listenerCount=A;function A(_){var C=this._events;if(C!==void 0){var Q=C[_];if(typeof Q=="function")return 1;if(Q!==void 0)return Q.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function y(_,C){for(var Q=new Array(C),R=0;R=this.concurrency)return;if(this.jobs.length===0){this.pending===0&&l.call(this);return}var d=this,u=this.jobs.shift(),h=!0,p=this.session,A=null,y=!1,v=null,w=u.hasOwnProperty("timeout")?u.timeout:this.timeout;function j(S,_){h&&d.session===p&&(h=!1,d.pending--,A!==null&&(delete d.timers[A],clearTimeout(A)),S?d.emit("error",S,u):y===!1&&(v!==null&&(d.results[v]=Array.prototype.slice.call(arguments,1)),d.emit("success",_,u)),d.session===p&&(d.pending===0&&d.jobs.length===0?l.call(d):d.running&&d.start()))}w&&(A=setTimeout(function(){y=!0,d.listeners("timeout").length>0?d.emit("timeout",j,u):j()},w),this.timers[A]=A),this.results&&(v=this.results.length,this.results[v]=null),this.pending++,d.emit("start",u);var E=u(j);E&&E.then&&typeof E.then=="function"&&E.then(function(S){return j(null,S)}).catch(function(S){return j(S||!0)}),this.running&&this.jobs.length>0&&this.start()},r.prototype.stop=function(){this.running=!1},r.prototype.end=function(c){s.call(this),this.jobs.length=0,this.pending=0,l.call(this,c)};function s(){for(var c in this.timers){var d=this.timers[c];delete this.timers[c],clearTimeout(d)}}function o(c){var d=this;this.on("error",u),this.on("end",h);function u(p){d.end(p)}function h(p){d.removeListener("error",u),d.removeListener("end",h),c(p,this.results)}}function l(c){this.session++,this.running=!1,this.emit("end",c)}return rb.exports}ege();const tge={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"};class ll{constructor(t){this.buffer=t,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.pos=0,this.length=this.buffer.length}readString(t,r="ascii"){r=tge[r]||r;let n=this.readBuffer(t);try{return new TextDecoder(r).decode(n)}catch{return n}}readBuffer(t){return this.buffer.slice(this.pos,this.pos+=t)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}}ll.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let e of Object.getOwnPropertyNames(DataView.prototype))if(e.slice(0,3)==="get"){let t=e.slice(3).replace("Ui","UI");t==="Float32"?t="Float":t==="Float64"&&(t="Double");let r=ll.TYPES[t];ll.prototype["read"+t+(r===1?"":"BE")]=function(){const n=this.view[e](this.pos,!1);return this.pos+=r,n},r!==1&&(ll.prototype["read"+t+"LE"]=function(){const n=this.view[e](this.pos,!0);return this.pos+=r,n})}const rge=new TextEncoder,z7=new Uint8Array(new Uint16Array([4660]).buffer)[0]==18;class Aw{constructor(t){this.buffer=t,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(t){this.buffer.set(t,this.pos),this.pos+=t.length}writeString(t,r="ascii"){let n;switch(r){case"utf16le":case"utf16-le":case"ucs2":n=$7(t,z7);break;case"utf16be":case"utf16-be":n=$7(t,!z7);break;case"utf8":n=rge.encode(t);break;case"ascii":n=nge(t);break;default:throw new Error(`Unsupported encoding: ${r}`)}this.writeBuffer(n)}writeUInt24BE(t){this.buffer[this.pos++]=t>>>16&255,this.buffer[this.pos++]=t>>>8&255,this.buffer[this.pos++]=t&255}writeUInt24LE(t){this.buffer[this.pos++]=t&255,this.buffer[this.pos++]=t>>>8&255,this.buffer[this.pos++]=t>>>16&255}writeInt24BE(t){t>=0?this.writeUInt24BE(t):this.writeUInt24BE(t+16777215+1)}writeInt24LE(t){t>=0?this.writeUInt24LE(t):this.writeUInt24LE(t+16777215+1)}fill(t,r){if(r>8|(i&255)<<8),r[n]=i}return new Uint8Array(r.buffer)}function nge(e){let t=new Uint8Array(e.length);for(let r=0;r>1){super(`Int${t}`,r),this._point=1<=this.length)){if(this.items[t]==null){const{pos:r}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*t,this.items[t]=this.type.decode(this.stream,this.ctx),this.stream.pos=r}return this.items[t]}}toArray(){const t=[];for(let r=0,n=this.length;r=55296&&i<=56319&&nt.reduce((r,n)=>r&&r[n],e);class Un extends ct{constructor(t,r={}){super(),this.type=t,this.versions=r,typeof t=="string"&&(this.versionPath=t.split("."))}decode(t,r,n=0){const i=this._setup(t,r,n);typeof this.type=="string"?i.version=fge(r,this.versionPath):i.version=this.type.decode(t),this.versions.header&&this._parseFields(t,i,this.versions.header);const s=this.versions[i.version];if(s==null)throw new Error(`Unknown version ${i.version}`);return s instanceof Un?s.decode(t,r):(this._parseFields(t,i,s),this.process!=null&&this.process.call(i,t),i)}size(t,r,n=!0){let i,s;if(!t)throw new Error("Not a fixed size");this.preEncode!=null&&this.preEncode.call(t);const o={parent:r,val:t,pointerSize:0};let l=0;if(typeof this.type!="string"&&(l+=this.type.size(t.version,o)),this.versions.header)for(i in this.versions.header)s=this.versions.header[i],s.size!=null&&(l+=s.size(t[i],o));const c=this.versions[t.version];if(c==null)throw new Error(`Unknown version ${t.version}`);for(i in c)s=c[i],s.size!=null&&(l+=s.size(t[i],o));return n&&(l+=o.pointerSize),l}encode(t,r,n){let i,s;this.preEncode!=null&&this.preEncode.call(r,t);const o={pointers:[],startOffset:t.pos,parent:n,val:r,pointerSize:0};if(o.pointerOffset=t.pos+this.size(r,o,!1),typeof this.type!="string"&&this.type.encode(t,r.version),this.versions.header)for(i in this.versions.header)s=this.versions.header[i],s.encode!=null&&s.encode(t,r[i],o);const l=this.versions[r.version];for(i in l)s=l[i],s.encode!=null&&s.encode(t,r[i],o);let c=0;for(;c{if(l!=null)return l;const{pos:d}=t;return t.pos=o,l=this.type.decode(t,r),t.pos=d,l};return this.options.lazy?new eB({get:c}):c()}else return o}size(t,r){const n=r;switch(this.options.type){case"local":case"immediate":break;case"parent":r=r.parent;break;default:for(;r.parent;)r=r.parent}let{type:i}=this;if(i==null){if(!(t instanceof wN))throw new Error("Must be a VoidPointer");({type:i}=t),t=t.value}if(t&&r){let s=i.size(t,n);r.pointerSize+=s}return this.offsetType.size()}encode(t,r,n){let i;const s=n;if(r==null){this.offsetType.encode(t,this.options.nullValue);return}switch(this.options.type){case"local":i=n.startOffset;break;case"immediate":i=t.pos+this.offsetType.size(r,s);break;case"parent":n=n.parent,i=n.startOffset;break;default:for(i=0;n.parent;)n=n.parent}this.options.relativeTo&&(i+=this.relativeToGetter(s.val)),this.offsetType.encode(t,n.pointerOffset-i);let{type:o}=this;if(o==null){if(!(r instanceof wN))throw new Error("Must be a VoidPointer");({type:o}=r),r=r.value}return n.pointers.push({type:o,val:r,parent:s}),n.pointerOffset+=o.size(r,s)}}class wN{constructor(t,r){this.type=t,this.value=r}}function Bc(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var PI,q7;function hge(){return q7||(q7=1,PI=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,i,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[i]))return!1;for(i=n;i--!==0;){var o=s[i];if(!e(t[o],r[o]))return!1}return!0}return t!==t&&r!==r}),PI}var mge=hge();const G7=ma(mge);var Nx={},V7;function vH(){if(V7)return Nx;V7=1,Nx.byteLength=l,Nx.toByteArray=d,Nx.fromByteArray=p;for(var e=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,s=n.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var v=A.indexOf("=");v===-1&&(v=y);var w=v===y?0:4-v%4;return[v,w]}function l(A){var y=o(A),v=y[0],w=y[1];return(v+w)*3/4-w}function c(A,y,v){return(y+v)*3/4-v}function d(A){var y,v=o(A),w=v[0],j=v[1],E=new r(c(A,w,j)),S=0,_=j>0?w-4:w,C;for(C=0;C<_;C+=4)y=t[A.charCodeAt(C)]<<18|t[A.charCodeAt(C+1)]<<12|t[A.charCodeAt(C+2)]<<6|t[A.charCodeAt(C+3)],E[S++]=y>>16&255,E[S++]=y>>8&255,E[S++]=y&255;return j===2&&(y=t[A.charCodeAt(C)]<<2|t[A.charCodeAt(C+1)]>>4,E[S++]=y&255),j===1&&(y=t[A.charCodeAt(C)]<<10|t[A.charCodeAt(C+1)]<<4|t[A.charCodeAt(C+2)]>>2,E[S++]=y>>8&255,E[S++]=y&255),E}function u(A){return e[A>>18&63]+e[A>>12&63]+e[A>>6&63]+e[A&63]}function h(A,y,v){for(var w,j=[],E=y;E_?_:S+E));return w===1?(y=A[v-1],j.push(e[y>>2]+e[y<<4&63]+"==")):w===2&&(y=(A[v-2]<<8)+A[v-1],j.push(e[y>>10]+e[y>>4&63]+e[y<<2&63]+"=")),j.join("")}return Nx}var pge=vH();const gge=ma(pge);var QI,W7;function yH(){if(W7)return QI;W7=1;var e=0,t=-3;function r(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function n(T,M){this.source=T,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=M,this.destLen=0,this.ltree=new r,this.dtree=new r}var i=new r,s=new r,o=new Uint8Array(30),l=new Uint16Array(30),c=new Uint8Array(30),d=new Uint16Array(30),u=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),h=new r,p=new Uint8Array(320);function A(T,M,O,$){var P,L;for(P=0;P>>=1,M}function E(T,M,O){if(!M)return O;for(;T.bitcount<24;)T.tag|=T.source[T.sourceIndex++]<>>16-M;return T.tag>>>=M,T.bitcount-=M,$+O}function S(T,M){for(;T.bitcount<24;)T.tag|=T.source[T.sourceIndex++]<>>=1,++P,O+=M.table[P],$-=M.table[P];while($>=0);return T.tag=L,T.bitcount-=P,M.trans[O+$]}function _(T,M,O){var $,P,L,X,W,G;for($=E(T,5,257),P=E(T,5,1),L=E(T,4,4),X=0;X<19;++X)p[X]=0;for(X=0;X8;)T.sourceIndex--,T.bitcount-=8;if(M=T.source[T.sourceIndex+1],M=256*M+T.source[T.sourceIndex],O=T.source[T.sourceIndex+3],O=256*O+T.source[T.sourceIndex+2],M!==(~O&65535))return t;for(T.sourceIndex+=4,$=M;$;--$)T.dest[T.destLen++]=T.source[T.sourceIndex++];return T.bitcount=0,e}function R(T,M){var O=new n(T,M),$,P,L;do{switch($=j(O),P=E(O,2,0),P){case 0:L=Q(O);break;case 1:L=C(O,i,s);break;case 2:_(O,O.ltree,O.dtree),L=C(O,O.ltree,O.dtree);break;default:L=t}if(L!==e)throw new Error("Data error")}while(!$);return O.destLen{let l=i[s];i[s]=i[o],i[o]=l},r=i=>{const s=i.length;for(let o=0;o{e&&r(i)}},FI}var OI,Y7;function xge(){if(Y7)return OI;Y7=1;const e=yH(),{swap32LE:t}=Age(),r=11,n=5,i=r-n,s=65536>>r,l=(1<>n,p=1024>>n,w=h+p+32,j=1<1114111?this.errorValue:_<55296||_>56319&&_<=65535?(C=(this.data[_>>n]<>n)]<>r)],C=this.data[C+(_>>n&l)],C=(C<Math.log(e)/Math.LN2),q4=e=>yge(e)+1|0,bge=q4(Vm(lh).categories.length-1),bH=q4(Vm(lh).combiningClasses.length-1),tB=q4(Vm(lh).scripts.length-1),G4=q4(Vm(lh).eaw.length-1),Ey=10,wge=bH+tB+G4+Ey,Ege=tB+G4+Ey,Cge=G4+Ey,Ige=Ey,jge=(1<>wge&jge]}function wH(e){const t=wy.get(e);return Vm(lh).combiningClasses[t>>Ege&Nge]}function rB(e){const t=wy.get(e);return Vm(lh).scripts[t>>Cge&Sge]}function _ge(e){const t=wy.get(e);return Vm(lh).eaw[t>>Ige&Bge]}function Dge(e){let t=wy.get(e),r=t&kge;if(r===0)return null;if(r<=50)return r-1;if(r<480){const n=(r>>4)-12,i=(r&15)+1;return n/i}else if(r<768){t=(r>>5)-14;let n=(r&31)+2;for(;n>0;)t*=10,n--;return t}else{t=(r>>2)-191;let n=(r&3)+1;for(;n>0;)t*=60,n--;return t}}function Tge(e){const t=l0(e);return t==="Lu"||t==="Ll"||t==="Lt"||t==="Lm"||t==="Lo"||t==="Nl"}function EN(e){return l0(e)==="Nd"}function Rge(e){const t=l0(e);return t==="Pc"||t==="Pd"||t==="Pe"||t==="Pf"||t==="Pi"||t==="Po"||t==="Ps"}function Pge(e){return l0(e)==="Ll"}function Qge(e){return l0(e)==="Lu"}function Fge(e){return l0(e)==="Lt"}function Oge(e){const t=l0(e);return t==="Zs"||t==="Zl"||t==="Zp"}function Lge(e){const t=l0(e);return t==="Nd"||t==="No"||t==="Nl"||t==="Lu"||t==="Ll"||t==="Lt"||t==="Lm"||t==="Lo"||t==="Me"||t==="Mc"}function nB(e){const t=l0(e);return t==="Mn"||t==="Me"||t==="Mc"}var Mge={getCategory:l0,getCombiningClass:wH,getScript:rB,getEastAsianWidth:_ge,getNumericValue:Dge,isAlphabetic:Tge,isDigit:EN,isPunctuation:Rge,isLowerCase:Pge,isUpperCase:Qge,isTitleCase:Fge,isWhiteSpace:Oge,isBaseForm:Lge,isMark:nB},LI,Z7;function Uge(){if(Z7)return LI;Z7=1;var e=1,t=0;class r{constructor(i){this.stateTable=i.stateTable,this.accepting=i.accepting,this.tags=i.tags}match(i){var s=this;return{*[Symbol.iterator](){for(var o=e,l=null,c=null,d=null,u=0;u=l&&(yield[l,c,s.tags[d]]),o=s.stateTable[e][h],l=null),o!==t&&l==null&&(l=u),s.accepting[o]&&(c=u),o===t&&(o=e)}l!=null&&c!=null&&c>=l&&(yield[l,c,s.tags[o]])}}}apply(i,s){for(var[o,l,c]of this.match(i))for(var d of c)typeof s[d]=="function"&&s[d](o,l,i.slice(o,l+1))}}return LI=r,LI}var zge=Uge();const EH=ma(zge);var MI={exports:{}},J7;function $ge(){return J7||(J7=1,(function(e){var t=(function(){function r(p,A){return A!=null&&p instanceof A}var n;try{n=Map}catch{n=function(){}}var i;try{i=Set}catch{i=function(){}}var s;try{s=Promise}catch{s=function(){}}function o(p,A,y,v,w){typeof A=="object"&&(y=A.depth,v=A.prototype,w=A.includeNonEnumerable,A=A.circular);var j=[],E=[],S=typeof Buffer<"u";typeof A>"u"&&(A=!0),typeof y>"u"&&(y=1/0);function _(C,Q){if(C===null)return null;if(Q===0)return C;var R,T;if(typeof C!="object")return C;if(r(C,n))R=new n;else if(r(C,i))R=new i;else if(r(C,s))R=new s(function(J,q){C.then(function(ee){J(_(ee,Q-1))},function(ee){q(_(ee,Q-1))})});else if(o.__isArray(C))R=[];else if(o.__isRegExp(C))R=new RegExp(C.source,h(C)),C.lastIndex&&(R.lastIndex=C.lastIndex);else if(o.__isDate(C))R=new Date(C.getTime());else{if(S&&Buffer.isBuffer(C))return Buffer.allocUnsafe?R=Buffer.allocUnsafe(C.length):R=new Buffer(C.length),C.copy(R),R;r(C,Error)?R=Object.create(C):typeof v>"u"?(T=Object.getPrototypeOf(C),R=Object.create(T)):(R=Object.create(v),T=v)}if(A){var M=j.indexOf(C);if(M!=-1)return E[M];j.push(C),E.push(R)}r(C,n)&&C.forEach(function(J,q){var ee=_(q,Q-1),ne=_(J,Q-1);R.set(ee,ne)}),r(C,i)&&C.forEach(function(J){var q=_(J,Q-1);R.add(q)});for(var O in C){var $;T&&($=Object.getOwnPropertyDescriptor(T,O)),!($&&$.set==null)&&(R[O]=_(C[O],Q-1))}if(Object.getOwnPropertySymbols)for(var P=Object.getOwnPropertySymbols(C),O=0;Othis.buffer.length&&(i=this.buffer.length-this.pos);for(var s=0;sthis.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(r.subarray(0,n),this.pos),this.pos+=n,n},ab.BrotliOutput=t,ab}var zI,tT;function Vge(){if(tT)return zI;tT=1;var e=4096,t=2*e+32,r=2*e-1,n=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(s){this.buf_=new Uint8Array(t),this.input_=s,this.reset()}return i.READ_SIZE=e,i.IBUF_MASK=r,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var s=0;s<4;s++)this.val_|=this.buf_[this.pos_]<<8*s,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var s=this.buf_ptr_,o=this.input_.read(this.buf_,s,e);if(o<0)throw new Error("Unexpected end of input");if(o=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&r]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(s){32-this.bit_pos_>>this.bit_pos_&n[s];return this.bit_pos_+=s,o},zI=i,zI}var Kh={},$I={},HI,rT;function Wge(){return rT||(rT=1,HI="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"),HI}var nT;function Kge(){if(nT)return $I;nT=1;var e=vH();return $I.init=function(){var t=IH().BrotliDecompressBuffer,r=e.toByteArray(Wge());return t(r)},$I}var iT;function CH(){if(iT)return Kh;iT=1;var e=Kge();return Kh.init=function(){Kh.dictionary=e.init()},Kh.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),Kh.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),Kh.minDictionaryWordLength=4,Kh.maxDictionaryWordLength=24,Kh}var sb={},aT;function sT(){if(aT)return sb;aT=1;function e(s,o){this.bits=s,this.value=o}sb.HuffmanCode=e;var t=15;function r(s,o){for(var l=1<>=1;return(s&l-1)+l}function n(s,o,l,c,d){do c-=l,s[o+c]=new e(d.bits,d.value);while(c>0)}function i(s,o,l){for(var c=1<0;--Q[p])h=new e(p&255,C[A++]&65535),n(s,o+y,v,S,h),y=r(y,p);for(j=_-1,w=-1,p=l+1,v=2;p<=t;++p,v<<=1)for(;Q[p]>0;--Q[p])(y&j)!==w&&(o+=S,E=i(Q,p,l),S=1<>l),v,S,h),y=r(y,p);return _},sb}var ob={},oT;function Yge(){return oT||(oT=1,ob.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),ob.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])),ob}var Fp={},lT;function Zge(){if(lT)return Fp;lT=1;function e(t,r){this.offset=t,this.nbits=r}return Fp.kBlockLengthPrefixCode=[new e(1,2),new e(5,2),new e(9,2),new e(13,2),new e(17,3),new e(25,3),new e(33,3),new e(41,3),new e(49,4),new e(65,4),new e(81,4),new e(97,4),new e(113,5),new e(145,5),new e(177,5),new e(209,5),new e(241,6),new e(305,6),new e(369,7),new e(497,8),new e(753,9),new e(1265,10),new e(2289,11),new e(4337,12),new e(8433,13),new e(16625,24)],Fp.kInsertLengthPrefixCode=[new e(0,0),new e(1,0),new e(2,0),new e(3,0),new e(4,0),new e(5,0),new e(6,1),new e(8,1),new e(10,2),new e(14,2),new e(18,3),new e(26,3),new e(34,4),new e(50,4),new e(66,5),new e(98,5),new e(130,6),new e(194,7),new e(322,8),new e(578,9),new e(1090,10),new e(2114,12),new e(6210,14),new e(22594,24)],Fp.kCopyLengthPrefixCode=[new e(2,0),new e(3,0),new e(4,0),new e(5,0),new e(6,0),new e(7,0),new e(8,0),new e(9,0),new e(10,1),new e(12,1),new e(14,2),new e(18,2),new e(22,3),new e(30,3),new e(38,4),new e(54,4),new e(70,5),new e(102,5),new e(134,6),new e(198,7),new e(326,8),new e(582,9),new e(1094,10),new e(2118,24)],Fp.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],Fp.kCopyRangeLut=[0,8,0,8,16,0,16,8,16],Fp}var Bx={},cT;function Jge(){if(cT)return Bx;cT=1;var e=CH(),t=0,r=1,n=2,i=3,s=4,o=5,l=6,c=7,d=8,u=9,h=10,p=11,A=12,y=13,v=14,w=15,j=16,E=17,S=18,_=20;function C(T,M,O){this.prefix=new Uint8Array(T.length),this.transform=M,this.suffix=new Uint8Array(O.length);for(var $=0;$'),new C("",t,` `),new C("",i,""),new C("",t,"]"),new C("",t," for "),new C("",v,""),new C("",n,""),new C("",t," a "),new C("",t," that "),new C(" ",h,""),new C("",t,". "),new C(".",t,""),new C(" ",t,", "),new C("",w,""),new C("",t," with "),new C("",t,"'"),new C("",t," from "),new C("",t," by "),new C("",j,""),new C("",E,""),new C(" the ",t,""),new C("",s,""),new C("",t,". The "),new C("",p,""),new C("",t," on "),new C("",t," as "),new C("",t," is "),new C("",c,""),new C("",r,"ing "),new C("",t,` `),new C("",t,":"),new C(" ",t,". "),new C("",t,"ed "),new C("",_,""),new C("",S,""),new C("",l,""),new C("",t,"("),new C("",h,", "),new C("",d,""),new C("",t," at "),new C("",t,"ly "),new C(" the ",t," of "),new C("",o,""),new C("",u,""),new C(" ",h,", "),new C("",h,'"'),new C(".",t,"("),new C("",p," "),new C("",h,'">'),new C("",t,'="'),new C(" ",t,"."),new C(".com/",t,""),new C(" the ",t," of the "),new C("",h,"'"),new C("",t,". This "),new C("",t,","),new C(".",t," "),new C("",h,"("),new C("",h,"."),new C("",t," not "),new C(" ",t,'="'),new C("",t,"er "),new C(" ",p," "),new C("",t,"al "),new C(" ",p,""),new C("",t,"='"),new C("",p,'"'),new C("",h,". "),new C(" ",t,"("),new C("",t,"ful "),new C(" ",h,". "),new C("",t,"ive "),new C("",t,"less "),new C("",p,"'"),new C("",t,"est "),new C(" ",h,"."),new C("",p,'">'),new C(" ",t,"='"),new C("",h,","),new C("",t,"ize "),new C("",p,"."),new C(" ",t,""),new C(" ",t,","),new C("",h,'="'),new C("",p,'="'),new C("",t,"ous "),new C("",p,", "),new C("",h,"='"),new C(" ",h,","),new C(" ",p,'="'),new C(" ",p,", "),new C("",p,","),new C("",p,"("),new C("",p,". "),new C(" ",p,"."),new C("",p,"='"),new C(" ",p,". "),new C(" ",h,'="'),new C(" ",p,"='"),new C(" ",h,"='")];Bx.kTransforms=Q,Bx.kNumTransforms=Q.length;function R(T,M){return T[M]<192?(T[M]>=97&&T[M]<=122&&(T[M]^=32),1):T[M]<224?(T[M+1]^=32,2):(T[M+2]^=5,3)}return Bx.transformDictionaryWord=function(T,M,O,$,P){var L=Q[P].prefix,X=Q[P].suffix,W=Q[P].transform,G=W$&&(G=$);for(var ne=0;ne0;){var V=R(T,ee);ee+=V,$-=V}for(var ue=0;ue0?17+Ne:(Ne=ve.readBits(3),Ne>0?8+Ne:17))}function O(ve){if(ve.readBits(1)){var Ne=ve.readBits(3);return Ne===0?1:ve.readBits(Ne)+(1<1&&Pe===0)throw new Error("Invalid size byte");Ne.meta_block_length|=Pe<4&&Ke===0)throw new Error("Invalid size nibble");Ne.meta_block_length|=Ke<>>Ie.bit_pos_&j,be=ve[Ne].bits-w,be>0&&(Ie.bit_pos_+=w,Ne+=ve[Ne].value,Ne+=Ie.val_>>>Ie.bit_pos_&(1<0;){var Pt=0,Kt;if(be.readMoreInput(),be.fillBitWindow(),Pt+=be.val_>>>be.bit_pos_&31,be.bit_pos_+=dt[Pt].bits,Kt=dt[Pt].value&255,Kt>Kt);else{var gt=Kt-14,Jt,Bt,tr=0;if(Kt===u&&(tr=Pe),tt!==tr&&(Ke=0,tt=tr),Jt=Ke,Ke>0&&(Ke-=2,Ke<<=gt),Ke+=be.readBits(gt)+3,Bt=Ke-Jt,Re+Bt>Ne)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var sr=0;sr0;++tt){var tr=_[tt],sr=0,xt;be.fillBitWindow(),sr+=be.val_>>>be.bit_pos_&15,be.bit_pos_+=Bt[sr].bits,xt=Bt[sr].value,Kt[tr]=xt,xt!==0&&(gt-=32>>xt,++Jt)}if(!(Jt===1||gt===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");X(Kt,ve,Ke,be)}if(Re=s(Ne,Ie,w,Ke,ve),Re===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return Re}function G(ve,Ne,Ie){var be,Re;return be=L(ve,Ne,Ie),Re=l.kBlockLengthPrefixCode[be].nbits,l.kBlockLengthPrefixCode[be].offset+Ie.readBits(Re)}function J(ve,Ne,Ie){var be;return ve>>5]),this.htrees=new Uint32Array(Ne)}ne.prototype.decode=function(ve){var Ne,Ie,be=0;for(Ne=0;Ne=ve)throw new Error("[DecodeContextMap] i >= context_map_size");pt[Ke]=0,++Ke}else pt[Ke]=dt-Re,++Ke}return Ne.readBits(1)&&ee(pt,ve),Ie}function ue(ve,Ne,Ie,be,Re,Pe,Ke){var tt=Ie*2,pt=Ie,dt=L(Ne,Ie*E,Ke),Oe;dt===0?Oe=Re[tt+(Pe[pt]&1)]:dt===1?Oe=Re[tt+(Pe[pt]-1&1)]+1:Oe=dt-2,Oe>=ve&&(Oe-=ve),be[Ie]=Oe,Re[tt+(Pe[pt]&1)]=Oe,++Pe[pt]}function de(ve,Ne,Ie,be,Re,Pe){var Ke=Re+1,tt=Ie&Re,pt=Pe.pos_&r.IBUF_MASK,dt;if(Ne<8||Pe.bit_pos_+(Ne<<3)0;)Pe.readMoreInput(),be[tt++]=Pe.readBits(8),tt===Ke&&(ve.write(be,Ke),tt=0);return}if(Pe.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;Pe.bit_pos_<32;)be[tt]=Pe.val_>>>Pe.bit_pos_,Pe.bit_pos_+=8,++tt,--Ne;if(dt=Pe.bit_end_pos_-Pe.bit_pos_>>3,pt+dt>r.IBUF_MASK){for(var Oe=r.IBUF_MASK+1-pt,Pt=0;Pt=Ke){ve.write(be,Ke),tt-=Ke;for(var Pt=0;Pt=Ke;){if(dt=Ke-tt,Pe.input_.read(be,tt,dt)Ne.buffer.length){var Ji=new Uint8Array(be+He);Ji.set(Ne.buffer),Ne.buffer=Ji}if(Re=xi.input_end,ce=xi.is_uncompressed,xi.is_metadata){for(xe(wt);He>0;--He)wt.readMoreInput(),wt.readBits(8);continue}if(He!==0){if(ce){wt.bit_pos_=wt.bit_pos_+7&-8,de(Ne,He,be,Oe,dt,wt),be+=He;continue}for(Ie=0;Ie<3;++Ie)ie[Ie]=O(wt)+1,ie[Ie]>=2&&(W(ie[Ie]+2,sr,Ie*E,wt),W(A,xt,Ie*E,wt),Le[Ie]=G(xt,Ie*E,wt),Ee[Ie]=1);for(wt.readMoreInput(),re=wt.readBits(2),We=C+(wt.readBits(4)<0;){var Sn,si,ia,aa,go,Ui,ni,Ma,Xa,es,Ua;for(wt.readMoreInput(),Le[1]===0&&(ue(ie[1],sr,1,rt,ae,Ee,wt),Le[1]=G(xt,E,wt),Zr=tr[1].htrees[rt[1]]),--Le[1],Sn=L(tr[1].codes,Zr,wt),si=Sn>>6,si>=2?(si-=2,ni=-1):ni=0,ia=l.kInsertRangeLut[si]+(Sn>>3&7),aa=l.kCopyRangeLut[si]+(Sn&7),go=l.kInsertLengthPrefixCode[ia].offset+wt.readBits(l.kInsertLengthPrefixCode[ia].nbits),Ui=l.kCopyLengthPrefixCode[aa].offset+wt.readBits(l.kCopyLengthPrefixCode[aa].nbits),Jt=Oe[be-1&dt],Bt=Oe[be-2&dt],es=0;es4?3:Ui-2)&255,kr=De[qr+Xa],ni=L(tr[2].codes,tr[2].htrees[kr],wt),ni>=We){var pr,Hs,wi;ni-=We,Hs=ni&Tt,ni>>=re,pr=(ni>>1)+1,wi=(2+(ni&1)<tt)if(Ui>=n.minDictionaryWordLength&&Ui<=n.maxDictionaryWordLength){var wi=n.offsetsByLength[Ui],za=Ma-tt-1,$a=n.sizeBitsByLength[Ui],qs=(1<<$a)-1,to=za&qs,Ha=za>>$a;if(wi+=to*Ui,Ha=Pt){Ne.write(Oe,pt);for(var Bs=0;Bs0&&(Kt[gt&3]=Ma,++gt),Ui>He)throw new Error("Invalid backward reference. pos: "+be+" distance: "+Ma+" len: "+Ui+" bytes left: "+He);for(es=0;esrAe);Cy(Iy,"registerFormat",()=>K1);Cy(Iy,"create",()=>bv);Cy(Iy,"defaultLanguage",()=>vw);Cy(Iy,"setDefaultLanguage",()=>nAe);let rAe=!1,CN=[];function K1(e){CN.push(e)}function bv(e,t){for(let r=0;r0?o[0]:"value";if(i.has(l))return i.get(l);let c=n.apply(this,o);return i.set(l,c),c}return Object.defineProperty(this,t,{value:s}),s}}}}let iAe=new ct({firstCode:Y,entryCount:Y,idDelta:Ht,idRangeOffset:Y}),GI=new ct({startCharCode:et,endCharCode:et,glyphID:et}),aAe=new ct({startUnicodeValue:ym,additionalCount:lr}),sAe=new ct({unicodeValue:ym,glyphID:Y}),oAe=new Ye(aAe,et),lAe=new Ye(sAe,et),cAe=new ct({varSelector:ym,defaultUVS:new Je(et,oAe,{type:"parent"}),nonDefaultUVS:new Je(et,lAe,{type:"parent"})}),uAe=new Un(Y,{0:{length:Y,language:Y,codeMap:new Yi(lr,256)},2:{length:Y,language:Y,subHeaderKeys:new Ye(Y,256),subHeaderCount:e=>Math.max.apply(Math,e.subHeaderKeys),subHeaders:new Yi(iAe,"subHeaderCount"),glyphIndexArray:new Yi(Y,"subHeaderCount")},4:{length:Y,language:Y,segCountX2:Y,segCount:e=>e.segCountX2>>1,searchRange:Y,entrySelector:Y,rangeShift:Y,endCode:new Yi(Y,"segCount"),reservedPad:new Ia(Y),startCode:new Yi(Y,"segCount"),idDelta:new Yi(Ht,"segCount"),idRangeOffset:new Yi(Y,"segCount"),glyphIndexArray:new Yi(Y,e=>(e.length-e._currentOffset)/2)},6:{length:Y,language:Y,firstCode:Y,entryCount:Y,glyphIndices:new Yi(Y,"entryCount")},8:{reserved:new Ia(Y),length:et,language:Y,is32:new Yi(lr,8192),nGroups:et,groups:new Yi(GI,"nGroups")},10:{reserved:new Ia(Y),length:et,language:et,firstCode:et,entryCount:et,glyphIndices:new Yi(Y,"numChars")},12:{reserved:new Ia(Y),length:et,language:et,nGroups:et,groups:new Yi(GI,"nGroups")},13:{reserved:new Ia(Y),length:et,language:et,nGroups:et,groups:new Yi(GI,"nGroups")},14:{length:et,numRecords:et,varSelectors:new Yi(cAe,"numRecords")}}),dAe=new ct({platformID:Y,encodingID:Y,table:new Je(et,uAe,{type:"parent",lazy:!0})});var fAe=new ct({version:Y,numSubtables:Y,tables:new Ye(dAe,"numSubtables")}),hAe=new ct({version:Gp,revision:Gp,checkSumAdjustment:et,magicNumber:et,flags:Y,unitsPerEm:Y,created:new Ye(Gp,2),modified:new Ye(Gp,2),xMin:Ht,yMin:Ht,xMax:Ht,yMax:Ht,macStyle:new H0(Y,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:Y,fontDirectionHint:Ht,indexToLocFormat:Ht,glyphDataFormat:Ht}),mAe=new ct({version:Gp,ascent:Ht,descent:Ht,lineGap:Ht,advanceWidthMax:Y,minLeftSideBearing:Ht,minRightSideBearing:Ht,xMaxExtent:Ht,caretSlopeRise:Ht,caretSlopeRun:Ht,caretOffset:Ht,reserved:new Ia(Ht,4),metricDataFormat:Ht,numberOfMetrics:Y});let pAe=new ct({advance:Y,bearing:Ht});var gAe=new ct({metrics:new Yi(pAe,e=>e.parent.hhea.numberOfMetrics),bearings:new Yi(Ht,e=>e.parent.maxp.numGlyphs-e.parent.hhea.numberOfMetrics)}),AAe=new ct({version:Gp,numGlyphs:Y,maxPoints:Y,maxContours:Y,maxComponentPoints:Y,maxComponentContours:Y,maxZones:Y,maxTwilightPoints:Y,maxStorage:Y,maxFunctionDefs:Y,maxInstructionDefs:Y,maxStackElements:Y,maxSizeOfInstructions:Y,maxComponentElements:Y,maxComponentDepth:Y});function jH(e,t,r=0){return e===1&&fT[r]?fT[r]:bAe[e][t]}const xAe=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),vAe={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"},VI=new Map;function yAe(e){let t=VI.get(e);if(t)return t;let r=vAe[e];if(r){let n=new Map;for(let i=0;ijH(e.platformID,e.encodingID,e.languageID)),{type:"parent",relativeTo:e=>e.parent.stringOffset,allowNull:!1})}),EAe=new ct({length:Y,tag:new Je(Y,new Di("length","utf16be"),{type:"parent",relativeTo:e=>e.stringOffset})});var yw=new Un(Y,{0:{count:Y,stringOffset:Y,records:new Ye(hT,"count")},1:{count:Y,stringOffset:Y,records:new Ye(hT,"count"),langTagCount:Y,langTags:new Ye(EAe,"langTagCount")}}),CAe=yw;const IN=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];yw.process=function(e){var t={};for(let r of this.records){let n=wAe[r.platformID][r.languageID];n==null&&this.langTags!=null&&r.languageID>=32768&&(n=this.langTags[r.languageID-32768].tag),n==null&&(n=r.platformID+"-"+r.languageID);let i=r.nameID>=256?"fontFeatures":IN[r.nameID]||r.nameID;t[i]==null&&(t[i]={});let s=t[i];r.nameID>=256&&(s=s[r.nameID]||(s[r.nameID]={})),(typeof r.string=="string"||typeof s[n]!="string")&&(s[n]=r.string)}this.records=t};yw.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let e=[];for(let t in this.records){let r=this.records[t];t!=="fontFeatures"&&(e.push({platformID:3,encodingID:1,languageID:1033,nameID:IN.indexOf(t),length:r.en.length*2,string:r.en}),t==="postscriptName"&&e.push({platformID:1,encodingID:0,languageID:0,nameID:IN.indexOf(t),length:r.en.length,string:r.en}))}this.records=e,this.count=e.length,this.stringOffset=yw.size(this,null,!1)};var NH=new Un(Y,{header:{xAvgCharWidth:Ht,usWeightClass:Y,usWidthClass:Y,fsType:new H0(Y,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:Ht,ySubscriptYSize:Ht,ySubscriptXOffset:Ht,ySubscriptYOffset:Ht,ySuperscriptXSize:Ht,ySuperscriptYSize:Ht,ySuperscriptXOffset:Ht,ySuperscriptYOffset:Ht,yStrikeoutSize:Ht,yStrikeoutPosition:Ht,sFamilyClass:Ht,panose:new Ye(lr,10),ulCharRange:new Ye(et,4),vendorID:new Di(4),fsSelection:new H0(Y,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:Y,usLastCharIndex:Y},0:{},1:{typoAscender:Ht,typoDescender:Ht,typoLineGap:Ht,winAscent:Y,winDescent:Y,codePageRange:new Ye(et,2)},2:{typoAscender:Ht,typoDescender:Ht,typoLineGap:Ht,winAscent:Y,winDescent:Y,codePageRange:new Ye(et,2),xHeight:Ht,capHeight:Ht,defaultChar:Y,breakChar:Y,maxContent:Y},5:{typoAscender:Ht,typoDescender:Ht,typoLineGap:Ht,winAscent:Y,winDescent:Y,codePageRange:new Ye(et,2),xHeight:Ht,capHeight:Ht,defaultChar:Y,breakChar:Y,maxContent:Y,usLowerOpticalPointSize:Y,usUpperOpticalPointSize:Y}});let WI=NH.versions;WI[3]=WI[4]=WI[2];var IAe=NH,jAe=new Un(Is,{header:{italicAngle:Is,underlinePosition:Ht,underlineThickness:Ht,isFixedPitch:et,minMemType42:et,maxMemType42:et,minMemType1:et,maxMemType1:et},1:{},2:{numberOfGlyphs:Y,glyphNameIndex:new Ye(Y,"numberOfGlyphs"),names:new Ye(new Di(lr))},2.5:{numberOfGlyphs:Y,offsets:new Ye(lr,"numberOfGlyphs")},3:{},4:{map:new Ye(et,e=>e.parent.maxp.numGlyphs)}}),NAe=new ct({controlValues:new Ye(Ht)}),SAe=new ct({instructions:new Ye(lr)});let iB=new Un("head.indexToLocFormat",{0:{offsets:new Ye(Y)},1:{offsets:new Ye(et)}});iB.process=function(){if(this.version===0&&!this._processed){for(let e=0;e>>=1;this._processed=!1}};var BAe=iB,kAe=new ct({controlValueProgram:new Ye(lr)}),_Ae=new Ye(new cl);class _d{getCFFVersion(t){for(;t&&!t.hdrSize;)t=t.parent;return t?t.version:-1}decode(t,r){let i=this.getCFFVersion(r)>=2?t.readUInt32BE():t.readUInt16BE();if(i===0)return[];let s=t.readUInt8(),o;if(s===1)o=lr;else if(s===2)o=Y;else if(s===3)o=ym;else if(s===4)o=et;else throw new Error(`Bad offset size in CFFIndex: ${s} ${t.pos}`);let l=[],c=t.pos+(i+1)*s-1,d=o.decode(t);for(let u=0;u>4;if(s===kx)break;n+=mT[s];let o=i&15;if(o===kx)break;n+=mT[o]}return parseFloat(n)}return null}static size(t){if(t.forceLarge&&(t=32768),(t|0)!==t){let r=""+t;return 1+Math.ceil((r.length+1)/2)}else return-107<=t&&t<=107?1:108<=t&&t<=1131||-1131<=t&&t<=-108?2:-32768<=t&&t<=32767?3:5}static encode(t,r){let n=Number(r);if(r.forceLarge)return t.writeUInt8(29),t.writeInt32BE(n);if((n|0)!==n){t.writeUInt8(30);let s=""+n;for(let o=0;o>8)+247),t.writeUInt8(n&255)):-1131<=n&&n<=-108?(n=-n-108,t.writeUInt8((n>>8)+251),t.writeUInt8(n&255)):-32768<=n&&n<=32767?(t.writeUInt8(28),t.writeInt16BE(n)):(t.writeUInt8(29),t.writeInt32BE(n))}}class W4{decodeOperands(t,r,n,i){if(Array.isArray(t))return i.map((s,o)=>this.decodeOperands(t[o],r,n,[s]));if(t.decode!=null)return t.decode(r,n,i);switch(t){case"number":case"offset":case"sid":return i[0];case"boolean":return!!i[0];default:return i}}encodeOperands(t,r,n,i){return Array.isArray(t)?i.map((s,o)=>this.encodeOperands(t[o],r,n,s)[0]):t.encode!=null?t.encode(r,i,n):typeof i=="number"?[i]:typeof i=="boolean"?[+i]:Array.isArray(i)?i:[i]}decode(t,r){let n=t.pos+r.length,i={},s=[];Object.defineProperties(i,{parent:{value:r},_startOffset:{value:t.pos}});for(let o in this.fields){let l=this.fields[o];i[l[1]]=l[3]}for(;t.posn[0]},super.decode(t,r,n)}encode(t,r,n){if(!t)return this.offsetType={size:()=>0},this.size(r,n),[new gT(0)];let i=null;return this.offsetType={encode:(s,o)=>i=o},super.encode(t,r,n),[new gT(i)]}constructor(t,r={}){r.type==null&&(r.type="global"),super(null,t,r)}}class gT{valueOf(){return this.val}constructor(t){this.val=t,this.forceLarge=!0}}class DAe{static decode(t,r,n){let i=n.pop();for(;n.length>i;)n.pop()}}var jN=new W4([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",DAe,null],[19,"Subrs",new T0(new _d,{type:"local"}),null]]),Xb=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];let SH=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],TAe=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],BH=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],RAe=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],PAe=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],kH=new ct({reserved:new Ia(Y),reqFeatureIndex:Y,featureCount:Y,featureIndexes:new Ye(Y,"featureCount")}),QAe=new ct({tag:new Di(4),langSys:new Je(Y,kH,{type:"parent"})}),FAe=new ct({defaultLangSys:new Je(Y,kH),count:Y,langSysRecords:new Ye(QAe,"count")}),OAe=new ct({tag:new Di(4),script:new Je(Y,FAe,{type:"parent"})}),_H=new Ye(OAe,Y),LAe=new ct({version:Y,nameID:Y}),DH=new ct({featureParams:new Je(Y,LAe),lookupCount:Y,lookupListIndexes:new Ye(Y,"lookupCount")}),MAe=new ct({tag:new Di(4),feature:new Je(Y,DH,{type:"parent"})}),TH=new Ye(MAe,Y),UAe=new ct({markAttachmentType:lr,flags:new H0(lr,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function bw(e){let t=new ct({lookupType:Y,flags:UAe,subTableCount:Y,subTables:new Ye(new Je(Y,e),"subTableCount"),markFilteringSet:new xw(Y,r=>r.flags.flags.useMarkFilteringSet)});return new Yi(new Je(Y,t),Y)}let zAe=new ct({start:Y,end:Y,startCoverageIndex:Y}),Hi=new Un(Y,{1:{glyphCount:Y,glyphs:new Ye(Y,"glyphCount")},2:{rangeCount:Y,rangeRecords:new Ye(zAe,"rangeCount")}}),$Ae=new ct({start:Y,end:Y,class:Y}),bm=new Un(Y,{1:{startGlyph:Y,glyphCount:Y,classValueArray:new Ye(Y,"glyphCount")},2:{classRangeCount:Y,classRangeRecord:new Ye($Ae,"classRangeCount")}}),fm=new ct({a:Y,b:Y,deltaFormat:Y}),jy=new ct({sequenceIndex:Y,lookupListIndex:Y}),HAe=new ct({glyphCount:Y,lookupCount:Y,input:new Ye(Y,e=>e.glyphCount-1),lookupRecords:new Ye(jy,"lookupCount")}),qAe=new Ye(new Je(Y,HAe),Y),GAe=new ct({glyphCount:Y,lookupCount:Y,classes:new Ye(Y,e=>e.glyphCount-1),lookupRecords:new Ye(jy,"lookupCount")}),VAe=new Ye(new Je(Y,GAe),Y),RH=new Un(Y,{1:{coverage:new Je(Y,Hi),ruleSetCount:Y,ruleSets:new Ye(new Je(Y,qAe),"ruleSetCount")},2:{coverage:new Je(Y,Hi),classDef:new Je(Y,bm),classSetCnt:Y,classSet:new Ye(new Je(Y,VAe),"classSetCnt")},3:{glyphCount:Y,lookupCount:Y,coverages:new Ye(new Je(Y,Hi),"glyphCount"),lookupRecords:new Ye(jy,"lookupCount")}}),WAe=new ct({backtrackGlyphCount:Y,backtrack:new Ye(Y,"backtrackGlyphCount"),inputGlyphCount:Y,input:new Ye(Y,e=>e.inputGlyphCount-1),lookaheadGlyphCount:Y,lookahead:new Ye(Y,"lookaheadGlyphCount"),lookupCount:Y,lookupRecords:new Ye(jy,"lookupCount")}),AT=new Ye(new Je(Y,WAe),Y),PH=new Un(Y,{1:{coverage:new Je(Y,Hi),chainCount:Y,chainRuleSets:new Ye(new Je(Y,AT),"chainCount")},2:{coverage:new Je(Y,Hi),backtrackClassDef:new Je(Y,bm),inputClassDef:new Je(Y,bm),lookaheadClassDef:new Je(Y,bm),chainCount:Y,chainClassSet:new Ye(new Je(Y,AT),"chainCount")},3:{backtrackGlyphCount:Y,backtrackCoverage:new Ye(new Je(Y,Hi),"backtrackGlyphCount"),inputGlyphCount:Y,inputCoverage:new Ye(new Je(Y,Hi),"inputGlyphCount"),lookaheadGlyphCount:Y,lookaheadCoverage:new Ye(new Je(Y,Hi),"lookaheadGlyphCount"),lookupCount:Y,lookupRecords:new Ye(jy,"lookupCount")}}),Wx=new Fg(16,"BE",14),KAe=new ct({startCoord:Wx,peakCoord:Wx,endCoord:Wx}),YAe=new ct({axisCount:Y,regionCount:Y,variationRegions:new Ye(new Ye(KAe,"axisCount"),"regionCount")}),ZAe=new ct({shortDeltas:new Ye(Ht,e=>e.parent.shortDeltaCount),regionDeltas:new Ye(co,e=>e.parent.regionIndexCount-e.parent.shortDeltaCount),deltas:e=>e.shortDeltas.concat(e.regionDeltas)}),JAe=new ct({itemCount:Y,shortDeltaCount:Y,regionIndexCount:Y,regionIndexes:new Ye(Y,"regionIndexCount"),deltaSets:new Ye(ZAe,"itemCount")}),K4=new ct({format:Y,variationRegionList:new Je(et,YAe),variationDataCount:Y,itemVariationData:new Ye(new Je(et,JAe),"variationDataCount")}),XAe=new Un(Y,{1:{axisIndex:Y,axisIndex:Y,filterRangeMinValue:Wx,filterRangeMaxValue:Wx}}),e1e=new ct({conditionCount:Y,conditionTable:new Ye(new Je(et,XAe),"conditionCount")}),t1e=new ct({featureIndex:Y,alternateFeatureTable:new Je(et,DH,{type:"parent"})}),r1e=new ct({version:Is,substitutionCount:Y,substitutions:new Ye(t1e,"substitutionCount")}),n1e=new ct({conditionSet:new Je(et,e1e,{type:"parent"}),featureTableSubstitution:new Je(et,r1e,{type:"parent"})}),QH=new ct({majorVersion:Y,minorVersion:Y,featureVariationRecordCount:et,featureVariationRecords:new Ye(n1e,"featureVariationRecordCount")});class FH{decode(t,r,n){return this.predefinedOps[n[0]]?this.predefinedOps[n[0]]:this.type.decode(t,r,n)}size(t,r){return this.type.size(t,r)}encode(t,r,n){let i=this.predefinedOps.indexOf(r);return i!==-1?i:this.type.encode(t,r,n)}constructor(t,r){this.predefinedOps=t,this.type=r}}class i1e extends Li{decode(t){return lr.decode(t)&127}constructor(){super("UInt8")}}let OH=new ct({first:Y,nLeft:lr}),a1e=new ct({first:Y,nLeft:Y}),s1e=new Un(new i1e,{0:{nCodes:lr,codes:new Ye(lr,"nCodes")},1:{nRanges:lr,ranges:new Ye(OH,"nRanges")}}),o1e=new FH([SH,TAe],new T0(s1e,{lazy:!0}));class xT extends Ye{decode(t,r){let n=Kd(this.length,t,r),i=0,s=[];for(;ie.parent.CharStrings.length-1)},1:{ranges:new xT(OH,e=>e.parent.CharStrings.length-1)},2:{ranges:new xT(a1e,e=>e.parent.CharStrings.length-1)}}),c1e=new FH([BH,RAe,PAe],new T0(l1e,{lazy:!0})),u1e=new ct({first:Y,fd:lr}),d1e=new ct({first:et,fd:Y}),LH=new Un(lr,{0:{fds:new Ye(lr,e=>e.parent.CharStrings.length)},3:{nRanges:Y,ranges:new Ye(u1e,"nRanges"),sentinel:Y},4:{nRanges:et,ranges:new Ye(d1e,"nRanges"),sentinel:et}}),YI=new T0(jN);class MH{decode(t,r,n){return r.length=n[0],YI.decode(t,r,[n[1]])}size(t,r){return[jN.size(t,r,!1),YI.size(t,r)[0]]}encode(t,r,n){return[jN.size(r,n,!1),YI.encode(t,r,n)[0]]}}let UH=new W4([[18,"Private",new MH,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),f1e=new W4([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",c1e,BH],[16,"Encoding",o1e,SH],[17,"CharStrings",new T0(new _d),null],[18,"Private",new MH,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new T0(LH),null],[[12,36],"FDArray",new T0(new _d(UH)),null],[[12,38],"FontName","sid",null]]),h1e=new ct({length:Y,itemVariationStore:K4}),m1e=new W4([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new T0(new _d),null],[[12,37],"FDSelect",new T0(LH),null],[[12,36],"FDArray",new T0(new _d(UH)),null],[24,"vstore",new T0(h1e),null],[25,"maxstack","number",193]]),p1e=new Un(uge,{1:{hdrSize:lr,offSize:lr,nameIndex:new _d(new Di("length")),topDictIndex:new _d(f1e),stringIndex:new _d(new Di("length")),globalSubrIndex:new _d},2:{hdrSize:lr,length:Y,topDict:m1e,globalSubrIndex:new _d}});var zH=p1e;class aB{static decode(t){return new aB(t)}decode(){this.stream.pos;let t=zH.decode(this.stream);for(let r in t){let n=t[r];this[r]=n}if(this.version<2){if(this.topDictIndex.length!==1)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=this.topDict.ROS!=null,this}string(t){return this.version>=2?null:t=2||this.isCIDFont)return null;let{charset:r}=this.topDict;if(Array.isArray(r))return r[t];if(t===0)return".notdef";switch(t-=1,r.version){case 0:return this.string(r.glyphs[t]);case 1:case 2:for(let n=0;n>1;if(t=r[s+1].first)n=s+1;else return r[s].fd}default:throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(t){if(this.topDict.FDSelect){let r=this.fdForGlyph(t);return this.topDict.FDArray[r]?this.topDict.FDArray[r].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(t){this.stream=t,this.decode()}}var $H=aB;let g1e=new ct({glyphIndex:Y,vertOriginY:Ht});var A1e=new ct({majorVersion:Y,minorVersion:Y,defaultVertOriginY:Ht,numVertOriginYMetrics:Y,metrics:new Ye(g1e,"numVertOriginYMetrics")});let OA=new ct({height:lr,width:lr,horiBearingX:co,horiBearingY:co,horiAdvance:lr,vertBearingX:co,vertBearingY:co,vertAdvance:lr}),lb=new ct({height:lr,width:lr,bearingX:co,bearingY:co,advance:lr}),vT=new ct({glyph:Y,xOffset:co,yOffset:co});class yT{}class ZI{}new Un("version",{1:{metrics:lb,data:yT},2:{metrics:lb,data:ZI},5:{data:ZI},6:{metrics:OA,data:yT},7:{metrics:OA,data:ZI},8:{metrics:lb,pad:new Ia(lr),numComponents:Y,components:new Ye(vT,"numComponents")},9:{metrics:OA,pad:new Ia(lr),numComponents:Y,components:new Ye(vT,"numComponents")},17:{metrics:lb,dataLen:et,data:new cl("dataLen")},18:{metrics:OA,dataLen:et,data:new cl("dataLen")},19:{dataLen:et,data:new cl("dataLen")}});let bT=new ct({ascender:co,descender:co,widthMax:lr,caretSlopeNumerator:co,caretSlopeDenominator:co,caretOffset:co,minOriginSB:co,minAdvanceSB:co,maxBeforeBL:co,minAfterBL:co,pad:new Ia(co,2)}),x1e=new ct({glyphCode:Y,offset:Y}),v1e=new Un(Y,{header:{imageFormat:Y,imageDataOffset:et},1:{offsetArray:new Ye(et,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},2:{imageSize:et,bigMetrics:OA},3:{offsetArray:new Ye(Y,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},4:{numGlyphs:et,glyphArray:new Ye(x1e,e=>e.numGlyphs+1)},5:{imageSize:et,bigMetrics:OA,numGlyphs:et,glyphCodeArray:new Ye(Y,"numGlyphs")}}),y1e=new ct({firstGlyphIndex:Y,lastGlyphIndex:Y,subtable:new Je(et,v1e)}),b1e=new ct({indexSubTableArray:new Je(et,new Ye(y1e,1),{type:"parent"}),indexTablesSize:et,numberOfIndexSubTables:et,colorRef:et,hori:bT,vert:bT,startGlyphIndex:Y,endGlyphIndex:Y,ppemX:lr,ppemY:lr,bitDepth:lr,flags:new H0(lr,["horizontal","vertical"])});var w1e=new ct({version:et,numSizes:et,sizes:new Ye(b1e,"numSizes")});let E1e=new ct({ppem:Y,resolution:Y,imageOffsets:new Ye(new Je(et,"void"),e=>e.parent.parent.maxp.numGlyphs+1)});var C1e=new ct({version:Y,flags:new H0(Y,["renderOutlines"]),numImgTables:et,imageTables:new Ye(new Je(et,E1e),"numImgTables")});let I1e=new ct({gid:Y,paletteIndex:Y}),j1e=new ct({gid:Y,firstLayerIndex:Y,numLayers:Y});var N1e=new ct({version:Y,numBaseGlyphRecords:Y,baseGlyphRecord:new Je(et,new Ye(j1e,"numBaseGlyphRecords")),layerRecords:new Je(et,new Ye(I1e,"numLayerRecords"),{lazy:!0}),numLayerRecords:Y});let S1e=new ct({blue:lr,green:lr,red:lr,alpha:lr});var B1e=new Un(Y,{header:{numPaletteEntries:Y,numPalettes:Y,numColorRecords:Y,colorRecords:new Je(et,new Ye(S1e,"numColorRecords")),colorRecordIndices:new Ye(Y,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new Je(et,new Ye(et,"numPalettes")),offsetPaletteLabelArray:new Je(et,new Ye(Y,"numPalettes")),offsetPaletteEntryLabelArray:new Je(et,new Ye(Y,"numPaletteEntries"))}});let wv=new Un(Y,{1:{coordinate:Ht},2:{coordinate:Ht,referenceGlyph:Y,baseCoordPoint:Y},3:{coordinate:Ht,deviceTable:new Je(Y,fm)}}),k1e=new ct({defaultIndex:Y,baseCoordCount:Y,baseCoords:new Ye(new Je(Y,wv),"baseCoordCount")}),_1e=new ct({tag:new Di(4),minCoord:new Je(Y,wv,{type:"parent"}),maxCoord:new Je(Y,wv,{type:"parent"})}),HH=new ct({minCoord:new Je(Y,wv),maxCoord:new Je(Y,wv),featMinMaxCount:Y,featMinMaxRecords:new Ye(_1e,"featMinMaxCount")}),D1e=new ct({tag:new Di(4),minMax:new Je(Y,HH,{type:"parent"})}),T1e=new ct({baseValues:new Je(Y,k1e),defaultMinMax:new Je(Y,HH),baseLangSysCount:Y,baseLangSysRecords:new Ye(D1e,"baseLangSysCount")}),R1e=new ct({tag:new Di(4),script:new Je(Y,T1e,{type:"parent"})}),P1e=new Ye(R1e,Y),Q1e=new Ye(new Di(4),Y),wT=new ct({baseTagList:new Je(Y,Q1e),baseScriptList:new Je(Y,P1e)});var F1e=new Un(et,{header:{horizAxis:new Je(Y,wT),vertAxis:new Je(Y,wT)},65536:{},65537:{itemVariationStore:new Je(et,K4)}});let O1e=new Ye(Y,Y),L1e=new ct({coverage:new Je(Y,Hi),glyphCount:Y,attachPoints:new Ye(new Je(Y,O1e),"glyphCount")}),M1e=new Un(Y,{1:{coordinate:Ht},2:{caretValuePoint:Y},3:{coordinate:Ht,deviceTable:new Je(Y,fm)}}),U1e=new Ye(new Je(Y,M1e),Y),z1e=new ct({coverage:new Je(Y,Hi),ligGlyphCount:Y,ligGlyphs:new Ye(new Je(Y,U1e),"ligGlyphCount")}),ET=new ct({markSetTableFormat:Y,markSetCount:Y,coverage:new Ye(new Je(et,Hi),"markSetCount")});var $1e=new Un(et,{header:{glyphClassDef:new Je(Y,bm),attachList:new Je(Y,L1e),ligCaretList:new Je(Y,z1e),markAttachClassDef:new Je(Y,bm)},65536:{},65538:{markGlyphSetsDef:new Je(Y,ET)},65539:{markGlyphSetsDef:new Je(Y,ET),itemVariationStore:new Je(et,K4)}});let CA=new H0(Y,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),H1e={xPlacement:Ht,yPlacement:Ht,xAdvance:Ht,yAdvance:Ht,xPlaDevice:new Je(Y,fm,{type:"global",relativeTo:e=>e.rel}),yPlaDevice:new Je(Y,fm,{type:"global",relativeTo:e=>e.rel}),xAdvDevice:new Je(Y,fm,{type:"global",relativeTo:e=>e.rel}),yAdvDevice:new Je(Y,fm,{type:"global",relativeTo:e=>e.rel})};class p1{buildStruct(t){let r=t;for(;!r[this.key]&&r.parent;)r=r.parent;if(!r[this.key])return;let n={};n.rel=()=>r._startOffset;let i=r[this.key];for(let s in i)i[s]&&(n[s]=H1e[s]);return new ct(n)}size(t,r){return this.buildStruct(r).size(t,r)}decode(t,r){let n=this.buildStruct(r).decode(t,r);return delete n.rel,n}constructor(t="valueFormat"){this.key=t}}let q1e=new ct({secondGlyph:Y,value1:new p1("valueFormat1"),value2:new p1("valueFormat2")}),G1e=new Ye(q1e,Y),V1e=new ct({value1:new p1("valueFormat1"),value2:new p1("valueFormat2")}),Ev=new Un(Y,{1:{xCoordinate:Ht,yCoordinate:Ht},2:{xCoordinate:Ht,yCoordinate:Ht,anchorPoint:Y},3:{xCoordinate:Ht,yCoordinate:Ht,xDeviceTable:new Je(Y,fm),yDeviceTable:new Je(Y,fm)}}),W1e=new ct({entryAnchor:new Je(Y,Ev,{type:"parent"}),exitAnchor:new Je(Y,Ev,{type:"parent"})}),K1e=new ct({class:Y,markAnchor:new Je(Y,Ev,{type:"parent"})}),JI=new Ye(K1e,Y),Y1e=new Ye(new Je(Y,Ev),e=>e.parent.classCount),CT=new Ye(Y1e,Y),Z1e=new Ye(new Je(Y,Ev),e=>e.parent.parent.classCount),J1e=new Ye(Z1e,Y),X1e=new Ye(new Je(Y,J1e),Y),Cv=new Un("lookupType",{1:new Un(Y,{1:{coverage:new Je(Y,Hi),valueFormat:CA,value:new p1},2:{coverage:new Je(Y,Hi),valueFormat:CA,valueCount:Y,values:new Yi(new p1,"valueCount")}}),2:new Un(Y,{1:{coverage:new Je(Y,Hi),valueFormat1:CA,valueFormat2:CA,pairSetCount:Y,pairSets:new Yi(new Je(Y,G1e),"pairSetCount")},2:{coverage:new Je(Y,Hi),valueFormat1:CA,valueFormat2:CA,classDef1:new Je(Y,bm),classDef2:new Je(Y,bm),class1Count:Y,class2Count:Y,classRecords:new Yi(new Yi(V1e,"class2Count"),"class1Count")}}),3:{format:Y,coverage:new Je(Y,Hi),entryExitCount:Y,entryExitRecords:new Ye(W1e,"entryExitCount")},4:{format:Y,markCoverage:new Je(Y,Hi),baseCoverage:new Je(Y,Hi),classCount:Y,markArray:new Je(Y,JI),baseArray:new Je(Y,CT)},5:{format:Y,markCoverage:new Je(Y,Hi),ligatureCoverage:new Je(Y,Hi),classCount:Y,markArray:new Je(Y,JI),ligatureArray:new Je(Y,X1e)},6:{format:Y,mark1Coverage:new Je(Y,Hi),mark2Coverage:new Je(Y,Hi),classCount:Y,mark1Array:new Je(Y,JI),mark2Array:new Je(Y,CT)},7:RH,8:PH,9:{posFormat:Y,lookupType:Y,extension:new Je(et,null)}});Cv.versions[9].extension.type=Cv;var exe=new Un(et,{header:{scriptList:new Je(Y,_H),featureList:new Je(Y,TH),lookupList:new Je(Y,new bw(Cv))},65536:{},65537:{featureVariations:new Je(et,QH)}});let qH=new Ye(Y,Y),txe=qH,rxe=new ct({glyph:Y,compCount:Y,components:new Ye(Y,e=>e.compCount-1)}),nxe=new Ye(new Je(Y,rxe),Y),NN=new Un("lookupType",{1:new Un(Y,{1:{coverage:new Je(Y,Hi),deltaGlyphID:Ht},2:{coverage:new Je(Y,Hi),glyphCount:Y,substitute:new Yi(Y,"glyphCount")}}),2:{substFormat:Y,coverage:new Je(Y,Hi),count:Y,sequences:new Yi(new Je(Y,qH),"count")},3:{substFormat:Y,coverage:new Je(Y,Hi),count:Y,alternateSet:new Yi(new Je(Y,txe),"count")},4:{substFormat:Y,coverage:new Je(Y,Hi),count:Y,ligatureSets:new Yi(new Je(Y,nxe),"count")},5:RH,6:PH,7:{substFormat:Y,lookupType:Y,extension:new Je(et,null)},8:{substFormat:Y,coverage:new Je(Y,Hi),backtrackCoverage:new Ye(new Je(Y,Hi),"backtrackGlyphCount"),lookaheadGlyphCount:Y,lookaheadCoverage:new Ye(new Je(Y,Hi),"lookaheadGlyphCount"),glyphCount:Y,substitutes:new Ye(Y,"glyphCount")}});NN.versions[7].extension.type=NN;var ixe=new Un(et,{header:{scriptList:new Je(Y,_H),featureList:new Je(Y,TH),lookupList:new Je(Y,new bw(NN))},65536:{},65537:{featureVariations:new Je(et,QH)}});let Yh=new Ye(Y,Y),axe=new ct({shrinkageEnableGSUB:new Je(Y,Yh),shrinkageDisableGSUB:new Je(Y,Yh),shrinkageEnableGPOS:new Je(Y,Yh),shrinkageDisableGPOS:new Je(Y,Yh),shrinkageJstfMax:new Je(Y,new bw(Cv)),extensionEnableGSUB:new Je(Y,Yh),extensionDisableGSUB:new Je(Y,Yh),extensionEnableGPOS:new Je(Y,Yh),extensionDisableGPOS:new Je(Y,Yh),extensionJstfMax:new Je(Y,new bw(Cv))}),GH=new Ye(new Je(Y,axe),Y),sxe=new ct({tag:new Di(4),jstfLangSys:new Je(Y,GH)}),oxe=new ct({extenderGlyphs:new Je(Y,new Ye(Y,Y)),defaultLangSys:new Je(Y,GH),langSysCount:Y,langSysRecords:new Ye(sxe,"langSysCount")}),lxe=new ct({tag:new Di(4),script:new Je(Y,oxe,{type:"parent"})});var cxe=new ct({version:et,scriptCount:Y,scriptList:new Ye(lxe,"scriptCount")});class uxe{decode(t,r){switch(this.size(0,r)){case 1:return t.readUInt8();case 2:return t.readUInt16BE();case 3:return t.readUInt24BE();case 4:return t.readUInt32BE()}}size(t,r){return Kd(this._size,null,r)}constructor(t){this._size=t}}let dxe=new ct({entry:new uxe(e=>((e.parent.entryFormat&48)>>4)+1),outerIndex:e=>e.entry>>(e.parent.entryFormat&15)+1,innerIndex:e=>e.entry&(1<<(e.parent.entryFormat&15)+1)-1}),XI=new ct({entryFormat:Y,mapCount:Y,mapData:new Ye(dxe,"mapCount")});var fxe=new ct({majorVersion:Y,minorVersion:Y,itemVariationStore:new Je(et,K4),advanceWidthMapping:new Je(et,XI),LSBMapping:new Je(et,XI),RSBMapping:new Je(et,XI)});let hxe=new ct({format:et,length:et,offset:et}),mxe=new ct({reserved:new Ia(Y,2),cbSignature:et,signature:new cl("cbSignature")});var pxe=new ct({ulVersion:et,usNumSigs:Y,usFlag:Y,signatures:new Ye(hxe,"usNumSigs"),signatureBlocks:new Ye(mxe,"usNumSigs")});let gxe=new ct({rangeMaxPPEM:Y,rangeGaspBehavior:new H0(Y,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])});var Axe=new ct({version:Y,numRanges:Y,gaspRanges:new Ye(gxe,"numRanges")});let xxe=new ct({pixelSize:lr,maximumWidth:lr,widths:new Ye(lr,e=>e.parent.parent.maxp.numGlyphs)});var vxe=new ct({version:Y,numRecords:Ht,sizeDeviceRecord:Gp,records:new Ye(xxe,"numRecords")});let yxe=new ct({left:Y,right:Y,value:Ht}),IT=new ct({firstGlyph:Y,nGlyphs:Y,offsets:new Ye(Y,"nGlyphs"),max:e=>e.offsets.length&&Math.max.apply(Math,e.offsets)}),bxe=new ct({off:e=>e._startOffset-e.parent.parent._startOffset,len:e=>((e.parent.leftTable.max-e.off)/e.parent.rowWidth+1)*(e.parent.rowWidth/2),values:new Yi(Ht,"len")}),jT=new Un("format",{0:{nPairs:Y,searchRange:Y,entrySelector:Y,rangeShift:Y,pairs:new Ye(yxe,"nPairs")},2:{rowWidth:Y,leftTable:new Je(Y,IT,{type:"parent"}),rightTable:new Je(Y,IT,{type:"parent"}),array:new Je(Y,bxe,{type:"parent"})},3:{glyphCount:Y,kernValueCount:lr,leftClassCount:lr,rightClassCount:lr,flags:lr,kernValue:new Ye(Ht,"kernValueCount"),leftClass:new Ye(lr,"glyphCount"),rightClass:new Ye(lr,"glyphCount"),kernIndex:new Ye(lr,e=>e.leftClassCount*e.rightClassCount)}}),NT=new Un("version",{0:{subVersion:Y,length:Y,format:lr,coverage:new H0(lr,["horizontal","minimum","crossStream","override"]),subtable:jT,padding:new Ia(lr,e=>e.length-e._currentOffset)},1:{length:et,coverage:new H0(lr,[null,null,null,null,null,"variation","crossStream","vertical"]),format:lr,tupleIndex:Y,subtable:jT,padding:new Ia(lr,e=>e.length-e._currentOffset)}});var wxe=new Un(Y,{0:{nTables:Y,tables:new Ye(NT,"nTables")},1:{reserved:new Ia(Y),nTables:et,tables:new Ye(NT,"nTables")}}),Exe=new ct({version:Y,numGlyphs:Y,yPels:new Ye(lr,"numGlyphs")}),Cxe=new ct({version:Y,fontNumber:et,pitch:Y,xHeight:Y,style:Y,typeFamily:Y,capHeight:Y,symbolSet:Y,typeface:new Di(16),characterComplement:new Di(8),fileName:new Di(6),strokeWeight:new Di(1),widthType:new Di(1),serifStyle:lr,reserved:new Ia(lr)});let Ixe=new ct({bCharSet:lr,xRatio:lr,yStartRatio:lr,yEndRatio:lr}),jxe=new ct({yPelHeight:Y,yMax:Ht,yMin:Ht}),Nxe=new ct({recs:Y,startsz:lr,endsz:lr,entries:new Ye(jxe,"recs")});var Sxe=new ct({version:Y,numRecs:Y,numRatios:Y,ratioRanges:new Ye(Ixe,"numRatios"),offsets:new Ye(Y,"numRatios"),groups:new Ye(Nxe,"numRecs")}),Bxe=new ct({version:Y,ascent:Ht,descent:Ht,lineGap:Ht,advanceHeightMax:Ht,minTopSideBearing:Ht,minBottomSideBearing:Ht,yMaxExtent:Ht,caretSlopeRise:Ht,caretSlopeRun:Ht,caretOffset:Ht,reserved:new Ia(Ht,4),metricDataFormat:Ht,numberOfMetrics:Y});let kxe=new ct({advance:Y,bearing:Ht});var _xe=new ct({metrics:new Yi(kxe,e=>e.parent.vhea.numberOfMetrics),bearings:new Yi(Ht,e=>e.parent.maxp.numGlyphs-e.parent.vhea.numberOfMetrics)});let ST=new Fg(16,"BE",14),Dxe=new ct({fromCoord:ST,toCoord:ST}),Txe=new ct({pairCount:Y,correspondence:new Ye(Dxe,"pairCount")});var Rxe=new ct({version:Is,axisCount:et,segment:new Ye(Txe,"axisCount")});class Pxe{getItem(t){if(this._items[t]==null){let r=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*t,this._items[t]=this.type.decode(this.stream,this.parent),this.stream.pos=r}return this._items[t]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(t,r,n){this.type=t,this.stream=r,this.parent=n,this.base=this.stream.pos,this._items=[]}}class Od extends Ye{decode(t,r){return new Pxe(this.type,t,r)}constructor(t){super(t,0)}}let Pm=function(e=Y){class t{decode(l,c){return c=c.parent.parent,this.type.decode(l,c)}size(l,c){return c=c.parent.parent,this.type.size(l,c)}encode(l,c,d){return d=d.parent.parent,this.type.encode(l,c,d)}constructor(l){this.type=l}}e=new t(e);let r=new ct({unitSize:Y,nUnits:Y,searchRange:Y,entrySelector:Y,rangeShift:Y}),n=new ct({lastGlyph:Y,firstGlyph:Y,value:e}),i=new ct({lastGlyph:Y,firstGlyph:Y,values:new Je(Y,new Ye(e,o=>o.lastGlyph-o.firstGlyph+1),{type:"parent"})}),s=new ct({glyph:Y,value:e});return new Un(Y,{0:{values:new Od(e)},2:{binarySearchHeader:r,segments:new Ye(n,o=>o.binarySearchHeader.nUnits)},4:{binarySearchHeader:r,segments:new Ye(i,o=>o.binarySearchHeader.nUnits)},6:{binarySearchHeader:r,segments:new Ye(s,o=>o.binarySearchHeader.nUnits)},8:{firstGlyph:Y,count:Y,values:new Ye(e,"count")}})};function cb(e={},t=Y){let r=Object.assign({newState:Y,flags:Y},e),n=new ct(r),i=new Od(new Ye(Y,o=>o.nClasses));return new ct({nClasses:et,classTable:new Je(et,new Pm(t)),stateArray:new Je(et,i),entryTable:new Je(et,new Od(n))})}function Qxe(e={},t=Y){let r=new ct({version(){return 8},firstGlyph:Y,values:new Ye(lr,Y)}),n=Object.assign({newStateOffset:Y,newState:l=>(l.newStateOffset-(l.parent.stateArray.base-l.parent._startOffset))/l.parent.nClasses,flags:Y},e),i=new ct(n),s=new Od(new Ye(lr,l=>l.nClasses));return new ct({nClasses:Y,classTable:new Je(Y,r),stateArray:new Je(Y,s),entryTable:new Je(Y,new Od(i))})}let Fxe=new Un("format",{0:{deltas:new Ye(Ht,32)},1:{deltas:new Ye(Ht,32),mappingData:new Pm(Y)},2:{standardGlyph:Y,controlPoints:new Ye(Y,32)},3:{standardGlyph:Y,controlPoints:new Ye(Y,32),mappingData:new Pm(Y)}});var Oxe=new ct({version:Is,format:Y,defaultBaseline:Y,subtable:Fxe});let Lxe=new ct({setting:Y,nameIndex:Ht,name:e=>e.parent.parent.parent.name.records.fontFeatures[e.nameIndex]}),Mxe=new ct({feature:Y,nSettings:Y,settingTable:new Je(et,new Ye(Lxe,"nSettings"),{type:"parent"}),featureFlags:new H0(lr,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:lr,nameIndex:Ht,name:e=>e.parent.parent.name.records.fontFeatures[e.nameIndex]});var Uxe=new ct({version:Is,featureNameCount:Y,reserved1:new Ia(Y),reserved2:new Ia(et),featureNames:new Ye(Mxe,"featureNameCount")});let zxe=new ct({axisTag:new Di(4),minValue:Is,defaultValue:Is,maxValue:Is,flags:Y,nameID:Y,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID]}),$xe=new ct({nameID:Y,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID],flags:Y,coord:new Ye(Is,e=>e.parent.axisCount),postscriptNameID:new xw(Y,e=>e.parent.instanceSize-e._currentOffset>0)});var Hxe=new ct({version:Is,offsetToData:Y,countSizePairs:Y,axisCount:Y,axisSize:Y,instanceCount:Y,instanceSize:Y,axis:new Ye(zxe,"axisCount"),instance:new Ye($xe,"instanceCount")});let qxe=new Fg(16,"BE",14);class Gxe{static decode(t,r){return r.flags?t.readUInt32BE():t.readUInt16BE()*2}}let Vxe=new ct({version:Y,reserved:new Ia(Y),axisCount:Y,globalCoordCount:Y,globalCoords:new Je(et,new Ye(new Ye(qxe,"axisCount"),"globalCoordCount")),glyphCount:Y,flags:Y,offsetToData:et,offsets:new Ye(new Je(Gxe,"void",{relativeTo:e=>e.offsetToData,allowNull:!1}),e=>e.glyphCount+1)});var Wxe=Vxe;let Kxe=new ct({length:Y,coverage:Y,subFeatureFlags:et,stateTable:new Qxe}),Yxe=new ct({justClass:et,beforeGrowLimit:Is,beforeShrinkLimit:Is,afterGrowLimit:Is,afterShrinkLimit:Is,growFlags:Y,shrinkFlags:Y}),Zxe=new Ye(Yxe,et),Jxe=new Un("actionType",{0:{lowerLimit:Is,upperLimit:Is,order:Y,glyphs:new Ye(Y,Y)},1:{addGlyph:Y},2:{substThreshold:Is,addGlyph:Y,substGlyph:Y},3:{},4:{variationAxis:et,minimumLimit:Is,noStretchValue:Is,maximumLimit:Is},5:{flags:Y,glyph:Y}}),Xxe=new ct({actionClass:Y,actionType:Y,actionLength:et,actionData:Jxe,padding:new Ia(lr,e=>e.actionLength-e._currentOffset)}),eve=new Ye(Xxe,et),tve=new ct({lookupTable:new Pm(new Je(Y,eve))}),BT=new ct({classTable:new Je(Y,Kxe,{type:"parent"}),wdcOffset:Y,postCompensationTable:new Je(Y,tve,{type:"parent"}),widthDeltaClusters:new Pm(new Je(Y,Zxe,{type:"parent",relativeTo:e=>e.wdcOffset}))});var rve=new ct({version:et,format:Y,horizontal:new Je(Y,BT),vertical:new Je(Y,BT)});let nve={action:Y},ive={markIndex:Y,currentIndex:Y},ave={currentInsertIndex:Y,markedInsertIndex:Y},sve=new ct({items:new Od(new Je(et,new Pm))}),ove=new Un("type",{0:{stateTable:new cb},1:{stateTable:new cb(ive),substitutionTable:new Je(et,sve)},2:{stateTable:new cb(nve),ligatureActions:new Je(et,new Od(et)),components:new Je(et,new Od(Y)),ligatureList:new Je(et,new Od(Y))},4:{lookupTable:new Pm},5:{stateTable:new cb(ave),insertionActions:new Je(et,new Od(Y))}}),lve=new ct({length:et,coverage:ym,type:lr,subFeatureFlags:et,table:ove,padding:new Ia(lr,e=>e.length-e._currentOffset)}),cve=new ct({featureType:Y,featureSetting:Y,enableFlags:et,disableFlags:et}),uve=new ct({defaultFlags:et,chainLength:et,nFeatureEntries:et,nSubtables:et,features:new Ye(cve,"nFeatureEntries"),subtables:new Ye(lve,"nSubtables")});var dve=new ct({version:Y,unused:new Ia(Y),nChains:et,chains:new Ye(uve,"nChains")});let fve=new ct({left:Ht,top:Ht,right:Ht,bottom:Ht});var hve=new ct({version:Is,format:Y,lookupTable:new Pm(fve)});let jn={};var ww=jn;jn.cmap=fAe;jn.head=hAe;jn.hhea=mAe;jn.hmtx=gAe;jn.maxp=AAe;jn.name=CAe;jn["OS/2"]=IAe;jn.post=jAe;jn.fpgm=SAe;jn.loca=BAe;jn.prep=kAe;jn["cvt "]=NAe;jn.glyf=_Ae;jn["CFF "]=$H;jn.CFF2=$H;jn.VORG=A1e;jn.EBLC=w1e;jn.CBLC=jn.EBLC;jn.sbix=C1e;jn.COLR=N1e;jn.CPAL=B1e;jn.BASE=F1e;jn.GDEF=$1e;jn.GPOS=exe;jn.GSUB=ixe;jn.JSTF=cxe;jn.HVAR=fxe;jn.DSIG=pxe;jn.gasp=Axe;jn.hdmx=vxe;jn.kern=wxe;jn.LTSH=Exe;jn.PCLT=Cxe;jn.VDMX=Sxe;jn.vhea=Bxe;jn.vmtx=_xe;jn.avar=Rxe;jn.bsln=Oxe;jn.feat=Uxe;jn.fvar=Hxe;jn.gvar=Wxe;jn.just=rve;jn.morx=dve;jn.opbd=hve;let mve=new ct({tag:new Di(4),checkSum:et,offset:new Je(et,"void",{type:"global"}),length:et}),sB=new ct({tag:new Di(4),numTables:Y,searchRange:Y,entrySelector:Y,rangeShift:Y,tables:new Ye(mve,"numTables")});sB.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e};sB.preEncode=function(){if(!Array.isArray(this.tables)){let r=[];for(let n in this.tables){let i=this.tables[n];i&&r.push({tag:n,checkSum:0,offset:new wN(ww[n],i),length:ww[n].size(i)})}this.tables=r}this.tag="true",this.numTables=this.tables.length;let e=Math.floor(Math.log(this.numTables)/Math.LN2),t=Math.pow(2,e);this.searchRange=t*16,this.entrySelector=Math.log(t)/Math.LN2,this.rangeShift=this.numTables*16-this.searchRange};var VH=sB;function e5(e,t){let r=0,n=e.length-1;for(;r<=n;){let i=r+n>>1,s=t(e[i]);if(s<0)n=i-1;else if(s>0)r=i+1;else return i}return-1}function RA(e,t){let r=[];for(;e>4,r[n++]=(l&15)<<4|c>>2,r[n++]=(c&3)<<6|d&63}return r}class lB{findSubtable(t,r){for(let[n,i]of r)for(let s of t.tables)if(s.platformID===n&&s.encodingID===i)return s.table;return null}lookup(t,r){if(this.encoding)t=this.encoding.get(t)||t;else if(r){let i=this.getVariationSelector(t,r);if(i)return i}let n=this.cmap;switch(n.version){case 0:return n.codeMap.get(t)||0;case 4:{let i=0,s=n.segCount-1;for(;i<=s;){let o=i+s>>1;if(tn.endCode.get(o))i=o+1;else{let l=n.idRangeOffset.get(o),c;if(l===0)c=t+n.idDelta.get(o);else{let d=l/2+(t-n.startCode.get(o))-(n.segCount-o);c=n.glyphIndexArray.get(d)||0,c!==0&&(c+=n.idDelta.get(o))}return c&65535}}return 0}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return n.glyphIndices.get(t-n.firstCode)||0;case 12:case 13:{let i=0,s=n.nGroups-1;for(;i<=s;){let o=i+s>>1,l=n.groups.get(o);if(tl.endCharCode)i=o+1;else return n.version===12?l.glyphID+(t-l.startCharCode):l.glyphID}return 0}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${n.version}`)}}getVariationSelector(t,r){if(!this.uvs)return 0;let n=this.uvs.varSelectors.toArray(),i=e5(n,o=>r-o.varSelector),s=n[i];return i!==-1&&s.defaultUVS&&(i=e5(s.defaultUVS,o=>to.startUnicodeValue+o.additionalCount?1:0)),i!==-1&&s.nonDefaultUVS&&(i=e5(s.nonDefaultUVS,o=>t-o.unicodeValue),i!==-1)?s.nonDefaultUVS[i].glyphID:0}getCharacterSet(){let t=this.cmap;switch(t.version){case 0:return RA(0,t.codeMap.length);case 4:{let r=[],n=t.endCode.toArray();for(let i=0;i=s.glyphID&&t<=s.glyphID+(s.endCharCode-s.startCharCode)&&i.push(s.startCharCode+(t-s.glyphID));return i}case 13:{let i=[];for(let s of r.groups.toArray())t===s.glyphID&&i.push(...RA(s.startCharCode,s.endCharCode+1));return i}default:throw new Error(`Unknown cmap format ${r.version}`)}}constructor(t){if(this.encoding=null,this.cmap=this.findSubtable(t,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let r of t.tables){let n=jH(r.platformID,r.encodingID,r.table.language-1),i=yAe(n);i&&(this.cmap=r.table,this.encoding=i)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(t,[[0,5]]),this.uvs&&this.uvs.version!==14&&(this.uvs=null)}}fl([hl],lB.prototype,"getCharacterSet",null);fl([hl],lB.prototype,"codePointsForGlyph",null);class pve{process(t,r){for(let n=0;n=0&&(s=o.pairs[l].value);break;case 2:let c=0,d=0;t>=o.leftTable.firstGlyph&&t=o.rightTable.firstGlyph&&r=o.glyphCount||r>=o.glyphCount)return 0;s=o.kernValue[o.kernIndex[o.leftClass[t]*o.rightClassCount+o.rightClass[r]]];break;default:throw new Error(`Unsupported kerning sub-table format ${i.format}`)}i.coverage.override?n=s:n+=s}return n}constructor(t){this.kern=t.kern}}class gve{positionGlyphs(t,r){let n=0,i=0;for(let s=0;s1&&(o.minX+=(s.codePoints.length-1)*o.width/s.codePoints.length);let l=-r[n].xAdvance,c=0,d=this.font.unitsPerEm/16;for(let u=n+1;u<=i;u++){let h=t[u],p=h.cbox,A=r[u],y=this.getCombiningClass(h.codePoints[0]);if(y!=="Not_Reordered"){switch(A.xOffset=A.yOffset=0,y){case"Double_Above":case"Double_Below":A.xOffset+=o.minX-p.width/2-p.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":A.xOffset+=o.minX-p.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":A.xOffset+=o.maxX-p.width-p.minX;break;default:A.xOffset+=o.minX+(o.width-p.width)/2-p.minX}switch(y){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":(y==="Attached_Below_Left"||y==="Attached_Below")&&(o.minY+=d),A.yOffset=-o.minY-p.maxY,o.minY+=p.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":(y==="Attached_Above"||y==="Attached_Above_Right")&&(o.maxY+=d),A.yOffset=o.maxY-p.minY,o.maxY+=p.height;break}A.xAdvance=A.yAdvance=0,A.xOffset+=l,A.yOffset+=c}else l-=A.xAdvance,c-=A.yAdvance}}getCombiningClass(t){let r=wH(t);if((t&-256)===3584){if(r==="Not_Reordered")switch(t){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(t===3642)return"Below_Right"}switch(r){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return r}constructor(t){this.font=t}}class Qm{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(t,r){Math.abs(t)!==1/0&&(tthis.maxX&&(this.maxX=t)),Math.abs(r)!==1/0&&(rthis.maxY&&(this.maxY=r))}copy(){return new Qm(this.minX,this.minY,this.maxX,this.maxY)}constructor(t=1/0,r=1/0,n=-1/0,i=-1/0){this.minX=t,this.minY=r,this.maxX=n,this.maxY=i}}const g1={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},SN={};for(let e in g1){let t=g1[e];if(Array.isArray(t))for(let r of t)SN[r]=e;else SN[t]=e}function Ave(e){return SN[e]}function xve(e){let t=e.length,r=0;for(;r[Vp[e].code,Vp[e][t]],Ew={rlig:Ar("ligatures","requiredLigatures"),clig:Ar("ligatures","contextualLigatures"),dlig:Ar("ligatures","rareLigatures"),hlig:Ar("ligatures","historicalLigatures"),liga:Ar("ligatures","commonLigatures"),hist:Ar("ligatures","historicalLigatures"),smcp:Ar("lowerCase","lowerCaseSmallCaps"),pcap:Ar("lowerCase","lowerCasePetiteCaps"),frac:Ar("fractions","diagonalFractions"),dnom:Ar("fractions","diagonalFractions"),numr:Ar("fractions","diagonalFractions"),afrc:Ar("fractions","verticalFractions"),case:Ar("caseSensitiveLayout","caseSensitiveLayout"),ccmp:Ar("unicodeDecomposition","canonicalComposition"),cpct:Ar("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:Ar("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:Ar("contextualAlternates","swashAlternates"),cswh:Ar("contextualAlternates","contextualSwashAlternates"),curs:Ar("cursiveConnection","cursive"),c2pc:Ar("upperCase","upperCasePetiteCaps"),c2sc:Ar("upperCase","upperCaseSmallCaps"),init:Ar("smartSwash","wordInitialSwashes"),fin2:Ar("smartSwash","wordFinalSwashes"),medi:Ar("smartSwash","nonFinalSwashes"),med2:Ar("smartSwash","nonFinalSwashes"),fin3:Ar("smartSwash","wordFinalSwashes"),fina:Ar("smartSwash","wordFinalSwashes"),pkna:Ar("kanaSpacing","proportionalKana"),half:Ar("textSpacing","halfWidthText"),halt:Ar("textSpacing","altHalfWidthText"),hkna:Ar("alternateKana","alternateHorizKana"),vkna:Ar("alternateKana","alternateVertKana"),ital:Ar("italicCJKRoman","CJKItalicRoman"),lnum:Ar("numberCase","upperCaseNumbers"),onum:Ar("numberCase","lowerCaseNumbers"),mgrk:Ar("mathematicalExtras","mathematicalGreek"),calt:Ar("contextualAlternates","contextualAlternates"),vrt2:Ar("verticalSubstitution","substituteVerticalForms"),vert:Ar("verticalSubstitution","substituteVerticalForms"),tnum:Ar("numberSpacing","monospacedNumbers"),pnum:Ar("numberSpacing","proportionalNumbers"),sups:Ar("verticalPosition","superiors"),subs:Ar("verticalPosition","inferiors"),ordn:Ar("verticalPosition","ordinals"),pwid:Ar("textSpacing","proportionalText"),hwid:Ar("textSpacing","halfWidthText"),qwid:Ar("textSpacing","quarterWidthText"),twid:Ar("textSpacing","thirdWidthText"),fwid:Ar("textSpacing","proportionalText"),palt:Ar("textSpacing","altProportionalText"),trad:Ar("characterShape","traditionalCharacters"),smpl:Ar("characterShape","simplifiedCharacters"),jp78:Ar("characterShape","JIS1978Characters"),jp83:Ar("characterShape","JIS1983Characters"),jp90:Ar("characterShape","JIS1990Characters"),jp04:Ar("characterShape","JIS2004Characters"),expt:Ar("characterShape","expertCharacters"),hojo:Ar("characterShape","hojoCharacters"),nlck:Ar("characterShape","NLCCharacters"),tnam:Ar("characterShape","traditionalNamesCharacters"),ruby:Ar("rubyKana","rubyKana"),titl:Ar("styleOptions","titlingCaps"),zero:Ar("typographicExtras","slashedZero"),ss01:Ar("stylisticAlternatives","stylisticAltOne"),ss02:Ar("stylisticAlternatives","stylisticAltTwo"),ss03:Ar("stylisticAlternatives","stylisticAltThree"),ss04:Ar("stylisticAlternatives","stylisticAltFour"),ss05:Ar("stylisticAlternatives","stylisticAltFive"),ss06:Ar("stylisticAlternatives","stylisticAltSix"),ss07:Ar("stylisticAlternatives","stylisticAltSeven"),ss08:Ar("stylisticAlternatives","stylisticAltEight"),ss09:Ar("stylisticAlternatives","stylisticAltNine"),ss10:Ar("stylisticAlternatives","stylisticAltTen"),ss11:Ar("stylisticAlternatives","stylisticAltEleven"),ss12:Ar("stylisticAlternatives","stylisticAltTwelve"),ss13:Ar("stylisticAlternatives","stylisticAltThirteen"),ss14:Ar("stylisticAlternatives","stylisticAltFourteen"),ss15:Ar("stylisticAlternatives","stylisticAltFifteen"),ss16:Ar("stylisticAlternatives","stylisticAltSixteen"),ss17:Ar("stylisticAlternatives","stylisticAltSeventeen"),ss18:Ar("stylisticAlternatives","stylisticAltEighteen"),ss19:Ar("stylisticAlternatives","stylisticAltNineteen"),ss20:Ar("stylisticAlternatives","stylisticAltTwenty")};for(let e=1;e<=99;e++)Ew[`cv${`00${e}`.slice(-2)}`]=[Vp.characterAlternatives.code,e];let Wp={};for(let e in Ew){let t=Ew[e];Wp[t[0]]==null&&(Wp[t[0]]={}),Wp[t[0]][t[1]]=e}function Eve(e){let t={};for(let r in e){let n;(n=Ew[r])&&(t[n[0]]==null&&(t[n[0]]={}),t[n[0]][n[1]]=e[r])}return t}function _T(e){let[t,r]=e;if(isNaN(t))var n=Vp[t]&&Vp[t].code;else var n=t;if(isNaN(r))var i=Vp[t]&&Vp[t][r];else var i=r;return[n,i]}function Cve(e){let t={};if(Array.isArray(e))for(let r=0;r>1,n=this.table.segments[r];if(n.firstGlyph===65535)return null;if(tn.lastGlyph)i=r+1;else return this.table.version===2?n.value:n.values[t-n.firstGlyph]}return null}case 6:{let i=0,s=this.table.binarySearchHeader.nUnits-1;for(;i<=s;){var r=i+s>>1,n=this.table.segments[r];if(n.glyph===65535)return null;if(tn.glyph)i=r+1;else return n.value}return null}case 8:return this.table.values[t-this.table.firstGlyph];default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(t){let r=[];switch(this.table.version){case 2:case 4:for(let n of this.table.segments)if(this.table.version===2&&n.value===t)r.push(...RA(n.firstGlyph,n.lastGlyph+1));else for(let i=0;i=-1;){let l=null,c=TT,d=!0;s===t.length||s===-1?c=DT:(l=t[s],l.id===65535?c=RT:(c=this.lookupTable.lookup(l.id),c==null&&(c=TT)));let h=this.stateTable.stateArray.getItem(i)[c],p=this.stateTable.entryTable.getItem(h);c!==DT&&c!==RT&&(n(l,p,s),d=!(p.flags&jve)),i=p.newState,d&&(s+=o)}return t}traverse(t,r=0,n=new Set){if(n.has(r))return;n.add(r);let{nClasses:i,stateArray:s,entryTable:o}=this.stateTable,l=s.getItem(r);for(let c=4;c=0;)t[n].id===65535&&t.splice(n,1),n--;return t}processSubtable(t,r){if(this.subtable=t,this.glyphs=r,this.subtable.type===4){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let n=this.getStateMachine(t),i=this.getProcessor(),s=!!(this.subtable.coverage&QT);return n.process(this.glyphs,s,i)}getStateMachine(t){return new Nve(t.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(t,r,n){r.flags&Sve&&(this.firstGlyph=n),r.flags&Bve&&(this.lastGlyph=n),Mve(this.glyphs,r.flags&kve,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(t,r,n){let i=this.subtable.table.substitutionTable.items;if(r.markIndex!==65535){let o=i.getItem(r.markIndex),l=new Kx(o);t=this.glyphs[this.markedGlyph];var s=l.lookup(t.id);s&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(s,t.codePoints))}if(r.currentIndex!==65535){let o=i.getItem(r.currentIndex),l=new Kx(o);t=this.glyphs[n];var s=l.lookup(t.id);s&&(this.glyphs[n]=this.font.getGlyph(s,t.codePoints))}r.flags&PT&&(this.markedGlyph=n)}processLigature(t,r,n){if(r.flags&_ve&&this.ligatureStack.push(n),r.flags&Dve){let i=this.subtable.table.ligatureActions,s=this.subtable.table.components,o=this.subtable.table.ligatureList,l=r.action,c=!1,d=0,u=[],h=[];for(;!c;){let p=this.ligatureStack.pop();u.unshift(...this.glyphs[p].codePoints);let A=i.getItem(l++);c=!!(A&Tve);let y=!!(A&Rve),v=(A&Pve)<<2>>2;v+=this.glyphs[p].id;let w=s.getItem(v);if(d+=w,c||y){let j=o.getItem(d);this.glyphs[p]=this.font.getGlyph(j,u),h.push(p),d=0,u=[]}else this.glyphs[p]=this.font.getGlyph(65535)}this.ligatureStack.push(...h)}}processNoncontextualSubstitutions(t,r,n){let i=new Kx(t.table.lookupTable);for(n=0;n>>5,s=!!(r.flags&Fve);this._insertGlyphs(this.markedIndex,r.markedInsertIndex,i,s)}if(r.currentInsertIndex!==65535){let i=(r.flags&Ove)>>>5,s=!!(r.flags&Qve);this._insertGlyphs(n,r.currentInsertIndex,i,s)}}getSupportedFeatures(){let t=[];for(let r of this.morx.chains)for(let n of r.features)t.push([n.featureType,n.featureSetting]);return t}generateInputs(t){return this.inputCache||this.generateInputCache(),this.inputCache[t]||[]}generateInputCache(){this.inputCache={};for(let t of this.morx.chains){let r=t.defaultFlags;for(let n of t.subtables)n.subFeatureFlags&r&&this.generateInputsForSubtable(n)}}generateInputsForSubtable(t){if(t.type!==2)return;if(!!(t.coverage&QT))throw new Error("Reverse subtable, not supported.");this.subtable=t,this.ligatureStack=[];let n=this.getStateMachine(t),i=this.getProcessor(),s=[],o=[];this.glyphs=[],n.traverse({enter:(l,c)=>{let d=this.glyphs;o.push({glyphs:d.slice(),ligatureStack:this.ligatureStack.slice()});let u=this.font.getGlyph(l);s.push(u),d.push(s[s.length-1]),i(d[d.length-1],c,d.length-1);let h=0,p=0;for(let A=0;Av.id),y=this.inputCache[p];y?y.push(A):this.inputCache[p]=[A]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=o.pop()),s.pop()}})}constructor(t){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=t,this.morx=t.morx,this.inputCache=null}}fl([hl],KH.prototype,"getStateMachine",null);function Ul(e,t,r,n=!1,i=!1){let s=e.splice(r[0]-(r[1]-1),r[1]);i&&s.reverse();let o=e.splice(t[0],t[1],...s);return n&&o.reverse(),e.splice(r[0]-(t[1]-1),0,...o),e}function Mve(e,t,r,n){switch(t){case 0:return e;case 1:return Ul(e,[r,1],[n,0]);case 2:return Ul(e,[r,0],[n,1]);case 3:return Ul(e,[r,1],[n,1]);case 4:return Ul(e,[r,2],[n,0]);case 5:return Ul(e,[r,2],[n,0],!0,!1);case 6:return Ul(e,[r,0],[n,2]);case 7:return Ul(e,[r,0],[n,2],!1,!0);case 8:return Ul(e,[r,1],[n,2]);case 9:return Ul(e,[r,1],[n,2],!1,!0);case 10:return Ul(e,[r,2],[n,1]);case 11:return Ul(e,[r,2],[n,1],!0,!1);case 12:return Ul(e,[r,2],[n,2]);case 13:return Ul(e,[r,2],[n,2],!0,!1);case 14:return Ul(e,[r,2],[n,2],!1,!0);case 15:return Ul(e,[r,2],[n,2],!0,!0);default:throw new Error(`Unknown verb: ${t}`)}}class Uve{substitute(t){t.direction==="rtl"&&t.glyphs.reverse(),this.morxProcessor.process(t.glyphs,Eve(t.features))}getAvailableFeatures(t,r){return Cve(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(t){let r=this.morxProcessor.generateInputs(t),n=new Set;for(let i of r)this._addStrings(i,0,n,"");return n}_addStrings(t,r,n,i){let s=this.font._cmapProcessor.codePointsForGlyph(t[r]);for(let o of s){let l=i+String.fromCodePoint(o);r0&&t.applyFeatures(i,r,n)}constructor(t,r,n){this.font=t,this.script=r,this.direction=n,this.stages=[],this.globalFeatures={},this.allFeatures={}}}const $ve=["rvrn"],Hve=["ccmp","locl","rlig","mark","mkmk"],qve=["frac","numr","dnom"],Gve=["calt","clig","liga","rclt","curs","kern"],Vve={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]};class Fm{static plan(t,r,n){this.planPreprocessing(t),this.planFeatures(t),this.planPostprocessing(t,n),t.assignGlobalFeatures(r),this.assignFeatures(t,r)}static planPreprocessing(t){t.add({global:[...$ve,...Vve[t.direction]],local:qve})}static planFeatures(t){}static planPostprocessing(t,r){t.add([...Hve,...Gve]),t.setFeatureOverrides(r)}static assignFeatures(t,r){for(let n=0;n0&&EN(r[s-1].codePoints[0]);)r[s-1].features.numr=!0,r[s-1].features.frac=!0,s--;for(;othis.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(t=1){let r=this.index,n=this.increment(t);return this.index=r,n}peekIndex(t=1){let r=this.index;this.increment(t);let n=this.index;return this.index=r,n}increment(t=1){let r=t<0?-1:1;for(t=Math.abs(t);t--;)this.move(r);return this.glyphs[this.index]}constructor(t,r){this.glyphs=t,this.reset(r)}}const Xve=["DFLT","dflt","latn"];class Cw{findScript(t){if(this.table.scriptList==null)return null;Array.isArray(t)||(t=[t]);for(let r of t)for(let n of this.table.scriptList)if(n.tag===r)return n;return null}selectScript(t,r,n){let i=!1,s;if(!this.script||t!==this.scriptTag){if(s=this.findScript(t),s||(s=this.findScript(Xve)),!s)return this.scriptTag;this.scriptTag=s.tag,this.script=s.script,this.language=null,this.languageTag=null,i=!0}if((!n||n!==this.direction)&&(this.direction=n||WH(t)),r&&r.length<4&&(r+=" ".repeat(4-r.length)),!r||r!==this.languageTag){this.language=null;for(let o of this.script.langSysRecords)if(o.tag===r){this.language=o.langSys,this.languageTag=o.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),i=!0}if(i&&(this.features={},this.language))for(let o of this.language.featureIndexes){let l=this.table.featureList[o],c=this.substituteFeatureForVariations(o);this.features[l.tag]=c||l.feature}return this.scriptTag}lookupsForFeatures(t=[],r){let n=[];for(let i of t){let s=this.features[i];if(s)for(let o of s.lookupListIndexes)r&&r.indexOf(o)!==-1||n.push({feature:i,index:o,lookup:this.table.lookupList.get(o)})}return n.sort((i,s)=>i.index-s.index),n}substituteFeatureForVariations(t){if(this.variationsIndex===-1)return null;let n=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let i of n)if(i.featureIndex===t)return i.alternateFeatureTable;return null}findVariationsIndex(t){let r=this.table.featureVariations;if(!r)return-1;let n=r.featureVariationRecords;for(let i=0;i{let i=n.axisIndexn===i.id)}sequenceMatchIndices(t,r){return this.match(t,r,(n,i)=>this.currentFeature in i.features?n===i.id:!1,[])}coverageSequenceMatches(t,r){return this.match(t,r,(n,i)=>this.coverageIndex(n,i.id)>=0)}getClassID(t,r){switch(r.version){case 1:let n=t-r.startGlyph;if(n>=0&&ni===this.getClassID(s.id,n))}applyContext(t){let r,n;switch(t.version){case 1:if(r=this.coverageIndex(t.coverage),r===-1)return!1;n=t.ruleSets[r];for(let i of n)if(this.sequenceMatches(1,i.input))return this.applyLookupList(i.lookupRecords);break;case 2:if(this.coverageIndex(t.coverage)===-1||(r=this.getClassID(this.glyphIterator.cur.id,t.classDef),r===-1))return!1;n=t.classSet[r];for(let i of n)if(this.classSequenceMatches(1,i.classes,t.classDef))return this.applyLookupList(i.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,t.coverages))return this.applyLookupList(t.lookupRecords);break}return!1}applyChainingContext(t){let r;switch(t.version){case 1:if(r=this.coverageIndex(t.coverage),r===-1)return!1;let n=t.chainRuleSets[r];for(let s of n)if(this.sequenceMatches(-s.backtrack.length,s.backtrack)&&this.sequenceMatches(1,s.input)&&this.sequenceMatches(1+s.input.length,s.lookahead))return this.applyLookupList(s.lookupRecords);break;case 2:if(this.coverageIndex(t.coverage)===-1)return!1;r=this.getClassID(this.glyphIterator.cur.id,t.inputClassDef);let i=t.chainClassSet[r];if(!i)return!1;for(let s of i)if(this.classSequenceMatches(-s.backtrack.length,s.backtrack,t.backtrackClassDef)&&this.classSequenceMatches(1,s.input,t.inputClassDef)&&this.classSequenceMatches(1+s.input.length,s.lookahead,t.lookaheadClassDef))return this.applyLookupList(s.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-t.backtrackGlyphCount,t.backtrackCoverage)&&this.coverageSequenceMatches(0,t.inputCoverage)&&this.coverageSequenceMatches(t.inputGlyphCount,t.lookaheadCoverage))return this.applyLookupList(t.lookupRecords);break}return!1}constructor(t,r){this.font=t,this.table=r,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=t._variationProcessor?this.findVariationsIndex(t._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}}class q0{get id(){return this._id}set id(t){this._id=t,this.substituted=!0;let r=this._font.GDEF;if(r&&r.glyphClassDef){let n=Cw.prototype.getClassID(t,r.glyphClassDef);this.isBase=n===1,this.isLigature=n===2,this.isMark=n===3,this.markAttachmentType=r.markAttachClassDef?Cw.prototype.getClassID(t,r.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(nB),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new q0(this._font,this.id,this.codePoints,this.features)}constructor(t,r,n=[],i){if(this._font=t,this.codePoints=n,this.id=r,this.features={},Array.isArray(i))for(let s=0;s4352<=e&&e<=4447||43360<=e&&e<=43388,sye=e=>4448<=e&&e<=4519||55216<=e&&e<=55238,oye=e=>4520<=e&&e<=4607||55243<=e&&e<=55291,lye=e=>12334<=e&&e<=12335,cye=e=>A1<=e&&e<=ZH,uye=e=>e-A1Z4<=e&&e<=rye,fye=e=>J4<=e&&e<=nye,hye=e=>1<=e&&e<=iye,mye=0,pye=1,jw=2,cB=3,Nw=4,JH=5,gye=6;function Sw(e){return aye(e)?pye:sye(e)?jw:oye(e)?cB:uye(e)?Nw:cye(e)?JH:lye(e)?gye:mye}const pc=0,Of=1,kN=2,_N=4,DN=5,Aye=[[[pc,0],[pc,1],[pc,0],[pc,0],[Of,2],[Of,3],[DN,0]],[[pc,0],[pc,1],[kN,2],[pc,0],[Of,2],[Of,3],[DN,0]],[[pc,0],[pc,1],[pc,0],[kN,3],[Of,2],[Of,3],[_N,0]],[[pc,0],[pc,1],[pc,0],[pc,0],[Of,2],[Of,3],[_N,0]]];function Yx(e,t,r){return new q0(e,e.glyphForCodePoint(t).id,[t],r)}function XH(e,t,r){let n=e[t],s=n.codePoints[0]-A1,o=sg+s%Iv;s=s/Iv|0;let l=Z4+s/Iw|0,c=J4+s%Iw;if(!r.hasGlyphForCodePoint(l)||!r.hasGlyphForCodePoint(c)||o!==sg&&!r.hasGlyphForCodePoint(o))return t;let d=Yx(r,l,n.features);d.features.ljmo=!0;let u=Yx(r,c,n.features);u.features.vjmo=!0;let h=[d,u];if(o>sg){let p=Yx(r,o,n.features);p.features.tjmo=!0,h.push(p)}return e.splice(t,1,...h),t+h.length-1}function xye(e,t,r){let n=e[t],i=e[t].codePoints[0],s=Sw(i),o=e[t-1].codePoints[0],l=Sw(o),c,d,u,h;if(l===Nw&&s===cB)c=o,h=n;else{s===jw?(d=e[t-1],u=n):(d=e[t-2],u=e[t-1],h=n);let A=d.codePoints[0],y=u.codePoints[0];dye(A)&&fye(y)&&(c=A1+((A-Z4)*Iw+(y-J4))*Iv)}let p=h&&h.codePoints[0]||sg;if(c!=null&&(p===sg||hye(p))){let A=c+(p-sg);if(r.hasGlyphForCodePoint(A)){let y=l===jw?3:2;return e.splice(t-y+1,y,Yx(r,A,n.features)),t-y+1}}return d&&(d.features.ljmo=!0),u&&(u.features.vjmo=!0),h&&(h.features.tjmo=!0),l===Nw?(XH(e,t-1,r),t+1):t}function vye(e){switch(Sw(e)){case Nw:case JH:return 1;case jw:return 2;case cB:return 3}}function yye(e,t,r){let n=e[t],i=e[t].codePoints[0];if(r.glyphForCodePoint(i).advanceWidth===0)return;let s=e[t-1].codePoints[0],o=vye(s);return e.splice(t,1),e.splice(t-o,0,n)}function bye(e,t,r){let n=e[t],i=e[t].codePoints[0];if(r.hasGlyphForCodePoint(OT)){let s=Yx(r,OT,n.features),o=r.glyphForCodePoint(i).advanceWidth===0?t:t+1;e.splice(o,0,s),t++}return t}var eq={};eq=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');var X4={};X4=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');const Gn={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072},ln={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},wye=Gn.C|Gn.Ra|Gn.CM|Gn.V|Gn.Placeholder|Gn.Dotted_Circle,tq=Gn.ZWJ|Gn.ZWNJ,Zx=Gn.H|Gn.Coeng,LT={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:ln.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:ln.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:ln.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:ln.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:ln.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:ln.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:ln.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:ln.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:ln.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:ln.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:ln.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},Eye={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:Cye}=V4(X4),rq=new by(oB("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")),Iye=new EH(V4(eq));class Ls extends Fm{static planFeatures(t){t.addStage(jye),t.addStage(["locl","ccmp"]),t.addStage(Sye),t.addStage("nukt"),t.addStage("akhn"),t.addStage("rphf",!1),t.addStage("rkrf"),t.addStage("pref",!1),t.addStage("blwf",!1),t.addStage("abvf",!1),t.addStage("half",!1),t.addStage("pstf",!1),t.addStage("vatu"),t.addStage("cjct"),t.addStage("cfar",!1),t.addStage(Bye),t.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),t.unicodeScript=Ave(t.script),t.indicConfig=LT[t.unicodeScript]||LT.Default,t.isOldSpec=t.indicConfig.hasOldSpec&&t.script[t.script.length-1]!=="2"}static assignFeatures(t,r){for(let n=r.length-1;n>=0;n--){let i=r[n].codePoints[0],s=Eye[i]||Cye[i];if(s){let o=s.map(l=>{let c=t.font.glyphForCodePoint(l);return new q0(t.font,c.id,[l],r[n].features)});r.splice(n,1,...o)}}}}Bc(Ls,"zeroMarkWidths","NONE");function TN(e){return rq.get(e.codePoints[0])>>8}function nq(e){return 1<<(rq.get(e.codePoints[0])&255)}class t5{constructor(t,r,n,i){this.category=t,this.position=r,this.syllableType=n,this.syllable=i}}function jye(e,t){let r=0,n=0;for(let[i,s,o]of Iye.match(t.map(TN))){if(i>n){++r;for(let l=n;lp);break}case"First":h=l;for(let S=h+1;S_&&!(zp(t[C])||S&&t[C].shaperInfo.category===Gn.H);C--);if(t[C].shaperInfo.category!==Gn.H&&C>_){let Q=t[_];t.splice(_,0,...t.splice(_+1,C-_)),t[C]=Q}break}}let y=ln.Start;for(let S=l;Sl;C--)if(t[C-1].shaperInfo.position!==ln.Pre_M){_.position=t[C-1].shaperInfo.position;break}}}else _.position!==ln.SMVD&&(y=_.position)}let v=h;for(let S=h+1;SS.shaperInfo.position-_.shaperInfo.position),t.splice(l,w.length,...w);for(let S=l;Sl&&!zp(t[C]))}}}function Bye(e,t,r){let n=r.indicConfig,i=e._layoutEngine.engine.GSUBProcessor.features;for(let s=0,o=Bw(t,0);s=ln.Base_C){if(l&&c+1ln.Base_C&&c--;break}if(c===o&&ss&&!(t[d].shaperInfo.category&(Gn.M|Zx));)d--;Rf(t[d])&&t[d].shaperInfo.position!==ln.Pre_M?d+1s;u--)if(t[u-1].shaperInfo.position===ln.Pre_M){let h=u-1;hs&&t[d].shaperInfo.position===ln.SMVD;)d--;if(Rf(t[d]))for(let A=c+1;As&&!(t[u-1].shaperInfo.category&(Gn.M|Zx));)u--;if(u>s&&t[u-1].shaperInfo.category===Gn.M){let A=d;for(let y=c+1;ys&&Rf(t[u-1])&&u=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t=0;n--){let i=r[n].codePoints[0];if(MT[i]){let s=MT[i].map(o=>{let l=t.font.glyphForCodePoint(o);return new q0(t.font,l.id,[o],r[n].features)});r.splice(n,1,...s)}}}}Bc($n,"zeroMarkWidths","BEFORE_GPOS");function UT(e){return _ye.get(e.codePoints[0])}class Tye{constructor(t,r,n){this.category=t,this.syllableType=r,this.syllable=n}}function Rye(e,t){let r=0;for(let[n,i,s]of Dye.match(t.map(UT))){++r;for(let l=n;l<=i;l++)t[l].shaperInfo=new Tye(kye[UT(t[l])],s[0],r);let o=t[n].shaperInfo.category==="R"?1:Math.min(3,i-n);for(let l=n;l1){for(s=n+1;s=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t{let h=new q0(this.font,d,void 0,o);return h.shaperInfo=l.shaperInfo,h.isLigated=l.isLigated,h.ligatureComponent=u+1,h.substituted=!0,h.isMultiplied=!0,h});return this.glyphs.splice(this.glyphIterator.index+1,0,...c),!0}return!1}case 3:{let i=this.coverageIndex(r.coverage);if(i!==-1){let s=0;return this.glyphIterator.cur.id=r.alternateSet.get(i)[s],!0}return!1}case 4:{let i=this.coverageIndex(r.coverage);if(i===-1)return!1;for(let s of r.ligatureSets.get(i)){let o=this.sequenceMatchIndices(1,s.components);if(!o)continue;let l=this.glyphIterator.cur,c=l.codePoints.slice();for(let v of o)c.push(...this.glyphs[v].codePoints);let d=new q0(this.font,s.glyph,c,l.features);d.shaperInfo=l.shaperInfo,d.isLigated=!0,d.substituted=!0;let u=l.isMark;for(let v=0;v=0;v--)this.glyphs.splice(o[v],1);return this.glyphs[this.glyphIterator.index]=d,!0}return!1}case 5:return this.applyContext(r);case 6:return this.applyChainingContext(r);case 7:return this.applyLookup(r.lookupType,r.extension);default:throw new Error(`GSUB lookupType ${t} is not supported`)}}}class Uye extends Cw{applyPositionValue(t,r){let n=this.positions[this.glyphIterator.peekIndex(t)];r.xAdvance!=null&&(n.xAdvance+=r.xAdvance),r.yAdvance!=null&&(n.yAdvance+=r.yAdvance),r.xPlacement!=null&&(n.xOffset+=r.xPlacement),r.yPlacement!=null&&(n.yOffset+=r.yPlacement);let i=this.font._variationProcessor,s=this.font.GDEF&&this.font.GDEF.itemVariationStore;i&&s&&(r.xPlaDevice&&(n.xOffset+=i.getDelta(s,r.xPlaDevice.a,r.xPlaDevice.b)),r.yPlaDevice&&(n.yOffset+=i.getDelta(s,r.yPlaDevice.a,r.yPlaDevice.b)),r.xAdvDevice&&(n.xAdvance+=i.getDelta(s,r.xAdvDevice.a,r.xAdvDevice.b)),r.yAdvDevice&&(n.yAdvance+=i.getDelta(s,r.yAdvDevice.a,r.yAdvDevice.b)))}applyLookup(t,r){switch(t){case 1:{let i=this.coverageIndex(r.coverage);if(i===-1)return!1;switch(r.version){case 1:this.applyPositionValue(0,r.value);break;case 2:this.applyPositionValue(0,r.values.get(i));break}return!0}case 2:{let i=this.glyphIterator.peek();if(!i)return!1;let s=this.coverageIndex(r.coverage);if(s===-1)return!1;switch(r.version){case 1:let o=r.pairSets.get(s);for(let d of o)if(d.secondGlyph===i.id)return this.applyPositionValue(0,d.value1),this.applyPositionValue(1,d.value2),!0;return!1;case 2:let l=this.getClassID(this.glyphIterator.cur.id,r.classDef1),c=this.getClassID(i.id,r.classDef2);if(l===-1||c===-1)return!1;var n=r.classRecords.get(l).get(c);return this.applyPositionValue(0,n.value1),this.applyPositionValue(1,n.value2),!0}}case 3:{let i=this.glyphIterator.peekIndex(),s=this.glyphs[i];if(!s)return!1;let o=r.entryExitRecords[this.coverageIndex(r.coverage)];if(!o||!o.exitAnchor)return!1;let l=r.entryExitRecords[this.coverageIndex(r.coverage,s.id)];if(!l||!l.entryAnchor)return!1;let c=this.getAnchor(l.entryAnchor),d=this.getAnchor(o.exitAnchor),u=this.positions[this.glyphIterator.index],h=this.positions[i],p;switch(this.direction){case"ltr":u.xAdvance=d.x+u.xOffset,p=c.x+h.xOffset,h.xAdvance-=p,h.xOffset-=p;break;case"rtl":p=d.x+u.xOffset,u.xAdvance-=p,u.xOffset-=p,h.xAdvance=c.x+h.xOffset;break}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=i,u.yOffset=c.y-d.y):(s.cursiveAttachment=this.glyphIterator.index,u.yOffset=d.y-c.y),!0}case 4:{let i=this.coverageIndex(r.markCoverage);if(i===-1)return!1;let s=this.glyphIterator.index;for(;--s>=0&&(this.glyphs[s].isMark||this.glyphs[s].ligatureComponent>0););if(s<0)return!1;let o=this.coverageIndex(r.baseCoverage,this.glyphs[s].id);if(o===-1)return!1;let l=r.markArray[i],c=r.baseArray[o][l.class];return this.applyAnchor(l,c,s),!0}case 5:{let i=this.coverageIndex(r.markCoverage);if(i===-1)return!1;let s=this.glyphIterator.index;for(;--s>=0&&this.glyphs[s].isMark;);if(s<0)return!1;let o=this.coverageIndex(r.ligatureCoverage,this.glyphs[s].id);if(o===-1)return!1;let l=r.ligatureArray[o],c=this.glyphIterator.cur,d=this.glyphs[s],u=d.ligatureID&&d.ligatureID===c.ligatureID&&c.ligatureComponent>0?Math.min(c.ligatureComponent,d.codePoints.length)-1:d.codePoints.length-1,h=r.markArray[i],p=l[u][h.class];return this.applyAnchor(h,p,s),!0}case 6:{let i=this.coverageIndex(r.mark1Coverage);if(i===-1)return!1;let s=this.glyphIterator.peekIndex(-1),o=this.glyphs[s];if(!o||!o.isMark)return!1;let l=this.glyphIterator.cur,c=!1;if(l.ligatureID===o.ligatureID?l.ligatureID?l.ligatureComponent===o.ligatureComponent&&(c=!0):c=!0:(l.ligatureID&&!l.ligatureComponent||o.ligatureID&&!o.ligatureComponent)&&(c=!0),!c)return!1;let d=this.coverageIndex(r.mark2Coverage,o.id);if(d===-1)return!1;let u=r.mark1Array[i],h=r.mark2Array[d][u.class];return this.applyAnchor(u,h,s),!0}case 7:return this.applyContext(r);case 8:return this.applyChainingContext(r);case 9:return this.applyLookup(r.lookupType,r.extension);default:throw new Error(`Unsupported GPOS table: ${t}`)}}applyAnchor(t,r,n){let i=this.getAnchor(r),s=this.getAnchor(t.markAnchor);this.positions[n];let o=this.positions[this.glyphIterator.index];o.xOffset=i.x-s.x,o.yOffset=i.y-s.y,this.glyphIterator.cur.markAttachment=n}getAnchor(t){let r=t.xCoordinate,n=t.yCoordinate,i=this.font._variationProcessor,s=this.font.GDEF&&this.font.GDEF.itemVariationStore;return i&&s&&(t.xDeviceTable&&(r+=i.getDelta(s,t.xDeviceTable.a,t.xDeviceTable.b)),t.yDeviceTable&&(n+=i.getDelta(s,t.yDeviceTable.a,t.yDeviceTable.b))),{x:r,y:n}}applyFeatures(t,r,n){super.applyFeatures(t,r,n);for(var i=0;inew q0(this.font,n.id,[...n.codePoints]));let r=null;this.GPOSProcessor&&(r=this.GPOSProcessor.selectScript(t.script,t.language,t.direction)),this.GSUBProcessor&&(r=this.GSUBProcessor.selectScript(t.script,t.language,t.direction)),this.shaper=Lye(r),this.plan=new zve(this.font,r,t.direction),this.shaper.plan(this.plan,this.glyphInfos,t.features);for(let n in this.plan.allFeatures)t.features[n]=!0}substitute(t){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),t.glyphs=this.glyphInfos.map(r=>this.font.getGlyph(r.id,r.codePoints)))}position(t){return this.shaper.zeroMarkWidths==="BEFORE_GPOS"&&this.zeroMarkAdvances(t.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,t.positions),this.shaper.zeroMarkWidths==="AFTER_GPOS"&&this.zeroMarkAdvances(t.positions),t.direction==="rtl"&&(t.glyphs.reverse(),t.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(t){for(let r=0;rnew wve(n.advanceWidth));let r=null;this.engine&&this.engine.position&&(r=this.engine.position(t)),!r&&(!this.engine||this.engine.fallbackPosition)&&(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new gve(this.font)),this.unicodeLayoutEngine.positionGlyphs(t.glyphs,t.positions)),(!r||!r.kern)&&t.features.kern!==!1&&this.font.kern&&(this.kernProcessor||(this.kernProcessor=new pve(this.font)),this.kernProcessor.process(t.glyphs,t.positions),t.features.kern=!0)}hideDefaultIgnorables(t,r){let n=this.font.glyphForCodePoint(32);for(let i=0;i>16;if(r===0)switch(t>>8){case 0:return t===173;case 3:return t===847;case 6:return t===1564;case 23:return 6068<=t&&t<=6069;case 24:return 6155<=t&&t<=6158;case 32:return 8203<=t&&t<=8207||8234<=t&&t<=8238||8288<=t&&t<=8303;case 254:return 65024<=t&&t<=65039||t===65279;case 255:return 65520<=t&&t<=65528;default:return!1}else switch(r){case 1:return 113824<=t&&t<=113827||119155<=t&&t<=119162;case 14:return 917504<=t&&t<=921599;default:return!1}}getAvailableFeatures(t,r){let n=[];return this.engine&&n.push(...this.engine.getAvailableFeatures(t,r)),this.font.kern&&n.indexOf("kern")===-1&&n.push("kern"),n}stringsForGlyph(t){let r=new Set,n=this.font._cmapProcessor.codePointsForGlyph(t);for(let i of n)r.add(String.fromCodePoint(i));if(this.engine&&this.engine.stringsForGlyph)for(let i of this.engine.stringsForGlyph(t))r.add(i);return Array.from(r)}constructor(t){this.font=t,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new Uve(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new zye(this.font))}}const Hye={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"};class Y1{toFunction(){return t=>{this.commands.forEach(r=>t[r.command].apply(t,r.args))}}toSVG(){return this.commands.map(r=>{let n=r.args.map(i=>Math.round(i*100)/100);return`${Hye[r.command]}${n.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let t=new Qm;for(let r of this.commands)for(let n=0;nMath.pow(1-E,3)*A[j]+3*Math.pow(1-E,2)*E*y[j]+3*(1-E)*Math.pow(E,2)*v[j]+Math.pow(E,3)*w[j];for(let E of this.commands)switch(E.command){case"moveTo":case"lineTo":let[S,_]=E.args;t.addPoint(S,_),r=S,n=_;break;case"quadraticCurveTo":case"bezierCurveTo":if(E.command==="quadraticCurveTo")var[s,o,h,p]=E.args,l=r+2/3*(s-r),c=n+2/3*(o-n),d=h+2/3*(s-h),u=p+2/3*(o-p);else var[l,c,d,u,h,p]=E.args;t.addPoint(h,p);for(var A=[r,n],y=[l,c],v=[d,u],w=[h,p],j=0;j<=1;j++){let C=6*A[j]-12*y[j]+6*v[j],Q=-3*A[j]+9*y[j]-9*v[j]+3*w[j];if(E=3*y[j]-3*A[j],Q===0){if(C===0)continue;let O=-E/C;0{const d=t*l+n*c+s,u=r*l+i*c+o;return[d,u]})}translate(t,r){return this.transform(1,0,0,1,t,r)}rotate(t){let r=Math.cos(t),n=Math.sin(t);return this.transform(r,n,-n,r,0,0)}scale(t,r=t){return this.transform(t,0,0,r,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}}for(let e of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])Y1.prototype[e]=function(...t){return this._bbox=this._cbox=null,this.commands.push({command:e,args:t}),this};var _x=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];class Yd{_getPath(){return new Y1}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(t){if(this.id"u"||t===null)&&({cbox:t}=this),(o=this._font["OS/2"])&&o.version>0)var i=Math.abs(o.typoAscender-o.typoDescender),s=o.typoAscender-t.maxY;else{let{hhea:l}=this._font;var i=Math.abs(l.ascent-l.descent),s=l.ascent-t.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(r+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:r,advanceHeight:i,leftBearing:n,topBearing:s}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(t){let r=1/this._font.unitsPerEm*t;return this.path.scale(r)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:t}=this._font;if(!t)return null;switch(t.version){case 1:return _x[this.id];case 2:let r=t.glyphNameIndex[this.id];return r<_x.length?_x[r]:t.names[r-_x.length];case 2.5:return _x[this.id+t.offsets[this.id]];case 4:return String.fromCharCode(t.map[this.id])}}get name(){return this._getName()}render(t,r){t.save();let n=1/this._font.head.unitsPerEm*r;t.scale(n,n),this.path.toFunction()(t),t.fill(),t.restore()}constructor(t,r,n){this.id=t,this.codePoints=r,this._font=n,this.isMark=this.codePoints.length>0&&this.codePoints.every(nB),this.isLigature=this.codePoints.length>1}}fl([hl],Yd.prototype,"cbox",null);fl([hl],Yd.prototype,"bbox",null);fl([hl],Yd.prototype,"path",null);fl([hl],Yd.prototype,"advanceWidth",null);fl([hl],Yd.prototype,"advanceHeight",null);fl([hl],Yd.prototype,"name",null);let qT=new ct({numberOfContours:Ht,xMin:Ht,yMin:Ht,xMax:Ht,yMax:Ht});const qye=1,Gye=2,Vye=4,Wye=8,Kye=16,Yye=32,Zye=1,Jye=8,GT=32,Xye=64,e2e=128,t2e=256;class _0{copy(){return new _0(this.onCurve,this.endContour,this.x,this.y)}constructor(t,r,n=0,i=0){this.onCurve=t,this.endContour=r,this.x=n,this.y=i}}class r2e{constructor(t,r,n){this.glyphID=t,this.dx=r,this.dy=n,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}}class eE extends Yd{_getCBox(t){if(this._font._variationProcessor&&!t)return this.path.cbox;let r=this._font._getTableStream("glyf");r.pos+=this._font.loca.offsets[this.id];let n=qT.decode(r),i=new Qm(n.xMin,n.yMin,n.xMax,n.yMax);return Object.freeze(i)}_parseGlyphCoord(t,r,n,i){if(n){var s=t.readUInt8();i||(s=-s),s+=r}else if(i)var s=r;else var s=r+t.readInt16BE();return s}_decode(){let t=this._font.loca.offsets[this.id],r=this._font.loca.offsets[this.id+1];if(t===r)return null;let n=this._font._getTableStream("glyf");n.pos+=t;let i=n.pos,s=qT.decode(n);return s.numberOfContours>0?this._decodeSimple(s,n):s.numberOfContours<0&&this._decodeComposite(s,n,i),s}_decodeSimple(t,r){t.points=[];let n=new Ye(Y,t.numberOfContours).decode(r);t.instructions=new Ye(lr,Y).decode(r);let i=[],s=n[n.length-1]+1;for(;i.length=0,0,0);t.points.push(h)}let c=0;for(var l=0;l>1,o.length=0}function M($,P){y&&s.closePath(),s.moveTo($,P),y=!0}let O=function(){for(;r.pos1&&R(),h+=o.shift(),M(u,h);break;case 5:for(;o.length>=2;)u+=o.shift(),h+=o.shift(),s.lineTo(u,h);break;case 6:case 7:for(G=L===6;o.length>=1;)G?u+=o.shift():h+=o.shift(),s.lineTo(u,h),G=!G;break;case 8:for(;o.length>0;)J=u+o.shift(),q=h+o.shift(),ee=J+o.shift(),ne=q+o.shift(),u=ee+o.shift(),h=ne+o.shift(),s.bezierCurveTo(J,q,ee,ne,u,h);break;case 10:if(X=o.pop()+S,W=E[X],W){A[X]=!0;let Ie=r.pos,be=i;r.pos=W.offset,i=W.offset+W.length,O(),r.pos=Ie,i=be}break;case 11:if(t.version>=2)break;return;case 14:if(t.version>=2)break;o.length>0&&R(),y&&(s.closePath(),y=!1);break;case 15:if(t.version<2)throw new Error("vsindex operator not supported in CFF v1");C=o.pop();break;case 16:{if(t.version<2)throw new Error("blend operator not supported in CFF v1");if(!Q)throw new Error("blend operator in non-variation font");let Ie=Q.getBlendVector(_,C),be=o.pop(),Re=be*Ie.length,Pe=o.length-Re,Ke=Pe-be;for(let tt=0;tt>3;break;case 21:o.length>2&&R(),u+=o.shift(),h+=o.shift(),M(u,h);break;case 22:o.length>1&&R(),u+=o.shift(),M(u,h);break;case 24:for(;o.length>=8;)J=u+o.shift(),q=h+o.shift(),ee=J+o.shift(),ne=q+o.shift(),u=ee+o.shift(),h=ne+o.shift(),s.bezierCurveTo(J,q,ee,ne,u,h);u+=o.shift(),h+=o.shift(),s.lineTo(u,h);break;case 25:for(;o.length>=8;)u+=o.shift(),h+=o.shift(),s.lineTo(u,h);J=u+o.shift(),q=h+o.shift(),ee=J+o.shift(),ne=q+o.shift(),u=ee+o.shift(),h=ne+o.shift(),s.bezierCurveTo(J,q,ee,ne,u,h);break;case 26:for(o.length%2&&(u+=o.shift());o.length>=4;)J=u,q=h+o.shift(),ee=J+o.shift(),ne=q+o.shift(),u=ee,h=ne+o.shift(),s.bezierCurveTo(J,q,ee,ne,u,h);break;case 27:for(o.length%2&&(h+=o.shift());o.length>=4;)J=u+o.shift(),q=h,ee=J+o.shift(),ne=q+o.shift(),u=ee+o.shift(),h=ne,s.bezierCurveTo(J,q,ee,ne,u,h);break;case 28:o.push(r.readInt16BE());break;case 29:if(X=o.pop()+w,W=v[X],W){p[X]=!0;let Ie=r.pos,be=i;r.pos=W.offset,i=W.offset+W.length,O(),r.pos=Ie,i=be}break;case 30:case 31:for(G=L===31;o.length>=4;)G?(J=u+o.shift(),q=h,ee=J+o.shift(),ne=q+o.shift(),h=ne+o.shift(),u=ee+(o.length===1?o.shift():0)):(J=u,q=h+o.shift(),ee=J+o.shift(),ne=q+o.shift(),u=ee+o.shift(),h=ne+(o.length===1?o.shift():0)),s.bezierCurveTo(J,q,ee,ne,u,h),G=!G;break;case 12:switch(L=r.readUInt8(),L){case 3:let Ie=o.pop(),be=o.pop();o.push(Ie&&be?1:0);break;case 4:Ie=o.pop(),be=o.pop(),o.push(Ie||be?1:0);break;case 5:Ie=o.pop(),o.push(Ie?0:1);break;case 9:Ie=o.pop(),o.push(Math.abs(Ie));break;case 10:Ie=o.pop(),be=o.pop(),o.push(Ie+be);break;case 11:Ie=o.pop(),be=o.pop(),o.push(Ie-be);break;case 12:Ie=o.pop(),be=o.pop(),o.push(Ie/be);break;case 14:Ie=o.pop(),o.push(-Ie);break;case 15:Ie=o.pop(),be=o.pop(),o.push(Ie===be?1:0);break;case 18:o.pop();break;case 20:let Re=o.pop(),Pe=o.pop();l[Pe]=Re;break;case 21:Pe=o.pop(),o.push(l[Pe]||0);break;case 22:let Ke=o.pop(),tt=o.pop(),pt=o.pop(),dt=o.pop();o.push(pt<=dt?Ke:tt);break;case 23:o.push(Math.random());break;case 24:Ie=o.pop(),be=o.pop(),o.push(Ie*be);break;case 26:Ie=o.pop(),o.push(Math.sqrt(Ie));break;case 27:Ie=o.pop(),o.push(Ie,Ie);break;case 28:Ie=o.pop(),be=o.pop(),o.push(be,Ie);break;case 29:Pe=o.pop(),Pe<0?Pe=0:Pe>o.length-1&&(Pe=o.length-1),o.push(o[Pe]);break;case 30:let Oe=o.pop(),Pt=o.pop();if(Pt>=0)for(;Pt>0;){var $=o[Oe-1];for(let Jt=Oe-2;Jt>=0;Jt--)o[Jt+1]=o[Jt];o[0]=$,Pt--}else for(;Pt<0;){var $=o[0];for(let Bt=0;Bt<=Oe;Bt++)o[Bt]=o[Bt+1];o[Oe-1]=$,Pt++}break;case 34:J=u+o.shift(),q=h,ee=J+o.shift(),ne=q+o.shift(),V=ee+o.shift(),ue=ne,de=V+o.shift(),xe=ue,_e=de+o.shift(),Ce=xe,we=_e+o.shift(),ve=Ce,u=we,h=ve,s.bezierCurveTo(J,q,ee,ne,V,ue),s.bezierCurveTo(de,xe,_e,Ce,we,ve);break;case 35:Ne=[];for(let Jt=0;Jt<=5;Jt++)u+=o.shift(),h+=o.shift(),Ne.push(u,h);s.bezierCurveTo(...Ne.slice(0,6)),s.bezierCurveTo(...Ne.slice(6)),o.shift();break;case 36:J=u+o.shift(),q=h+o.shift(),ee=J+o.shift(),ne=q+o.shift(),V=ee+o.shift(),ue=ne,de=V+o.shift(),xe=ue,_e=de+o.shift(),Ce=xe+o.shift(),we=_e+o.shift(),ve=Ce,u=we,h=ve,s.bezierCurveTo(J,q,ee,ne,V,ue),s.bezierCurveTo(de,xe,_e,Ce,we,ve);break;case 37:let Kt=u,gt=h;Ne=[];for(let Jt=0;Jt<=4;Jt++)u+=o.shift(),h+=o.shift(),Ne.push(u,h);Math.abs(u-Kt)>Math.abs(h-gt)?(u+=o.shift(),h=gt):(u=Kt,h+=o.shift()),Ne.push(u,h),s.bezierCurveTo(...Ne.slice(0,6)),s.bezierCurveTo(...Ne.slice(6));break;default:throw new Error(`Unknown op: 12 ${L}`)}break;default:throw new Error(`Unknown op: ${L}`)}}else if(L<247)o.push(L-139);else if(L<251){var P=r.readUInt8();o.push((L-247)*256+P+108)}else if(L<255){var P=r.readUInt8();o.push(-(L-251)*256-P-108)}else o.push(r.readInt32BE()/65536)}};return O(),y&&s.closePath(),s}constructor(...t){super(...t),Bc(this,"type","CFF")}}let i2e=new ct({originX:Y,originY:Y,type:new Di(4),data:new cl(e=>e.parent.buflen-e._currentOffset)});class a2e extends eE{getImageForSize(t){for(let o=0;o=t)break}let n=r.imageOffsets,i=n[this.id],s=n[this.id+1];return i===s?null:(this._font.stream.pos=i,i2e.decode(this._font.stream,{buflen:s-i}))}render(t,r){let n=this.getImageForSize(r);if(n!=null){let i=r/this._font.unitsPerEm;t.image(n.data,{height:r,x:n.originX,y:(this.bbox.minY-n.originY)*i})}this._font.sbix.flags.renderOutlines&&super.render(t,r)}constructor(...t){super(...t),Bc(this,"type","SBIX")}}class VT{constructor(t,r){this.glyph=t,this.color=r}}class s2e extends Yd{_getBBox(){let t=new Qm;for(let r=0;r>1;var s=r.baseGlyphRecord[u];if(this.ids.gid)n=u+1;else{var o=s;break}}if(o==null){var l=this._font._getBaseGlyph(this.id),c={red:0,green:0,blue:0,alpha:255};return[new VT(l,c)]}let d=[];for(let u=o.firstLayerIndex;u=1&&r[n]=n.glyphCount)return;let i=n.offsets[t];if(i===n.offsets[t+1])return;let{stream:s}=this.font;if(s.pos=i,s.pos>=s.length)return;let o=s.readUInt16BE(),l=i+s.readUInt16BE();if(o&o2e){var c=s.pos;s.pos=l;var d=this.decodePoints();l=s.pos,s.pos=c}let u=r.map(w=>w.copy());o&=l2e;for(let w=0;w=n.globalCoordCount)throw new Error("Invalid gvar table");var h=n.globalCoords[E&KT]}if(E&WT){var p=[];for(let T=0;TO.copy()),M=r.map(()=>!1);for(let O=0;OMath.max(0,r[c]))return 0;l=(l*s[c]+Number.EPSILON)/(r[c]+Number.EPSILON)}else{if(s[c]i[c])return 0;s[c]o)continue;let c=i,d=i;for(i++;i<=o;)n[i]&&(this.deltaInterpolate(d+1,i-1,d,i,r,t),d=i),i++;d===c?this.deltaShift(s,o,d,r,t):(this.deltaInterpolate(d+1,o,d,c,r,t),c>0&&this.deltaInterpolate(s,c-1,d,c,r,t)),i=o+1}}deltaInterpolate(t,r,n,i,s,o){if(t>r)return;let l=["x","y"];for(let d=0;ds[i][u]){var c=n;n=i,i=c}let h=s[n][u],p=s[i][u],A=o[n][u],y=o[i][u];if(h!==p||A===y){let v=h===p?0:(y-A)/(p-h);for(let w=t;w<=r;w++){let j=s[w][u];j<=h?j+=A-h:j>=p?j+=y-p:j=A+(j-h)*v,o[w][u]=j}}}}deltaShift(t,r,n,i,s){let o=s[n].x-i[n].x,l=s[n].y-i[n].y;if(!(o===0&&l===0))for(let c=t;c<=r;c++)c!==n&&(s[c].x+=o,s[c].y+=l)}getAdvanceAdjustment(t,r){let n,i;if(r.advanceWidthMapping){let s=t;s>=r.advanceWidthMapping.mapCount&&(s=r.advanceWidthMapping.mapCount-1),r.advanceWidthMapping.entryFormat,{outerIndex:n,innerIndex:i}=r.advanceWidthMapping.mapData[s]}else n=0,i=t;return this.getDelta(r.itemVariationStore,n,i)}getDelta(t,r,n){if(r>=t.itemVariationData.length)return 0;let i=t.itemVariationData[r];if(n>=i.deltaSets.length)return 0;let s=i.deltaSets[n],o=this.getBlendVector(t,r),l=0;for(let c=0;ch.peakCoord||h.peakCoord>h.endCoord||h.startCoord<0&&h.endCoord>0&&h.peakCoord!==0||h.peakCoord===0?p=1:i[u]h.endCoord?p=0:i[u]===h.peakCoord?p=1:i[u]=0&&t<=255?1:2}static encode(t,r){r>=0&&r<=255?t.writeUInt8(r):t.writeInt16BE(r)}}let XT=new ct({numberOfContours:Ht,xMin:Ht,yMin:Ht,xMax:Ht,yMax:Ht,endPtsOfContours:new Ye(Y,"numberOfContours"),instructions:new Ye(lr,Y),flags:new Ye(lr,0),xPoints:new Ye(JT,0),yPoints:new Ye(JT,0)});class b2e{encodeSimple(t,r=[]){let n=[],i=[],s=[],o=[],l=0,c=0,d=0,u=0,h=0;for(let j=0;j0&&(o.push(l),l=0),o.push(Q),u=Q),c=_,d=C,h++}E.command==="closePath"&&n.push(h-1)}t.commands.length>1&&t.commands[t.commands.length-1].command!=="closePath"&&n.push(h-1);let p=t.bbox,A={numberOfContours:n.length,xMin:p.minX,yMin:p.minY,xMax:p.maxX,yMax:p.maxY,endPtsOfContours:n,instructions:r,flags:o,xPoints:i,yPoints:s},y=XT.size(A),v=4-y%4,w=new Aw(y+v);return XT.encode(w,A),v!==0&&w.fill(0,v),w.buffer}_encodePoint(t,r,n,i,s,o){let l=t-r;return t===r?i|=o:(-255<=l&&l<=255&&(i|=s,l<0?l=-l:i|=o),n.push(l)),i}}class w2e extends iq{_addGlyph(t){let r=this.font.getGlyph(t),n=r._decode(),i=this.font.loca.offsets[t],s=this.font.loca.offsets[t+1],o=this.font._getTableStream("glyf");o.pos+=i;let l=o.readBuffer(s-i);if(n&&n.numberOfContours<0){l=new Uint8Array(l);let c=new DataView(l.buffer);for(let d of n.components)t=this.includeGlyph(d.glyphID),c.setUint16(d.pos,t)}else n&&this.font._variationProcessor&&(l=this.glyphEncoder.encodeSimple(r.path,n.instructions));return this.glyf.push(l),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:r.advanceWidth,bearing:r._getMetrics().leftBearing}),this.offset+=l.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let t=0;for(;t255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},r=Object.assign({},this.cff.topDict);r.Private=null,r.charset=t,r.Encoding=null,r.CharStrings=this.charstrings;for(let i of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])r[i]=this.addString(this.cff.string(r[i]));r.ROS=[this.addString("Adobe"),this.addString("Identity"),0],r.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(r):this.createCIDFontdict(r);let n={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[r],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return zH.toBuffer(n)}constructor(t){if(super(t),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}}class kl{static probe(t){let r=Y4.decode(t.slice(0,4));return r==="true"||r==="OTTO"||r==="\0\0\0"}setDefaultLanguage(t=null){this.defaultLanguage=t}_getTable(t){if(!(t.tag in this._tables))try{this._tables[t.tag]=this._decodeTable(t)}catch{}return this._tables[t.tag]}_getTableStream(t){let r=this.directory.tables[t];return r?(this.stream.pos=r.offset,this.stream):null}_decodeDirectory(){return this.directory=VH.decode(this.stream,{_startOffset:0})}_decodeTable(t){let r=this.stream.pos,n=this._getTableStream(t.tag),i=ww[t.tag].decode(n,this,t.length);return this.stream.pos=r,i}getName(t,r=this.defaultLanguage||vw){let n=this.name&&this.name.records[t];return n&&(n[r]||n[this.defaultLanguage]||n[vw]||n.en||n[Object.keys(n)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let t=this["OS/2"];return t?t.capHeight:this.ascent}get xHeight(){let t=this["OS/2"];return t?t.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new Qm(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new lB(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(t){return!!this._cmapProcessor.lookup(t)}glyphForCodePoint(t){return this.getGlyph(this._cmapProcessor.lookup(t),[t])}glyphsForString(t){let r=[],n=t.length,i=0,s=-1,o=-1;for(;i<=n;){let l=0,c=0;if(i{let l=s.axisTag.trim();return l in t?Math.max(s.minValue,Math.min(s.maxValue,t[l])):s.defaultValue}),n=new ll(this.stream.buffer);n.pos=this._directoryPos;let i=new kl(n,r);return i._tables=this._tables,i}get _variationProcessor(){if(!this.fvar)return null;let t=this.variationCoords;return!t&&!this.CFF2?null:(t||(t=this.fvar.axis.map(r=>r.defaultValue)),new m2e(this,t))}getFont(t){return this.getVariation(t)}constructor(t,r=null){Bc(this,"type","TTF"),this.defaultLanguage=null,this.stream=t,this.variationCoords=r,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory();for(let n in this.directory.tables){let i=this.directory.tables[n];ww[n]&&i.length>0&&Object.defineProperty(this,n,{get:this._getTable.bind(this,i)})}}}fl([hl],kl.prototype,"bbox",null);fl([hl],kl.prototype,"_cmapProcessor",null);fl([hl],kl.prototype,"characterSet",null);fl([hl],kl.prototype,"_layoutEngine",null);fl([hl],kl.prototype,"variationAxes",null);fl([hl],kl.prototype,"namedVariations",null);fl([hl],kl.prototype,"_variationProcessor",null);let C2e=new ct({tag:new Di(4),offset:new Je(et,"void",{type:"global"}),compLength:et,length:et,origChecksum:et}),aq=new ct({tag:new Di(4),flavor:et,length:et,numTables:Y,reserved:new Ia(Y),totalSfntSize:et,majorVersion:Y,minorVersion:Y,metaOffset:et,metaLength:et,metaOrigLength:et,privOffset:et,privLength:et,tables:new Ye(C2e,"numTables")});aq.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e};var I2e=aq;class j2e extends kl{static probe(t){return Y4.decode(t.slice(0,4))==="wOFF"}_decodeDirectory(){this.directory=I2e.decode(this.stream,{_startOffset:0})}_getTableStream(t){let r=this.directory.tables[t];if(r)if(this.stream.pos=r.offset,r.compLength(e.flags&63)===63),tag:e=>e.customTag||S2e[e.flags&63],length:e9,transformVersion:e=>e.flags>>>6&3,transformed:e=>e.tag==="glyf"||e.tag==="loca"?e.transformVersion===0:e.transformVersion!==0,transformLength:new xw(e9,e=>e.transformed)}),sq=new ct({tag:new Di(4),flavor:et,length:et,numTables:Y,reserved:new Ia(Y),totalSfntSize:et,totalCompressedSize:et,majorVersion:Y,minorVersion:Y,metaOffset:et,metaLength:et,metaOrigLength:et,privOffset:et,privLength:et,tables:new Ye(B2e,"numTables")});sq.process=function(){let e={};for(let t=0;t0){let l=[],c=0;for(let d=0;d>7);if(h&=127,h<10)d=0,u=yd(h,((h&14)<<7)+t.readUInt8());else if(h<20)d=yd(h,((h-10&14)<<7)+t.readUInt8()),u=0;else if(h<84){var o=h-20,l=t.readUInt8();d=yd(h,1+(o&48)+(l>>4)),u=yd(h>>1,1+((o&12)<<2)+(l&15))}else if(h<120){var o=h-84;d=yd(h,1+(o/12<<8)+t.readUInt8()),u=yd(h>>1,1+(o%12>>2<<8)+t.readUInt8())}else if(h<124){var l=t.readUInt8();let y=t.readUInt8();d=yd(h,(l<<4)+(y>>4)),u=yd(h>>1,((y&15)<<8)+t.readUInt8())}else d=yd(h,t.readUInt16BE()),u=yd(h>>1,t.readUInt16BE());i+=d,n+=u,s.push(new _0(p,!1,i,n))}return s}let F2e=new Un(et,{65536:{numFonts:et,offsets:new Ye(et,"numFonts")},131072:{numFonts:et,offsets:new Ye(et,"numFonts"),dsigTag:et,dsigLength:et,dsigOffset:et}});class O2e{static probe(t){return Y4.decode(t.slice(0,4))==="ttcf"}getFont(t){for(let r of this.header.offsets){let n=new ll(this.stream.buffer);n.pos=r;let i=new kl(n);if(i.postscriptName===t||i.postscriptName instanceof Uint8Array&&t instanceof Uint8Array&&i.postscriptName.every((s,o)=>t[o]===s))return i}return null}get fonts(){let t=[];for(let r of this.header.offsets){let n=new ll(this.stream.buffer);n.pos=r,t.push(new kl(n))}return t}constructor(t){if(Bc(this,"type","TTC"),this.stream=t,t.readString(4)!=="ttcf")throw new Error("Not a TrueType collection");this.header=F2e.decode(t)}}let L2e=new Di(lr);new ct({len:et,buf:new cl("len")});let M2e=new ct({id:Y,nameOffset:Ht,attr:lr,dataOffset:ym,handle:et}),U2e=new ct({name:new Di(4),maxTypeIndex:Y,refList:new Je(Y,new Ye(M2e,e=>e.maxTypeIndex+1),{type:"parent"})}),z2e=new ct({length:Y,types:new Ye(U2e,e=>e.length+1)}),$2e=new ct({reserved:new Ia(lr,24),typeList:new Je(Y,z2e),nameListOffset:new Je(Y,"void")}),r9=new ct({dataOffset:et,map:new Je(et,$2e),dataLength:et,mapLength:et});class H2e{static probe(t){let r=new ll(t);try{var n=r9.decode(r)}catch{return!1}for(let i of n.map.typeList.types)if(i.name==="sfnt")return!0;return!1}getFont(t){if(!this.sfnt)return null;for(let r of this.sfnt.refList){let n=this.header.dataOffset+r.dataOffset+4,i=new ll(this.stream.buffer.slice(n)),s=new kl(i);if(s.postscriptName===t||s.postscriptName instanceof Uint8Array&&t instanceof Uint8Array&&s.postscriptName.every((o,l)=>t[l]===o))return s}return null}get fonts(){let t=[];for(let r of this.sfnt.refList){let n=this.header.dataOffset+r.dataOffset+4,i=new ll(this.stream.buffer.slice(n));t.push(new kl(i))}return t}constructor(t){Bc(this,"type","DFont"),this.stream=t,this.header=r9.decode(this.stream);for(let r of this.header.map.typeList.types){for(let n of r.refList)n.nameOffset>=0?(this.stream.pos=n.nameOffset+this.header.map.nameListOffset,n.name=L2e.decode(this.stream)):n.name=null;r.name==="sfnt"&&(this.sfnt=r)}}}K1(kl);K1(j2e);K1(_2e);K1(O2e);K1(H2e);var rj,n9;function q2e(){if(n9)return rj;n9=1;function e(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}return rj=e,rj}var G2e=q2e();const V2e=ma(G2e);var B0={},nj={},i9;function tE(){return i9||(i9=1,(function(e){var t=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function r(s,o){return Object.prototype.hasOwnProperty.call(s,o)}e.assign=function(s){for(var o=Array.prototype.slice.call(arguments,1);o.length;){var l=o.shift();if(l){if(typeof l!="object")throw new TypeError(l+"must be non-object");for(var c in l)r(l,c)&&(s[c]=l[c])}}return s},e.shrinkBuf=function(s,o){return s.length===o?s:s.subarray?s.subarray(0,o):(s.length=o,s)};var n={arraySet:function(s,o,l,c,d){if(o.subarray&&s.subarray){s.set(o.subarray(l,l+c),d);return}for(var u=0;u=0;)ce[Le]=0}var o=0,l=1,c=2,d=3,u=258,h=29,p=256,A=p+1+h,y=30,v=19,w=2*A+1,j=15,E=16,S=7,_=256,C=16,Q=17,R=18,T=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],M=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],$=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],P=512,L=new Array((A+2)*2);s(L);var X=new Array(y*2);s(X);var W=new Array(P);s(W);var G=new Array(u-d+1);s(G);var J=new Array(h);s(J);var q=new Array(y);s(q);function ee(ce,Le,rt,ie,ae){this.static_tree=ce,this.extra_bits=Le,this.extra_base=rt,this.elems=ie,this.max_length=ae,this.has_stree=ce&&ce.length}var ne,V,ue;function de(ce,Le){this.dyn_tree=ce,this.max_code=0,this.stat_desc=Le}function xe(ce){return ce<256?W[ce]:W[256+(ce>>>7)]}function _e(ce,Le){ce.pending_buf[ce.pending++]=Le&255,ce.pending_buf[ce.pending++]=Le>>>8&255}function Ce(ce,Le,rt){ce.bi_valid>E-rt?(ce.bi_buf|=Le<>E-ce.bi_valid,ce.bi_valid+=rt-E):(ce.bi_buf|=Le<>>=1,rt<<=1;while(--Le>0);return rt>>>1}function Ne(ce){ce.bi_valid===16?(_e(ce,ce.bi_buf),ce.bi_buf=0,ce.bi_valid=0):ce.bi_valid>=8&&(ce.pending_buf[ce.pending++]=ce.bi_buf&255,ce.bi_buf>>=8,ce.bi_valid-=8)}function Ie(ce,Le){var rt=Le.dyn_tree,ie=Le.max_code,ae=Le.stat_desc.static_tree,Ee=Le.stat_desc.has_stree,re=Le.stat_desc.extra_bits,We=Le.stat_desc.extra_base,Tt=Le.stat_desc.max_length,H,ze,Ze,he,De,qe,dr=0;for(he=0;he<=j;he++)ce.bl_count[he]=0;for(rt[ce.heap[ce.heap_max]*2+1]=0,H=ce.heap_max+1;HTt&&(he=Tt,dr++),rt[ze*2+1]=he,!(ze>ie)&&(ce.bl_count[he]++,De=0,ze>=We&&(De=re[ze-We]),qe=rt[ze*2],ce.opt_len+=qe*(he+De),Ee&&(ce.static_len+=qe*(ae[ze*2+1]+De)));if(dr!==0){do{for(he=Tt-1;ce.bl_count[he]===0;)he--;ce.bl_count[he]--,ce.bl_count[he+1]+=2,ce.bl_count[Tt]--,dr-=2}while(dr>0);for(he=Tt;he!==0;he--)for(ze=ce.bl_count[he];ze!==0;)Ze=ce.heap[--H],!(Ze>ie)&&(rt[Ze*2+1]!==he&&(ce.opt_len+=(he-rt[Ze*2+1])*rt[Ze*2],rt[Ze*2+1]=he),ze--)}}function be(ce,Le,rt){var ie=new Array(j+1),ae=0,Ee,re;for(Ee=1;Ee<=j;Ee++)ie[Ee]=ae=ae+rt[Ee-1]<<1;for(re=0;re<=Le;re++){var We=ce[re*2+1];We!==0&&(ce[re*2]=ve(ie[We]++,We))}}function Re(){var ce,Le,rt,ie,ae,Ee=new Array(j+1);for(rt=0,ie=0;ie>=7;ie8?_e(ce,ce.bi_buf):ce.bi_valid>0&&(ce.pending_buf[ce.pending++]=ce.bi_buf),ce.bi_buf=0,ce.bi_valid=0}function tt(ce,Le,rt,ie){Ke(ce),_e(ce,rt),_e(ce,~rt),e.arraySet(ce.pending_buf,ce.window,Le,rt,ce.pending),ce.pending+=rt}function pt(ce,Le,rt,ie){var ae=Le*2,Ee=rt*2;return ce[ae]>1;re>=1;re--)dt(ce,rt,re);H=Ee;do re=ce.heap[1],ce.heap[1]=ce.heap[ce.heap_len--],dt(ce,rt,1),We=ce.heap[1],ce.heap[--ce.heap_max]=re,ce.heap[--ce.heap_max]=We,rt[H*2]=rt[re*2]+rt[We*2],ce.depth[H]=(ce.depth[re]>=ce.depth[We]?ce.depth[re]:ce.depth[We])+1,rt[re*2+1]=rt[We*2+1]=H,ce.heap[1]=H++,dt(ce,rt,1);while(ce.heap_len>=2);ce.heap[--ce.heap_max]=ce.heap[1],Ie(ce,Le),be(rt,Tt,ce.bl_count)}function Kt(ce,Le,rt){var ie,ae=-1,Ee,re=Le[1],We=0,Tt=7,H=4;for(re===0&&(Tt=138,H=3),Le[(rt+1)*2+1]=65535,ie=0;ie<=rt;ie++)Ee=re,re=Le[(ie+1)*2+1],!(++We=3&&ce.bl_tree[$[Le]*2+1]===0;Le--);return ce.opt_len+=3*(Le+1)+5+5+4,Le}function Bt(ce,Le,rt,ie){var ae;for(Ce(ce,Le-257,5),Ce(ce,rt-1,5),Ce(ce,ie-4,4),ae=0;ae>>=1)if(Le&1&&ce.dyn_ltree[rt*2]!==0)return r;if(ce.dyn_ltree[18]!==0||ce.dyn_ltree[20]!==0||ce.dyn_ltree[26]!==0)return n;for(rt=32;rt0?(ce.strm.data_type===i&&(ce.strm.data_type=tr(ce)),Pt(ce,ce.l_desc),Pt(ce,ce.d_desc),re=Jt(ce),ae=ce.opt_len+3+7>>>3,Ee=ce.static_len+3+7>>>3,Ee<=ae&&(ae=Ee)):ae=Ee=rt+5,rt+4<=ae&&Le!==-1?wt(ce,Le,rt,ie):ce.strategy===t||Ee===ae?(Ce(ce,(l<<1)+(ie?1:0),3),Oe(ce,L,X)):(Ce(ce,(c<<1)+(ie?1:0),3),Bt(ce,ce.l_desc.max_code+1,ce.d_desc.max_code+1,re+1),Oe(ce,ce.dyn_ltree,ce.dyn_dtree)),Pe(ce),ie&&Ke(ce)}function He(ce,Le,rt){return ce.pending_buf[ce.d_buf+ce.last_lit*2]=Le>>>8&255,ce.pending_buf[ce.d_buf+ce.last_lit*2+1]=Le&255,ce.pending_buf[ce.l_buf+ce.last_lit]=rt&255,ce.last_lit++,Le===0?ce.dyn_ltree[rt*2]++:(ce.matches++,Le--,ce.dyn_ltree[(G[rt]+p+1)*2]++,ce.dyn_dtree[xe(Le)*2]++),ce.last_lit===ce.lit_bufsize-1}return Lp._tr_init=xt,Lp._tr_stored_block=wt,Lp._tr_flush_block=ir,Lp._tr_tally=He,Lp._tr_align=Lt,Lp}var ij,s9;function oq(){if(s9)return ij;s9=1;function e(t,r,n,i){for(var s=t&65535|0,o=t>>>16&65535|0,l=0;n!==0;){l=n>2e3?2e3:n,n-=l;do s=s+r[i++]|0,o=o+s|0;while(--l);s%=65521,o%=65521}return s|o<<16|0}return ij=e,ij}var aj,o9;function lq(){if(o9)return aj;o9=1;function e(){for(var n,i=[],s=0;s<256;s++){n=s;for(var o=0;o<8;o++)n=n&1?3988292384^n>>>1:n>>>1;i[s]=n}return i}var t=e();function r(n,i,s,o){var l=t,c=o+s;n^=-1;for(var d=o;d>>8^l[(n^i[d])&255];return n^-1}return aj=r,aj}var sj,l9;function K2e(){return l9||(l9=1,sj={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}),sj}var c9;function Y2e(){if(c9)return B0;c9=1;var e=tE(),t=W2e(),r=oq(),n=lq(),i=K2e(),s=0,o=1,l=3,c=4,d=5,u=0,h=1,p=-2,A=-3,y=-5,v=-1,w=1,j=2,E=3,S=4,_=0,C=2,Q=8,R=9,T=15,M=8,O=29,$=256,P=$+1+O,L=30,X=19,W=2*P+1,G=15,J=3,q=258,ee=q+J+1,ne=32,V=42,ue=69,de=73,xe=91,_e=103,Ce=113,we=666,ve=1,Ne=2,Ie=3,be=4,Re=3;function Pe(H,ze){return H.msg=i[ze],ze}function Ke(H){return(H<<1)-(H>4?9:0)}function tt(H){for(var ze=H.length;--ze>=0;)H[ze]=0}function pt(H){var ze=H.state,Ze=ze.pending;Ze>H.avail_out&&(Ze=H.avail_out),Ze!==0&&(e.arraySet(H.output,ze.pending_buf,ze.pending_out,Ze,H.next_out),H.next_out+=Ze,ze.pending_out+=Ze,H.total_out+=Ze,H.avail_out-=Ze,ze.pending-=Ze,ze.pending===0&&(ze.pending_out=0))}function dt(H,ze){t._tr_flush_block(H,H.block_start>=0?H.block_start:-1,H.strstart-H.block_start,ze),H.block_start=H.strstart,pt(H.strm)}function Oe(H,ze){H.pending_buf[H.pending++]=ze}function Pt(H,ze){H.pending_buf[H.pending++]=ze>>>8&255,H.pending_buf[H.pending++]=ze&255}function Kt(H,ze,Ze,he){var De=H.avail_in;return De>he&&(De=he),De===0?0:(H.avail_in-=De,e.arraySet(ze,H.input,H.next_in,De,Ze),H.state.wrap===1?H.adler=r(H.adler,ze,De,Ze):H.state.wrap===2&&(H.adler=n(H.adler,ze,De,Ze)),H.next_in+=De,H.total_in+=De,De)}function gt(H,ze){var Ze=H.max_chain_length,he=H.strstart,De,qe,dr=H.prev_length,Xt=H.nice_match,Te=H.strstart>H.w_size-ee?H.strstart-(H.w_size-ee):0,zt=H.window,qr=H.w_mask,kr=H.prev,fr=H.strstart+q,Ft=zt[he+dr-1],Gr=zt[he+dr];H.prev_length>=H.good_match&&(Ze>>=2),Xt>H.lookahead&&(Xt=H.lookahead);do if(De=ze,!(zt[De+dr]!==Gr||zt[De+dr-1]!==Ft||zt[De]!==zt[he]||zt[++De]!==zt[he+1])){he+=2,De++;do;while(zt[++he]===zt[++De]&&zt[++he]===zt[++De]&&zt[++he]===zt[++De]&&zt[++he]===zt[++De]&&zt[++he]===zt[++De]&&zt[++he]===zt[++De]&&zt[++he]===zt[++De]&&zt[++he]===zt[++De]&&hedr){if(H.match_start=ze,dr=qe,qe>=Xt)break;Ft=zt[he+dr-1],Gr=zt[he+dr]}}while((ze=kr[ze&qr])>Te&&--Ze!==0);return dr<=H.lookahead?dr:H.lookahead}function Jt(H){var ze=H.w_size,Ze,he,De,qe,dr;do{if(qe=H.window_size-H.lookahead-H.strstart,H.strstart>=ze+(ze-ee)){e.arraySet(H.window,H.window,ze,ze,0),H.match_start-=ze,H.strstart-=ze,H.block_start-=ze,he=H.hash_size,Ze=he;do De=H.head[--Ze],H.head[Ze]=De>=ze?De-ze:0;while(--he);he=ze,Ze=he;do De=H.prev[--Ze],H.prev[Ze]=De>=ze?De-ze:0;while(--he);qe+=ze}if(H.strm.avail_in===0)break;if(he=Kt(H.strm,H.window,H.strstart+H.lookahead,qe),H.lookahead+=he,H.lookahead+H.insert>=J)for(dr=H.strstart-H.insert,H.ins_h=H.window[dr],H.ins_h=(H.ins_h<H.pending_buf_size-5&&(Ze=H.pending_buf_size-5);;){if(H.lookahead<=1){if(Jt(H),H.lookahead===0&&ze===s)return ve;if(H.lookahead===0)break}H.strstart+=H.lookahead,H.lookahead=0;var he=H.block_start+Ze;if((H.strstart===0||H.strstart>=he)&&(H.lookahead=H.strstart-he,H.strstart=he,dt(H,!1),H.strm.avail_out===0)||H.strstart-H.block_start>=H.w_size-ee&&(dt(H,!1),H.strm.avail_out===0))return ve}return H.insert=0,ze===c?(dt(H,!0),H.strm.avail_out===0?Ie:be):(H.strstart>H.block_start&&(dt(H,!1),H.strm.avail_out===0),ve)}function tr(H,ze){for(var Ze,he;;){if(H.lookahead=J&&(H.ins_h=(H.ins_h<=J)if(he=t._tr_tally(H,H.strstart-H.match_start,H.match_length-J),H.lookahead-=H.match_length,H.match_length<=H.max_lazy_match&&H.lookahead>=J){H.match_length--;do H.strstart++,H.ins_h=(H.ins_h<=J&&(H.ins_h=(H.ins_h<4096)&&(H.match_length=J-1)),H.prev_length>=J&&H.match_length<=H.prev_length){De=H.strstart+H.lookahead-J,he=t._tr_tally(H,H.strstart-1-H.prev_match,H.prev_length-J),H.lookahead-=H.prev_length-1,H.prev_length-=2;do++H.strstart<=De&&(H.ins_h=(H.ins_h<=J&&H.strstart>0&&(De=H.strstart-1,he=dr[De],he===dr[++De]&&he===dr[++De]&&he===dr[++De])){qe=H.strstart+q;do;while(he===dr[++De]&&he===dr[++De]&&he===dr[++De]&&he===dr[++De]&&he===dr[++De]&&he===dr[++De]&&he===dr[++De]&&he===dr[++De]&&DeH.lookahead&&(H.match_length=H.lookahead)}if(H.match_length>=J?(Ze=t._tr_tally(H,1,H.match_length-J),H.lookahead-=H.match_length,H.strstart+=H.match_length,H.match_length=0):(Ze=t._tr_tally(H,0,H.window[H.strstart]),H.lookahead--,H.strstart++),Ze&&(dt(H,!1),H.strm.avail_out===0))return ve}return H.insert=0,ze===c?(dt(H,!0),H.strm.avail_out===0?Ie:be):H.last_lit&&(dt(H,!1),H.strm.avail_out===0)?ve:Ne}function wt(H,ze){for(var Ze;;){if(H.lookahead===0&&(Jt(H),H.lookahead===0)){if(ze===s)return ve;break}if(H.match_length=0,Ze=t._tr_tally(H,0,H.window[H.strstart]),H.lookahead--,H.strstart++,Ze&&(dt(H,!1),H.strm.avail_out===0))return ve}return H.insert=0,ze===c?(dt(H,!0),H.strm.avail_out===0?Ie:be):H.last_lit&&(dt(H,!1),H.strm.avail_out===0)?ve:Ne}function Lt(H,ze,Ze,he,De){this.good_length=H,this.max_lazy=ze,this.nice_length=Ze,this.max_chain=he,this.func=De}var ir;ir=[new Lt(0,0,0,0,Bt),new Lt(4,4,8,4,tr),new Lt(4,5,16,8,tr),new Lt(4,6,32,32,tr),new Lt(4,4,16,16,sr),new Lt(8,16,32,32,sr),new Lt(8,16,128,128,sr),new Lt(8,32,128,256,sr),new Lt(32,128,258,1024,sr),new Lt(32,258,258,4096,sr)];function He(H){H.window_size=2*H.w_size,tt(H.head),H.max_lazy_match=ir[H.level].max_lazy,H.good_match=ir[H.level].good_length,H.nice_match=ir[H.level].nice_length,H.max_chain_length=ir[H.level].max_chain,H.strstart=0,H.block_start=0,H.lookahead=0,H.insert=0,H.match_length=H.prev_length=J-1,H.match_available=0,H.ins_h=0}function ce(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Q,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new e.Buf16(W*2),this.dyn_dtree=new e.Buf16((2*L+1)*2),this.bl_tree=new e.Buf16((2*X+1)*2),tt(this.dyn_ltree),tt(this.dyn_dtree),tt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new e.Buf16(G+1),this.heap=new e.Buf16(2*P+1),tt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new e.Buf16(2*P+1),tt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Le(H){var ze;return!H||!H.state?Pe(H,p):(H.total_in=H.total_out=0,H.data_type=C,ze=H.state,ze.pending=0,ze.pending_out=0,ze.wrap<0&&(ze.wrap=-ze.wrap),ze.status=ze.wrap?V:Ce,H.adler=ze.wrap===2?0:1,ze.last_flush=s,t._tr_init(ze),u)}function rt(H){var ze=Le(H);return ze===u&&He(H.state),ze}function ie(H,ze){return!H||!H.state||H.state.wrap!==2?p:(H.state.gzhead=ze,u)}function ae(H,ze,Ze,he,De,qe){if(!H)return p;var dr=1;if(ze===v&&(ze=6),he<0?(dr=0,he=-he):he>15&&(dr=2,he-=16),De<1||De>R||Ze!==Q||he<8||he>15||ze<0||ze>9||qe<0||qe>S)return Pe(H,p);he===8&&(he=9);var Xt=new ce;return H.state=Xt,Xt.strm=H,Xt.wrap=dr,Xt.gzhead=null,Xt.w_bits=he,Xt.w_size=1<d||ze<0)return H?Pe(H,p):p;if(he=H.state,!H.output||!H.input&&H.avail_in!==0||he.status===we&&ze!==c)return Pe(H,H.avail_out===0?y:p);if(he.strm=H,Ze=he.last_flush,he.last_flush=ze,he.status===V)if(he.wrap===2)H.adler=0,Oe(he,31),Oe(he,139),Oe(he,8),he.gzhead?(Oe(he,(he.gzhead.text?1:0)+(he.gzhead.hcrc?2:0)+(he.gzhead.extra?4:0)+(he.gzhead.name?8:0)+(he.gzhead.comment?16:0)),Oe(he,he.gzhead.time&255),Oe(he,he.gzhead.time>>8&255),Oe(he,he.gzhead.time>>16&255),Oe(he,he.gzhead.time>>24&255),Oe(he,he.level===9?2:he.strategy>=j||he.level<2?4:0),Oe(he,he.gzhead.os&255),he.gzhead.extra&&he.gzhead.extra.length&&(Oe(he,he.gzhead.extra.length&255),Oe(he,he.gzhead.extra.length>>8&255)),he.gzhead.hcrc&&(H.adler=n(H.adler,he.pending_buf,he.pending,0)),he.gzindex=0,he.status=ue):(Oe(he,0),Oe(he,0),Oe(he,0),Oe(he,0),Oe(he,0),Oe(he,he.level===9?2:he.strategy>=j||he.level<2?4:0),Oe(he,Re),he.status=Ce);else{var dr=Q+(he.w_bits-8<<4)<<8,Xt=-1;he.strategy>=j||he.level<2?Xt=0:he.level<6?Xt=1:he.level===6?Xt=2:Xt=3,dr|=Xt<<6,he.strstart!==0&&(dr|=ne),dr+=31-dr%31,he.status=Ce,Pt(he,dr),he.strstart!==0&&(Pt(he,H.adler>>>16),Pt(he,H.adler&65535)),H.adler=1}if(he.status===ue)if(he.gzhead.extra){for(De=he.pending;he.gzindex<(he.gzhead.extra.length&65535)&&!(he.pending===he.pending_buf_size&&(he.gzhead.hcrc&&he.pending>De&&(H.adler=n(H.adler,he.pending_buf,he.pending-De,De)),pt(H),De=he.pending,he.pending===he.pending_buf_size));)Oe(he,he.gzhead.extra[he.gzindex]&255),he.gzindex++;he.gzhead.hcrc&&he.pending>De&&(H.adler=n(H.adler,he.pending_buf,he.pending-De,De)),he.gzindex===he.gzhead.extra.length&&(he.gzindex=0,he.status=de)}else he.status=de;if(he.status===de)if(he.gzhead.name){De=he.pending;do{if(he.pending===he.pending_buf_size&&(he.gzhead.hcrc&&he.pending>De&&(H.adler=n(H.adler,he.pending_buf,he.pending-De,De)),pt(H),De=he.pending,he.pending===he.pending_buf_size)){qe=1;break}he.gzindexDe&&(H.adler=n(H.adler,he.pending_buf,he.pending-De,De)),qe===0&&(he.gzindex=0,he.status=xe)}else he.status=xe;if(he.status===xe)if(he.gzhead.comment){De=he.pending;do{if(he.pending===he.pending_buf_size&&(he.gzhead.hcrc&&he.pending>De&&(H.adler=n(H.adler,he.pending_buf,he.pending-De,De)),pt(H),De=he.pending,he.pending===he.pending_buf_size)){qe=1;break}he.gzindexDe&&(H.adler=n(H.adler,he.pending_buf,he.pending-De,De)),qe===0&&(he.status=_e)}else he.status=_e;if(he.status===_e&&(he.gzhead.hcrc?(he.pending+2>he.pending_buf_size&&pt(H),he.pending+2<=he.pending_buf_size&&(Oe(he,H.adler&255),Oe(he,H.adler>>8&255),H.adler=0,he.status=Ce)):he.status=Ce),he.pending!==0){if(pt(H),H.avail_out===0)return he.last_flush=-1,u}else if(H.avail_in===0&&Ke(ze)<=Ke(Ze)&&ze!==c)return Pe(H,y);if(he.status===we&&H.avail_in!==0)return Pe(H,y);if(H.avail_in!==0||he.lookahead!==0||ze!==s&&he.status!==we){var Te=he.strategy===j?wt(he,ze):he.strategy===E?xt(he,ze):ir[he.level].func(he,ze);if((Te===Ie||Te===be)&&(he.status=we),Te===ve||Te===Ie)return H.avail_out===0&&(he.last_flush=-1),u;if(Te===Ne&&(ze===o?t._tr_align(he):ze!==d&&(t._tr_stored_block(he,0,0,!1),ze===l&&(tt(he.head),he.lookahead===0&&(he.strstart=0,he.block_start=0,he.insert=0))),pt(H),H.avail_out===0))return he.last_flush=-1,u}return ze!==c?u:he.wrap<=0?h:(he.wrap===2?(Oe(he,H.adler&255),Oe(he,H.adler>>8&255),Oe(he,H.adler>>16&255),Oe(he,H.adler>>24&255),Oe(he,H.total_in&255),Oe(he,H.total_in>>8&255),Oe(he,H.total_in>>16&255),Oe(he,H.total_in>>24&255)):(Pt(he,H.adler>>>16),Pt(he,H.adler&65535)),pt(H),he.wrap>0&&(he.wrap=-he.wrap),he.pending!==0?u:h)}function We(H){var ze;return!H||!H.state?p:(ze=H.state.status,ze!==V&&ze!==ue&&ze!==de&&ze!==xe&&ze!==_e&&ze!==Ce&&ze!==we?Pe(H,p):(H.state=null,ze===Ce?Pe(H,A):u))}function Tt(H,ze){var Ze=ze.length,he,De,qe,dr,Xt,Te,zt,qr;if(!H||!H.state||(he=H.state,dr=he.wrap,dr===2||dr===1&&he.status!==V||he.lookahead))return p;for(dr===1&&(H.adler=r(H.adler,ze,Ze,0)),he.wrap=0,Ze>=he.w_size&&(dr===0&&(tt(he.head),he.strstart=0,he.block_start=0,he.insert=0),qr=new e.Buf8(he.w_size),e.arraySet(qr,ze,Ze-he.w_size,he.w_size,0),ze=qr,Ze=he.w_size),Xt=H.avail_in,Te=H.next_in,zt=H.input,H.avail_in=Ze,H.next_in=0,H.input=ze,Jt(he);he.lookahead>=J;){De=he.strstart,qe=he.lookahead-(J-1);do he.ins_h=(he.ins_h<>>24,w>>>=R,j-=R,R=Q>>>16&255,R===0)L[c++]=Q&65535;else if(R&16){T=Q&65535,R&=15,R&&(j>>=R,j-=R),j<15&&(w+=P[o++]<>>24,w>>>=R,j-=R,R=Q>>>16&255,R&16){if(M=Q&65535,R&=15,jh){n.msg="invalid distance too far back",s.mode=e;break e}if(w>>>=R,j-=R,R=c-d,M>R){if(R=M-R,R>A&&s.sane){n.msg="invalid distance too far back",s.mode=e;break e}if(O=0,$=v,y===0){if(O+=p-R,R2;)L[c++]=$[O++],L[c++]=$[O++],L[c++]=$[O++],T-=3;T&&(L[c++]=$[O++],T>1&&(L[c++]=$[O++]))}else{O=c-M;do L[c++]=L[O++],L[c++]=L[O++],L[c++]=L[O++],T-=3;while(T>2);T&&(L[c++]=L[O++],T>1&&(L[c++]=L[O++]))}}else if((R&64)===0){Q=S[(Q&65535)+(w&(1<>3,o-=T,j-=T<<3,w&=(1<=1&&de[T]===0;T--);if(M>T&&(M=T),T===0)return w[j++]=1<<24|64<<16|0,w[j++]=1<<24|64<<16|0,S.bits=1,0;for(R=1;R0&&(p===i||T!==1))return-1;for(xe[1]=0,C=1;Cr||p===o&&L>n)return 1;for(;;){we=C-$,E[Q]ue?(ve=_e[Ce+E[Q]],Ne=ne[V+E[Q]]):(ve=96,Ne=0),W=1<>$)+G]=we<<24|ve<<16|Ne|0;while(G!==0);for(W=1<>=1;if(W!==0?(X&=W-1,X+=W):X=0,Q++,--de[C]===0){if(C===T)break;C=A[y+E[Q]]}if(C>M&&(X&q)!==J){for($===0&&($=M),ee+=R,O=C-$,P=1<r||p===o&&L>n)return 1;J=X&q,w[J]=M<<24|O<<16|ee-j|0}}return X!==0&&(w[ee+X]=C-$<<24|64<<16|0),S.bits=M,0},lj}var f9;function tbe(){if(f9)return qu;f9=1;var e=tE(),t=oq(),r=lq(),n=X2e(),i=ebe(),s=0,o=1,l=2,c=4,d=5,u=6,h=0,p=1,A=2,y=-2,v=-3,w=-4,j=-5,E=8,S=1,_=2,C=3,Q=4,R=5,T=6,M=7,O=8,$=9,P=10,L=11,X=12,W=13,G=14,J=15,q=16,ee=17,ne=18,V=19,ue=20,de=21,xe=22,_e=23,Ce=24,we=25,ve=26,Ne=27,Ie=28,be=29,Re=30,Pe=31,Ke=32,tt=852,pt=592,dt=15,Oe=dt;function Pt(ae){return(ae>>>24&255)+(ae>>>8&65280)+((ae&65280)<<8)+((ae&255)<<24)}function Kt(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new e.Buf16(320),this.work=new e.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function gt(ae){var Ee;return!ae||!ae.state?y:(Ee=ae.state,ae.total_in=ae.total_out=Ee.total=0,ae.msg="",Ee.wrap&&(ae.adler=Ee.wrap&1),Ee.mode=S,Ee.last=0,Ee.havedict=0,Ee.dmax=32768,Ee.head=null,Ee.hold=0,Ee.bits=0,Ee.lencode=Ee.lendyn=new e.Buf32(tt),Ee.distcode=Ee.distdyn=new e.Buf32(pt),Ee.sane=1,Ee.back=-1,h)}function Jt(ae){var Ee;return!ae||!ae.state?y:(Ee=ae.state,Ee.wsize=0,Ee.whave=0,Ee.wnext=0,gt(ae))}function Bt(ae,Ee){var re,We;return!ae||!ae.state||(We=ae.state,Ee<0?(re=0,Ee=-Ee):(re=(Ee>>4)+1,Ee<48&&(Ee&=15)),Ee&&(Ee<8||Ee>15))?y:(We.window!==null&&We.wbits!==Ee&&(We.window=null),We.wrap=re,We.wbits=Ee,Jt(ae))}function tr(ae,Ee){var re,We;return ae?(We=new Kt,ae.state=We,We.window=null,re=Bt(ae,Ee),re!==h&&(ae.state=null),re):y}function sr(ae){return tr(ae,Oe)}var xt=!0,wt,Lt;function ir(ae){if(xt){var Ee;for(wt=new e.Buf32(512),Lt=new e.Buf32(32),Ee=0;Ee<144;)ae.lens[Ee++]=8;for(;Ee<256;)ae.lens[Ee++]=9;for(;Ee<280;)ae.lens[Ee++]=7;for(;Ee<288;)ae.lens[Ee++]=8;for(i(o,ae.lens,0,288,wt,0,ae.work,{bits:9}),Ee=0;Ee<32;)ae.lens[Ee++]=5;i(l,ae.lens,0,32,Lt,0,ae.work,{bits:5}),xt=!1}ae.lencode=wt,ae.lenbits=9,ae.distcode=Lt,ae.distbits=5}function He(ae,Ee,re,We){var Tt,H=ae.state;return H.window===null&&(H.wsize=1<=H.wsize?(e.arraySet(H.window,Ee,re-H.wsize,H.wsize,0),H.wnext=0,H.whave=H.wsize):(Tt=H.wsize-H.wnext,Tt>We&&(Tt=We),e.arraySet(H.window,Ee,re-We,Tt,H.wnext),We-=Tt,We?(e.arraySet(H.window,Ee,re-We,We,0),H.wnext=We,H.whave=H.wsize):(H.wnext+=Tt,H.wnext===H.wsize&&(H.wnext=0),H.whave>>8&255,re.check=r(re.check,Sn,2,0),De=0,qe=0,re.mode=_;break}if(re.flags=0,re.head&&(re.head.done=!1),!(re.wrap&1)||(((De&255)<<8)+(De>>8))%31){ae.msg="incorrect header check",re.mode=Re;break}if((De&15)!==E){ae.msg="unknown compression method",re.mode=Re;break}if(De>>>=4,qe-=4,Pn=(De&15)+8,re.wbits===0)re.wbits=Pn;else if(Pn>re.wbits){ae.msg="invalid window size",re.mode=Re;break}re.dmax=1<>8&1),re.flags&512&&(Sn[0]=De&255,Sn[1]=De>>>8&255,re.check=r(re.check,Sn,2,0)),De=0,qe=0,re.mode=C;case C:for(;qe<32;){if(Ze===0)break e;Ze--,De+=We[H++]<>>8&255,Sn[2]=De>>>16&255,Sn[3]=De>>>24&255,re.check=r(re.check,Sn,4,0)),De=0,qe=0,re.mode=Q;case Q:for(;qe<16;){if(Ze===0)break e;Ze--,De+=We[H++]<>8),re.flags&512&&(Sn[0]=De&255,Sn[1]=De>>>8&255,re.check=r(re.check,Sn,2,0)),De=0,qe=0,re.mode=R;case R:if(re.flags&1024){for(;qe<16;){if(Ze===0)break e;Ze--,De+=We[H++]<>>8&255,re.check=r(re.check,Sn,2,0)),De=0,qe=0}else re.head&&(re.head.extra=null);re.mode=T;case T:if(re.flags&1024&&(Te=re.length,Te>Ze&&(Te=Ze),Te&&(re.head&&(Pn=re.head.extra_len-re.length,re.head.extra||(re.head.extra=new Array(re.head.extra_len)),e.arraySet(re.head.extra,We,H,Te,Pn)),re.flags&512&&(re.check=r(re.check,We,Te,H)),Ze-=Te,H+=Te,re.length-=Te),re.length))break e;re.length=0,re.mode=M;case M:if(re.flags&2048){if(Ze===0)break e;Te=0;do Pn=We[H+Te++],re.head&&Pn&&re.length<65536&&(re.head.name+=String.fromCharCode(Pn));while(Pn&&Te>9&1,re.head.done=!0),ae.adler=re.check=0,re.mode=X;break;case P:for(;qe<32;){if(Ze===0)break e;Ze--,De+=We[H++]<>>=qe&7,qe-=qe&7,re.mode=Ne;break}for(;qe<3;){if(Ze===0)break e;Ze--,De+=We[H++]<>>=1,qe-=1,De&3){case 0:re.mode=G;break;case 1:if(ir(re),re.mode=ue,Ee===u){De>>>=2,qe-=2;break e}break;case 2:re.mode=ee;break;case 3:ae.msg="invalid block type",re.mode=Re}De>>>=2,qe-=2;break;case G:for(De>>>=qe&7,qe-=qe&7;qe<32;){if(Ze===0)break e;Ze--,De+=We[H++]<>>16^65535)){ae.msg="invalid stored block lengths",re.mode=Re;break}if(re.length=De&65535,De=0,qe=0,re.mode=J,Ee===u)break e;case J:re.mode=q;case q:if(Te=re.length,Te){if(Te>Ze&&(Te=Ze),Te>he&&(Te=he),Te===0)break e;e.arraySet(Tt,We,H,Te,ze),Ze-=Te,H+=Te,he-=Te,ze+=Te,re.length-=Te;break}re.mode=X;break;case ee:for(;qe<14;){if(Ze===0)break e;Ze--,De+=We[H++]<>>=5,qe-=5,re.ndist=(De&31)+1,De>>>=5,qe-=5,re.ncode=(De&15)+4,De>>>=4,qe-=4,re.nlen>286||re.ndist>30){ae.msg="too many length or distance symbols",re.mode=Re;break}re.have=0,re.mode=ne;case ne:for(;re.have>>=3,qe-=3}for(;re.have<19;)re.lens[aa[re.have++]]=0;if(re.lencode=re.lendyn,re.lenbits=7,si={bits:re.lenbits},Mi=i(s,re.lens,0,19,re.lencode,0,re.work,si),re.lenbits=si.bits,Mi){ae.msg="invalid code lengths set",re.mode=Re;break}re.have=0,re.mode=V;case V:for(;re.have>>24,Ft=kr>>>16&255,Gr=kr&65535,!(fr<=qe);){if(Ze===0)break e;Ze--,De+=We[H++]<>>=fr,qe-=fr,re.lens[re.have++]=Gr;else{if(Gr===16){for(ia=fr+2;qe>>=fr,qe-=fr,re.have===0){ae.msg="invalid bit length repeat",re.mode=Re;break}Pn=re.lens[re.have-1],Te=3+(De&3),De>>>=2,qe-=2}else if(Gr===17){for(ia=fr+3;qe>>=fr,qe-=fr,Pn=0,Te=3+(De&7),De>>>=3,qe-=3}else{for(ia=fr+7;qe>>=fr,qe-=fr,Pn=0,Te=11+(De&127),De>>>=7,qe-=7}if(re.have+Te>re.nlen+re.ndist){ae.msg="invalid bit length repeat",re.mode=Re;break}for(;Te--;)re.lens[re.have++]=Pn}}if(re.mode===Re)break;if(re.lens[256]===0){ae.msg="invalid code -- missing end-of-block",re.mode=Re;break}if(re.lenbits=9,si={bits:re.lenbits},Mi=i(o,re.lens,0,re.nlen,re.lencode,0,re.work,si),re.lenbits=si.bits,Mi){ae.msg="invalid literal/lengths set",re.mode=Re;break}if(re.distbits=6,re.distcode=re.distdyn,si={bits:re.distbits},Mi=i(l,re.lens,re.nlen,re.ndist,re.distcode,0,re.work,si),re.distbits=si.bits,Mi){ae.msg="invalid distances set",re.mode=Re;break}if(re.mode=ue,Ee===u)break e;case ue:re.mode=de;case de:if(Ze>=6&&he>=258){ae.next_out=ze,ae.avail_out=he,ae.next_in=H,ae.avail_in=Ze,re.hold=De,re.bits=qe,n(ae,Xt),ze=ae.next_out,Tt=ae.output,he=ae.avail_out,H=ae.next_in,We=ae.input,Ze=ae.avail_in,De=re.hold,qe=re.bits,re.mode===X&&(re.back=-1);break}for(re.back=0;kr=re.lencode[De&(1<>>24,Ft=kr>>>16&255,Gr=kr&65535,!(fr<=qe);){if(Ze===0)break e;Ze--,De+=We[H++]<>Zr)],fr=kr>>>24,Ft=kr>>>16&255,Gr=kr&65535,!(Zr+fr<=qe);){if(Ze===0)break e;Ze--,De+=We[H++]<>>=Zr,qe-=Zr,re.back+=Zr}if(De>>>=fr,qe-=fr,re.back+=fr,re.length=Gr,Ft===0){re.mode=ve;break}if(Ft&32){re.back=-1,re.mode=X;break}if(Ft&64){ae.msg="invalid literal/length code",re.mode=Re;break}re.extra=Ft&15,re.mode=xe;case xe:if(re.extra){for(ia=re.extra;qe>>=re.extra,qe-=re.extra,re.back+=re.extra}re.was=re.length,re.mode=_e;case _e:for(;kr=re.distcode[De&(1<>>24,Ft=kr>>>16&255,Gr=kr&65535,!(fr<=qe);){if(Ze===0)break e;Ze--,De+=We[H++]<>Zr)],fr=kr>>>24,Ft=kr>>>16&255,Gr=kr&65535,!(Zr+fr<=qe);){if(Ze===0)break e;Ze--,De+=We[H++]<>>=Zr,qe-=Zr,re.back+=Zr}if(De>>>=fr,qe-=fr,re.back+=fr,Ft&64){ae.msg="invalid distance code",re.mode=Re;break}re.offset=Gr,re.extra=Ft&15,re.mode=Ce;case Ce:if(re.extra){for(ia=re.extra;qe>>=re.extra,qe-=re.extra,re.back+=re.extra}if(re.offset>re.dmax){ae.msg="invalid distance too far back",re.mode=Re;break}re.mode=we;case we:if(he===0)break e;if(Te=Xt-he,re.offset>Te){if(Te=re.offset-Te,Te>re.whave&&re.sane){ae.msg="invalid distance too far back",re.mode=Re;break}Te>re.wnext?(Te-=re.wnext,zt=re.wsize-Te):zt=re.wnext-Te,Te>re.length&&(Te=re.length),qr=re.window}else qr=Tt,zt=ze-re.offset,Te=re.length;Te>he&&(Te=he),he-=Te,re.length-=Te;do Tt[ze++]=qr[zt++];while(--Te);re.length===0&&(re.mode=de);break;case ve:if(he===0)break e;Tt[ze++]=re.length,he--,re.mode=de;break;case Ne:if(re.wrap){for(;qe<32;){if(Ze===0)break e;Ze--,De|=We[H++]<>>2]>>>24-R%4*8&255;S[C+R>>>2]|=T<<24-(C+R)%4*8}else for(var M=0;M>>2]=_[M>>>2];return this.sigBytes+=Q,this},clamp:function(){var E=this.words,S=this.sigBytes;E[S>>>2]&=4294967295<<32-S%4*8,E.length=n.ceil(S/4)},clone:function(){var E=u.clone.call(this);return E.words=this.words.slice(0),E},random:function(E){for(var S=[],_=0;_>>2]>>>24-Q%4*8&255;C.push((R>>>4).toString(16)),C.push((R&15).toString(16))}return C.join("")},parse:function(E){for(var S=E.length,_=[],C=0;C>>3]|=parseInt(E.substr(C,2),16)<<24-C%8*4;return new h.init(_,S/2)}},y=p.Latin1={stringify:function(E){for(var S=E.words,_=E.sigBytes,C=[],Q=0;Q<_;Q++){var R=S[Q>>>2]>>>24-Q%4*8&255;C.push(String.fromCharCode(R))}return C.join("")},parse:function(E){for(var S=E.length,_=[],C=0;C>>2]|=(E.charCodeAt(C)&255)<<24-C%4*8;return new h.init(_,S)}},v=p.Utf8={stringify:function(E){try{return decodeURIComponent(escape(y.stringify(E)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(E){return y.parse(unescape(encodeURIComponent(E)))}},w=d.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(E){typeof E=="string"&&(E=v.parse(E)),this._data.concat(E),this._nDataBytes+=E.sigBytes},_process:function(E){var S,_=this._data,C=_.words,Q=_.sigBytes,R=this.blockSize,T=R*4,M=Q/T;E?M=n.ceil(M):M=n.max((M|0)-this._minBufferSize,0);var O=M*R,$=n.min(O*4,Q);if(O){for(var P=0;P>>24)&16711935|(S<<24|S>>>8)&4278255360}var _=this._hash.words,C=v[w+0],Q=v[w+1],R=v[w+2],T=v[w+3],M=v[w+4],O=v[w+5],$=v[w+6],P=v[w+7],L=v[w+8],X=v[w+9],W=v[w+10],G=v[w+11],J=v[w+12],q=v[w+13],ee=v[w+14],ne=v[w+15],V=_[0],ue=_[1],de=_[2],xe=_[3];V=h(V,ue,de,xe,C,7,d[0]),xe=h(xe,V,ue,de,Q,12,d[1]),de=h(de,xe,V,ue,R,17,d[2]),ue=h(ue,de,xe,V,T,22,d[3]),V=h(V,ue,de,xe,M,7,d[4]),xe=h(xe,V,ue,de,O,12,d[5]),de=h(de,xe,V,ue,$,17,d[6]),ue=h(ue,de,xe,V,P,22,d[7]),V=h(V,ue,de,xe,L,7,d[8]),xe=h(xe,V,ue,de,X,12,d[9]),de=h(de,xe,V,ue,W,17,d[10]),ue=h(ue,de,xe,V,G,22,d[11]),V=h(V,ue,de,xe,J,7,d[12]),xe=h(xe,V,ue,de,q,12,d[13]),de=h(de,xe,V,ue,ee,17,d[14]),ue=h(ue,de,xe,V,ne,22,d[15]),V=p(V,ue,de,xe,Q,5,d[16]),xe=p(xe,V,ue,de,$,9,d[17]),de=p(de,xe,V,ue,G,14,d[18]),ue=p(ue,de,xe,V,C,20,d[19]),V=p(V,ue,de,xe,O,5,d[20]),xe=p(xe,V,ue,de,W,9,d[21]),de=p(de,xe,V,ue,ne,14,d[22]),ue=p(ue,de,xe,V,M,20,d[23]),V=p(V,ue,de,xe,X,5,d[24]),xe=p(xe,V,ue,de,ee,9,d[25]),de=p(de,xe,V,ue,T,14,d[26]),ue=p(ue,de,xe,V,L,20,d[27]),V=p(V,ue,de,xe,q,5,d[28]),xe=p(xe,V,ue,de,R,9,d[29]),de=p(de,xe,V,ue,P,14,d[30]),ue=p(ue,de,xe,V,J,20,d[31]),V=A(V,ue,de,xe,O,4,d[32]),xe=A(xe,V,ue,de,L,11,d[33]),de=A(de,xe,V,ue,G,16,d[34]),ue=A(ue,de,xe,V,ee,23,d[35]),V=A(V,ue,de,xe,Q,4,d[36]),xe=A(xe,V,ue,de,M,11,d[37]),de=A(de,xe,V,ue,P,16,d[38]),ue=A(ue,de,xe,V,W,23,d[39]),V=A(V,ue,de,xe,q,4,d[40]),xe=A(xe,V,ue,de,C,11,d[41]),de=A(de,xe,V,ue,T,16,d[42]),ue=A(ue,de,xe,V,$,23,d[43]),V=A(V,ue,de,xe,X,4,d[44]),xe=A(xe,V,ue,de,J,11,d[45]),de=A(de,xe,V,ue,ne,16,d[46]),ue=A(ue,de,xe,V,R,23,d[47]),V=y(V,ue,de,xe,C,6,d[48]),xe=y(xe,V,ue,de,P,10,d[49]),de=y(de,xe,V,ue,ee,15,d[50]),ue=y(ue,de,xe,V,O,21,d[51]),V=y(V,ue,de,xe,J,6,d[52]),xe=y(xe,V,ue,de,T,10,d[53]),de=y(de,xe,V,ue,W,15,d[54]),ue=y(ue,de,xe,V,Q,21,d[55]),V=y(V,ue,de,xe,L,6,d[56]),xe=y(xe,V,ue,de,ne,10,d[57]),de=y(de,xe,V,ue,$,15,d[58]),ue=y(ue,de,xe,V,q,21,d[59]),V=y(V,ue,de,xe,M,6,d[60]),xe=y(xe,V,ue,de,G,10,d[61]),de=y(de,xe,V,ue,R,15,d[62]),ue=y(ue,de,xe,V,X,21,d[63]),_[0]=_[0]+V|0,_[1]=_[1]+ue|0,_[2]=_[2]+de|0,_[3]=_[3]+xe|0},_doFinalize:function(){var v=this._data,w=v.words,j=this._nDataBytes*8,E=v.sigBytes*8;w[E>>>5]|=128<<24-E%32;var S=n.floor(j/4294967296),_=j;w[(E+64>>>9<<4)+15]=(S<<8|S>>>24)&16711935|(S<<24|S>>>8)&4278255360,w[(E+64>>>9<<4)+14]=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360,v.sigBytes=(w.length+1)*4,this._process();for(var C=this._hash,Q=C.words,R=0;R<4;R++){var T=Q[R];Q[R]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}return C},clone:function(){var v=l.clone.call(this);return v._hash=this._hash.clone(),v}});function h(v,w,j,E,S,_,C){var Q=v+(w&j|~w&E)+S+C;return(Q<<_|Q>>>32-_)+w}function p(v,w,j,E,S,_,C){var Q=v+(w&E|j&~E)+S+C;return(Q<<_|Q>>>32-_)+w}function A(v,w,j,E,S,_,C){var Q=v+(w^j^E)+S+C;return(Q<<_|Q>>>32-_)+w}function y(v,w,j,E,S,_,C){var Q=v+(j^(w|~E))+S+C;return(Q<<_|Q>>>32-_)+w}i.MD5=l._createHelper(u),i.HmacMD5=l._createHmacHelper(u)})(Math),r.MD5})})(r5)),r5.exports}var hbe=Wm();const mbe=ma(hbe);var uj={},g9;function pbe(){return g9||(g9=1,(function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";(function(r){var n=typeof Uint8Array<"u"?Uint8Array:Array,i=43,s=47,o=48,l=97,c=65,d=45,u=95;function h(y){var v=y.charCodeAt(0);if(v===i||v===d)return 62;if(v===s||v===u)return 63;if(v0)throw new Error("Invalid string. Length must be a multiple of 4");var C=y.length;S=y.charAt(C-2)==="="?2:y.charAt(C-1)==="="?1:0,_=new n(y.length*3/4-S),j=S>0?y.length-4:y.length;var Q=0;function R(T){_[Q++]=T}for(v=0,w=0;v>16),R((E&65280)>>8),R(E&255);return S===2?(E=h(y.charAt(v))<<2|h(y.charAt(v+1))>>4,R(E&255)):S===1&&(E=h(y.charAt(v))<<10|h(y.charAt(v+1))<<4|h(y.charAt(v+2))>>2,R(E>>8&255),R(E&255)),_}function A(y){var v,w=y.length%3,j="",E,S;function _(Q){return t.charAt(Q)}function C(Q){return _(Q>>18&63)+_(Q>>12&63)+_(Q>>6&63)+_(Q&63)}for(v=0,S=y.length-w;v>2),j+=_(E<<4&63),j+="==";break;case 2:E=(y[y.length-2]<<8)+y[y.length-1],j+=_(E>>10),j+=_(E>>4&63),j+=_(E<<2&63),j+="=";break}return j}r.toByteArray=p,r.fromByteArray=A})(e)})(uj)),uj}var gbe=pbe();const Abe=ma(gbe);var cq={};const xbe=5,A9=12,vbe=13,ybe=16,bbe=17,wbe=22,x9=28,v9=31,Ebe=33,i5=34,Cbe=35,dj=36,RN=37,uq=38,Ibe=39,jbe=40,Ox=41,Nbe=42,le=0,Ae=1,ki=2,dq=3,Be=4,Sbe=[[Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,dq,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be],[le,Be,Be,Ae,Ae,Be,Be,Be,Be,Ae,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Be,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Be,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Be,ki,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Be,ki,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,Ae,le,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,Ae,Ae,Ae,Ae,Ae,Ae,Ae,le,le,Be,ki,Be,Ae,Ae,Ae,Ae,Ae,le,Ae,Ae,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,le,Ae,Be,Be,Be,le,le,Ae,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,le,Ae,Be,Be,Be,le,le,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Be,ki,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,le,le,le,le,Ae,Ae,Ae,le,Be,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,le,le,le,le,le,le,le,le,le,le,le,le,le,le,le,le,le,le,le,Be,le,le,le,le,le,le,le,le,le,le,le,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Be,ki,Be,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae,Ae],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,Ae,Ae,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,Ae,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,Ae,Ae,Ae,Ae,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,Ae,Ae,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,Ae,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,le,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,Ae,le,le,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,Ae,Ae,le],[le,Be,Be,Ae,Ae,Ae,Be,Be,Be,le,Ae,le,le,le,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[Ae,Be,Be,Ae,Ae,Ae,Be,Be,Be,Ae,Ae,Ae,Ae,Ae,le,Ae,Ae,Ae,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le],[le,Be,Be,Ae,Ae,le,Be,Be,Be,le,le,le,le,le,le,le,le,le,le,le,Be,ki,Be,le,le,le,le,le,le,le,le,Ae,le]],Bbe=Abe.toByteArray("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"),kbe=new by(Bbe),y9=function(e){switch(e){case Ebe:return A9;case Ibe:case jbe:case Nbe:return A9;case Cbe:return xbe;default:return e}},b9=function(e){switch(e){case RN:case uq:return i5;case Ox:return wbe;default:return e}};class fj{constructor(t,r=!1){this.position=t,this.required=r}}class _be{nextCodePoint(){const t=this.string.charCodeAt(this.pos++),r=this.string.charCodeAt(this.pos);return 55296<=t&&t<=56319&&56320<=r&&r<=57343?(this.pos++,(t-55296)*1024+(r-56320)+65536):t}nextCharClass(){return y9(kbe.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case Ox:return!1;case i5:case RN:case uq:return this.curClass=i5,!1;case dj:return this.curClass=dj,!1}return null}getPairTableBreak(t){let r=!1;switch(Sbe[this.curClass][this.nextClass]){case le:r=!0;break;case Ae:r=t===Ox;break;case ki:if(r=t===Ox,!r)return r=!1,r;break;case dq:if(t!==Ox)return r;break}return this.LB8a&&(r=!1),this.LB21a&&(this.curClass===ybe||this.curClass===bbe)?(r=!1,this.LB21a=!1):this.LB21a=this.curClass===vbe,this.curClass===x9?(this.LB30a++,this.LB30a==2&&this.nextClass===x9&&(r=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,r}nextBreak(){if(this.curClass==null){let t=this.nextCharClass();this.curClass=b9(t),this.nextClass=t,this.LB8a=t===v9,this.LB30a=0}for(;this.pos"DAC",length:Do,tables:new Ye(Dbe,e=>e.length/2)},fq=(e,t)=>e[t],w9=(e,t)=>e[t]<<8|e[t+1],E9=(e,t)=>e[t]|e[t+1]<<8,hj=(e,t)=>hq(e,t)>>>0,mj=(e,t)=>mq(e,t)>>>0,C9=e=>Array.from(e,t=>t.toString(16).padStart(2,"0")).join(""),Rbe=new TextDecoder("utf-8"),Pbe=e=>Rbe.decode(e),Qbe=e=>{const t=e.reduce((i,s)=>i+s.length,0),r=new Uint8Array(t);let n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r},hq=(e,t)=>e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3],mq=(e,t)=>e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24;class Fbe{decode(t,r){const n={};let i=t.buffer.slice(t.pos,t.pos+r.length-2);for(;i.length>0;){let s=1;const o=[],l=fq(i,0),c=i.slice(s,s+16);s+=16;for(const d of c)o.push(i.slice(s,s+d)),s+=d;i=i.slice(s),n[l]=Qbe(o)}return t.pos+=r.length-2,n}}const Obe={name:()=>"DHT",length:Do,tables:new Fbe},Lbe={name:()=>"DQT",length:Do,tables:new Ye(new ct({identifier:new cl(1),data:new cl(64)}),e=>(e.length-2)/65)},Mbe={name:()=>"DRI",length:Do,restartInterval:Do},Ube={name:()=>"EOI",afterEOI:new Ia(lr,1/0)},pj={ifd:{"010e":"imageDescription","010f":"make","011a":"xResolution","011b":"yResolution","011c":"planarConfiguration","012d":"transferFunction","013b":"artist","013e":"whitePoint","013f":"primaryChromaticities","0100":"imageWidth","0101":"imageHeight","0102":"bitsPerSample","0103":"compression","0106":"photometricInterpretation","0110":"model","0111":"stripOffsets","0112":"orientation","0115":"samplesPerPixel","0116":"rowsPerStrip","0117":"stripByteCounts","0128":"resolutionUnit","0131":"software","0132":"dateTime","0201":"jpegInterchangeFormat","0202":"jpegInterchangeFormatLength","0211":"ycbCrCoefficients","0212":"ycbCrSubSampling","0213":"ycbCrPositioning","0214":"referenceBlackWhite","829a":"exposureTime","829d":"fNumber","920a":"focalLength","927c":"makerNote",8298:"copyright",8769:"exifIFDPointer",8822:"exposureProgram",8824:"spectralSensitivity",8825:"gpsInfoIFDPointer",8827:"photographicSensitivity",8828:"oecf",8830:"sensitivityType",8831:"standardOutputSensitivity",8832:"recommendedExposureIndex",8833:"isoSpeed",8834:"isoSpeedLatitudeyyy",8835:"isoSpeedLatitudezzz",9e3:"exifVersion",9003:"dateTimeOriginal",9004:"dateTimeDigitized",9101:"componentsConfiguration",9102:"compressedBitsPerPixel",9201:"shutterSpeedValue",9202:"apertureValue",9203:"brightnessValue",9204:"exposureBiasValue",9205:"maxApertureValue",9206:"subjectDistance",9207:"meteringMode",9208:"lightSource",9209:"flash",9214:"subjectArea",9286:"userComment",9290:"subSecTime",9291:"subSecTimeOriginal",9292:"subSecTimeDigitized",a000:"flashpixVersion",a001:"colorSpace",a002:"pixelXDimension",a003:"pixelYDimension",a004:"relatedSoundFile",a005:"interoperabilityIFDPointer",a20b:"flashEnergy",a20c:"spatialFrequencyResponse",a20e:"focalPlaneXResolution",a20f:"focalPlaneYResolution",a40a:"sharpness",a40b:"deviceSettingDescription",a40c:"subjectDistanceRange",a210:"focalPlaneResolutionUnit",a214:"subjectLocation",a215:"exposureIndex",a217:"sensingMethod",a300:"fileSource",a301:"sceneType",a302:"cfaPattern",a401:"customRendered",a402:"exposureMode",a403:"whiteBalance",a404:"digitalZoomRatio",a405:"focalLengthIn35mmFilm",a406:"sceneCaptureType",a407:"gainControl",a408:"contrast",a409:"saturation",a420:"imageUniqueID",a430:"cameraOwnerName",a431:"bodySerialNumber",a432:"lensSpecification",a433:"lensMake",a434:"lensModel",a435:"lensSerialNumber",a500:"gamma"},gps:{"0000":"gpsVersionID","0001":"gpsLatitudeRef","0002":"gpsLatitude","0003":"gpsLongitudeRef","0004":"gpsLongitude","0005":"gpsAltitudeRef","0006":"gpsAltitude","0007":"gpsTimeStamp","0008":"gpsSatellites","0009":"gpsStatus","000a":"gpsMeasureMode","000b":"gpsDOP","000c":"gpsSpeedRef","000d":"gpsSpeed","000e":"gpsTrackRef","000f":"gpsTrack","0010":"gpsImgDirectionRef","0011":"gpsImgDirection","0012":"gpsMapDatum","0013":"gpsDestLatitudeRef","0014":"gpsDestLatitude","0015":"gpsDestLongitudeRef","0016":"gpsDestLongitude","0017":"gpsDestBearingRef","0018":"gpsDestBearing","0019":"gpsDestDistanceRef","001a":"gpsDestDistance","001b":"gpsProcessingMethod","001c":"gpsAreaInformation","001d":"gpsDateStamp","001e":"gpsDifferential","001f":"gpsHPositioningError"}};class zbe{constructor(t){this.bigEndian=t,this.bytes=[0,1,1,2,4,8,1,1,2,4,8,4,8]}_getTagValue(t,r,n){switch(r){case 2:return t.toString("ascii").replace(/\0+$/,"");case 129:return t.toString("utf8").replace(/\0+$/,"");case 7:return"0x"+t.toString("hex");default:return this._getTagValueForNumericalData(t,r,n)}}_getTagValueForNumericalData(t,r,n){const i=[],s=this.bytes[r];for(let o=0;othis.bigEndian?w9(t,l):E9(t,l),s=l=>this.bigEndian?hj(t,l):mj(t,l),o=l=>this.bigEndian?hq(t,l):mq(t,l);switch(r){case 1:return fq(t,n);case 3:return i(n);case 4:return s(n);case 5:return s(n)/s(n+4);case 9:return o(n);case 10:return o(n)/o(n+4)}}_decodeIDFEntries(t,r,n,i=!1){let s=2+n;const o={},l=u=>this.bigEndian?w9(t,u):E9(t,u),c=u=>this.bigEndian?hj(t,u):mj(t,u),d=l(n);for(let u=0;u4){const _=this.bigEndian?hj(w,0):mj(w,0);w=t.slice(_,_+v)}const j=this._getTagValue(w,p,A),E=this.bigEndian?C9(h):C9(h.reverse()),S=r[E];o[S]=j,s+=12}return o}decode(t,r){const n=t.buffer.slice(t.pos-8),i=r.offsetToFirstIFD;if(i>n.length)return t.pos+=r.parent.length-16,{};const s=this._decodeIDFEntries(n,pj.ifd,i),{exifIFDPointer:o,gpsInfoIFDPointer:l}=s;if(o&&(s.subExif=this._decodeIDFEntries(n,pj.ifd,o)),l){const c=l;s.gpsInfo=this._decodeIDFEntries(n,pj.gps,c,!0)}return t.pos+=r.parent.length-16,s}}const $be=e=>{const t=e?Do:ige,r=e?xH:sge;return new ct({fortyTwo:t,offsetToFirstIFD:r,entries:new zbe(e)})};class Hbe{decode(t,r){const i=Pbe(t.buffer.slice(t.pos,t.pos+2))==="MM";return t.pos+=2,$be(i).decode(t,r).entries}}const qbe={name:()=>"EXIF",length:Do,identifier:new Di(6),entries:new Hbe},Gbe={name:()=>"JFIF",length:Do,identifier:new Di(5),version:Do,units:lr,xDensity:Do,yDensity:Do,thumbnailWidth:lr,thumbnailHeight:lr};class Vbe{decode(t){const r=t.buffer.slice(t.pos);let n=0,i=r.indexOf(255);for(;i!==-1;){n=i;const s=r[n+1],o=s>=208&&s<=215;if(s!==0&&!o)break;i=r.indexOf(255,i+1)}return t.pos+=n,r.slice(0,n)}}const Wbe=new ct({scanComponentSelector:lr,entropyCodingTable:new cl(1)}),Kbe={name:()=>"SOS",length:Do,numberOfImageComponents:lr,componentSpecifications:new Ye(Wbe,e=>e.numberOfImageComponents),startOfSpectral:lr,endOfSpectral:lr,successiveApproximationBit:new cl(1),data:new Vbe},Ybe=new ct({id:lr,samplingFactors:lr,quantizationTableId:lr}),ru={name:()=>"SOF",length:Do,precision:lr,height:Do,width:Do,numberOfComponents:lr,components:new Ye(Ybe,e=>e.numberOfComponents)},Zbe={name:()=>"SOI"},Jbe={length:Do,buf:new cl(e=>e.length-2)},Xbe=Array(63).fill(0).reduce((e,t,r)=>({...e,[r+65472]:Jbe}),{}),e5e=new Un(Do,{...Xbe,65472:ru,65473:ru,65474:ru,65475:ru,65476:Obe,65477:ru,65478:ru,65479:ru,65481:ru,65482:ru,65483:ru,65484:Tbe,65485:ru,65486:ru,65487:ru,65496:Zbe,65497:Ube,65498:Kbe,65499:Lbe,65501:Mbe,65504:Gbe,65505:qbe}),t5e=new Ye(e5e),r5e=e=>t5e.fromBuffer(e).map(({version:r,...n})=>({type:r,...n})),pq={decode:r5e};var yg=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},Dd=[],Vu=[],n5e=typeof Uint8Array<"u"?Uint8Array:Array,uB=!1;function gq(){uB=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t0)throw new Error("Invalid string. Length must be a multiple of 4");s=e[l-2]==="="?2:e[l-1]==="="?1:0,o=new n5e(l*3/4-s),n=s>0?l-4:l;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=i&255;return s===2?(i=Vu[e.charCodeAt(t)]<<2|Vu[e.charCodeAt(t+1)]>>4,o[c++]=i&255):s===1&&(i=Vu[e.charCodeAt(t)]<<10|Vu[e.charCodeAt(t+1)]<<4|Vu[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function a5e(e){return Dd[e>>18&63]+Dd[e>>12&63]+Dd[e>>6&63]+Dd[e&63]}function s5e(e,t,r){for(var n,i=[],s=t;sc?c:l+o));return n===1?(t=e[r-1],i+=Dd[t>>2],i+=Dd[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=Dd[t>>10],i+=Dd[t>>4&63],i+=Dd[t<<2&63],i+="="),s.push(i),s.join("")}function rE(e,t,r,n,i){var s,o,l=i*8-n-1,c=(1<>1,u=-7,h=r?i-1:0,p=r?-1:1,A=e[t+h];for(h+=p,s=A&(1<<-u)-1,A>>=-u,u+=l;u>0;s=s*256+e[t+h],h+=p,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=n;u>0;o=o*256+e[t+h],h+=p,u-=8);if(s===0)s=1-d;else{if(s===c)return o?NaN:(A?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-d}return(A?-1:1)*o*Math.pow(2,s-n)}function Aq(e,t,r,n,i,s){var o,l,c,d=s*8-i-1,u=(1<>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:s-1,y=n?1:-1,v=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+h>=1?t+=p/c:t+=p*Math.pow(2,1-h),t*c>=2&&(o++,c/=2),o+h>=u?(l=0,o=u):o+h>=1?(l=(t*c-1)*Math.pow(2,i),o=o+h):(l=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+A]=l&255,A+=y,l/=256,i-=8);for(o=o<0;e[r+A]=o&255,A+=y,o/=256,d-=8);e[r+A-y]|=v*128}var o5e={}.toString,xq=Array.isArray||function(e){return o5e.call(e)=="[object Array]"};var vq=50;Dt.TYPED_ARRAY_SUPPORT=yg.TYPED_ARRAY_SUPPORT!==void 0?yg.TYPED_ARRAY_SUPPORT:!0;var l5e=kw();function kw(){return Dt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function zf(e,t){if(kw()=kw())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kw().toString(16)+" bytes");return e|0}function h5e(e){return+e!=e&&(e=0),Dt.alloc(+e)}Dt.isBuffer=Yp;function Zd(e){return!!(e!=null&&e._isBuffer)}Dt.compare=function(t,r){if(!Zd(t)||!Zd(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,s=0,o=Math.min(n,i);s>>1;case"base64":return Bq(e).length;default:if(n)return _w(e).length;t=(""+t).toLowerCase(),n=!0}}Dt.byteLength=wq;function m5e(e,t,r){var n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return C5e(this,t,r);case"utf8":case"utf-8":return Iq(this,t,r);case"ascii":return w5e(this,t,r);case"latin1":case"binary":return E5e(this,t,r);case"base64":return y5e(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I5e(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}Dt.prototype._isBuffer=!0;function Kp(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}Dt.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""};Dt.prototype.compare=function(t,r,n,i,s){if(!Zd(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>t.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===t)return 0;for(var o=s-i,l=n-r,c=Math.min(o,l),d=this.slice(i,s),u=t.slice(r,n),h=0;h2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=Dt.from(t,n)),Zd(t))return t.length===0?-1:j9(e,t,r,n,i);if(typeof t=="number")return t=t&255,Dt.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):j9(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function j9(e,t,r,n,i){var s=1,o=e.length,l=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;s=2,o/=2,l/=2,r/=2}function c(A,y){return s===1?A[y]:A.readUInt16BE(y*s)}var d;if(i){var u=-1;for(d=r;do&&(r=o-l),d=r;d>=0;d--){for(var h=!0,p=0;pi&&(n=i)):n=i;var s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");n>s/2&&(n=s/2);for(var o=0;os)&&(n=s),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return p5e(this,t,r,n);case"utf8":case"utf-8":return g5e(this,t,r,n);case"ascii":return Cq(this,t,r,n);case"latin1":case"binary":return A5e(this,t,r,n);case"base64":return x5e(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v5e(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};Dt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function y5e(e,t,r){return t===0&&r===e.length?I9(e):I9(e.slice(t,r))}function Iq(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:s>223?3:s>191?2:1;if(i+l<=r){var c,d,u,h;switch(l){case 1:s<128&&(o=s);break;case 2:c=e[i+1],(c&192)===128&&(h=(s&31)<<6|c&63,h>127&&(o=h));break;case 3:c=e[i+1],d=e[i+2],(c&192)===128&&(d&192)===128&&(h=(s&15)<<12|(c&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(o=h));break;case 4:c=e[i+1],d=e[i+2],u=e[i+3],(c&192)===128&&(d&192)===128&&(u&192)===128&&(h=(s&15)<<18|(c&63)<<12|(d&63)<<6|u&63,h>65535&&h<1114112&&(o=h))}}o===null?(o=65533,l=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=l}return b5e(n)}var N9=4096;function b5e(e){var t=e.length;if(t<=N9)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn)&&(r=n);for(var i="",s=t;sn&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}Dt.prototype.readUIntLE=function(t,r,n){t=t|0,r=r|0,n||Qo(t,r,this.length);for(var i=this[t],s=1,o=0;++o0&&(s*=256);)i+=this[t+--r]*s;return i};Dt.prototype.readUInt8=function(t,r){return r||Qo(t,1,this.length),this[t]};Dt.prototype.readUInt16LE=function(t,r){return r||Qo(t,2,this.length),this[t]|this[t+1]<<8};Dt.prototype.readUInt16BE=function(t,r){return r||Qo(t,2,this.length),this[t]<<8|this[t+1]};Dt.prototype.readUInt32LE=function(t,r){return r||Qo(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};Dt.prototype.readUInt32BE=function(t,r){return r||Qo(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};Dt.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||Qo(t,r,this.length);for(var i=this[t],s=1,o=0;++o=s&&(i-=Math.pow(2,8*r)),i};Dt.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||Qo(t,r,this.length);for(var i=r,s=1,o=this[t+--i];i>0&&(s*=256);)o+=this[t+--i]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*r)),o};Dt.prototype.readInt8=function(t,r){return r||Qo(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};Dt.prototype.readInt16LE=function(t,r){r||Qo(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};Dt.prototype.readInt16BE=function(t,r){r||Qo(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};Dt.prototype.readInt32LE=function(t,r){return r||Qo(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};Dt.prototype.readInt32BE=function(t,r){return r||Qo(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};Dt.prototype.readFloatLE=function(t,r){return r||Qo(t,4,this.length),rE(this,t,!0,23,4)};Dt.prototype.readFloatBE=function(t,r){return r||Qo(t,4,this.length),rE(this,t,!1,23,4)};Dt.prototype.readDoubleLE=function(t,r){return r||Qo(t,8,this.length),rE(this,t,!0,52,8)};Dt.prototype.readDoubleBE=function(t,r){return r||Qo(t,8,this.length),rE(this,t,!1,52,8)};function kc(e,t,r,n,i,s){if(!Zd(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}Dt.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var s=Math.pow(2,8*n)-1;kc(this,t,r,n,s,0)}var o=1,l=0;for(this[r]=t&255;++l=0&&(l*=256);)this[r+o]=t/l&255;return r+n};Dt.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,1,255,0),Dt.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function nE(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-r,2);i>>(n?i:1-i)*8}Dt.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,2,65535,0),Dt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):nE(this,t,r,!0),r+2};Dt.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,2,65535,0),Dt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):nE(this,t,r,!1),r+2};function iE(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-r,4);i>>(n?i:3-i)*8&255}Dt.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,4,4294967295,0),Dt.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):iE(this,t,r,!0),r+4};Dt.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,4,4294967295,0),Dt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):iE(this,t,r,!1),r+4};Dt.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var s=Math.pow(2,8*n-1);kc(this,t,r,n,s-1,-s)}var o=0,l=1,c=0;for(this[r]=t&255;++o>0)-c&255;return r+n};Dt.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var s=Math.pow(2,8*n-1);kc(this,t,r,n,s-1,-s)}var o=n-1,l=1,c=0;for(this[r+o]=t&255;--o>=0&&(l*=256);)t<0&&c===0&&this[r+o+1]!==0&&(c=1),this[r+o]=(t/l>>0)-c&255;return r+n};Dt.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,1,127,-128),Dt.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1};Dt.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,2,32767,-32768),Dt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):nE(this,t,r,!0),r+2};Dt.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,2,32767,-32768),Dt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):nE(this,t,r,!1),r+2};Dt.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,4,2147483647,-2147483648),Dt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):iE(this,t,r,!0),r+4};Dt.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||kc(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),Dt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):iE(this,t,r,!1),r+4};function jq(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Nq(e,t,r,n,i){return i||jq(e,t,r,4),Aq(e,t,r,n,23,4),r+4}Dt.prototype.writeFloatLE=function(t,r,n){return Nq(this,t,r,!0,n)};Dt.prototype.writeFloatBE=function(t,r,n){return Nq(this,t,r,!1,n)};function Sq(e,t,r,n,i){return i||jq(e,t,r,8),Aq(e,t,r,n,52,8),r+8}Dt.prototype.writeDoubleLE=function(t,r,n){return Sq(this,t,r,!0,n)};Dt.prototype.writeDoubleBE=function(t,r,n){return Sq(this,t,r,!1,n)};Dt.prototype.copy=function(t,r,n,i){if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r=0;--o)t[o+r]=this[o+n];else if(s<1e3||!Dt.TYPED_ARRAY_SUPPORT)for(o=0;o>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function k5e(e){for(var t=[],r=0;r>8,i=r%256,s.push(i),s.push(n);return s}function Bq(e){return i5e(N5e(e))}function aE(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function D5e(e){return e!==e}function Yp(e){return e!=null&&(!!e._isBuffer||kq(e)||T5e(e))}function kq(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function T5e(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&kq(e.slice(0,0))}var R5e=Object.freeze({__proto__:null,Buffer:Dt,INSPECT_MAX_BYTES:vq,SlowBuffer:h5e,isBuffer:Yp,kMaxLength:l5e});function _q(){throw new Error("setTimeout has not been defined")}function Dq(){throw new Error("clearTimeout has not been defined")}var rm=_q,nm=Dq;typeof yg.setTimeout=="function"&&(rm=setTimeout);typeof yg.clearTimeout=="function"&&(nm=clearTimeout);function Tq(e){if(rm===setTimeout)return setTimeout(e,0);if((rm===_q||!rm)&&setTimeout)return rm=setTimeout,setTimeout(e,0);try{return rm(e,0)}catch{try{return rm.call(null,e,0)}catch{return rm.call(this,e,0)}}}function P5e(e){if(nm===clearTimeout)return clearTimeout(e);if((nm===Dq||!nm)&&clearTimeout)return nm=clearTimeout,clearTimeout(e);try{return nm(e)}catch{try{return nm.call(null,e)}catch{return nm.call(this,e)}}}var $f=[],YA=!1,Zp,a5=-1;function Q5e(){!YA||!Zp||(YA=!1,Zp.length?$f=Zp.concat($f):a5=-1,$f.length&&Rq())}function Rq(){if(!YA){var e=Tq(Q5e);YA=!0;for(var t=$f.length;t;){for(Zp=$f,$f=[];++a51)for(var r=1;r0&&o.length>i)){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,mwe(l)}return e}function mwe(e){typeof console.warn=="function"?console.warn(e):console.log(e)}pi.prototype.addListener=function(t,r){return Oq(this,t,r,!1)};pi.prototype.on=pi.prototype.addListener;pi.prototype.prependListener=function(t,r){return Oq(this,t,r,!0)};function Lq(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}pi.prototype.once=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.on(t,Lq(this,t,r)),this};pi.prototype.prependOnceListener=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.prependListener(t,Lq(this,t,r)),this};pi.prototype.removeListener=function(t,r){var n,i,s,o,l;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(i=this._events,!i)return this;if(n=i[t],!n)return this;if(n===r||n.listener&&n.listener===r)--this._eventsCount===0?this._events=new wm:(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length;o-- >0;)if(n[o]===r||n[o].listener&&n[o].listener===r){l=n[o].listener,s=o;break}if(s<0)return this;if(n.length===1){if(n[0]=void 0,--this._eventsCount===0)return this._events=new wm,this;delete i[t]}else pwe(n,s);i.removeListener&&this.emit("removeListener",t,l||r)}return this};pi.prototype.off=function(e,t){return this.removeListener(e,t)};pi.prototype.removeAllListeners=function(t){var r,n;if(n=this._events,!n)return this;if(!n.removeListener)return arguments.length===0?(this._events=new wm,this._eventsCount=0):n[t]&&(--this._eventsCount===0?this._events=new wm:delete n[t]),this;if(arguments.length===0){for(var i=Object.keys(n),s=0,o;s0?Reflect.ownKeys(this._events):[]};function pwe(e,t){for(var r=t,n=r+1,i=e.length;n=i)return l;switch(l){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch{return"[Circular]"}default:return l}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),cE(t)?r.showHidden=t:t&&AB(r,t),Ld(r.showHidden)&&(r.showHidden=!1),Ld(r.depth)&&(r.depth=2),Ld(r.colors)&&(r.colors=!1),Ld(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=xwe),Dw(r,e,r.depth)}O0.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};O0.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function xwe(e,t){var r=O0.styles[t];return r?"\x1B["+O0.colors[r][0]+"m"+e+"\x1B["+O0.colors[r][1]+"m":e}function vwe(e,t){return e}function ywe(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function Dw(e,t,r){if(e.customInspect&&t&&lg(t.inspect)&&t.inspect!==O0&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return By(n)||(n=Dw(e,n,r)),n}var i=bwe(e,t);if(i)return i;var s=Object.keys(t),o=ywe(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(t)),ZA(t)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return Aj(t);if(s.length===0){if(lg(t)){var l=t.name?": "+t.name:"";return e.stylize("[Function"+l+"]","special")}if(og(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(x1(t))return e.stylize(Date.prototype.toString.call(t),"date");if(ZA(t))return Aj(t)}var c="",d=!1,u=["{","}"];if(mB(t)&&(d=!0,u=["[","]"]),lg(t)){var h=t.name?": "+t.name:"";c=" [Function"+h+"]"}if(og(t)&&(c=" "+RegExp.prototype.toString.call(t)),x1(t)&&(c=" "+Date.prototype.toUTCString.call(t)),ZA(t)&&(c=" "+Aj(t)),s.length===0&&(!d||t.length==0))return u[0]+c+u[1];if(r<0)return og(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var p;return d?p=wwe(e,t,r,o,s):p=s.map(function(A){return FN(e,t,r,o,A,d)}),e.seen.pop(),Ewe(p,c,u)}function bwe(e,t){if(Ld(t))return e.stylize("undefined","undefined");if(By(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(pB(t))return e.stylize(""+t,"number");if(cE(t))return e.stylize(""+t,"boolean");if(Sy(t))return e.stylize("null","null")}function Aj(e){return"["+Error.prototype.toString.call(e)+"]"}function wwe(e,t,r,n,i){for(var s=[],o=0,l=t.length;o-1&&(s?l=l.split(` `).map(function(d){return" "+d}).join(` `).substr(2):l=` `+l.split(` `).map(function(d){return" "+d}).join(` `))):l=e.stylize("[Circular]","special")),Ld(o)){if(s&&i.match(/^\d+$/))return l;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+l}function Ewe(e,t,r){var n=e.reduce(function(i,s){return s.indexOf(` `)>=0,i+s.replace(/\u001b\[\d\d?m/g,"").length+1},0);return n>60?r[0]+(t===""?"":t+` `)+" "+e.join(`, `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function mB(e){return Array.isArray(e)}function cE(e){return typeof e=="boolean"}function Sy(e){return e===null}function zq(e){return e==null}function pB(e){return typeof e=="number"}function By(e){return typeof e=="string"}function $q(e){return typeof e=="symbol"}function Ld(e){return e===void 0}function og(e){return Lg(e)&&gB(e)==="[object RegExp]"}function Lg(e){return typeof e=="object"&&e!==null}function x1(e){return Lg(e)&&gB(e)==="[object Date]"}function ZA(e){return Lg(e)&&(gB(e)==="[object Error]"||e instanceof Error)}function lg(e){return typeof e=="function"}function Tw(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e>"u"}function Hq(e){return Dt.isBuffer(e)}function gB(e){return Object.prototype.toString.call(e)}function xj(e){return e<10?"0"+e.toString(10):e.toString(10)}var Cwe=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Iwe(){var e=new Date,t=[xj(e.getHours()),xj(e.getMinutes()),xj(e.getSeconds())].join(":");return[e.getDate(),Cwe[e.getMonth()],t].join(" ")}function qq(){console.log("%s - %s",Iwe(),oE.apply(null,arguments))}function AB(e,t){if(!t||!Lg(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function Gq(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var $p=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function xB(e){if(typeof e!="function")throw new TypeError('The "original" argument must be of type Function');if($p&&e[$p]){var t=e[$p];if(typeof t!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,$p,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var r,n,i=new Promise(function(l,c){r=l,n=c}),s=[],o=0;o0?this.tail.next=t:this.head=t,this.tail=t,++this.length};Mg.prototype.unshift=function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length};Mg.prototype.shift=function(){if(this.length!==0){var e=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,e}};Mg.prototype.clear=function(){this.head=this.tail=null,this.length=0};Mg.prototype.join=function(e){if(this.length===0)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r};Mg.prototype.concat=function(e){if(this.length===0)return Dt.alloc(0);if(this.length===1)return this.head.data;for(var t=Dt.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Bwe=Dt.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function kwe(e){if(e&&!Bwe(e))throw new Error("Unknown encoding: "+e)}function ky(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),kwe(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Dwe;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Twe;break;default:this.write=_we;return}this.charBuffer=new Dt(6),this.charReceived=0,this.charLength=0}ky.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),t+=e.toString(this.encoding,0,n);var n=t.length-1,i=t.charCodeAt(n);if(i>=55296&&i<=56319){var s=this.surrogateSize;return this.charLength+=s,this.charReceived+=s,this.charBuffer.copy(this.charBuffer,s,0,s),e.copy(this.charBuffer,0,0,s),t.substring(0,n)}return t};ky.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(t==1&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t};ky.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t};function _we(e){return e.toString(this.encoding)}function Dwe(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Twe(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}fs.ReadableState=Wq;var Zi=hB("stream");ch(fs,pi);function Rwe(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function Pwe(e,t){return e.listeners(t).length}function Wq(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof fu&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new Mg,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new ky(e.encoding),this.encoding=e.encoding)}function fs(e){if(!(this instanceof fs))return new fs(e);this._readableState=new Wq(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),pi.call(this)}fs.prototype.push=function(e,t){var r=this._readableState;return!r.objectMode&&typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=Dt.from(e,t),t="")),Kq(this,r,e,t,!1)};fs.prototype.unshift=function(e){var t=this._readableState;return Kq(this,t,e,"",!0)};fs.prototype.isPaused=function(){return this._readableState.flowing===!1};function Kq(e,t,r,n,i){var s=Owe(t,r);if(s)e.emit("error",s);else if(r===null)t.reading=!1,Lwe(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&i){var l=new Error("stream.unshift() after end event");e.emit("error",l)}else{var c;t.decoder&&!i&&!n&&(r=t.decoder.write(r),c=!t.objectMode&&r.length===0),i||(t.reading=!1),c||(t.flowing&&t.length===0&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&uE(e))),Mwe(e,t)}else i||(t.reading=!1);return Qwe(t)}function Qwe(e){return!e.ended&&(e.needReadable||e.length=B9?e=B9:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function k9(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=Fwe(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}fs.prototype.read=function(e){Zi("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return Zi("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?vj(this):uE(this),null;if(e=k9(e,t),e===0&&t.ended)return t.length===0&&vj(this),null;var n=t.needReadable;Zi("need readable",n),(t.length===0||t.length-e0?i=Yq(e,t):i=null,i===null?(t.needReadable=!0,e=0):t.length-=e,t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&vj(this)),i!==null&&this.emit("data",i),i};function Owe(e,t){var r=null;return!Dt.isBuffer(t)&&typeof t!="string"&&t!==null&&t!==void 0&&!e.objectMode&&(r=new TypeError("Invalid non-string/buffer chunk")),r}function Lwe(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,uE(e)}}function uE(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(Zi("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?mu(_9,e):_9(e))}function _9(e){Zi("emit readable"),e.emit("readable"),vB(e)}function Mwe(e,t){t.readingMore||(t.readingMore=!0,mu(Uwe,e,t))}function Uwe(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length1&&Zq(n.pipes,e)!==-1)&&!d&&(Zi("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,h=!0),r.pause())}function A(j){Zi("onerror",j),w(),e.removeListener("error",A),Pwe(e,"error")===0&&e.emit("error",j)}Rwe(e,"error",A);function y(){e.removeListener("finish",v),w()}e.once("close",y);function v(){Zi("onfinish"),e.removeListener("close",y),w()}e.once("finish",v);function w(){Zi("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(Zi("pipe resume"),r.resume()),e};function zwe(e){return function(){var t=e._readableState;Zi("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&e.listeners("data").length&&(t.flowing=!0,vB(e))}}fs.prototype.unpipe=function(e){var t=this._readableState;if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.head.data:r=t.buffer.concat(t.length),t.buffer.clear()):r=Gwe(e,t.buffer,t.decoder),r}function Gwe(e,t,r){var n;return es.length?s.length:e;if(o===s.length?i+=s:i+=s.slice(0,e),e-=o,e===0){o===s.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=s.slice(o));break}++n}return t.length-=n,i}function Wwe(e,t){var r=Dt.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var s=n.data,o=e>s.length?s.length:e;if(s.copy(r,r.length-e,0,o),e-=o,e===0){o===s.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=s.slice(o));break}++i}return t.length-=i,r}function vj(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,mu(Kwe,t,e))}function Kwe(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Ywe(e,t){for(var r=0,n=e.length;r-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this};function t4e(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=Dt.from(t,r)),t}function r4e(e,t,r,n,i){r=t4e(t,r,n),Dt.isBuffer(r)&&(n="buffer");var s=t.objectMode?1:r.length;t.length+=s;var o=t.length=0){var o=n.indexOf(` `,s+1);n=n.substring(o+1)}this.stack=n}}}ch(dE,Error);function U9(e,t){return typeof e=="string"?e.length=0;d--)if(o[d]!==l[d])return!1;for(d=o.length-1;d>=0;d--)if(c=o[d],!y1(e[c],t[c],r,n))return!1;return!0}Zl.notDeepEqual=IB;function IB(e,t,r){y1(e,t,!1)&&Vl(e,t,r,"notDeepEqual",IB)}Zl.notDeepStrictEqual=jB;function jB(e,t,r){y1(e,t,!0)&&Vl(e,t,r,"notDeepStrictEqual",jB)}Zl.strictEqual=NB;function NB(e,t,r){e!==t&&Vl(e,t,r,"===",NB)}Zl.notStrictEqual=SB;function SB(e,t,r){e===t&&Vl(e,t,r,"!==",SB)}function H9(e,t){if(!e||!t)return!1;if(Object.prototype.toString.call(t)=="[object RegExp]")return t.test(e);try{if(e instanceof t)return!0}catch{}return Error.isPrototypeOf(t)?!1:t.call({},e)===!0}function x4e(e){var t;try{e()}catch(r){t=r}return t}function aG(e,t,r,n){var i;if(typeof t!="function")throw new TypeError('"block" argument must be a function');typeof r=="string"&&(n=r,r=null),i=x4e(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&Vl(i,r,"Missing expected exception"+n);var s=typeof n=="string",o=!e&&ZA(i),l=!e&&i&&!r;if((o&&s&&H9(i,r)||l)&&Vl(i,r,"Got unwanted exception"+n),e&&i&&r&&!H9(i,r)||!e&&i)throw i}Zl.throws=sG;function sG(e,t,r){aG(!0,e,t,r)}Zl.doesNotThrow=oG;function oG(e,t,r){aG(!1,e,t,r)}Zl.ifError=lG;function lG(e){if(e)throw e}var v4e=Object.freeze({__proto__:null,AssertionError:dE,assert:jv,deepEqual:EB,deepStrictEqual:CB,default:Zl,doesNotThrow:oG,equal:bB,fail:Vl,ifError:lG,notDeepEqual:IB,notDeepStrictEqual:jB,notEqual:wB,notStrictEqual:SB,ok:jv,strictEqual:NB,throws:sG}),cG=sE(v4e);function y4e(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var b4e=y4e,af={},_y={};(function(e){var t=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function r(s,o){return Object.prototype.hasOwnProperty.call(s,o)}e.assign=function(s){for(var o=Array.prototype.slice.call(arguments,1);o.length;){var l=o.shift();if(l){if(typeof l!="object")throw new TypeError(l+"must be non-object");for(var c in l)r(l,c)&&(s[c]=l[c])}}return s},e.shrinkBuf=function(s,o){return s.length===o?s:s.subarray?s.subarray(0,o):(s.length=o,s)};var n={arraySet:function(s,o,l,c,d){if(o.subarray&&s.subarray){s.set(o.subarray(l,l+c),d);return}for(var u=0;u=0;)e[t]=0}var I4e=0,uG=1,j4e=2,N4e=3,S4e=258,BB=29,Dy=256,Nv=Dy+1+BB,JA=30,kB=19,dG=2*Nv+1,Jp=15,Ej=16,B4e=7,_B=256,fG=16,hG=17,mG=18,LN=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],s5=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],k4e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],pG=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],_4e=512,Mf=new Array((Nv+2)*2);J1(Mf);var Jx=new Array(JA*2);J1(Jx);var Sv=new Array(_4e);J1(Sv);var Bv=new Array(S4e-N4e+1);J1(Bv);var DB=new Array(BB);J1(DB);var Rw=new Array(JA);J1(Rw);function Cj(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}var gG,AG,xG;function Ij(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function vG(e){return e<256?Sv[e]:Sv[256+(e>>>7)]}function kv(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function vc(e,t,r){e.bi_valid>Ej-r?(e.bi_buf|=t<>Ej-e.bi_valid,e.bi_valid+=r-Ej):(e.bi_buf|=t<>>=1,r<<=1;while(--t>0);return r>>>1}function D4e(e){e.bi_valid===16?(kv(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function T4e(e,t){var r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,s=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,l=t.stat_desc.extra_base,c=t.stat_desc.max_length,d,u,h,p,A,y,v=0;for(p=0;p<=Jp;p++)e.bl_count[p]=0;for(r[e.heap[e.heap_max]*2+1]=0,d=e.heap_max+1;dc&&(p=c,v++),r[u*2+1]=p,!(u>n)&&(e.bl_count[p]++,A=0,u>=l&&(A=o[u-l]),y=r[u*2],e.opt_len+=y*(p+A),s&&(e.static_len+=y*(i[u*2+1]+A)));if(v!==0){do{for(p=c-1;e.bl_count[p]===0;)p--;e.bl_count[p]--,e.bl_count[p+1]+=2,e.bl_count[c]--,v-=2}while(v>0);for(p=c;p!==0;p--)for(u=e.bl_count[p];u!==0;)h=e.heap[--d],!(h>n)&&(r[h*2+1]!==p&&(e.opt_len+=(p-r[h*2+1])*r[h*2],r[h*2+1]=p),u--)}}function bG(e,t,r){var n=new Array(Jp+1),i=0,s,o;for(s=1;s<=Jp;s++)n[s]=i=i+r[s-1]<<1;for(o=0;o<=t;o++){var l=e[o*2+1];l!==0&&(e[o*2]=yG(n[l]++,l))}}function R4e(){var e,t,r,n,i,s=new Array(Jp+1);for(r=0,n=0;n>=7;n8?kv(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function P4e(e,t,r,n){EG(e),kv(e,r),kv(e,~r),w4e.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function V9(e,t,r,n){var i=t*2,s=r*2;return e[i]>1;o>=1;o--)jj(e,r,o);d=s;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],jj(e,r,1),l=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=l,r[d*2]=r[o*2]+r[l*2],e.depth[d]=(e.depth[o]>=e.depth[l]?e.depth[o]:e.depth[l])+1,r[o*2+1]=r[l*2+1]=d,e.heap[1]=d++,jj(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],T4e(e,t),bG(r,c,e.bl_count)}function K9(e,t,r){var n,i=-1,s,o=t[1],l=0,c=7,d=4;for(o===0&&(c=138,d=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)s=o,o=t[(n+1)*2+1],!(++l=3&&e.bl_tree[pG[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function F4e(e,t,r,n){var i;for(vc(e,t-257,5),vc(e,r-1,5),vc(e,n-4,4),i=0;i>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return q9;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return G9;for(r=32;r0?(e.strm.data_type===C4e&&(e.strm.data_type=O4e(e)),MN(e,e.l_desc),MN(e,e.d_desc),o=Q4e(e),i=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=i&&(i=s)):i=s=r+5,r+4<=i&&t!==-1?CG(e,t,r,n):e.strategy===E4e||s===i?(vc(e,(uG<<1)+(n?1:0),3),W9(e,Mf,Jx)):(vc(e,(j4e<<1)+(n?1:0),3),F4e(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),W9(e,e.dyn_ltree,e.dyn_dtree)),wG(e),n&&EG(e)}function z4e(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(Bv[r]+Dy+1)*2]++,e.dyn_dtree[vG(t)*2]++),e.last_lit===e.lit_bufsize-1}Z1._tr_init=L4e;Z1._tr_stored_block=CG;Z1._tr_flush_block=U4e;Z1._tr_tally=z4e;Z1._tr_align=M4e;function $4e(e,t,r,n){for(var i=e&65535|0,s=e>>>16&65535|0,o=0;r!==0;){o=r>2e3?2e3:r,r-=o;do i=i+t[n++]|0,s=s+i|0;while(--o);i%=65521,s%=65521}return i|s<<16|0}var IG=$4e;function H4e(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var q4e=H4e();function G4e(e,t,r,n){var i=q4e,s=n+r;e^=-1;for(var o=n;o>>8^i[(e^t[o])&255];return e^-1}var jG=G4e,V4e={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},$l=_y,t0=Z1,NG=IG,im=jG,W4e=V4e,Ug=0,K4e=1,Y4e=3,Em=4,J9=5,Rd=0,X9=1,r0=-2,Z4e=-3,Nj=-5,J4e=-1,X4e=1,pb=2,eEe=3,tEe=4,rEe=0,nEe=2,fE=8,iEe=9,aEe=15,sEe=8,oEe=29,lEe=256,UN=lEe+1+oEe,cEe=30,uEe=19,dEe=2*UN+1,fEe=15,hi=3,hm=258,L0=hm+hi+1,hEe=32,hE=42,zN=69,o5=73,l5=91,c5=103,Xp=113,Lx=666,ho=1,Ty=2,bg=3,X1=4,mEe=3;function mm(e,t){return e.msg=W4e[t],t}function eR(e){return(e<<1)-(e>4?9:0)}function cm(e){for(var t=e.length;--t>=0;)e[t]=0}function am(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&($l.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function al(e,t){t0._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,am(e.strm)}function Bi(e,t){e.pending_buf[e.pending++]=t}function Dx(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function pEe(e,t,r,n){var i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,$l.arraySet(t,e.input,e.next_in,i,r),e.state.wrap===1?e.adler=NG(e.adler,t,i,r):e.state.wrap===2&&(e.adler=im(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function SG(e,t){var r=e.max_chain_length,n=e.strstart,i,s,o=e.prev_length,l=e.nice_match,c=e.strstart>e.w_size-L0?e.strstart-(e.w_size-L0):0,d=e.window,u=e.w_mask,h=e.prev,p=e.strstart+hm,A=d[n+o-1],y=d[n+o];e.prev_length>=e.good_match&&(r>>=2),l>e.lookahead&&(l=e.lookahead);do if(i=t,!(d[i+o]!==y||d[i+o-1]!==A||d[i]!==d[n]||d[++i]!==d[n+1])){n+=2,i++;do;while(d[++n]===d[++i]&&d[++n]===d[++i]&&d[++n]===d[++i]&&d[++n]===d[++i]&&d[++n]===d[++i]&&d[++n]===d[++i]&&d[++n]===d[++i]&&d[++n]===d[++i]&&no){if(e.match_start=t,o=s,s>=l)break;A=d[n+o-1],y=d[n+o]}}while((t=h[t&u])>c&&--r!==0);return o<=e.lookahead?o:e.lookahead}function wg(e){var t=e.w_size,r,n,i,s,o;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-L0)){$l.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do i=e.head[--r],e.head[r]=i>=t?i-t:0;while(--n);n=t,r=n;do i=e.prev[--r],e.prev[r]=i>=t?i-t:0;while(--n);s+=t}if(e.strm.avail_in===0)break;if(n=pEe(e.strm,e.window,e.strstart+e.lookahead,s),e.lookahead+=n,e.lookahead+e.insert>=hi)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(wg(e),e.lookahead===0&&t===Ug)return ho;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,al(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-L0&&(al(e,!1),e.strm.avail_out===0))return ho}return e.insert=0,t===Em?(al(e,!0),e.strm.avail_out===0?bg:X1):(e.strstart>e.block_start&&(al(e,!1),e.strm.avail_out===0),ho)}function Sj(e,t){for(var r,n;;){if(e.lookahead=hi&&(e.ins_h=(e.ins_h<=hi)if(n=t0._tr_tally(e,e.strstart-e.match_start,e.match_length-hi),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=hi){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<=hi&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=hi-1)),e.prev_length>=hi&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-hi,n=t0._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-hi),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=(e.ins_h<=hi&&e.strstart>0&&(i=e.strstart-1,n=o[i],n===o[++i]&&n===o[++i]&&n===o[++i])){s=e.strstart+hm;do;while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=hi?(r=t0._tr_tally(e,1,e.match_length-hi),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=t0._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(al(e,!1),e.strm.avail_out===0))return ho}return e.insert=0,t===Em?(al(e,!0),e.strm.avail_out===0?bg:X1):e.last_lit&&(al(e,!1),e.strm.avail_out===0)?ho:Ty}function xEe(e,t){for(var r;;){if(e.lookahead===0&&(wg(e),e.lookahead===0)){if(t===Ug)return ho;break}if(e.match_length=0,r=t0._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(al(e,!1),e.strm.avail_out===0))return ho}return e.insert=0,t===Em?(al(e,!0),e.strm.avail_out===0?bg:X1):e.last_lit&&(al(e,!1),e.strm.avail_out===0)?ho:Ty}function bd(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}var LA;LA=[new bd(0,0,0,0,gEe),new bd(4,4,8,4,Sj),new bd(4,5,16,8,Sj),new bd(4,6,32,32,Sj),new bd(4,4,16,16,IA),new bd(8,16,32,32,IA),new bd(8,16,128,128,IA),new bd(8,32,128,256,IA),new bd(32,128,258,1024,IA),new bd(32,258,258,4096,IA)];function vEe(e){e.window_size=2*e.w_size,cm(e.head),e.max_lazy_match=LA[e.level].max_lazy,e.good_match=LA[e.level].good_length,e.nice_match=LA[e.level].nice_length,e.max_chain_length=LA[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=hi-1,e.match_available=0,e.ins_h=0}function yEe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=fE,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new $l.Buf16(dEe*2),this.dyn_dtree=new $l.Buf16((2*cEe+1)*2),this.bl_tree=new $l.Buf16((2*uEe+1)*2),cm(this.dyn_ltree),cm(this.dyn_dtree),cm(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new $l.Buf16(fEe+1),this.heap=new $l.Buf16(2*UN+1),cm(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new $l.Buf16(2*UN+1),cm(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function BG(e){var t;return!e||!e.state?mm(e,r0):(e.total_in=e.total_out=0,e.data_type=nEe,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?hE:Xp,e.adler=t.wrap===2?0:1,t.last_flush=Ug,t0._tr_init(t),Rd)}function kG(e){var t=BG(e);return t===Rd&&vEe(e.state),t}function bEe(e,t){return!e||!e.state||e.state.wrap!==2?r0:(e.state.gzhead=t,Rd)}function _G(e,t,r,n,i,s){if(!e)return r0;var o=1;if(t===J4e&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),i<1||i>iEe||r!==fE||n<8||n>15||t<0||t>9||s<0||s>tEe)return mm(e,r0);n===8&&(n=9);var l=new yEe;return e.state=l,l.strm=e,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<J9||t<0)return e?mm(e,r0):r0;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===Lx&&t!==Em)return mm(e,e.avail_out===0?Nj:r0);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===hE)if(n.wrap===2)e.adler=0,Bi(n,31),Bi(n,139),Bi(n,8),n.gzhead?(Bi(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Bi(n,n.gzhead.time&255),Bi(n,n.gzhead.time>>8&255),Bi(n,n.gzhead.time>>16&255),Bi(n,n.gzhead.time>>24&255),Bi(n,n.level===9?2:n.strategy>=pb||n.level<2?4:0),Bi(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Bi(n,n.gzhead.extra.length&255),Bi(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=im(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=zN):(Bi(n,0),Bi(n,0),Bi(n,0),Bi(n,0),Bi(n,0),Bi(n,n.level===9?2:n.strategy>=pb||n.level<2?4:0),Bi(n,mEe),n.status=Xp);else{var o=fE+(n.w_bits-8<<4)<<8,l=-1;n.strategy>=pb||n.level<2?l=0:n.level<6?l=1:n.level===6?l=2:l=3,o|=l<<6,n.strstart!==0&&(o|=hEe),o+=31-o%31,n.status=Xp,Dx(n,o),n.strstart!==0&&(Dx(n,e.adler>>>16),Dx(n,e.adler&65535)),e.adler=1}if(n.status===zN)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=im(e.adler,n.pending_buf,n.pending-i,i)),am(e),i=n.pending,n.pending===n.pending_buf_size));)Bi(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=im(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=o5)}else n.status=o5;if(n.status===o5)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=im(e.adler,n.pending_buf,n.pending-i,i)),am(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindexi&&(e.adler=im(e.adler,n.pending_buf,n.pending-i,i)),s===0&&(n.gzindex=0,n.status=l5)}else n.status=l5;if(n.status===l5)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=im(e.adler,n.pending_buf,n.pending-i,i)),am(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindexi&&(e.adler=im(e.adler,n.pending_buf,n.pending-i,i)),s===0&&(n.status=c5)}else n.status=c5;if(n.status===c5&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&am(e),n.pending+2<=n.pending_buf_size&&(Bi(n,e.adler&255),Bi(n,e.adler>>8&255),e.adler=0,n.status=Xp)):n.status=Xp),n.pending!==0){if(am(e),e.avail_out===0)return n.last_flush=-1,Rd}else if(e.avail_in===0&&eR(t)<=eR(r)&&t!==Em)return mm(e,Nj);if(n.status===Lx&&e.avail_in!==0)return mm(e,Nj);if(e.avail_in!==0||n.lookahead!==0||t!==Ug&&n.status!==Lx){var c=n.strategy===pb?xEe(n,t):n.strategy===eEe?AEe(n,t):LA[n.level].func(n,t);if((c===bg||c===X1)&&(n.status=Lx),c===ho||c===bg)return e.avail_out===0&&(n.last_flush=-1),Rd;if(c===Ty&&(t===K4e?t0._tr_align(n):t!==J9&&(t0._tr_stored_block(n,0,0,!1),t===Y4e&&(cm(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),am(e),e.avail_out===0))return n.last_flush=-1,Rd}return t!==Em?Rd:n.wrap<=0?X9:(n.wrap===2?(Bi(n,e.adler&255),Bi(n,e.adler>>8&255),Bi(n,e.adler>>16&255),Bi(n,e.adler>>24&255),Bi(n,e.total_in&255),Bi(n,e.total_in>>8&255),Bi(n,e.total_in>>16&255),Bi(n,e.total_in>>24&255)):(Dx(n,e.adler>>>16),Dx(n,e.adler&65535)),am(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Rd:X9)}function CEe(e){var t;return!e||!e.state?r0:(t=e.state.status,t!==hE&&t!==zN&&t!==o5&&t!==l5&&t!==c5&&t!==Xp&&t!==Lx?mm(e,r0):(e.state=null,t===Xp?mm(e,Z4e):Rd))}function IEe(e,t){var r=t.length,n,i,s,o,l,c,d,u;if(!e||!e.state||(n=e.state,o=n.wrap,o===2||o===1&&n.status!==hE||n.lookahead))return r0;for(o===1&&(e.adler=NG(e.adler,t,r,0)),n.wrap=0,r>=n.w_size&&(o===0&&(cm(n.head),n.strstart=0,n.block_start=0,n.insert=0),u=new $l.Buf8(n.w_size),$l.arraySet(u,t,r-n.w_size,n.w_size,0),t=u,r=n.w_size),l=e.avail_in,c=e.next_in,d=e.input,e.avail_in=r,e.next_in=0,e.input=t,wg(n);n.lookahead>=hi;){i=n.strstart,s=n.lookahead-(hi-1);do n.ins_h=(n.ins_h<>>24,y>>>=C,v-=C,C=_>>>16&255,C===0)$[o++]=_&65535;else if(C&16){Q=_&65535,C&=15,C&&(v>>=C,v-=C),v<15&&(y+=O[i++]<>>24,y>>>=C,v-=C,C=_>>>16&255,C&16){if(R=_&65535,C&=15,vd){t.msg="invalid distance too far back",n.mode=gb;break e}if(y>>>=C,v-=C,C=o-l,R>C){if(C=R-C,C>h&&n.sane){t.msg="invalid distance too far back",n.mode=gb;break e}if(T=0,M=A,p===0){if(T+=u-C,C2;)$[o++]=M[T++],$[o++]=M[T++],$[o++]=M[T++],Q-=3;Q&&($[o++]=M[T++],Q>1&&($[o++]=M[T++]))}else{T=o-R;do $[o++]=$[T++],$[o++]=$[T++],$[o++]=$[T++],Q-=3;while(Q>2);Q&&($[o++]=$[T++],Q>1&&($[o++]=$[T++]))}}else if((C&64)===0){_=j[(_&65535)+(y&(1<>3,i-=Q,v-=Q<<3,y&=(1<=1&&P[A]===0;A--);if(y>A&&(y=A),A===0)return s[o++]=1<<24|64<<16|0,s[o++]=1<<24|64<<16|0,c.bits=1,0;for(p=1;p0&&(t===iR||A!==1))return-1;for(L[1]=0,u=1;urR||t===aR&&E>nR)return 1;for(;;){G=u-w,l[h]<$?(J=0,q=l[h]):l[h]>$?(J=X[W+l[h]],q=M[O+l[h]]):(J=96,q=0),_=1<>w)+C]=G<<24|J<<16|q|0;while(C!==0);for(_=1<>=1;if(_!==0?(S&=_-1,S+=_):S=0,h++,--P[u]===0){if(u===A)break;u=r[n+l[h]]}if(u>y&&(S&R)!==Q){for(w===0&&(w=y),T+=p,v=u-w,j=1<rR||t===aR&&E>nR)return 1;Q=S&R,s[Q]=y<<24|v<<16|T-o|0}}return S!==0&&(s[T+S]=u-w<<24|64<<16|0),c.bits=y,0},au=_y,$N=IG,wd=jG,TEe=NEe,Xx=DEe,REe=0,DG=1,TG=2,sR=4,PEe=5,Ab=6,Eg=0,QEe=1,FEe=2,s0=-2,RG=-3,PG=-4,OEe=-5,oR=8,QG=1,lR=2,cR=3,uR=4,dR=5,fR=6,hR=7,mR=8,pR=9,gR=10,Pw=11,Pf=12,kj=13,AR=14,_j=15,xR=16,vR=17,yR=18,bR=19,xb=20,vb=21,wR=22,ER=23,CR=24,IR=25,jR=26,Dj=27,NR=28,SR=29,Ka=30,FG=31,LEe=32,MEe=852,UEe=592,zEe=15,$Ee=zEe;function BR(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function HEe(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new au.Buf16(320),this.work=new au.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function OG(e){var t;return!e||!e.state?s0:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=QG,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new au.Buf32(MEe),t.distcode=t.distdyn=new au.Buf32(UEe),t.sane=1,t.back=-1,Eg)}function LG(e){var t;return!e||!e.state?s0:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,OG(e))}function MG(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?s0:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,LG(e))}function UG(e,t){var r,n;return e?(n=new HEe,e.state=n,n.window=null,r=MG(e,t),r!==Eg&&(e.state=null),r):s0}function qEe(e){return UG(e,$Ee)}var kR=!0,Tj,Rj;function GEe(e){if(kR){var t;for(Tj=new au.Buf32(512),Rj=new au.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Xx(DG,e.lens,0,288,Tj,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Xx(TG,e.lens,0,32,Rj,0,e.work,{bits:5}),kR=!1}e.lencode=Tj,e.lenbits=9,e.distcode=Rj,e.distbits=5}function zG(e,t,r,n){var i,s=e.state;return s.window===null&&(s.wsize=1<=s.wsize?(au.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i=s.wsize-s.wnext,i>n&&(i=n),au.arraySet(s.window,t,r-n,i,s.wnext),n-=i,n?(au.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=wd(r.check,M,2,0),d=0,u=0,r.mode=lR;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((d&255)<<8)+(d>>8))%31){e.msg="incorrect header check",r.mode=Ka;break}if((d&15)!==oR){e.msg="unknown compression method",r.mode=Ka;break}if(d>>>=4,u-=4,R=(d&15)+8,r.wbits===0)r.wbits=R;else if(R>r.wbits){e.msg="invalid window size",r.mode=Ka;break}r.dmax=1<>8&1),r.flags&512&&(M[0]=d&255,M[1]=d>>>8&255,r.check=wd(r.check,M,2,0)),d=0,u=0,r.mode=cR;case cR:for(;u<32;){if(l===0)break e;l--,d+=n[s++]<>>8&255,M[2]=d>>>16&255,M[3]=d>>>24&255,r.check=wd(r.check,M,4,0)),d=0,u=0,r.mode=uR;case uR:for(;u<16;){if(l===0)break e;l--,d+=n[s++]<>8),r.flags&512&&(M[0]=d&255,M[1]=d>>>8&255,r.check=wd(r.check,M,2,0)),d=0,u=0,r.mode=dR;case dR:if(r.flags&1024){for(;u<16;){if(l===0)break e;l--,d+=n[s++]<>>8&255,r.check=wd(r.check,M,2,0)),d=0,u=0}else r.head&&(r.head.extra=null);r.mode=fR;case fR:if(r.flags&1024&&(A=r.length,A>l&&(A=l),A&&(r.head&&(R=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),au.arraySet(r.head.extra,n,s,A,R)),r.flags&512&&(r.check=wd(r.check,n,A,s)),l-=A,s+=A,r.length-=A),r.length))break e;r.length=0,r.mode=hR;case hR:if(r.flags&2048){if(l===0)break e;A=0;do R=n[s+A++],r.head&&R&&r.length<65536&&(r.head.name+=String.fromCharCode(R));while(R&&A>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Pf;break;case gR:for(;u<32;){if(l===0)break e;l--,d+=n[s++]<>>=u&7,u-=u&7,r.mode=Dj;break}for(;u<3;){if(l===0)break e;l--,d+=n[s++]<>>=1,u-=1,d&3){case 0:r.mode=AR;break;case 1:if(GEe(r),r.mode=xb,t===Ab){d>>>=2,u-=2;break e}break;case 2:r.mode=vR;break;case 3:e.msg="invalid block type",r.mode=Ka}d>>>=2,u-=2;break;case AR:for(d>>>=u&7,u-=u&7;u<32;){if(l===0)break e;l--,d+=n[s++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=Ka;break}if(r.length=d&65535,d=0,u=0,r.mode=_j,t===Ab)break e;case _j:r.mode=xR;case xR:if(A=r.length,A){if(A>l&&(A=l),A>c&&(A=c),A===0)break e;au.arraySet(i,n,s,A,o),l-=A,s+=A,c-=A,o+=A,r.length-=A;break}r.mode=Pf;break;case vR:for(;u<14;){if(l===0)break e;l--,d+=n[s++]<>>=5,u-=5,r.ndist=(d&31)+1,d>>>=5,u-=5,r.ncode=(d&15)+4,d>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=Ka;break}r.have=0,r.mode=yR;case yR:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[P[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,O={bits:r.lenbits},T=Xx(REe,r.lens,0,19,r.lencode,0,r.work,O),r.lenbits=O.bits,T){e.msg="invalid code lengths set",r.mode=Ka;break}r.have=0,r.mode=bR;case bR:for(;r.have>>24,E=w>>>16&255,S=w&65535,!(j<=u);){if(l===0)break e;l--,d+=n[s++]<>>=j,u-=j,r.lens[r.have++]=S;else{if(S===16){for($=j+2;u<$;){if(l===0)break e;l--,d+=n[s++]<>>=j,u-=j,r.have===0){e.msg="invalid bit length repeat",r.mode=Ka;break}R=r.lens[r.have-1],A=3+(d&3),d>>>=2,u-=2}else if(S===17){for($=j+3;u<$;){if(l===0)break e;l--,d+=n[s++]<>>=j,u-=j,R=0,A=3+(d&7),d>>>=3,u-=3}else{for($=j+7;u<$;){if(l===0)break e;l--,d+=n[s++]<>>=j,u-=j,R=0,A=11+(d&127),d>>>=7,u-=7}if(r.have+A>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=Ka;break}for(;A--;)r.lens[r.have++]=R}}if(r.mode===Ka)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=Ka;break}if(r.lenbits=9,O={bits:r.lenbits},T=Xx(DG,r.lens,0,r.nlen,r.lencode,0,r.work,O),r.lenbits=O.bits,T){e.msg="invalid literal/lengths set",r.mode=Ka;break}if(r.distbits=6,r.distcode=r.distdyn,O={bits:r.distbits},T=Xx(TG,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,O),r.distbits=O.bits,T){e.msg="invalid distances set",r.mode=Ka;break}if(r.mode=xb,t===Ab)break e;case xb:r.mode=vb;case vb:if(l>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=s,e.avail_in=l,r.hold=d,r.bits=u,TEe(e,p),o=e.next_out,i=e.output,c=e.avail_out,s=e.next_in,n=e.input,l=e.avail_in,d=r.hold,u=r.bits,r.mode===Pf&&(r.back=-1);break}for(r.back=0;w=r.lencode[d&(1<>>24,E=w>>>16&255,S=w&65535,!(j<=u);){if(l===0)break e;l--,d+=n[s++]<>_)],j=w>>>24,E=w>>>16&255,S=w&65535,!(_+j<=u);){if(l===0)break e;l--,d+=n[s++]<>>=_,u-=_,r.back+=_}if(d>>>=j,u-=j,r.back+=j,r.length=S,E===0){r.mode=jR;break}if(E&32){r.back=-1,r.mode=Pf;break}if(E&64){e.msg="invalid literal/length code",r.mode=Ka;break}r.extra=E&15,r.mode=wR;case wR:if(r.extra){for($=r.extra;u<$;){if(l===0)break e;l--,d+=n[s++]<>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=ER;case ER:for(;w=r.distcode[d&(1<>>24,E=w>>>16&255,S=w&65535,!(j<=u);){if(l===0)break e;l--,d+=n[s++]<>_)],j=w>>>24,E=w>>>16&255,S=w&65535,!(_+j<=u);){if(l===0)break e;l--,d+=n[s++]<>>=_,u-=_,r.back+=_}if(d>>>=j,u-=j,r.back+=j,E&64){e.msg="invalid distance code",r.mode=Ka;break}r.offset=S,r.extra=E&15,r.mode=CR;case CR:if(r.extra){for($=r.extra;u<$;){if(l===0)break e;l--,d+=n[s++]<>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=Ka;break}r.mode=IR;case IR:if(c===0)break e;if(A=p-c,r.offset>A){if(A=r.offset-A,A>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=Ka;break}A>r.wnext?(A-=r.wnext,y=r.wsize-A):y=r.wnext-A,A>r.length&&(A=r.length),v=r.window}else v=i,y=o-r.offset,A=r.length;A>c&&(A=c),c-=A,r.length-=A;do i[o++]=v[y++];while(--A);r.length===0&&(r.mode=vb);break;case jR:if(c===0)break e;i[o++]=r.length,c--,r.mode=vb;break;case Dj:if(r.wrap){for(;u<32;){if(l===0)break e;l--,d|=n[s++]<e.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=u,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}d.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,t(this.init_done,"close before init"),t(this.mode<=e.UNZIP),this.mode===e.DEFLATE||this.mode===e.GZIP||this.mode===e.DEFLATERAW?n.deflateEnd(this.strm):(this.mode===e.INFLATE||this.mode===e.GUNZIP||this.mode===e.INFLATERAW||this.mode===e.UNZIP)&&i.inflateEnd(this.strm),this.mode=e.NONE,this.dictionary=null},d.prototype.write=function(u,h,p,A,y,v,w){return this._write(!0,u,h,p,A,y,v,w)},d.prototype.writeSync=function(u,h,p,A,y,v,w){return this._write(!1,u,h,p,A,y,v,w)},d.prototype._write=function(u,h,p,A,y,v,w,j){if(t.equal(arguments.length,8),t(this.init_done,"write before init"),t(this.mode!==e.NONE,"already finalized"),t.equal(!1,this.write_in_progress,"write already in progress"),t.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,t.equal(!1,h===void 0,"must provide flush value"),this.write_in_progress=!0,h!==e.Z_NO_FLUSH&&h!==e.Z_PARTIAL_FLUSH&&h!==e.Z_SYNC_FLUSH&&h!==e.Z_FULL_FLUSH&&h!==e.Z_FINISH&&h!==e.Z_BLOCK)throw new Error("Invalid flush value");if(p==null&&(p=Dt.alloc(0),y=0,A=0),this.strm.avail_in=y,this.strm.input=p,this.strm.next_in=A,this.strm.avail_out=j,this.strm.output=v,this.strm.next_out=w,this.flush=h,!u)return this._process(),this._checkError()?this._afterSync():void 0;var E=this;return R0.nextTick(function(){E._process(),E._after()}),this},d.prototype._afterSync=function(){var u=this.strm.avail_out,h=this.strm.avail_in;return this.write_in_progress=!1,[h,u]},d.prototype._process=function(){var u=null;switch(this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=n.deflate(this.strm,this.flush);break;case e.UNZIP:switch(this.strm.avail_in>0&&(u=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(u===null)break;if(this.strm.input[u]===l){if(this.gzip_id_bytes_read=1,u++,this.strm.avail_in===1)break}else{this.mode=e.INFLATE;break}case 1:if(u===null)break;this.strm.input[u]===c?(this.gzip_id_bytes_read=2,this.mode=e.GUNZIP):this.mode=e.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:for(this.err=i.inflate(this.strm,this.flush),this.err===e.Z_NEED_DICT&&this.dictionary&&(this.err=i.inflateSetDictionary(this.strm,this.dictionary),this.err===e.Z_OK?this.err=i.inflate(this.strm,this.flush):this.err===e.Z_DATA_ERROR&&(this.err=e.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===e.GUNZIP&&this.err===e.Z_STREAM_END&&this.strm.next_in[0]!==0;)this.reset(),this.err=i.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},d.prototype._checkError=function(){switch(this.err){case e.Z_OK:case e.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===e.Z_FINISH)return this._error("unexpected end of file"),!1;break;case e.Z_STREAM_END:break;case e.Z_NEED_DICT:return this.dictionary==null?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},d.prototype._after=function(){if(this._checkError()){var u=this.strm.avail_out,h=this.strm.avail_in;this.write_in_progress=!1,this.callback(h,u),this.pending_close&&this.close()}},d.prototype._error=function(u){this.strm.msg&&(u=this.strm.msg),this.onerror(u,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},d.prototype.init=function(u,h,p,A,y){t(arguments.length===4||arguments.length===5,"init(windowBits, level, memLevel, strategy, [dictionary])"),t(u>=8&&u<=15,"invalid windowBits"),t(h>=-1&&h<=9,"invalid compression level"),t(p>=1&&p<=9,"invalid memlevel"),t(A===e.Z_FILTERED||A===e.Z_HUFFMAN_ONLY||A===e.Z_RLE||A===e.Z_FIXED||A===e.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(h,u,p,A,y),this._setDictionary()},d.prototype.params=function(){throw new Error("deflateParams Not supported")},d.prototype.reset=function(){this._reset(),this._setDictionary()},d.prototype._init=function(u,h,p,A,y){switch(this.level=u,this.windowBits=h,this.memLevel=p,this.strategy=A,this.flush=e.Z_NO_FLUSH,this.err=e.Z_OK,(this.mode===e.GZIP||this.mode===e.GUNZIP)&&(this.windowBits+=16),this.mode===e.UNZIP&&(this.windowBits+=32),(this.mode===e.DEFLATERAW||this.mode===e.INFLATERAW)&&(this.windowBits=-1*this.windowBits),this.strm=new r,this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=n.deflateInit2(this.strm,this.level,e.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:case e.UNZIP:this.err=i.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==e.Z_OK&&this._error("Init error"),this.dictionary=y,this.write_in_progress=!1,this.init_done=!0},d.prototype._setDictionary=function(){if(this.dictionary!=null){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:this.err=n.deflateSetDictionary(this.strm,this.dictionary);break}this.err!==e.Z_OK&&this._error("Failed to set dictionary")}},d.prototype._reset=function(){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:case e.GZIP:this.err=n.deflateReset(this.strm);break;case e.INFLATE:case e.INFLATERAW:case e.GUNZIP:this.err=i.inflateReset(this.strm);break}this.err!==e.Z_OK&&this._error("Failed to reset stream")},e.Zlib=d})(rG);var JEe=sE(Swe);(function(e){var t=S9.Buffer,r=h4e.Transform,n=rG,i=JEe,s=cG.ok,o=S9.kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+o.toString(16)+" bytes";n.Z_MIN_WINDOWBITS=8,n.Z_MAX_WINDOWBITS=15,n.Z_DEFAULT_WINDOWBITS=15,n.Z_MIN_CHUNK=64,n.Z_MAX_CHUNK=1/0,n.Z_DEFAULT_CHUNK=16*1024,n.Z_MIN_MEMLEVEL=1,n.Z_MAX_MEMLEVEL=9,n.Z_DEFAULT_MEMLEVEL=8,n.Z_MIN_LEVEL=-1,n.Z_MAX_LEVEL=9,n.Z_DEFAULT_LEVEL=n.Z_DEFAULT_COMPRESSION;for(var c=Object.keys(n),d=0;d=o?V=new RangeError(l):ne=t.concat(W,G),W=[],P.close(),X(V,ne)}}function w(P,L){if(typeof L=="string"&&(L=t.from(L)),!t.isBuffer(L))throw new TypeError("Not a string or buffer");var X=P._finishFlushFlag;return P._processChunk(L,X)}function j(P){if(!(this instanceof j))return new j(P);M.call(this,P,n.DEFLATE)}function E(P){if(!(this instanceof E))return new E(P);M.call(this,P,n.INFLATE)}function S(P){if(!(this instanceof S))return new S(P);M.call(this,P,n.GZIP)}function _(P){if(!(this instanceof _))return new _(P);M.call(this,P,n.GUNZIP)}function C(P){if(!(this instanceof C))return new C(P);M.call(this,P,n.DEFLATERAW)}function Q(P){if(!(this instanceof Q))return new Q(P);M.call(this,P,n.INFLATERAW)}function R(P){if(!(this instanceof R))return new R(P);M.call(this,P,n.UNZIP)}function T(P){return P===n.Z_NO_FLUSH||P===n.Z_PARTIAL_FLUSH||P===n.Z_SYNC_FLUSH||P===n.Z_FULL_FLUSH||P===n.Z_FINISH||P===n.Z_BLOCK}function M(P,L){var X=this;if(this._opts=P=P||{},this._chunkSize=P.chunkSize||e.Z_DEFAULT_CHUNK,r.call(this,P),P.flush&&!T(P.flush))throw new Error("Invalid flush flag: "+P.flush);if(P.finishFlush&&!T(P.finishFlush))throw new Error("Invalid flush flag: "+P.finishFlush);if(this._flushFlag=P.flush||n.Z_NO_FLUSH,this._finishFlushFlag=typeof P.finishFlush<"u"?P.finishFlush:n.Z_FINISH,P.chunkSize&&(P.chunkSizee.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+P.chunkSize);if(P.windowBits&&(P.windowBitse.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+P.windowBits);if(P.level&&(P.levele.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+P.level);if(P.memLevel&&(P.memLevele.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+P.memLevel);if(P.strategy&&P.strategy!=e.Z_FILTERED&&P.strategy!=e.Z_HUFFMAN_ONLY&&P.strategy!=e.Z_RLE&&P.strategy!=e.Z_FIXED&&P.strategy!=e.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+P.strategy);if(P.dictionary&&!t.isBuffer(P.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new n.Zlib(L);var W=this;this._hadError=!1,this._handle.onerror=function(q,ee){O(W),W._hadError=!0;var ne=new Error(q);ne.errno=ee,ne.code=e.codes[ee],W.emit("error",ne)};var G=e.Z_DEFAULT_COMPRESSION;typeof P.level=="number"&&(G=P.level);var J=e.Z_DEFAULT_STRATEGY;typeof P.strategy=="number"&&(J=P.strategy),this._handle.init(P.windowBits||e.Z_DEFAULT_WINDOWBITS,G,P.memLevel||e.Z_DEFAULT_MEMLEVEL,J,P.dictionary),this._buffer=t.allocUnsafe(this._chunkSize),this._offset=0,this._level=G,this._strategy=J,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!X._handle},configurable:!0,enumerable:!0})}i.inherits(M,r),M.prototype.params=function(P,L,X){if(Pe.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+P);if(L!=e.Z_FILTERED&&L!=e.Z_HUFFMAN_ONLY&&L!=e.Z_RLE&&L!=e.Z_FIXED&&L!=e.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+L);if(this._level!==P||this._strategy!==L){var W=this;this.flush(n.Z_SYNC_FLUSH,function(){s(W._handle,"zlib binding closed"),W._handle.params(P,L),W._hadError||(W._level=P,W._strategy=L,X&&X())})}else R0.nextTick(X)},M.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},M.prototype._flush=function(P){this._transform(t.alloc(0),"",P)},M.prototype.flush=function(P,L){var X=this,W=this._writableState;(typeof P=="function"||P===void 0&&!L)&&(L=P,P=n.Z_FULL_FLUSH),W.ended?L&&R0.nextTick(L):W.ending?L&&this.once("end",L):W.needDrain?L&&this.once("drain",function(){return X.flush(P,L)}):(this._flushFlag=P,this.write(t.alloc(0),"",L))},M.prototype.close=function(P){O(this,P),R0.nextTick($,this)};function O(P,L){L&&R0.nextTick(L),P._handle&&(P._handle.close(),P._handle=null)}function $(P){P.emit("close")}M.prototype._transform=function(P,L,X){var W,G=this._writableState,J=G.ending||G.ended,q=J&&(!P||G.length===P.length);if(P!==null&&!t.isBuffer(P))return X(new Error("invalid input"));if(!this._handle)return X(new Error("zlib binding closed"));q?W=this._finishFlushFlag:(W=this._flushFlag,P.length>=G.length&&(this._flushFlag=this._opts.flush||n.Z_NO_FLUSH)),this._processChunk(P,W,X)},M.prototype._processChunk=function(P,L,X){var W=P&&P.length,G=this._chunkSize-this._offset,J=0,q=this,ee=typeof X=="function";if(!ee){var ne=[],V=0,ue;this.on("error",function(we){ue=we}),s(this._handle,"zlib binding closed");do var de=this._handle.writeSync(L,P,J,W,this._buffer,this._offset,G);while(!this._hadError&&Ce(de[0],de[1]));if(this._hadError)throw ue;if(V>=o)throw O(this),new RangeError(l);var xe=t.concat(ne,V);return O(this),xe}s(this._handle,"zlib binding closed");var _e=this._handle.write(L,P,J,W,this._buffer,this._offset,G);_e.buffer=P,_e.callback=Ce;function Ce(we,ve){if(this&&(this.buffer=null,this.callback=null),!q._hadError){var Ne=G-ve;if(s(Ne>=0,"have should not go down"),Ne>0){var Ie=q._buffer.slice(q._offset,q._offset+Ne);q._offset+=Ne,ee?q.push(Ie):(ne.push(Ie),V+=Ie.length)}if((ve===0||q._offset>=q._chunkSize)&&(G=q._chunkSize,q._offset=0,q._buffer=t.allocUnsafe(q._chunkSize)),ve===0){if(J+=W-we,W=we,!ee)return!0;var be=q._handle.write(L,P,J,W,q._buffer,q._offset,q._chunkSize);be.callback=Ce,be.buffer=P;return}if(!ee)return!1;X()}}},i.inherits(j,M),i.inherits(E,M),i.inherits(S,M),i.inherits(_,M),i.inherits(C,M),i.inherits(Q,M),i.inherits(R,M)})(Qq);var XEe=owe(Qq);let $G=class{static decode(t,r){throw new Error("PNG.decode not available in browser build")}static load(t){throw new Error("PNG.load not available in browser build")}constructor(t){let r;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.text={};;){const c=this.readUInt32();let d="";for(r=0;r<4;r++)d+=String.fromCharCode(this.data[this.pos++]);switch(d){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"PLTE":this.palette=this.read(c);break;case"IDAT":for(r=0;r0)for(r=0;rthis.data.length)throw new Error("Incomplete or corrupt PNG file")}}read(t){const r=new Array(t);for(let n=0;n{if(r)throw r;var i=0;const{width:s,height:o}=this;var l=this.pixelBitlength/8;const c=Dt.alloc(s*o*l);function d(u,h,p,A,y){y===void 0&&(y=!1);const v=Math.ceil((s-u)/p),w=Math.ceil((o-h)/A),j=l*v,E=y?c:Dt.alloc(j*w);let S=0,_=0;for(;S(this.copyToImageData(r,n),t(r)))}};var u5={exports:{}},d5={exports:{}},eCe=d5.exports,_R;function mE(){return _R||(_R=1,(function(e,t){(function(r,n){e.exports=n(gi())})(eCe,function(r){return(function(n){var i=r,s=i.lib,o=s.Base,l=s.WordArray,c=i.x64={};c.Word=o.extend({init:function(d,u){this.high=d,this.low=u}}),c.WordArray=o.extend({init:function(d,u){d=this.words=d||[],u!=n?this.sigBytes=u:this.sigBytes=d.length*8},toX32:function(){for(var d=this.words,u=d.length,h=[],p=0;p>>2]|=c[h]<<24-h%4*8;o.call(this,u,d)}else o.apply(this,arguments)};l.prototype=s}})(),r.lib.WordArray})})(f5)),f5.exports}var h5={exports:{}},nCe=h5.exports,TR;function iCe(){return TR||(TR=1,(function(e,t){(function(r,n){e.exports=n(gi())})(nCe,function(r){return(function(){var n=r,i=n.lib,s=i.WordArray,o=n.enc;o.Utf16=o.Utf16BE={stringify:function(c){for(var d=c.words,u=c.sigBytes,h=[],p=0;p>>2]>>>16-p%4*8&65535;h.push(String.fromCharCode(A))}return h.join("")},parse:function(c){for(var d=c.length,u=[],h=0;h>>1]|=c.charCodeAt(h)<<16-h%2*16;return s.create(u,d*2)}},o.Utf16LE={stringify:function(c){for(var d=c.words,u=c.sigBytes,h=[],p=0;p>>2]>>>16-p%4*8&65535);h.push(String.fromCharCode(A))}return h.join("")},parse:function(c){for(var d=c.length,u=[],h=0;h>>1]|=l(c.charCodeAt(h)<<16-h%2*16);return s.create(u,d*2)}};function l(c){return c<<8&4278255360|c>>>8&16711935}})(),r.enc.Utf16})})(h5)),h5.exports}var m5={exports:{}},aCe=m5.exports,RR;function zg(){return RR||(RR=1,(function(e,t){(function(r,n){e.exports=n(gi())})(aCe,function(r){return(function(){var n=r,i=n.lib,s=i.WordArray,o=n.enc;o.Base64={stringify:function(c){var d=c.words,u=c.sigBytes,h=this._map;c.clamp();for(var p=[],A=0;A>>2]>>>24-A%4*8&255,v=d[A+1>>>2]>>>24-(A+1)%4*8&255,w=d[A+2>>>2]>>>24-(A+2)%4*8&255,j=y<<16|v<<8|w,E=0;E<4&&A+E*.75>>6*(3-E)&63));var S=h.charAt(64);if(S)for(;p.length%4;)p.push(S);return p.join("")},parse:function(c){var d=c.length,u=this._map,h=this._reverseMap;if(!h){h=this._reverseMap=[];for(var p=0;p>>6-A%4*2,w=y|v;h[p>>>2]|=w<<24-p%4*8,p++}return s.create(h,p)}})(),r.enc.Base64})})(m5)),m5.exports}var p5={exports:{}},sCe=p5.exports,PR;function oCe(){return PR||(PR=1,(function(e,t){(function(r,n){e.exports=n(gi())})(sCe,function(r){return(function(){var n=r,i=n.lib,s=i.WordArray,o=n.enc;o.Base64url={stringify:function(c,d){d===void 0&&(d=!0);var u=c.words,h=c.sigBytes,p=d?this._safe_map:this._map;c.clamp();for(var A=[],y=0;y>>2]>>>24-y%4*8&255,w=u[y+1>>>2]>>>24-(y+1)%4*8&255,j=u[y+2>>>2]>>>24-(y+2)%4*8&255,E=v<<16|w<<8|j,S=0;S<4&&y+S*.75>>6*(3-S)&63));var _=p.charAt(64);if(_)for(;A.length%4;)A.push(_);return A.join("")},parse:function(c,d){d===void 0&&(d=!0);var u=c.length,h=d?this._safe_map:this._map,p=this._reverseMap;if(!p){p=this._reverseMap=[];for(var A=0;A>>6-A%4*2,w=y|v;h[p>>>2]|=w<<24-p%4*8,p++}return s.create(h,p)}})(),r.enc.Base64url})})(p5)),p5.exports}var g5={exports:{}},lCe=g5.exports,QR;function HG(){return QR||(QR=1,(function(e,t){(function(r,n){e.exports=n(gi())})(lCe,function(r){return(function(){var n=r,i=n.lib,s=i.WordArray,o=i.Hasher,l=n.algo,c=[],d=l.SHA1=o.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(u,h){for(var p=this._hash.words,A=p[0],y=p[1],v=p[2],w=p[3],j=p[4],E=0;E<80;E++){if(E<16)c[E]=u[h+E]|0;else{var S=c[E-3]^c[E-8]^c[E-14]^c[E-16];c[E]=S<<1|S>>>31}var _=(A<<5|A>>>27)+j+c[E];E<20?_+=(y&v|~y&w)+1518500249:E<40?_+=(y^v^w)+1859775393:E<60?_+=(y&v|y&w|v&w)-1894007588:_+=(y^v^w)-899497514,j=w,w=v,v=y<<30|y>>>2,y=A,A=_}p[0]=p[0]+A|0,p[1]=p[1]+y|0,p[2]=p[2]+v|0,p[3]=p[3]+w|0,p[4]=p[4]+j|0},_doFinalize:function(){var u=this._data,h=u.words,p=this._nDataBytes*8,A=u.sigBytes*8;return h[A>>>5]|=128<<24-A%32,h[(A+64>>>9<<4)+14]=Math.floor(p/4294967296),h[(A+64>>>9<<4)+15]=p,u.sigBytes=h.length*4,this._process(),this._hash},clone:function(){var u=o.clone.call(this);return u._hash=this._hash.clone(),u}});n.SHA1=o._createHelper(d),n.HmacSHA1=o._createHmacHelper(d)})(),r.SHA1})})(g5)),g5.exports}var A5={exports:{}},cCe=A5.exports,FR;function TB(){return FR||(FR=1,(function(e,t){(function(r,n){e.exports=n(gi())})(cCe,function(r){return(function(n){var i=r,s=i.lib,o=s.WordArray,l=s.Hasher,c=i.algo,d=[],u=[];(function(){function A(j){for(var E=n.sqrt(j),S=2;S<=E;S++)if(!(j%S))return!1;return!0}function y(j){return(j-(j|0))*4294967296|0}for(var v=2,w=0;w<64;)A(v)&&(w<8&&(d[w]=y(n.pow(v,1/2))),u[w]=y(n.pow(v,1/3)),w++),v++})();var h=[],p=c.SHA256=l.extend({_doReset:function(){this._hash=new o.init(d.slice(0))},_doProcessBlock:function(A,y){for(var v=this._hash.words,w=v[0],j=v[1],E=v[2],S=v[3],_=v[4],C=v[5],Q=v[6],R=v[7],T=0;T<64;T++){if(T<16)h[T]=A[y+T]|0;else{var M=h[T-15],O=(M<<25|M>>>7)^(M<<14|M>>>18)^M>>>3,$=h[T-2],P=($<<15|$>>>17)^($<<13|$>>>19)^$>>>10;h[T]=O+h[T-7]+P+h[T-16]}var L=_&C^~_&Q,X=w&j^w&E^j&E,W=(w<<30|w>>>2)^(w<<19|w>>>13)^(w<<10|w>>>22),G=(_<<26|_>>>6)^(_<<21|_>>>11)^(_<<7|_>>>25),J=R+G+L+u[T]+h[T],q=W+X;R=Q,Q=C,C=_,_=S+J|0,S=E,E=j,j=w,w=J+q|0}v[0]=v[0]+w|0,v[1]=v[1]+j|0,v[2]=v[2]+E|0,v[3]=v[3]+S|0,v[4]=v[4]+_|0,v[5]=v[5]+C|0,v[6]=v[6]+Q|0,v[7]=v[7]+R|0},_doFinalize:function(){var A=this._data,y=A.words,v=this._nDataBytes*8,w=A.sigBytes*8;return y[w>>>5]|=128<<24-w%32,y[(w+64>>>9<<4)+14]=n.floor(v/4294967296),y[(w+64>>>9<<4)+15]=v,A.sigBytes=y.length*4,this._process(),this._hash},clone:function(){var A=l.clone.call(this);return A._hash=this._hash.clone(),A}});i.SHA256=l._createHelper(p),i.HmacSHA256=l._createHmacHelper(p)})(Math),r.SHA256})})(A5)),A5.exports}var x5={exports:{}},uCe=x5.exports,OR;function dCe(){return OR||(OR=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),TB())})(uCe,function(r){return(function(){var n=r,i=n.lib,s=i.WordArray,o=n.algo,l=o.SHA256,c=o.SHA224=l.extend({_doReset:function(){this._hash=new s.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var d=l._doFinalize.call(this);return d.sigBytes-=4,d}});n.SHA224=l._createHelper(c),n.HmacSHA224=l._createHmacHelper(c)})(),r.SHA224})})(x5)),x5.exports}var v5={exports:{}},fCe=v5.exports,LR;function qG(){return LR||(LR=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),mE())})(fCe,function(r){return(function(){var n=r,i=n.lib,s=i.Hasher,o=n.x64,l=o.Word,c=o.WordArray,d=n.algo;function u(){return l.create.apply(l,arguments)}var h=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)],p=[];(function(){for(var y=0;y<80;y++)p[y]=u()})();var A=d.SHA512=s.extend({_doReset:function(){this._hash=new c.init([new l.init(1779033703,4089235720),new l.init(3144134277,2227873595),new l.init(1013904242,4271175723),new l.init(2773480762,1595750129),new l.init(1359893119,2917565137),new l.init(2600822924,725511199),new l.init(528734635,4215389547),new l.init(1541459225,327033209)])},_doProcessBlock:function(y,v){for(var w=this._hash.words,j=w[0],E=w[1],S=w[2],_=w[3],C=w[4],Q=w[5],R=w[6],T=w[7],M=j.high,O=j.low,$=E.high,P=E.low,L=S.high,X=S.low,W=_.high,G=_.low,J=C.high,q=C.low,ee=Q.high,ne=Q.low,V=R.high,ue=R.low,de=T.high,xe=T.low,_e=M,Ce=O,we=$,ve=P,Ne=L,Ie=X,be=W,Re=G,Pe=J,Ke=q,tt=ee,pt=ne,dt=V,Oe=ue,Pt=de,Kt=xe,gt=0;gt<80;gt++){var Jt,Bt,tr=p[gt];if(gt<16)Bt=tr.high=y[v+gt*2]|0,Jt=tr.low=y[v+gt*2+1]|0;else{var sr=p[gt-15],xt=sr.high,wt=sr.low,Lt=(xt>>>1|wt<<31)^(xt>>>8|wt<<24)^xt>>>7,ir=(wt>>>1|xt<<31)^(wt>>>8|xt<<24)^(wt>>>7|xt<<25),He=p[gt-2],ce=He.high,Le=He.low,rt=(ce>>>19|Le<<13)^(ce<<3|Le>>>29)^ce>>>6,ie=(Le>>>19|ce<<13)^(Le<<3|ce>>>29)^(Le>>>6|ce<<26),ae=p[gt-7],Ee=ae.high,re=ae.low,We=p[gt-16],Tt=We.high,H=We.low;Jt=ir+re,Bt=Lt+Ee+(Jt>>>0>>0?1:0),Jt=Jt+ie,Bt=Bt+rt+(Jt>>>0>>0?1:0),Jt=Jt+H,Bt=Bt+Tt+(Jt>>>0>>0?1:0),tr.high=Bt,tr.low=Jt}var ze=Pe&tt^~Pe&dt,Ze=Ke&pt^~Ke&Oe,he=_e&we^_e&Ne^we&Ne,De=Ce&ve^Ce&Ie^ve&Ie,qe=(_e>>>28|Ce<<4)^(_e<<30|Ce>>>2)^(_e<<25|Ce>>>7),dr=(Ce>>>28|_e<<4)^(Ce<<30|_e>>>2)^(Ce<<25|_e>>>7),Xt=(Pe>>>14|Ke<<18)^(Pe>>>18|Ke<<14)^(Pe<<23|Ke>>>9),Te=(Ke>>>14|Pe<<18)^(Ke>>>18|Pe<<14)^(Ke<<23|Pe>>>9),zt=h[gt],qr=zt.high,kr=zt.low,fr=Kt+Te,Ft=Pt+Xt+(fr>>>0>>0?1:0),fr=fr+Ze,Ft=Ft+ze+(fr>>>0>>0?1:0),fr=fr+kr,Ft=Ft+qr+(fr>>>0>>0?1:0),fr=fr+Jt,Ft=Ft+Bt+(fr>>>0>>0?1:0),Gr=dr+De,Zr=qe+he+(Gr>>>0>>0?1:0);Pt=dt,Kt=Oe,dt=tt,Oe=pt,tt=Pe,pt=Ke,Ke=Re+fr|0,Pe=be+Ft+(Ke>>>0>>0?1:0)|0,be=Ne,Re=Ie,Ne=we,Ie=ve,we=_e,ve=Ce,Ce=fr+Gr|0,_e=Ft+Zr+(Ce>>>0>>0?1:0)|0}O=j.low=O+Ce,j.high=M+_e+(O>>>0>>0?1:0),P=E.low=P+ve,E.high=$+we+(P>>>0>>0?1:0),X=S.low=X+Ie,S.high=L+Ne+(X>>>0>>0?1:0),G=_.low=G+Re,_.high=W+be+(G>>>0>>0?1:0),q=C.low=q+Ke,C.high=J+Pe+(q>>>0>>0?1:0),ne=Q.low=ne+pt,Q.high=ee+tt+(ne>>>0>>0?1:0),ue=R.low=ue+Oe,R.high=V+dt+(ue>>>0>>0?1:0),xe=T.low=xe+Kt,T.high=de+Pt+(xe>>>0>>0?1:0)},_doFinalize:function(){var y=this._data,v=y.words,w=this._nDataBytes*8,j=y.sigBytes*8;v[j>>>5]|=128<<24-j%32,v[(j+128>>>10<<5)+30]=Math.floor(w/4294967296),v[(j+128>>>10<<5)+31]=w,y.sigBytes=v.length*4,this._process();var E=this._hash.toX32();return E},clone:function(){var y=s.clone.call(this);return y._hash=this._hash.clone(),y},blockSize:1024/32});n.SHA512=s._createHelper(A),n.HmacSHA512=s._createHmacHelper(A)})(),r.SHA512})})(v5)),v5.exports}var y5={exports:{}},hCe=y5.exports,MR;function mCe(){return MR||(MR=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),mE(),qG())})(hCe,function(r){return(function(){var n=r,i=n.x64,s=i.Word,o=i.WordArray,l=n.algo,c=l.SHA512,d=l.SHA384=c.extend({_doReset:function(){this._hash=new o.init([new s.init(3418070365,3238371032),new s.init(1654270250,914150663),new s.init(2438529370,812702999),new s.init(355462360,4144912697),new s.init(1731405415,4290775857),new s.init(2394180231,1750603025),new s.init(3675008525,1694076839),new s.init(1203062813,3204075428)])},_doFinalize:function(){var u=c._doFinalize.call(this);return u.sigBytes-=16,u}});n.SHA384=c._createHelper(d),n.HmacSHA384=c._createHmacHelper(d)})(),r.SHA384})})(y5)),y5.exports}var b5={exports:{}},pCe=b5.exports,UR;function gCe(){return UR||(UR=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),mE())})(pCe,function(r){return(function(n){var i=r,s=i.lib,o=s.WordArray,l=s.Hasher,c=i.x64,d=c.Word,u=i.algo,h=[],p=[],A=[];(function(){for(var w=1,j=0,E=0;E<24;E++){h[w+5*j]=(E+1)*(E+2)/2%64;var S=j%5,_=(2*w+3*j)%5;w=S,j=_}for(var w=0;w<5;w++)for(var j=0;j<5;j++)p[w+5*j]=j+(2*w+3*j)%5*5;for(var C=1,Q=0;Q<24;Q++){for(var R=0,T=0,M=0;M<7;M++){if(C&1){var O=(1<>>24)&16711935|(C<<24|C>>>8)&4278255360,Q=(Q<<8|Q>>>24)&16711935|(Q<<24|Q>>>8)&4278255360;var R=E[_];R.high^=Q,R.low^=C}for(var T=0;T<24;T++){for(var M=0;M<5;M++){for(var O=0,$=0,P=0;P<5;P++){var R=E[M+5*P];O^=R.high,$^=R.low}var L=y[M];L.high=O,L.low=$}for(var M=0;M<5;M++)for(var X=y[(M+4)%5],W=y[(M+1)%5],G=W.high,J=W.low,O=X.high^(G<<1|J>>>31),$=X.low^(J<<1|G>>>31),P=0;P<5;P++){var R=E[M+5*P];R.high^=O,R.low^=$}for(var q=1;q<25;q++){var O,$,R=E[q],ee=R.high,ne=R.low,V=h[q];V<32?(O=ee<>>32-V,$=ne<>>32-V):(O=ne<>>64-V,$=ee<>>64-V);var ue=y[p[q]];ue.high=O,ue.low=$}var de=y[0],xe=E[0];de.high=xe.high,de.low=xe.low;for(var M=0;M<5;M++)for(var P=0;P<5;P++){var q=M+5*P,R=E[q],_e=y[q],Ce=y[(M+1)%5+5*P],we=y[(M+2)%5+5*P];R.high=_e.high^~Ce.high&we.high,R.low=_e.low^~Ce.low&we.low}var R=E[0],ve=A[T];R.high^=ve.high,R.low^=ve.low}},_doFinalize:function(){var w=this._data,j=w.words;this._nDataBytes*8;var E=w.sigBytes*8,S=this.blockSize*32;j[E>>>5]|=1<<24-E%32,j[(n.ceil((E+1)/S)*S>>>5)-1]|=128,w.sigBytes=j.length*4,this._process();for(var _=this._state,C=this.cfg.outputLength/8,Q=C/8,R=[],T=0;T>>24)&16711935|(O<<24|O>>>8)&4278255360,$=($<<8|$>>>24)&16711935|($<<24|$>>>8)&4278255360,R.push($),R.push(O)}return new o.init(R,C)},clone:function(){for(var w=l.clone.call(this),j=w._state=this._state.slice(0),E=0;E<25;E++)j[E]=j[E].clone();return w}});i.SHA3=l._createHelper(v),i.HmacSHA3=l._createHmacHelper(v)})(Math),r.SHA3})})(b5)),b5.exports}var w5={exports:{}},ACe=w5.exports,zR;function xCe(){return zR||(zR=1,(function(e,t){(function(r,n){e.exports=n(gi())})(ACe,function(r){return(function(n){var i=r,s=i.lib,o=s.WordArray,l=s.Hasher,c=i.algo,d=o.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=o.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),h=o.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),p=o.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),A=o.create([0,1518500249,1859775393,2400959708,2840853838]),y=o.create([1352829926,1548603684,1836072691,2053994217,0]),v=c.RIPEMD160=l.extend({_doReset:function(){this._hash=o.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(Q,R){for(var T=0;T<16;T++){var M=R+T,O=Q[M];Q[M]=(O<<8|O>>>24)&16711935|(O<<24|O>>>8)&4278255360}var $=this._hash.words,P=A.words,L=y.words,X=d.words,W=u.words,G=h.words,J=p.words,q,ee,ne,V,ue,de,xe,_e,Ce,we;de=q=$[0],xe=ee=$[1],_e=ne=$[2],Ce=V=$[3],we=ue=$[4];for(var ve,T=0;T<80;T+=1)ve=q+Q[R+X[T]]|0,T<16?ve+=w(ee,ne,V)+P[0]:T<32?ve+=j(ee,ne,V)+P[1]:T<48?ve+=E(ee,ne,V)+P[2]:T<64?ve+=S(ee,ne,V)+P[3]:ve+=_(ee,ne,V)+P[4],ve=ve|0,ve=C(ve,G[T]),ve=ve+ue|0,q=ue,ue=V,V=C(ne,10),ne=ee,ee=ve,ve=de+Q[R+W[T]]|0,T<16?ve+=_(xe,_e,Ce)+L[0]:T<32?ve+=S(xe,_e,Ce)+L[1]:T<48?ve+=E(xe,_e,Ce)+L[2]:T<64?ve+=j(xe,_e,Ce)+L[3]:ve+=w(xe,_e,Ce)+L[4],ve=ve|0,ve=C(ve,J[T]),ve=ve+we|0,de=we,we=Ce,Ce=C(_e,10),_e=xe,xe=ve;ve=$[1]+ne+Ce|0,$[1]=$[2]+V+we|0,$[2]=$[3]+ue+de|0,$[3]=$[4]+q+xe|0,$[4]=$[0]+ee+_e|0,$[0]=ve},_doFinalize:function(){var Q=this._data,R=Q.words,T=this._nDataBytes*8,M=Q.sigBytes*8;R[M>>>5]|=128<<24-M%32,R[(M+64>>>9<<4)+14]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360,Q.sigBytes=(R.length+1)*4,this._process();for(var O=this._hash,$=O.words,P=0;P<5;P++){var L=$[P];$[P]=(L<<8|L>>>24)&16711935|(L<<24|L>>>8)&4278255360}return O},clone:function(){var Q=l.clone.call(this);return Q._hash=this._hash.clone(),Q}});function w(Q,R,T){return Q^R^T}function j(Q,R,T){return Q&R|~Q&T}function E(Q,R,T){return(Q|~R)^T}function S(Q,R,T){return Q&T|R&~T}function _(Q,R,T){return Q^(R|~T)}function C(Q,R){return Q<>>32-R}i.RIPEMD160=l._createHelper(v),i.HmacRIPEMD160=l._createHmacHelper(v)})(),r.RIPEMD160})})(w5)),w5.exports}var E5={exports:{}},vCe=E5.exports,$R;function RB(){return $R||($R=1,(function(e,t){(function(r,n){e.exports=n(gi())})(vCe,function(r){(function(){var n=r,i=n.lib,s=i.Base,o=n.enc,l=o.Utf8,c=n.algo;c.HMAC=s.extend({init:function(d,u){d=this._hasher=new d.init,typeof u=="string"&&(u=l.parse(u));var h=d.blockSize,p=h*4;u.sigBytes>p&&(u=d.finalize(u)),u.clamp();for(var A=this._oKey=u.clone(),y=this._iKey=u.clone(),v=A.words,w=y.words,j=0;j>>2]&255;O.sigBytes-=$}};s.BlockCipher=A.extend({cfg:A.cfg.extend({mode:w,padding:E}),reset:function(){var O;A.reset.call(this);var $=this.cfg,P=$.iv,L=$.mode;this._xformMode==this._ENC_XFORM_MODE?O=L.createEncryptor:(O=L.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==O?this._mode.init(this,P&&P.words):(this._mode=O.call(L,this,P&&P.words),this._mode.__creator=O)},_doProcessBlock:function(O,$){this._mode.processBlock(O,$)},_doFinalize:function(){var O,$=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?($.pad(this._data,this.blockSize),O=this._process(!0)):(O=this._process(!0),$.unpad(O)),O},blockSize:128/32});var S=s.CipherParams=o.extend({init:function(O){this.mixIn(O)},toString:function(O){return(O||this.formatter).stringify(this)}}),_=i.format={},C=_.OpenSSL={stringify:function(O){var $,P=O.ciphertext,L=O.salt;return L?$=l.create([1398893684,1701076831]).concat(L).concat(P):$=P,$.toString(u)},parse:function(O){var $,P=u.parse(O),L=P.words;return L[0]==1398893684&&L[1]==1701076831&&($=l.create(L.slice(2,4)),L.splice(0,4),P.sigBytes-=16),S.create({ciphertext:P,salt:$})}},Q=s.SerializableCipher=o.extend({cfg:o.extend({format:C}),encrypt:function(O,$,P,L){L=this.cfg.extend(L);var X=O.createEncryptor(P,L),W=X.finalize($),G=X.cfg;return S.create({ciphertext:W,key:P,iv:G.iv,algorithm:O,mode:G.mode,padding:G.padding,blockSize:O.blockSize,formatter:L.format})},decrypt:function(O,$,P,L){L=this.cfg.extend(L),$=this._parse($,L.format);var X=O.createDecryptor(P,L).finalize($.ciphertext);return X},_parse:function(O,$){return typeof O=="string"?$.parse(O,this):O}}),R=i.kdf={},T=R.OpenSSL={execute:function(O,$,P,L,X){if(L||(L=l.random(64/8)),X)var W=p.create({keySize:$+P,hasher:X}).compute(O,L);else var W=p.create({keySize:$+P}).compute(O,L);var G=l.create(W.words.slice($),P*4);return W.sigBytes=$*4,S.create({key:W,iv:G,salt:L})}},M=s.PasswordBasedCipher=Q.extend({cfg:Q.cfg.extend({kdf:T}),encrypt:function(O,$,P,L){L=this.cfg.extend(L);var X=L.kdf.execute(P,O.keySize,O.ivSize,L.salt,L.hasher);L.iv=X.iv;var W=Q.encrypt.call(this,O,$,X.key,L);return W.mixIn(X),W},decrypt:function(O,$,P,L){L=this.cfg.extend(L),$=this._parse($,L.format);var X=L.kdf.execute(P,O.keySize,O.ivSize,$.salt,L.hasher);L.iv=X.iv;var W=Q.decrypt.call(this,O,$,X.key,L);return W}})})()})})(j5)),j5.exports}var N5={exports:{}},CCe=N5.exports,VR;function ICe(){return VR||(VR=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),Fo())})(CCe,function(r){return r.mode.CFB=(function(){var n=r.lib.BlockCipherMode.extend();n.Encryptor=n.extend({processBlock:function(s,o){var l=this._cipher,c=l.blockSize;i.call(this,s,o,c,l),this._prevBlock=s.slice(o,o+c)}}),n.Decryptor=n.extend({processBlock:function(s,o){var l=this._cipher,c=l.blockSize,d=s.slice(o,o+c);i.call(this,s,o,c,l),this._prevBlock=d}});function i(s,o,l,c){var d,u=this._iv;u?(d=u.slice(0),this._iv=void 0):d=this._prevBlock,c.encryptBlock(d,0);for(var h=0;h>24&255)===255){var c=l>>16&255,d=l>>8&255,u=l&255;c===255?(c=0,d===255?(d=0,u===255?u=0:++u):++d):++c,l=0,l+=c<<16,l+=d<<8,l+=u}else l+=1<<24;return l}function s(l){return(l[0]=i(l[0]))===0&&(l[1]=i(l[1])),l}var o=n.Encryptor=n.extend({processBlock:function(l,c){var d=this._cipher,u=d.blockSize,h=this._iv,p=this._counter;h&&(p=this._counter=h.slice(0),this._iv=void 0),s(p);var A=p.slice(0);d.encryptBlock(A,0);for(var y=0;y>>2]|=l<<24-c%4*8,n.sigBytes+=l},unpad:function(n){var i=n.words[n.sigBytes-1>>>2]&255;n.sigBytes-=i}},r.pad.Ansix923})})(D5)),D5.exports}var T5={exports:{}},QCe=T5.exports,XR;function FCe(){return XR||(XR=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),Fo())})(QCe,function(r){return r.pad.Iso10126={pad:function(n,i){var s=i*4,o=s-n.sigBytes%s;n.concat(r.lib.WordArray.random(o-1)).concat(r.lib.WordArray.create([o<<24],1))},unpad:function(n){var i=n.words[n.sigBytes-1>>>2]&255;n.sigBytes-=i}},r.pad.Iso10126})})(T5)),T5.exports}var R5={exports:{}},OCe=R5.exports,eP;function LCe(){return eP||(eP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),Fo())})(OCe,function(r){return r.pad.Iso97971={pad:function(n,i){n.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(n,i)},unpad:function(n){r.pad.ZeroPadding.unpad(n),n.sigBytes--}},r.pad.Iso97971})})(R5)),R5.exports}var P5={exports:{}},MCe=P5.exports,tP;function UCe(){return tP||(tP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),Fo())})(MCe,function(r){return r.pad.ZeroPadding={pad:function(n,i){var s=i*4;n.clamp(),n.sigBytes+=s-(n.sigBytes%s||s)},unpad:function(n){for(var i=n.words,s=n.sigBytes-1,s=n.sigBytes-1;s>=0;s--)if(i[s>>>2]>>>24-s%4*8&255){n.sigBytes=s+1;break}}},r.pad.ZeroPadding})})(P5)),P5.exports}var Q5={exports:{}},zCe=Q5.exports,rP;function $Ce(){return rP||(rP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),Fo())})(zCe,function(r){return r.pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding})})(Q5)),Q5.exports}var F5={exports:{}},HCe=F5.exports,nP;function qCe(){return nP||(nP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),Fo())})(HCe,function(r){return(function(n){var i=r,s=i.lib,o=s.CipherParams,l=i.enc,c=l.Hex,d=i.format;d.Hex={stringify:function(u){return u.ciphertext.toString(c)},parse:function(u){var h=c.parse(u);return o.create({ciphertext:h})}}})(),r.format.Hex})})(F5)),F5.exports}var O5={exports:{}},GCe=O5.exports,iP;function VCe(){return iP||(iP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),zg(),Wm(),Km(),Fo())})(GCe,function(r){return(function(){var n=r,i=n.lib,s=i.BlockCipher,o=n.algo,l=[],c=[],d=[],u=[],h=[],p=[],A=[],y=[],v=[],w=[];(function(){for(var S=[],_=0;_<256;_++)_<128?S[_]=_<<1:S[_]=_<<1^283;for(var C=0,Q=0,_=0;_<256;_++){var R=Q^Q<<1^Q<<2^Q<<3^Q<<4;R=R>>>8^R&255^99,l[C]=R,c[R]=C;var T=S[C],M=S[T],O=S[M],$=S[R]*257^R*16843008;d[C]=$<<24|$>>>8,u[C]=$<<16|$>>>16,h[C]=$<<8|$>>>24,p[C]=$;var $=O*16843009^M*65537^T*257^C*16843008;A[R]=$<<24|$>>>8,y[R]=$<<16|$>>>16,v[R]=$<<8|$>>>24,w[R]=$,C?(C=T^S[S[S[O^T]]],Q^=S[S[Q]]):C=Q=1}})();var j=[0,1,2,4,8,16,32,64,128,27,54],E=o.AES=s.extend({_doReset:function(){var S;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var _=this._keyPriorReset=this._key,C=_.words,Q=_.sigBytes/4,R=this._nRounds=Q+6,T=(R+1)*4,M=this._keySchedule=[],O=0;O6&&O%Q==4&&(S=l[S>>>24]<<24|l[S>>>16&255]<<16|l[S>>>8&255]<<8|l[S&255]):(S=S<<8|S>>>24,S=l[S>>>24]<<24|l[S>>>16&255]<<16|l[S>>>8&255]<<8|l[S&255],S^=j[O/Q|0]<<24),M[O]=M[O-Q]^S);for(var $=this._invKeySchedule=[],P=0;P>>24]]^y[l[S>>>16&255]]^v[l[S>>>8&255]]^w[l[S&255]]}}},encryptBlock:function(S,_){this._doCryptBlock(S,_,this._keySchedule,d,u,h,p,l)},decryptBlock:function(S,_){var C=S[_+1];S[_+1]=S[_+3],S[_+3]=C,this._doCryptBlock(S,_,this._invKeySchedule,A,y,v,w,c);var C=S[_+1];S[_+1]=S[_+3],S[_+3]=C},_doCryptBlock:function(S,_,C,Q,R,T,M,O){for(var $=this._nRounds,P=S[_]^C[0],L=S[_+1]^C[1],X=S[_+2]^C[2],W=S[_+3]^C[3],G=4,J=1;J<$;J++){var q=Q[P>>>24]^R[L>>>16&255]^T[X>>>8&255]^M[W&255]^C[G++],ee=Q[L>>>24]^R[X>>>16&255]^T[W>>>8&255]^M[P&255]^C[G++],ne=Q[X>>>24]^R[W>>>16&255]^T[P>>>8&255]^M[L&255]^C[G++],V=Q[W>>>24]^R[P>>>16&255]^T[L>>>8&255]^M[X&255]^C[G++];P=q,L=ee,X=ne,W=V}var q=(O[P>>>24]<<24|O[L>>>16&255]<<16|O[X>>>8&255]<<8|O[W&255])^C[G++],ee=(O[L>>>24]<<24|O[X>>>16&255]<<16|O[W>>>8&255]<<8|O[P&255])^C[G++],ne=(O[X>>>24]<<24|O[W>>>16&255]<<16|O[P>>>8&255]<<8|O[L&255])^C[G++],V=(O[W>>>24]<<24|O[P>>>16&255]<<16|O[L>>>8&255]<<8|O[X&255])^C[G++];S[_]=q,S[_+1]=ee,S[_+2]=ne,S[_+3]=V},keySize:256/32});n.AES=s._createHelper(E)})(),r.AES})})(O5)),O5.exports}var L5={exports:{}},WCe=L5.exports,aP;function KCe(){return aP||(aP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),zg(),Wm(),Km(),Fo())})(WCe,function(r){return(function(){var n=r,i=n.lib,s=i.WordArray,o=i.BlockCipher,l=n.algo,c=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],d=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],h=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],p=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],A=l.DES=o.extend({_doReset:function(){for(var j=this._key,E=j.words,S=[],_=0;_<56;_++){var C=c[_]-1;S[_]=E[C>>>5]>>>31-C%32&1}for(var Q=this._subKeys=[],R=0;R<16;R++){for(var T=Q[R]=[],M=u[R],_=0;_<24;_++)T[_/6|0]|=S[(d[_]-1+M)%28]<<31-_%6,T[4+(_/6|0)]|=S[28+(d[_+24]-1+M)%28]<<31-_%6;T[0]=T[0]<<1|T[0]>>>31;for(var _=1;_<7;_++)T[_]=T[_]>>>(_-1)*4+3;T[7]=T[7]<<5|T[7]>>>27}for(var O=this._invSubKeys=[],_=0;_<16;_++)O[_]=Q[15-_]},encryptBlock:function(j,E){this._doCryptBlock(j,E,this._subKeys)},decryptBlock:function(j,E){this._doCryptBlock(j,E,this._invSubKeys)},_doCryptBlock:function(j,E,S){this._lBlock=j[E],this._rBlock=j[E+1],y.call(this,4,252645135),y.call(this,16,65535),v.call(this,2,858993459),v.call(this,8,16711935),y.call(this,1,1431655765);for(var _=0;_<16;_++){for(var C=S[_],Q=this._lBlock,R=this._rBlock,T=0,M=0;M<8;M++)T|=h[M][((R^C[M])&p[M])>>>0];this._lBlock=R,this._rBlock=Q^T}var O=this._lBlock;this._lBlock=this._rBlock,this._rBlock=O,y.call(this,1,1431655765),v.call(this,8,16711935),v.call(this,2,858993459),y.call(this,16,65535),y.call(this,4,252645135),j[E]=this._lBlock,j[E+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function y(j,E){var S=(this._lBlock>>>j^this._rBlock)&E;this._rBlock^=S,this._lBlock^=S<>>j^this._lBlock)&E;this._lBlock^=S,this._rBlock^=S<192.");var S=E.slice(0,2),_=E.length<4?E.slice(0,2):E.slice(2,4),C=E.length<6?E.slice(0,2):E.slice(4,6);this._des1=A.createEncryptor(s.create(S)),this._des2=A.createEncryptor(s.create(_)),this._des3=A.createEncryptor(s.create(C))},encryptBlock:function(j,E){this._des1.encryptBlock(j,E),this._des2.decryptBlock(j,E),this._des3.encryptBlock(j,E)},decryptBlock:function(j,E){this._des3.decryptBlock(j,E),this._des2.encryptBlock(j,E),this._des1.decryptBlock(j,E)},keySize:192/32,ivSize:64/32,blockSize:64/32});n.TripleDES=o._createHelper(w)})(),r.TripleDES})})(L5)),L5.exports}var M5={exports:{}},YCe=M5.exports,sP;function ZCe(){return sP||(sP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),zg(),Wm(),Km(),Fo())})(YCe,function(r){return(function(){var n=r,i=n.lib,s=i.StreamCipher,o=n.algo,l=o.RC4=s.extend({_doReset:function(){for(var u=this._key,h=u.words,p=u.sigBytes,A=this._S=[],y=0;y<256;y++)A[y]=y;for(var y=0,v=0;y<256;y++){var w=y%p,j=h[w>>>2]>>>24-w%4*8&255;v=(v+A[y]+j)%256;var E=A[y];A[y]=A[v],A[v]=E}this._i=this._j=0},_doProcessBlock:function(u,h){u[h]^=c.call(this)},keySize:256/32,ivSize:0});function c(){for(var u=this._S,h=this._i,p=this._j,A=0,y=0;y<4;y++){h=(h+1)%256,p=(p+u[h])%256;var v=u[h];u[h]=u[p],u[p]=v,A|=u[(u[h]+u[p])%256]<<24-y*8}return this._i=h,this._j=p,A}n.RC4=s._createHelper(l);var d=o.RC4Drop=l.extend({cfg:l.cfg.extend({drop:192}),_doReset:function(){l._doReset.call(this);for(var u=this.cfg.drop;u>0;u--)c.call(this)}});n.RC4Drop=s._createHelper(d)})(),r.RC4})})(M5)),M5.exports}var U5={exports:{}},JCe=U5.exports,oP;function XCe(){return oP||(oP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),zg(),Wm(),Km(),Fo())})(JCe,function(r){return(function(){var n=r,i=n.lib,s=i.StreamCipher,o=n.algo,l=[],c=[],d=[],u=o.Rabbit=s.extend({_doReset:function(){for(var p=this._key.words,A=this.cfg.iv,y=0;y<4;y++)p[y]=(p[y]<<8|p[y]>>>24)&16711935|(p[y]<<24|p[y]>>>8)&4278255360;var v=this._X=[p[0],p[3]<<16|p[2]>>>16,p[1],p[0]<<16|p[3]>>>16,p[2],p[1]<<16|p[0]>>>16,p[3],p[2]<<16|p[1]>>>16],w=this._C=[p[2]<<16|p[2]>>>16,p[0]&4294901760|p[1]&65535,p[3]<<16|p[3]>>>16,p[1]&4294901760|p[2]&65535,p[0]<<16|p[0]>>>16,p[2]&4294901760|p[3]&65535,p[1]<<16|p[1]>>>16,p[3]&4294901760|p[0]&65535];this._b=0;for(var y=0;y<4;y++)h.call(this);for(var y=0;y<8;y++)w[y]^=v[y+4&7];if(A){var j=A.words,E=j[0],S=j[1],_=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,C=(S<<8|S>>>24)&16711935|(S<<24|S>>>8)&4278255360,Q=_>>>16|C&4294901760,R=C<<16|_&65535;w[0]^=_,w[1]^=Q,w[2]^=C,w[3]^=R,w[4]^=_,w[5]^=Q,w[6]^=C,w[7]^=R;for(var y=0;y<4;y++)h.call(this)}},_doProcessBlock:function(p,A){var y=this._X;h.call(this),l[0]=y[0]^y[5]>>>16^y[3]<<16,l[1]=y[2]^y[7]>>>16^y[5]<<16,l[2]=y[4]^y[1]>>>16^y[7]<<16,l[3]=y[6]^y[3]>>>16^y[1]<<16;for(var v=0;v<4;v++)l[v]=(l[v]<<8|l[v]>>>24)&16711935|(l[v]<<24|l[v]>>>8)&4278255360,p[A+v]^=l[v]},blockSize:128/32,ivSize:64/32});function h(){for(var p=this._X,A=this._C,y=0;y<8;y++)c[y]=A[y];A[0]=A[0]+1295307597+this._b|0,A[1]=A[1]+3545052371+(A[0]>>>0>>0?1:0)|0,A[2]=A[2]+886263092+(A[1]>>>0>>0?1:0)|0,A[3]=A[3]+1295307597+(A[2]>>>0>>0?1:0)|0,A[4]=A[4]+3545052371+(A[3]>>>0>>0?1:0)|0,A[5]=A[5]+886263092+(A[4]>>>0>>0?1:0)|0,A[6]=A[6]+1295307597+(A[5]>>>0>>0?1:0)|0,A[7]=A[7]+3545052371+(A[6]>>>0>>0?1:0)|0,this._b=A[7]>>>0>>0?1:0;for(var y=0;y<8;y++){var v=p[y]+A[y],w=v&65535,j=v>>>16,E=((w*w>>>17)+w*j>>>15)+j*j,S=((v&4294901760)*v|0)+((v&65535)*v|0);d[y]=E^S}p[0]=d[0]+(d[7]<<16|d[7]>>>16)+(d[6]<<16|d[6]>>>16)|0,p[1]=d[1]+(d[0]<<8|d[0]>>>24)+d[7]|0,p[2]=d[2]+(d[1]<<16|d[1]>>>16)+(d[0]<<16|d[0]>>>16)|0,p[3]=d[3]+(d[2]<<8|d[2]>>>24)+d[1]|0,p[4]=d[4]+(d[3]<<16|d[3]>>>16)+(d[2]<<16|d[2]>>>16)|0,p[5]=d[5]+(d[4]<<8|d[4]>>>24)+d[3]|0,p[6]=d[6]+(d[5]<<16|d[5]>>>16)+(d[4]<<16|d[4]>>>16)|0,p[7]=d[7]+(d[6]<<8|d[6]>>>24)+d[5]|0}n.Rabbit=s._createHelper(u)})(),r.Rabbit})})(U5)),U5.exports}var z5={exports:{}},eIe=z5.exports,lP;function tIe(){return lP||(lP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),zg(),Wm(),Km(),Fo())})(eIe,function(r){return(function(){var n=r,i=n.lib,s=i.StreamCipher,o=n.algo,l=[],c=[],d=[],u=o.RabbitLegacy=s.extend({_doReset:function(){var p=this._key.words,A=this.cfg.iv,y=this._X=[p[0],p[3]<<16|p[2]>>>16,p[1],p[0]<<16|p[3]>>>16,p[2],p[1]<<16|p[0]>>>16,p[3],p[2]<<16|p[1]>>>16],v=this._C=[p[2]<<16|p[2]>>>16,p[0]&4294901760|p[1]&65535,p[3]<<16|p[3]>>>16,p[1]&4294901760|p[2]&65535,p[0]<<16|p[0]>>>16,p[2]&4294901760|p[3]&65535,p[1]<<16|p[1]>>>16,p[3]&4294901760|p[0]&65535];this._b=0;for(var w=0;w<4;w++)h.call(this);for(var w=0;w<8;w++)v[w]^=y[w+4&7];if(A){var j=A.words,E=j[0],S=j[1],_=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,C=(S<<8|S>>>24)&16711935|(S<<24|S>>>8)&4278255360,Q=_>>>16|C&4294901760,R=C<<16|_&65535;v[0]^=_,v[1]^=Q,v[2]^=C,v[3]^=R,v[4]^=_,v[5]^=Q,v[6]^=C,v[7]^=R;for(var w=0;w<4;w++)h.call(this)}},_doProcessBlock:function(p,A){var y=this._X;h.call(this),l[0]=y[0]^y[5]>>>16^y[3]<<16,l[1]=y[2]^y[7]>>>16^y[5]<<16,l[2]=y[4]^y[1]>>>16^y[7]<<16,l[3]=y[6]^y[3]>>>16^y[1]<<16;for(var v=0;v<4;v++)l[v]=(l[v]<<8|l[v]>>>24)&16711935|(l[v]<<24|l[v]>>>8)&4278255360,p[A+v]^=l[v]},blockSize:128/32,ivSize:64/32});function h(){for(var p=this._X,A=this._C,y=0;y<8;y++)c[y]=A[y];A[0]=A[0]+1295307597+this._b|0,A[1]=A[1]+3545052371+(A[0]>>>0>>0?1:0)|0,A[2]=A[2]+886263092+(A[1]>>>0>>0?1:0)|0,A[3]=A[3]+1295307597+(A[2]>>>0>>0?1:0)|0,A[4]=A[4]+3545052371+(A[3]>>>0>>0?1:0)|0,A[5]=A[5]+886263092+(A[4]>>>0>>0?1:0)|0,A[6]=A[6]+1295307597+(A[5]>>>0>>0?1:0)|0,A[7]=A[7]+3545052371+(A[6]>>>0>>0?1:0)|0,this._b=A[7]>>>0>>0?1:0;for(var y=0;y<8;y++){var v=p[y]+A[y],w=v&65535,j=v>>>16,E=((w*w>>>17)+w*j>>>15)+j*j,S=((v&4294901760)*v|0)+((v&65535)*v|0);d[y]=E^S}p[0]=d[0]+(d[7]<<16|d[7]>>>16)+(d[6]<<16|d[6]>>>16)|0,p[1]=d[1]+(d[0]<<8|d[0]>>>24)+d[7]|0,p[2]=d[2]+(d[1]<<16|d[1]>>>16)+(d[0]<<16|d[0]>>>16)|0,p[3]=d[3]+(d[2]<<8|d[2]>>>24)+d[1]|0,p[4]=d[4]+(d[3]<<16|d[3]>>>16)+(d[2]<<16|d[2]>>>16)|0,p[5]=d[5]+(d[4]<<8|d[4]>>>24)+d[3]|0,p[6]=d[6]+(d[5]<<16|d[5]>>>16)+(d[4]<<16|d[4]>>>16)|0,p[7]=d[7]+(d[6]<<8|d[6]>>>24)+d[5]|0}n.RabbitLegacy=s._createHelper(u)})(),r.RabbitLegacy})})(z5)),z5.exports}var $5={exports:{}},rIe=$5.exports,cP;function nIe(){return cP||(cP=1,(function(e,t){(function(r,n,i){e.exports=n(gi(),zg(),Wm(),Km(),Fo())})(rIe,function(r){return(function(){var n=r,i=n.lib,s=i.BlockCipher,o=n.algo;const l=16,c=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],d=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var u={pbox:[],sbox:[]};function h(w,j){let E=j>>24&255,S=j>>16&255,_=j>>8&255,C=j&255,Q=w.sbox[0][E]+w.sbox[1][S];return Q=Q^w.sbox[2][_],Q=Q+w.sbox[3][C],Q}function p(w,j,E){let S=j,_=E,C;for(let Q=0;Q1;--Q)S=S^w.pbox[Q],_=h(w,S)^_,C=S,S=_,_=C;return C=S,S=_,_=C,_=_^w.pbox[1],S=S^w.pbox[0],{left:S,right:_}}function y(w,j,E){for(let R=0;R<4;R++){w.sbox[R]=[];for(let T=0;T<256;T++)w.sbox[R][T]=d[R][T]}let S=0;for(let R=0;R=E&&(S=0);let _=0,C=0,Q=0;for(let R=0;R0)throw new Error("Invalid string. Length must be a multiple of 4");s=e[l-2]==="="?2:e[l-1]==="="?1:0,o=new oIe(l*3/4-s),n=s>0?l-4:l;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=i&255;return s===2?(i=Wu[e.charCodeAt(t)]<<2|Wu[e.charCodeAt(t+1)]>>4,o[c++]=i&255):s===1&&(i=Wu[e.charCodeAt(t)]<<10|Wu[e.charCodeAt(t+1)]<<4|Wu[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function cIe(e){return Pd[e>>18&63]+Pd[e>>12&63]+Pd[e>>6&63]+Pd[e&63]}function uIe(e,t,r){for(var n,i=[],s=t;sc?c:l+o));return n===1?(t=e[r-1],i+=Pd[t>>2],i+=Pd[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=Pd[t>>10],i+=Pd[t>>4&63],i+=Pd[t<<2&63],i+="="),s.push(i),s.join("")}function pE(e,t,r,n,i){var s,o,l=i*8-n-1,c=(1<>1,u=-7,h=r?i-1:0,p=r?-1:1,A=e[t+h];for(h+=p,s=A&(1<<-u)-1,A>>=-u,u+=l;u>0;s=s*256+e[t+h],h+=p,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=n;u>0;o=o*256+e[t+h],h+=p,u-=8);if(s===0)s=1-d;else{if(s===c)return o?NaN:(A?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-d}return(A?-1:1)*o*Math.pow(2,s-n)}function VG(e,t,r,n,i,s){var o,l,c,d=s*8-i-1,u=(1<>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:s-1,y=n?1:-1,v=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+h>=1?t+=p/c:t+=p*Math.pow(2,1-h),t*c>=2&&(o++,c/=2),o+h>=u?(l=0,o=u):o+h>=1?(l=(t*c-1)*Math.pow(2,i),o=o+h):(l=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+A]=l&255,A+=y,l/=256,i-=8);for(o=o<0;e[r+A]=o&255,A+=y,o/=256,d-=8);e[r+A-y]|=v*128}var dIe={}.toString,WG=Array.isArray||function(e){return dIe.call(e)=="[object Array]"};var KG=50;kt.TYPED_ARRAY_SUPPORT=Cg.TYPED_ARRAY_SUPPORT!==void 0?Cg.TYPED_ARRAY_SUPPORT:!0;var fIe=Qw();function Qw(){return kt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Hf(e,t){if(Qw()=Qw())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Qw().toString(16)+" bytes");return e|0}function AIe(e){return+e!=e&&(e=0),kt.alloc(+e)}kt.isBuffer=tg;function Jd(e){return!!(e!=null&&e._isBuffer)}kt.compare=function(t,r){if(!Jd(t)||!Jd(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,s=0,o=Math.min(n,i);s>>1;case"base64":return aV(e).length;default:if(n)return Fw(e).length;t=(""+t).toLowerCase(),n=!0}}kt.byteLength=JG;function xIe(e,t,r){var n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return SIe(this,t,r);case"utf8":case"utf-8":return tV(this,t,r);case"ascii":return jIe(this,t,r);case"latin1":case"binary":return NIe(this,t,r);case"base64":return CIe(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return BIe(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}kt.prototype._isBuffer=!0;function eg(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}kt.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""};kt.prototype.compare=function(t,r,n,i,s){if(!Jd(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>t.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===t)return 0;for(var o=s-i,l=n-r,c=Math.min(o,l),d=this.slice(i,s),u=t.slice(r,n),h=0;h2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=kt.from(t,n)),Jd(t))return t.length===0?-1:hP(e,t,r,n,i);if(typeof t=="number")return t=t&255,kt.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):hP(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function hP(e,t,r,n,i){var s=1,o=e.length,l=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;s=2,o/=2,l/=2,r/=2}function c(A,y){return s===1?A[y]:A.readUInt16BE(y*s)}var d;if(i){var u=-1;for(d=r;do&&(r=o-l),d=r;d>=0;d--){for(var h=!0,p=0;pi&&(n=i)):n=i;var s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");n>s/2&&(n=s/2);for(var o=0;os)&&(n=s),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return vIe(this,t,r,n);case"utf8":case"utf-8":return yIe(this,t,r,n);case"ascii":return eV(this,t,r,n);case"latin1":case"binary":return bIe(this,t,r,n);case"base64":return wIe(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return EIe(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};kt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function CIe(e,t,r){return t===0&&r===e.length?fP(e):fP(e.slice(t,r))}function tV(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:s>223?3:s>191?2:1;if(i+l<=r){var c,d,u,h;switch(l){case 1:s<128&&(o=s);break;case 2:c=e[i+1],(c&192)===128&&(h=(s&31)<<6|c&63,h>127&&(o=h));break;case 3:c=e[i+1],d=e[i+2],(c&192)===128&&(d&192)===128&&(h=(s&15)<<12|(c&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(o=h));break;case 4:c=e[i+1],d=e[i+2],u=e[i+3],(c&192)===128&&(d&192)===128&&(u&192)===128&&(h=(s&15)<<18|(c&63)<<12|(d&63)<<6|u&63,h>65535&&h<1114112&&(o=h))}}o===null?(o=65533,l=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=l}return IIe(n)}var mP=4096;function IIe(e){var t=e.length;if(t<=mP)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn)&&(r=n);for(var i="",s=t;sn&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}kt.prototype.readUIntLE=function(t,r,n){t=t|0,r=r|0,n||Oo(t,r,this.length);for(var i=this[t],s=1,o=0;++o0&&(s*=256);)i+=this[t+--r]*s;return i};kt.prototype.readUInt8=function(t,r){return r||Oo(t,1,this.length),this[t]};kt.prototype.readUInt16LE=function(t,r){return r||Oo(t,2,this.length),this[t]|this[t+1]<<8};kt.prototype.readUInt16BE=function(t,r){return r||Oo(t,2,this.length),this[t]<<8|this[t+1]};kt.prototype.readUInt32LE=function(t,r){return r||Oo(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};kt.prototype.readUInt32BE=function(t,r){return r||Oo(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};kt.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||Oo(t,r,this.length);for(var i=this[t],s=1,o=0;++o=s&&(i-=Math.pow(2,8*r)),i};kt.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||Oo(t,r,this.length);for(var i=r,s=1,o=this[t+--i];i>0&&(s*=256);)o+=this[t+--i]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*r)),o};kt.prototype.readInt8=function(t,r){return r||Oo(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};kt.prototype.readInt16LE=function(t,r){r||Oo(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};kt.prototype.readInt16BE=function(t,r){r||Oo(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};kt.prototype.readInt32LE=function(t,r){return r||Oo(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};kt.prototype.readInt32BE=function(t,r){return r||Oo(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};kt.prototype.readFloatLE=function(t,r){return r||Oo(t,4,this.length),pE(this,t,!0,23,4)};kt.prototype.readFloatBE=function(t,r){return r||Oo(t,4,this.length),pE(this,t,!1,23,4)};kt.prototype.readDoubleLE=function(t,r){return r||Oo(t,8,this.length),pE(this,t,!0,52,8)};kt.prototype.readDoubleBE=function(t,r){return r||Oo(t,8,this.length),pE(this,t,!1,52,8)};function _c(e,t,r,n,i,s){if(!Jd(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}kt.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var s=Math.pow(2,8*n)-1;_c(this,t,r,n,s,0)}var o=1,l=0;for(this[r]=t&255;++l=0&&(l*=256);)this[r+o]=t/l&255;return r+n};kt.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,1,255,0),kt.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function gE(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-r,2);i>>(n?i:1-i)*8}kt.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,2,65535,0),kt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):gE(this,t,r,!0),r+2};kt.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,2,65535,0),kt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):gE(this,t,r,!1),r+2};function AE(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-r,4);i>>(n?i:3-i)*8&255}kt.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,4,4294967295,0),kt.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):AE(this,t,r,!0),r+4};kt.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,4,4294967295,0),kt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):AE(this,t,r,!1),r+4};kt.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var s=Math.pow(2,8*n-1);_c(this,t,r,n,s-1,-s)}var o=0,l=1,c=0;for(this[r]=t&255;++o>0)-c&255;return r+n};kt.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var s=Math.pow(2,8*n-1);_c(this,t,r,n,s-1,-s)}var o=n-1,l=1,c=0;for(this[r+o]=t&255;--o>=0&&(l*=256);)t<0&&c===0&&this[r+o+1]!==0&&(c=1),this[r+o]=(t/l>>0)-c&255;return r+n};kt.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,1,127,-128),kt.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1};kt.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,2,32767,-32768),kt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):gE(this,t,r,!0),r+2};kt.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,2,32767,-32768),kt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):gE(this,t,r,!1),r+2};kt.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,4,2147483647,-2147483648),kt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):AE(this,t,r,!0),r+4};kt.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||_c(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),kt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):AE(this,t,r,!1),r+4};function rV(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function nV(e,t,r,n,i){return i||rV(e,t,r,4),VG(e,t,r,n,23,4),r+4}kt.prototype.writeFloatLE=function(t,r,n){return nV(this,t,r,!0,n)};kt.prototype.writeFloatBE=function(t,r,n){return nV(this,t,r,!1,n)};function iV(e,t,r,n,i){return i||rV(e,t,r,8),VG(e,t,r,n,52,8),r+8}kt.prototype.writeDoubleLE=function(t,r,n){return iV(this,t,r,!0,n)};kt.prototype.writeDoubleBE=function(t,r,n){return iV(this,t,r,!1,n)};kt.prototype.copy=function(t,r,n,i){if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r=0;--o)t[o+r]=this[o+n];else if(s<1e3||!kt.TYPED_ARRAY_SUPPORT)for(o=0;o>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function RIe(e){for(var t=[],r=0;r>8,i=r%256,s.push(i),s.push(n);return s}function aV(e){return lIe(_Ie(e))}function xE(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function QIe(e){return e!==e}function tg(e){return e!=null&&(!!e._isBuffer||sV(e)||FIe(e))}function sV(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function FIe(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&sV(e.slice(0,0))}var OIe=Object.freeze({__proto__:null,Buffer:kt,INSPECT_MAX_BYTES:KG,SlowBuffer:AIe,isBuffer:tg,kMaxLength:fIe}),Ow=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function oV(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ex(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var qN={exports:{}},tx={};function lV(){throw new Error("setTimeout has not been defined")}function cV(){throw new Error("clearTimeout has not been defined")}var sm=lV,om=cV;typeof Cg.setTimeout=="function"&&(sm=setTimeout);typeof Cg.clearTimeout=="function"&&(om=clearTimeout);function uV(e){if(sm===setTimeout)return setTimeout(e,0);if((sm===lV||!sm)&&setTimeout)return sm=setTimeout,setTimeout(e,0);try{return sm(e,0)}catch{try{return sm.call(null,e,0)}catch{return sm.call(this,e,0)}}}function LIe(e){if(om===clearTimeout)return clearTimeout(e);if((om===cV||!om)&&clearTimeout)return om=clearTimeout,clearTimeout(e);try{return om(e)}catch{try{return om.call(null,e)}catch{return om.call(this,e)}}}var qf=[],XA=!1,rg,H5=-1;function MIe(){!XA||!rg||(XA=!1,rg.length?qf=rg.concat(qf):H5=-1,qf.length&&dV())}function dV(){if(!XA){var e=uV(MIe);XA=!0;for(var t=qf.length;t;){for(rg=qf,qf=[];++H51)for(var r=1;r0&&o.length>i)){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,Aje(l)}return e}function Aje(e){typeof console.warn=="function"?console.warn(e):console.log(e)}qi.prototype.addListener=function(t,r){return mV(this,t,r,!1)};qi.prototype.on=qi.prototype.addListener;qi.prototype.prependListener=function(t,r){return mV(this,t,r,!0)};function pV(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}qi.prototype.once=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.on(t,pV(this,t,r)),this};qi.prototype.prependOnceListener=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.prependListener(t,pV(this,t,r)),this};qi.prototype.removeListener=function(t,r){var n,i,s,o,l;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(i=this._events,!i)return this;if(n=i[t],!n)return this;if(n===r||n.listener&&n.listener===r)--this._eventsCount===0?this._events=new Cm:(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length;o-- >0;)if(n[o]===r||n[o].listener&&n[o].listener===r){l=n[o].listener,s=o;break}if(s<0)return this;if(n.length===1){if(n[0]=void 0,--this._eventsCount===0)return this._events=new Cm,this;delete i[t]}else xje(n,s);i.removeListener&&this.emit("removeListener",t,l||r)}return this};qi.prototype.off=function(e,t){return this.removeListener(e,t)};qi.prototype.removeAllListeners=function(t){var r,n;if(n=this._events,!n)return this;if(!n.removeListener)return arguments.length===0?(this._events=new Cm,this._eventsCount=0):n[t]&&(--this._eventsCount===0?this._events=new Cm:delete n[t]),this;if(arguments.length===0){for(var i=Object.keys(n),s=0,o;s0?Reflect.ownKeys(this._events):[]};function xje(e,t){for(var r=t,n=r+1,i=e.length;n=i)return l;switch(l){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch{return"[Circular]"}default:return l}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),yE(t)?r.showHidden=t:t&&zB(r,t),Md(r.showHidden)&&(r.showHidden=!1),Md(r.depth)&&(r.depth=2),Md(r.colors)&&(r.colors=!1),Md(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=wje),Lw(r,e,r.depth)}M0.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};M0.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function wje(e,t){var r=M0.styles[t];return r?"\x1B["+M0.colors[r][0]+"m"+e+"\x1B["+M0.colors[r][1]+"m":e}function Eje(e,t){return e}function Cje(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function Lw(e,t,r){if(e.customInspect&&t&&ug(t.inspect)&&t.inspect!==M0&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return Qy(n)||(n=Lw(e,n,r)),n}var i=Ije(e,t);if(i)return i;var s=Object.keys(t),o=Cje(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(t)),e1(t)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return Fj(t);if(s.length===0){if(ug(t)){var l=t.name?": "+t.name:"";return e.stylize("[Function"+l+"]","special")}if(cg(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(b1(t))return e.stylize(Date.prototype.toString.call(t),"date");if(e1(t))return Fj(t)}var c="",d=!1,u=["{","}"];if(LB(t)&&(d=!0,u=["[","]"]),ug(t)){var h=t.name?": "+t.name:"";c=" [Function"+h+"]"}if(cg(t)&&(c=" "+RegExp.prototype.toString.call(t)),b1(t)&&(c=" "+Date.prototype.toUTCString.call(t)),e1(t)&&(c=" "+Fj(t)),s.length===0&&(!d||t.length==0))return u[0]+c+u[1];if(r<0)return cg(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var p;return d?p=jje(e,t,r,o,s):p=s.map(function(A){return GN(e,t,r,o,A,d)}),e.seen.pop(),Nje(p,c,u)}function Ije(e,t){if(Md(t))return e.stylize("undefined","undefined");if(Qy(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(MB(t))return e.stylize(""+t,"number");if(yE(t))return e.stylize(""+t,"boolean");if(Py(t))return e.stylize("null","null")}function Fj(e){return"["+Error.prototype.toString.call(e)+"]"}function jje(e,t,r,n,i){for(var s=[],o=0,l=t.length;o-1&&(s?l=l.split(` `).map(function(d){return" "+d}).join(` `).substr(2):l=` `+l.split(` `).map(function(d){return" "+d}).join(` `))):l=e.stylize("[Circular]","special")),Md(o)){if(s&&i.match(/^\d+$/))return l;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+l}function Nje(e,t,r){var n=e.reduce(function(i,s){return s.indexOf(` `)>=0,i+s.replace(/\u001b\[\d\d?m/g,"").length+1},0);return n>60?r[0]+(t===""?"":t+` `)+" "+e.join(`, `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function LB(e){return Array.isArray(e)}function yE(e){return typeof e=="boolean"}function Py(e){return e===null}function bV(e){return e==null}function MB(e){return typeof e=="number"}function Qy(e){return typeof e=="string"}function wV(e){return typeof e=="symbol"}function Md(e){return e===void 0}function cg(e){return Hg(e)&&UB(e)==="[object RegExp]"}function Hg(e){return typeof e=="object"&&e!==null}function b1(e){return Hg(e)&&UB(e)==="[object Date]"}function e1(e){return Hg(e)&&(UB(e)==="[object Error]"||e instanceof Error)}function ug(e){return typeof e=="function"}function Mw(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e>"u"}function EV(e){return kt.isBuffer(e)}function UB(e){return Object.prototype.toString.call(e)}function Oj(e){return e<10?"0"+e.toString(10):e.toString(10)}var Sje=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Bje(){var e=new Date,t=[Oj(e.getHours()),Oj(e.getMinutes()),Oj(e.getSeconds())].join(":");return[e.getDate(),Sje[e.getMonth()],t].join(" ")}function CV(){console.log("%s - %s",Bje(),vE.apply(null,arguments))}function zB(e,t){if(!t||!Hg(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function IV(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Hp=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function $B(e){if(typeof e!="function")throw new TypeError('The "original" argument must be of type Function');if(Hp&&e[Hp]){var t=e[Hp];if(typeof t!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,Hp,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var r,n,i=new Promise(function(l,c){r=l,n=c}),s=[],o=0;o0?this.tail.next=v:this.head=v,this.tail=v,++this.length}},{key:"unshift",value:function(y){var v={data:y,next:this.head};this.length===0&&(this.tail=v),this.head=v,++this.length}},{key:"shift",value:function(){if(this.length!==0){var y=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,y}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(y){if(this.length===0)return"";for(var v=this.head,w=""+v.data;v=v.next;)w+=y+v.data;return w}},{key:"concat",value:function(y){if(this.length===0)return l.alloc(0);for(var v=l.allocUnsafe(y>>>0),w=this.head,j=0;w;)h(w.data,v,j),j+=w.data.length,w=w.next;return v}},{key:"consume",value:function(y,v){var w;return yE.length?E.length:y;if(S===E.length?j+=E:j+=E.slice(0,y),y-=S,y===0){S===E.length?(++w,v.next?this.head=v.next:this.head=this.tail=null):(this.head=v,v.data=E.slice(S));break}++w}return this.length-=w,j}},{key:"_getBuffer",value:function(y){var v=l.allocUnsafe(y),w=this.head,j=1;for(w.data.copy(v),y-=w.data.length;w=w.next;){var E=w.data,S=y>E.length?E.length:y;if(E.copy(v,v.length-y,0,S),y-=S,y===0){S===E.length?(++j,w.next?this.head=w.next:this.head=this.tail=null):(this.head=w,w.data=E.slice(S));break}++j}return this.length-=j,v}},{key:u,value:function(y,v){return d(this,t({},v,{depth:0,customInspect:!1}))}}]),p})(),Lj}function Rje(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,Wn.nextTick(VN,this,e)):Wn.nextTick(VN,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?Wn.nextTick(q5,r):(r._writableState.errorEmitted=!0,Wn.nextTick(gP,r,s)):Wn.nextTick(gP,r,s):t?(Wn.nextTick(q5,r),t(s)):Wn.nextTick(q5,r)}),this)}function gP(e,t){VN(e,t),q5(e)}function q5(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Pje(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function VN(e,t){e.emit("error",t)}function Qje(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var NV={destroy:Rje,undestroy:Pje,errorOrDestroy:Qje},qg={};function Fje(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var SV={};function c0(e,t,r){r||(r=Error);function n(s,o,l){return typeof t=="string"?t:t(s,o,l)}var i=(function(s){Fje(o,s);function o(l,c,d){return s.call(this,n(l,c,d))||this}return o})(r);i.prototype.name=r.name,i.prototype.code=e,SV[e]=i}function AP(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function Oje(e,t,r){return e.substr(0,t.length)===t}function Lje(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function Mje(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}c0("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);c0("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&Oje(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(Lje(e," argument"))i="The ".concat(e," ").concat(n," ").concat(AP(t,"type"));else{var s=Mje(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(AP(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);c0("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");c0("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});c0("ERR_STREAM_PREMATURE_CLOSE","Premature close");c0("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});c0("ERR_MULTIPLE_CALLBACK","Callback called multiple times");c0("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");c0("ERR_STREAM_WRITE_AFTER_END","write after end");c0("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);c0("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);c0("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");qg.codes=SV;var Uje=qg.codes.ERR_INVALID_OPT_VALUE;function zje(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function $je(e,t,r,n){var i=zje(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new Uje(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var BV={getHighWaterMark:$je},WN;typeof Object.create=="function"?WN=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:WN=function(t,r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t};var Hje=WN,qje=Object.freeze({__proto__:null,default:Hje}),Fy=ex(qje),Gje=kt.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Vje(e){if(e&&!Gje(e))throw new Error("Unknown encoding: "+e)}function bE(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),Vje(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Kje;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Yje;break;default:this.write=Wje;return}this.charBuffer=new kt(6),this.charReceived=0,this.charLength=0}bE.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),t+=e.toString(this.encoding,0,n);var n=t.length-1,i=t.charCodeAt(n);if(i>=55296&&i<=56319){var s=this.surrogateSize;return this.charLength+=s,this.charReceived+=s,this.charBuffer.copy(this.charBuffer,s,0,s),e.copy(this.charBuffer,0,0,s),t.substring(0,n)}return t};bE.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(t==1&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t};bE.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t};function Wje(e){return e.toString(this.encoding)}function Kje(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Yje(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var Zje=Object.freeze({__proto__:null,StringDecoder:bE}),kV=ex(Zje),xP=qg.codes.ERR_STREAM_PREMATURE_CLOSE;function Jje(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i0)if(typeof t!="string"&&!s.objectMode&&Object.getPrototypeOf(t)!==wE.prototype&&(t=i3e(t)),n)s.endEmitted?ev(e,new f3e):Gj(e,s,t,!0);else if(s.ended)ev(e,new u3e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||t.length!==0?Gj(e,s,t,!1):KN(e,s)):Gj(e,s,t,!1)}else n||(s.reading=!1,KN(e,s))}return!s.ended&&(s.length=bP?e=bP:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function wP(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=p3e(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}ji.prototype.read=function(e){Vn("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Vn("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Vj(this):CE(this),null;if(e=wP(e,t),e===0&&t.ended)return t.length===0&&Vj(this),null;var n=t.needReadable;Vn("need readable",n),(t.length===0||t.length-e0?i=FV(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Vj(this)),i!==null&&this.emit("data",i),i};function g3e(e,t){if(Vn("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?CE(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,PV(e)))}}function CE(e){var t=e._readableState;Vn("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Vn("emitReadable",t.flowing),t.emittedReadable=!0,Wn.nextTick(PV,e))}function PV(e){var t=e._readableState;Vn("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,WB(e)}function KN(e,t){t.readingMore||(t.readingMore=!0,Wn.nextTick(A3e,e,t))}function A3e(e,t){for(;!t.reading&&!t.ended&&(t.length1&&OV(n.pipes,e)!==-1)&&!d&&(Vn("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function p(w){Vn("onerror",w),v(),e.removeListener("error",p),DV(e,"error")===0&&ev(e,w)}h3e(e,"error",p);function A(){e.removeListener("finish",y),v()}e.once("close",A);function y(){Vn("onfinish"),e.removeListener("close",A),v()}e.once("finish",y);function v(){Vn("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(Vn("pipe resume"),r.resume()),e};function x3e(e){return function(){var r=e._readableState;Vn("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&DV(e,"data")&&(r.flowing=!0,WB(e))}}ji.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s0,n.flowing!==!1&&this.resume()):e==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Vn("on readable",n.length,n.reading),n.length?CE(this):n.reading||Wn.nextTick(v3e,this)),r};ji.prototype.addListener=ji.prototype.on;ji.prototype.removeListener=function(e,t){var r=Oy.prototype.removeListener.call(this,e,t);return e==="readable"&&Wn.nextTick(QV,this),r};ji.prototype.removeAllListeners=function(e){var t=Oy.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&Wn.nextTick(QV,this),t};function QV(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function v3e(e){Vn("readable nexttick read 0"),e.read(0)}ji.prototype.resume=function(){var e=this._readableState;return e.flowing||(Vn("resume"),e.flowing=!e.readableListening,y3e(this,e)),e.paused=!1,this};function y3e(e,t){t.resumeScheduled||(t.resumeScheduled=!0,Wn.nextTick(b3e,e,t))}function b3e(e,t){Vn("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),WB(e),t.flowing&&!t.reading&&e.read(0)}ji.prototype.pause=function(){return Vn("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Vn("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function WB(e){var t=e._readableState;for(Vn("flow",t.flowing);t.flowing&&e.read()!==null;);}ji.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on("end",function(){if(Vn("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on("data",function(o){if(Vn("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var l=t.push(o);l||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=(function(l){return function(){return e[l].apply(e,arguments)}})(i));for(var s=0;s=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function Vj(e){var t=e._readableState;Vn("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,Wn.nextTick(w3e,t,e))}function w3e(e,t){if(Vn("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(ji.from=function(e,t){return Hj===void 0&&(Hj=r3e()),Hj(ji,e,t)});function OV(e,t){for(var r=0,n=e.length;r-1))throw new O3e(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(Ss.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function z3e(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=IE.from(t,r)),t}Object.defineProperty(Ss.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function $3e(e,t,r,n,i,s){if(!r){var o=z3e(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var l=t.objectMode?1:n.length;t.length+=l;var c=t.length0;return dNe(o,c,d,function(u){i||(i=u),u&&s.forEach(NP),!c&&(s.forEach(NP),n(i))})});return t.reduce(fNe)}var pNe=mNe;(function(e,t){const r=tx;t=e.exports=r.Readable,t.Stream=r.Readable,t.Readable=r.Readable,t.Writable=r.Writable,t.Duplex=r.Duplex,t.Transform=r.Transform,t.PassThrough=r.PassThrough,t.finished=qB,t.pipeline=pNe})(qN,qN.exports);var qV=qN.exports,GV=oV(qV),VV={},WV={};function SP(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,s=Math.min(r,n);i=0){var o=n.indexOf(` `,s+1);n=n.substring(o+1)}this.stack=n}}}Dv(NE,Error);function TP(e,t){return typeof e=="string"?e.length=0;d--)if(o[d]!==l[d])return!1;for(d=o.length-1;d>=0;d--)if(c=o[d],!C1(e[c],t[c],r,n))return!1;return!0}Jl.notDeepEqual=t8;function t8(e,t,r){C1(e,t,!1)&&Wl(e,t,r,"notDeepEqual",t8)}Jl.notDeepStrictEqual=r8;function r8(e,t,r){C1(e,t,!0)&&Wl(e,t,r,"notDeepStrictEqual",r8)}Jl.strictEqual=n8;function n8(e,t,r){e!==t&&Wl(e,t,r,"===",n8)}Jl.notStrictEqual=i8;function i8(e,t,r){e===t&&Wl(e,t,r,"!==",i8)}function QP(e,t){if(!e||!t)return!1;if(Object.prototype.toString.call(t)=="[object RegExp]")return t.test(e);try{if(e instanceof t)return!0}catch{}return Error.isPrototypeOf(t)?!1:t.call({},e)===!0}function yNe(e){var t;try{e()}catch(r){t=r}return t}function ZV(e,t,r,n){var i;if(typeof t!="function")throw new TypeError('"block" argument must be a function');typeof r=="string"&&(n=r,r=null),i=yNe(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&Wl(i,r,"Missing expected exception"+n);var s=typeof n=="string",o=!e&&e1(i),l=!e&&i&&!r;if((o&&s&&QP(i,r)||l)&&Wl(i,r,"Got unwanted exception"+n),e&&i&&r&&!QP(i,r)||!e&&i)throw i}Jl.throws=JV;function JV(e,t,r){ZV(!0,e,t,r)}Jl.doesNotThrow=XV;function XV(e,t,r){ZV(!1,e,t,r)}Jl.ifError=eW;function eW(e){if(e)throw e}var bNe=Object.freeze({__proto__:null,AssertionError:NE,assert:Pv,deepEqual:XB,deepStrictEqual:e8,default:Jl,doesNotThrow:XV,equal:ZB,fail:Wl,ifError:eW,notDeepEqual:t8,notDeepStrictEqual:r8,notEqual:JB,notStrictEqual:i8,ok:Pv,strictEqual:n8,throws:JV}),tW=ex(bNe);(function(e){var t=tW,r=V2e,n=J2e,i=nbe,s=sbe;for(var o in s)e[o]=s[o];e.NONE=0,e.DEFLATE=1,e.INFLATE=2,e.GZIP=3,e.GUNZIP=4,e.DEFLATERAW=5,e.INFLATERAW=6,e.UNZIP=7;var l=31,c=139;function d(u){if(typeof u!="number"||ue.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=u,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}d.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,t(this.init_done,"close before init"),t(this.mode<=e.UNZIP),this.mode===e.DEFLATE||this.mode===e.GZIP||this.mode===e.DEFLATERAW?n.deflateEnd(this.strm):(this.mode===e.INFLATE||this.mode===e.GUNZIP||this.mode===e.INFLATERAW||this.mode===e.UNZIP)&&i.inflateEnd(this.strm),this.mode=e.NONE,this.dictionary=null},d.prototype.write=function(u,h,p,A,y,v,w){return this._write(!0,u,h,p,A,y,v,w)},d.prototype.writeSync=function(u,h,p,A,y,v,w){return this._write(!1,u,h,p,A,y,v,w)},d.prototype._write=function(u,h,p,A,y,v,w,j){if(t.equal(arguments.length,8),t(this.init_done,"write before init"),t(this.mode!==e.NONE,"already finalized"),t.equal(!1,this.write_in_progress,"write already in progress"),t.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,t.equal(!1,h===void 0,"must provide flush value"),this.write_in_progress=!0,h!==e.Z_NO_FLUSH&&h!==e.Z_PARTIAL_FLUSH&&h!==e.Z_SYNC_FLUSH&&h!==e.Z_FULL_FLUSH&&h!==e.Z_FINISH&&h!==e.Z_BLOCK)throw new Error("Invalid flush value");if(p==null&&(p=kt.alloc(0),y=0,A=0),this.strm.avail_in=y,this.strm.input=p,this.strm.next_in=A,this.strm.avail_out=j,this.strm.output=v,this.strm.next_out=w,this.flush=h,!u)return this._process(),this._checkError()?this._afterSync():void 0;var E=this;return Wn.nextTick(function(){E._process(),E._after()}),this},d.prototype._afterSync=function(){var u=this.strm.avail_out,h=this.strm.avail_in;return this.write_in_progress=!1,[h,u]},d.prototype._process=function(){var u=null;switch(this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=n.deflate(this.strm,this.flush);break;case e.UNZIP:switch(this.strm.avail_in>0&&(u=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(u===null)break;if(this.strm.input[u]===l){if(this.gzip_id_bytes_read=1,u++,this.strm.avail_in===1)break}else{this.mode=e.INFLATE;break}case 1:if(u===null)break;this.strm.input[u]===c?(this.gzip_id_bytes_read=2,this.mode=e.GUNZIP):this.mode=e.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:for(this.err=i.inflate(this.strm,this.flush),this.err===e.Z_NEED_DICT&&this.dictionary&&(this.err=i.inflateSetDictionary(this.strm,this.dictionary),this.err===e.Z_OK?this.err=i.inflate(this.strm,this.flush):this.err===e.Z_DATA_ERROR&&(this.err=e.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===e.GUNZIP&&this.err===e.Z_STREAM_END&&this.strm.next_in[0]!==0;)this.reset(),this.err=i.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},d.prototype._checkError=function(){switch(this.err){case e.Z_OK:case e.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===e.Z_FINISH)return this._error("unexpected end of file"),!1;break;case e.Z_STREAM_END:break;case e.Z_NEED_DICT:return this.dictionary==null?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},d.prototype._after=function(){if(this._checkError()){var u=this.strm.avail_out,h=this.strm.avail_in;this.write_in_progress=!1,this.callback(h,u),this.pending_close&&this.close()}},d.prototype._error=function(u){this.strm.msg&&(u=this.strm.msg),this.onerror(u,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},d.prototype.init=function(u,h,p,A,y){t(arguments.length===4||arguments.length===5,"init(windowBits, level, memLevel, strategy, [dictionary])"),t(u>=8&&u<=15,"invalid windowBits"),t(h>=-1&&h<=9,"invalid compression level"),t(p>=1&&p<=9,"invalid memlevel"),t(A===e.Z_FILTERED||A===e.Z_HUFFMAN_ONLY||A===e.Z_RLE||A===e.Z_FIXED||A===e.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(h,u,p,A,y),this._setDictionary()},d.prototype.params=function(){throw new Error("deflateParams Not supported")},d.prototype.reset=function(){this._reset(),this._setDictionary()},d.prototype._init=function(u,h,p,A,y){switch(this.level=u,this.windowBits=h,this.memLevel=p,this.strategy=A,this.flush=e.Z_NO_FLUSH,this.err=e.Z_OK,(this.mode===e.GZIP||this.mode===e.GUNZIP)&&(this.windowBits+=16),this.mode===e.UNZIP&&(this.windowBits+=32),(this.mode===e.DEFLATERAW||this.mode===e.INFLATERAW)&&(this.windowBits=-1*this.windowBits),this.strm=new r,this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=n.deflateInit2(this.strm,this.level,e.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:case e.UNZIP:this.err=i.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==e.Z_OK&&this._error("Init error"),this.dictionary=y,this.write_in_progress=!1,this.init_done=!0},d.prototype._setDictionary=function(){if(this.dictionary!=null){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:this.err=n.deflateSetDictionary(this.strm,this.dictionary);break}this.err!==e.Z_OK&&this._error("Failed to set dictionary")}},d.prototype._reset=function(){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:case e.GZIP:this.err=n.deflateReset(this.strm);break;case e.INFLATE:case e.INFLATERAW:case e.GUNZIP:this.err=i.inflateReset(this.strm);break}this.err!==e.Z_OK&&this._error("Failed to reset stream")},e.Zlib=d})(WV);(function(e){var t=_v.Buffer,r=qV.Transform,n=WV,i=HB,s=tW.ok,o=_v.kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+o.toString(16)+" bytes";n.Z_MIN_WINDOWBITS=8,n.Z_MAX_WINDOWBITS=15,n.Z_DEFAULT_WINDOWBITS=15,n.Z_MIN_CHUNK=64,n.Z_MAX_CHUNK=1/0,n.Z_DEFAULT_CHUNK=16*1024,n.Z_MIN_MEMLEVEL=1,n.Z_MAX_MEMLEVEL=9,n.Z_DEFAULT_MEMLEVEL=8,n.Z_MIN_LEVEL=-1,n.Z_MAX_LEVEL=9,n.Z_DEFAULT_LEVEL=n.Z_DEFAULT_COMPRESSION;for(var c=Object.keys(n),d=0;d=o?V=new RangeError(l):ne=t.concat(W,G),W=[],P.close(),X(V,ne)}}function w(P,L){if(typeof L=="string"&&(L=t.from(L)),!t.isBuffer(L))throw new TypeError("Not a string or buffer");var X=P._finishFlushFlag;return P._processChunk(L,X)}function j(P){if(!(this instanceof j))return new j(P);M.call(this,P,n.DEFLATE)}function E(P){if(!(this instanceof E))return new E(P);M.call(this,P,n.INFLATE)}function S(P){if(!(this instanceof S))return new S(P);M.call(this,P,n.GZIP)}function _(P){if(!(this instanceof _))return new _(P);M.call(this,P,n.GUNZIP)}function C(P){if(!(this instanceof C))return new C(P);M.call(this,P,n.DEFLATERAW)}function Q(P){if(!(this instanceof Q))return new Q(P);M.call(this,P,n.INFLATERAW)}function R(P){if(!(this instanceof R))return new R(P);M.call(this,P,n.UNZIP)}function T(P){return P===n.Z_NO_FLUSH||P===n.Z_PARTIAL_FLUSH||P===n.Z_SYNC_FLUSH||P===n.Z_FULL_FLUSH||P===n.Z_FINISH||P===n.Z_BLOCK}function M(P,L){var X=this;if(this._opts=P=P||{},this._chunkSize=P.chunkSize||e.Z_DEFAULT_CHUNK,r.call(this,P),P.flush&&!T(P.flush))throw new Error("Invalid flush flag: "+P.flush);if(P.finishFlush&&!T(P.finishFlush))throw new Error("Invalid flush flag: "+P.finishFlush);if(this._flushFlag=P.flush||n.Z_NO_FLUSH,this._finishFlushFlag=typeof P.finishFlush<"u"?P.finishFlush:n.Z_FINISH,P.chunkSize&&(P.chunkSizee.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+P.chunkSize);if(P.windowBits&&(P.windowBitse.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+P.windowBits);if(P.level&&(P.levele.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+P.level);if(P.memLevel&&(P.memLevele.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+P.memLevel);if(P.strategy&&P.strategy!=e.Z_FILTERED&&P.strategy!=e.Z_HUFFMAN_ONLY&&P.strategy!=e.Z_RLE&&P.strategy!=e.Z_FIXED&&P.strategy!=e.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+P.strategy);if(P.dictionary&&!t.isBuffer(P.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new n.Zlib(L);var W=this;this._hadError=!1,this._handle.onerror=function(q,ee){O(W),W._hadError=!0;var ne=new Error(q);ne.errno=ee,ne.code=e.codes[ee],W.emit("error",ne)};var G=e.Z_DEFAULT_COMPRESSION;typeof P.level=="number"&&(G=P.level);var J=e.Z_DEFAULT_STRATEGY;typeof P.strategy=="number"&&(J=P.strategy),this._handle.init(P.windowBits||e.Z_DEFAULT_WINDOWBITS,G,P.memLevel||e.Z_DEFAULT_MEMLEVEL,J,P.dictionary),this._buffer=t.allocUnsafe(this._chunkSize),this._offset=0,this._level=G,this._strategy=J,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!X._handle},configurable:!0,enumerable:!0})}i.inherits(M,r),M.prototype.params=function(P,L,X){if(Pe.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+P);if(L!=e.Z_FILTERED&&L!=e.Z_HUFFMAN_ONLY&&L!=e.Z_RLE&&L!=e.Z_FIXED&&L!=e.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+L);if(this._level!==P||this._strategy!==L){var W=this;this.flush(n.Z_SYNC_FLUSH,function(){s(W._handle,"zlib binding closed"),W._handle.params(P,L),W._hadError||(W._level=P,W._strategy=L,X&&X())})}else Wn.nextTick(X)},M.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},M.prototype._flush=function(P){this._transform(t.alloc(0),"",P)},M.prototype.flush=function(P,L){var X=this,W=this._writableState;(typeof P=="function"||P===void 0&&!L)&&(L=P,P=n.Z_FULL_FLUSH),W.ended?L&&Wn.nextTick(L):W.ending?L&&this.once("end",L):W.needDrain?L&&this.once("drain",function(){return X.flush(P,L)}):(this._flushFlag=P,this.write(t.alloc(0),"",L))},M.prototype.close=function(P){O(this,P),Wn.nextTick($,this)};function O(P,L){L&&Wn.nextTick(L),P._handle&&(P._handle.close(),P._handle=null)}function $(P){P.emit("close")}M.prototype._transform=function(P,L,X){var W,G=this._writableState,J=G.ending||G.ended,q=J&&(!P||G.length===P.length);if(P!==null&&!t.isBuffer(P))return X(new Error("invalid input"));if(!this._handle)return X(new Error("zlib binding closed"));q?W=this._finishFlushFlag:(W=this._flushFlag,P.length>=G.length&&(this._flushFlag=this._opts.flush||n.Z_NO_FLUSH)),this._processChunk(P,W,X)},M.prototype._processChunk=function(P,L,X){var W=P&&P.length,G=this._chunkSize-this._offset,J=0,q=this,ee=typeof X=="function";if(!ee){var ne=[],V=0,ue;this.on("error",function(we){ue=we}),s(this._handle,"zlib binding closed");do var de=this._handle.writeSync(L,P,J,W,this._buffer,this._offset,G);while(!this._hadError&&Ce(de[0],de[1]));if(this._hadError)throw ue;if(V>=o)throw O(this),new RangeError(l);var xe=t.concat(ne,V);return O(this),xe}s(this._handle,"zlib binding closed");var _e=this._handle.write(L,P,J,W,this._buffer,this._offset,G);_e.buffer=P,_e.callback=Ce;function Ce(we,ve){if(this&&(this.buffer=null,this.callback=null),!q._hadError){var Ne=G-ve;if(s(Ne>=0,"have should not go down"),Ne>0){var Ie=q._buffer.slice(q._offset,q._offset+Ne);q._offset+=Ne,ee?q.push(Ie):(ne.push(Ie),V+=Ie.length)}if((ve===0||q._offset>=q._chunkSize)&&(G=q._chunkSize,q._offset=0,q._buffer=t.allocUnsafe(q._chunkSize)),ve===0){if(J+=W-we,W=we,!ee)return!0;var be=q._handle.write(L,P,J,W,q._buffer,q._offset,q._chunkSize);be.callback=Ce,be.buffer=P;return}if(!ee)return!1;X()}}},i.inherits(j,M),i.inherits(E,M),i.inherits(S,M),i.inherits(_,M),i.inherits(C,M),i.inherits(Q,M),i.inherits(R,M)})(VV);var Mx=oV(VV);class rW extends GV.Writable{constructor(t,r,n){super({decodeStrings:!1}),this.finalize=this.finalize.bind(this),this.document=t,this.id=r,n==null&&(n={}),this.data=n,this.gen=0,this.deflate=null,this.compress=this.document.compress&&!this.data.Filter,this.uncompressedLength=0,this.chunks=[]}initDeflate(){return this.data.Filter="FlateDecode",this.deflate=Mx.createDeflate(),this.deflate.on("data",t=>(this.chunks.push(t),this.data.Length+=t.length)),this.deflate.on("end",this.finalize)}_write(t,r,n){return t instanceof Uint8Array||(t=kt.from(t+` `,"binary")),this.uncompressedLength+=t.length,this.data.Length==null&&(this.data.Length=0),this.compress?(this.deflate||this.initDeflate(),this.deflate.write(t)):(this.chunks.push(t),this.data.Length+=t.length),n()}end(){return super.end(...arguments),this.deflate?this.deflate.end():this.finalize()}finalize(){if(this.offset=this.document._offset,this.document._write(`${this.id} ${this.gen} obj`),this.document._write(uu.convert(this.data)),this.chunks.length){this.document._write("stream");for(let t of Array.from(this.chunks))this.document._write(t);this.chunks.length=0,this.document._write(` endstream`)}return this.document._write("endobj"),this.document._refEnd(this)}toString(){return`${this.id} ${this.gen} R`}}class nW{constructor(t){t===void 0&&(t={}),this._items={},this.limits=typeof t.limits=="boolean"?t.limits:!0}add(t,r){return this._items[t]=r}get(t){return this._items[t]}toString(){const t=Object.keys(this._items).sort((n,i)=>this._compareKeys(n,i)),r=["<<"];if(this.limits&&t.length>1){const n=t[0],i=t[t.length-1];r.push(` /Limits ${uu.convert([this._dataForKey(n),this._dataForKey(i)])}`)}r.push(` /${this._keysName()} [`);for(let n of t)r.push(` ${uu.convert(this._dataForKey(n))} ${uu.convert(this._items[n])}`);return r.push("]"),r.push(">>"),r.join(` `)}_compareKeys(){throw new Error("Must be implemented by subclasses")}_keysName(){throw new Error("Must be implemented by subclasses")}_dataForKey(){throw new Error("Must be implemented by subclasses")}}class V5 extends nW{_compareKeys(t,r){return t.localeCompare(r)}_keysName(){return"Names"}_dataForKey(t){return new String(t)}}const NA=(e,t)=>(Array(t+1).join("0")+e).slice(-t),wNe=/[\n\r\t\b\f()\\]/g,ENe={"\n":"\\n","\r":"\\r"," ":"\\t","\b":"\\b","\f":"\\f","\\":"\\\\","(":"\\(",")":"\\)"},CNe=function(e){const t=e.length;if(t&1)throw new Error("Buffer length must be even");for(let r=0,n=t-1;r127){n=!0;break}return n&&(r=CNe(kt.from(`\uFEFF${r}`,"utf16le")).toString("binary")),r=r.replace(wNe,i=>ENe[i]),`(${r})`}if(kt.isBuffer(t))return`<${t.toString("hex")}>`;if(t instanceof rW||t instanceof V5)return t.toString();if(t instanceof Date)return`(D:${NA(t.getUTCFullYear(),4)}`+NA(t.getUTCMonth()+1,2)+NA(t.getUTCDate(),2)+NA(t.getUTCHours(),2)+NA(t.getUTCMinutes(),2)+NA(t.getUTCSeconds(),2)+"Z)";if(Array.isArray(t))return`[${Array.from(t).map(n=>uu.convert(n)).join(" ")}]`;if({}.toString.call(t)==="[object Object]"){const r=["<<"];for(let n in t){const i=t[n];r.push(`/${n} ${uu.convert(i)}`)}return r.push(">>"),r.join(` `)}return typeof t=="number"?uu.number(t):`${t}`}static number(t){if(t>-1e21&&t<1e21)return Math.round(t*1e6)/1e6;throw new Error(`unsupported number: ${t}`)}}const INe={top:72,left:72,bottom:72,right:72},jNe={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]};class NNe{constructor(t,r){r===void 0&&(r={}),this.document=t,this._options=r,this.size=r.size||"letter",this.layout=r.layout||"portrait",this.userUnit=r.userUnit||1,typeof r.margin=="number"?this.margins={top:r.margin,left:r.margin,bottom:r.margin,right:r.margin}:this.margins=r.margins||INe;const n=Array.isArray(this.size)?this.size:jNe[this.size.toUpperCase()];this.width=n[this.layout==="portrait"?0:1],this.height=n[this.layout==="portrait"?1:0],this.content=this.document.ref(),r.font&&t.font(r.font,r.fontFamily),r.fontSize&&t.fontSize(r.fontSize),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources,UserUnit:this.userUnit}),this.markings=[]}get fonts(){const t=this.resources.data;return t.Font!=null?t.Font:t.Font={}}get xobjects(){const t=this.resources.data;return t.XObject!=null?t.XObject:t.XObject={}}get ext_gstates(){const t=this.resources.data;return t.ExtGState!=null?t.ExtGState:t.ExtGState={}}get patterns(){const t=this.resources.data;return t.Pattern!=null?t.Pattern:t.Pattern={}}get colorSpaces(){const t=this.resources.data;return t.ColorSpace||(t.ColorSpace={})}get annotations(){const t=this.dictionary.data;return t.Annots!=null?t.Annots:t.Annots=[]}get structParentTreeKey(){const t=this.dictionary.data;return t.StructParents!=null?t.StructParents:t.StructParents=this.document.createStructParentTreeNextKey()}maxY(){return this.height-this.margins.bottom}write(t){return this.content.write(t)}_setTabOrder(){!this.dictionary.Tabs&&this.document.hasMarkInfoDictionary()&&(this.dictionary.data.Tabs="S")}end(){this._setTabOrder(),this.dictionary.end(),this.resources.data.ColorSpace=this.resources.data.ColorSpace||{};for(let t of Object.values(this.document.spotColors))this.resources.data.ColorSpace[t.id]=t;return this.resources.end(),this.content.end()}}const SNe=e=>{const t=[];for(let r=0;r>8*(3-r%4)&255);return kt.from(t)};class BNe{static generateFileID(t){t===void 0&&(t={});let r=`${t.CreationDate.getTime()} `;for(let n in t)t.hasOwnProperty(n)&&(r+=`${n}: ${t[n].valueOf()} `);return SNe(mbe(r))}}const{number:kNe}=uu;let a8=class{constructor(t){this.doc=t,this.stops=[],this.embedded=!1,this.transform=[1,0,0,1,0,0]}stop(t,r,n){if(n==null&&(n=1),r=this.doc._normalizeColor(r),this.stops.length===0)if(r.length===3)this._colorSpace="DeviceRGB";else if(r.length===4)this._colorSpace="DeviceCMYK";else if(r.length===1)this._colorSpace="DeviceGray";else throw new Error("Unknown color space");else if(this._colorSpace==="DeviceRGB"&&r.length!==3||this._colorSpace==="DeviceCMYK"&&r.length!==4||this._colorSpace==="DeviceGray"&&r.length!==1)throw new Error("All gradient stops must use the same color space");return n=Math.max(0,Math.min(1,n)),this.stops.push([t,r,n]),this}setTransform(t,r,n,i,s,o){return this.transform=[t,r,n,i,s,o],this}embed(t){let r;const n=this.stops.length;if(n===0)return;this.embedded=!0,this.matrix=t;const i=this.stops[n-1];i[0]<1&&this.stops.push([1,i[1],i[2]]);const s=[],o=[],l=[];for(let u=0;uu[2]<1)){let u=this.opacityGradient();u._colorSpace="DeviceGray";for(let v of this.stops)u.stop(v[0],[v[2]]);u=u.embed(this.matrix);const h=[0,0,this.doc.page.width,this.doc.page.height],p=this.doc.ref({Type:"XObject",Subtype:"Form",FormType:1,BBox:h,Group:{Type:"Group",S:"Transparency",CS:"DeviceGray"},Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:u}}});p.write("/Pattern cs /Sh1 scn"),p.end(`${h.join(" ")} re f`);const A=this.doc.ref({Type:"ExtGState",SMask:{Type:"Mask",S:"Luminosity",G:p}});A.end();const y=this.doc.ref({Type:"Pattern",PatternType:1,PaintType:1,TilingType:2,BBox:h,XStep:h[2],YStep:h[3],Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:d},ExtGState:{Gs1:A}}});y.write("/Gs1 gs /Pattern cs /Sh1 scn"),y.end(`${h.join(" ")} re f`),this.doc.page.patterns[this.id]=y}else this.doc.page.patterns[this.id]=d;return d}apply(t){const[r,n,i,s,o,l]=this.doc._ctm,[c,d,u,h,p,A]=this.transform,y=[r*c+i*d,n*c+s*d,r*u+i*h,n*u+s*h,r*p+i*A+o,n*p+s*A+l];(!this.embedded||y.join(" ")!==this.matrix.join(" "))&&this.embed(y),this.doc._setColorSpace("Pattern",t);const v=t?"SCN":"scn";return this.doc.addContent(`/${this.id} ${v}`)}},_Ne=class iW extends a8{constructor(t,r,n,i,s){super(t),this.x1=r,this.y1=n,this.x2=i,this.y2=s}shader(t){return this.doc.ref({ShadingType:2,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.x2,this.y2],Function:t,Extend:[!0,!0]})}opacityGradient(){return new iW(this.doc,this.x1,this.y1,this.x2,this.y2)}},DNe=class aW extends a8{constructor(t,r,n,i,s,o,l){super(t),this.doc=t,this.x1=r,this.y1=n,this.r1=i,this.x2=s,this.y2=o,this.r2=l}shader(t){return this.doc.ref({ShadingType:3,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.r1,this.x2,this.y2,this.r2],Function:t,Extend:[!0,!0]})}opacityGradient(){return new aW(this.doc,this.x1,this.y1,this.r1,this.x2,this.y2,this.r2)}};var TNe={PDFGradient:a8,PDFLinearGradient:_Ne,PDFRadialGradient:DNe};const RNe=["DeviceCMYK","DeviceRGB"];let PNe=class{constructor(t,r,n,i,s){this.doc=t,this.bBox=r,this.xStep=n,this.yStep=i,this.stream=s}createPattern(){const t=this.doc.ref();t.end();const[r,n,i,s,o,l]=this.doc._ctm,[c,d,u,h,p,A]=[1,0,0,1,0,0],y=[r*c+i*d,n*c+s*d,r*u+i*h,n*u+s*h,r*p+i*A+o,n*p+s*A+l],v=this.doc.ref({Type:"Pattern",PatternType:1,PaintType:2,TilingType:2,BBox:this.bBox,XStep:this.xStep,YStep:this.yStep,Matrix:y.map(w=>+w.toFixed(5)),Resources:t});return v.end(this.stream),v}embedPatternColorSpaces(){RNe.forEach(t=>{const r=this.getPatternColorSpaceId(t);if(this.doc.page.colorSpaces[r])return;const n=this.doc.ref(["Pattern",t]);n.end(),this.doc.page.colorSpaces[r]=n})}getPatternColorSpaceId(t){return`CsP${t}`}embed(){this.id||(this.doc._patternCount=this.doc._patternCount+1,this.id="P"+this.doc._patternCount,this.pattern=this.createPattern()),this.doc.page.patterns[this.id]||(this.doc.page.patterns[this.id]=this.pattern)}apply(t,r){this.embedPatternColorSpaces(),this.embed();const n=this.doc._normalizeColor(r);if(!n)throw Error(`invalid pattern color. (value: ${r})`);const i=this.getPatternColorSpaceId(this.doc._getColorSpace(n));this.doc._setColorSpace(i,t);const s=t?"SCN":"scn";return this.doc.addContent(`${n.join(" ")} /${this.id} ${s}`)}};var QNe={PDFTilingPattern:PNe};class Xj{constructor(t,r,n,i,s,o){this.id="CS"+Object.keys(t.spotColors).length,this.name=r,this.values=[n,i,s,o],this.ref=t.ref(["Separation",this.name,"DeviceCMYK",{Range:[0,1,0,1,0,1,0,1],C0:[0,0,0,0],C1:this.values.map(l=>l/100),FunctionType:2,Domain:[0,1],N:1}]),this.ref.end()}toString(){return`${this.ref.id} 0 R`}}const{PDFGradient:FNe,PDFLinearGradient:ONe,PDFRadialGradient:LNe}=TNe,{PDFTilingPattern:FP}=QNe;var MNe={initColor(){return this.spotColors={},this._opacityRegistry={},this._opacityCount=0,this._patternCount=0,this._gradCount=0},_normalizeColor(e){if(typeof e=="string"){if(e.charAt(0)==="#"){e.length===4&&(e=e.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3"));const t=parseInt(e.slice(1),16);e=[t>>16,t>>8&255,t&255]}else if(OP[e])e=OP[e];else if(this.spotColors[e])return this.spotColors[e]}return Array.isArray(e)?(e.length===3?e=e.map(t=>t/255):e.length===4&&(e=e.map(t=>t/100)),e):null},_setColor(e,t){return e instanceof FNe?(e.apply(t),!0):Array.isArray(e)&&e[0]instanceof FP?(e[0].apply(t,e[1]),!0):this._setColorCore(e,t)},_setColorCore(e,t){if(e=this._normalizeColor(e),!e)return!1;const r=t?"SCN":"scn",n=this._getColorSpace(e);return this._setColorSpace(n,t),e instanceof Xj?(this.page.colorSpaces[e.id]=e.ref,this.addContent(`1 ${r}`)):this.addContent(`${e.join(" ")} ${r}`),!0},_setColorSpace(e,t){const r=t?"CS":"cs";return this.addContent(`/${e} ${r}`)},_getColorSpace(e){return e instanceof Xj?e.id:e.length===4?"DeviceCMYK":"DeviceRGB"},fillColor(e,t){return this._setColor(e,!1)&&this.fillOpacity(t),this._fillColor=[e,t],this},strokeColor(e,t){return this._setColor(e,!0)&&this.strokeOpacity(t),this},opacity(e){return this._doOpacity(e,e),this},fillOpacity(e){return this._doOpacity(e,null),this},strokeOpacity(e){return this._doOpacity(null,e),this},_doOpacity(e,t){let r,n;if(e==null&&t==null)return;e!=null&&(e=Math.max(0,Math.min(1,e))),t!=null&&(t=Math.max(0,Math.min(1,t)));const i=`${e}_${t}`;return this._opacityRegistry[i]?[r,n]=this._opacityRegistry[i]:(r={Type:"ExtGState"},e!=null&&(r.ca=e),t!=null&&(r.CA=t),r=this.ref(r),r.end(),n=`Gs${++this._opacityCount}`,this._opacityRegistry[i]=[r,n]),this.page.ext_gstates[n]=r,this.addContent(`/${n} gs`)},linearGradient(e,t,r,n){return new ONe(this,e,t,r,n)},radialGradient(e,t,r,n,i,s){return new LNe(this,e,t,r,n,i,s)},pattern(e,t,r,n){return new FP(this,e,t,r,n)},addSpotColor(e,t,r,n,i){const s=new Xj(this,e,t,r,n,i);return this.spotColors[e]=s,this}},OP={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};let zr,$r,Jn,Ii,MA,UA;zr=$r=Jn=Ii=MA=UA=0;const sW={M:2,m:2,Z:0,z:0,L:2,l:2,H:1,h:1,V:1,v:1,C:6,c:6,S:4,s:4,Q:4,q:4,T:2,t:2,A:7,a:7},UNe=e=>e in sW,zNe=e=>{const t=e.codePointAt(0);return t===32||t===9||t===13||t===10},$Ne=e=>{const t=e.codePointAt(0);return t==null?!1:48<=t&&t<=57},e3=(e,t)=>{let r=t,n="",i="none";for(;r{const t=[];let r=null,n=[],i=0,s=!1,o=!1;for(let l=0;l1&&(p=Math.sqrt(p),r*=p,n*=p);const A=h/r,y=u/r,v=-u/n,w=h/n,j=A*l+y*c,E=v*l+w*c,S=A*e+y*t,_=v*e+w*t;let Q=1/((S-j)*(S-j)+(_-E)*(_-E))-.25;Q<0&&(Q=0);let R=Math.sqrt(Q);s===i&&(R=-R);const T=.5*(j+S)-R*(_-E),M=.5*(E+_)+R*(S-j),O=Math.atan2(E-M,j-T);let P=Math.atan2(_-M,S-T)-O;P<0&&s===1?P+=2*Math.PI:P>0&&s===0&&(P-=2*Math.PI);const L=Math.ceil(Math.abs(P/(Math.PI*.5+.001))),X=[];for(let W=0;WNumber.isFinite(i)&&i>0))throw new Error(`dash(${JSON.stringify(r)}, ${JSON.stringify(t)}) invalid, lengths must be numeric and greater than zero`);return e=e.map(cs).join(" "),this.addContent(`[${e}] ${cs(t.phase||0)} d`)},undash(){return this.addContent("[] 0 d")},moveTo(e,t){return this.addContent(`${cs(e)} ${cs(t)} m`)},lineTo(e,t){return this.addContent(`${cs(e)} ${cs(t)} l`)},bezierCurveTo(e,t,r,n,i,s){return this.addContent(`${cs(e)} ${cs(t)} ${cs(r)} ${cs(n)} ${cs(i)} ${cs(s)} c`)},quadraticCurveTo(e,t,r,n){return this.addContent(`${cs(e)} ${cs(t)} ${cs(r)} ${cs(n)} v`)},rect(e,t,r,n){return this.addContent(`${cs(e)} ${cs(t)} ${cs(r)} ${cs(n)} re`)},roundedRect(e,t,r,n,i){i==null&&(i=0),i=Math.min(i,.5*r,.5*n);const s=i*(1-bb);return this.moveTo(e+i,t),this.lineTo(e+r-i,t),this.bezierCurveTo(e+r-s,t,e+r,t+s,e+r,t+i),this.lineTo(e+r,t+n-i),this.bezierCurveTo(e+r,t+n-s,e+r-s,t+n,e+r-i,t+n),this.lineTo(e+i,t+n),this.bezierCurveTo(e+s,t+n,e,t+n-s,e,t+n-i),this.lineTo(e,t+i),this.bezierCurveTo(e,t+s,e+s,t,e+i,t),this.closePath()},ellipse(e,t,r,n){n==null&&(n=r),e-=r,t-=n;const i=r*bb,s=n*bb,o=e+r*2,l=t+n*2,c=e+r,d=t+n;return this.moveTo(e,d),this.bezierCurveTo(e,d-s,c-i,t,c,t),this.bezierCurveTo(c+i,t,o,d-s,o,d),this.bezierCurveTo(o,d+s,c+i,l,c,l),this.bezierCurveTo(c-i,l,e,d+s,e,d),this.closePath()},circle(e,t,r){return this.ellipse(e,t,r)},arc(e,t,r,n,i,s){s==null&&(s=!1);const o=2*Math.PI,l=.5*Math.PI;let c=i-n;Math.abs(c)>o?c=o:c!==0&&s!==c<0&&(c=(s?-1:1)*o+c);const d=Math.ceil(Math.abs(c)/l),u=c/d,h=u/l*bb*r;let p=n,A=-Math.sin(p)*h,y=Math.cos(p)*h,v=e+Math.cos(p)*r,w=t+Math.sin(p)*r;this.moveTo(v,w);for(let j=0;jcs(y)).join(" ");return this.addContent(`${A} cm`)},translate(e,t){return this.transform(1,0,0,1,e,t)},rotate(e,t){t===void 0&&(t={});let r;const n=e*Math.PI/180,i=Math.cos(n),s=Math.sin(n);let o=r=0;if(t.origin!=null){[o,r]=t.origin;const l=o*i-r*s,c=o*s+r*i;o-=l,r-=c}return this.transform(i,s,-s,i,o,r)},scale(e,t,r){r===void 0&&(r={});let n;t==null&&(t=e),typeof t=="object"&&(r=t,t=e);let i=n=0;return r.origin!=null&&([i,n]=r.origin,i-=e*i,n-=t*n),this.transform(e,0,0,t,i,n)}},Uw={};const YNe=(e,t,r)=>{let n=[],i=t+1;for(let s=e;sthis.glyphWidths[zP[r]]),this.bbox=Array.from(this.attributes.FontBBox.split(/\s+/)).map(r=>+r),this.ascender=+(this.attributes.Ascender||0),this.descender=+(this.attributes.Descender||0),this.xHeight=+(this.attributes.XHeight||0),this.capHeight=+(this.attributes.CapHeight||0),this.lineGap=this.bbox[3]-this.bbox[1]-(this.ascender-this.descender)}parse(){const t=ZNe(this.contents);this.attributes=t.attributes,this.glyphWidths=t.glyphWidths,this.kernPairs=t.kernPairs}encodeText(t){const r=[];for(let n=0,i=t.length,s=0<=i;s?ni;s?n++:n--){let o=t.charCodeAt(n);o=UP[o]||o,r.push(o.toString(16))}return r}glyphsForString(t){const r=[];for(let n=0,i=t.length,s=0<=i;s?ni;s?n++:n--){const o=t.charCodeAt(n);r.push(this.characterToGlyph(o))}return r}characterToGlyph(t){return zP[UP[t]||t]||".notdef"}widthOfGlyph(t){return this.glyphWidths[t]||0}getKernPair(t,r){return this.kernPairs[t+r]||0}advancesForGlyphs(t){const r=[];for(let n=0;n[e.FontName,{attributes:e,glyphWidths:{},kernPairs:{}}],n6e=e=>{const{attributes:t,glyphWidths:r,kernPairs:n}=e,i=t.map(r6e);return Object.keys(r).forEach(s=>{r[s].forEach((o,l)=>{o&&(i[l][1].glyphWidths[s]=o)})}),Object.keys(n).forEach(s=>{n[s].forEach((o,l)=>{o&&(i[l][1].kernPairs[s]=o)})}),Object.fromEntries(i)},$P=n6e(t6e),i6e=e=>class extends e{constructor(r,n,i){super(),this.document=r,this.name=n,this.id=i,this.font=s8.fromJson($P[this.name]),this.ascender=this.font.ascender,this.descender=this.font.descender,this.bbox=this.font.bbox,this.lineGap=this.font.lineGap}embed(){return this.dictionary.data={Type:"Font",BaseFont:this.name,Subtype:"Type1",Encoding:"WinAnsiEncoding"},this.dictionary.end()}encode(r){const n=this.font.encodeText(r),i=this.font.glyphsForString(`${r}`),s=this.font.advancesForGlyphs(i),o=[];for(let l=0;l`0000${i.toString(16)}`.slice(-4)).join("")},a6e=e=>class extends e{constructor(r,n,i){super(),this.document=r,this.font=n,this.id=i,this.subset=this.font.createSubset(),this.unicode=[[0]],this.widths=[this.font.getGlyph(0).advanceWidth],this.name=this.font.postscriptName,this.scale=1e3/this.font.unitsPerEm,this.ascender=this.font.ascent*this.scale,this.descender=this.font.descent*this.scale,this.xHeight=this.font.xHeight*this.scale,this.capHeight=this.font.capHeight*this.scale,this.lineGap=this.font.lineGap*this.scale,this.bbox=this.font.bbox,this.layoutCache=Object.create(null)}layoutRun(r,n){const i=this.font.layout(r,n,void 0,void 0,"ltr");for(let s=0;s>8;let s=0;this.font.post.isFixedPitch&&(s|=1),1<=i&&i<=7&&(s|=2),s|=4,i===10&&(s|=8),this.font.head.macStyle.italic&&(s|=64);const l=[0,1,2,3,4,5].map(()=>String.fromCharCode(Math.random()*26+65)).join("")+"+"+this.font.postscriptName,{bbox:c}=this.font,d=this.document.ref({Type:"FontDescriptor",FontName:l,Flags:s,FontBBox:[c.minX*this.scale,c.minY*this.scale,c.maxX*this.scale,c.maxY*this.scale],ItalicAngle:this.font.italicAngle,Ascent:this.ascender,Descent:this.descender,CapHeight:(this.font.capHeight||this.font.ascent)*this.scale,XHeight:(this.font.xHeight||0)*this.scale,StemV:0});r?d.data.FontFile3=n:d.data.FontFile2=n,d.end();const u={Type:"Font",Subtype:"CIDFontType0",BaseFont:l,CIDSystemInfo:{Registry:new String("Adobe"),Ordering:new String("Identity"),Supplement:0},FontDescriptor:d,W:[0,this.widths]};r||(u.Subtype="CIDFontType2",u.CIDToGIDMap="Identity");const h=this.document.ref(u);return h.end(),this.dictionary.data={Type:"Font",Subtype:"Type0",BaseFont:l,Encoding:"Identity-H",DescendantFonts:[h],ToUnicode:this.toUnicodeCmap()},this.dictionary.end()}toUnicodeCmap(){const r=this.document.ref();let n=[],i=`/CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> def /CMapName /Adobe-Identity-UCS def /CMapType 2 def 1 begincodespacerange <0000> endcodespacerange`;for(let[s,o]of this.unicode.entries()){const l=[];n.length>=100&&(i+=` `+n.length+` beginbfchar `+n.join(` `)+` endbfchar`,n=[]);for(let c of o)c>65535&&(c-=65536,l.push(t3(c>>>10&1023|55296)),c=56320|c&1023),l.push(t3(c));n.push("<"+t3(s)+"><"+l.join(" ")+">")}return n.length&&(i+=` `+n.length+` beginbfchar `+n.join(` `)+` endbfchar `),i+=`endcmap CMapName currentdict /CMap defineresource pop end end`,r.end(i),r}};class SE{static open(t,r,n,i){let s;if(typeof r=="string"){if(HP.isStandardFont(r))return new HP(t,r,i);throw new Error(`Can't open ${r} in browser build`)}else r instanceof Uint8Array?s=bv(r,n):r instanceof ArrayBuffer?s=bv(new Uint8Array(r),n):typeof r=="object"&&(s=r);if(s==null)throw new Error("Not a supported font format or standard PDF font.");return new s6e(t,s,i)}encode(){throw new Error("Must be implemented by subclasses")}widthOfString(){throw new Error("Must be implemented by subclasses")}ref(){return this.dictionary!=null?this.dictionary:this.dictionary=this.document.ref()}finalize(){if(!(this.embedded||this.dictionary==null))return this.embed(),this.embedded=!0}embed(){throw new Error("Must be implemented by subclasses")}lineHeight(t,r){r==null&&(r=!1);const n=r?this.lineGap:0;return(this.ascender+n-this.descender)/1e3*t}}const HP=i6e(SE),s6e=a6e(SE);var o6e={initFonts(){return this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={},this.font("Helvetica")},font(e,t,r){let n,i;if(typeof t=="number"&&(r=t,t=null),typeof e=="string"&&this._registeredFonts[e]?(n=e,{src:e,family:t}=this._registeredFonts[e]):(n=t||e,typeof n!="string"&&(n=null)),r!=null&&this.fontSize(r),i=this._fontFamilies[n])return this._font=i,this;const s=`F${++this._fontCount}`;return this._font=SE.open(this,e,t,s),(i=this._fontFamilies[this._font.name])?(this._font=i,this):(n&&(this._fontFamilies[n]=this._font),this._font.name&&(this._fontFamilies[this._font.name]=this._font),this)},fontSize(e){return this._fontSize=e,this},currentLineHeight(e){return e==null&&(e=!1),this._font.lineHeight(this._fontSize,e)},registerFont(e,t,r){return this._registeredFonts[e]={src:t,family:r},this}};function wb(e){return Math.fround(e)}const qP="­",r3="-";class ZN extends qi{constructor(t,r){super(),this.document=t,this.horizontalScaling=r.horizontalScaling||100,this.indent=(r.indent||0)*this.horizontalScaling/100,this.characterSpacing=(r.characterSpacing||0)*this.horizontalScaling/100,this.wordSpacing=(r.wordSpacing===0)*this.horizontalScaling/100,this.columns=r.columns||1,this.columnGap=(r.columnGap!=null?r.columnGap:18)*this.horizontalScaling/100,this.lineWidth=(r.width*this.horizontalScaling/100-this.columnGap*(this.columns-1))/this.columns,this.spaceLeft=this.lineWidth,this.startX=this.document.x,this.startY=this.document.y,this.column=1,this.ellipsis=r.ellipsis,this.continuedX=0,this.features=r.features,r.height!=null?(this.height=r.height,this.maxY=wb(this.startY+r.height)):this.maxY=wb(this.document.page.maxY()),this.on("firstLine",n=>{const i=this.continuedX||this.indent;if(this.document.x+=i,this.lineWidth-=i,!n.indentAllLines)return this.once("line",()=>{if(this.document.x-=i,this.lineWidth+=i,n.continued&&!this.continuedX&&(this.continuedX=this.indent),!n.continued)return this.continuedX=0})}),this.on("lastLine",n=>{const{align:i}=n;return i==="justify"&&(n.align="left"),this.lastLine=!0,this.once("line",()=>(this.document.y+=n.paragraphGap||0,n.align=i,this.lastLine=!1))})}wordWidth(t){return this.document.widthOfString(t,this)+this.characterSpacing+this.wordSpacing}canFit(t,r){return t[t.length-1]!=qP?r<=this.spaceLeft:r+this.wordWidth(r3)<=this.spaceLeft}eachWord(t,r){let n;const i=new cq(t);let s=null;const o=Object.create(null);for(;n=i.nextBreak();){var l;let u=t.slice(s?.position||0,n.position),h=o[u]!=null?o[u]:o[u]=this.wordWidth(u);if(h>this.lineWidth+this.continuedX){let p=s;const A={};for(;u.length;){var c,d;h>this.spaceLeft?(c=Math.ceil(this.spaceLeft/(h/u.length)),h=this.wordWidth(u.slice(0,c)),d=h<=this.spaceLeft&&cthis.spaceLeft&&c>0;for(;y||d;)y?(h=this.wordWidth(u.slice(0,--c)),y=h>this.spaceLeft&&c>0):(h=this.wordWidth(u.slice(0,++c)),y=h>this.spaceLeft&&c>0,d=h<=this.spaceLeft&&cthis.maxY||n>this.maxY)&&this.nextSection();let i="",s=0,o=0,l=0,{y:c}=this.document;const d=()=>(r.textWidth=s+this.wordSpacing*(o-1),r.wordCount=o,r.lineWidth=this.lineWidth,{y:c}=this.document,this.emit("line",i,r,this),l++);return this.emit("sectionStart",r,this),this.eachWord(t,(u,h,p,A)=>{if((A==null||A.required)&&(this.emit("firstLine",r,this),this.spaceLeft=this.lineWidth),this.canFit(u,h)&&(i+=u,s+=h,o++),p.required||!this.canFit(u,h)){const y=this.document.currentLineHeight(!0);if(this.height!=null&&this.ellipsis&&wb(this.document.y+y*2)>this.maxY&&this.column>=this.columns){for(this.ellipsis===!0&&(this.ellipsis="…"),i=i.replace(/\s+$/,""),s=this.wordWidth(i+this.ellipsis);i&&s>this.lineWidth;)i=i.slice(0,-1).replace(/\s+$/,""),s=this.wordWidth(i+this.ellipsis);s<=this.lineWidth&&(i=i+this.ellipsis),s=this.wordWidth(i)}return p.required&&(h>this.spaceLeft&&(d(),i=u,s=h,o=1),this.emit("lastLine",r,this)),i[i.length-1]==qP&&(i=i.slice(0,-1)+r3,this.spaceLeft-=this.wordWidth(r3)),d(),wb(this.document.y+y)>this.maxY&&!this.nextSection()?(o=0,i="",!1):p.required?(this.spaceLeft=this.lineWidth,i="",s=0,o=0):(this.spaceLeft=this.lineWidth-h,i=u,s=h,o=1)}else return this.spaceLeft-=h}),o>0&&(this.emit("lastLine",r,this),d()),this.emit("sectionEnd",r,this),r.continued===!0?(l>1&&(this.continuedX=0),this.continuedX+=r.textWidth||0,this.document.y=c):this.document.x=this.startX}nextSection(t){if(this.emit("sectionEnd",t,this),++this.column>this.columns){if(this.height!=null)return!1;this.document.continueOnNewPage(),this.column=1,this.startY=this.document.page.margins.top,this.maxY=this.document.page.maxY(),this.document.x=this.startX,this.document._fillColor&&this.document.fillColor(...this.document._fillColor),this.emit("pageBreak",t,this)}else this.document.x+=this.lineWidth+this.columnGap,this.document.y=this.startY,this.emit("columnBreak",t,this);return this.emit("sectionStart",t,this),!0}}const{number:Qf}=uu;var l6e={initText(){return this._line=this._line.bind(this),this.x=0,this.y=0,this._lineGap=0},lineGap(e){return this._lineGap=e,this},moveDown(e){return e==null&&(e=1),this.y+=this.currentLineHeight(!0)*e+this._lineGap,this},moveUp(e){return e==null&&(e=1),this.y-=this.currentLineHeight(!0)*e+this._lineGap,this},_text(e,t,r,n,i){n=this._initOptions(t,r,n),e=e==null?"":`${e}`,n.wordSpacing&&(e=e.replace(/\s{2,}/g," "));const s=()=>{n.structParent&&n.structParent.add(this.struct(n.structType||"P",[this.markStructureContent(n.structType||"P")]))};if(n.rotation!==0&&(this.save(),this.rotate(-n.rotation,{origin:[this.x,this.y]})),n.width){let o=this._wrapper;o||(o=new ZN(this,n),o.on("line",i),o.on("firstLine",s)),this._wrapper=n.continued?o:null,this._textOptions=n.continued?n:null,o.wrap(e,n)}else for(let o of e.split(` `))s(),i(o,n);return n.rotation!==0&&this.restore(),this},text(e,t,r,n){return this._text(e,t,r,n,this._line)},widthOfString(e,t){t===void 0&&(t={});const r=t.horizontalScaling||100;return(this._font.widthOfString(e,this._fontSize,t.features)+(t.characterSpacing||0)*(e.length-1))*r/100},boundsOfString(e,t,r,n){},heightOfString(e,t){const{x:r,y:n}=this;t=this._initOptions(t),t.height=1/0;const i=t.lineGap||this._lineGap||0;this._text(e,this.x,this.y,t,()=>this.y+=this.currentLineHeight(!0)+i);const s=this.y-n;return this.x=r,this.y=n,s},list(e,t,r,n,i){n=this._initOptions(t,r,n);const s=n.listType||"bullet",o=Math.round(this._font.ascender/1e3*this._fontSize),l=o/2,c=n.bulletRadius||o/3,d=n.textIndent||(s==="bullet"?c*5:o*2),u=n.bulletIndent||(s==="bullet"?c*8:o*2);let h=1;const p=[],A=[],y=[];var v=function(E){let S=1;for(let _=0;_{let _,C,Q,R;n.structParent&&(n.structTypes?[C,Q,R]=n.structTypes:[C,Q,R]=["LI","Lbl","LBody"]),C?(_=this.struct(C),n.structParent.add(_)):n.structParent&&(_=n.structParent);let T;if((T=A[S++])!==h){const O=u*(T-h);this.x+=O,i.lineWidth-=O,h=T}switch(_&&(Q||R)&&_.add(this.struct(Q||R,[this.markStructureContent(Q||R)])),s){case"bullet":this.circle(this.x-d+c,this.y+l,c),this.fill();break;case"numbered":case"lettered":var M=w(y[S-1]);this._fragment(M,this.x-d,this.y,n);break}_&&Q&&R&&_.add(this.struct(R,[this.markStructureContent(R)])),_&&_!==n.structParent&&_.end()}),i.on("sectionStart",()=>{const _=d+u*(h-1);return this.x+=_,i.lineWidth-=_}),i.on("sectionEnd",()=>{const _=d+u*(h-1);return this.x-=_,i.lineWidth+=_}),i.wrap(E,n)};for(let E=0;E{if(S ${Qf(-M)}`)}return S=R},Q=R=>{if(C(R),E.length>0)return this.addContent(`[${E.join(" ")}] TJ`),E.length=0};for(o=0;o{let r,n;const i=this.image.colors,s=this.width*this.height,o=kt.alloc(s*i),l=kt.alloc(s);let c=n=r=0;const d=t.length,u=this.image.bits===16?1:0;for(;c{const n=kt.alloc(this.width*this.height);let i=0;for(let s=0,o=r.length;s{this.imgData=Mx.deflateSync(t),this.finalize()})}}class f6e{static open(t,r){let n;if(kt.isBuffer(t))n=t;else if(t instanceof ArrayBuffer)n=kt.from(new Uint8Array(t));else{let i;if(i=/^data:.+?;base64,(.*)$/.exec(t))n=kt.from(i[1],"base64");else if(n=Uw.readFileSync(t),!n)return}if(n[0]===255&&n[1]===216)return new u6e(n,r);if(n[0]===137&&n.toString("ascii",1,4)==="PNG")return new d6e(n,r);throw new Error("Unknown image format.")}}var h6e={initImages(){return this._imageRegistry={},this._imageCount=0},image(e,t,r,n){n===void 0&&(n={});let i,s,o,l,c,d,u,h,p,A;typeof t=="object"&&(n=t,t=null);const y=n.ignoreOrientation||n.ignoreOrientation!==!1&&this.options.ignoreOrientation;t=(d=t??n.x)!=null?d:this.x,r=(u=r??n.y)!=null?u:this.y,typeof e=="string"&&(l=this._imageRegistry[e]),l||(e.width&&e.height?l=e:l=this.openImage(e)),l.obj||l.embed(this),this.page.xobjects[l.label]==null&&(this.page.xobjects[l.label]=l.obj);let{width:v,height:w}=l;!y&&l.orientation>4&&([v,w]=[w,v]);let j=n.width||v,E=n.height||w;if(n.width&&!n.height){const S=j/v;j=v*S,E=w*S}else if(n.height&&!n.width){const S=E/w;j=v*S,E=w*S}else n.scale?(j=v*n.scale,E=w*n.scale):n.fit?([o,i]=n.fit,s=o/i,c=v/w,c>s?(j=o,E=o/c):(E=i,j=i*c)):n.cover&&([o,i]=n.cover,s=o/i,c=v/w,c>s?(E=i,j=i*c):(j=o,E=o/c));if((n.fit||n.cover)&&(n.align==="center"?t=t+o/2-j/2:n.align==="right"&&(t=t+o-j),n.valign==="center"?r=r+i/2-E/2:n.valign==="bottom"&&(r=r+i-E)),y)E=-E,r-=E,h=0;else switch(l.orientation){default:case 1:E=-E,r-=E,h=0;break;case 2:j=-j,E=-E,t-=j,r-=E,h=0;break;case 3:p=t,A=r,E=-E,t-=j,h=180;break;case 4:break;case 5:p=t,A=r,[j,E]=[E,j],r-=E,h=90;break;case 6:p=t,A=r,[j,E]=[E,j],E=-E,h=90;break;case 7:p=t,A=r,[j,E]=[E,j],E=-E,j=-j,t-=j,h=90;break;case 8:p=t,A=r,[j,E]=[E,j],E=-E,t-=j,r-=E,h=-90;break}return n.link!=null&&this.link(t,r,j,E,n.link),n.goTo!=null&&this.goTo(t,r,j,E,n.goTo),n.destination!=null&&this.addNamedDestination(n.destination,"XYZ",t,r,null),this.y===r&&(this.y+=E),this.save(),h&&this.rotate(h,{origin:[p,A]}),this.transform(j,0,0,E,t,r),this.addContent(`/${l.label} Do`),this.restore(),this},openImage(e){let t;return typeof e=="string"&&(t=this._imageRegistry[e]),t||(t=f6e.open(e,`I${++this._imageCount}`),typeof e=="string"&&(this._imageRegistry[e]=t)),t}},m6e={annotate(e,t,r,n,i){i.Type="Annot",i.Rect=this._convertRect(e,t,r,n),i.Border=[0,0,0],i.Subtype==="Link"&&typeof i.F>"u"&&(i.F=4),i.Subtype!=="Link"&&i.C==null&&(i.C=this._normalizeColor(i.color||[0,0,0])),delete i.color,typeof i.Dest=="string"&&(i.Dest=new String(i.Dest));for(let o in i){const l=i[o];i[o[0].toUpperCase()+o.slice(1)]=l}const s=this.ref(i);return this.page.annotations.push(s),s.end(),this},note(e,t,r,n,i,s){return s===void 0&&(s={}),s.Subtype="Text",s.Contents=new String(i),s.Name==null&&(s.Name="Comment"),s.color==null&&(s.color=[243,223,92]),this.annotate(e,t,r,n,s)},goTo(e,t,r,n,i,s){return s===void 0&&(s={}),s.Subtype="Link",s.A=this.ref({S:"GoTo",D:new String(i)}),s.A.end(),this.annotate(e,t,r,n,s)},link(e,t,r,n,i,s){if(s===void 0&&(s={}),s.Subtype="Link",typeof i=="number"){const o=this._root.data.Pages.data;if(i>=0&&i0){this.options.expanded&&(this.outlineData.Count=this.children.length);const t=this.children[0],r=this.children[this.children.length-1];this.outlineData.First=t.dictionary,this.outlineData.Last=r.dictionary;for(let n=0,i=this.children.length;n0&&(s.outlineData.Prev=this.children[n-1].dictionary),n0)return this._root.data.Outlines=this.outline.dictionary,this._root.data.PageMode=this._root.data.PageMode||"UseOutlines"}};class W5{constructor(t,r){this.refs=[{pageRef:t,mcid:r}]}push(t){t.refs.forEach(r=>this.refs.push(r))}}class lm{constructor(t,r,n,i){n===void 0&&(n={}),i===void 0&&(i=null),this.document=t,this._attached=!1,this._ended=!1,this._flushed=!1,this.dictionary=t.ref({S:r});const s=this.dictionary.data;(Array.isArray(n)||this._isValidChild(n))&&(i=n,n={}),typeof n.title<"u"&&(s.T=new String(n.title)),typeof n.lang<"u"&&(s.Lang=new String(n.lang)),typeof n.alt<"u"&&(s.Alt=new String(n.alt)),typeof n.expanded<"u"&&(s.E=new String(n.expanded)),typeof n.actual<"u"&&(s.ActualText=new String(n.actual)),this._children=[],i&&(Array.isArray(i)||(i=[i]),i.forEach(o=>this.add(o)),this.end())}add(t){if(this._ended)throw new Error("Cannot add child to already-ended structure element");if(!this._isValidChild(t))throw new Error("Invalid structure element child");return t instanceof lm&&(t.setParent(this.dictionary),this._attached&&t.setAttached()),t instanceof W5&&this._addContentToParentTree(t),typeof t=="function"&&this._attached&&(t=this._contentForClosure(t)),this._children.push(t),this}_addContentToParentTree(t){t.refs.forEach(r=>{let{pageRef:n,mcid:i}=r;const s=this.document.getStructParentTree().get(n.data.StructParents);s[i]=this.dictionary})}setParent(t){if(this.dictionary.data.P)throw new Error("Structure element added to more than one parent");this.dictionary.data.P=t,this._flush()}setAttached(){this._attached||(this._children.forEach((t,r)=>{t instanceof lm&&t.setAttached(),typeof t=="function"&&(this._children[r]=this._contentForClosure(t))}),this._attached=!0,this._flush())}end(){this._ended||(this._children.filter(t=>t instanceof lm).forEach(t=>t.end()),this._ended=!0,this._flush())}_isValidChild(t){return t instanceof lm||t instanceof W5||typeof t=="function"}_contentForClosure(t){const r=this.document.markStructureContent(this.dictionary.data.S);return t(),this.document.endMarkedContent(),this._addContentToParentTree(r),r}_isFlushable(){return!this.dictionary.data.P||!this._ended?!1:this._children.every(t=>typeof t=="function"?!1:t instanceof lm?t._isFlushable():!0)}_flush(){this._flushed||!this._isFlushable()||(this.dictionary.data.K=[],this._children.forEach(t=>this._flushChild(t)),this.dictionary.end(),this._children=[],this.dictionary.data.K=null,this._flushed=!0)}_flushChild(t){t instanceof lm&&this.dictionary.data.K.push(t.dictionary),t instanceof W5&&t.refs.forEach(r=>{let{pageRef:n,mcid:i}=r;this.dictionary.data.Pg||(this.dictionary.data.Pg=n),this.dictionary.data.Pg===n?this.dictionary.data.K.push(i):this.dictionary.data.K.push({Type:"MCR",Pg:n,MCID:i})})}}class g6e extends nW{_compareKeys(t,r){return parseInt(t)-parseInt(r)}_keysName(){return"Nums"}_dataForKey(t){return parseInt(t)}}var A6e={initMarkings(e){this.structChildren=[],e.tagged&&(this.getMarkInfoDictionary().data.Marked=!0,this.getStructTreeRoot())},markContent(e,t){if(t===void 0&&(t=null),e==="Artifact"||t&&t.mcid){let n=0;for(this.page.markings.forEach(i=>{(n||i.structContent||i.tag==="Artifact")&&n++});n--;)this.endMarkedContent()}if(!t)return this.page.markings.push({tag:e}),this.addContent(`/${e} BMC`),this;this.page.markings.push({tag:e,options:t});const r={};return typeof t.mcid<"u"&&(r.MCID=t.mcid),e==="Artifact"&&(typeof t.type=="string"&&(r.Type=t.type),Array.isArray(t.bbox)&&(r.BBox=[t.bbox[0],this.page.height-t.bbox[3],t.bbox[2],this.page.height-t.bbox[1]]),Array.isArray(t.attached)&&t.attached.every(n=>typeof n=="string")&&(r.Attached=t.attached)),e==="Span"&&(t.lang&&(r.Lang=new String(t.lang)),t.alt&&(r.Alt=new String(t.alt)),t.expanded&&(r.E=new String(t.expanded)),t.actual&&(r.ActualText=new String(t.actual))),this.addContent(`/${e} ${uu.convert(r)} BDC`),this},markStructureContent(e,t){t===void 0&&(t={});const r=this.getStructParentTree().get(this.page.structParentTreeKey),n=r.length;r.push(null),this.markContent(e,{...t,mcid:n});const i=new W5(this.page.dictionary,n);return this.page.markings.slice(-1)[0].structContent=i,i},endMarkedContent(){return this.page.markings.pop(),this.addContent("EMC"),this},struct(e,t,r){return t===void 0&&(t={}),r===void 0&&(r=null),new lm(this,e,t,r)},addStructure(e){const t=this.getStructTreeRoot();return e.setParent(t),e.setAttached(),this.structChildren.push(e),t.data.K||(t.data.K=[]),t.data.K.push(e.dictionary),this},initPageMarkings(e){e.forEach(t=>{if(t.structContent){const r=t.structContent,n=this.markStructureContent(t.tag,t.options);r.push(n),this.page.markings.slice(-1)[0].structContent=r}else this.markContent(t.tag,t.options)})},endPageMarkings(e){const t=e.markings;return t.forEach(()=>e.write("EMC")),e.markings=[],t},getMarkInfoDictionary(){return this._root.data.MarkInfo||(this._root.data.MarkInfo=this.ref({})),this._root.data.MarkInfo},hasMarkInfoDictionary(){return!!this._root.data.MarkInfo},getStructTreeRoot(){return this._root.data.StructTreeRoot||(this._root.data.StructTreeRoot=this.ref({Type:"StructTreeRoot",ParentTree:new g6e,ParentTreeNextKey:0})),this._root.data.StructTreeRoot},getStructParentTree(){return this.getStructTreeRoot().data.ParentTree},createStructParentTreeNextKey(){this.getMarkInfoDictionary();const e=this.getStructTreeRoot(),t=e.data.ParentTreeNextKey++;return e.data.ParentTree.add(t,[]),t},endMarkings(){const e=this._root.data.StructTreeRoot;e&&(e.end(),this.structChildren.forEach(t=>t.end())),this._root.data.MarkInfo&&this._root.data.MarkInfo.end()}};const VP={readOnly:1,required:2,noExport:4,multiline:4096,password:8192,toggleToOffButton:16384,radioButton:32768,pushButton:65536,combo:131072,edit:262144,sort:524288,multiSelect:2097152,noSpell:4194304},WP={left:0,center:1,right:2},KP={value:"V",defaultValue:"DV"},YP={zip:"0",zipPlus4:"1",zip4:"1",phone:"2",ssn:"3"},ZP={number:{nDec:0,sepComma:!1,negStyle:"MinusBlack",currency:"",currencyPrepend:!0},percent:{nDec:0,sepComma:!1}};var x6e={initForm(){if(!this._font)throw new Error("Must set a font before calling initForm method");this._acroform={fonts:{},defaultFont:this._font.name},this._acroform.fonts[this._font.id]=this._font.ref();let e={Fields:[],NeedAppearances:!0,DA:new String(`/${this._font.id} 0 Tf 0 g`),DR:{Font:{}}};e.DR.Font[this._font.id]=this._font.ref();const t=this.ref(e);return this._root.data.AcroForm=t,this},endAcroForm(){if(this._root.data.AcroForm){if(!Object.keys(this._acroform.fonts).length&&!this._acroform.defaultFont)throw new Error("No fonts specified for PDF form");let e=this._root.data.AcroForm.data.DR.Font;Object.keys(this._acroform.fonts).forEach(t=>{e[t]=this._acroform.fonts[t]}),this._root.data.AcroForm.data.Fields.forEach(t=>{this._endChild(t)}),this._root.data.AcroForm.end()}return this},_endChild(e){return Array.isArray(e.data.Kids)&&(e.data.Kids.forEach(t=>{this._endChild(t)}),e.end()),this},formField(e,t){t===void 0&&(t={});let r=this._fieldDict(e,null,t),n=this.ref(r);return this._addToParent(n),n},formAnnotation(e,t,r,n,i,s,o){o===void 0&&(o={});let l=this._fieldDict(e,t,o);l.Subtype="Widget",l.F===void 0&&(l.F=4),this.annotate(r,n,i,s,l);let c=this.page.annotations[this.page.annotations.length-1];return this._addToParent(c)},formText(e,t,r,n,i,s){return s===void 0&&(s={}),this.formAnnotation(e,"text",t,r,n,i,s)},formPushButton(e,t,r,n,i,s){return s===void 0&&(s={}),this.formAnnotation(e,"pushButton",t,r,n,i,s)},formCombo(e,t,r,n,i,s){return s===void 0&&(s={}),this.formAnnotation(e,"combo",t,r,n,i,s)},formList(e,t,r,n,i,s){return s===void 0&&(s={}),this.formAnnotation(e,"list",t,r,n,i,s)},formRadioButton(e,t,r,n,i,s){return s===void 0&&(s={}),this.formAnnotation(e,"radioButton",t,r,n,i,s)},formCheckbox(e,t,r,n,i,s){return s===void 0&&(s={}),this.formAnnotation(e,"checkbox",t,r,n,i,s)},_addToParent(e){let t=e.data.Parent;return t?(t.data.Kids||(t.data.Kids=[]),t.data.Kids.push(e)):this._root.data.AcroForm.data.Fields.push(e),this},_fieldDict(e,t,r){if(r===void 0&&(r={}),!this._acroform)throw new Error("Call document.initForm() method before adding form elements to document");let n=Object.assign({},r);return t!==null&&(n=this._resolveType(t,r)),n=this._resolveFlags(n),n=this._resolveJustify(n),n=this._resolveFont(n),n=this._resolveStrings(n),n=this._resolveColors(n),n=this._resolveFormat(n),n.T=new String(e),n.parent&&(n.Parent=n.parent,delete n.parent),n},_resolveType(e,t){if(e==="text")t.FT="Tx";else if(e==="pushButton")t.FT="Btn",t.pushButton=!0;else if(e==="radioButton")t.FT="Btn",t.radioButton=!0;else if(e==="checkbox")t.FT="Btn";else if(e==="combo")t.FT="Ch",t.combo=!0;else if(e==="list")t.FT="Ch";else throw new Error(`Invalid form annotation type '${e}'`);return t},_resolveFormat(e){const t=e.format;if(t&&t.type){let r,n,i="";if(YP[t.type]!==void 0)r="AFSpecial_Keystroke",n="AFSpecial_Format",i=YP[t.type];else{let s=t.type.charAt(0).toUpperCase()+t.type.slice(1);if(r=`AF${s}_Keystroke`,n=`AF${s}_Format`,t.type==="date")r+="Ex",i=String(t.param);else if(t.type==="time")i=String(t.param);else if(t.type==="number"){let o=Object.assign({},ZP.number,t);i=String([String(o.nDec),o.sepComma?"0":"1",'"'+o.negStyle+'"',"null",'"'+o.currency+'"',String(o.currencyPrepend)].join(","))}else if(t.type==="percent"){let o=Object.assign({},ZP.percent,t);i=String([String(o.nDec),o.sepComma?"0":"1"].join(","))}}e.AA=e.AA?e.AA:{},e.AA.K={S:"JavaScript",JS:new String(`${r}(${i});`)},e.AA.F={S:"JavaScript",JS:new String(`${n}(${i});`)}}return delete e.format,e},_resolveColors(e){let t=this._normalizeColor(e.backgroundColor);return t&&(e.MK||(e.MK={}),e.MK.BG=t),t=this._normalizeColor(e.borderColor),t&&(e.MK||(e.MK={}),e.MK.BC=t),delete e.backgroundColor,delete e.borderColor,e},_resolveFlags(e){let t=0;return Object.keys(e).forEach(r=>{VP[r]&&(e[r]&&(t|=VP[r]),delete e[r])}),t!==0&&(e.Ff=e.Ff?e.Ff:0,e.Ff|=t),e},_resolveJustify(e){let t=0;return e.align!==void 0&&(typeof WP[e.align]=="number"&&(t=WP[e.align]),delete e.align),t!==0&&(e.Q=t),e},_resolveFont(e){if(this._acroform.fonts[this._font.id]==null&&(this._acroform.fonts[this._font.id]=this._font.ref()),this._acroform.defaultFont!==this._font.name){e.DR={Font:{}};const t=e.fontSize||0;e.DR.Font[this._font.id]=this._font.ref(),e.DA=new String(`/${this._font.id} ${t} Tf 0 g`)}return e},_resolveStrings(e){let t=[];function r(n){if(Array.isArray(n))for(let i=0;i{e[n]!==void 0&&(e[KP[n]]=e[n],delete e[n])}),["V","DV"].forEach(n=>{typeof e[n]=="string"&&(e[n]=new String(e[n]))}),e.MK&&e.MK.CA&&(e.MK.CA=new String(e.MK.CA)),e.label&&(e.MK=e.MK?e.MK:{},e.MK.CA=new String(e.label),delete e.label),e}},v6e={file(e,t){t===void 0&&(t={}),t.name=t.name||e,t.relationship=t.relationship||"Unspecified";const r={Type:"EmbeddedFile",Params:{}};let n;if(!e)throw new Error("No src specified");if(kt.isBuffer(e))n=e;else if(e instanceof ArrayBuffer)n=kt.from(new Uint8Array(e));else{let d;if(d=/^data:(.*?);base64,(.*)$/.exec(e))d[1]&&(r.Subtype=d[1].replace("/","#2F")),n=kt.from(d[2],"base64");else{if(n=Uw.readFileSync(e),!n)throw new Error(`Could not read contents of file at filepath ${e}`);const{birthtime:u,ctime:h}=Uw.statSync(e);r.Params.CreationDate=u,r.Params.ModDate=h}}t.creationDate instanceof Date&&(r.Params.CreationDate=t.creationDate),t.modifiedDate instanceof Date&&(r.Params.ModDate=t.modifiedDate),t.type&&(r.Subtype=t.type.replace("/","#2F"));const i=dP.MD5(dP.lib.WordArray.create(new Uint8Array(n)));r.Params.CheckSum=new String(i),r.Params.Size=n.byteLength;let s;this._fileRegistry||(this._fileRegistry={});let o=this._fileRegistry[t.name];o&&y6e(r,o)?s=o.ref:(s=this.ref(r),s.end(n),this._fileRegistry[t.name]={...r,ref:s});const l={Type:"Filespec",AFRelationship:t.relationship,F:new String(t.name),EF:{F:s},UF:new String(t.name)};t.description&&(l.Desc=new String(t.description));const c=this.ref(l);return c.end(),t.hidden||this.addNamedEmbeddedFile(t.name,c),this._root.data.AF?this._root.data.AF.push(c):this._root.data.AF=[c],c}};function y6e(e,t){return e.Subtype===t.Subtype&&e.Params.CheckSum.toString()===t.Params.CheckSum.toString()&&e.Params.Size===t.Params.Size&&e.Params.CreationDate.getTime()===t.Params.CreationDate.getTime()&&(e.Params.ModDate===void 0&&t.Params.ModDate===void 0||e.Params.ModDate.getTime()===t.Params.ModDate.getTime())}var b6e="/home/runner/work/react-pdf/react-pdf/packages/pdfkit/src/mixins",w6e={initPDFA(e){e.charAt(e.length-3)==="-"?(this.subset_conformance=e.charAt(e.length-1).toUpperCase(),this.subset=parseInt(e.charAt(e.length-2))):(this.subset_conformance="B",this.subset=parseInt(e.charAt(e.length-1)))},endSubset(){this._addPdfaMetadata(),this._addColorOutputIntent()},_addColorOutputIntent(){const e=Uw.readFileSync(`${b6e}/data/sRGB_IEC61966_2_1.icc`),t=this.ref({Length:e.length,N:3});t.write(e),t.end();const r=this.ref({Type:"OutputIntent",S:"GTS_PDFA1",Info:new String("sRGB IEC61966-2.1"),OutputConditionIdentifier:new String("sRGB IEC61966-2.1"),DestOutputProfile:t});r.end(),this._root.data.OutputIntents=[r]},_getPdfaid(){return` ${this.subset} ${this.subset_conformance} `},_addPdfaMetadata(){this.appendXML(this._getPdfaid())}},E6e={initPDFUA(){this.subset=1},endSubset(){this._addPdfuaMetadata()},_addPdfuaMetadata(){this.appendXML(this._getPdfuaid())},_getPdfuaid(){return` ${this.subset} `}},C6e={_importSubset(e){Object.assign(this,e)},initSubset(e){switch(e.subset){case"PDF/A-1":case"PDF/A-1a":case"PDF/A-1b":case"PDF/A-2":case"PDF/A-2a":case"PDF/A-2b":case"PDF/A-3":case"PDF/A-3a":case"PDF/A-3b":this._importSubset(w6e),this.initPDFA(e.subset);break;case"PDF/UA":this._importSubset(E6e),this.initPDFUA();break}}};class I6e{constructor(){this._metadata=` `}_closeTags(){this._metadata=this._metadata.concat(` `)}append(t,r){r===void 0&&(r=!0),this._metadata=this._metadata.concat(t),r&&(this._metadata=this._metadata.concat(` `))}getXML(){return this._metadata}getLength(){return this._metadata.length}end(){this._closeTags(),this._metadata=this._metadata.trim()}}var j6e={initMetadata(){this.metadata=new I6e},appendXML(e,t){t===void 0&&(t=!0),this.metadata.append(e,t)},_addInfo(){this.appendXML(` ${this.info.CreationDate.toISOString().split(".")[0]+"Z"} ${this.info.Creator} `),(this.info.Title||this.info.Author||this.info.Subject)&&(this.appendXML(` `),this.info.Title&&this.appendXML(` ${this.info.Title} `),this.info.Author&&this.appendXML(` ${this.info.Author} `),this.info.Subject&&this.appendXML(` ${this.info.Subject} `),this.appendXML(` `)),this.appendXML(` ${this.info.Creator}`,!1),this.info.Keywords&&this.appendXML(` ${this.info.Keywords}`,!1),this.appendXML(` `)},endMetadata(){this._addInfo(),this.metadata.end(),this.version!=1.3&&(this.metadataRef=this.ref({length:this.metadata.getLength(),Type:"Metadata",Subtype:"XML"}),this.metadataRef.compress=!1,this.metadataRef.write(kt.from(this.metadata.getXML(),"utf-8")),this.metadataRef.end(),this._root.data.Metadata=this.metadataRef)}};class l8 extends GV.Readable{constructor(t){switch(t===void 0&&(t={}),super(t),this.options=t,t.pdfVersion){case"1.4":this.version=1.4;break;case"1.5":this.version=1.5;break;case"1.6":this.version=1.6;break;case"1.7":case"1.7ext3":this.version=1.7;break;default:this.version=1.3;break}this.compress=this.options.compress!=null?this.options.compress:!0,this._pageBuffer=[],this._pageBufferStart=0,this._offsets=[],this._waiting=0,this._ended=!1,this._offset=0;const r=this.ref({Type:"Pages",Count:0,Kids:[]}),n=this.ref({Dests:new V5});if(this._root=this.ref({Type:"Catalog",Pages:r,Names:n}),this.options.lang&&(this._root.data.Lang=new String(this.options.lang)),this.page=null,this.initMetadata(),this.initColor(),this.initVector(),this.initFonts(t.font),this.initText(),this.initImages(),this.initOutline(),this.initMarkings(t),this.initSubset(t),this.info={Producer:"PDFKit",Creator:"PDFKit",CreationDate:new Date},this.options.info)for(let i in this.options.info){const s=this.options.info[i];this.info[i]=s}this.options.displayTitle&&(this._root.data.ViewerPreferences=this.ref({DisplayDocTitle:!0})),this._id=BNe.generateFileID(this.info),this._write(`%PDF-${this.version}`),this._write("%ÿÿÿÿ"),this.options.autoFirstPage!==!1&&this.addPage()}addPage(t){t==null&&({options:t}=this),this.options.bufferPages||this.flushPages(),this.page=new NNe(this,t),this._pageBuffer.push(this.page);const r=this._root.data.Pages.data;return r.Kids.push(this.page.dictionary),r.Count++,this.x=this.page.margins.left,this.y=this.page.margins.top,this._ctm=[1,0,0,1,0,0],this.transform(1,0,0,-1,0,this.page.height),this.emit("pageAdded"),this}continueOnNewPage(t){const r=this.endPageMarkings(this.page);return this.addPage(t??this.page._options),this.initPageMarkings(r),this}bufferedPageRange(){return{start:this._pageBufferStart,count:this._pageBuffer.length}}switchToPage(t){let r;if(!(r=this._pageBuffer[t-this._pageBufferStart]))throw new Error(`switchToPage(${t}) out of bounds, current buffer covers pages ${this._pageBufferStart} to ${this._pageBufferStart+this._pageBuffer.length-1}`);return this.page=r}flushPages(){const t=this._pageBuffer;this._pageBuffer=[],this._pageBufferStart+=t.length;for(let r of t)this.endPageMarkings(r),r.end()}addNamedDestination(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i{Object.assign(l8.prototype,e)};u0(j6e);u0(MNe);u0(KNe);u0(o6e);u0(l6e);u0(h6e);u0(m6e);u0(p6e);u0(A6e);u0(x6e);u0(v6e);u0(C6e);l8.LineWrapper=ZN;const N6e=["Courier","Courier-Bold","Courier-Oblique","Courier-BoldOblique","Helvetica","Helvetica-Bold","Helvetica-Oblique","Helvetica-BoldOblique","Times-Roman","Times-Bold","Times-Italic","Times-BoldItalic"];class S6e{name;src;fullName;familyName;subfamilyName;postscriptName;copyright;version;underlinePosition;underlineThickness;italicAngle;bbox;"OS/2";hhea;numGlyphs;characterSet;availableFeatures;type;constructor(t){this.name=t,this.fullName=t,this.familyName=t,this.subfamilyName=t,this.type="STANDARD",this.postscriptName=t,this.availableFeatures=[],this.copyright="",this.version=1,this.underlinePosition=-100,this.underlineThickness=50,this.italicAngle=0,this.bbox={},this["OS/2"]={},this.hhea={},this.numGlyphs=0,this.characterSet=[],this.src=SE.open(null,t)}encode(t){return this.src.encode(t)}layout(t){const[r,n]=this.encode(t),i=r.map((o,l)=>{const c=this.getGlyph(parseInt(o,16));return c.advanceWidth=n[l].advanceWidth,c}),s=n.reduce((o,l)=>o+l.advanceWidth,0);return{positions:n,stringIndices:n.map((o,l)=>l),glyphs:i,script:"latin",language:"dflt",direction:"ltr",features:{},advanceWidth:s,advanceHeight:0,bbox:void 0}}glyphForCodePoint(t){const r=this.getGlyph(t);return r.advanceWidth=400,r}getGlyph(t){return{id:t,codePoints:[t],isLigature:!1,name:this.src.font.characterToGlyph(t),_font:this.src,advanceWidth:void 0}}hasGlyphForCodePoint(t){return this.src.font.characterToGlyph(t)!==".notdef"}get ascent(){return 900}get capHeight(){switch(this.name){case"Times-Roman":case"Times-Bold":case"Times-Italic":case"Times-BoldItalic":return 650;case"Courier":case"Courier-Bold":case"Courier-Oblique":case"Courier-BoldOblique":return 550;default:return 690}}get xHeight(){switch(this.name){case"Times-Roman":case"Times-Bold":case"Times-Italic":case"Times-BoldItalic":return 440;case"Courier":case"Courier-Bold":case"Courier-Oblique":case"Courier-BoldOblique":return 390;default:return 490}}get descent(){switch(this.name){case"Times-Roman":case"Times-Bold":case"Times-Italic":case"Times-BoldItalic":return-220;case"Courier":case"Courier-Bold":case"Courier-Oblique":case"Courier-BoldOblique":return-230;default:return-200}}get lineGap(){return 0}get unitsPerEm(){return 1e3}stringsForGlyph(){throw new Error("Method not implemented.")}glyphsForString(){throw new Error("Method not implemented.")}widthOfGlyph(){throw new Error("Method not implemented.")}getAvailableFeatures(){throw new Error("Method not implemented.")}createSubset(){throw new Error("Method not implemented.")}getVariation(){throw new Error("Method not implemented.")}getFont(){throw new Error("Method not implemented.")}getName(){throw new Error("Method not implemented.")}setDefaultLanguage(){throw new Error("Method not implemented.")}}const B6e=async(e,t)=>{const n=await(await fetch(e,t)).arrayBuffer();return new Uint8Array(n)},k6e=e=>{const t=e.split(",")[0],r=t.substring(0,5)==="data:",n=t.split(";")[1]==="base64";return r&&n};class _6e{src;fontFamily;fontStyle;fontWeight;data;options;loadResultPromise;constructor(t,r,n,i,s){this.src=t,this.fontFamily=r,this.fontStyle=n||"normal",this.fontWeight=i||400,this.data=null,this.options=s||{},this.loadResultPromise=null}async _load(){const{postscriptName:t}=this.options;let r=null;if(N6e.includes(this.src))r=new S6e(this.src);else if(k6e(this.src)){const n=this.src.split(",")[1],i=new Uint8Array(atob(n).split("").map(s=>s.charCodeAt(0)));r=bv(i,t)}else{const{headers:n,body:i,method:s="GET"}=this.options,o=await B6e(this.src,{method:s,body:i,headers:n});r=bv(o,t)}if(r&&"fonts"in r)throw new Error("Font collection is not supported");this.data=r}async load(){return this.loadResultPromise===null&&(this.loadResultPromise=this._load()),this.loadResultPromise}}const D6e={thin:100,hairline:100,ultralight:200,extralight:200,light:300,normal:400,medium:500,semibold:600,demibold:600,bold:700,ultrabold:800,extrabold:800,heavy:900,black:900},JP=e=>typeof e=="string"?D6e[e]:e,XP=(e,t)=>e.fontWeight-t.fontWeight;class c8{family;sources;static create(t){return new c8(t)}constructor(t){this.family=t,this.sources=[]}register({src:t,fontWeight:r,fontStyle:n,...i}){const s=r?JP(r):void 0;this.sources.push(new _6e(t,this.family,n,s,i))}resolve(t){const{fontWeight:r=400,fontStyle:n="normal"}=t,i=this.sources.filter(u=>u.fontStyle===n),s=i.find(u=>u.fontWeight===r);if(s)return s;let o=null;const l=JP(r);if(l>=400&&l<=500){const u=i.filter(A=>A.fontWeight<=l),h=i.filter(A=>A.fontWeight>500);o=i.filter(A=>A.fontWeight>=l&&A.fontWeight<500)[0]||u[u.length-1]||h[0]}const c=i.filter(u=>u.fontWeightu.fontWeight>l).sort(XP);if(l<400&&(o=c[c.length-1]||d[0]),l>500&&(o=d[0]||c[c.length-1]),!o)throw new Error(`Could not resolve font for ${this.family}, fontWeight ${r}, fontStyle ${n}`);return o}}class T6e{fontFamilies={};emojiSource=null;constructor(){this.register({family:"Helvetica",fonts:[{src:"Helvetica",fontStyle:"normal",fontWeight:400},{src:"Helvetica-Bold",fontStyle:"normal",fontWeight:700},{src:"Helvetica-Oblique",fontStyle:"italic",fontWeight:400},{src:"Helvetica-BoldOblique",fontStyle:"italic",fontWeight:700}]}),this.register({family:"Courier",fonts:[{src:"Courier",fontStyle:"normal",fontWeight:400},{src:"Courier-Bold",fontStyle:"normal",fontWeight:700},{src:"Courier-Oblique",fontStyle:"italic",fontWeight:400},{src:"Courier-BoldOblique",fontStyle:"italic",fontWeight:700}]}),this.register({family:"Times-Roman",fonts:[{src:"Times-Roman",fontStyle:"normal",fontWeight:400},{src:"Times-Bold",fontStyle:"normal",fontWeight:700},{src:"Times-Italic",fontStyle:"italic",fontWeight:400},{src:"Times-BoldItalic",fontStyle:"italic",fontWeight:700}]}),this.register({family:"Helvetica-Bold",src:"Helvetica-Bold"}),this.register({family:"Helvetica-Oblique",src:"Helvetica-Oblique"}),this.register({family:"Helvetica-BoldOblique",src:"Helvetica-BoldOblique"}),this.register({family:"Courier-Bold",src:"Courier-Bold"}),this.register({family:"Courier-Oblique",src:"Courier-Oblique"}),this.register({family:"Courier-BoldOblique",src:"Courier-BoldOblique"}),this.register({family:"Times-Bold",src:"Times-Bold"}),this.register({family:"Times-Italic",src:"Times-Italic"}),this.register({family:"Times-BoldItalic",src:"Times-BoldItalic"}),this.load({fontFamily:"Helvetica",fontStyle:"normal",fontWeight:400}),this.load({fontFamily:"Helvetica",fontStyle:"normal",fontWeight:700}),this.load({fontFamily:"Helvetica",fontStyle:"italic",fontWeight:400}),this.load({fontFamily:"Helvetica",fontStyle:"italic",fontWeight:700})}hyphenationCallback=null;register=t=>{const{family:r}=t;if(this.fontFamilies[r]||(this.fontFamilies[r]=c8.create(r)),"fonts"in t)for(let n=0;n{this.emojiSource=t};registerHyphenationCallback=t=>{this.hyphenationCallback=t};getFont=t=>{const{fontFamily:r}=t;if(!this.fontFamilies[r])throw new Error(`Font family not registered: ${r}. Please register it calling Font.register() method.`);return this.fontFamilies[r].resolve(t)};load=async t=>{const r=this.getFont(t);r&&await r.load()};reset=()=>{const t=Object.keys(this.fontFamilies);for(let r=0;r{this.fontFamilies={}};getRegisteredFonts=()=>this.fontFamilies;getEmojiSource=()=>this.emojiSource;getHyphenationCallback=()=>this.hyphenationCallback;getRegisteredFontFamilies=()=>Object.keys(this.fontFamilies)}const R6e=(e,t,r)=>{if(Math.abs(e)>r.length)return r;const n=r.length+e;return Object.assign([],r,{[n]:t(r[n])})},P6e=(...e)=>async(t,...r)=>{let n=t;const i=e.slice().reverse();for(let s=0;se&&e.replace(/(^|\s)\S/g,t=>t.toUpperCase()),BE=e=>Array.isArray(e)?e:[e],Nc=(...e)=>(t,...r)=>{let n=t;const i=e.slice().reverse();for(let s=0;se.slice(0,e.length-1);function kE(e,t){const r={},n=Object.keys(t);for(let i=0;ie==null;function eh(e){return e===""?"":e[e.length-1]}const oW=(e,t)=>{const r=Object.entries(e),n={};return r.reduce((i,[s,o],l)=>(i[s]=t(o,s,l),i),n)},O6e=e=>/((-)?\d+\.?\d*)%/g.exec(`${e}`),Po=e=>{const t=O6e(e);if(t){const r=parseFloat(t[1]);return{percent:r/100,value:r}}return null},JN=(e,t)=>{const r=BE(e),n=Object.assign({},t);return r.forEach(i=>{delete n[i]}),n},u8=(e,t)=>{const r={};for(let n=0;n{const r=new Array(t);for(let n=0;nArray.prototype.slice.call(e,0).reverse(),Qv=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),L6e=(e,t)=>{const r=[];for(let n=0;ntypeof e=="string"?Number.parseFloat(e):e;var n3,tQ;function M6e(){if(tQ)return n3;tQ=1,n3=e;function e(t){var r=0,n=0,i=0,s=0;return t.map(function(o){o=o.slice();var l=o[0],c=l.toUpperCase();if(l!=c)switch(o[0]=c,l){case"a":o[6]+=i,o[7]+=s;break;case"v":o[1]+=s;break;case"h":o[1]+=i;break;default:for(var d=1;d2&&(o.push([c].concat(d.splice(0,2))),u="l",c=c=="m"?"l":"L");;){if(d.length==e[u])return d.unshift(c),o.push(d);if(d.length1&&(o=1),o<-1&&(o=-1),s*Math.acos(o)},W6e=function(t,r,n,i,s,o,l,c,d,u,h,p){var A=Math.pow(s,2),y=Math.pow(o,2),v=Math.pow(h,2),w=Math.pow(p,2),j=A*y-A*w-y*v;j<0&&(j=0),j/=A*w+y*v,j=Math.sqrt(j)*(l===c?-1:1);var E=j*s/o*p,S=j*-o/s*h,_=u*E-d*S+(t+n)/2,C=d*E+u*S+(r+i)/2,Q=(h-E)/s,R=(p-S)/o,T=(-h-E)/s,M=(-p-S)/o,O=nQ(1,0,Q,R),$=nQ(Q,R,T,M);return c===0&&$>0&&($-=tv),c===1&&$<0&&($+=tv),[_,C,O,$]},K6e=function(t){var r=t.px,n=t.py,i=t.cx,s=t.cy,o=t.rx,l=t.ry,c=t.xAxisRotation,d=c===void 0?0:c,u=t.largeArcFlag,h=u===void 0?0:u,p=t.sweepFlag,A=p===void 0?0:p,y=[];if(o===0||l===0)return[];var v=Math.sin(d*tv/360),w=Math.cos(d*tv/360),j=w*(r-i)/2+v*(n-s)/2,E=-v*(r-i)/2+w*(n-s)/2;if(j===0&&E===0)return[];o=Math.abs(o),l=Math.abs(l);var S=Math.pow(j,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(l,2);S>1&&(o*=Math.sqrt(S),l*=Math.sqrt(S));var _=W6e(r,n,i,s,o,l,h,A,v,w,j,E),C=G6e(_,4),Q=C[0],R=C[1],T=C[2],M=C[3],O=Math.abs(M)/(tv/4);Math.abs(1-O)<1e-7&&(O=1);var $=Math.max(Math.ceil(O),1);M/=$;for(var P=0;P<$;P++)y.push(V6e(T,M)),T+=M;return y.map(function(L){var X=a3(L[0],o,l,w,v,Q,R),W=X.x,G=X.y,J=a3(L[1],o,l,w,v,Q,R),q=J.x,ee=J.y,ne=a3(L[2],o,l,w,v,Q,R),V=ne.x,ue=ne.y;return{x1:W,y1:G,x2:q,y2:ee,x:V,y:ue}})};function Y6e(e){for(var t,r=[],n=0,i=0,s=0,o=0,l=null,c=null,d=0,u=0,h=0,p=e.length;h4?(n=A[A.length-4],i=A[A.length-3]):(n=d,i=u),r.push(A)}return r}function Eb(e,t,r,n){return["C",e,t,r,n,r,n]}function iQ(e,t,r,n,i,s){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,s/3+2/3*n,i,s]}var s3={exports:{}},o3,aQ;function Z6e(){return aQ||(aQ=1,o3={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),o3}var l3={exports:{}},c3,sQ;function J6e(){return sQ||(sQ=1,c3=function(t){return!t||typeof t=="string"?!1:t instanceof Array||Array.isArray(t)||t.length>=0&&(t.splice instanceof Function||Object.getOwnPropertyDescriptor(t,t.length-1)&&t.constructor.name!=="String")}),c3}var oQ;function X6e(){if(oQ)return l3.exports;oQ=1;var e=J6e(),t=Array.prototype.concat,r=Array.prototype.slice,n=l3.exports=function(s){for(var o=[],l=0,c=s.length;l=4&&c[3]!==1&&(d=", "+c[3]),"hwb("+c[0]+", "+c[1]+"%, "+c[2]+"%"+d+")"},s.to.keyword=function(c){return n[c.slice(0,3)]};function o(c,d,u){return Math.min(Math.max(d,c),u)}function l(c){var d=Math.round(c).toString(16).toUpperCase();return d.length<2?"0"+d:d}return s3.exports}var tSe=eSe();const Fv=ma(tSe),rSe=(e,t)=>{t.props?.d&&e.path(t.props.d)},cQ=4*((Math.sqrt(2)-1)/3),nSe=(e,t)=>{const r=t.props?.x||0,n=t.props?.y||0,i=t.props?.rx||0,s=t.props?.ry||0,o=t.props?.width||0,l=t.props?.height||0;if(!(!o||!l)){if(i&&s){const c=i*cQ,d=s*cQ;e.moveTo(r+i,n),e.lineTo(r-i+o,n),e.bezierCurveTo(r-i+o+c,n,r+o,n+s-d,r+o,n+s),e.lineTo(r+o,n+l-s),e.bezierCurveTo(r+o,n+l-s+d,r-i+o+c,n+l,r-i+o,n+l),e.lineTo(r+i,n+l),e.bezierCurveTo(r+i-c,n+l,r,n+l-s+d,r,n+l-s),e.lineTo(r,n+s),e.bezierCurveTo(r,n+s-d,r+i-c,n,r+i,n)}else e.moveTo(r,n),e.lineTo(r+o,n),e.lineTo(r+o,n+l),e.lineTo(r,n+l);e.closePath()}},iSe=(e,t)=>{const{x1:r,x2:n,y1:i,y2:s}=t.props||{};e.moveTo(r,i),e.lineTo(n,s)},aSe=()=>{},uQ=4*((Math.sqrt(2)-1)/3),cW=(e,t,r,n=0,i=0)=>{const s=n-t,o=i-r,l=t*uQ,c=r*uQ,d=s+t*2,u=o+r*2,h=s+t,p=o+r;e.moveTo(s,p),e.bezierCurveTo(s,p-c,h-l,o,h,o),e.bezierCurveTo(h+l,o,d,p-c,d,p),e.bezierCurveTo(d,p+c,h+l,u,h,u),e.bezierCurveTo(h-l,u,s,p+c,s,p),e.closePath()},sSe=(e,t)=>{const{cx:r,cy:n,rx:i,ry:s}=t.props||{};cW(e,i,s,r,n)},oSe=(e,t)=>{const r=t.props?.cx,n=t.props?.cy,i=t.props?.r;cW(e,i,i,r,n)},Xh=e=>{if(e>-1e21&&e<1e21)return Math.round(e*1e6)/1e6;throw new Error(`unsupported number: ${e}`)},lSe=(e,t,r,n,i)=>{const s=[],o=e._fontSize/1e3;let l,c=0,d=!1;e.save(),e.transform(1,0,0,-1,0,e.page.height),i=e.page.height-i,e.page.fonts[e._font.id]==null&&(e.page.fonts[e._font.id]=e._font.ref()),e.addContent("BT"),e.addContent(`1 0 0 1 ${Xh(n)} ${Xh(i)} Tm`),e.addContent(`/${e._font.id} ${Xh(e._fontSize)} Tf`);const u=p=>{if(c ${Xh(-y)}`)}return c=p},h=p=>{if(u(p),s.length>0)return e.addContent(`[${s.join(" ")}] TJ`),s.length=0};for(l=0;l{const s=1e3/e._fontSize,l=1e3/(e._font.font.unitsPerEm||1e3),c=e._font.encodeGlyphs(t),d=r.map((u,h)=>({xAdvance:u.xAdvance*s,yAdvance:u.yAdvance*s,xOffset:u.xOffset,yOffset:u.yOffset,advanceWidth:t[h].advanceWidth*l}));return lSe(e,c,d,n,i)},cSe=(e,t)=>{if(!t.glyphs||!t.positions)return;const r=t.xAdvance,n=t.attributes.font?.[0],{fontSize:i,color:s,opacity:o}=t.attributes;s&&e.fillColor(s),e.fillOpacity(o),n&&e.font(n.type==="STANDARD"?n.fullName:n,i);try{uW(e,t.glyphs,t.positions,0,0)}catch(l){console.log(l)}e.translate(r,0)},uSe=(e,t,r,n)=>{e.save();const i=t.box?.x||0,s=t.box?.y||0,o=t.runs[0]?.attributes.font?.[0],l=t.runs[0]?.attributes?.scale||1,c=t.xAdvance;if(!o)return;const d=o.ascent*l,u=o.xHeight*l,h=o.descent*l,p=o.capHeight*l;let A=i,y=s;switch(r){case"middle":A=i-c/2;break;case"end":A=i-c;break;default:A=i;break}switch(n){case"middle":case"central":y=s+p/2;break;case"hanging":y=s+p;break;case"mathematical":y=s+u;break;case"text-after-edge":y=s+h;break;case"text-before-edge":y=s+d;break;default:y=s;break}e.translate(A,y),t.runs.forEach(v=>cSe(e,v)),e.restore()},dSe=(e,t)=>{t.children.forEach(n=>uSe(e,n.lines[0],n.props.textAnchor,n.props.dominantBaseline))},fSe=e=>{const t=[];for(let r=0;r{let t=(e||"").trim().replace(/,/g," ").replace(/(\d)-(\d)/g,"$1 -$2").split(/\s+/);t.length%2!==0&&(t=t.slice(0,-1));const r=t.map(parseFloat);return fSe(r)},dW=(e,t)=>{t.length>0&&(e.moveTo(t[0][0],t[0][1]),t.slice(1).forEach(r=>e.lineTo(r[0],r[1])))},hSe=(e,t)=>{const r=d8(t.props.points||"");dW(e,r)},mSe=(e,t)=>{const r=d8(t.props.points||"");dW(e,r),e.closePath()},pSe=(e,t)=>{if(!t.box||!t.image?.data)return;const{x:r=0,y:n=0}=t.props,{width:i,height:s,opacity:o}=t.style,l=t.box.paddingLeft||0,c=t.box.paddingLeft||0;if(i===0||s===0){console.warn(`Image with src '${t.props.href}' skipped due to invalid dimensions`);return}if(typeof i=="string"||typeof s=="string"){console.warn(`Image with src '${t.props.href}' skipped due to percentage width or height`);return}e.save(),e.fillOpacity(o||1).image(t.image.data,r+c,n+l,{width:i,height:s}),e.restore()},Cb=4*((Math.sqrt(2)-1)/3),_E=(e,t)=>{if(!t.box||!t.style)return;const{top:r,left:n,width:i,height:s}=t.box,{borderTopLeftRadius:o=0,borderTopRightRadius:l=0,borderBottomRightRadius:c=0,borderBottomLeftRadius:d=0}=t.style,u=Math.min(l,.5*i,.5*s),h=u*(1-Cb);e.moveTo(n+u,r),e.lineTo(n+i-u,r),e.bezierCurveTo(n+i-h,r,n+i,r+h,n+i,r+u);const p=Math.min(c,.5*i,.5*s),A=p*(1-Cb);e.lineTo(n+i,r+s-p),e.bezierCurveTo(n+i,r+s-A,n+i-A,r+s,n+i-p,r+s);const y=Math.min(d,.5*i,.5*s),v=y*(1-Cb);e.lineTo(n+y,r+s),e.bezierCurveTo(n+v,r+s,n,r+s-v,n,r+s-y);const w=Math.min(o,.5*i,.5*s),j=w*(1-Cb);e.lineTo(n,r+w),e.bezierCurveTo(n,r+j,n+j,r,n+w,r),e.closePath(),e.clip()},gSe=(e,t,r)=>{const{operation:n,value:i}=t;switch(n){case"scale":{const[s,o]=i;e.scale(s,o,{origin:r});break}case"rotate":{const[s]=i;e.rotate(s,{origin:r});break}case"translate":{const[s,o=0]=i;e.translate(s,o,{origin:r});break}case"skew":{const[s=0,o=0]=i,l=s*Math.PI/180,c=o*Math.PI/180,d=Math.tan(l),u=Math.tan(c);let h=0,p=0;if(r!=null){[h,p]=Array.from(r);const A=h+d*p,y=p+u*h;h-=A,p-=y}e.transform(1,u,d,1,h,p);break}case"matrix":{e.transform(...i);break}default:console.error(`Transform operation: '${n}' doesn't supported`)}},fW=(e,t)=>{if(!t.origin)return;const{props:r,style:n}=t,i=[t.origin.left,t.origin.top],s="transform"in r?r.transform:void 0;(n?.transform||s||[]).forEach(l=>{gSe(e,l,i)})},ASe=e=>{const t=Y6e(z6e(q6e(e.props?.d||"")));if(!t.length)return[0,0,0,0];const r=[1/0,1/0,-1/0,-1/0];for(let n=0,i=t.length;nr[2]&&(r[2]=s[o+0]),s[o+1]>r[3]&&(r[3]=s[o+1])}return r},xSe=e=>{const t=e.props?.r||0,r=e.props?.cx||0,n=e.props?.cy||0;return[r-t,n-t,r+t,n+t]},vSe=e=>{const t=e.props?.cx||0,r=e.props?.cy||0,n=e.props?.rx||0,i=e.props?.ry||0;return[t-n,r-i,t+n,r+i]},ySe=e=>{const t=e.props?.x1||0,r=e.props?.y1||0,n=e.props?.x2||0,i=e.props?.y2||0;return[Math.min(t,n),Math.min(r,i),Math.max(t,n),Math.max(r,i)]},bSe=e=>{const t=e.props?.x||0,r=e.props?.y||0,n=e.props?.width||0,i=e.props?.height||0;return[t,r,t+n,r+i]},dQ=e=>Math.max(-1/0,...e),fQ=e=>Math.min(1/0,...e),hQ=e=>{const t=d8(e.props?.points),r=t.map(i=>i[0]),n=t.map(i=>i[1]);return[fQ(r),fQ(n),dQ(r),dQ(n)]},wSe={[uH]:bSe,[dH]:ySe,[cH]:ASe,[mH]:xSe,[pH]:vSe,[gH]:hQ,[AH]:hQ},hW=e=>{const t=wSe[e.type];return t?t(e):[0,0,0,0]},ESe=(e,t)=>{if(!t.props||!("strokeWidth"in t.props))return;const r=t.props.strokeWidth;r&&e.lineWidth(r)},CSe=(e,t)=>{if(!t.props||!("stroke"in t.props))return;const r=t.props.stroke;r&&e.strokeColor(r)},ISe=(e,t)=>{if(!t.props||!("opacity"in t.props))return;const r=t.props.opacity;Oa(r)||e.opacity(r)},jSe=(e,t)=>{if(!t.props||!("fillOpacity"in t.props))return;const r=t.props.fillOpacity||null;Oa(r)||e.fillOpacity(r)},NSe=(e,t)=>{if(!t.props||!("strokeOpacity"in t.props))return;const r=t.props?.strokeOpacity;Oa(r)||e.strokeOpacity(r)},SSe=(e,t)=>{if(!t.props||!("strokeLinejoin"in t.props))return;const r=t.props.strokeLinejoin;r&&e.lineJoin(r)},BSe=(e,t)=>{if(!t.props||!("strokeLinecap"in t.props))return;const r=t.props?.strokeLinecap;r&&e.lineCap(r)},kSe=(e,t)=>{if(!t.props||!("strokeDasharray"in t.props))return;const r=t.props?.strokeDasharray||null;r&&e.dash(r.split(/[\s,]+/).map(Number))},_Se=e=>!e.props||!("fill"in e.props)||typeof e.props.fill=="string"?!1:e.props.fill?.type===Ype,DSe=e=>!e.props||!("fill"in e.props)||typeof e.props.fill=="string"?!1:e.props.fill?.type===Zpe;function TSe(e,t){const r=e[0]*t[0]+e[2]*t[1],n=e[1]*t[0]+e[3]*t[1],i=e[0]*t[2]+e[2]*t[3],s=e[1]*t[2]+e[3]*t[3],o=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];return[r,n,i,s,o,l]}const mW=(e,t,r,n)=>{const s=t.map(o=>{switch(o.operation){case"scale":{const l=o.value;return[l[0],0,0,l[1],0,0]}case"translate":{const l=o.value;let c=l[0]||0,d=l[1]||0;return n==="objectBoundingBox"&&(c=(r[2]-r[0])*c,d=(r[3]-r[1])*d),[1,0,0,1,c,d]}case"rotate":{const l=o.value,c=Math.cos(l[0]),d=Math.sin(l[0]);return[c,d,-d,c,0,0]}case"skew":{const l=o.value;return[1,Math.tan(l[0]),Math.tan(l[1]),1,0,0]}case"matrix":{const l=o.value;let c=l[4]||0,d=l[5]||0;return n==="objectBoundingBox"&&(c=(r[2]-r[0])*c,d=(r[3]-r[1])*d),[l[0],l[1],l[2],l[3],c,d]}default:return[1,0,0,1,0,0]}}).reduce(TSe,[1,0,0,1,0,0]);e.setTransform(...s)},RSe=(e,t)=>{if(!t.props||!("fill"in t.props))return;const r=hW(t),n=t.props?.fill;if(!n)return;const i=n.props.gradientUnits||"objectBoundingBox",s=n.props.gradientTransform||[];let o=n.props.x1||0,l=n.props.y1||0,c=n.props.x2||1,d=n.props.y2||0;if(i==="objectBoundingBox"){const h=r[2]-r[0],p=r[3]-r[1],A=r[0],y=r[1];o=h*o+A,l=p*l+y,c=h*c+A,d=p*d+y}const u=e.linearGradient(o,l,c,d);mW(u,s,r,i),n.children?.forEach(h=>{u.stop(h.props.offset,h.props.stopColor,h.props.stopOpacity)}),e.fill(u)},PSe=(e,t)=>{if(!t.props||!("fill"in t.props))return;const r=hW(t),n=t.props?.fill;if(!n)return;const i=n.props.gradientUnits||"objectBoundingBox",s=n.props.gradientTransform||[];let o=n.props.r||.5,l=n.props.cx||.5,c=n.props.cy||.5,d=n.props.fx||l,u=n.props.fy||c;if(i==="objectBoundingBox"){const p=r[2]-r[0],A=r[3]-r[1],y=r[0],v=r[1];o=o*p,l=p*l+y,c=A*c+v,d=p*d+y,u=A*u+v}const h=e.radialGradient(l,c,0,d,u,o);mW(h,s,r,i),n.children?.forEach(p=>{h.stop(p.props.offset,p.props.stopColor,p.props.stopOpacity)}),e.fill(h)},QSe=(e,t)=>{if(!t.props||!("fill"in t.props))return;const r=t.props?.fill;r&&e.fillColor(r)},FSe=(e,t)=>_Se(t)?RSe(e,t):DSe(t)?PSe(e,t):QSe(e,t),OSe=(e,t)=>{const r=t.props||{};"fill"in r&&"stroke"in r&&r.fill&&r.stroke?e.fillAndStroke(r.fillRule):"fill"in r&&r.fill?e.fill(r.fillRule):"stroke"in r&&r.stroke?e.stroke():(e.save(),e.opacity(0),e.fill(null),e.restore())},mQ=()=>{},LSe={[ZS]:mQ,[Qg]:mQ,[cH]:rSe,[uH]:nSe,[dH]:iSe,[qpe]:aSe,[rr]:dSe,[mH]:oSe,[Gm]:pSe,[pH]:sSe,[gH]:mSe,[AH]:hSe},pW=(e,t)=>{const r=LSe[t.type];r?r(e,t):console.warn(`SVG node of type ${t.type} is not currently supported`)},MSe=(e,t)=>{BSe(e,t),kSe(e,t),SSe(e,t),ESe(e,t),CSe(e,t),FSe(e,t),NSe(e,t),jSe(e,t),ISe(e,t),fW(e,t),pW(e,t),OSe(e,t)},USe=(e,t)=>{if(!t.props||!("clipPath"in t.props))return;const r=t.props.clipPath;r&&((r.children||[]).forEach(i=>pW(e,i)),e.clip())},gW=(e,t)=>{(t.children||[]).forEach(n=>{e.save(),USe(e,n),MSe(e,n),gW(e,n),e.restore()})},zSe=(e,t)=>{if(!t.box)return;const{width:r,height:n}=t.box,{viewBox:i,preserveAspectRatio:s}=t.props,{meetOrSlice:o="meet",align:l="xMidYMid"}=s||{};if(i==null||r==null||n==null)return;const c=i?.minX||0,d=i?.minY||0,u=i?.maxX||r,h=i?.maxY||n,p=u/h,A=r/n,y=r/u,v=n/h;if(l==="none"){e.scale(y,v),e.translate(-c,-d);return}if(p=A&&o==="slice")switch(e.scale(v,v),l){case"xMinYMin":case"xMinYMid":case"xMinYMax":e.translate(-c,-d);break;case"xMidYMin":case"xMidYMid":case"xMidYMax":e.translate(-c-(u-r*h/n)/2,-d);break;default:e.translate(-c-(u-r*h/n),-d)}else switch(e.scale(y,y),l){case"xMinYMin":case"xMidYMin":case"xMaxYMin":e.translate(-c,-d);break;case"xMinYMid":case"xMidYMid":case"xMaxYMid":e.translate(-c,-d-(h-n*u/r)/2);break;default:e.translate(-c,-d-(h-n*u/r))}},$Se=(e,t)=>{if(!t.box)return;const{top:r,left:n}=t.box,i=t.box.paddingLeft||0,s=t.box.paddingTop||0;e.translate(n+i,r+s)},HSe=(e,t)=>{e.save(),_E(e,t),$Se(e,t),zSe(e,t),gW(e,t),e.restore()},pQ={value:"#000",opacity:1},f8=e=>{if(!e)return pQ;const t=Fv.get(e);if(!t)return pQ;const r=Fv.to.hex(t.value.slice(0,3)),n=t.value[3];return{value:r,opacity:n}},qSe=/^#.+/,GSe=e=>e.match(qSe),VSe=(e,t)=>{const{xOffset:r=0,yOffset:n=0,width:i,height:s,image:o}=t;e.translate(-i+r,-s+n),e.image(o,0,0,{fit:[i,s],align:"center",valign:"bottom"})},WSe=(e,t)=>{if(!t.glyphs||!t.positions)return;const r=t.attributes.font?.[0];if(!r)return;e.save();const n=r.glyphForCodePoint(32),i=r.glyphForCodePoint(65532);let s=0;for(let o=0;o{if(!t.glyphs||!t.positions)return;const r=t.attributes.font?.[0];if(!r)return;const{fontSize:n,link:i}=t.attributes,s=f8(t.attributes.color),o=Oa(t.attributes.opacity)?s.opacity:t.attributes.opacity,{height:l=0,descent:c=0,xAdvance:d=0}=t;e.fillColor(s.value),e.fillOpacity(o),i&&(GSe(i)?e.goTo(0,-l-c,d,l,i.slice(1)):e.link(0,-l-c,d,l,i)),WSe(e,t),e.font(r.type==="STANDARD"?r.fullName:r,n);try{uW(e,t.glyphs,t.positions,0,0)}catch(u){console.log(u)}e.translate(d,0)},YSe=(e,t,r)=>{const n=f8(r);e.save(),e.fillOpacity(n.opacity),e.rect(t.x,t.y,t.width,t.height),e.fill(n.value),e.restore()},ZSe=(e,t)=>{if(e.save(),e.lineWidth(t.rect.height),e.strokeOpacity(t.opacity),/dashed/.test(t.style)?e.dash(3*t.rect.height,{}):/dotted/.test(t.style)&&e.dash(t.rect.height,{}),/wavy/.test(t.style)){const r=Math.max(2,t.rect.height);let n=1.1*r;const i=Math.floor(t.rect.width/(2*n)),o=(t.rect.width-i*2*n)/i/2;n+=o;const l=t.rect.y+r,c=t.rect.y-r;let{x:d}=t.rect;e.moveTo(t.rect.x,t.rect.y);for(let u=0;u{if(!t.box)return;const r=t.ascent||0;e.save(),e.translate(t.box.x,t.box.y+r);for(let n=0;n{t.forEach(r=>{JSe(e,r)})},eBe=(e,t)=>{if(!t.box||!t.lines)return;const{top:r,left:n}=t.box,i=[t.lines],s=t.box?.paddingTop||0,o=t.box?.paddingLeft||0,l=t.lines[0]?t.lines[0].box.y:0,c=t.alignOffset||0;e.save(),e.translate(n+o-c,r+s-l),i.forEach(d=>{XSe(e,d)}),e.restore()},tBe=(e,t)=>{if(!t.box)return;const{width:r,height:n}=t.box,s=(t.props?.dpi||72)/72;e.addPage({size:[r,n],margin:0,userUnit:s})},rBe=(e,t)=>{if(!t.box)return;const{top:r,left:n}=t.box,i=t?.children?.[0].value||"",s=t.style?.backgroundColor;e.note(n,r,0,0,i,{color:s})},nBe=(e,t)=>{const r=t.image.data;let n;return typeof r=="string"&&(n=e._imageRegistry[r]),n||(n=e.openImage(r)),n.obj||n.embed(e),n},Ud=e=>!Number.isNaN(parseFloat(e))&&Number.isFinite(e),AW=(e,t,r,n,i,s)=>{const o=e/t,l=r/n,c=Po(i??null),d=Po(s??null),u=c?c.percent:.5,h=d?d.percent:.5;if(o>l){const w=t,j=w*l,E=Ud(s)?s:0,S=Ud(i)?i:(e-j)*u;return{width:j,height:w,xOffset:S,yOffset:E}}const p=e,A=p/l,y=Ud(i)?i:0,v=Ud(s)?s:(t-A)*h;return{width:p,height:A,yOffset:v,xOffset:y}},xW=(e,t,r,n,i,s)=>{const o=r,l=n,c=Po(i??null),d=Po(s??null),u=c?c.percent:.5,h=d?d.percent:.5,p=Ud(i)?i:(e-o)*u,A=Ud(s)?s:(t-l)*h;return{width:o,height:l,xOffset:p,yOffset:A}},iBe=(e,t,r,n,i,s)=>{const o=r/n,l=e/t,c=Po(i??null),d=Po(s??null),u=c?c.percent:.5,h=d?d.percent:.5;if(l>o){const w=e,j=w/o,E=Ud(i)?i:0,S=Ud(s)?s:(t-j)*h;return{width:w,height:j,yOffset:S,xOffset:E}}const p=t,A=p*o,y=Ud(i)?i:(e-A)*u,v=Ud(s)?s:0;return{width:A,height:p,xOffset:y,yOffset:v}},aBe=(e,t,r,n,i,s)=>{const o=AW(e,t,r,n,i,s),l=xW(e,t,r,n,i,s);return o.width({width:e,height:t,xOffset:Po(r??null)?0:r||0,yOffset:Po(n??null)?0:n||0}),oBe=(e="fill",t,r,n,i,s,o)=>{switch(e){case"contain":return AW(t,r,n,i,s,o);case"cover":return iBe(t,r,n,i,s,o);case"none":return xW(t,r,n,i,s,o);case"scale-down":return aBe(t,r,n,i,s,o);default:return sBe(t,r,s,o)}},lBe=(e,t,r)=>{if(!t.box||!t.image)return;const{left:n,top:i}=t.box,s=t.style?.opacity,o=t.style?.objectFit,l=t.style?.objectPositionX,c=t.style?.objectPositionY,d=t.box.paddingTop||0,u=t.box.paddingRight||0,h=t.box.paddingBottom||0,p=t.box.paddingLeft||0,A=r.imageCache||new Map,{width:y,height:v,xOffset:w,yOffset:j}=oBe(o,t.box.width-p-u,t.box.height-d-h,t.image.width,t.image.height,l,c);if(t.image.data)if(y!==0&&v!==0){const E=t.image.key,S=A.get(E)||nBe(e,t);E&&A.set(E,S);const _=Oa(s)?1:s;e.fillOpacity(_).image(S,n+p+w,i+d+j,{width:y,height:v})}else console.warn(`Image with src '${JSON.stringify(t.props.src||t.props.source)}' skipped due to invalid dimensions`)},cBe=(e,t,r)=>{e.save(),_E(e,t),lBe(e,t,r),e.restore()},uBe="#a1c6e7",dBe="#c4deb9",fBe="#f8cca1",hBe=(e,t)=>{if(!t.box)return;const{left:r,top:n,width:i,height:s,paddingLeft:o=0,paddingTop:l=0,paddingRight:c=0,paddingBottom:d=0,borderLeftWidth:u=0,borderTopWidth:h=0,borderRightWidth:p=0,borderBottomWidth:A=0}=t.box;e.fillColor(uBe).opacity(.5).rect(r+o+u,n+l+h,i-o-c-p-u,s-l-d-h-A).fill()},mBe=(e,t)=>{if(!t.box)return;const{left:r,top:n,width:i,height:s,paddingLeft:o=0,paddingTop:l=0,paddingRight:c=0,paddingBottom:d=0,borderLeftWidth:u=0,borderTopWidth:h=0,borderRightWidth:p=0,borderBottomWidth:A=0}=t.box;e.fillColor(dBe).opacity(.5),e.rect(r+o+u,n+h,i-c-o-u-p,l).fill(),e.rect(r+u,n+h,o,s-h-A).fill(),e.rect(r+i-c-p,n+h,c,s-h-A).fill(),e.rect(r+o+u,n+s-d-A,i-c-o-u-p,d).fill()},pBe=(e,t)=>{if(!t.box)return;const{left:r,top:n,width:i,height:s}=t.box,{marginLeft:o=0,marginTop:l=0,marginRight:c=0,marginBottom:d=0}=t.box;e.fillColor(fBe).opacity(.5),e.rect(r,n-l,i,l).fill(),e.rect(r-o,n-l,o,s+l+d).fill(),e.rect(r+i,n-l,c,s+l+d).fill(),e.rect(r,n+s,i,d).fill()},gBe=(e,t)=>{if(!t.box)return;const{left:r,top:n,width:i,height:s}=t.box,{marginLeft:o=0,marginTop:l=0,marginRight:c=0,marginBottom:d=0}=t.box,u=Math.round(i+o+c),h=Math.round(s+l+d);e.fontSize(6).opacity(1).fillColor("black").text(`${u} x ${h}`,r-o,Math.max(n-l-4,1),{width:1/0})},ABe=(e,t)=>{t.origin&&e.circle(t.origin.left,t.origin.top,3).fill("red").circle(t.origin.left,t.origin.top,5).stroke("red")},xBe=(e,t)=>{t.props&&(!("debug"in t.props)||!t.props.debug||(e.save(),hBe(e,t),mBe(e,t),pBe(e,t),gBe(e,t),ABe(e,t),e.restore()))},vBe=["dash","clip","save","path","fill","font","text","rect","scale","moveTo","lineTo","stroke","rotate","circle","lineCap","opacity","ellipse","polygon","restore","lineJoin","fontSize","fillColor","lineWidth","translate","miterLimit","strokeColor","fillOpacity","roundedRect","fillAndStroke","strokeOpacity","bezierCurveTo","quadraticCurveTo","linearGradient","radialGradient"],yBe=e=>{const t=vBe.reduce((r,n)=>({...r,[n]:(...i)=>(e[n](...i),t)}),{});return t},bBe=(e,t)=>{if(!t.box)return;const{top:r,left:n,width:i,height:s}=t.box,o=t.box.paddingTop||0,l=t.box.paddingLeft||0,c=t.box.paddingRight||0,d=t.box.paddingBottom||0,u=i-l-c,h=s-o-d;(!u||!h)&&console.warn("Canvas element has null width or height. Please provide valid values via the `style` prop in order to correctly render it."),e.save().translate(n+l,r+o),t.props.paint&&t.props.paint(yBe(e),u,h),e.restore()},_i=4*((Math.sqrt(2)-1)/3),wBe=(e,t,r,n,i)=>{const{top:s,left:o,width:l,height:c}=t,{borderTopWidth:d,borderRightWidth:u,borderLeftWidth:h}=r;e.moveTo(o+i,s),e.lineTo(o+l-n,s);const p=n*(1-_i);e.bezierCurveTo(o+l-p,s,o+l,s+p,o+l,s+n);const A=s+Math.max(d,n);e.lineTo(o+l,A),e.lineTo(o+l-u,A);const y=Math.max(n-u,0),v=Math.max(n-d,0),w=y*(1-_i),j=v*(1-_i);e.bezierCurveTo(o+l-u,s+d+j,o+l-u-w,s+d,o+l-u-y,s+d),e.lineTo(o+Math.max(i,h),s+d);const E=Math.max(i-h,0),S=Math.max(i-d,0),_=E*(1-_i),C=S*(1-_i),Q=s+Math.max(d,i);e.bezierCurveTo(o+h+_,s+d,o+h,s+d+C,o+h,Q),e.lineTo(o,Q),e.lineTo(o,s+i);const R=i*(1-_i);if(e.bezierCurveTo(o,s+R,o+R,s,o+i,s),e.closePath(),e.clip(),u){const T=-d/u;e.moveTo(o+l/2,T*(-l/2)+s),e.lineTo(o+l,s),e.lineTo(o,s),e.lineTo(o,s+c),e.closePath(),e.clip()}if(h){const T=-d/h;e.moveTo(o+l/2,T*(-l/2)+s),e.lineTo(o,s),e.lineTo(o+l,s),e.lineTo(o+l,s+c),e.closePath(),e.clip()}},EBe=(e,t,r,n,i)=>{const{top:s,left:o,width:l}=t,{borderTopColor:c,borderTopWidth:d,borderTopStyle:u,borderRightWidth:h,borderLeftWidth:p}=r,A=i*(1-_i),y=n*(1-_i);e.moveTo(o,s+Math.max(i,d)),e.bezierCurveTo(o,s+A,o+A,s,o+i,s),e.lineTo(o+l-n,s),e.bezierCurveTo(o+l-y,s,o+l,s+y,o+l,s+n),e.strokeColor(c),e.lineWidth(Math.max(h,d,p)*2),u==="dashed"?e.dash(d*2,{space:d*1.2}):u==="dotted"&&e.dash(d,{space:d*1.2}),e.stroke(),e.undash()},CBe=(e,t,r,n,i)=>{const{top:s,left:o,width:l,height:c}=t,{borderTopWidth:d,borderRightWidth:u,borderBottomWidth:h}=r;e.moveTo(o+l,s+n),e.lineTo(o+l,s+c-i);const p=i*(1-_i);e.bezierCurveTo(o+l,s+c-p,o+l-p,s+c,o+l-i,s+c);const A=o+l-Math.max(u,i);e.lineTo(A,s+c),e.lineTo(A,s+c-h);const y=Math.max(i-u,0),v=Math.max(i-h,0),w=y*(1-_i),j=v*(1-_i);e.bezierCurveTo(o+l-u-w,s+c-h,o+l-u,s+c-h-j,o+l-u,s+c-Math.max(i,h)),e.lineTo(o+l-u,s+Math.max(n,d));const E=Math.max(n-u,0),S=Math.max(n-d,0),_=E*(1-_i),C=S*(1-_i),Q=o+l-Math.max(n,u);e.bezierCurveTo(o+l-u,s+d+C,o+l-u-_,s+d,Q,s+d),e.lineTo(Q,s),e.lineTo(o+l-n,s);const R=n*(1-_i);if(e.bezierCurveTo(o+l-R,s,o+l,s+R,o+l,s+n),e.closePath(),e.clip(),d){const T=-d/u;e.moveTo(o+l/2,T*(-l/2)+s),e.lineTo(o+l,s),e.lineTo(o+l,s+c),e.lineTo(o,s+c),e.closePath(),e.clip()}if(h){const T=h/u;e.moveTo(o+l/2,T*(-l/2)+s+c),e.lineTo(o+l,s+c),e.lineTo(o+l,s),e.lineTo(o,s),e.closePath(),e.clip()}},IBe=(e,t,r,n,i)=>{const{top:s,left:o,width:l,height:c}=t,{borderRightColor:d,borderRightStyle:u,borderRightWidth:h,borderTopWidth:p,borderBottomWidth:A}=r,y=i*(1-_i),v=n*(1-_i);e.moveTo(o+l-n,s),e.bezierCurveTo(o+l-v,s,o+l,s+v,o+l,s+n),e.lineTo(o+l,s+c-i),e.bezierCurveTo(o+l,s+c-y,o+l-y,s+c,o+l-i,s+c),e.strokeColor(d),e.lineWidth(Math.max(h,p,A)*2),u==="dashed"?e.dash(h*2,{space:h*1.2}):u==="dotted"&&e.dash(h,{space:h*1.2}),e.stroke(),e.undash()},jBe=(e,t,r,n,i)=>{const{top:s,left:o,width:l,height:c}=t,{borderBottomWidth:d,borderRightWidth:u,borderLeftWidth:h}=r;e.moveTo(o+l-i,s+c),e.lineTo(o+n,s+c);const p=n*(1-_i);e.bezierCurveTo(o+p,s+c,o,s+c-p,o,s+c-n);const A=s+c-Math.max(d,n);e.lineTo(o,A),e.lineTo(o+h,A);const y=Math.max(n-h,0),v=Math.max(n-d,0),w=y*(1-_i),j=v*(1-_i);e.bezierCurveTo(o+h,s+c-d-j,o+h+w,s+c-d,o+h+y,s+c-d),e.lineTo(o+l-Math.max(i,u),s+c-d);const E=Math.max(i-u,0),S=Math.max(i-d,0),_=E*(1-_i),C=S*(1-_i),Q=s+c-Math.max(d,i);e.bezierCurveTo(o+l-u-_,s+c-d,o+l-u,s+c-d-C,o+l-u,Q),e.lineTo(o+l,Q),e.lineTo(o+l,s+c-i);const R=i*(1-_i);if(e.bezierCurveTo(o+l,s+c-R,o+l-R,s+c,o+l-i,s+c),e.closePath(),e.clip(),u){const T=d/u;e.moveTo(o+l/2,T*(-l/2)+s+c),e.lineTo(o+l,s+c),e.lineTo(o,s+c),e.lineTo(o,s),e.closePath(),e.clip()}if(h){const T=-d/h;e.moveTo(o+l/2,T*(l/2)+s+c),e.lineTo(o,s+c),e.lineTo(o+l,s+c),e.lineTo(o+l,s),e.closePath(),e.clip()}},NBe=(e,t,r,n,i)=>{const{top:s,left:o,width:l,height:c}=t,{borderBottomColor:d,borderBottomStyle:u,borderBottomWidth:h,borderRightWidth:p,borderLeftWidth:A}=r,y=n*(1-_i),v=i*(1-_i);e.moveTo(o+l,s+c-i),e.bezierCurveTo(o+l,s+c-v,o+l-v,s+c,o+l-i,s+c),e.lineTo(o+n,s+c),e.bezierCurveTo(o+y,s+c,o,s+c-y,o,s+c-n),e.strokeColor(d),e.lineWidth(Math.max(h,p,A)*2),u==="dashed"?e.dash(h*2,{space:h*1.2}):u==="dotted"&&e.dash(h,{space:h*1.2}),e.stroke(),e.undash()},SBe=(e,t,r,n,i)=>{const{top:s,left:o,width:l,height:c}=t,{borderTopWidth:d,borderLeftWidth:u,borderBottomWidth:h}=r;e.moveTo(o,s+c-n),e.lineTo(o,s+i);const p=i*(1-_i);e.bezierCurveTo(o,s+p,o+p,s,o+i,s);const A=o+Math.max(u,i);e.lineTo(A,s),e.lineTo(A,s+d);const y=Math.max(i-u,0),v=Math.max(i-d,0),w=y*(1-_i),j=v*(1-_i);e.bezierCurveTo(o+u+w,s+d,o+u,s+d+j,o+u,s+Math.max(i,d)),e.lineTo(o+u,s+c-Math.max(n,h));const E=Math.max(n-u,0),S=Math.max(n-h,0),_=E*(1-_i),C=S*(1-_i),Q=o+Math.max(n,u);e.bezierCurveTo(o+u,s+c-h-C,o+u+_,s+c-h,Q,s+c-h),e.lineTo(Q,s+c),e.lineTo(o+n,s+c);const R=n*(1-_i);if(e.bezierCurveTo(o+R,s+c,o,s+c-R,o,s+c-n),e.closePath(),e.clip(),h){const T=-h/u;e.moveTo(o+l/2,T*(l/2)+s+c),e.lineTo(o,s+c),e.lineTo(o,s),e.lineTo(o+l,s),e.closePath(),e.clip()}if(h){const T=-d/u;e.moveTo(o+l/2,T*(-l/2)+s),e.lineTo(o,s),e.lineTo(o,s+c),e.lineTo(o+l,s+c),e.closePath(),e.clip()}},BBe=(e,t,r,n,i)=>{const{top:s,left:o,height:l}=t,{borderLeftColor:c,borderLeftStyle:d,borderLeftWidth:u,borderTopWidth:h,borderBottomWidth:p}=r,A=n*(1-_i),y=i*(1-_i);e.moveTo(o+n,s+l),e.bezierCurveTo(o+A,s+l,o,s+l-A,o,s+l-n),e.lineTo(o,s+i),e.bezierCurveTo(o,s+y,o+y,s,o+i,s),e.strokeColor(c),e.lineWidth(Math.max(u,h,p)*2),d==="dashed"?e.dash(u*2,{space:u*1.2}):d==="dotted"&&e.dash(u,{space:u*1.2}),e.stroke(),e.undash()},kBe=e=>e.box&&(e.box.borderTopWidth||e.box.borderRightWidth||e.box.borderBottomWidth||e.box.borderLeftWidth),_Be=(e,t)=>{if(!t.box||!kBe(t))return;const{width:r,height:n,borderTopWidth:i=0,borderLeftWidth:s=0,borderRightWidth:o=0,borderBottomWidth:l=0}=t.box,{opacity:c=1,borderTopColor:d="black",borderTopStyle:u="solid",borderLeftColor:h="black",borderLeftStyle:p="solid",borderRightColor:A="black",borderRightStyle:y="solid",borderBottomColor:v="black",borderBottomStyle:w="solid"}=t.style,j=t.style.borderTopLeftRadius||0,E=t.style.borderTopRightRadius||0,S=t.style.borderBottomLeftRadius||0,_=t.style.borderBottomRightRadius||0,C={borderTopColor:d,borderTopWidth:i,borderTopStyle:u,borderLeftColor:h,borderLeftWidth:s,borderLeftStyle:p,borderRightColor:A,borderRightWidth:o,borderRightStyle:y,borderBottomColor:v,borderBottomWidth:l,borderBottomStyle:w},Q=Math.min(E,.5*r,.5*n),R=Math.min(j,.5*r,.5*n),T=Math.min(_,.5*r,.5*n),M=Math.min(S,.5*r,.5*n);e.save(),e.strokeOpacity(c),i&&(e.save(),wBe(e,t.box,C,Q,R),EBe(e,t.box,C,Q,R),e.restore()),o&&(e.save(),CBe(e,t.box,C,Q,T),IBe(e,t.box,C,Q,T),e.restore()),l&&(e.save(),jBe(e,t.box,C,M,T),NBe(e,t.box,C,M,T),e.restore()),s&&(e.save(),SBe(e,t.box,C,M,R),BBe(e,t.box,C,M,R),e.restore()),e.restore()},DBe=(e,t)=>{if(!t.box)return;const{top:r,left:n,width:i,height:s}=t.box,o=f8(t.style.backgroundColor),l=Oa(t.style?.opacity)?1:t.style.opacity,c=Math.min(o.opacity,l);e.fillOpacity(c).fillColor(o.value).rect(n,r,i,s).fill()},TBe=(e,t)=>{t.box&&t.style?.backgroundColor&&(e.save(),_E(e,t),DBe(e,t),e.restore())},gQ=e=>typeof e=="string",RBe=e=>/^#.+/.test(e),AQ=(e,t,r)=>{if(!r||!t.box)return;const n=RBe(r),i=n?"goTo":"link",s=n?r.slice(1):r,{top:o,left:l,width:c,height:d}=t.box;e[i](l,o,c,d,s)},PBe=(e,t)=>{const r=t.props||{};if("src"in r&&gQ(r.src))return AQ(e,t,r.src);if("href"in r&&gQ(r.href))return AQ(e,t,r.href)},QBe=(e,t)=>{t.box&&t.props&&"id"in t.props&&e.addNamedDestination(t.props.id,"XYZ",null,t.box.top,null)},h8=e=>{const t={...e};return Object.entries(t).forEach(r=>{r[1]||delete t[r[0]]}),t},m8=e=>({required:e.props?.required||!1,noExport:e.props?.noExport||!1,readOnly:e.props?.readOnly||!1,value:e.props?.value||void 0,defaultValue:e.props?.defaultValue||void 0}),FBe=(e,t)=>h8({...m8(e),parent:t||void 0,align:e.props?.align||"left",multiline:e.props?.multiline||void 0,password:e.props?.password||!1,noSpell:e.props?.noSpell||!1,format:e.props?.format||void 0,fontSize:e.props?.fontSize||void 0,MaxLen:e.props?.maxLength||void 0}),vW=e=>h8({...m8(e),sort:e.props?.sort||!1,edit:e.props?.edit||!1,multiSelect:e.props?.multiSelect||!1,noSpell:e.props?.noSpell||!1,select:e.props?.select||[""]}),xQ=(e,t,r,n)=>{const i=e.ref({Type:"XObject",Subtype:"Form",BBox:[0,0,r,n],Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Font:{ZaDi:e._acroform.fonts.ZaDi}}});return i.initDeflate(),i.write(`/Tx BMC q /ZaDi ${n*.8} Tf BT ${r*.45} ${n/4} Td (${t}) Tj ET Q EMC`),i.end(null),i},OBe=(e,t,r)=>{const{width:n,height:i}=t.box||{},s=t.props?.onState||"Yes",o=t.props?.offState||"Off",l=t.props?.xMark||!1;if(!Object.prototype.hasOwnProperty.call(e._acroform.fonts,"ZaDi")){const d=e.ref({Type:"Font",Subtype:"Type1",BaseFont:"ZapfDingbats"});e._acroform.fonts.ZaDi=d,d.end(null)}const c={[s]:xQ(e,l?"8":"4",n,i),[o]:xQ(e,l?" ":"8",n,i)};return h8({...m8(t),backgroundColor:t.props?.backgroundColor||void 0,borderColor:t.props?.borderColor||void 0,parent:r||void 0,value:`/${t.props?.checked===!0?s:o}`,defaultValue:`/${t.props?.checked===!0?s:o}`,AS:t.props?.checked===!0?s:o,AP:{N:c,D:c}})},LBe=(e,t,r)=>{if(!t.box)return;const{top:n,left:i,width:s,height:o}=t.box,l=t.props?.name||"",c=r.fieldSets?.at(0);e._root.data.AcroForm||e.initForm(),e.formText(l,i,n,s,o,FBe(t,c))},MBe=(e,t)=>{if(!t.box)return;const{top:r,left:n,width:i,height:s}=t.box,o=t.props?.name||"";e._root.data.AcroForm||e.initForm(),e.formCombo(o,n,r,i,s,vW(t))},UBe=(e,t,r)=>{const n=t.props?.name||"";e._root.data.AcroForm||e.initForm();const i=e.formField(n),s=r;s.fieldSets?s.fieldSets.push(i):s.fieldSets=[i]},zBe=(e,t,r)=>{r.fieldSets.pop()},$Be=(e,t)=>{if(!t.box)return;const{top:r,left:n,width:i,height:s}=t.box||{},o="name"in t.props&&t.props.name||"";e._root.data.AcroForm||e.initForm(),e.formList(o,n,r,i,s,vW(t))},HBe=(e,t,r)=>{if(!t.box)return;const{top:n,left:i,width:s,height:o}=t.box,l=t.props?.name||"",c=r.fieldSets?.at(0);e._root.data.AcroForm||e.initForm(),e.formCheckbox(l,i,n,s,o,OBe(e,t,c))},qBe=e=>e.type!==rr&&e.type!==qm,GBe=(e,t,r)=>{e.save(),t.box&&e.translate(t.box.left,t.box.top);const n=t.children||[],i=s=>yW(e,s,r);n.forEach(i),e.restore()},VBe={[rr]:eBe,[YS]:rBe,[Gm]:cBe,[fH]:UBe,[Gpe]:LBe,[Vpe]:MBe,[Wpe]:HBe,[Kpe]:$Be,[JS]:bBe,[qm]:HSe,[KS]:PBe},WBe={[fH]:zBe},yW=(e,t,r)=>{const n=t.style?.overflow==="hidden",i=qBe(t);t.type===H4&&tBe(e,t),e.save(),n&&_E(e,t),fW(e,t),TBe(e,t),_Be(e,t);const s=VBe[t.type];s&&s(e,t,r),i&&GBe(e,t,r);const o=WBe[t.type];o&&o(e,t,r),QBe(e,t),xBe(e,t),e.restore()},bW=(e,t,r,n)=>{if(t.box&&t.props){if("bookmark"in t.props&&t.props.bookmark){const i=t.props.bookmark,{title:s,parent:o,expanded:l,zoom:c,fit:d}=i,u=n[o]||e.outline,h=i.top||t.box.top,p=i.left||t.box.left,A=u.addItem(s,{pageNumber:r,expanded:l,top:h,left:p,zoom:c,fit:d});n[i.ref]=A}t.children&&t.children.forEach(i=>bW(e,i,r,n))}},KBe=(e,t)=>{const r={};(t.children||[]).forEach((i,s)=>{bW(e,i,s,r)})},YBe=(e,t)=>{const r=t.children||[],n={imageCache:new Map,fieldSets:[]};return r.forEach(i=>yW(e,i,n)),KBe(e,t),e.end(),e};var u3,vQ;function ZBe(){if(vQ)return u3;vQ=1;function e(s){this.value=s,this.match=function(o){return this.value>=o.height}}function t(s){this.value=s,this.match=function(o){return this.value=o.width}}function n(s){this.value=s,this.match=function(o){return this.value0;){var y=h.shift();if(y.type==="number"||y.type==="literal"){p.push(y);continue}if(y.type==="operator"){if(s.test(y.value)){y={type:"query",key:p.pop(),value:h.shift()},p.push(y);continue}for(;A.length>0;)p.unshift(A.pop());A.push(y)}}for(;A.length>0;)p.unshift(A.pop());function v(){var w=p.shift();if(w.type==="number")return parseInt(w.value);if(w.type==="literal")return w.value;if(w.type==="operator"){var j=v(),E=v();return t(w.value,j,E)}if(w.type==="query"){var j=w.key.value,E=w.value.value;return e(j,E)}}return v()}return f3={parse:function(h){var p=d(h),A=u(p);return A}},f3}var h3,wQ;function e8e(){if(wQ)return h3;wQ=1;var e=XBe();return h3=function(t,r){var n={};return Object.keys(t).forEach(function(i){e.parse(i).match(r)&&Object.assign(n,t[i])}),n},h3}var t8e=e8e();const r8e=ma(t8e);var m3,EQ;function n8e(){if(EQ)return m3;EQ=1;var e=function(t,r,n){if(t==null)return[0,0,0];var i=(1-Math.abs(2*n-1))*r,s=t/60,o=i*(1-Math.abs(s%2-1));s=Math.floor(s);var l,c,d;s===0?(l=i,c=o,d=0):s===1?(l=o,c=i,d=0):s===2?(l=0,c=i,d=o):s===3?(l=0,c=o,d=i):s===4?(l=o,c=0,d=i):s===5&&(l=i,c=0,d=o);var u=n-i/2;return l+=u,c+=u,d+=u,[Math.abs(Math.round(l*255)),Math.abs(Math.round(c*255)),Math.abs(Math.round(d*255))]};return m3=e,m3}var p3,CQ;function i8e(){if(CQ)return p3;CQ=1;var e=n8e();function t(s,o){return s>o?o:s}function r(s,o){return s359;)s-=360;return s}function i(s,o,l){s=n(s),o=r(t(o,100),0),l=r(t(l,100),0),o/=100,l/=100;var c=e(s,o,l);return"#"+c.map(function(d){return(256+d).toString(16).substr(-2)}).join("")}return p3=i,p3}var a8e=i8e();const s8e=ma(a8e);var g3,IQ;function o8e(){if(IQ)return g3;IQ=1;var e=40,t=41,r=39,n=34,i=92,s=47,o=44,l=58,c=42,d=117,u=85,h=43,p=/^[a-f0-9?-]+$/i;return g3=function(A){for(var y=[],v=A,w,j,E,S,_,C,Q,R,T=0,M=v.charCodeAt(T),O=v.length,$=[{nodes:y}],P=0,L,X="",W="",G="";T=48&&c<=57)return!0;var d=o.charCodeAt(2);return c===r&&d>=48&&d<=57}return l===r?(c=o.charCodeAt(1),c>=48&&c<=57):l>=48&&l<=57}return A3=function(o){var l=0,c=o.length,d,u,h;if(c===0||!s(o))return!1;for(d=o.charCodeAt(l),(d===t||d===e)&&l++;l57));)l+=1;if(d=o.charCodeAt(l),u=o.charCodeAt(l+1),d===r&&u>=48&&u<=57)for(l+=2;l57));)l+=1;if(d=o.charCodeAt(l),u=o.charCodeAt(l+1),h=o.charCodeAt(l+2),(d===n||d===i)&&(u>=48&&u<=57||(u===t||u===e)&&h>=48&&h<=57))for(l+=u===t||u===e?3:2;l57));)l+=1;return{number:o.slice(0,l),unit:o.slice(l)}},A3}var d8e=u8e();const f8e=ma(d8e),h8e=e=>e.filter(Boolean),m8e=e=>e.reduce((t,r)=>{const n=Array.isArray(r)?p8(r):r;return Object.keys(n).forEach(i=>{n[i]!==null&&n[i]!==void 0&&(t[i]=n[i])}),t},{}),p8=Nc(m8e,h8e,BE),p8e=(e,t)=>Object.keys(t).reduce((r,n)=>/@media/.test(n)?{...r,...r8e({[n]:t[n]},e)}:{...r,[n]:t[n]},{}),g8e=e=>/rgba?/g.test(e),A8e=e=>/hsla?/g.test(e),x8e=e=>{const t=Fv.get.rgb(e);return Fv.to.hex(t)},v8e=e=>{const t=Fv.get.hsl(e).map(Math.round);return s8e(...t).toUpperCase()},rv=e=>g8e(e)?x8e(e):A8e(e)?v8e(e):e,y8e=e=>{if(typeof e=="number")return{value:e,unit:void 0};const t=/^(-?\d*\.?\d+)(in|mm|cm|pt|vh|vw|px|rem)?$/g.exec(e);return t?{value:parseFloat(t[1]),unit:t[2]||"pt"}:{value:e,unit:void 0}},To=(e,t)=>{const r=y8e(t),n=72,i=e.dpi||72,s=1/25.4*n,o=1/2.54*n;if(typeof r.value!="number")return r.value;switch(r.unit){case"rem":return r.value*(e.remBase||18);case"in":return r.value*n;case"mm":return r.value*s;case"cm":return r.value*o;case"vh":return r.value*(e.height/100);case"vw":return r.value*(e.width/100);case"px":return Math.round(r.value*(n/i));default:return r.value}},Om=(e,t)=>({[e]:Cs(t)}),Ya=(e,t,r)=>({[e]:To(r,t)}),Gf=(e,t)=>({[e]:rv(t)}),yi=(e,t)=>({[e]:t}),b8e=/(-?\d+(\.\d+)?(in|mm|cm|pt|vw|vh|px|rem)?)\s(\S+)\s(.+)/,w8e=e=>e.match(b8e)||[],Ff=(e,t,r)=>{const n=w8e(`${t}`);if(n){const i=n[1]||t,s=n[4]||t,o=n[5]||t,l=s,c=o?rv(o):void 0,d=i?To(r,i):void 0;if(e.match(/(Top|Right|Bottom|Left)$/))return{[`${e}Color`]:c,[`${e}Style`]:l,[`${e}Width`]:d};if(e.match(/Color$/))return{borderTopColor:c,borderRightColor:c,borderBottomColor:c,borderLeftColor:c};if(e.match(/Style$/)){if(typeof l=="number")throw new Error(`Invalid border style: ${l}`);return{borderTopStyle:l,borderRightStyle:l,borderBottomStyle:l,borderLeftStyle:l}}if(e.match(/Width$/)){if(typeof d!="number")throw new Error(`Invalid border width: ${d}`);return{borderTopWidth:d,borderRightWidth:d,borderBottomWidth:d,borderLeftWidth:d}}if(e.match(/Radius$/)){const u=t?To(r,t):void 0;if(typeof u!="number")throw new Error(`Invalid border radius: ${u}`);return{borderTopLeftRadius:u,borderTopRightRadius:u,borderBottomRightRadius:u,borderBottomLeftRadius:u}}if(typeof d!="number")throw new Error(`Invalid border width: ${d}`);if(typeof l=="number")throw new Error(`Invalid border style: ${l}`);return{borderTopColor:c,borderTopStyle:l,borderTopWidth:d,borderRightColor:c,borderRightStyle:l,borderRightWidth:d,borderBottomColor:c,borderBottomStyle:l,borderBottomWidth:d,borderLeftColor:c,borderLeftStyle:l,borderLeftWidth:d}}return{[e]:t}},E8e={border:Ff,borderBottom:Ff,borderBottomColor:Gf,borderBottomLeftRadius:Ya,borderBottomRightRadius:Ya,borderBottomStyle:yi,borderBottomWidth:Ya,borderColor:Ff,borderLeft:Ff,borderLeftColor:Gf,borderLeftStyle:yi,borderLeftWidth:Ya,borderRadius:Ff,borderRight:Ff,borderRightColor:Gf,borderRightStyle:yi,borderRightWidth:Ya,borderStyle:Ff,borderTop:Ff,borderTopColor:Gf,borderTopLeftRadius:Ya,borderTopRightRadius:Ya,borderTopStyle:yi,borderTopWidth:Ya,borderWidth:Ff},C8e={backgroundColor:Gf,color:Gf,opacity:Om},I8e={height:Ya,maxHeight:Ya,maxWidth:Ya,minHeight:Ya,minWidth:Ya,width:Ya},j8e=[1,1,0],N8e=[1,1,"auto"],S8e=(e,t,r)=>{let n=j8e,i=[];t==="auto"?n=N8e:i=`${t}`.split(" ");const s=Cs(i[0]||n[0]),o=Cs(i[1]||n[1]),l=To(r,i[2]||n[2]);return{flexGrow:s,flexShrink:o,flexBasis:l}},B8e={alignContent:yi,alignItems:yi,alignSelf:yi,flex:S8e,flexBasis:Ya,flexDirection:yi,flexFlow:yi,flexGrow:Om,flexShrink:Om,flexWrap:yi,justifyContent:yi,justifySelf:yi},k8e=(e,t,r)=>{const n=`${t}`.split(" "),i=To(r,n?.[0]||t),s=To(r,n?.[1]||t);return{rowGap:i,columnGap:s}},_8e={gap:k8e,columnGap:Ya,rowGap:Ya},D8e={aspectRatio:Om,bottom:Ya,display:yi,left:Ya,position:yi,right:Ya,top:Ya,overflow:yi,zIndex:Om},T8e="px,in,mm,cm,pt,%,vw,vh",x3=(e,t)=>{const r=e.toString();console.error(` @react-pdf/stylesheet parsing error: ${r}: ${t}, ${" ".repeat(r.length+2)}^ Unsupported ${r} value format `)},Zm=({expandsTo:e,maxValues:t=1,autoSupported:r=!1}={})=>(n,i,s)=>{const o=c8e(`${i}`),l=[];for(let d=0;dt)return x3(n,i),{};const c=To(s,l[0]);if(e){const d=To(s,l[1]||l[0]),u=To(s,l[2]||l[0]),h=To(s,l[3]||l[1]||l[0]);return e({first:c,second:d,third:u,fourth:h})}return{[n]:c}},R8e=Zm({expandsTo:({first:e,second:t,third:r,fourth:n})=>({marginTop:e,marginRight:t,marginBottom:r,marginLeft:n}),maxValues:4,autoSupported:!0}),P8e=Zm({expandsTo:({first:e,second:t})=>({marginTop:e,marginBottom:t}),maxValues:2,autoSupported:!0}),Q8e=Zm({expandsTo:({first:e,second:t})=>({marginRight:e,marginLeft:t}),maxValues:2,autoSupported:!0}),Ib=Zm({autoSupported:!0}),F8e={margin:R8e,marginBottom:Ib,marginHorizontal:Q8e,marginLeft:Ib,marginRight:Ib,marginTop:Ib,marginVertical:P8e},O8e=Zm({expandsTo:({first:e,second:t,third:r,fourth:n})=>({paddingTop:e,paddingRight:t,paddingBottom:r,paddingLeft:n}),maxValues:4}),L8e=Zm({expandsTo:({first:e,second:t})=>({paddingTop:e,paddingBottom:t}),maxValues:2}),M8e=Zm({expandsTo:({first:e,second:t})=>({paddingRight:e,paddingLeft:t}),maxValues:2}),jb=Zm(),U8e={padding:O8e,paddingBottom:jb,paddingHorizontal:M8e,paddingLeft:jb,paddingRight:jb,paddingTop:jb,paddingVertical:L8e},I1=e=>{switch(e){case"top":case"left":return"0%";case"right":case"bottom":return"100%";case"center":return"50%";default:return e}},z8e=(e,t,r)=>{const n=`${t}`.split(" "),i=I1(To(r,n?.[0]||t)),s=I1(To(r,n?.[1]||t));return{objectPositionX:i,objectPositionY:s}},NQ=(e,t,r)=>({[e]:I1(To(r,t))}),$8e={objectPosition:z8e,objectPositionX:NQ,objectPositionY:NQ,objectFit:yi},H8e=e=>typeof e=="number"?e:parseInt(e,10),v3={thin:100,hairline:100,ultralight:200,extralight:200,light:300,normal:400,medium:500,semibold:600,demibold:600,bold:700,ultrabold:800,extrabold:800,heavy:900,black:900},q8e=e=>{if(!e)return v3.normal;if(typeof e=="number")return e;const t=e.toLowerCase();return v3[t]?v3[t]:H8e(e)},G8e=(e,t)=>({[e]:q8e(t)}),V8e=(e,t,r)=>{if(e==="")return e;const n=To(r,t.fontSize||18),i=To(r,e),{percent:s}=Po(i)||{};return s?s*n:isNaN(e)?i:i*n},W8e=(e,t,r,n)=>({[e]:V8e(t,n,r)}),K8e={direction:yi,fontFamily:yi,fontSize:Ya,fontStyle:yi,fontWeight:G8e,letterSpacing:Ya,lineHeight:W8e,maxLines:Om,textAlign:yi,textDecoration:yi,textDecorationColor:Gf,textDecorationStyle:yi,textIndent:yi,textOverflow:yi,textTransform:yi,verticalAlign:yi},Y8e=e=>typeof e=="string"&&/^-?\d*\.?\d*$/.test(e),XN=e=>typeof e!="string"?e:Y8e(e)?parseFloat(e):e,Z8e=e=>{const t=e.trim().split(/\)[ ,]|\)/);if(t.length===1)return[[t[0],!0]];const r=[];for(let n=0;n=0?",":" ",c=o.split(l).map(d=>d.trim());r.push({operation:s.trim(),value:c})}}return r},Nb=e=>{const t=/(-?\d*\.?\d*)(\w*)?/i,[,r,n]=t.exec(e),i=Number.parseFloat(r);return n==="rad"?i*180/Math.PI:i},J8e=({operation:e,value:t})=>{switch(e){case"scale":{const[r,n=r]=t.map(i=>Number.parseFloat(i));return{operation:"scale",value:[r,n]}}case"scaleX":return{operation:"scale",value:[Number.parseFloat(t),1]};case"scaleY":return{operation:"scale",value:[1,Number.parseFloat(t)]};case"rotate":return{operation:"rotate",value:[Nb(t)]};case"translate":return{operation:"translate",value:t.map(r=>Number.parseFloat(r))};case"translateX":return{operation:"translate",value:[Number.parseFloat(t),0]};case"translateY":return{operation:"translate",value:[0,Number.parseFloat(t)]};case"skew":return{operation:"skew",value:t.map(Nb)};case"skewX":return{operation:"skew",value:[Nb(t),0]};case"skewY":return{operation:"skew",value:[0,Nb(t)]};default:return{operation:e,value:t.map(r=>Number.parseFloat(r))}}},X8e=e=>e.map(t=>J8e(t)),SQ=(e,t)=>typeof t!="string"?{[e]:t}:{[e]:X8e(Z8e(t))},BQ={top:!0,bottom:!0},eke=(e,t)=>BQ[e]?1:BQ[t]?-1:0,tke=e=>!e||e.length===0?["center","center"]:(e.length===1?[e[0],"center"]:e).sort(eke),rke=(e,t,r)=>{const n=`${t}`.split(" "),i=tke(n),s=To(r,i[0]),o=To(r,i[1]);return{transformOriginX:I1(s)||XN(s),transformOriginY:I1(o)||XN(o)}},kQ=(e,t,r)=>{const n=To(r,t);return{[e]:I1(n)||XN(n)}},nke={transform:SQ,gradientTransform:SQ,transformOrigin:rke,transformOriginX:kQ,transformOriginY:kQ},ike={fill:Gf,stroke:Gf,strokeDasharray:yi,strokeWidth:Ya,fillOpacity:Om,strokeOpacity:Om,fillRule:yi,textAnchor:yi,strokeLinecap:yi,strokeLinejoin:yi,visibility:yi,clipPath:yi,dominantBaseline:yi},_Q={...E8e,...C8e,...I8e,...B8e,..._8e,...D8e,...F8e,...U8e,...$8e,...K8e,...nke,...ike},ake=e=>t=>{const r=Object.keys(t),n={};for(let i=0;i{const r=n=>p8e(e,n);return Nc(ake(e),r,p8)(t)};function g8(){var e=(function(t){var r={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"},n={},i={};n.L=1,i[1]="L",Object.keys(r).forEach(function(Oe,Pt){n[Oe]=1<1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function v(Oe,Pt){var Kt=36,gt=0,Jt=new Map,Bt=Pt&&new Map,tr;return Oe.split(",").forEach(function sr(xt){if(xt.indexOf("+")!==-1)for(var wt=+xt;wt--;)sr(tr);else{tr=xt;var Lt=xt.split(">"),ir=Lt[0],He=Lt[1];ir=String.fromCodePoint(gt+=parseInt(ir,Kt)),He=String.fromCodePoint(gt+=parseInt(He,Kt)),Jt.set(ir,He),Pt&&Bt.set(He,ir)}}),{map:Jt,reverseMap:Bt}}var w,j,E;function S(){if(!w){var Oe=v(y.pairs,!0),Pt=Oe.map,Kt=Oe.reverseMap;w=Pt,j=Kt,E=v(y.canonical,!1).map}}function _(Oe){return S(),w.get(Oe)||null}function C(Oe){return S(),j.get(Oe)||null}function Q(Oe){return S(),E.get(Oe)||null}var R=n.L,T=n.R,M=n.EN,O=n.ES,$=n.ET,P=n.AN,L=n.CS,X=n.B,W=n.S,G=n.ON,J=n.BN,q=n.NSM,ee=n.AL,ne=n.LRO,V=n.RLO,ue=n.LRE,de=n.RLE,xe=n.PDF,_e=n.LRI,Ce=n.RLI,we=n.FSI,ve=n.PDI;function Ne(Oe,Pt){for(var Kt=125,gt=new Uint32Array(Oe.length),Jt=0;Jt0)Ee--;else if(We>0){for(re=0;!ie[ie.length-1]._isolate;)ie.pop();var De=ie[ie.length-1]._isolInitIndex;De!=null&&(xt.set(De,Tt),xt.set(Tt,De)),ie.pop(),We--}ae=ie[ie.length-1],sr[Tt]=ae._level,ae._override&&tr(Tt,ae._override)}else H&xe?(Ee===0&&(re>0?re--:!ae._isolate&&ie.length>1&&(ie.pop(),ae=ie[ie.length-1])),sr[Tt]=ae._level):H&X&&(sr[Tt]=Lt.level);else sr[Tt]=ae._level,ae._override&&H!==J&&tr(Tt,ae._override)}for(var qe=[],dr=null,Xt=Lt.start;Xt<=Lt.end;Xt++){var Te=gt[Xt];if(!(Te&c)){var zt=sr[Xt],qr=Te&s,kr=Te===ve;dr&&zt===dr._level?(dr._end=Xt,dr._endsWithIsolInit=qr):qe.push(dr={_start:Xt,_end:Xt,_level:zt,_startsWithPDI:kr,_endsWithIsolInit:qr})}}for(var fr=[],Ft=0;Ft=0;go--)if(!(gt[go]&c)){aa=sr[go];break}var Ui=Pn[Pn.length-1],ni=sr[Ui],Ma=Lt.level;if(!(gt[Ui]&s)){for(var Xa=Ui+1;Xa<=Lt.end;Xa++)if(!(gt[Xa]&c)){Ma=sr[Xa];break}}fr.push({_seqIndices:Pn,_sosType:Math.max(aa,ia)%2?T:R,_eosType:Math.max(Ma,ni)%2?T:R})}}for(var es=0;es=0;Ha--)if(!(gt[pr[Ha]]&c)){to=gt[pr[Ha]];break}tr(qs,to&(s|ve)?G:to)}}if(Bt.get(M))for(var oi=0;oi=-1;Sa--){var me=Sa===-1?Hs:gt[pr[Sa]];if(me&o){me===ee&&tr(Bs,P);break}}}if(Bt.get(ee))for(var pe=0;pe=0&&(vt=gt[pr[Ot]],!!(vt&c));Ot--);for(var ur=$e+1;ur=0&>[pr[Rr]]&($|c);Rr--)tr(pr[Rr],M);for(Gt++;Gt=0&>[pr[mn]]&c;mn--)tr(pr[mn],G);for(var Kr=fn+1;Kr=0;zi--){var xo=Gs[zi].char;if(xo===ks||xo===C(Q(Vs))||_(Q(xo))===Vs){Ao.push([Gs[zi].seqIndex,rs]),Gs.length=zi;break}}}Ao.sort(function(zn,_a){return zn[0]-_a[0]})}for(var va=0;va=0;vo--){var tc=pr[vo];if(gt[tc]&zo){var yo=gt[tc]&Uo?T:R;yo!==za?Ba=yo:Ba=za;break}}}if(Ba){if(gt[pr[ml]]=gt[pr[Ws]]=Ba,Ba!==za){for(var sa=ml+1;sa=0;ya--)if(gt[pr[ya]]&c)ka=ya;else{qa=gt[pr[ya]]&Uo?T:R;break}for(var _s=wi,Ks=ms+1;Ks=0&&p(Oe[no])&d;no--)sr[no]=Lt.level}}return{levels:sr,paragraphs:wt};function li(zn,_a){for(var ba=zn;ba=sr&&p(Oe[Lt])&d;Lt--)wt[Lt]=tr.level;for(var ir=tr.level,He=1/0,ce=0;ceir&&(ir=Le),Le=He;rt--)for(var ie=0;ie=rt){for(var ae=ie;ie+1=rt;)ie++;ie>ae&&Bt.push([ae+sr,ie+sr])}}}),Bt}function pt(Oe,Pt,Kt,gt){var Jt=dt(Oe,Pt,Kt,gt),Bt=[].concat(Oe);return Jt.forEach(function(tr,sr){Bt[sr]=(Pt.levels[tr]&1?Pe(Oe[tr]):null)||Oe[tr]}),Bt.join("")}function dt(Oe,Pt,Kt,gt){for(var Jt=tt(Oe,Pt,Kt,gt),Bt=[],tr=0;tr"&&(X(),L=!1):W[0]==="<"&&(!r(W[1])||W[1]==="/")&&(L=!0),L}}function i(L){var X=!1;return function(W,G){return X?!r(G[0])&&r(G[1])&&(W(),X=!1):!r(G[0])&&G[1]===L&&(X=!0),X}}function s(L,X){return function(){var W="",G="";function J(){W+=G,G=""}function q(ee){return W="",G="",ee}return function(ee,ne){G+=ee;var V=L.reduce(function(ue,de){return ue||de(J,[ee,ne])},!1);if(!V&&(r(ee)&&!r(ne)&&J(),!r(ee)&&r(ne))){if(G.length>=X)return q([W,G]);J()}if(ne==="")return(G.length1)for(var J=0,q=1;q-1;)J.push(G);return X[W.toLocaleLowerCase().replace(/\-/g,"")]=J,X},{})}function d(L){var X=0;function W(){return L[X++]}return W}function u(L){var X=0,W=L;function G(){if(W=L.slice(X++),!(W.length<3))return W}function J(){return X===2}return[G,J]}function h(L,q,W,G){for(var J=new Array(L.length+1),q=("."+q+".").split(""),ee,ne,V,ue,de,xe,_e=-1,Ce,we,ve,Ne,Ie=J.length;Ie--;)J[Ie]=0;for(Ce=u(q),we=Ce[0],ve=Ce[1];ee=we();)for(_e++,ve()&&_e--,V=G,Ne=d(ee);(ne=Ne())&&(ue=V[ne])!==void 0;){switch(V={},de=-1,Object.prototype.toString.call(ue)){case"[object Array]":V=ue[0],de=ue[1];break;case"[object Object]":V=ue;break;case"[object Number]":de=ue;break}if(!(de<0)){W[de].splice||(W[de]=W[de].slice("")),xe=W[de];for(var be=0;be>0,de=O(X,_,v),xe=O(X,S,y,M),_e=ee+ue;if(q[_e]={},L[2]&&(q[_e]=$(L[2],ee),J=c(L[2])),xe&&xe.length&&(q[_e]=T(q[_e],$(xe,ee)),J=T(J,c(xe))),G[_e]=T({},q[_e]),W&&!("Promise"in R))throw new Error("Failed to create hyphenator: Could not find global Promise object, needed for hyphenator to work in async mode");return function(Ce,we){we=we||{};var ve=O(we,C,ee),Ne=O(we,Q,ue)>>0,Ie=O(we,S,y,M),be=ve+Ne;return!q[be]&&L[2]&&(q[be]=$(L[2],ve),G[be]=T(G[be],q[be])),Ie&&Ie.length&&(q[be]=T(q[be],$(Ie,ve)),J=T(J,c(Ie)),G[be]=T(G[be],q[be])),p(Ce,ne,V,G[be],J,ve,de,Ne,W)}}return P})})(K5)),K5.exports}var lke=oke();const cke=ma(lke);var Y5={exports:{}},uke=Y5.exports,TQ;function dke(){return TQ||(TQ=1,(function(e){(function(t,r){e.exports?e.exports=r():t.hyphenationPatternsEnUs=r()})(uke,function(){return["0004,004,001,003,005,0005,00005,000005,0002,002,0000005,0003,00003,00505,00034,0001,00055,00004,4,05,0055,04,42,03,02,2,404,3,044,01,0505,55,5,045,041,0033,000004,22,00504,5504,0042,1,21,41,402,405,4004,43,23,000054,303,3005,022,5004,000003,252,45,25,2004,000505,054,403,401,3002,0025,144,432,00054,34,12,234,0022,014,0304,012,143,503,0403,101,052,414,212,011,043,00002,0041,0024,05005,03003,00102,0404,04303,01004,0034,025,0044,00404,00025,0103,042,0205,412,104,54,344,433,5005,253,055,0402,3004,0043,204,505,454,0000004,00303,04004,552,201,4005,0255,52,444,14,44,02004,033,05004,00045,00013,0021,0405,00044,0054,50055,000303,00001,304,0204,11,301,232,122,00305,504,000043,0104,00052,000045,50004,0023,00033,00032,00202,5003,202,0401,0000505,214,102,032,000161,004101,00501,00301,0036,0052,00023,006101,006,00401,000521,0014,0063,00012,000501,000006,000604,000601,005001,005005,0010305,00006,003012,003005,0003011,0061,013,000021,000022,000105,00211,00062,00051,000112,006013,000011,0200306,1021,0050001,003003,2102,305,000015,01030005,000035,001011,00021,16330001,0234,030006,5020001,000001,00016,0031,021,21431,002305,0350014,0000012,000063,00101,106,105,00435,00063,0300061,00041,100306,003602,023,0503,0010011,10003,1005,30011,00031,0001001,0000061,0030003,30305,001201,0301,5000101,500101,00015,000401,000065,000016,0000402,0500002,000205,030201,500301,00014,5001,000002,00030011,01034,0300006,030213,00400304,050001,05003,000311,0634,00061,0006,00000604,00050013,00213,0030001,100003,000033,30002,00003632,0003004,050003,0000021,006303,0000006,00005005,30451,03001,00231,00056,00011,6,001001,00500001,03005,503005,0000010001,1002,003001,001065,300001,32011,32,0000003,0213001,0500053,021005,10001,0000011,0001041,0020016,100032,50011,0606,5002,3001,03002,0015001,0102,00003001,000000033,0000001,300101,300015,0101003,00000101,0100501,0101,0010033,00000362,000014,0005001,031",'{".":{"a":{"c":{"h":0},"d":{"d":{"e":{"r":1}}},"f":{"t":2},"l":{"t":3},"m":{"a":{"t":4}},"n":{"c":4,"g":0,"i":{"m":5},"t":[{"e":3,"i":{"s":6}},0]},"r":{"s":4,"t":{"i":{"e":1},"y":1}},"s":{"c":3,"p":2,"s":2,"t":{"e":{"r":7}}},"t":{"o":{"m":6}},"u":{"d":2},"v":{"i":1},"w":{"n":0}},"b":{"a":{"g":1,"n":{"a":4},"s":{"e":0}},"e":{"r":[{"a":4},0],"s":{"m":3,"t":{"o":4}}},"r":{"i":8},"u":{"t":{"t":{"i":0}}}},"c":{"a":{"m":{"p":{"e":0}},"n":{"c":5},"p":{"a":{"b":6}},"r":{"o":{"l":5}},"t":1},"e":{"l":{"a":1}},"h":[{"i":{"l":{"l":{"i":7}}}},1],"i":[{"t":{"r":5}},9],"o":{"e":3,"r":[{"n":{"e":{"r":5}}},1],"n":{"g":{"r":5}}}},"d":{"e":{"m":{"o":{"i":1}},"o":3,"r":{"a":3,"i":[{"v":{"a":4}},3]},"s":{"c":0}},"i":{"c":{"t":{"i":{"o":10}}}},"o":{"t":1},"u":{"c":1,"m":{"b":6}},"r":{"i":{"v":67}}},"e":{"a":{"r":{"t":{"h":7}},"s":{"i":11}},"b":1,"e":{"r":0},"g":9,"l":{"d":4,"e":{"m":3}},"n":{"a":{"m":12},"g":3,"s":3},"q":{"u":{"i":{"t":13}}},"r":{"r":{"i":1}},"s":3,"u":[{"l":{"e":{"r":1}}},3],"y":{"e":5},"t":{"h":{"y":{"l":162}}},"v":[{"e":{"r":{"s":{"i":{"b":158}}}}},9]},"f":{"e":{"s":11},"o":{"r":{"m":{"e":{"r":5}}}}},"g":{"a":[{"s":{"o":{"m":163}}},9],"e":[{"n":{"t":14},"o":{"g":4,"m":{"e":1},"t":164}},9],"i":{"a":4,"b":1},"o":{"r":1}},"h":{"a":{"n":{"d":{"i":6},"k":5}},"e":[{"r":{"o":{"i":6,"e":3}},"s":11,"t":11,"m":{"o":165},"p":{"a":166}},9],"i":{"b":3,"e":{"r":3}},"o":{"n":{"e":{"y":5},"o":11},"v":5}},"i":{"d":{"l":1,"o":{"l":12}},"m":{"m":3,"p":{"i":{"n":4}}},"n":[{"c":{"i":3},"e":8,"k":9,"s":3,"u":{"t":167}},2],"r":{"r":4},"s":{"i":1}},"j":{"u":{"r":3}},"l":{"a":{"c":{"y":1},"m":1,"t":{"e":{"r":5},"h":6}},"e":[{"g":{"e":5},"n":0,"p":5,"v":15,"i":{"c":{"e":{"s":170}}}},9],"i":{"g":[{"a":5},1],"n":9,"o":3,"t":1}},"m":{"a":{"g":{"a":16},"l":{"o":5},"n":{"a":5},"r":{"t":{"i":5}}},"e":[{"r":{"c":11},"t":{"e":{"r":4},"a":{"l":{"a":0}}},"g":{"a":{"l":171}}},9],"i":{"s":[{"t":{"i":6},"e":{"r":{"s":173}}},15],"m":{"i":{"c":172}}},"o":{"n":{"e":11},"r":{"o":3}},"u":{"t":{"a":[{"b":6},4]}}},"n":{"i":{"c":1},"e":{"o":{"f":174}},"o":{"e":{"t":{"h":15}},"n":{"e":{"m":175}}}},"o":{"d":[{"d":5},9],"f":{"t":{"e":4}},"r":{"a":{"t":{"o":4}},"c":3,"d":2,"t":3},"s":[{"t":{"l":1}},3],"t":{"h":11},"u":{"t":11}},"p":{"e":{"d":{"a":{"l":5}},"t":{"e":4,"i":{"t":4}}},"i":{"e":1,"o":{"n":5},"t":9},"r":{"e":{"m":11,"a":{"m":15}}},"o":{"l":{"y":{"s":137}},"s":{"t":{"a":{"m":137}}}}},"r":{"a":{"c":1,"n":{"t":0},"t":{"i":{"o":{"n":{"a":7}}}},"v":{"e":{"n":{"o":176}}}},"e":{"e":[{"c":173},8],"m":{"i":{"t":4}},"s":[{"t":{"a":{"t":4}}},8]},"i":{"g":1,"t":{"u":5}},"o":{"q":1,"s":{"t":5},"w":{"d":5}},"u":{"d":1}},"s":{"c":{"i":{"e":11}},"e":{"l":{"f":6,"l":6},"n":9,"r":{"i":{"e":4}},"m":{"i":[{"c":0,"d":177,"p":36,"r":36,"s":178,"v":36},6]}},"h":9,"i":[{"n":{"g":17}},9],"t":[{"a":{"b":{"l":5}}},1],"y":9,"p":{"h":{"i":{"n":179}},"i":{"n":{"o":137}}}},"t":{"a":[{"p":{"e":{"s":{"t":{"r":180}}}}},1],"e":[{"n":{"a":{"n":5}},"l":{"e":{"g":{"r":3}}}},1],"h":9,"i":[{"l":0,"m":{"o":16},"n":{"g":17,"k":5}},9],"o":{"n":{"a":0},"p":[{"i":5,"o":{"g":170}},1],"u":{"s":5},"q":9},"r":{"i":{"b":{"u":{"t":6}}}}},"u":{"n":{"a":[{"t":{"t":144}},2],"c":{"e":3},"d":{"e":{"r":7}},"e":[{"r":{"r":181}},2],"k":4,"o":4,"u":3},"p":3,"r":{"e":11},"s":{"a":4}},"v":{"e":{"n":{"d":{"e":0}},"r":{"a":4}},"i":{"c":{"a":{"r":151}}}},"w":{"i":{"l":{"i":5}},"e":{"b":{"l":131}}},"y":{"e":1},"k":{"i":{"l":{"n":{"i":168}}},"o":{"r":{"t":{"e":169}}}}},"a":{"b":{".":18,"a":{"l":19,"n":19},"e":[{"r":{"d":4}},8],"i":{"a":5,"t":{"a":{"b":13}}},"l":{"a":{"t":4}},"o":{"l":{"i":{"z":20,"c":19}}},"r":[{"o":{"g":4}},18],"u":{"l":3}},"c":{"a":{"r":[{"d":4,"o":4},21],"b":{"l":24}},"e":{"o":{"u":19},"r":2},"h":{"e":{"t":19}},"i":[{"e":23,"n":2,"o":23},22],"r":{"o":{"b":4}},"t":{"i":{"f":5}},"u":{"l":3,"m":1}},"d":[{"d":{"i":{"n":1}},"e":{"r":{".":4}},"i":[{"a":23,"c":{"a":3},"e":{"r":0},"o":23,"t":23,"u":19},25],"l":{"e":1},"o":{"w":3},"r":{"a":{"n":4}},"s":{"u":1},"u":[{"c":23,"m":4},18]},24],"e":{"r":[{"i":{"e":17}},1]},"f":[{"f":[{"i":{"s":{"h":170}}},0]},24],"g":{"a":{"b":21,"n":0},"e":{"l":{"l":4},"o":0,"u":18},"i":2,"l":26,"n":2,"o":[{"g":27,"n":{"i":3}},24],"u":{"e":{"r":19},"l":4},"y":21},"h":{"a":23,"e":23,"l":1,"o":23},"i":[{"a":19,"c":{".":23},"l":{"y":4},"n":[{"i":{"n":5},"o":5},28],"t":{"e":{"n":5}}},9],"j":29,"k":{"e":{"n":2}},"l":{"a":{"b":4,"d":3,"r":21},"d":{"i":18},"e":[{"n":{"d":3,"t":{"i":21}},"o":30},25],"i":[{"a":{".":1},"e":0},2],"l":{"e":{"v":4},"i":{"c":18}},"m":18,"o":{"g":{".":19}},"y":{".":21,"s":[{"t":31},18],"t":32,"z":27}},"m":{"a":[{"b":4,"g":3,"r":{"a":5},"s":{"c":4},"t":{"i":{"s":21},"o":33}},18],"e":{"r":{"a":4},"n":{"t":{"a":{"b":182}}}},"i":{"c":3,"f":4,"l":{"y":4},"n":[{"o":0},2]},"o":[{"n":19,"r":{"i":6}},24],"p":{"e":{"n":5}}},"n":[{"a":{"g":{"e":3},"l":{"y":[{"s":183},27]},"r":[{"c":3,"i":17},23],"t":{"i":23}},"d":[{"e":{"s":17},"i":{"s":3},"l":2,"o":{"w":1}},18],"e":{"e":19,"n":23,"s":{"t":{".":4}},"u":23},"g":[{"i":{"e":5},"l":2},25],"i":{"c":34,"e":{"s":23},"f":35,"m":{"e":1,"i":19},"n":{"e":19},"o":3,"p":23,"s":{"h":3},"t":3,"u":23},"k":{"l":{"i":1}},"n":{"i":{"z":32}},"o":[{"t":[{"h":7},4],"a":{"c":148}},0],"s":{"a":9,"c":{"o":1},"n":1,"p":[{"o":11},9],"t":1,"u":{"r":1},"g":{"r":5},"v":11},"t":{"a":{"l":36},"i":{"e":1,"d":137,"n":184,"r":{"e":137}},"o":18,"r":9,"w":1},"u":{"a":3,"l":3,"r":19}},24],"o":18,"p":{"a":{"r":17,"t":4},"e":{"r":{"o":4},"a":{"b":{"l":{"e":132}}}},"h":{"e":{"r":23},"i":18},"i":{"l":{"l":{"a":[{"r":4},21]}},"n":3,"t":{"a":3,"u":23}},"l":24,"o":{"c":6,"l":{"a":4},"r":{"i":6},"s":{"t":12}},"s":{"e":{"s":5}},"u":23},"q":{"u":{"e":6}},"r":[{"a":{"c":{"t":3},"d":{"e":19,"i":{"s":4}},"l":3,"m":{"e":{"t":{"e":19}}},"n":{"g":17},"p":11,"t":[{"i":{"o":19,"v":4}},1],"u":19,"v":38,"w":17},"b":{"a":{"l":36}},"c":{"h":{"a":{"n":1},"e":{"t":185}}},"d":{"i":{"n":{"e":4}},"r":1},"e":{"a":{"s":4},"e":23,"n":{"t":3},"s":{"s":19}},"f":{"i":1,"l":1},"i":[{"a":{"l":4,"n":3},"e":{"t":23},"m":1,"n":{"a":{"t":4}},"o":3,"z":9},2],"m":{"i":9},"o":{"d":20,"n":{"i":19},"o":23},"p":9,"q":3,"r":{"e":17,"a":{"n":{"g":{"e":9}}}},"s":{"a":1,"h":9}},37],"s":{".":18,"a":{"b":1,"n":{"t":3}},"h":{"i":17},"i":{"a":{".":19},"b":23,"c":23,"t":39},"k":{"i":11},"l":1,"o":{"c":21},"p":{"h":4},"s":{"h":1},"t":{"e":{"n":3},"r":2},"u":{"r":{"a":6}},"y":{"m":{"p":{"t":{"o":{"t":4}}}}}},"t":{"a":[{"b":{"l":3},"c":4,"l":{"o":3},"p":4},24],"e":{"c":[{"h":4},5],"g":{"o":3},"n":{".":3},"r":{"a":3,"n":[{"a":19},6]},"s":{"t":3},"v":4},"h":[{"e":{"m":5,"n":19,"r":{"o":{"s":186}}},"o":[{"m":5},1]},18],"i":{".":18,"a":19,"b":20,"c":2,"f":3,"o":{"n":{"a":{"r":7}}},"t":{"u":3}},"o":{"g":21,"m":[{"i":{"z":4}},24],"p":21,"s":21},"r":[{"o":{"p":4}},29],"s":{"k":1},"t":{"a":{"g":1},"e":[{"s":{".":170}},4],"h":1},"u":[{"a":4,"e":4,"l":3,"r":{"a":3}},24],"y":24},"u":{"b":1,"g":{"h":[{"t":{"l":17}},12],"u":3},"l":[{"i":{"f":13}},40],"n":{"d":5},"r":3,"s":{"i":{"b":4}},"t":{"e":{"n":5},"h":2}},"v":{"a":[{"g":3,"n":19},24],"e":{"n":{"o":0},"r":{"a":3,"n":4,"y":4}},"i":[{"e":{"r":0},"g":3,"o":{"u":3}},2],"o":{"c":4,"r":29}},"w":{"a":{"y":27},"i":3,"l":{"y":1},"s":0},"x":{"i":{"c":1,"d":1}},"y":{"a":{"l":4},"e":0,"s":0},"z":{"i":{"e":{"r":0}},"z":{"i":5}}},"b":{"a":{".":32,"d":{"g":{"e":{"r":5}}},"g":{"e":1},"l":{"a":15},"n":{"d":{"a":{"g":5}},"e":0,"i":11},"r":{"b":{"i":7},"i":{"a":17},"o":{"n":{"i":{"e":187}}}},"s":{"s":{"i":0}},"t":[{"h":{"y":2}},41],"z":1,"c":{"k":{"e":{"r":{".":84}}}}},"b":[{"e":[{"r":23},24],"i":{"n":{"a":0},"t":0}},42],"d":43,"e":{".":18,"a":{"k":17,"t":12},"d":[{"a":3,"e":3,"i":3},44],"g":{"i":3,"u":4},"l":[{"i":2,"o":3},41],"m":45,"n":{"i":{"g":4},"u":4},"s":[{"p":3,"t":{"r":4}},46],"t":[{"i":{"z":5},"r":4,"w":3},27],"w":3,"y":{"o":4},"v":{"i":{"e":9}}},"f":25,"h":47,"i":{"b":9,"d":[{"i":{"f":167}},1],"e":[{"n":4,"r":1},27],"f":48,"l":[{"i":{"z":3},"l":{"a":{"b":8}}},41],"n":{"a":{"r":49},"d":0,"e":{"t":4}},"o":{"g":{"r":3},"u":4,"m":5,"r":{"b":2,"h":15}},"t":[{"i":{"o":50,"v":{"e":188}},"r":3,"u":{"a":51},"z":19},9]},"j":29,"k":1,"l":[{"a":{"t":{"h":7},"n":{"d":189}},"e":{".":21,"n":17,"s":{"p":32}},"i":{"s":23,"n":{"d":189}},"o":[{"n":{"d":190}},21],"u":{"n":{"t":17}}},52],"m":43,"n":[{"e":{"g":5}},47],"o":{"d":[{"i":11},27],"e":1,"l":{"i":{"c":11}},"m":{"b":{"i":0}},"n":{"a":[{"t":5},0]},"o":27,"r":{".":32,"a":43,"d":5,"e":32,"i":32,"n":{"o":191}},"s":53,"t":{"a":19,"h":6,"o":1,"u":{"l":192}},"u":{"n":{"d":54}}},"p":18,"r":{"i":{"t":18},"o":{"t":{"h":54}},"u":{"s":{"q":17}}},"s":[{"o":{"r":17}},55],"t":[{"l":1,"o":21,"r":23},25],"u":{"f":{"f":{"e":{"r":0}}},"g":{"a":1},"l":{"i":3},"m":{"i":17},"n":[{"t":{"i":17}},1],"r":{"e":3},"s":{"i":{"e":[{"r":193,"s":193},5]},"s":{"e":17,"i":{"n":{"g":17}}},"t":32},"t":{"a":18,"i":{"o":27},"o":19,"e":{"d":{".":8}},"t":{"e":{"d":0}}}},"v":29,"w":56,"y":{".":32,"s":0}},"c":{"a":[{"b":{"i":{"n":11},"l":2},"c":{"h":17},"d":{"e":{"n":4,"m":194}},"g":46,"h":57,"l":{"a":{"t":3},"l":{"a":0,"i":{"n":6}},"o":18},"n":{"d":5,"e":0,"i":{"c":0,"s":5,"z":11},"t":{"y":0},"y":17},"p":{"e":{"r":4}},"r":{"o":{"m":5}},"s":{"t":{"e":{"r":6},"i":{"g":5}},"y":18},"t":{"h":1,"i":{"v":18},"a":{"s":195}},"v":{"a":{"l":5}}},41],"c":[{"h":{"a":6},"i":{"a":0},"o":{"m":{"p":{"a":10}},"n":17,"u":{"t":12}}},23],"e":{".":25,"d":{".":18,"e":{"n":18}},"i":27,"l":{".":32,"l":27},"n":[{"c":27,"e":58,"i":18,"t":27},41],"p":27,"r":{"a":{"m":4}},"s":{"a":18,"s":{"i":[{"b":59},27]},"t":5},"t":[{"a":60},0],"w":0},"h":[{".":18,"a":{"b":61,"n":{"i":{"c":32,"s":20}}},"e":[{"a":{"p":54},"d":18,"l":{"o":5},"m":{"i":27},"n":{"e":4},"r":{".":3,"s":3}},8],"i":{"n":[{"e":{".":32,"s":{"s":4}},"i":32},62],"o":32,"t":27,"z":8,"e":{"v":{"o":6}}},"o":63,"t":{"i":1},"s":{".":18,"h":{"u":11}}},25],"i":[{"a":[{"b":64,"r":5},27],"c":4,"e":{"r":18},"f":{"i":{"c":{".":32}}},"i":18,"l":{"a":1,"i":27},"m":25,"n":[{"a":[{"t":27},21],"e":{"m":11},"g":[{".":19},29],"o":32,"q":8},25],"o":{"n":17},"p":{"e":18,"h":3,"i":{"c":18}},"s":{"t":{"a":18,"i":18}},"t":[{"i":{"z":11}},42],"z":32,"g":{"a":{"r":152}}},41],"k":[{"i":3},2],"l":[{"a":{"r":[{"a":{"t":{"i":{"o":19}}},"e":32},18]},"e":{"m":0,"a":{"r":0}},"i":{"c":18,"m":17},"y":0},65],"n":19,"o":[{"a":{"g":4},"e":8,"g":[{"r":1},25],"i":[{"n":{"c":3}},0],"l":{"i":5,"o":[{"r":11},32]},"m":{"e":{"r":5}},"n":{"a":0,"e":21,"g":11,"t":5},"p":{"a":3,"i":{"c":11},"l":1,"h":{"o":{"n":196}}},"r":{"b":18,"o":{"n":12}},"s":{"e":0},"v":[{"e":17},15],"w":{"a":5},"z":{"e":5,"i":4},"u":{"s":{"t":{"i":84}}}},41],"q":29,"r":{"a":{"s":{"t":6},"t":{".":32,"i":{"c":32}}},"e":{"a":{"t":11},"d":32,"t":{"a":47},"v":0},"i":[{"f":5,"n":21,"s":17,"t":{"i":[{"e":11},32]}},8],"o":{"p":{"l":0,"o":6},"s":{"e":17},"c":{"o":{"d":197}},"e":{"c":{"o":148}}},"u":{"d":0}},"s":66,"t":[{"a":{"b":0,"n":{"g":4,"t":19}},"e":[{"r":23},24],"i":{"c":{"u":21},"m":{"i":12}},"u":{"r":0},"w":21,"r":{"o":{"m":{"e":{"c":198}}}}},42],"u":{"d":5,"f":21,"i":[{"t":{"y":4}},21],"l":{"i":32,"t":{"i":{"s":0},"u":27}},"m":{"a":9,"e":23,"i":1},"n":27,"p":{"i":3,"y":4},"r":{"a":{"b":67,"n":{"c":{"e":199}}},"i":{"a":4}},"s":[{"s":{"i":17}},41],"t":[{"i":{"e":1,"v":56},"r":18},68]},"y":41,"z":{"e":0}},"d":{"a":[{".":32,"b":70,"c":{"h":17},"f":18,"g":25,"m":71,"n":{"g":11},"r":{"d":6,"k":6,"y":18},"t":[{"i":{"v":18},"o":18,"a":{"b":137}},27],"v":[{"e":5},53],"y":32,"l":{"o":{"n":{"e":48}}}},69],"b":29,"c":19,"d":[{"a":{"b":20},"i":{"b":94}},72],"e":{".":25,"a":{"f":6,"l":{"s":{".":1}}},"b":{"i":{"t":5},"o":{"n":1}},"c":{"a":{"n":36},"i":{"l":1},"o":{"m":4},"l":{"a":{"r":200},"i":{"n":{"a":64}}}},"d":42,"e":{".":18},"i":{"f":4},"l":{"i":{"e":17,"q":16},"o":4},"m":[{".":32,"i":{"c":[{".":5},27],"l":4},"o":{"n":{"s":1},"r":7,"s":9}},21],"n":[{"a":{"r":1},"o":3,"t":{"i":{"f":7}},"u":3},41],"p":[{"a":3,"i":17,"u":9},2],"q":23,"r":{"h":21,"m":32,"n":{"i":{"z":6}},"s":5},"s":[{".":24,"c":2,"o":64,"t":{"i":11,"r":3},"u":1,"i":{"c":11}},8],"t":[{"o":9,"i":{"c":9}},2],"v":[{"i":{"l":11}},2],"y":18,"f":{"i":{"n":{"i":{"t":{"i":201}}}}}},"f":43,"g":{"a":21,"e":{"t":73},"i":2,"y":24},"h":74,"i":{".":32,"a":[{"b":5},75],"c":{"a":{"m":1,"i":{"d":15}},"e":21,"t":27},"d":27,"e":{"n":76},"f":[{"f":{"r":{"a":5}}},29],"g":{"e":3},"l":{"a":{"t":{"o":1}}},"n":[{"a":41,"e":{".":27},"i":[{"z":4},32]},29],"o":[{"g":5},41],"p":{"l":1},"r":[{"e":[{"n":9,"r":9},2],"t":{"i":6}},8],"s":[{"i":32,"t":77},15],"t":{"i":24},"v":78,"m":{"e":{"t":{"h":{"y":141}}}}},"j":29,"k":79,"l":{"a":56,"e":{".":27,"d":27,"s":{".":27,"s":18},"a":{"d":42}},"o":48,"u":56,"y":25,"i":{"e":202}},"m":29,"n":80,"o":[{".":27,"d":{"e":4},"e":32,"f":57,"g":21,"l":{"a":1,"i":17,"o":{"r":4}},"m":{"i":{"z":5}},"n":{"a":{"t":3},"i":17},"o":{"d":11},"p":{"p":0},"r":21,"s":27,"u":{"t":56},"v":1,"x":27,"w":{"o":{"r":{"d":203}}}},41],"p":29,"r":[{"a":{"g":{"o":{"n":6}},"i":18},"e":[{"a":{"r":6},"n":[{"a":{"l":204}},32]},0],"i":{"b":0,"l":17,"f":{"t":{"a":189}},"p":{"l":{"e":{"g":205}}}},"o":{"p":0,"w":18,"m":{"e":{"d":206}}},"u":{"p":{"l":{"i":32}}},"y":18},41],"s":[{"p":1,"w":21,"y":21},81],"t":{"h":24,"a":{"b":23}},"u":[{"a":[{"l":{".":9}},82],"c":[{"a":29,"e":{"r":5},"t":{".":18,"s":18}},9],"e":{"l":4},"g":1,"l":{"e":23},"m":{"b":{"e":0}},"n":1,"p":[{"e":1},18],"o":{"p":{"o":{"l":207}}}},41],"v":29,"w":29,"y":[{"n":32,"s":{"e":1,"p":5}},24]},"e":{"a":{"b":72,"c":{"t":23},"d":[{"i":{"e":5}},15],"g":{"e":[{"r":4},1]},"l":[{"e":{"r":5},"o":{"u":11}},1],"m":{"e":{"r":11}},"n":{"d":19,"i":{"e":{"s":111}}},"r":{"a":11,"c":0,"e":{"s":5},"i":{"c":0,"l":0},"k":5,"t":[{"e":12},8]},"s":{"p":4,"s":23,"t":12},"t":[{"e":{"n":5},"h":{"i":12},"i":{"f":19},"u":83},9],"v":[{"e":{"n":11},"i":5,"o":5},9]},"b":[{"e":{"l":{".":21,"s":21},"n":21},"i":{"t":21},"r":23},42],"c":{"a":{"d":21,"n":{"c":6}},"c":{"a":6},"e":[{"s":{"s":{"a":4}}},29],"i":[{"b":21,"f":{"i":{"c":{"a":{"t":4}},"e":4},"y":4},"m":3,"t":[{"e":19},0]},9],"l":{"a":{"m":21},"u":{"s":21}},"o":{"l":24,"m":{"m":21,"p":{"e":21}},"n":{"c":21},"r":[{"a":3,"o":5},24]},"r":[{"e":{"m":21}},29],"t":{"a":{"n":1},"e":1},"u":[{"l":[{"a":3},21]},29],"h":{"a":{"s":23}}},"d":{"a":37,"d":61,"e":{"r":34,"s":0},"i":[{"a":23,"b":3,"c":{"a":3},"m":3,"t":2,"z":5},18],"o":[{"l":21,"n":84},18],"r":{"i":21},"u":{"l":[{"o":4,"i":{"n":{"g":2}}},21]},"g":{"l":15}},"e":{"c":9,"d":{"i":11},"f":9,"l":{"i":11,"y":1},"m":9,"n":{"a":1},"p":85,"s":[{"t":17},86],"t":{"y":1},"x":19},"f":[{"e":{"r":{"e":83}},"f":41,"i":{"c":[{"i":32},21],"l":17,"n":{"e":23,"i":{"t":{"e":20}}},"t":27},"o":{"r":{"e":{"s":6}}},"u":{"s":{"e":{".":21}}}},29],"g":{"a":{"l":18},"e":{"r":17},"i":{"b":4,"c":1,"n":{"g":4},"t":87},"n":4,"o":{".":21,"s":21},"u":{"l":2,"r":19},"y":32},"h":[{"e":{"r":17}},72],"i":[{"c":19,"d":4,"g":[{"l":4},8],"m":{"b":23},"n":{"f":23,"g":29,"s":{"t":19}},"r":{"d":0},"t":{"e":11,"h":3,"y":19}},9],"j":[{"u":{"d":[{"i":4},21]}},29],"k":{"i":{"n":0},"l":{"a":1}},"l":{"a":[{".":21,"c":21,"n":{"d":17},"t":{"i":{"v":4}},"w":21,"x":{"a":36}},29],"e":{"a":23,"b":{"r":{"a":4}},"c":32,"d":21,"g":{"a":3},"n":19,"r":34,"s":29},"f":9,"i":[{"b":{"e":23},"c":{".":33,"a":3},"e":{"r":23},"g":{"i":{"b":4}},"m":19,"n":{"g":83},"o":23,"s":[{"h":4},24],"v":88,"t":{"i":{"s":208}}},9],"l":{"a":[{"b":1},18],"o":17},"o":{"c":19,"g":4,"p":{".":3},"a":29},"s":{"h":9},"t":{"a":1},"u":{"d":19,"g":4}},"m":{"a":{"c":21,"g":21,"n":[{"a":4},19]},"b":4,"e":[{"l":24,"t":21},29],"i":{"c":{"a":3},"e":0,"g":{"r":{"a":4}},"n":[{"e":4,"i":35},89],"s":[{"h":4,"s":19},21],"z":3},"n":{"i":{"z":32}},"o":{"g":0,"n":{"i":{"o":7}}},"p":{"i":3},"u":{"l":[{"a":4},21],"n":11},"y":23},"n":{"a":{"m":{"o":4},"n":{"t":21}},"c":{"h":{"e":{"r":17}}},"d":{"i":{"c":3,"x":2}},"e":{"a":19,"e":19,"m":3,"r":{"o":4},"s":{"i":4,"t":4},"t":{"r":3},"w":23},"i":{"c":{"s":4},"e":19,"l":19,"o":23,"s":{"h":3},"t":3,"u":19,"z":32},"n":18,"o":[{"g":0,"s":21,"v":3},18],"s":{"w":1},"t":{"a":{"g":{"e":5}},"h":{"e":{"s":18}}},"u":{"a":3,"f":4},"y":{".":23},"z":61},"o":{"f":19,"g":[{"r":{"a":{"p":3}}},9],"i":90,"l":23,"p":{"a":{"r":11}},"r":[{"e":3,"o":{"l":4}},29],"s":0,"t":[{"o":1},21],"u":{"t":19},"w":19},"p":{"a":[{"i":23,"n":{"c":4}},24],"e":{"l":19,"n":{"t":23},"t":{"i":{"t":{"i":{"o":4}}}}},"h":{"e":17},"l":{"i":21},"o":29,"r":{"e":{"c":[{"a":4},21],"d":21,"h":3},"o":[{"b":21},23]},"s":{"h":1},"t":{"i":{"b":13}},"u":{"t":[{"a":4},21]},"i":{"n":{"e":{"p":{"h":209}}}}},"q":[{"u":{"i":{"l":12,"s":91}}},29],"r":{"a":[{"b":0,"n":{"d":18},"r":3,"t":{"i":{".":18}}},2],"b":[{"l":1},25],"c":{"h":[{"e":1},3]},"e":{".":25,"a":{"l":23},"c":{"o":5},"i":{"n":11},"l":{".":4},"m":{"o":3},"n":{"a":4,"c":{"e":4},"e":18,"t":3},"q":0,"s":{"s":4,"t":3},"t":17},"h":2,"i":[{"a":[{"n":{".":210}},92],"c":{"k":32},"e":{"n":23,"r":0},"n":{"e":3},"o":29,"t":18,"u":1,"v":[{"a":21},0]},2],"m":93,"n":{"i":{"s":1,"t":18,"z":32},"o":3},"o":[{"b":4,"c":19,"r":0,"u":2},25],"s":[{"e":{"t":3}},2],"t":{"e":{"r":11},"l":18,"w":3},"u":[{"t":0},18],"w":{"a":{"u":32}}},"s":{"a":[{"g":{"e":{".":21,"s":21}}},72],"c":[{"a":[{"n":4},24],"r":23,"u":4},9],"e":[{"c":[{"r":4},24],"n":{"c":4},"r":{"t":{".":21,"s":21},"v":{"a":21}}},74],"h":[{"a":23,"e":{"n":5}},18],"i":[{"c":24,"d":[{"e":{"n":4}},24],"g":{"n":{"a":4}},"m":94,"n":95,"s":{"t":{"e":17}},"u":0},29],"k":{"i":{"n":19}},"m":{"i":1},"o":{"l":[{"u":3},24],"n":[{"a":4},24]},"p":[{"e":{"r":3},"i":{"r":{"a":4}},"r":{"e":1},"a":{"c":{"i":211}}},29],"s":[{"i":{"b":96}},25],"t":{"a":{"n":36},"i":{"g":3,"m":4},"o":[{"n":23},44],"r":[{"o":19,"u":{"c":10}},25]},"u":{"r":[{"r":4},24]},"w":1},"t":{"a":{"b":0},"e":{"n":{"d":17},"o":23},"h":{"o":{"d":54},"y":{"l":{"e":{"n":{"e":162}}}}},"i":{"c":2,"d":{"e":19},"n":[{"o":0},17],"r":19,"t":{"i":{"o":19,"v":4}}},"n":18,"o":{"n":{"a":4}},"r":{"a":23,"e":23,"i":{"c":3,"f":4},"o":{"g":3,"s":4}},"u":{"a":3},"y":{"m":4},"z":4},"u":[{"n":19,"p":23,"r":{"o":3},"s":0,"t":{"e":17,"i":{"l":6},"r":4},"c":{"l":{"i":{"d":212}}}},18],"v":{"a":{"p":97,"s":[{"t":4},24]},"e":{"a":19,"l":{"l":3,"o":12},"n":{"g":19,"i":17},"r":[{"b":19},2]},"i":[{"d":3,"l":0,"n":21,"v":0},29],"o":{"c":19},"u":19},"w":{"a":[{"g":21},29],"e":{"e":19},"h":23,"i":{"l":6,"n":{"g":3},"t":23}},"x":{"p":41},"y":{"c":32,"e":{".":32},"s":0}},"f":{"a":[{"b":{"l":3,"r":11},"c":{"e":1},"g":18,"i":{"n":17},"l":{"l":{"e":6}},"m":{"a":26,"i":{"s":5}},"r":[{"t":{"h":5}},32],"t":{"a":3,"h":{"e":3},"o":18},"u":{"l":{"t":7}}},41],"b":56,"d":18,"e":{".":18,"a":{"s":17,"t":{"h":54}},"b":[{"r":{"u":{"a":15}}},1],"c":{"a":18,"t":32},"d":25,"l":{"i":3},"m":{"o":1},"n":{"d":[{"e":6},8]},"r":[{"r":32,"m":{"i":{"o":213}}},15],"v":0},"f":[{"e":{"s":21},"i":{"e":21,"n":{".":19},"s":94},"l":{"y":21},"y":24},43],"h":18,"i":[{"a":3,"c":{".":48,"a":{"l":47,"n":23,"t":{"e":18}},"e":{"n":23,"r":3},"i":[{"a":32,"e":32},0],"s":18,"u":3,"h":27},"d":{"e":{"l":4}},"g":{"h":{"t":7}},"l":{"i":5,"l":{"i":{"n":6}},"y":18},"n":[{"a":32,"d":97,"e":9,"g":98,"n":0},25],"s":{"t":{"i":0}},"t":{"t":{"e":{"d":{".":5}}}}},41],"l":[{"e":{"s":{"s":19}},"i":{"n":17},"o":{"r":{"e":11},"w":{"e":{"r":{".":84}}}},"y":100,"a":{"g":{"e":{"l":214}}},"u":{"o":{"r":27}}},99],"m":18,"n":18,"o":[{"n":[{"d":{"e":0},"t":0},32],"r":[{"a":{"t":4,"y":5},"e":{"t":6},"i":0,"t":{"a":6}},9],"s":5},41],"p":56,"r":{"a":{"t":0},"e":{"a":19,"s":{"c":6}},"i":[{"l":17},8],"o":{"l":6}},"s":48,"t":[{"o":21,"y":24},25],"u":[{"e":{"l":4},"g":18,"m":{"i":{"n":1}},"n":{"e":4},"r":{"i":3},"s":{"i":17,"s":0},"t":{"a":18}},27],"y":41},"g":{"a":[{"f":0,"l":{".":32,"i":27,"o":3},"m":[{"e":{"t":4},"o":19},25],"n":{"i":{"s":5,"z":[{"a":6},3]},"o":18},"r":{"n":67},"s":{"s":17},"t":{"h":12,"i":{"v":18}},"z":18},41],"b":23,"d":1,"e":{".":25,"d":25,"e":{"z":17},"l":{"i":{"n":0,"s":4,"z":4},"y":18},"n":[{"a":{"t":1},"i":{"z":4},"o":18,"y":18,"c":{"y":{".":8}}},41],"o":[{"m":3,"d":215},41],"r":{"y":21},"s":{"i":32},"t":{"h":6,"o":18,"y":1,"i":{"c":{".":8}}},"v":1},"g":[{"e":[{"r":23},24],"l":{"u":6},"o":0},101],"h":{"i":{"n":3},"o":{"u":{"t":4}},"t":{"o":1,"w":{"e":15}}},"i":{".":32,"a":[{"r":5},102],"c":[{"i":{"a":32},"o":21},29],"e":{"n":6,"s":{".":32}},"l":0,"m":{"e":{"n":23}},"n":{".":68,"g":{"e":5},"s":103},"o":32,"r":[{"l":0},27],"s":{"l":23},"u":1,"v":32,"z":27},"l":[{"a":[{"d":{"i":6},"s":32},0],"e":[{"a":{"d":29}},41],"i":{"b":0,"g":23,"s":{"h":43}},"o":[{"r":11,"b":{"i":{"n":106}}},27]},9],"m":[{"y":21},29],"n":{"a":[{".":21,"c":69},1],"e":{"t":{"t":17,"i":{"s":{"m":137}}}},"i":[{"n":24,"o":21},29],"o":[{"n":21,"m":{"o":5},"r":{".":216,"e":{"s":{"p":24}}}},29]},"o":[{".":27,"b":5,"e":32,"g":104,"i":{"s":3},"n":[{"a":105,"d":{"o":7},"i":[{"z":{"a":217}},3]},8],"o":32,"r":{"i":{"z":4},"o":{"u":5}},"s":{".":32},"v":15},41],"p":23,"r":[{"a":{"d":{"a":18},"i":21,"n":84,"p":{"h":{".":32,"e":{"r":[{".":7},19]},"i":{"c":32},"y":18}},"y":18},"e":{"n":0,"s":{"s":{".":18}}},"i":{"t":18,"e":{"v":213}},"o":21,"u":{"f":17}},41],"s":[{"t":{"e":19}},9],"t":{"h":11},"u":{"a":[{"r":{"d":27}},1],"e":25,"i":{"t":106},"n":27,"s":27,"t":[{"a":{"n":29}},26]},"w":23,"y":[{"n":107,"r":{"a":4}},41]},"h":{"a":{"b":{"l":73},"c":{"h":17},"e":{"m":0,"t":0},"g":{"u":19},"l":{"a":[{"m":12},3]},"m":1,"n":{"c":{"i":0,"y":0},"d":{".":32},"g":[{"e":{"r":6},"o":6},0],"i":{"z":108},"k":0,"t":{"e":0}},"p":{"l":11,"t":5,"a":{"r":{"r":218}}},"r":{"a":{"n":3,"s":4},"d":[{"e":12},8],"l":{"e":0},"p":{"e":{"n":6}},"t":{"e":{"r":5}}},"s":{"s":5},"u":{"n":17},"z":[{"a":11},32],"i":{"r":{"s":137}},"t":{"c":{"h":213}}},"b":29,"e":{"a":{"d":41,"r":27},"c":{"a":{"n":1,"t":19}},"d":[{"o":13},21],"l":{"i":93,"l":{"i":{"s":0},"y":0},"o":19},"m":{"p":0},"n":[{"a":[{"t":5},17]},9],"o":{"r":5},"p":5,"r":{"a":[{"p":12},21],"b":{"a":0},"e":{"a":6},"n":23,"o":{"u":19},"y":23},"s":[{"p":64},29],"t":[{"e":{"d":0}},1],"u":0,"x":{"a":168}},"f":29,"h":29,"i":{"a":{"n":4},"c":{"o":1},"g":{"h":6},"l":109,"m":{"e":{"r":36}},"n":{"a":21},"o":{"n":{"e":17}},"p":[{"e":{"l":{"a":219}}},1],"r":{"l":0,"o":3,"p":0,"r":0},"s":{"e":{"l":11},"s":0},"t":{"h":{"e":{"r":6}},"e":{"s":{"i":{"d":12}}}},"v":9},"k":18,"l":[{"a":{"n":17},"o":[{"r":{"i":11}},24]},80],"m":[{"e":{"t":17}},43],"n":[{"a":{"u":{"z":12}}},42],"o":{"d":{"i":{"z":19},"s":19},"g":[{"e":17},1],"l":{"a":{"r":5},"e":110},"m":{"a":1,"e":12},"n":{"a":0,"y":4},"o":{"d":27,"n":17},"r":{"a":{"t":5},"i":{"s":4,"c":{".":187}},"t":{"e":12},"u":4},"s":{"e":[{"n":4},0],"p":15},"u":{"s":[{"e":54},41]},"v":{"e":{"l":5}}},"p":56,"r":[{"e":{"e":6},"o":{"n":{"i":{"z":5}},"p":{"o":11}}},26],"s":[{"h":21},101],"t":{"a":{"r":21},"e":{"n":2,"s":4,"o":{"u":216}},"y":21},"u":{"g":1,"m":{"i":{"n":1}},"n":{"k":{"e":5},"t":0},"s":{"t":14},"t":1},"w":[{"a":{"r":{"t":21}}},29],"y":{"p":{"e":3,"h":3,"o":{"t":{"h":{"a":137}}}},"s":9}},"i":{"a":[{"l":24,"m":[{"e":{"t":{"e":5}}},0],"n":[{"c":18,"i":11,"t":46},24],"p":{"e":4},"s":{"s":17},"t":{"i":{"v":21},"r":{"i":{"c":1}},"u":21}},42],"b":{"e":[{"r":{"a":3,"t":4}},0],"i":{"a":4,"n":3,"t":{".":4,"e":4}},"l":[{"i":3},29],"o":19,"r":[{"i":94},29],"u":{"n":19}},"c":{"a":{"m":18,"p":32,"r":[{".":21,"a":21},18],"s":6,"y":21},"c":{"u":17},"e":{"o":18},"h":18,"i":[{"d":19,"n":{"a":4},"p":[{"a":3},24]},25],"l":{"y":21},"o":{"c":94},"r":[{"a":32,"y":21},43],"t":{"e":1,"u":[{"a":111},84]},"u":{"l":{"a":3},"m":1,"o":4,"r":23}},"d":[{"a":{"i":21,"n":{"c":4}},"d":4,"e":{"a":{"l":11},"s":0},"i":[{"a":{"n":4,"r":0},"e":19,"o":[{"u":5,"s":1},3],"t":2,"u":4},24],"l":{"e":23},"o":{"m":21,"w":3},"r":21,"u":[{"o":4},24]},25],"e":[{"d":{"e":0},"g":{"a":113},"l":{"d":12},"n":{"a":67,"e":0,"n":19,"t":{"i":23}},"r":{".":29},"s":{"c":23,"t":29},"t":23},112],"f":{".":18,"e":{"r":{"o":4}},"f":{"e":{"n":5},"r":1},"i":{"c":{".":18},"e":23},"l":23,"t":18,"a":{"c":{"e":{"t":137}}}},"g":[{"a":{"b":5},"e":{"r":{"a":3}},"h":{"t":{"i":12}},"i":[{"b":23,"l":3,"n":3,"t":3},18],"l":28,"o":[{"r":3,"t":4},24],"r":{"e":19},"u":{"i":5,"r":2},"n":{"i":{"t":[{"e":{"r":213}},0]}}},25],"h":23,"i":114,"j":[{"k":21},23],"k":18,"l":{"a":[{"b":93,"d":{"e":21},"m":94,"r":{"a":5}},29],"e":{"g":23,"r":2,"v":17},"f":4,"i":[{"a":3,"b":9,"o":3,"s":{"t":1},"t":25,"z":9},2],"l":{"a":{"b":5}},"n":18,"o":{"q":3},"t":{"y":1},"u":{"r":4},"v":3},"m":{"a":{"g":[{"e":3},21],"r":{"y":5}},"e":{"n":{"t":{"a":{"r":10}}},"t":18},"i":[{"d":{"a":4},"l":{"e":5},"n":{"i":19},"t":18},2],"n":{"i":1},"o":{"n":23},"u":[{"l":{"a":3}},24],"p":{"e":{"d":{"a":201}}}},"n":{".":25,"a":{"u":83,"v":18},"c":{"e":{"l":36,"r":3}},"d":[{"l":{"i":{"n":{"g":4}}}},18],"e":[{"e":23,"r":{"a":{"r":17}},"s":{"s":19}},25],"g":{"a":18,"e":[{"n":4},18],"i":18,"l":{"i":{"n":{"g":4}}},"o":18,"u":18},"i":[{".":19,"a":21,"o":3,"s":2,"t":{"e":{".":19,"l":{"y":{".":19}}},"i":{"o":32},"y":3}},25],"k":18,"l":18,"n":25,"o":[{"c":90,"s":0,"t":21},42],"s":[{"e":3,"u":{"r":{"a":7}}},25],"t":{".":25,"h":112},"u":[{"s":19},2],"y":18,"f":{"r":{"a":{"s":220}}}},"o":[{".":18,"g":{"e":17,"r":9},"l":29,"m":1,"n":{"a":{"t":11},"e":{"r":{"y":0}},"i":11},"p":{"h":4},"r":{"i":11},"s":21,"t":{"h":4,"i":19,"o":1},"u":{"r":21}},25],"p":[{"e":0,"h":{"r":{"a":{"s":115}}},"i":[{"c":1},3],"r":{"e":96},"u":{"l":3}},25],"q":{"u":{"a":23,"e":{"f":4},"i":{"d":3,"t":116}}},"r":[{"a":[{"b":0,"c":21},29],"d":{"e":5},"e":{"d":{"e":0},"f":21,"l":117,"s":21},"g":{"i":4},"i":[{"d":{"e":5},"s":1,"t":{"u":11},"z":118},2],"m":{"i":{"n":1}},"o":{"g":0,"n":{".":32}},"u":{"l":4},"r":{"e":{"v":{"o":{"c":221}}}}},18],"s":{".":25,"a":{"g":4,"r":3,"s":6},"c":[{"h":3},119],"e":[{"r":3},18],"f":27,"h":{"a":{"n":4},"o":{"n":3,"p":5}},"i":{"b":3,"d":0,"s":19,"t":{"i":{"v":4}}},"k":26,"l":{"a":{"n":36}},"m":{"s":18},"o":[{"m":{"e":{"r":5}}},24],"p":[{"i":9,"y":1},2],"s":[{"a":{"l":1},"e":{"n":36,"s":1}},62],"t":{"a":{".":1},"e":2,"i":2,"l":{"y":0},"r":{"a":{"l":18}}},"u":[{"s":4},24]},"t":{"a":{".":18,"b":{"i":0},"g":21,"m":120,"n":23,"t":23},"e":[{"r":{"a":3,"i":19},"s":[{"i":{"m":{"a":29}}},1]},25],"h":[{"i":{"l":148}},25],"i":[{"a":18,"c":[{"a":3,"k":31},22],"g":3,"l":{"l":4},"m":24,"o":25,"s":[{"m":21},18],"n":{"e":{"r":{"a":{"r":158}}}}},29],"o":{"m":121,"n":18},"r":{"a":{"m":21},"y":4},"t":18,"u":{"a":{"t":3},"d":19,"l":3},"z":{".":18}},"u":29,"v":[{"e":{"l":{"l":3},"n":{".":3},"r":{".":83,"s":{".":21}}},"i":{"l":{".":4},"o":4,"t":2},"o":{"r":{"e":19,"o":35},"t":83}},25],"w":56,"x":{"o":1},"y":18,"z":{"a":{"r":18},"i":0,"o":{"n":{"t":32}}}},"j":{"a":[{"c":{"q":0},"p":[{"a":{"n":{"e":{"s":220}}}},1],"n":{"u":{"a":12}}},32],"e":[{"r":{"s":5,"e":{"m":222}},"s":{"t":{"i":{"e":18},"y":18}},"w":11},41],"o":{"p":1},"u":{"d":{"g":32}}},"k":{"a":{".":27,"b":23,"g":19,"i":{"s":17},"l":0},"b":29,"e":{"d":24,"e":41,"g":1,"l":{"i":[{"n":{"g":223}},4]},"n":{"d":73},"r":29,"s":[{"t":{".":23}},0],"t":{"y":1}},"f":23,"h":1,"i":[{".":32,"c":122,"l":{"l":21,"o":6},"m":21,"n":{".":21,"d":{"e":0},"e":{"s":{"s":19},"t":{"i":{"c":224}}},"g":0},"p":1,"s":[{"h":19},0]},29],"k":1,"l":[{"e":{"y":18},"y":18},29],"m":29,"n":{"e":{"s":19},"o":69},"o":{"r":4,"s":{"h":17},"u":23,"v":{"i":{"a":{"n":41}}}},"r":{"o":{"n":5}},"s":[{"c":21,"l":1,"y":21,"h":{"a":23}},101],"t":19,"w":29},"l":{"a":{"b":{"i":{"c":11},"o":21},"c":{"i":[{"e":225},17]},"d":{"e":21,"y":3},"g":{"n":0},"m":{"o":11},"n":{"d":[{"l":0},27],"e":{"t":5},"t":{"e":0}},"r":{"g":0,"i":11,"c":{"e":{"n":176}}},"s":{"e":0},"t":{"a":{"n":4},"e":{"l":{"i":18}},"i":{"v":18}},"v":[{"a":95},18],"i":{"n":{"e":{"s":{"s":226}}}}},"b":[{"i":{"n":17}},42],"c":[{"e":0,"i":23,"h":{"a":{"i":23},"i":{"l":{"d":227}}}},101],"d":[{"e":[{"r":{"e":1,"i":1}},24],"i":[{"s":4},0],"r":[{"i":21},23]},25],"e":{"a":[{"d":{"e":{"r":{".":183}}},"s":{"a":228}},9],"b":{"i":1},"f":{"t":6},"g":{".":32,"g":32,"e":{"n":{"d":{"r":{"e":230}}}}},"m":{"a":{"t":[{"i":{"c":5}},1]}},"n":{".":18,"c":27,"e":{".":32},"t":41,"o":{"i":{"d":78}}},"p":{"h":3,"r":1},"r":{"a":{"b":6},"e":0,"g":27,"i":68,"o":21},"s":[{"c":{"o":4},"q":32,"s":[{".":32},27]},8],"v":{"a":23,"e":{"r":{".":0,"a":0,"s":0}}},"y":[{"e":18},27],"c":{"t":{"a":{"b":229}}}},"f":[{"r":19},25],"g":[{"a":[{"r":12},19],"e":{"s":21},"o":11},80],"h":48,"i":{"a":{"g":1,"m":9,"r":{"i":{"z":6}},"s":1,"t":{"o":1}},"b":{"i":4},"c":{"i":{"o":32},"o":{"r":1},"s":18,"t":{".":18},"u":21,"y":23},"d":{"a":23,"e":{"r":5},"i":27},"f":{"e":{"r":11},"f":21,"l":1},"g":{"a":{"t":{"e":32}},"h":27,"r":{"a":1}},"k":27,"l":123,"m":{"b":{"l":0},"i":11,"o":1,"p":90},"n":{"a":21,"e":[{"a":11},124],"i":11,"k":{"e":{"r":6}}},"o":{"g":4},"q":125,"s":{"p":0},"t":[{".":24,"i":{"c":{"a":32,"s":108}},"h":{"o":{"g":204}}},29],"v":{"e":{"r":11}},"z":29},"j":18,"k":{"a":[{"l":23,"t":0},11]},"l":[{"a":{"w":21},"e":[{"a":19,"c":23,"g":23,"l":23,"n":73,"t":73},24],"i":[{"n":[{"a":19},126],"s":{"h":231}},9],"o":[{"q":{"u":{"i":10}},"u":{"t":4},"w":19},1],"f":{"l":2}},29],"m":[{"e":{"t":19},"i":{"n":{"g":3}},"o":{"d":21,"n":[{"e":{"l":{"l":232}}},17]}},25],"n":81,"o":{".":27,"b":{"a":{"l":5},"o":{"t":{"o":233}}},"c":{"i":1},"f":18,"g":{"i":{"c":27},"o":19,"u":27,"e":{"s":{".":9}}},"m":{"e":{"r":11}},"n":{"g":32,"i":[{"z":127},0]},"o":{"d":6},"p":{"e":{".":32},"i":11,"m":23},"r":{"a":[{"t":{"o":1}},17],"i":{"e":4},"o":{"u":5}},"s":{".":32,"e":{"t":5},"o":{"p":{"h":{"i":{"z":32},"y":32}}},"t":0},"t":{"a":1},"u":{"n":{"d":6},"t":25},"v":18,"a":{"d":{"e":{"d":{".":17},"r":{".":183}}}}},"p":[{"a":{"b":5},"h":{"a":23,"i":19},"i":{"n":{"g":4},"t":23},"l":21,"r":19},25],"r":43,"s":[{"c":21,"e":24,"i":{"e":21}},81],"t":[{"a":{"g":4,"n":{"e":7}},"e":[{"n":17,"r":{"a":36},"a":23},29],"h":{"i":[{"l":{"y":148}},11]},"i":{"e":{"s":{".":19}},"s":17},"r":29,"u":[{"r":{"a":12}},8]},18],"u":{"a":4,"b":{"r":3},"c":{"h":17,"i":3},"e":{"n":3,"p":15},"f":0,"i":{"d":4},"m":{"a":1,"i":32,"n":{".":19,"i":{"a":32}},"b":{"i":{"a":{".":235}}}},"o":[{"r":11},3],"p":18,"s":{"s":17,"t":{"e":11}},"t":41,"n":{"k":{"e":{"r":234}}}},"v":{"e":{"n":19,"t":128}},"w":42,"y":[{"a":18,"b":18,"m":{"e":4},"n":{"o":3},"s":[{"e":19,"t":{"y":{"r":4}}},58],"g":{"a":{"m":{"i":236}}}},41]},"m":{"a":[{"b":25,"c":{"a":9,"h":{"i":{"n":{"e":4}}},"l":1},"g":{"i":{"n":5},"n":32},"h":25,"i":{"d":6},"l":{"d":18,"i":{"g":3,"n":4},"l":{"i":0},"t":{"y":0},"a":{"p":222}},"n":{"i":{"a":32,"s":5,"z":11},".":24,"u":{"s":{"c":237}}},"p":[{"h":{"r":{"o":244}}},18],"r":{"i":{"n":{"e":{".":4}},"z":4},"l":{"y":0},"v":11,"g":{"i":{"n":238}}},"s":{"c":{"e":4},"e":0,"t":15},"t":{"e":32,"h":12,"i":{"s":3,"z":{"a":18}}}},41],"b":[{"a":{"t":129},"i":{"l":19,"n":{"g":83},"v":0}},43],"c":56,"e":{".":18,"d":[{".":18,"i":{"a":32,"e":3,"c":[{"i":{"n":152}},84],"o":{"c":239}},"y":108},25],"g":[{"r":{"a":{"n":240}}},9],"l":{"o":{"n":5},"t":0},"m":[{"o":130},9],"n":[{"a":[{"c":5},0],"d":{"e":0},"e":18,"i":0,"s":[{"u":7},17],"t":[{"e":0},27],".":24},41],"o":{"n":4},"r":{"s":{"a":19}},"s":[{"t":{"i":27}},25],"t":{"a":[{"l":11},1],"e":2,"h":{"i":4},"r":[{"i":{"c":32,"e":4},"y":3},21]},"v":1},"f":43,"h":25,"i":{".":32,"a":3,"d":{"a":[{"b":241},0],"g":0},"g":0,"l":{"i":{"a":27,"e":108,"t":{"a":27}},"l":[{"a":{"g":208},"i":{"l":{"i":59}}},21]},"n":{"a":0,"d":27,"e":{"e":19},"g":{"l":[{"i":5,"y":19},21]},"t":0,"u":[{"t":{"e":{"r":242,"s":{"t":242}}}},21],"i":{"s":{".":174}}},"o":{"t":17},"s":[{"e":{"r":{".":0}},"l":5,"t":{"i":0,"r":{"y":19}}},24],"t":{"h":18},"z":24},"k":18,"l":43,"m":[{"a":{"r":{"y":5},"b":243}},29],"n":[{"a":1,"i":{"n":21},"o":1},43],"o":[{"c":{"r":[{"a":{"t":[{"i":{"z":32}},245]}},18]},"d":131,"g":{"o":1},"i":{"s":[{"e":5},84]},"k":18,"l":{"e":{"s":{"t":4},"c":246}},"m":{"e":3},"n":{"e":{"t":5,"y":{"l":247}},"g":{"e":5},"i":{"a":12,"s":{"m":0,"t":0},"z":3},"o":{"l":36,"c":{"h":12},"e":{"n":171},"s":249},"y":{".":3}},"r":[{"a":{".":18},"o":{"n":{"i":{"s":248}}}},9],"s":[{"e":{"y":4},"p":3},8],"t":{"h":[{"e":{"t":250}},12]},"u":{"f":19,"s":[{"i":{"n":98}},27]},"v":9,"e":{"l":{"a":{"s":167}}}},41],"p":[{"a":{"r":{"a":[{"b":5},7],"i":6}},"e":{"t":23},"h":{"a":{"s":36}},"i":[{"a":0,"e":{"s":4},"n":34,"r":19,"s":4},24],"o":{"r":{"i":11},"s":{"i":{"t":{"e":6}}},"u":{"s":21},"v":6},"t":{"r":1},"y":24},43],"r":47,"s":[{"h":[{"a":{"c":{"k":251}}},21],"i":19},101],"t":18,"u":[{"l":{"a":{"r":49},"t":[{"i":[{"u":252},54]},32]},"m":27,"n":8,"p":18,"u":1,"d":{"r":{"o":9}}},41],"w":18},"n":{"a":[{"b":[{"u":21},81],"c":{".":18,"a":1,"t":19},"g":{"e":{"r":{".":5}}},"k":0,"l":{"i":[{"a":4},1],"t":18},"m":{"i":{"t":4}},"n":[{"c":{"i":36},"i":{"t":0},"k":17},24],"r":{"c":[{"h":{"s":{".":73}}},11],"e":18,"i":11,"l":0,"m":19},"s":[{"c":0,"t":{"i":5}},21],"t":[{"a":{"l":3},"o":{"m":{"i":{"z":6}}}},24],"u":[{"s":{"e":11},"t":27},24],"v":{"e":0}},41],"b":80,"c":{"a":{"r":6},"e":{"s":{".":21}},"h":{"a":23,"e":{"o":19,"s":{"t":253}},"i":{"l":19,"s":23}},"i":{"n":2,"t":1},"o":{"u":{"r":{"a":7}}},"r":29,"u":29},"d":{"a":{"i":21,"n":19},"e":[{"s":{"t":{".":4}}},29],"i":{"b":0,"f":79,"t":29,"z":23,"e":{"c":{"k":29}}},"u":{"c":19,"r":0},"w":{"e":9},"t":{"h":{"r":3}}},"e":{".":25,"a":{"r":23},"b":[{"u":11,"a":{"c":{"k":3}}},9],"c":[{"k":32},9],"d":25,"g":{"a":{"t":[{"i":{"v":5}},1]},"e":32},"l":{"a":1,"i":{"z":5}},"m":{"i":4,"o":1},"n":[{"e":18},41],"o":27,"p":{"o":1},"q":9,"r":[{"a":{"b":6,"r":21},"e":24,"i":132,"r":0},29],"s":[{".":25,"p":18,"t":25,"w":18,"k":{"i":119}},41],"t":{"i":{"c":27}},"v":[{"e":19},1],"w":1},"f":[{"i":{"n":{"i":{"t":{"e":{"s":226}}}}}},23],"g":{"a":{"b":21},"e":{"l":23,"n":{"e":[{"s":5},133]},"r":{"e":19,"i":23}},"h":{"a":4,"o":2},"i":{"b":23,"n":2,"t":19},"l":{"a":21},"o":{"v":17},"s":{"h":4,"p":{"r":2}},"u":[{"m":21},29],"y":24},"h":[{"a":[{"b":12},0],"e":0},80],"i":{"a":[{"n":[{".":114},3],"p":1},68],"b":{"a":3,"l":1},"d":[{"i":4},1],"e":{"r":1},"f":{"i":[{"c":{"a":{"t":4}}},9]},"g":{"r":19},"k":0,"m":[{"i":{"z":3}},29],"n":[{"e":{".":32},"g":0},29],"o":1,"s":{".":32,"t":{"a":0}},"t":[{"h":21,"i":{"o":27},"o":{"r":23},"r":3},24]},"j":29,"k":[{"e":{"r":{"o":19},"t":23},"i":{"n":3},"l":29,"r":{"u":{"p":3}}},44],"l":[{"e":{"s":{"s":19}}},43],"m":[{"e":[{"t":17},0]},19],"n":[{"e":0,"i":{"a":{"l":11},"v":0}},101],"o":{"b":{"l":[{"e":3},0]},"c":{"l":19,"e":{"r":{"o":{"s":254}}}},"d":66,"e":27,"g":[{"e":17},18],"i":{"s":{"i":6}},"l":{"i":134,"o":{"g":{"i":{"s":32}}}},"m":{"i":{"c":27,"z":108,"s":{"t":82}},"o":1,"y":3,"a":{"l":214},"e":{"n":{"o":194}}},"n":[{"a":{"g":0},"i":[{"z":19,"s":{"o":255}},5],"e":{"q":15}},1],"p":[{"o":{"l":{"i":135,"y":{".":256}}}},18],"r":{"a":{"b":5,"r":{"y":1}}},"s":{"c":18,"e":0,"t":5},"t":{"a":4},"u":[{"n":27},41],"v":{"e":{"l":136,"m":{"b":2}}},"w":{"l":12}},"p":[{"i":0,"r":{"e":{"c":17}}},72],"q":29,"r":[{"u":0},29],"s":[{"a":{"b":4,"t":{"i":36}},"c":[{"e":{"i":{"v":4}}},1],"e":[{"s":83},24],"i":{"d":137,"g":17},"l":24,"m":[{"o":{"o":1}},3],"o":{"c":21},"p":{"e":1,"i":19},"t":{"a":{"b":{"l":6}}}},81],"t":[{"a":{"b":0},"e":{"r":{"s":12}},"i":[{"b":19,"e":{"r":0},"f":8,"n":{"e":23,"g":83},"p":0},9],"r":{"o":{"l":{"l":{"i":7}}},"e":{"p":137}},"s":1,"u":{"m":{"e":11}}},29],"u":{"a":2,"d":1,"e":{"n":4},"f":{"f":{"e":0}},"i":{"n":23,"t":50},"m":[{"e":2,"i":19},21],"n":138,"o":23,"t":{"r":3}},"v":74,"w":72,"y":{"m":0,"p":0},"z":[{"a":23},18]},"o":{"a":[{"d":11,"l":{"e":{"s":108}},"r":{"d":12},"s":{"e":0,"t":{"e":6}},"t":{"i":5}},18],"b":{"a":{"b":35,"r":19},"e":{"l":0},"i":[{"n":[{"g":4},24]},29],"r":23,"u":{"l":3},"l":{"i":{"g":189}}},"c":{"e":29,"h":[{"e":{"t":23},"a":{"s":23}},0],"i":{"f":12,"l":21},"l":{"a":{"m":21}},"o":{"d":21},"r":{"a":{"c":3,"t":{"i":{"z":4}}},"e":12,"i":{"t":32}},"t":{"o":{"r":{"a":7}}},"u":{"l":{"a":3},"r":{"e":19}}},"d":{"d":{"e":{"d":4}},"i":{"c":3,"o":11,"t":{"i":{"c":137}}},"o":[{"r":12},139],"u":{"c":{"t":{".":4,"s":4}}},"e":{"l":{"l":{"i":12}}}},"e":{"l":21,"n":{"g":19},"r":[{"s":{"t":257}},23],"t":{"a":1},"v":23},"f":{"i":[{"t":{"e":4,"t":17}},24]},"g":{"a":{"r":121,"t":{"i":{"v":4},"o":21}},"e":[{"n":{"e":19},"o":19,"r":21},29],"i":{"e":23,"s":140,"t":3},"l":[{"y":79},21],"n":{"i":{"z":27}},"r":{"o":21},"u":{"i":5},"y":[{"n":25},41]},"h":[{"a":{"b":6}},74],"i":[{"c":{"e":{"s":11}},"d":{"e":{"r":3}},"f":{"f":17},"g":0,"l":{"e":{"t":4}},"n":{"g":23,"t":{"e":{"r":6}}},"s":{"m":19,"o":{"n":4},"t":{"e":{"n":6}}},"t":{"e":{"r":3}}},9],"j":19,"k":[{"e":{"n":23,"s":{"t":15}},"i":{"e":4}},25],"l":{"a":[{"n":21,"s":{"s":36}},29],"d":[{"e":15},9],"e":{"r":3,"s":{"c":23,"t":{"e":{"r":88}}},"t":23},"f":{"i":1},"i":[{"a":23,"c":{"e":23},"d":{".":4},"f":73,"l":19,"n":{"g":3},"o":19,"s":{".":19,"h":3},"t":{"e":19,"i":{"o":19}},"v":19,"g":{"o":{"p":{"o":258}}}},9],"l":{"i":{"e":17}},"o":{"g":{"i":{"z":4}},"r":0,"n":{"o":{"m":259}}},"p":{"l":4},"t":9,"u":{"b":3,"m":{"e":3},"n":3,"s":19},"v":9,"y":24},"m":{"a":{"h":4,"l":5,"t":{"i":{"z":4}}},"b":{"e":9,"l":1},"e":[{"n":{"a":3},"r":{"s":{"e":4}},"t":[{"r":{"y":4}},21],"c":{"h":{"a":260}}},24],"i":{"a":23,"c":{".":3,"a":3},"d":19,"n":[{"i":19},2]},"m":{"e":{"n":{"d":32}}},"o":{"g":{"e":0},"n":21},"p":{"i":3,"r":{"o":7}}},"n":[{"a":[{"c":1,"n":23},2],"c":[{"i":{"l":27}},2],"d":[{"o":4},25],"e":{"n":23,"s":{"t":4}},"g":{"u":1},"i":{"c":2,"o":23,"s":2,"u":19},"k":{"e":{"y":3}},"o":{"d":{"i":1},"m":{"y":3,"i":{"c":137}},"r":{"m":{"a":23}},"t":{"o":{"n":261}},"u":23},"s":[{"p":{"i":[{"r":{"a":10}},36]},"u":17},3],"t":{"e":{"n":36},"i":[{"f":7},93]},"u":{"m":4},"v":{"a":6}},24],"o":[{"d":{"e":5,"i":5},"k":1,"p":{"i":11},"r":{"d":23},"s":{"t":6}},9],"p":{"a":24,"e":{"d":5,"r":[{"a":[{"g":18},27]},2]},"h":[{"a":{"n":19},"e":{"r":19}},25],"i":{"n":{"g":3},"t":23,"s":{"m":{".":2}}},"o":{"n":19,"s":{"i":21}},"r":29,"u":2,"y":5},"q":29,"r":{"a":[{".":19,"g":83,"l":{"i":{"z":4}},"n":{"g":{"e":4}}},29],"e":{"a":[{"l":19},5],"i":3,"s":{"h":5,"t":{".":4}},"w":17},"g":{"u":1},"i":{"a":56,"c":{"a":3},"l":19,"n":2,"o":29,"t":{"y":3},"u":23},"m":{"i":9},"n":{"e":8},"o":{"f":19,"u":{"g":3}},"p":{"e":4},"r":{"h":27},"s":{"e":[{"n":5},1],"t":17},"t":{"h":{"i":3,"y":3,"o":{"n":{"i":{"t":262}}},"r":{"i":137}},"y":1,"i":{"v":{"e":{"l":{"y":4}}}}},"u":{"m":19},"y":29},"s":{"a":{"l":3},"c":[{"e":1,"o":{"p":[{"i":18},23]},"r":19},9],"i":{"e":95,"t":{"i":{"v":4},"o":3,"y":3},"u":0},"l":1,"o":24,"p":{"a":1,"o":1,"h":{"e":{"r":83}}},"t":{"a":[{"t":{"i":19}},9],"i":{"l":4,"t":4}}},"t":{"a":{"n":21},"e":{"l":{"e":{"g":36}},"r":{".":3,"s":4},"s":[{"t":{"e":{"r":263},"o":{"r":264}}},21]},"h":[{"e":{"s":{"i":5},"o":{"s":265}},"i":14},18],"i":{"c":{".":3,"a":4,"e":23},"f":23,"s":23},"o":{"s":5}},"u":[{"b":{"l":3,"a":{"d":{"o":116}}},"c":{"h":{"i":6}},"e":{"t":4},"l":1,"n":{"c":{"e":{"r":6}},"d":8},"v":4},9],"v":{"e":{"n":1,"r":{"n":{"e":17},"s":12,"t":1}},"i":{"s":23,"t":{"i":36},"a":{"n":{".":266}}},"o":{"l":60}},"w":{"d":{"e":{"r":3}},"e":{"l":3,"s":{"t":4}},"i":2,"n":{"i":5},"o":21},"y":{"a":2},"x":{"i":{"d":{"i":{"c":267}}}}},"p":{"a":[{"c":{"a":1,"e":1,"t":0},"d":21,"g":{"a":{"n":32,"t":23}},"i":[{"n":17},21],"l":[{"m":{"a":{"t":268}}},21],"n":{"a":0,"e":{"l":11},"t":{"y":0},"y":3},"p":[{"u":1},2],"r":{"a":{"b":{"l":6},"g":{"e":5,"r":{"a":269}},"l":{"e":228},"m":[{"e":12},36]},"d":{"i":5},"e":[{"l":5},27],"i":[{"s":0},28]},"t":{"e":[{"r":4},9],"h":{"i":{"c":32},"y":4},"r":{"i":{"c":1}}},"v":0,"y":27},41],"b":43,"d":1,"e":{".":18,"a":[{"r":{"l":17}},138],"c":9,"d":[{"e":27,"i":[{"a":36,"c":0},27]},37],"e":[{"d":0,"v":208},21],"k":0,"l":{"a":1,"i":{"e":17}},"n":{"a":{"n":1},"c":21,"t":{"h":0}},"o":{"n":4},"r":{"a":{".":21,"b":{"l":6},"g":21},"i":[{"s":{"t":6}},21],"m":{"a":{"l":0},"e":7},"n":21,"o":11,"t":{"i":11},"u":4,"v":15},"t":[{"e":{"n":4},"i":{"z":4}},9]},"f":18,"g":18,"h":{".":18,"a":{"r":{"i":6}},"e":{"n":{"o":11},"r":1,"s":{".":1}},"i":{"c":2,"e":32,"n":{"g":4},"s":{"t":{"i":32}},"z":27,"l":{"a":{"n":{"t":168},"t":{"e":{"l":270}}}}},"l":9,"o":{"b":27,"n":{"e":27,"i":32},"r":0},"s":18,"t":3,"u":32,"y":41},"i":{"a":[{"n":17},3],"c":{"i":{"e":1},"y":1,"a":{"d":271}},"d":[{"a":19,"e":3,"i":32},21],"e":{"c":27,"n":3},"g":{"r":{"a":{"p":1}}},"l":{"o":3},"n":[{".":21,"d":17,"o":21},9],"o":[{"n":17},141],"t":{"h":[{"a":4},23],"u":9}},"k":142,"l":[{"a":{"n":27,"s":{"t":6}},"i":{"a":11,"e":{"r":5},"g":18,"n":[{"a":{"r":5}},0],"c":{"a":{"b":208}}},"o":{"i":17},"u":{"m":[{"b":17},0]}},143],"m":43,"n":48,"o":{"c":1,"d":{".":32},"e":{"m":4,"t":144},"g":145,"i":{"n":[{"t":32,"c":{"a":12}},84]},"l":{"y":{"t":6,"e":137,"p":{"h":{"o":{"n":{"o":272}}}}},"e":{".":41}},"n":{"i":1},"p":1,"r":[{"y":1},124],"s":[{"s":15},41],"t":[{"a":1},21],"u":{"n":32}},"p":[{"a":{"r":{"a":5}},"e":[{"d":21,"l":19,"n":23,"r":23,"t":23},24],"o":{"s":{"i":{"t":{"e":5}}}}},43],"r":[{"a":{"y":{"e":17}},"e":{"c":{"i":32,"o":5},"e":{"m":11},"f":{"a":{"c":6}},"l":{"a":0},"r":11,"s":{"e":23,"s":27,"p":{"l":{"i":84}}},"t":{"e":{"n":5}},"v":11,"m":{"a":{"c":273}},"n":{"e":{"u":15}}},"i":{"e":53,"n":{"t":146},"s":[{"o":12},0]},"o":{"c":{"a":23,"e":{"s":{"s":8}},"i":{"t":{"y":{".":274}}}},"f":{"i":{"t":6}},"l":11,"s":{"e":12},"t":15,"g":{"e":208}}},9],"s":[{"e":[{"u":{"d":[{"o":{"d":276,"f":276}},275]}},24],"h":1,"i":{"b":21}},81],"t":[{"a":{"b":134},"e":24,"h":24,"i":{"m":11},"u":{"r":0},"w":21,"o":{"m":{"a":{"t":277}}},"r":{"o":{"l":278}}},42],"u":{"b":[{"e":{"s":{"c":181}}},11],"e":0,"f":0,"l":{"c":11},"m":1,"n":9,"r":{"r":0},"s":32,"t":[{"e":[{"r":11},32],"r":3,"t":{"e":{"d":0},"i":{"n":0}}},9]},"w":23},"q":{"u":[{"a":{"v":5,"i":{"n":{"t":{"e":279}}},"s":{"i":[{"r":281,"s":281},280]}},"e":{".":25,"r":27,"t":27},"i":{"n":{"t":{"e":{"s":{"s":282}}}},"v":{"a":{"r":14}}}},9]},"r":{"a":{"b":[{"i":3,"o":{"l":{"i":{"c":29},"o":{"i":236}}}},25],"c":{"h":{"e":17,"u":3},"l":19},"f":{"f":{"i":5},"t":0},"i":24,"l":{"o":1},"m":{"e":{"t":[{"r":{"i":{"z":283}}},11],"n":24},"i":24,"o":{"u":3}},"n":{"e":{"o":6},"g":{"e":0},"i":21,"o":4,"h":{"a":{"s":167}}},"p":{"e":{"r":11},"h":{"y":27}},"r":{"c":5,"e":[{"f":5},17],"i":{"l":18}},"s":24,"t":{"i":{"o":{"n":115}}},"u":{"t":0},"v":{"a":{"i":4},"e":{"l":11}},"z":{"i":{"e":4}},"d":{"i":{"g":127,"o":{"g":249}}},"o":{"r":2}},"b":[{"a":{"b":21,"g":21},"i":[{"f":0,"n":[{"e":19,"g":{".":4,"e":284}},24]},8],"o":1},29],"c":[{"e":[{"n":17},24],"h":{"a":23,"e":{"r":0}},"i":{"b":90,"t":1},"u":{"m":12}},29],"d":{"a":{"l":21},"i":[{"a":0,"e":{"r":0},"n":[{"g":3},17]},9]},"e":{".":25,"a":{"l":2,"n":3,"r":{"r":4},"v":32,"w":1},"b":{"r":{"a":{"t":19}}},"c":{"o":{"l":{"l":5},"m":{"p":{"e":5}}},"r":{"e":1},"i":{"p":{"r":285}},"t":{"a":{"n":{"g":286}}}},"d":[{"e":2,"i":{"s":3,"t":5}},37],"f":{"a":{"c":1},"e":[{"r":{".":4}},9],"i":3,"y":1},"g":{"i":{"s":11}},"i":{"t":4},"l":{"i":2,"u":4},"n":{"t":{"a":90,"e":0}},"o":2,"p":{"i":{"n":4},"o":{"s":{"i":1}},"u":2},"r":[{"i":21,"o":17,"u":4},147],"s":{".":21,"p":{"i":1},"s":{"i":{"b":6}},"t":[{"a":{"l":4},"r":3},8]},"t":{"e":{"r":1},"i":{"z":96},"r":{"i":[{"b":{"u":85}},3]}},"u":[{"t":{"i":4}},8],"v":[{"a":{"l":1},"e":{"l":11,"r":{".":30,"s":4,"t":4}},"i":{"l":4},"o":{"l":{"u":5}}},8],"w":{"h":1}},"f":[{"u":0,"y":21},29],"g":[{"e":{"r":3,"t":23},"i":{"c":23,"n":[{"g":3},0],"s":19,"t":19},"l":29,"o":{"n":0},"u":23},9],"h":[{".":18,"a":{"l":18}},1],"i":{"a":[{"b":0,"g":1,"l":{".":23}},3],"b":[{"a":11},21],"c":{"a":{"s":5},"e":21,"i":[{"d":32,"e":1},18],"o":21},"d":{"e":{"r":5}},"e":{"n":{"c":3,"t":3},"r":2,"t":4},"g":{"a":{"n":5},"i":32},"l":{"i":{"z":11}},"m":{"a":{"n":32},"i":5,"o":27,"p":{"e":0}},"n":{"a":[{".":32},24],"d":0,"e":0,"g":0},"o":2,"p":{"h":[{"e":6},32],"l":[{"i":{"c":5}},9]},"q":21,"s":[{".":21,"c":0,"h":23,"p":0},24],"t":{"a":{"b":116},"e":{"d":{".":19},"r":{".":5,"s":5}},"i":{"c":11},"u":[{"r":5},9]},"v":{"e":{"l":5,"t":11},"i":11,"o":{"l":287}}},"j":23,"k":{"e":{"t":23},"l":{"e":1,"i":{"n":1}},".":288,"h":{"o":2},"r":{"a":{"u":29}},"s":{".":288}},"l":[{"e":[{"d":24,"q":{"u":30}},0],"i":{"g":21,"s":[{"h":4},21]},"o":73},29],"m":[{"a":{"c":5},"e":[{"n":23,"r":{"s":4}},24],"i":{"n":{"g":[{".":21},3]},"o":21,"t":23},"y":21},29],"n":{"a":{"r":21},"e":{"l":23,"r":21,"t":19,"y":23},"i":{"c":19,"s":92,"t":23,"v":23},"o":[{"u":21},0],"u":23},"o":{"b":{"l":11,"o":{"t":289}},"c":[{"r":3},24],"e":[{"l":{"a":{"s":167}},"p":{"i":{"d":{"e":290}}}},1],"f":{"e":2,"i":{"l":4}},"k":[{"e":{"r":4}},8],"l":{"e":{".":32}},"m":{"e":{"t":{"e":5},"s":{"h":3}},"i":0,"p":0},"n":{"a":{"l":0},"e":0,"i":{"s":134},"t":{"a":0}},"o":{"m":41,"t":32},"p":{"e":{"l":3},"i":{"c":11}},"r":{"i":11,"o":4},"s":{"p":{"e":{"r":5}},"s":0},"t":{"h":{"e":1},"y":1,"r":{"o":{"n":2}}},"v":{"a":1,"e":{"l":5}},"x":5},"p":[{"e":{"a":21,"n":{"t":19},"r":{".":4},"t":23},"h":95,"i":{"n":{"g":3}},"o":23,"a":{"u":{"l":{"i":291}}}},29],"r":[{"e":{"c":0,"f":0,"o":21,"s":{"t":0}},"i":{"o":0,"v":0},"o":{"n":17,"s":17},"y":{"s":17}},72],"s":[{"a":[{"t":{"i":5}},29],"c":1,"e":[{"c":[{"r":0},23],"r":{".":4,"a":{"d":{"i":238}}},"s":3,"v":148},24],"h":[{"a":19},29],"i":[{"b":90},29],"o":{"n":12},"p":29,"w":19},44],"t":{"a":{"c":{"h":36},"g":21},"e":{"b":23,"n":{"d":17},"o":5},"i":[{"b":4,"d":0,"e":{"r":21},"g":23,"l":{"i":12,"l":17,"y":21},"s":{"t":21},"v":21},29],"r":{"i":23,"o":{"p":{"h":115}},"e":{"u":29}},"s":{"h":1},"h":{"o":{"u":29}}},"u":{"a":3,"e":{"l":93,"n":3},"g":{"l":1},"i":{"n":3},"m":{"p":{"l":11}},"n":[{"k":6,"t":{"y":0}},9],"s":{"c":19},"t":{"i":{"n":6}}},"v":{"e":[{"l":{"i":17},"n":23,"r":{".":4},"s":{"t":19},"y":23,"i":{"l":29}},1],"i":{"c":23,"v":0},"o":23},"w":29,"y":{"c":1,"n":{"g":{"e":32}},"t":3},"z":{"s":{"c":2}}},"s":{"a":[{"b":42,"c":{"k":32,"r":{"i":11},"t":23},"i":32,"l":{"a":{"r":36},"m":0,"o":4,"t":0,"e":{"s":{"c":54,"w":7}}},"n":{"c":27,"d":{"e":0}},"p":[{"a":{"r":{"i":{"l":292}}}},29],"t":{"a":4,"i":{"o":76},"u":11},"u":0,"v":{"o":{"r":4}},"w":32},9],"b":56,"c":{"a":{"n":{"t":149},"p":[{"e":{"r":267}},0],"v":6,"t":{"o":{"l":208}}},"e":{"d":21,"i":18,"s":21},"h":[{"o":21,"i":{"t":{"z":21}},"r":{"o":{"d":{"i":{"n":{"g":293}}}}}},8],"i":{"e":68,"n":{"d":150},"u":{"t":{"t":294}}},"l":{"e":6,"i":21},"o":{"f":17,"p":{"y":18},"u":{"r":{"a":7}}},"u":29,"r":{"a":{"p":{"e":{"r":{".":36}}}}},"y":{"t":{"h":247}}},"d":56,"e":{".":18,"a":[{"s":17,"w":5},1],"c":{"o":151,"t":27},"d":[{"e":95,"l":19},125],"g":[{"r":11},9],"i":32,"l":{"e":2,"f":32,"v":32},"m":{"e":[{"s":{"t":295}},18],"o":{"l":1},"a":{"p":{"h":287}},"i":{"t":{"i":{"c":296}}}},"n":{"a":{"t":5},"c":18,"d":0,"e":{"d":19},"g":5,"i":{"n":19},"t":{"d":18,"l":18}},"p":{"a":152,"t":{"e":{"m":{"b":11}}}},"r":{".":43,"l":21,"o":0,"v":{"o":18}},"s":[{"h":4,"t":5},72],"u":{"m":113},"v":[{"e":{"n":11}},32],"w":{"i":0},"x":32},"f":47,"g":48,"h":[{".":25,"e":{"r":2,"v":32},"i":{"n":2,"o":3,"p":27,"v":6},"o":[{"l":{"d":4},"n":12,"r":[{"t":7},17],"e":{"s":{"t":137}}},0],"w":18},24],"i":{"b":2,"c":{"c":19},"d":{"e":{".":27,"s":[{"t":6,"w":6},32],"d":{".":8}},"i":[{"z":4},32]},"g":{"n":{"a":18}},"l":{"e":0,"y":18},"n":[{"a":24,"e":{".":32},"g":23},42],"o":[{"n":[{"a":6},32]},41],"r":[{"a":5,"e":{"s":{"i":{"d":4}}}},9],"s":41,"t":{"i":{"o":27}},"u":32,"v":41,"z":32},"k":[{"e":[{"t":23},18],"i":{"n":{"e":4,"g":4}},"y":{"s":{"c":15}}},9],"l":[{"a":{"t":23},"e":24,"i":{"t":{"h":7}},"o":{"v":{"a":{"k":{"i":{"a":297}}}}}},74],"m":[{"a":[{"l":{"l":54},"n":12},23],"e":{"l":17,"n":19},"i":{"t":{"h":32}},"o":{"l":{"d":49}}},42],"n":72,"o":[{"c":{"e":1},"f":{"t":12},"l":{"a":{"b":1},"d":153,"i":{"c":3},"v":32,"u":{"t":{"e":9}}},"m":27,"n":{".":68,"a":17,"g":0},"p":[{"h":{"i":{"c":32,"z":19},"y":19}},21],"r":{"c":5,"d":5},"v":[{"i":4},18],"g":{"a":{"m":{"y":298}}}},41],"p":{"a":[{"i":32,"n":0,"c":{"e":299,"i":{"n":69}}},25],"e":{"n":{"d":17},"o":57,"r":25,"c":{"i":{"o":11}}},"h":{"e":[{"r":[{"o":213},27]},24],"o":6},"i":{"l":17,"n":{"g":4},"o":18,"c":{"i":{"l":208}}},"l":{"y":21},"o":{"n":21,"r":[{"t":{"s":{"c":300,"w":300}}},17],"t":18,"k":{"e":{"s":{"w":10}}}}},"q":{"u":{"a":{"l":{"l":36}},"i":{"t":{"o":88}}}},"r":29,"s":[{"a":[{"s":12,"c":{"h":{"u":301}}},29],"c":94,"e":{"l":23,"n":{"g":19},"s":{".":21},"t":19},"i":[{"e":[{"r":0},21],"l":{"y":4},"a":{"n":{".":210}},"g":{"n":{"a":{"b":302}}}},29],"l":[{"i":1},21],"n":21,"p":{"e":{"n":{"d":115}}},"t":9,"u":{"r":{"a":6}},"w":4,"h":{"a":{"t":3}}},25],"t":{".":25,"a":{"g":24,"l":24,"m":{"i":17,"p":69},"n":{"d":32,"t":{"s":{"h":{"i":303}}}},"p":90,"t":{".":32,"i":15},"r":{"t":{"l":{"i":12}}}},"e":{"d":21,"r":{"n":{"i":7},"o":19},"w":[{"a":6},8]},"h":{"e":23},"i":[{".":21,"a":19,"c":[{"k":32},29],"e":21,"f":23,"n":{"g":3},"r":32},9],"l":{"e":29},"o":{"c":{"k":32},"m":{"a":12},"n":{"e":32},"p":21,"r":{"e":27,"a":{"b":304}}},"r":[{"a":{"d":21,"t":{"u":32,"a":{"g":305}},"y":21},"i":{"d":21,"b":{"u":{"t":7}}},"y":18},1],"w":61,"y":[{"l":{"i":{"s":137}}},24],"b":4,"s":{"c":{"r":4}},"u":{"p":{"i":{"d":306}}}},"u":[{"a":{"l":2},"b":111,"g":151,"i":{"s":4,"t":12},"l":21,"m":[{"i":11},9],"n":9,"r":9,"p":{"e":{"r":{"e":307}}}},41],"v":18,"w":[{"o":18,"i":{"m":{"m":177}}},9],"y":[{"c":18,"l":27,"n":{"o":5,"c":41},"r":{"i":{"n":4}},"t":{"h":{"i":308}}},21]},"t":{"a":[{".":27,"b":[{"l":{"e":{"s":4}},"o":{"l":{"i":{"z":32,"s":{"m":309}}}}},25],"c":{"i":18},"d":{"o":4},"f":46,"i":{"l":{"o":5}},"l":[{"a":4,"e":{"n":5},"i":11,"k":[{"a":204},18],"l":{"i":{"s":0}},"o":{"g":4}},9],"m":{"o":4,"i":{"n":82}},"n":{"d":{"e":0},"t":{"a":54}},"p":{"e":{"r":4},"l":4,"a":{"t":{"h":310}}},"r":{"a":0,"c":18,"e":18,"i":{"z":3},"r":{"h":311}},"s":{"e":0,"y":4},"t":{"i":{"c":18},"u":{"r":1}},"u":{"n":17},"v":0,"w":25,"x":{"i":{"s":0}},"g":{"o":{"n":{".":3}}}},41],"b":42,"c":[{"h":[{"e":{"t":5},"c":15,"i":{"e":{"r":237}}},21],"r":29},18],"d":43,"e":{".":18,"a":{"d":{"i":17},"t":18,"c":{"h":{"e":{"r":{".":36}}}}},"c":{"e":17,"t":32},"d":[{"i":4},42],"e":41,"g":[{"e":{"r":4},"i":4},0],"l":{".":27,"i":17,"s":32,"e":{"g":84,"r":{"o":249}}},"m":{"a":[{"t":11},154]},"n":{"a":{"n":27},"c":27,"d":27,"e":{"s":18},"t":[{"a":{"g":0}},41]},"o":41,"p":[{"e":4},1],"r":{"c":11,"d":155,"i":[{"e":{"s":5},"s":11,"z":{"a":6},"c":{".":8}},41],"n":{"i":{"t":32}},"v":5,"g":{"e":{"i":312}}},"s":{".":18,"s":[{".":23,"e":{"s":313}},18]},"t":{"h":{"e":6}},"u":27,"x":27,"y":18},"f":42,"g":43,"h":{".":25,"a":{"n":17,"l":{"a":{"m":228}}},"e":[{"a":[{"s":3,"t":5},18],"i":{"s":11},"t":27},9],"i":{"c":{".":4,"a":4},"l":18,"n":{"k":32}},"l":18,"o":{"d":{"e":4,"i":{"c":32},"o":{"n":11}},"o":18,"r":{"i":{"t":6,"z":5}},"g":{"e":{"n":{"i":314}}},"k":{"e":{"r":175}}},"s":25,"y":{"l":{"a":{"n":228}},"s":{"c":11}}},"i":{"a":[{"b":1,"t":{"o":1},"n":{".":70}},41],"b":156,"c":{"k":18,"o":21,"u":157},"d":{"i":32},"e":{"n":27},"f":[{"y":4},8],"g":[{"u":32},25],"l":{"l":{"i":{"n":6}}},"m":[{"p":18,"u":{"l":5}},41],"n":[{"a":24,"e":{".":27},"i":27,"o":{"m":285}},42],"o":[{"c":4,"n":{"e":{"e":6}}},41],"q":32,"s":{"a":3,"e":27,"m":0,"o":4,"p":0,"t":{"i":{"c":{"a":32}}}},"t":{"l":3},"u":1,"v":[{"a":0},41],"z":[{"a":3,"e":{"n":3}},41]},"l":[{"a":[{"n":17},19],"e":{".":27,"d":27,"s":{".":27},"t":{".":19}},"o":19,"i":{"e":{"r":315}}},25],"m":[{"e":0},43],"n":81,"o":[{"b":3,"c":{"r":{"a":{"t":4}}},"d":{"o":18},"f":25,"g":{"r":9},"i":{"c":4},"m":{"a":9,"b":0,"y":3},"n":{"a":{"l":{"i":0},"t":3},"o":18,"y":18},"r":{"a":9,"i":{"e":3,"z":5}},"s":8,"u":{"r":32,"t":18},"w":{"a":{"r":3}},"l":{"o":{"g":{"y":84}}},"t":{"i":{"c":11}}},41],"p":43,"r":{"a":[{"b":11,"c":{"h":5,"i":[{"t":17},36],"t":{"e":17}},"s":17,"v":{"e":{"n":5,"s":158,"r":{"s":[{"a":{"b":317}},15]}}},"i":{"t":{"o":{"r":316}}}},41],"e":{"f":5,"m":[{"i":6},0],"a":{"c":{"h":{"e":318}}}},"i":{"a":[{"l":{".":1}},32],"c":{"e":{"s":5},"i":{"a":32},"s":18},"m":25,"v":0},"o":{"m":{"i":5},"n":{"i":6,"y":18},"p":{"h":{"e":5},"i":{"s":175},"o":{"l":{"e":{"s":320},"i":{"s":320,"t":321}}}},"s":{"p":11},"v":11,"l":{"e":{"u":{"m":319}}},"f":{"i":{"c":{".":17},"t":11}}},"u":{"i":5,"s":17}},"s":[{"c":[{"h":{"i":{"e":12}}},21],"h":0,"w":21},101],"t":[{"e":{"s":21},"o":19,"u":0,"r":{"i":{"b":{"u":{"t":322}}}}},66],"u":[{"a":[{"r":3},2],"b":{"i":1},"d":8,"e":18,"f":46,"i":76,"m":27,"n":{"i":{"s":1}},"p":{".":48},"r":{"e":27,"i":[{"s":11},32],"o":5,"y":4,"n":{"a":{"r":12}}},"s":27},41],"v":18,"w":[{"a":43,"i":{"s":17},"o":18,"h":29},1],"y":[{"a":18,"l":25,"p":{"e":12,"h":4,"a":{"l":64}}},41],"z":[{"e":1},18]},"u":{"a":{"b":18,"c":0,"n":{"a":4,"i":0},"r":{"a":{"n":{"t":5}},"d":8,"i":11,"t":11},"t":29,"v":0,"d":{"r":{"a":{"t":{"i":3,"u":15}}}}},"b":{"e":[{"l":21,"r":[{"o":21},23]},1],"i":[{"n":{"g":33}},72],"l":{"e":{".":23}}},"c":{"a":23,"i":{"b":0,"t":1},"l":{"e":12},"r":23,"u":23,"y":21},"d":{"d":4,"e":{"r":3,"s":{"t":4},"v":17},"i":{"c":29,"e":{"d":3,"s":3},"s":4,"t":19},"o":{"n":[{"y":232},21]},"s":{"i":1},"u":21},"e":{"n":{"e":21,"s":17,"t":{"e":0}},"r":{"i":{"l":0}},"a":{"m":15}},"f":{"a":27,"l":23},"g":{"h":{"e":{"n":11}},"i":{"n":4}},"i":[{"l":{"i":{"z":5}},"n":[{"g":29},1],"r":{"m":0},"t":{"a":17},"v":[{"e":{"r":{".":0}}},11]},156],"j":19,"k":18,"l":{"a":[{"b":5,"t":{"i":19}},29],"c":{"h":[{"e":32},17]},"d":{"e":{"r":3}},"e":[{"n":29},1],"g":{"i":1},"i":[{"a":19,"n":{"g":3},"s":{"h":4}},9],"l":{"a":{"r":1},"i":{"b":96,"s":1}},"m":61,"o":72,"s":[{"e":{"s":5}},18],"t":{"i":2,"r":{"a":54},"u":18},"u":[{"l":4},23],"v":4},"m":{"a":{"b":4},"b":{"i":1,"l":{"y":1}},"i":[{"n":{"g":83}},29],"o":{"r":{"o":6}},"p":9},"n":{"a":{"t":17},"e":[{"r":1},24],"i":[{"m":1,"n":24,"s":{"h":4},"v":11},29],"s":[{"w":1},93],"t":{"a":{"b":11},"e":{"r":{".":1},"s":1}},"u":0,"y":4,"z":4},"o":{"r":{"s":21},"s":19,"u":29},"p":{"e":[{"r":{"s":6}},29],"i":{"a":19,"n":{"g":3}},"l":23,"p":[{"o":{"r":{"t":10}}},3],"t":{"i":{"b":5},"u":17}},"r":{"a":[{".":18,"g":21,"s":21,"l":{".":216}},29],"b":{"e":1},"c":0,"d":2,"e":{"a":{"t":5}},"f":{"e":{"r":1},"r":1},"i":{"f":[{"i":{"c":0}},23],"n":2,"o":23,"t":29,"z":3,"a":{"l":{".":0}}},"l":[{"i":{"n":{"g":{".":5}}}},9],"n":{"o":1},"o":{"s":17},"p":{"e":1,"i":1},"s":{"e":{"r":5}},"t":{"e":{"s":4},"h":{"e":3},"i":[{"e":1},17]},"u":23},"s":[{"a":{"d":19,"n":19,"p":1},"c":[{"i":3},8],"e":{"a":5,"r":{".":9}},"i":{"a":19,"c":23},"l":{"i":{"n":1}},"p":2,"s":{"l":4},"t":{"e":{"r":{"e":4}},"r":2},"u":[{"r":17},24]},25],"t":{"a":{"b":0,"t":23},"e":{".":18,"l":18,"n":[{"i":17},18]},"i":[{"l":{"i":{"z":5}},"n":{"e":23,"g":3},"o":{"n":{"a":7}},"s":21,"z":31},101],"l":34,"o":{"f":4,"g":5,"m":{"a":{"t":{"i":{"c":5}}}},"n":19,"u":21},"s":0},"u":[{"m":1},23],"v":74,"x":{"u":11},"z":{"e":1}},"v":{"a":[{".":32,"b":159,"c":{"i":{"l":5},"u":11},"g":[{"e":1,"u":{"e":{"r":170}}},0],"l":{"i":{"e":4},"o":5,"u":15},"m":{"o":4},"n":{"i":{"z":4}},"p":{"i":4},"r":{"i":{"e":{"d":5}}},"t":[{"i":{"v":29}},27],"u":{"d":{"e":{"v":54}}}},41],"e":{".":18,"d":18,"g":11,"l":{".":23,"l":{"i":11},"o":1,"y":21},"n":{"o":{"m":11},"u":{"e":19}},"r":{"d":21,"e":{".":32,"l":[{"y":{".":41}},21],"n":[{"c":5},23],"s":21,"i":{"g":324}},"i":{"e":11},"m":{"i":{"n":36}},"s":{"e":27},"t":{"h":11}},"s":[{".":18,"t":{"e":0,"i":{"t":{"e":15}}}},99],"t":{"e":[{"r":11},1],"y":1}},"i":{"a":{"l":{"i":4},"n":32},"d":{"e":{".":32,"d":32,"n":47,"s":32},"i":32},"f":23,"g":{"n":4},"k":0,"l":[{"i":{"t":32,"z":127}},25],"n":[{"a":26,"c":24,"d":5,"g":18},29],"o":{"l":11,"r":73,"u":2},"p":1,"r":{"o":4},"s":{"i":{"t":11},"o":3,"u":3},"t":{"i":18,"r":11,"y":18},"v":[{"i":{"p":{"a":{"r":325}}}},27]},"o":{".":32,"i":[{"r":{"d":{"u":323}},"c":{"e":{"p":213}}},0],"k":27,"l":{"a":1,"e":19,"t":32,"v":27},"m":{"i":5},"r":{"a":{"b":5},"i":17,"y":1},"t":{"a":1,"e":{"e":18}}},"v":26,"y":21},"w":{"a":{"b":{"l":19},"c":25,"g":{"e":{"r":4},"o":5},"i":{"t":6},"l":{".":19},"m":0,"r":{"t":0},"s":{"t":[{"e":{"w":{"a":326}}},0]},"t":{"e":2},"v":{"e":{"r":4,"g":327}}},"b":29,"e":{"a":{"r":{"i":{"e":5}},"t":{"h":54}},"d":{"n":0},"e":{"t":12,"v":5,"k":{"n":137}},"l":{"l":0},"r":29,"s":{"t":12},"v":23},"h":{"i":0},"i":[{"l":[{"l":{"i":{"n":6}}},8],"n":{"d":{"e":0},"g":0},"r":0,"s":{"e":27},"t":{"h":12},"z":5,"d":{"e":{"s":{"p":6}}}},9],"k":21,"l":{"e":{"s":1},"i":{"n":3}},"n":{"o":21},"o":[{"m":15,"v":{"e":{"n":4}},"k":{"e":{"n":85}}},160],"p":19,"r":{"a":[{"p":{"a":{"r":{"o":12}}}},0],"i":[{"t":{"a":36,"e":{"r":{".":183}}}},0]},"s":{"h":23,"l":1,"p":{"e":1},"t":60},"t":18,"y":1,"c":23},"x":{"a":[{"c":{"e":5},"g":{"o":21},"m":11,"p":21,"s":5},29],"c":161,"e":[{"c":{"u":{"t":{"o":1}}},"d":24,"r":{"i":0,"o":4}},29],"h":[{"i":[{"l":6},8],"u":0},29],"i":[{"a":4,"c":4,"d":{"i":4},"m":{"e":21,"i":{"z":4}}},23],"o":[{"b":21},23],"p":[{"a":{"n":{"d":17}},"e":{"c":{"t":{"o":10}},"d":11}},23],"t":[{"i":23},74],"u":[{"a":3},29],"x":1,"q":[{"u":{"i":{"s":54}}},29]},"y":{"a":{"c":19,"r":110,"t":19},"b":29,"c":[{"e":[{"r":4},24],"h":[{"e":[{"d":264},0]},23],"o":{"m":17,"t":17}},29],"d":29,"e":{"e":19,"r":[{"f":21},29],"s":[{"t":{"e":{"r":{"y":328}}}},0],"t":1},"g":{"i":19},"h":47,"i":29,"l":{"a":23,"l":{"a":{"b":{"l":6}}},"o":23,"u":19},"m":{"b":{"o":{"l":7}},"e":[{"t":{"r":{"y":20}}},0],"p":{"a":12}},"n":{"c":{"h":{"r":3}},"d":4,"g":4,"i":{"c":4},"x":32},"o":[{"d":4,"g":33,"m":0,"n":{"e":{"t":4},"s":21},"s":21},72],"p":{"e":{"d":21,"r":6},"i":3,"o":[{"c":21},23],"t":{"a":9},"u":19},"r":{"a":{"m":5},"i":{"a":4},"o":23,"r":1},"s":{"c":1,"e":161,"i":{"c":{"a":3},"o":3,"s":27},"o":21,"s":0,"t":[{"a":3,"r":{"o":29}},2],"u":{"r":17}},"t":{"h":{"i":{"n":23}},"i":{"c":3}},"w":29},"z":{"a":[{"b":79,"r":8},2],"b":18,"e":[{"n":1,"p":1,"r":[{"o":3},29],"t":0},25],"i":[{"l":21,"s":21,"a":{"n":{".":23}}},42],"l":32,"m":18,"o":[{"m":1,"o":{"l":4},"p":{"h":{"r":329}}},41],"t":{"e":0},"z":[{"y":21,"w":231},101]}}',["as-so-ciate","as-so-ciates","dec-li-na-tion","oblig-a-tory","phil-an-thropic","present","presents","project","projects","reci-procity","re-cog-ni-zance","ref-or-ma-tion","ret-ri-bu-tion","ta-ble"]]})})(Y5)),Y5.exports}var fke=dke();const hke=ma(fke),A8=e=>{let t=0,r="";const n=[];return e.forEach(i=>{r+=i.string,n.push({...i,start:t,end:t+i.string.length,attributes:i.attributes||{}}),t+=i.string.length}),{string:r,runs:n}},mke=e=>[e],pke=(e={},t={})=>r=>{const n=[],i=[],s=t.hyphenationCallback||e.wordHyphenation?.()||mke;for(let l=0;lObject.assign({},e),EW=(e,t)=>{const r=Object.assign({},e,{height:t}),n=Object.assign({},e,{y:e.y+t,height:e.height-t});return[r,n]},Ake=(e,t)=>{const[,r]=EW(t,e);return r},xke=e=>e.reduce((t,r)=>t+r.box.height,0),vke=e=>{const t=e.attributes||{},r=t.fontSize||12,n=t.font,i=typeof n=="string"?null:n?.[0]?.unitsPerEm;return i?r/i:0},rx=e=>e.attributes?.scale||vke(e),RQ=(e,t)=>{if(!t)return 0;const r=t.glyphIndices||[],n=r[e];return r.slice(0,e).filter(i=>i===n).length},x8=e=>e.attributes?.font?.[0]||null,PQ=(e,t,r,n)=>{if(!n)return[];if(e===t)return[];if(e===0&&t===n.codePoints.length)return[n];const i=n.codePoints.slice(e,t),s=String.fromCodePoint(...i);return r?r.layout(s,void 0,void 0,void 0,"ltr").glyphs:[n]},zw=(e,t)=>{const r=t?.glyphIndices?.[e];return Oa(r)?e:r},CW=e=>{const t=e[0];return e.map(r=>r-t)},Ov=(e,t,r)=>{const n=rx(r),i=x8(r),s=zw(e,r),o=zw(t,r),l=r.glyphs?.[s],c=r.glyphs?.[o],d=RQ(e,r),u=d>0?PQ(d,1/0,i,l):[],h=RQ(t,r),p=PQ(0,h,i,c),A=s+Math.min(1,d),y=(r.glyphs||[]).slice(A,o),v=S=>({xAdvance:S.advanceWidth*n,yAdvance:0,xOffset:0,yOffset:0}),w=u.map(v),j=(r.positions||[]).slice(A,o),E=p.map(v);return Object.assign({},r,{start:r.start+e,end:Math.min(r.end,r.start+t),glyphIndices:CW((r.glyphIndices||[]).slice(e,t)),glyphs:[u,y,p].flat(),positions:[w,j,E].flat()})},e6=(e,t)=>t?t.findIndex(r=>r.start<=e&&e{const n=e6(e,r),i=Math.max(e6(t-1,r),n);return r.slice(n,i+1)},yke=(e,t)=>{const r=t.start-e,n=t.end-e;return Object.assign({},t,{start:r,end:n})},bke=(e,t,r)=>{const n=s=>Ov(e-s.start,t-s.start,s),i=s=>Ov(0,t-s.start,s);return r.map((s,o)=>{let l=s;const c=o===0,d=!c&&o===r.length-1;return c&&(l=n(s)),d&&(l=i(s)),yke(e,l)})},r1=(e,t,r)=>{if(r.string.length===0)return r;const n=r.string.slice(e,t),i=IW(e,t,r.runs),s=bke(e,t,i);return Object.assign({},r,{string:n,runs:s})},wke=e=>e.search(/\S/g),Eke=e=>{const t=e.match(/\S/g);return t?e.lastIndexOf(t[t.length-1]):-1},Cke=e=>{const t=wke(e.string),r=Eke(e.string);return r1(t,r+1,e)},Ike=()=>({start:0,end:0,glyphIndices:[],glyphs:[],positions:[],attributes:{}}),jW=e=>typeof e=="number",jke=(e,t)=>{const r=eh(t),n=Oa(r)?0:r+1,i=Array(e).fill(n);return t.concat(i)},NW=(e,t)=>typeof t=="string"?null:t&&e?t.glyphForCodePoint(e):null,Nke=(e,t)=>{const r=e.codePoints?.length||0,n=t.end+r,i=t.glyphs.concat(e),s=jke(r,t.glyphIndices);if(!t.positions)return Object.assign({},t,{end:n,glyphs:i,glyphIndices:s});const o=t.positions.concat({xAdvance:e.advanceWidth*rx(t),yAdvance:0,xOffset:0,yOffset:0});return Object.assign({},t,{end:n,glyphs:i,glyphIndices:s,positions:o})},SW=(e,t)=>{if(!e)return t;const r=x8(t),n=jW(e)?NW(e,r):e;return Nke(n,t)},BW=e=>String.fromCodePoint(...e||[]),kW=(e,t)=>{const r=typeof e=="number"?[e]:e?.codePoints,n=BW(r||[]),i=t.string+n,s=t.runs.slice(0,-1),o=eh(t.runs)||Ike(),l=s.concat(SW(e,o));return Object.assign({},t,{string:i,runs:l})},_W=8230,Ske=String.fromCharCode(_W),Bke=e=>{if(!e.encode)return _W;const[t]=e.encode(Ske);return parseInt(t[0],16)},QQ=e=>{const t=eh(e)?.runs||[],r=eh(t)?.attributes?.font[0];if(r){const n=e.length-1,i=Bke(r),s=r.glyphForCodePoint(i),o=kW(s,Cke(e[n]));return Object.assign([],e,{[n]:o})}return e},DW=(e,t)=>{const r=Object.assign({},t.attributes);return delete r[e],Object.assign({},t,{attributes:r})},DE=e=>{const{font:t,attachment:r}=e.attributes,n=r?.height||0,i=typeof t=="string"?0:t?.[0]?.ascent||0;return Math.max(n,i*rx(e))},TW=e=>{const t=e.attributes?.font,r=typeof t=="string"?0:t?.[0]?.descent||0;return rx(e)*r},kke=e=>{const t=e.attributes?.font;return(typeof t=="string"?0:t?.[0]?.lineGap||0)*rx(e)},RW=e=>e.attributes?.lineHeight||kke(e)+DE(e)-TW(e),PW=e=>{const t=(r,n)=>Math.max(r,RW(n));return e.runs.reduce(t,0)},_ke=(e,t)=>{const r=Math.max(e.x,t.x),n=Math.min(e.x+e.width,t.x+t.width),i=Math.max(e.y,t.y),s=Math.min(e.y+e.height,t.y+t.height);return n>=r&&s>=i},Dke=(e,t)=>{if(!_ke(t,e))return[e];const r=t.x,n=t.x+t.width,i=e.x,s=e.x+e.width,o=Object.assign({},e,{width:r-i}),l=Object.assign({},e,{x:n,width:s-n});return[o,l].filter(c=>c.width>0)},Tke=(e,t)=>{let r=[e];for(let n=0;n{const l=Dke(o,i);return s.concat(l)},[])}return r},Rke=(e,t)=>{const{excludeRects:r,...n}=e;if(!r)return[n];const i=[],s=Math.max(...r.map(l=>l.y+l.height));let o=n;for(;o.y{if(!!e.string.includes(Pke))return e;const r=e.runs.map(n=>DW("attachment",n));return Object.assign({},e,{runs:r})},Fke=(e,t,r)=>{let n=e.shift(),i=n.y;return t.map((s,o)=>{const l=o===0?r:0,c=s.runs?.[0]?.attributes||{},d=Math.max(PW(s),c.lineHeight);i+d>n.y+n.height&&e.length>0&&(n=e.shift(),i=n.y);const u={string:s.string,runs:s.runs,box:{x:n.x+l,y:i,width:n.width-l,height:d}};return i+=d,Qke(u)})},Oke=(e,t={})=>(r,n)=>{const i=PW(n),s=n.runs?.[0]?.attributes?.indent||0,o=Rke(r,i),l=o.map(d=>d.width);l.unshift(l[0]-s);const c=e.linebreaker(t)(n,l);return Fke(o,c,s)},Lke=(e,t)=>{const r=[];let n=0;for(let i=0;in=>{const i=[],s=[...n],o=Oke(e,t),l=Oa(r.maxLines)?1/0:r.maxLines,c=r.truncateMode==="ellipsis";let d=l,u=gke(r),h=s.shift();for(;d>0&&h;){const p=o(u,h),A=p.slice(0,d),y=xke(A),v=c&&p.length!==A.length;if(d-=A.length,u.height>=y)i.push(v?QQ(A):A),u=Ake(y,u),h=s.shift();else{i.push(QQ(Lke(u.height,A)));break}}return i},Uke=e=>{const{runs:t}=e;return t.length===0?0:t[0].start},zke=e=>{const{runs:t}=e;return t.length===0?0:eh(t).end},QW=e=>zke(e)-Uke(e),FQ=g8(),$ke=e=>e.reduce((t,r)=>{const n=r.end-r.start,i=lW(r.attributes.bidiLevel,n);return t.concat(i)},[]),Hke=(e,t)=>{const r=[];for(let n=0;n{const s=r.slice(n,i+1);for(let o=s.length-1;o>=0;o-=1)r[i-o]=s[o]}),r},OQ=(e,t,r)=>{for(let n=0;n=i.start&&r{const t=$ke(e.runs),n=e.runs[0]?.attributes.direction==="rtl"?1:0,o={paragraphs:[{start:0,end:QW(e)-1,level:n}],levels:t},l=FQ.getReorderSegments(e.string,o);if(l.length===0)return e;const c=Hke(e.string,l),d=FQ.getReorderedString(e.string,o),u=e.runs.map(h=>{const p=c.slice(h.start,h.end),A=[],y=[],v=new Set;for(let w=0;we.map(qke),Vke=()=>e=>e.map(Gke),Wke=123,Kke=(e=[])=>e.reduce((t,r)=>{const n=r?.codePoints||[Wke];if(t.length===0)return n.map(()=>0);const i=t[t.length-1],s=n.map(()=>i+1);return[...t,...s]},[]),Yke=e=>e.attributes?.characterSpacing||0,Zke=(e,t)=>{const r=rx(e),n=Yke(e);return t.map((i,s)=>{const l=s===t.length?0:n;return Object.assign({},i,{xAdvance:i.xAdvance*r+l,yAdvance:i.yAdvance*r,xOffset:i.xOffset*r,yOffset:i.yOffset*r})})},Jke=e=>t=>{const{start:r,end:n,attributes:i={}}=t,{font:s}=i;if(!s)return{...t,glyphs:[],glyphIndices:[],positions:[]};const o=e.slice(r,n);if(typeof s=="string")throw new Error("Invalid font");const l=s[0].layout(o,void 0,void 0,void 0,"ltr"),c=Zke(t,l.positions),d=Kke(l.glyphs);return{...t,positions:c,glyphIndices:d,glyphs:l.glyphs}},Xke=()=>e=>{const t=e.runs.map(Jke(e.string));return Object.assign({},e,{runs:t})},e_e=e=>{if(!e.positions)return e;const t=e.attributes?.font?.[0]?.unitsPerEm||0,r=(e.attributes?.yOffset||0)*t,n=e.positions.map(i=>Object.assign({},i,{yOffset:r}));return Object.assign({},e,{positions:n})},t_e=()=>e=>{const t=e.runs.map(e_e);return Object.assign({},e,{runs:t})},r_e=e=>e.sort((t,r)=>t.start-r.start||t.end-r.end),LQ=e=>e.start===e.end,n_e=(e,t)=>e[1]-t[1]||e[3]-t[3],i_e=e=>e.reduce((r,n,i)=>r.concat([["start",n.start,n.attributes,i],["end",n.end,n.attributes,i]]),[]).sort(n_e),a_e=e=>e.reduce((t,r)=>{const n=Object.assign({},t.attributes,r.attributes);return Object.assign({},r,{attributes:n})},{}),s_e=e=>{const t=e.reduce((r,n)=>(r[n.start]||(r[n.start]=[]),r[n.start].push(n),r),[]);return Object.values(t)},o_e=e=>s_e(e).map(a_e),l_e=e=>{const t=[],r=i_e(e);let n=-1,i={};const s=[];for(let o=0;o{const t=o_e(e.filter(n=>LQ(n))),r=l_e(e.filter(n=>!LQ(n)));return r_e(t.concat(r))},FW=()=>({string:"",runs:[]}),u_e=e=>{const t=e.runs.map(r=>DW("font",r));return Object.assign({},e,{runs:t})},d_e=e=>t=>{if(Oa(t))return FW();const{string:r}=t,{fontSubstitution:n,scriptItemizer:i,bidi:s}=e,{runs:o}=u_e(t),{runs:l}=i()(t),{runs:c}=n()(t),{runs:d}=s()(t),u=d.concat(c).concat(l).concat(o);return{string:r,runs:c_e(u)}},f_e=()=>e=>{const t=[];let r=0,n=e.string.indexOf(` `)+1;for(;n>0;)t.push(r1(r,n,e)),r=n,n=e.string.indexOf(` `,n)+1;return r===0?t.push(e):re.reduce((t,r)=>t+(r.xAdvance||0),0),v8=e=>OW(e.positions||[]),y8=e=>{const t=(r,n)=>r+v8(n);return e.runs.reduce(t,0)},h_e=32,b8=e=>(e?.codePoints||[]).includes(h_e),m_e=e=>{const t=e.glyphs||[],r=e.positions||[],n=t.findIndex(i=>!b8(i));return r.slice(0,n)},p_e=e=>m_e(e).reduce((r,n)=>r+(n.xAdvance||0),0),g_e=e=>{const t=e.runs||[];return p_e(t[0])},A_e=e=>{const t=eQ(e.glyphs||[]),r=eQ(e.positions||[]),n=t.findIndex(i=>!b8(i));return r.slice(0,n)},x_e=e=>A_e(e).reduce((r,n)=>r+(n.xAdvance||0),0),v_e=e=>{const t=e.runs||[];return x_e(eh(t))},y_e=e=>Ov(0,e.end-e.start-1,e),b_e=e=>{const t=F6e(e.string),r=R6e(-1,y_e,e.runs);return Object.assign({},e,{string:t,runs:r})},w_e={center:.5,right:1},E_e=e=>eh(e.string)===` `?b_e(e):e,C_e=e=>g_e(e)+(e.overflowLeft||0),I_e=e=>v_e(e)+(e.overflowRight||0),j_e=e=>{const t=C_e(e),r=I_e(e),n=e.box.x-t,i=e.box.width+t+r,s=Object.assign({},e.box,{x:n,width:i});return Object.assign({},e,{box:s,overflowLeft:t,overflowRight:r})},N_e=(e,t,r)=>n=>{const i=y8(n),s=w_e[r]||0,o=Math.max(0,n.box.width-i),l=r==="justify"||i>n.box.width,c=n.box.x+o*s,d=Object.assign({},n.box,{x:c}),u=Object.assign({},n,{box:d});return l?e.justification(t)(u):u},S_e=e=>{let t=0,r=0,n=0,i=0;const s=e.runs.map(o=>{const l=RW(o),c=DE(o),d=TW(o),u=v8(o);return n=Math.max(n,l),t=Math.max(t,c),r=Math.max(r,d),i+=u,Object.assign({},o,{height:l,ascent:c,descent:d,xAdvance:u})});return Object.assign({},e,{runs:s,height:n,ascent:t,descent:r,xAdvance:i})},B_e=(e,t)=>(r,n,i)=>{const s=n===i.length-1,o=r.runs?.[0]?.attributes||{},l=s?o.alignLastLine:o.align;return Nc(S_e,e.textDecoration(),N_e(e,t,l),j_e,E_e)(r)},k_e=(e,t)=>r=>{const n=B_e(e,t);return r.map(i=>i.map(n))},__e=65532,D_e=e=>e.codePoints.includes(__e),T_e=e=>{if(!e.positions)return e;const t=e.glyphs||[],r=e.attributes?.attachment;if(!r)return e;const n=e.positions.map((i,s)=>{const o=t[s];return r.width&&D_e(o)?Object.assign({},i,{xAdvance:r.width}):Object.assign({},i)});return Object.assign({},e,{positions:n})},R_e=()=>e=>{const t=e.runs.map(T_e);return Object.assign({},e,{runs:t})},P_e=e=>({align:e.align||(e.direction==="rtl"?"right":"left"),alignLastLine:e.alignLastLine||(e.align==="justify"?"left":e.align||"left"),attachment:e.attachment||null,backgroundColor:e.backgroundColor||null,bullet:e.bullet||null,characterSpacing:e.characterSpacing||0,color:e.color||"black",direction:e.direction||"ltr",features:e.features||[],fill:e.fill!==!1,font:e.font||[],fontSize:e.fontSize||12,hangingPunctuation:e.hangingPunctuation||!1,hyphenationFactor:e.hyphenationFactor||0,indent:e.indent||0,justificationFactor:e.justificationFactor||1,lineHeight:e.lineHeight||null,lineSpacing:e.lineSpacing||0,link:e.link||null,marginLeft:e.marginLeft||e.margin||0,marginRight:e.marginRight||e.margin||0,opacity:e.opacity,paddingTop:e.paddingTop||e.padding||0,paragraphSpacing:e.paragraphSpacing||0,script:e.script||null,shrinkFactor:e.shrinkFactor||0,strike:e.strike||!1,strikeColor:e.strikeColor||e.color||"black",strikeStyle:e.strikeStyle||"solid",stroke:e.stroke||!1,underline:e.underline||!1,underlineColor:e.underlineColor||e.color||"black",underlineStyle:e.underlineStyle||"solid",verticalAlign:e.verticalAlign||null,wordSpacing:e.wordSpacing||0,yOffset:e.yOffset||0}),Q_e=e=>{const t=P_e(e.attributes);return Object.assign({},e,{attributes:t})},F_e=()=>e=>{const t=e.string||"",r=(e.runs||[]).map(Q_e);return{string:t,runs:r}},O_e=()=>e=>(e.runs.forEach(t=>{const{attributes:r}=t,{verticalAlign:n}=r;n==="sub"?r.yOffset=-.2:n==="super"&&(r.yOffset=.4)}),e),L_e=g8(),M_e=e=>e.reduce((t,r)=>{const n=r.end-r.start,i=lW(r.attributes.bidiLevel,n);return t.concat(i)},[]),U_e=()=>e=>{const t=M_e(e.runs);let r="";return e.string.split("").forEach((i,s)=>{const l=t[s]%2===1?L_e.getMirroredCharacter(e.string.charAt(s)):null;r+=l||i}),{...e,string:r}},LW=e=>(t,r,n={})=>{const i=Nc(t_e(),R_e(),O_e(),pke(e,n),Xke(),U_e(),d_e(e)),s=o=>o.map(i);return Nc(k_e(e,n),Vke(),Mke(e,n,r),s,f_e(),F_e())(t)},z_e=g8(),MW=()=>e=>{const{string:t}=e,r=e.runs[0]?.attributes.direction,{levels:n}=z_e.getEmbeddingLevels(t,r);let i=null,s=0,o=0;const l=[];for(let d=0;d{let n=null,i=1/0;const s={width:0,stretch:0,shrink:0},o=t[Math.min(r,t.length-1)],l=c=>{const d="stretch"in c?c.stretch:null;if(s.width0?(o-s.width)/s.stretch:Sb;const u="shrink"in c?c.shrink:null;return s.width>o?u&&s.shrink-u>0?(o-s.width)/s.shrink:Sb:0};for(let c=0;co){if(n===null){let u=c===0?c+1:c;for(;u=p&&(n=c,i=p)}}return s.width-s.shrink>o?n:null},H_e=(e,t)=>{let r=0,n=0,i=e;const s=[0];for(;i.length>0;){const o=$_e(i,t,n);o!==null?(r+=o,s.push(r),i=i.slice(o+1,i.length),r++,n++):i=[]}return s};class q_e{data;prev;next;constructor(t){this.data=t,this.prev=null,this.next=null}}class y3{static Node=q_e;head;tail;listSize;listLength;constructor(){this.head=null,this.tail=null,this.listSize=0,this.listLength=0}isLinked(t){return!(t&&t.prev===null&&t.next===null&&this.tail!==t&&this.head!==t||this.isEmpty())}size(){return this.listSize}isEmpty(){return this.listSize===0}first(){return this.head}last(){return this.last}forEach(t){let r=this.head;for(;r!==null;)t(r),r=r.next}at(t){let r=this.head,n=0;if(t>=this.listLength||t<0)return null;for(;r!==null;){if(t===n)return r;r=r.next,n+=1}return null}insertAfter(t,r){return this.isLinked(t)?(r.prev=t,r.next=t.next,t.next===null?this.tail=r:t.next.prev=r,t.next=r,this.listSize+=1,this):this}insertBefore(t,r){return this.isLinked(t)?(r.prev=t.prev,r.next=t,t.prev===null?this.head=r:t.prev.next=r,t.prev=r,this.listSize+=1,this):this}push(t){return this.head===null?this.unshift(t):this.insertAfter(this.tail,t),this}unshift(t){return this.head===null?(this.head=t,this.tail=t,t.prev=null,t.next=null,this.listSize+=1):this.insertBefore(this.head,t),this}remove(t){return this.isLinked(t)?(t.prev===null?this.head=t.next:t.prev.next=t.next,t.next===null?this.tail=t.prev:t.next.prev=t.prev,this.listSize-=1,this):this}}function MQ(e,t,r,n,i,s){return{position:e,demerits:t,line:r,fitnessClass:n,totals:i||{width:0,stretch:0,shrink:0},previous:s}}function G_e(e,t,r,n,i,s){let o=r.width-i.totals.width,l=0,c=0;const d=s0?(d-o)/l:fo.infinity):o>d?(c=r.shrink-i.totals.shrink,c>0?(d-o)/c:fo.infinity):0}function V_e(e,t,r){const n={width:t.width,stretch:t.stretch,shrink:t.shrink};for(let i=r;ir)break}return n}function W_e(e){const t=[];if(e.size()===0)return[];let r={data:{demerits:1/0}};for(e.forEach(n=>{n.data.demerits{const n={demerits:{line:10,flagged:100,fitness:3e3},tolerance:r||3},i=new y3,s={width:0,stretch:0,shrink:0},o=t;i.push(new y3.Node(MQ(0,0,0,0,void 0,null)));function l(c,d,u){let h=i.first();for(;h!==null;){let p=0;const A=[{active:void 0,demerits:1/0},{active:void 0,demerits:1/0},{active:void 0,demerits:1/0},{active:void 0,demerits:1/0}];for(;h!==null;){p=h.data.line+1;const v=G_e(u,o,s,d,h.data,p);if((v<-1||c.type==="penalty"&&c.penalty===-fo.infinity)&&i.remove(h),v>=-1&&v<=n.tolerance){const w=100*Math.pow(Math.abs(v),3);let j=0;c.type==="penalty"&&c.penalty>=0?j=Math.pow(n.demerits.line+w,2)+Math.pow(c.penalty,2):c.type==="penalty"&&c.penalty!==-fo.infinity?j=Math.pow(n.demerits.line+w,2)-Math.pow(c.penalty,2):j=Math.pow(n.demerits.line+w,2),c.type==="penalty"&&u[h.data.position].type==="penalty"&&(j+=n.demerits.flagged*c.flagged*u[h.data.position].flagged);let E;v<-.5?E=0:v<=.5?E=1:v<=1?E=2:E=3,Math.abs(E-h.data.fitnessClass)>1&&(j+=n.demerits.fitness),j+=h.data.demerits,j=p)break}const y=V_e(u,s,d);for(let v=0;v{if(c.type==="box"){s.width+=c.width;return}if(c.type==="glue"){d>0&&u[d-1].type==="box"&&l(c,d,u),s.width+=c.width,s.stretch+=c.stretch,s.shrink+=c.shrink;return}c.type==="penalty"&&c.penalty!==fo.infinity&&l(c,d,u)}),W_e(i)};fo.infinity=1e4;fo.glue=(e,t,r,n,i)=>({type:"glue",start:t,end:r,width:e,stretch:n,shrink:i});fo.box=(e,t,r,n=!1)=>({type:"box",width:e,start:t,end:r,hyphenated:n});fo.penalty=(e,t,r)=>({type:"penalty",width:e,penalty:t,flagged:r});const K_e=(e,t)=>{const r=t.start+e,n=t.end+e;return Object.assign({},t,{start:r,end:n})},Y_e=e=>e.end-e.start,Z_e=(e,t)=>{const r=e.end+Y_e(t),n=(e.glyphs||[]).concat(t.glyphs||[]),i=(e.positions||[]).concat(t.positions||[]),s=Object.assign({},e.attributes,t.attributes),o=e.glyphIndices||[],l=eh(o)||0,c=(t.glyphIndices||[]).map(u=>u+l+1),d=CW(o.concat(c));return Object.assign({},e,{end:r,glyphs:n,positions:i,attributes:s,glyphIndices:d})},J_e=(e,t,r)=>{if(!t)return r;const n=Ov(0,e,r),i=Ov(e,1/0,r);return Z_e(SW(t,n),i)},X_e=(e,t,r)=>{const n=x8(r),i=jW(t)?NW(t,n):t;return J_e(e,i,r)},eDe=(e,t)=>e6(e,t.runs),tDe=(e,t,r)=>{const n=eDe(e,r);if(n===-1)return kW(t,r);const i=[t],s=r.string.slice(0,e)+BW(i)+r.string.slice(e),o=r.runs.map((l,c)=>c===n?X_e(e-l.start,t,l):c>n?K_e(i.length,l):l);return Object.assign({},r,{string:s,runs:o})},rDe=(e,t,r)=>{const n=r.start||0,i=Math.max(0,zw(e-n,r)),s=Math.max(0,zw(t-n,r)),o=(r.positions||[]).slice(i,s);return OW(o)},nDe=(e,t,r)=>IW(e,t,r.runs).reduce((i,s)=>i+rDe(e,t,s),0),iDe=45,aDe=5,sDe=50,Bb={width:3,stretch:6,shrink:9},oDe=(e,t,r)=>{let n=0,i=null;const s=r.reduce((o,l)=>{const c=t[l],d=t[l-1];if(l===t.length-1)return o;let u;return c.type==="penalty"?(i=d.end,u=r1(n,i,e),u=tDe(u.string.length,iDe,u)):(i=c.end,u=r1(n,i,e)),n=i,[...o,u]},[]);return s.push(r1(n,e.string.length,e)),s},lDe=(e,{align:t},r)=>{let n=0;const i=5,{syllables:s}=e,o=r.hyphenationPenalty||(t==="justify"?100:600),l=s.reduce((c,d,u)=>{const h=nDe(n,n+d.length,e);if(d.trim()===""){const p=h*Bb.width/Bb.stretch,A=h*Bb.width/Bb.shrink,y=n+d.length;c.push(fo.glue(h,n,y,p,A))}else{const p=s[u+1]!==" ",A=n+d.length;c.push(fo.box(h,n,A,p)),s[u+1]&&p&&c.push(fo.penalty(i,o,1))}return n+=d.length,c},[]);return l.push(fo.glue(0,n,n,fo.infinity,0)),l.push(fo.penalty(0,-fo.infinity,1)),l},cDe=e=>e.runs?.[0]?.attributes||{},UW=e=>(t,r)=>{let n=e.tolerance||4;const i=cDe(t),s=lDe(t,i,e);let o=fo(s,r,n);for(;o.length===0&&n{const r=t.expandCharFactor||{},n=t.shrinkCharFactor||{};return e===j1.GROW?Object.assign({},dDe,r):Object.assign({},hDe,n)},pDe=(e,t)=>{const r=t.expandWhitespaceFactor||{},n=t.shrinkWhitespaceFactor||{};return e===j1.GROW?Object.assign({},uDe,r):Object.assign({},fDe,n)},gDe=(e,t)=>r=>{const n=mDe(e,t),i=pDe(e,t),s=[];for(let o=0;o0&&(s[o-1].after=0))):c.isMark&&o>0?(l=Object.assign({},s[o-1]),l.before=0,s[o-1].after=0):l=Object.assign({},n),s.push(l)}return s},ADe=(e,t,r)=>{const n=e>0?j1.GROW:j1.SHRINK,i=gDe(n,r),s=t.runs.reduce((o,l)=>o.concat(i(l.glyphs)),[]);return s[0].before=0,s[s.length-1].after=0,s},UQ=0,b3=3,xDe=(e,t)=>{let r=0;const n=[],i=[];for(let u=UQ;u<=b3;u+=1)n[u]=i[u]=0;for(let u=0;u0&&s>-1&&(n[s]=(o+(e-r))/o);const d=[];for(let u=0;u{let r=0;for(const n of t.runs)for(const i of n.positions)i.xAdvance+=e[r++];return t},HW=e=>t=>{const r=t.box.width-y8(t);if(r===0)return t;const n=ADe(r,t,e),i=xDe(r,n);return vDe(i,t)},zQ=e=>{const t=(r,n)=>Math.max(r,DE(n));return e.runs.reduce(t,0)},yDe=12,qW=()=>e=>{let t=e.overflowLeft||0;const r=e.overflowRight||0,n=y8(e)-r;e.decorationLines=[];for(let i=0;ie=>{const{string:t}=e;let r="Unknown",n=0,i=0;const s=[];if(!t)return FW();for(let l=0;le.split(VW),kb={},CDe=e=>{const t=e.includes(VW)?e:wDe(e);return EDe(t)},WW=()=>e=>{const t=`_${e}`;return Oa(e)?[]:(kb[t]||(kb[t]=CDe(e)),kb[t])},IDe=[173],$Q=e=>e.attributes.fontSize||12,jDe=(e,t,r)=>{const n=[...t,r];for(let i=0;i({string:e,runs:t})=>{let r=null,n=null,i=0,s=0;const o=[];for(let l=0;l{var e=import.meta.url;return(function(t){t=t||{};var r;r||(r=typeof t<"u"?t:{});var n,i;r.ready=new Promise(function(me,pe){n=me,i=pe});var s=Object.assign({},r),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),e&&(o=e),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var l=r.print||console.log.bind(console),c=r.printErr||console.warn.bind(console);Object.assign(r,s),s=null;var d;r.wasmBinary&&(d=r.wasmBinary),r.noExitRuntime,typeof WebAssembly!="object"&&X("no native wasm support detected");var u,h=!1;function p(me,pe,Qe){Qe=pe+Qe;for(var $e="";!(pe>=Qe);){var nt=me[pe++];if(!nt)break;if(nt&128){var vt=me[pe++]&63;if((nt&224)==192)$e+=String.fromCharCode((nt&31)<<6|vt);else{var Mt=me[pe++]&63;nt=(nt&240)==224?(nt&15)<<12|vt<<6|Mt:(nt&7)<<18|vt<<12|Mt<<6|me[pe++]&63,65536>nt?$e+=String.fromCharCode(nt):(nt-=65536,$e+=String.fromCharCode(55296|nt>>10,56320|nt&1023))}}else $e+=String.fromCharCode(nt)}return $e}var A,y,v,w,j,E,S,_,C;function Q(){var me=u.buffer;A=me,r.HEAP8=y=new Int8Array(me),r.HEAP16=w=new Int16Array(me),r.HEAP32=E=new Int32Array(me),r.HEAPU8=v=new Uint8Array(me),r.HEAPU16=j=new Uint16Array(me),r.HEAPU32=S=new Uint32Array(me),r.HEAPF32=_=new Float32Array(me),r.HEAPF64=C=new Float64Array(me)}var R,T=[],M=[],O=[];function $(){var me=r.preRun.shift();T.unshift(me)}var P=0,L=null;function X(me){throw r.onAbort&&r.onAbort(me),me="Aborted("+me+")",c(me),h=!0,me=new WebAssembly.RuntimeError(me+". Build with -sASSERTIONS for more info."),i(me),me}function W(me){return me.startsWith("data:application/octet-stream;base64,")}var G;if(G="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMkAEEBIQQgA0EIaiAAQfwAaiIFIAAgAUEBdGpB8gBqIgEvAQAQHwJAAkAgAyoCCCIHIAIqAgAiBlwEQCAHIAdbBEAgAi0ABCECDAILIAYgBlwhBAsgAi0ABCECIARFDQAgAy0ADCACQf8BcUYNAQsgBSABIAYgAhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgA0EQaiQACwoAIABBMGtBCkkLBQAQAgALBAAgAAsUACAABEAgACAAKAIAKAIEEQAACwsrAQF/IAAoAgwiAQRAIAEQIwsgACgCACIBBEAgACABNgIEIAEQIwsgABAjC4EEAQN/IwBBEGsiAyQAIABCADcCBCAAQcEgOwAVIABCADcCDCAAQoCAgICAgIACNwIYIAAgAC0AF0HgAXE6ABcgACAALQAAQeABcUEFcjoAACAAIAAtABRBgAFxOgAUIABBIGpBAEHOABAqGiAAQgA3AXIgAEGEgBA2AW4gAEEANgF6IABCADcCgAEgAEIANwKIASAAQgA3ApABIABCADcCoAEgAEKAgICAgICA4P8ANwKYASAAQQA6AKgBIABBrAFqQQBBxAEQKhogAEHwAmohBCAAQbABaiECA0AgAkKAgID8i4CAwL9/NwIQIAJCgYCAgBA3AgggAkKAgID8i4CAwL9/NwIAIAJBGGoiAiAERw0ACyAAQoCAgPyLgIDAv383AvACIABCgICA/IuAgMC/fzcCgAMgAEKBgICAEDcC+AIgAEKAgID+h4CA4P8ANwKUAyAAQoCAgP6HgIDg/wA3AowDIABBiANqIgIgAi0AAEH4AXE6AAAgAEGcA2pBAEHYABAqGiAAQQA6AIQEIABBgICA/gc2AoAEIABBADoA/AMgAEGAgID+BzYC+AMgACABNgL0AyABBEAgAS0ACEEBcQRAIAAgAC0AFEHzAXFBCHI6ABQgACAALwAVQfD/A3FBBHI7ABULIANBEGokACAADwsgA0GiGjYCACADEHIQJAALMwAgACABQQJ0QfwlaigCAEECdGoqApQDIABBFGoiACABQQEgAhAiIAAgAUEBIAIQIZKSC44DAQp/IwBB0AJrIgEkACAAKALoAyIDIAAoAuwDIgVHBEAgAUGMAmohBiABQeABaiEHIAFBIGohCCABQRxqIQkgAUEQaiEEA0AgAygCACICLQAXQRB0QYCAMHFBgIAgRgRAIAFBCGpBAEHEAhAqGiABQYCAgP4HNgIMIARBADoACCAEQgA3AgAgCUEAQcQBECoaIAghAANAIABCgICA/IuAgMC/fzcCECAAQoGAgIAQNwIIIABCgICA/IuAgMC/fzcCACAAQRhqIgAgB0cNAAsgAUKAgID8i4CAwL9/NwPwASABQoGAgIAQNwPoASABQoCAgPyLgIDAv383A+ABIAFCgICA/oeAgOD/ADcChAIgAUKAgID+h4CA4P8ANwL8ASABIAEtAPgBQfgBcToA+AEgBkEAQcAAECoaIAJBmAFqIAFBCGpBxAIQKxogAkIANwKMAyACIAItAAAiAEEBciIKQfsBcSAKIABBBHEbOgAAIAIQTyACEF4LIANBBGoiAyAFRw0ACwsgAUHQAmokAAtMAQF/QQEhAQJAIAAtAB5BB3ENACAALQAiQQdxDQAgAC0ALkEHcQ0AIAAtACpBB3ENACAALQAmQQdxDQAgAC0AKEEHcUEARyEBCyABC3YCAX8BfSMAQRBrIgQkACAEQQhqIAAgAUECdEHcJWooAgAgAhBQQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAACXQwAAAAAgBSAFWxsLogQCBn8CfgJ/QQghBAJAAkAgAEFHSw0AA0BBCCAEIARBCE0bIQRB6DopAwAiBwJ/QQggAEEDakF8cSAAQQhNGyIAQf8ATQRAIABBA3ZBAWsMAQsgAEEdIABnIgFrdkEEcyABQQJ0a0HuAGogAEH/H00NABpBPyAAQR4gAWt2QQJzIAFBAXRrQccAaiIBIAFBP08bCyIDrYgiCFBFBEADQCAIIAh6IgiIIQcCfiADIAinaiIDQQR0IgJB6DJqKAIAIgEgAkHgMmoiBkcEQCABIAQgABBjIgUNBSABKAIEIgUgASgCCDYCCCABKAIIIAU2AgQgASAGNgIIIAEgAkHkMmoiAigCADYCBCACIAE2AgAgASgCBCABNgIIIANBAWohAyAHQgGIDAELQeg6Qeg6KQMAQn4gA62JgzcDACAHQgGFCyIIQgBSDQALQeg6KQMAIQcLAkAgB1BFBEBBPyAHeadrIgZBBHQiAkHoMmooAgAhAQJAIAdCgICAgARUDQBB4wAhAyABIAJB4DJqIgJGDQADQCADRQ0BIAEgBCAAEGMiBQ0FIANBAWshAyABKAIIIgEgAkcNAAsgAiEBCyAAQTBqEGQNASABRQ0EIAEgBkEEdEHgMmoiAkYNBANAIAEgBCAAEGMiBQ0EIAEoAggiASACRw0ACwwECyAAQTBqEGRFDQMLQQAhBSAEIARBAWtxDQEgAEFHTQ0ACwsgBQwBC0EACwtwAgF/AX0jAEEQayIEJAAgBEEIaiAAIAFBAnRB7CVqKAIAIAIQKEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAIAUgBVsbC6ADAQN/IAEgAEEEaiIEakEBa0EAIAFrcSIFIAJqIAAgACgCACIBakEEa00EfyAAKAIEIgMgACgCCDYCCCAAKAIIIAM2AgQgBCAFRwRAIAAgAEEEaygCAEF+cWsiAyAFIARrIgQgAygCAGoiBTYCACAFQXxxIANqQQRrIAU2AgAgACAEaiIAIAEgBGsiATYCAAsCQCABIAJBGGpPBEAgACACakEIaiIDIAEgAmtBCGsiATYCACABQXxxIANqQQRrIAFBAXI2AgAgAwJ/IAMoAgBBCGsiAUH/AE0EQCABQQN2QQFrDAELIAFnIQQgAUEdIARrdkEEcyAEQQJ0a0HuAGogAUH/H00NABpBPyABQR4gBGt2QQJzIARBAXRrQccAaiIBIAFBP08bCyIBQQR0IgRB4DJqNgIEIAMgBEHoMmoiBCgCADYCCCAEIAM2AgAgAygCCCADNgIEQeg6Qeg6KQMAQgEgAa2GhDcDACAAIAJBCGoiATYCACABQXxxIABqQQRrIAE2AgAMAQsgACABakEEayABNgIACyAAQQRqBSADCwvmAwEFfwJ/QbAwKAIAIgEgAEEHakF4cSIDaiECAkAgA0EAIAEgAk8bDQAgAj8AQRB0SwRAIAIQFkUNAQtBsDAgAjYCACABDAELQfw7QTA2AgBBfwsiAkF/RwRAIAAgAmoiA0EQayIBQRA2AgwgAUEQNgIAAkACf0HgOigCACIABH8gACgCCAVBAAsgAkYEQCACIAJBBGsoAgBBfnFrIgRBBGsoAgAhBSAAIAM2AghBcCAEIAVBfnFrIgAgACgCAGpBBGstAABBAXFFDQEaIAAoAgQiAyAAKAIINgIIIAAoAgggAzYCBCAAIAEgAGsiATYCAAwCCyACQRA2AgwgAkEQNgIAIAIgAzYCCCACIAA2AgRB4DogAjYCAEEQCyACaiIAIAEgAGsiATYCAAsgAUF8cSAAakEEayABQQFyNgIAIAACfyAAKAIAQQhrIgFB/wBNBEAgAUEDdkEBawwBCyABQR0gAWciA2t2QQRzIANBAnRrQe4AaiABQf8fTQ0AGkE/IAFBHiADa3ZBAnMgA0EBdGtBxwBqIgEgAUE/TxsLIgFBBHQiA0HgMmo2AgQgACADQegyaiIDKAIANgIIIAMgADYCACAAKAIIIAA2AgRB6DpB6DopAwBCASABrYaENwMACyACQX9HC80BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQSBqIgEvAQAQHwJAAkAgAyoCCCIHIAIqAgAiBlwEQCAHIAdbBEAgAi0ABCECDAILIAYgBlwhBAsgAi0ABCECIARFDQAgAy0ADCACQf8BcUYNAQsgBSABIAYgAhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgA0EQaiQAC0ABAX8CQEGsOy0AAEEBcQRAQag7KAIAIQIMAQtBAUGAJxAMIQJBrDtBAToAAEGoOyACNgIACyACIAAgAUEAEBMLzQECA38CfSMAQRBrIgMkAEEBIQQgA0EIaiAAQfwAaiIFIAAgAUEBdGpBMmoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALDwAgASAAKAIAaiACOQMACw0AIAEgACgCAGorAwALCwAgAARAIAAQIwsLxwECBH8CfSMAQRBrIgIkACACQQhqIABB/ABqIgQgAEEeaiIFLwEAEB9BASEDAkACQCACKgIIIgcgASoCACIGXARAIAcgB1sEQCABLQAEIQEMAgsgBiAGXCEDCyABLQAEIQEgA0UNACACLQAMIAFB/wFxRg0BCyAEIAUgBiABEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyACQRBqJAALlgMCA34CfyAAvSICQjSIp0H/D3EiBEH/D0YEQCAARAAAAAAAAPA/oiIAIACjDwsgAkIBhiIBQoCAgICAgIDw/wBYBEAgAEQAAAAAAAAAAKIgACABQoCAgICAgIDw/wBRGw8LAn4gBEUEQEEAIQQgAkIMhiIBQgBZBEADQCAEQQFrIQQgAUIBhiIBQgBZDQALCyACQQEgBGuthgwBCyACQv////////8Hg0KAgICAgICACIQLIQEgBEH/B0oEQANAAkAgAUKAgICAgICACH0iA0IAUw0AIAMiAUIAUg0AIABEAAAAAAAAAACiDwsgAUIBhiEBIARBAWsiBEH/B0oNAAtB/wchBAsCQCABQoCAgICAgIAIfSIDQgBTDQAgAyIBQgBSDQAgAEQAAAAAAAAAAKIPCyABQv////////8HWARAA0AgBEEBayEEIAFCgICAgICAgARUIQUgAUIBhiEBIAUNAAsLIAJCgICAgICAgICAf4MgAUKAgICAgICACH0gBK1CNIaEIAFBASAEa62IIARBAEobhL8LiwEBA38DQCAAQQR0IgFB5DJqIAFB4DJqIgI2AgAgAUHoMmogAjYCACAAQQFqIgBBwABHDQALQTAQZBpBmDtBBjYCAEGcO0EANgIAEJwBQZw7Qcg7KAIANgIAQcg7QZg7NgIAQcw7QcMBNgIAQdA7QQA2AgAQjwFB0DtByDsoAgA2AgBByDtBzDs2AgALjwEBAn8jAEEQayIEJAACfUMAAAAAIAAvABVBgOAAcUUNABogBEEIaiAAQRRqIgBBASACQQJGQQF0IAFB/gFxQQJHGyIFIAIQNgJAIAQtAAxFDQAgBEEIaiAAIAUgAhA2IAQtAAxBA0YNACAAIAEgAiADEIEBDAELIAAgASACIAMQgAGMCyEDIARBEGokACADC4QBAQJ/AkACQCAAKALoAyICIAAoAuwDIgNGDQADQCACKAIAIAFGDQEgAkEEaiICIANHDQALDAELIAIgA0YNACABLQAXQRB0QYCAMHFBgIAgRgRAIAAgACgC4ANBAWs2AuADCyACIAJBBGoiASADIAFrEDMaIAAgA0EEazYC7ANBAQ8LQQALCwBByDEgACABEEkLPAAgAEUEQCACQQVHQQAgAhtFBEBBuDAgAyAEEEkaDwsgAyAEEHAaDwsgACABIAIgAyAEIAAoAgQRDQAaCyYBAX8jAEEQayIBJAAgASAANgIMQbgwQdglIAAQSRogAUEQaiQAC4cDAwN/BXwCfSAAKgKgA7siBiACoCECIAAqApwDuyIHIAGgIQggACgC9AMqAhgiC0MAAAAAXARAIAAqApADuyEJIAAqAowDIQwgACAHIAu7IgFBACAALQAAQRBxIgNBBHYiBBA0OAKcAyAAIAYgAUEAIAQQNDgCoAMgASAMuyIHohBsIgYgBmIiBEUgBplELUMc6+I2Gj9jcUUEQCAEIAZEAAAAAAAA8L+gmUQtQxzr4jYaP2NFciEFCyACIAmgIQogCCAHoCEHAn8gASAJohBsIgYgBmIiBEUEQEEAIAaZRC1DHOviNho/Yw0BGgsgBCAGRAAAAAAAAPC/oJlELUMc6+I2Gj9jRXILIQQgACAHIAEgA0EARyIDIAVxIAMgBUEBc3EQNCAIIAFBACADEDSTOAKMAyAAIAogASADIARxIAMgBEEBc3EQNCACIAFBACADEDSTOAKQAwsgACgC6AMiAyAAKALsAyIARwRAA0AgAygCACAIIAIQcyADQQRqIgMgAEcNAAsLC1UBAX0gAEEUaiIAIAEgAkECSSICIAQgBRA1IQYgACABIAIgBCAFEC0iBUMAAAAAYCADIAVecQR9IAUFIAZDAAAAAGBFBEAgAw8LIAYgAyADIAZdGwsLeAEBfwJAIAAoAgAiAgRAA0AgAUUNAiACIAEoAgQ2AgQgAiABKAIINgIIIAEoAgAhASAAKAIAIQAgAigCACICDQALCyAAIAEQPA8LAkAgAEUNACAAKAIAIgFFDQAgAEEANgIAA0AgASgCACEAIAEQIyAAIgENAAsLC5kCAgZ/AX0gAEEUaiEHQQMhBCAALQAUQQJ2QQNxIQUCQAJ/AkAgAUEBIAAoAuQDGyIIQQJGBEACQCAFQQJrDgIEAAILQQIhBAwDC0ECIQRBACAFQQFLDQEaCyAECyEGIAUhBAsgACAEIAggAyACIARBAkkiBRsQbiEKIAAgBiAIIAIgAyAFGxBuIQMgAEGcA2oiAEEBIAFBAkZBAXQiCCAFG0ECdGogCiAHIAQgASACECKSOAIAIABBAyABQQJHQQF0IgkgBRtBAnRqIAogByAEIAEgAhAhkjgCACAAIAhBASAGQQF2IgQbQQJ0aiADIAcgBiABIAIQIpI4AgAgACAJQQMgBBtBAnRqIAMgByAGIAEgAhAhkjgCAAvUAgEDfyMAQdACayIBJAAgAUEIakEAQcQCECoaIAFBADoAGCABQgA3AxAgAUGAgID+BzYCDCABQRxqQQBBxAEQKhogAUHgAWohAyABQSBqIQIDQCACQoCAgPyLgIDAv383AhAgAkKBgICAEDcCCCACQoCAgPyLgIDAv383AgAgAkEYaiICIANHDQALIAFCgICA/IuAgMC/fzcD8AEgAUKBgICAEDcD6AEgAUKAgID8i4CAwL9/NwPgASABQoCAgP6HgIDg/wA3AoQCIAFCgICA/oeAgOD/ADcC/AEgASABLQD4AUH4AXE6APgBIAFBjAJqQQBBwAAQKhogAEGYAWogAUEIakHEAhArGiAAQgA3AowDIAAgAC0AAEEBcjoAACAAEE8gACgC6AMiAiAAKALsAyIARwRAA0AgAigCABB3IAJBBGoiAiAARw0ACwsgAUHQAmokAAuuAgIKfwJ9IwBBIGsiASQAIAFBgAI7AB4gAEHuAGohByAAQfgDaiEFIABB8gBqIQggAEH2AGohCSAAQfwAaiEDQQAhAANAIAFBEGogAyAJIAFBHmogBGotAAAiAkEBdCIEaiIGLwEAEB8CQAJAIAEtABRFDQAgAUEIaiADIAYvAQAQHyABIAMgBCAIai8BABAfIAEtAAwgAS0ABEcNAAJAIAEqAggiDCAMXCIKIAEqAgAiCyALXHJFBEAgDCALk4tDF7fROF0NAQwCCyAKRSALIAtbcg0BCyABQRBqIAMgBi8BABAfDAELIAFBEGogAyAEIAdqLwEAEB8LIAUgAkEDdGoiAiABLQAUOgAEIAIgASgCEDYCAEEBIQQgACECQQEhACACRQ0ACyABQSBqJAALMgACf0EAIAAvABVBgOAAcUGAwABGDQAaQQEgABA7QwAAAABcDQAaIAAQQEMAAAAAXAsLewEBfSADIASTIgMgA1sEfUMAAAAAIABBFGoiACABIAIgBSAGEDUiByAEkyAHIAdcGyIHQ///f38gACABIAIgBSAGEC0iBSAEkyAFIAVcGyIEIAMgAyAEXhsiAyADIAddGyAHIAMgAyADXBsgAyADWyAHIAdbcRsFIAMLC98FAwR/BX0BfCAJQwAAAABdIAhDAAAAAF1yBH8gDQUgBSESIAEhEyADIRQgByERIAwqAhgiFUMAAAAAXARAIAG7IBW7IhZBAEEAEDQhEyADuyAWQQBBABA0IRQgBbsgFkEAQQAQNCESIAe7IBZBAEEAEDQhEQsCf0EAIAAgBEcNABogEiATk4tDF7fROF0gEyATXCINIBIgElxyRQ0AGkEAIBIgElsNABogDQshDAJAIAIgBkcNACAUIBRcIg0gESARXHJFBEAgESAUk4tDF7fROF0hDwwBCyARIBFbDQAgDSEPC0EBIQ5BASENAkAgDA0AIAEgCpMhAQJAIABFBEAgASABXCIAIAggCFxyRQRAQQAhDCABIAiTi0MXt9E4XUUNAgwDC0EAIQwgCCAIWw0BIAANAgwBCyAAQQJGIQwgAEECRw0AIARBAUcNACABIAhgDQECQCAIIAhcIgAgASABXHJFBEAgASAIk4tDF7fROF1FDQEMAwtBACENIAEgAVsNAkEBIQ0gAA0CC0EAIQ0MAQtBACENIAggCFwiACABIAVdRXINACAMRSABIAFcIhAgBSAFXHIgBEECR3JyDQBBASENIAEgCGANAEEAIQ0gACAQcg0AIAEgCJOLQxe30ThdIQ0LAkAgDw0AIAMgC5MhAQJAAkAgAkUEQCABIAFcIgIgCSAJXHJFBEBBACEAIAEgCZOLQxe30ThdRQ0CDAQLQQAhACAJIAlbDQEgAg0DDAELIAJBAkYhACACQQJHIAZBAUdyDQAgASAJYARADAMLIAkgCVwiACABIAFcckUEQCABIAmTi0MXt9E4XUUNAgwDC0EAIQ4gASABWw0CQQEhDiAADQIMAQsgCSAJXCICIAEgB11Fcg0AIABFIAEgAVwiBCAHIAdcciAGQQJHcnINACABIAlgDQFBACEOIAIgBHINASABIAmTi0MXt9E4XSEODAELQQAhDgsgDSAOcQsL4wEBA38jAEEQayIBJAACQAJAIAAtABRBCHFFDQBBASEDIAAvABVB8AFxQdAARg0AIAEgABAyIAEoAgQhAAJAIAEoAgAiAkUEQEEAIQMgAEUNAQsDQCACKALsAyACKALoAyICa0ECdSAATQ0DIAIgAEECdGooAgAiAC8AFSAALQAXQRB0ciIAQYDgAHFBgMAARyAAQYAecUGACkZxIgMNASABEC4gASgCBCIAIAEoAgAiAnINAAsLIAEoAggiAEUNAANAIAAoAgAhAiAAECMgAiIADQALCyABQRBqJAAgAw8LEAIAC7IBAQR/AkACQCAAKAIEIgMgACgCACIEKALsAyAEKALoAyIBa0ECdUkEQCABIANBAnRqIQIDQCACKAIAIgEtABdBEHRBgIAwcUGAgCBHDQMgASgC7AMgASgC6ANGDQJBDBAeIgIgBDYCBCACIAM2AgggAiAAKAIINgIAQQAhAyAAQQA2AgQgACABNgIAIAAgAjYCCCABIQQgASgC6AMiAiABKALsA0cNAAsLEAIACyAAEC4LC4wQAgx/B30jAEEgayINJAAgDUEIaiABEDIgDSgCCCIOIA0oAgwiDHIEQCADQQEgAxshFSAAQRRqIRQgBUEBaiEWA0ACQAJAAn8CQAJAAkACQAJAIAwgDigC7AMgDigC6AMiDmtBAnVJBEAgDiAMQQJ0aigCACILLwAVIAstABdBEHRyIgxBgIAwcUGAgBBGDQgCQAJAIAxBDHZBA3EOAwEKAAoLIAkhFyAKIRogASgC9AMtABRBBHFFBEAgACoClAMgFEECQQEQMCAUQQJBARAvkpMhFyAAKgKYAyAUQQBBARAwIBRBAEEBEC+SkyEaCyALQRRqIQ8gAS0AFEECdkEDcSEQAkACfwJAIANBAkciE0UEQEEAIQ5BAyEMAkAgEEECaw4CBAACC0ECIQwMAwtBAiEMQQAgEEEBSw0BGgsgDAshDiAQIQwLIA9BAkEBIBcQIiAPQQJBASAXECGSIR0gD0EAQQEgFxAiIRwgD0EAQQEgFxAhIRsgCyoC+AMhGAJAAkACQAJAIAstAPwDQQFrDgIBAAILIBggF5RDCtcjPJQhGAsgGEMAAAAAYEUNACAdIAsgA0EAIBcgFxAxkiEYDAELIA1BGGogDyALQTJqIhAgAxBFQwAAwH8hGCANLQAcRQ0AIA1BGGogDyAQIAMQRCANLQAcRQ0AIA1BGGogDyAQIAMQRSANLQAcQQNGDQAgDUEYaiAPIBAgAxBEIA0tABxBA0YNACALQQIgAyAAKgKUAyAUQQIgAxBLIBRBAiADEFKSkyAPQQIgAyAXEFEgD0ECIAMgFxCDAZKTIBcgFxAlIRgLIBwgG5IhHCALKgKABCEZAkACQAJAIAstAIQEQQFrDgIBAAILIBkgGpRDCtcjPJQhGQsgGUMAAAAAYEUNACAcIAsgA0EBIBogFxAxkiEZDAMLIA1BGGogDyALQTJqIhAQQwJAIA0tABxFDQAgDUEYaiAPIBAQQiANLQAcRQ0AIA1BGGogDyAQEEMgDS0AHEEDRg0AIA1BGGogDyAQEEIgDS0AHEEDRg0AIAtBACADIAAqApgDIBRBACADEEsgFEEAIAMQUpKTIA9BACADIBoQUSAPQQAgAyAaEIMBkpMgGiAXECUhGQwDC0MAAMB/IRkgGCAYXA0GIAtB/ABqIhAgC0H6AGoiEi8BABAgIhsgG1sNAwwFCyALLQAAQQhxDQggCxBPIAAgCyACIAstABRBA3EiDCAVIAwbIAQgFiAGIAsqApwDIAeSIAsqAqADIAiSIAkgChB+IBFyIQxBACERIAxBAXFFDQhBASERIAsgCy0AAEEBcjoAAAwICxACAAsgGCAYXCAZIBlcRg0BIAtB/ABqIhAgC0H6AGoiEi8BABAgIhsgG1wNASAYIBhcBEAgGSAckyAQIAsvAXoQIJQgHZIhGAwCCyAZIBlbDQELIBwgGCAdkyAQIBIvAQAQIJWSIRkLIBggGFwNASAZIBlbDQMLQQAMAQtBAQshEiALIBcgGCACQQFHIAxBAklxIBdDAAAAAF5xIBJxIhAbIBkgA0ECIBIgEBsgGSAZXCAXIBpBAEEGIAQgBSAGED0aIAsqApQDIA9BAkEBIBcQIiAPQQJBASAXECGSkiEYIAsqApgDIA9BAEEBIBcQIiAPQQBBASAXECGSkiEZC0EBIRAgCyAYIBkgA0EAQQAgFyAaQQFBASAEIAUgBhA9GiAAIAEgCyADIAxBASAXIBoQggEgACABIAsgAyAOQQAgFyAaEIIBIBFBAXFFBEAgCy0AAEEBcSEQCyABLQAUIhJBAnZBA3EhDAJAAn8CQAJAAkACQAJAAkACQAJAAkACfwJAIBNFBEBBACERQQMhDiAMQQJrDgIDDQELQQIhDkEAIAxBAUsNARoLIA4LIREgEkEEcUUNBCASQQhxRQ0BIAwhDgsgASEMIA8QXw0BDAILAkAgCy0ANEEHcQ0AIAstADhBB3ENACALLQBCQQdxDQAgDCEOIAEhDCALQUBrLwEAQQdxRQ0CDAELIAwhDgsgACEMCwJ/AkACQAJAIA5BAWsOAwABAgULIAtBmANqIQ4gC0GoA2ohE0EBIRIgDEGYA2oMAgsgC0GUA2ohDiALQZwDaiETQQIhEiAMQZQDagwBCyALQZQDaiEOIAtBpANqIRNBACESIAxBlANqCyEMIAsgEkECdGogDCoCACAOKgIAkyATKgIAkzgCnAMLIBFBAXFFDQUCQAJAIBFBAnEEQCABIQwgDxBfDQEMAgsgCy0ANEEHcQ0AIAstADhBB3ENACALLQBCQQdxDQAgASEMIAtBQGsvAQBBB3FFDQELIAAhDAsgEUEBaw4DAQIDAAsQJAALIAtBmANqIREgC0GoA2ohDkEBIRMgDEGYA2oMAgsgC0GUA2ohESALQZwDaiEOQQIhEyAMQZQDagwBCyALQZQDaiERIAtBpANqIQ5BACETIAxBlANqCyEMIAsgE0ECdGogDCoCACARKgIAkyAOKgIAkzgCnAMLIAsqAqADIRsgCyoCnAMgB0MAAAAAIA8QXxuTIRcCfQJAIAstADRBB3ENACALLQA4QQdxDQAgCy0AQkEHcQ0AIAtBQGsvAQBBB3ENAEMAAAAADAELIAgLIRogCyAXOAKcAyALIBsgGpM4AqADIBAhEQsgDUEIahAuIA0oAgwiDCANKAIIIg5yDQALCyANKAIQIgwEQANAIAwoAgAhACAMECMgACIMDQALCyANQSBqJAAgEUEBcQt2AgF/AX0jAEEQayIEJAAgBEEIaiAAIAFBAnRB7CVqKAIAIAIQUEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAl0MAAAAAIAUgBVsbC3gCAX8BfSMAQRBrIgQkACAEQQhqIABBAyACQQJHQQF0IAFB/gFxQQJHGyACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt4AgF/AX0jAEEQayIEJAAgBEEIaiAAQQEgAkECRkEBdCABQf4BcUECRxsgAhA2QwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLoA0BBH8jAEEQayIJJAAgCUEIaiACQRRqIgggA0ECRkEBdEEBIARB/gFxQQJGIgobIgsgAxA2IAYgByAKGyEHAkACQAJAAkACQAJAIAktAAxFDQAgCUEIaiAIIAsgAxA2IAktAAxBA0YNACAIIAQgAyAHEIEBIABBFGogBCADEDCSIAggBCADIAcQIpIhBkEBIQMCQAJ/AkACQAJAAkAgBA4EAgMBAAcLQQIhAwwBC0EAIQMLIAMgC0YNAgJAAkAgBA4EAgIAAQYLIABBlANqIQNBAAwCCyAAQZQDaiEDQQAMAQsgAEGYA2ohA0EBCyEAIAMqAgAgAiAAQQJ0aioClAOTIAaTIQYLIAIgBEECdEHcJWooAgBBAnRqIAY4ApwDDAULIAlBCGogCCADQQJHQQF0QQMgChsiCiADEDYCQCAJLQAMRQ0AIAlBCGogCCAKIAMQNiAJLQAMQQNGDQACfwJAAkACQCAEDgQCAgABBQsgAEGUA2ohBUEADAILIABBlANqIQVBAAwBCyAAQZgDaiEFQQELIQEgBSoCACACQZQDaiIFIAFBAnRqKgIAkyAAQRRqIAQgAxAvkyAIIAQgAyAHECGTIAggBCADIAcQgAGTIQZBASEDAkACfwJAAkACQAJAIAQOBAIDAQAHC0ECIQMMAQtBACEDCyADIAtGDQICQAJAIAQOBAICAAEGCyAAQZQDaiEDQQAMAgsgAEGUA2ohA0EADAELIABBmANqIQNBAQshACADKgIAIAUgAEECdGoqAgCTIAaTIQYLIAIgBEECdEHcJWooAgBBAnRqIAY4ApwDDAULAkACQAJAIAUEQCABLQAUQQR2QQdxIgBBBUsNCEEBIAB0IgBBMnENASAAQQlxBEAgBEECdEHcJWooAgAhACAIIAQgAyAGEEEgASAAQQJ0IgBqIgEqArwDkiEGIAAgAmogAigC9AMtABRBAnEEfSAGBSAGIAEqAswDkgs4ApwDDAkLIAEgBEECdEHsJWooAgBBAnRqIgAqArwDIAggBCADIAYQYpIhBiACKAL0Ay0AFEECcUUEQCAGIAAqAswDkiEGCwJAAkACQAJAIAQOBAEBAgAICyABKgKUAyACKgKUA5MhB0ECIQMMAgsgASoCmAMgAioCmAOTIQdBASEDAkAgBA4CAgAHC0EDIQMMAQsgASoClAMgAioClAOTIQdBACEDCyACIANBAnRqIAcgBpM4ApwDDAgLIAIvABZBD3EiBUUEQCABLQAVQQR2IQULIAVBBUYEQCABLQAUQQhxRQ0CCyABLwAVQYCAA3FBgIACRgRAIAVBAmsOAgEHAwsgBUEISw0HQQEgBXRB8wNxDQYgBUECRw0CC0EAIQACfQJ/AkACQAJAAkACfwJAAkACQCAEDgQCAgABBAsgASoClAMhB0ECIQAgAUG8A2oMAgsgASoClAMhByABQcQDagwBCyABKgKYAyEHAkACQCAEDgIAAQMLQQMhACABQcADagwBC0EBIQAgAUHIA2oLIQUgByAFKgIAkyABQbwDaiIIIABBAnRqKgIAkyIHIAIoAvQDLQAUQQJxDQUaAkAgBA4EAAIDBAELQQMhACABQdADagwECxAkAAtBASEAIAFB2ANqDAILQQIhACABQcwDagwBC0EAIQAgAUHUA2oLIQUgByAFKgIAkyABIABBAnRqKgLMA5MLIAIgBEECdCIFQfwlaigCAEECdGoqApQDIAJBFGoiACAEQQEgBhAiIAAgBEEBIAYQIZKSk0MAAAA/lCAIIAVB3CVqKAIAIgVBAnRqKgIAkiAAIAQgAyAGEEGSIQYgAiAFQQJ0aiACKAL0Ay0AFEECcQR9IAYFIAYgASAFQQJ0aioCzAOSCzgCnAMMBgsgAS8AFUGAgANxQYCAAkcNBAsgASAEQQJ0QewlaigCAEECdGoiACoCvAMgCCAEIAMgBhBikiEGIAIoAvQDLQAUQQJxRQRAIAYgACoCzAOSIQYLAkACQCAEDgQBAQMAAgsgASoClAMgAioClAOTIQdBAiEDDAMLIAEqApgDIAIqApgDkyEHQQEhAwJAIAQOAgMAAQtBAyEDDAILECQACyABKgKUAyACKgKUA5MhB0EAIQMLIAIgA0ECdGogByAGkzgCnAMMAQsgBEECdEHcJWooAgAhACAIIAQgAyAGEEEgASAAQQJ0IgBqIgEqArwDkiEGIAAgAmogAigC9AMtABRBAnEEfSAGBSAGIAEqAswDkgs4ApwDCyAJQRBqJAALcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QewlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAFNwMIIAgpAwhCBIYgCCkDACIDQjyIhCECIAgpAxAgCCkDGIRCAFKtIANC//////////8Pg4QiA0KBgICAgICAgAhaBEAgAkIBfCECDAELIANCgICAgICAgIAIUg0AIAJCAYMgAnwhAgsgCEEgaiQAIAkgAiAGQoCAgICAgICAgH+DhL85AwALmRgDEn8BfAN+IwBBsARrIgwkACAMQQA2AiwCQCABvSIZQgBTBEBBASERQZkJIRMgAZoiAb0hGQwBCyAEQYAQcQRAQQEhEUGcCSETDAELQZ8JQZoJIARBAXEiERshEyARRSEVCwJAIBlCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiARQQNqIgMgBEH//3txECkgACATIBEQJiAAQe0VQdweIAVBIHEiBRtB4RpB4B4gBRsgASABYhtBAxAmIABBICACIAMgBEGAwABzECkgAyACIAIgA0gbIQoMAQsgDEEQaiESAkACfwJAIAEgDEEsahCMASIBIAGgIgFEAAAAAAAAAABiBEAgDCAMKAIsIgZBAWs2AiwgBUEgciIOQeEARw0BDAMLIAVBIHIiDkHhAEYNAiAMKAIsIQlBBiADIANBAEgbDAELIAwgBkEdayIJNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAxBMGpBoAJBACAJQQBOG2oiDSEHA0AgBwJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgM2AgAgB0EEaiEHIAEgA7ihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIAlBAEwEQCAJIQMgByEGIA0hCAwBCyANIQggCSEDA0BBHSADIANBHU4bIQMCQCAHQQRrIgYgCEkNACADrSEaQgAhGQNAIAYgGUL/////D4MgBjUCACAahnwiG0KAlOvcA4AiGUKA7JSjDH4gG3w+AgAgBkEEayIGIAhPDQALIBmnIgZFDQAgCEEEayIIIAY2AgALA0AgCCAHIgZJBEAgBkEEayIHKAIARQ0BCwsgDCAMKAIsIANrIgM2AiwgBiEHIANBAEoNAAsLIANBAEgEQCALQRlqQQluQQFqIQ8gDkHmAEYhEANAQQlBACADayIDIANBCU4bIQoCQCAGIAhNBEAgCCgCACEHDAELQYCU69wDIAp2IRRBfyAKdEF/cyEWQQAhAyAIIQcDQCAHIAMgBygCACIXIAp2ajYCACAWIBdxIBRsIQMgB0EEaiIHIAZJDQALIAgoAgAhByADRQ0AIAYgAzYCACAGQQRqIQYLIAwgDCgCLCAKaiIDNgIsIA0gCCAHRUECdGoiCCAQGyIHIA9BAnRqIAYgBiAHa0ECdSAPShshBiADQQBIDQALC0EAIQMCQCAGIAhNDQAgDSAIa0ECdUEJbCEDQQohByAIKAIAIgpBCkkNAANAIANBAWohAyAKIAdBCmwiB08NAAsLIAsgA0EAIA5B5gBHG2sgDkHnAEYgC0EAR3FrIgcgBiANa0ECdUEJbEEJa0gEQEEEQaQCIAlBAEgbIAxqIAdBgMgAaiIKQQltIg9BAnRqQdAfayEJQQohByAPQXdsIApqIgpBB0wEQANAIAdBCmwhByAKQQFqIgpBCEcNAAsLAkAgCSgCACIQIBAgB24iDyAHbCIKRiAJQQRqIhQgBkZxDQAgECAKayEQAkAgD0EBcUUEQEQAAAAAAABAQyEBIAdBgJTr3ANHIAggCU9yDQEgCUEEay0AAEEBcUUNAQtEAQAAAAAAQEMhAQtEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gBiAURhtEAAAAAAAA+D8gECAHQQF2IhRGGyAQIBRJGyEYAkAgFQ0AIBMtAABBLUcNACAYmiEYIAGaIQELIAkgCjYCACABIBigIAFhDQAgCSAHIApqIgM2AgAgA0GAlOvcA08EQANAIAlBADYCACAIIAlBBGsiCUsEQCAIQQRrIghBADYCAAsgCSAJKAIAQQFqIgM2AgAgA0H/k+vcA0sNAAsLIA0gCGtBAnVBCWwhA0EKIQcgCCgCACIKQQpJDQADQCADQQFqIQMgCiAHQQpsIgdPDQALCyAJQQRqIgcgBiAGIAdLGyEGCwNAIAYiByAITSIKRQRAIAdBBGsiBigCAEUNAQsLAkAgDkHnAEcEQCAEQQhxIQkMAQsgA0F/c0F/IAtBASALGyIGIANKIANBe0pxIgkbIAZqIQtBf0F+IAkbIAVqIQUgBEEIcSIJDQBBdyEGAkAgCg0AIAdBBGsoAgAiDkUNAEEKIQpBACEGIA5BCnANAANAIAYiCUEBaiEGIA4gCkEKbCIKcEUNAAsgCUF/cyEGCyAHIA1rQQJ1QQlsIQogBUFfcUHGAEYEQEEAIQkgCyAGIApqQQlrIgZBACAGQQBKGyIGIAYgC0obIQsMAQtBACEJIAsgAyAKaiAGakEJayIGQQAgBkEAShsiBiAGIAtKGyELC0F/IQogC0H9////B0H+////ByAJIAtyIhAbSg0BIAsgEEEAR2pBAWohDgJAIAVBX3EiFUHGAEYEQCADIA5B/////wdzSg0DIANBACADQQBKGyEGDAELIBIgAyADQR91IgZzIAZrrSASEEciBmtBAUwEQANAIAZBAWsiBkEwOgAAIBIgBmtBAkgNAAsLIAZBAmsiDyAFOgAAIAZBAWtBLUErIANBAEgbOgAAIBIgD2siBiAOQf////8Hc0oNAgsgBiAOaiIDIBFB/////wdzSg0BIABBICACIAMgEWoiBSAEECkgACATIBEQJiAAQTAgAiAFIARBgIAEcxApAkACQAJAIBVBxgBGBEAgDEEQaiIGQQhyIQMgBkEJciEJIA0gCCAIIA1LGyIKIQgDQCAINQIAIAkQRyEGAkAgCCAKRwRAIAYgDEEQak0NAQNAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsMAQsgBiAJRw0AIAxBMDoAGCADIQYLIAAgBiAJIAZrECYgCEEEaiIIIA1NDQALIBAEQCAAQYwlQQEQJgsgC0EATCAHIAhNcg0BA0AgCDUCACAJEEciBiAMQRBqSwRAA0AgBkEBayIGQTA6AAAgBiAMQRBqSw0ACwsgACAGQQkgCyALQQlOGxAmIAtBCWshBiAIQQRqIgggB08NAyALQQlKIQMgBiELIAMNAAsMAgsCQCALQQBIDQAgByAIQQRqIAcgCEsbIQogDEEQaiIGQQhyIQMgBkEJciENIAghBwNAIA0gBzUCACANEEciBkYEQCAMQTA6ABggAyEGCwJAIAcgCEcEQCAGIAxBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALDAELIAAgBkEBECYgBkEBaiEGIAkgC3JFDQAgAEGMJUEBECYLIAAgBiALIA0gBmsiBiAGIAtKGxAmIAsgBmshCyAHQQRqIgcgCk8NASALQQBODQALCyAAQTAgC0ESakESQQAQKSAAIA8gEiAPaxAmDAILIAshBgsgAEEwIAZBCWpBCUEAECkLIABBICACIAUgBEGAwABzECkgBSACIAIgBUgbIQoMAQsgEyAFQRp0QR91QQlxaiELAkAgA0ELSw0AQQwgA2shBkQAAAAAAAAwQCEYA0AgGEQAAAAAAAAwQKIhGCAGQQFrIgYNAAsgCy0AAEEtRgRAIBggAZogGKGgmiEBDAELIAEgGKAgGKEhAQsgEUECciEJIAVBIHEhCCASIAwoAiwiByAHQR91IgZzIAZrrSASEEciBkYEQCAMQTA6AA8gDEEPaiEGCyAGQQJrIg0gBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxIQYgDEEQaiEHA0AgByIFAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdBkC9qLQAAIAhyOgAAIAYgA0EASnJFIAEgB7ehRAAAAAAAADBAoiIBRAAAAAAAAAAAYXEgBUEBaiIHIAxBEGprQQFHckUEQCAFQS46AAEgBUECaiEHCyABRAAAAAAAAAAAYg0AC0F/IQpB/f///wcgCSASIA1rIgVqIgZrIANIDQAgAEEgIAIgBgJ/AkAgA0UNACAHIAxBEGprIghBAmsgA04NACADQQJqDAELIAcgDEEQamsiCAsiB2oiAyAEECkgACALIAkQJiAAQTAgAiADIARBgIAEcxApIAAgDEEQaiAIECYgAEEwIAcgCGtBAEEAECkgACANIAUQJiAAQSAgAiADIARBgMAAcxApIAMgAiACIANIGyEKCyAMQbAEaiQAIAoLRgEBfyAAKAI8IQMjAEEQayIAJAAgAyABpyABQiCIpyACQf8BcSAAQQhqEBQQjQEhAiAAKQMIIQEgAEEQaiQAQn8gASACGwu+AgEHfyMAQSBrIgMkACADIAAoAhwiBDYCECAAKAIUIQUgAyACNgIcIAMgATYCGCADIAUgBGsiATYCFCABIAJqIQVBAiEGIANBEGohAQJ/A0ACQAJAAkAgACgCPCABIAYgA0EMahAYEI0BRQRAIAUgAygCDCIHRg0BIAdBAE4NAgwDCyAFQX9HDQILIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwDCyABIAcgASgCBCIISyIJQQN0aiIEIAcgCEEAIAkbayIIIAQoAgBqNgIAIAFBDEEEIAkbaiIBIAEoAgAgCGs2AgAgBSAHayEFIAYgCWshBiAEIQEMAQsLIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBkECRg0AGiACIAEoAgRrCyEEIANBIGokACAECwkAIAAoAjwQGQsjAQF/Qcg7KAIAIgAEQANAIAAoAgARCQAgACgCBCIADQALCwu/AgEFfyMAQeAAayICJAAgAiAANgIAIwBBEGsiAyQAIAMgAjYCDCMAQZABayIAJAAgAEGgL0GQARArIgAgAkEQaiIFIgE2AiwgACABNgIUIABB/////wdBfiABayIEIARB/////wdPGyIENgIwIAAgASAEaiIBNgIcIAAgATYCECAAQbsTIAJBAEEAEIsBGiAEBEAgACgCFCIBIAEgACgCEEZrQQA6AAALIABBkAFqJAAgA0EQaiQAAkAgBSIAQQNxBEADQCAALQAARQ0CIABBAWoiAEEDcQ0ACwsDQCAAIgFBBGohACABKAIAIgNBf3MgA0GBgoQIa3FBgIGChHhxRQ0ACwNAIAEiAEEBaiEBIAAtAAANAAsLIAAgBWtBAWoiABBhIgEEfyABIAUgABArBUEACyEAIAJB4ABqJAAgAAvFAQICfwF8IwBBMGsiBiQAIAEoAgghBwJAQbQ7LQAAQQFxBEBBsDsoAgAhAQwBC0EFQZAnEAwhAUG0O0EBOgAAQbA7IAE2AgALIAYgBTYCKCAGIAQ4AiAgBiADNgIYIAYgAjgCEAJ/IAEgB0GXGyAGQQxqIAZBEGoQEiIIRAAAAAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCQARAjCwwAIAAoAghB6BwQZgsJACAAEJIBECMLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEwEB4gAkEwECshACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEdAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALERIACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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",!W(G)){var J=G;G=r.locateFile?r.locateFile(J,o):o+J}function q(){var me=G;try{if(me==G&&d)return new Uint8Array(d);if(W(me))try{var pe=$a(me.slice(37)),Qe=new Uint8Array(pe.length);for(me=0;me=pe?"_"+me:me}function ue(me,pe){return me=V(me),function(){return pe.apply(this,arguments)}}var de=[{},{value:void 0},{value:null},{value:!0},{value:!1}],xe=[];function _e(me){var pe=Error,Qe=ue(me,function($e){this.name=me,this.message=$e,$e=Error($e).stack,$e!==void 0&&(this.stack=this.toString()+` `+$e.replace(/^Error(:[^\n]*)?\n/,""))});return Qe.prototype=Object.create(pe.prototype),Qe.prototype.constructor=Qe,Qe.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},Qe}var Ce=void 0;function we(me){throw new Ce(me)}var ve=me=>(me||we("Cannot use deleted val. handle = "+me),de[me].value),Ne=me=>{switch(me){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var pe=xe.length?xe.pop():de.length;return de[pe]={ga:1,value:me},pe}},Ie=void 0,be=void 0;function Re(me){for(var pe="";v[me];)pe+=be[v[me++]];return pe}var Pe=[];function Ke(){for(;Pe.length;){var me=Pe.pop();me.M.$=!1,me.delete()}}var tt=void 0,pt={};function dt(me,pe){for(pe===void 0&&we("ptr should not be undefined");me.R;)pe=me.ba(pe),me=me.R;return pe}var Oe={};function Pt(me){me=to(me);var pe=Re(me);return oi(me),pe}function Kt(me,pe){var Qe=Oe[me];return Qe===void 0&&we(pe+" has unknown type "+Pt(me)),Qe}function gt(){}var Jt=!1;function Bt(me){--me.count.value,me.count.value===0&&(me.T?me.U.W(me.T):me.P.N.W(me.O))}function tr(me,pe,Qe){return pe===Qe?me:Qe.R===void 0?null:(me=tr(me,pe,Qe.R),me===null?null:Qe.na(me))}var sr={};function xt(me,pe){return pe=dt(me,pe),pt[pe]}var wt=void 0;function Lt(me){throw new wt(me)}function ir(me,pe){return pe.P&&pe.O||Lt("makeClassHandle requires ptr and ptrType"),!!pe.U!=!!pe.T&&Lt("Both smartPtrType and smartPtr must be specified"),pe.count={value:1},He(Object.create(me,{M:{value:pe}}))}function He(me){return typeof FinalizationRegistry>"u"?(He=pe=>pe,me):(Jt=new FinalizationRegistry(pe=>{Bt(pe.M)}),He=pe=>{var Qe=pe.M;return Qe.T&&Jt.register(pe,{M:Qe},pe),pe},gt=pe=>{Jt.unregister(pe)},He(me))}var ce={};function Le(me){for(;me.length;){var pe=me.pop();me.pop()(pe)}}function rt(me){return this.fromWireType(E[me>>2])}var ie={},ae={};function Ee(me,pe,Qe){function $e(Ot){Ot=Qe(Ot),Ot.length!==me.length&&Lt("Mismatched type converter count");for(var ur=0;ur{Oe.hasOwnProperty(Ot)?nt[ur]=Oe[Ot]:(vt.push(Ot),ie.hasOwnProperty(Ot)||(ie[Ot]=[]),ie[Ot].push(()=>{nt[ur]=Oe[Ot],++Mt,Mt===vt.length&&$e(nt)}))}),vt.length===0&&$e(nt)}function re(me){switch(me){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+me)}}function We(me,pe,Qe={}){if(!("argPackAdvance"in pe))throw new TypeError("registerType registeredInstance requires argPackAdvance");var $e=pe.name;if(me||we('type "'+$e+'" must have a positive integer typeid pointer'),Oe.hasOwnProperty(me)){if(Qe.ua)return;we("Cannot register type '"+$e+"' twice")}Oe[me]=pe,delete ae[me],ie.hasOwnProperty(me)&&(pe=ie[me],delete ie[me],pe.forEach(nt=>nt()))}function Tt(me){we(me.M.P.N.name+" instance already deleted")}function H(){}function ze(me,pe,Qe){if(me[pe].S===void 0){var $e=me[pe];me[pe]=function(){return me[pe].S.hasOwnProperty(arguments.length)||we("Function '"+Qe+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+me[pe].S+")!"),me[pe].S[arguments.length].apply(this,arguments)},me[pe].S=[],me[pe].S[$e.Z]=$e}}function Ze(me,pe){r.hasOwnProperty(me)?(we("Cannot register public name '"+me+"' twice"),ze(r,me,me),r.hasOwnProperty(void 0)&&we("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),r[me].S[void 0]=pe):r[me]=pe}function he(me,pe,Qe,$e,nt,vt,Mt,Ot){this.name=me,this.constructor=pe,this.X=Qe,this.W=$e,this.R=nt,this.pa=vt,this.ba=Mt,this.na=Ot,this.ja=[]}function De(me,pe,Qe){for(;pe!==Qe;)pe.ba||we("Expected null or instance of "+Qe.name+", got an instance of "+pe.name),me=pe.ba(me),pe=pe.R;return me}function qe(me,pe){return pe===null?(this.ea&&we("null is not a valid "+this.name),0):(pe.M||we('Cannot pass "'+Ji(pe)+'" as a '+this.name),pe.M.O||we("Cannot pass deleted object as a pointer of type "+this.name),De(pe.M.O,pe.M.P.N,this.N))}function dr(me,pe){if(pe===null){if(this.ea&&we("null is not a valid "+this.name),this.da){var Qe=this.fa();return me!==null&&me.push(this.W,Qe),Qe}return 0}if(pe.M||we('Cannot pass "'+Ji(pe)+'" as a '+this.name),pe.M.O||we("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&pe.M.P.ca&&we("Cannot convert argument of type "+(pe.M.U?pe.M.U.name:pe.M.P.name)+" to parameter type "+this.name),Qe=De(pe.M.O,pe.M.P.N,this.N),this.da)switch(pe.M.T===void 0&&we("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:pe.M.U===this?Qe=pe.M.T:we("Cannot convert argument of type "+(pe.M.U?pe.M.U.name:pe.M.P.name)+" to parameter type "+this.name);break;case 1:Qe=pe.M.T;break;case 2:if(pe.M.U===this)Qe=pe.M.T;else{var $e=pe.clone();Qe=this.xa(Qe,Ne(function(){$e.delete()})),me!==null&&me.push(this.W,Qe)}break;default:we("Unsupporting sharing policy")}return Qe}function Xt(me,pe){return pe===null?(this.ea&&we("null is not a valid "+this.name),0):(pe.M||we('Cannot pass "'+Ji(pe)+'" as a '+this.name),pe.M.O||we("Cannot pass deleted object as a pointer of type "+this.name),pe.M.P.ca&&we("Cannot convert argument of type "+pe.M.P.name+" to parameter type "+this.name),De(pe.M.O,pe.M.P.N,this.N))}function Te(me,pe,Qe,$e){this.name=me,this.N=pe,this.ea=Qe,this.ca=$e,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,pe.R!==void 0?this.toWireType=dr:(this.toWireType=$e?qe:Xt,this.V=null)}function zt(me,pe){r.hasOwnProperty(me)||Lt("Replacing nonexistant public symbol"),r[me]=pe,r[me].Z=void 0}function qr(me,pe){var Qe=[];return function(){if(Qe.length=0,Object.assign(Qe,arguments),me.includes("j")){var $e=r["dynCall_"+me];$e=Qe&&Qe.length?$e.apply(null,[pe].concat(Qe)):$e.call(null,pe)}else $e=R.get(pe).apply(null,Qe);return $e}}function kr(me,pe){me=Re(me);var Qe=me.includes("j")?qr(me,pe):R.get(pe);return typeof Qe!="function"&&we("unknown function pointer with signature "+me+": "+pe),Qe}var fr=void 0;function Ft(me,pe){function Qe(vt){nt[vt]||Oe[vt]||(ae[vt]?ae[vt].forEach(Qe):($e.push(vt),nt[vt]=!0))}var $e=[],nt={};throw pe.forEach(Qe),new fr(me+": "+$e.map(Pt).join([", "]))}function Gr(me,pe,Qe,$e,nt){var vt=pe.length;2>vt&&we("argTypes array size mismatch! Must at least get return value and 'this' types!");var Mt=pe[1]!==null&&Qe!==null,Ot=!1;for(Qe=1;Qe>2]);return Qe}function xi(me){4>2])};case 3:return function(Qe){return this.fromWireType(C[Qe>>3])};default:throw new TypeError("Unknown float type: "+me)}}function Mi(me,pe,Qe){switch(pe){case 0:return Qe?function($e){return y[$e]}:function($e){return v[$e]};case 1:return Qe?function($e){return w[$e>>1]}:function($e){return j[$e>>1]};case 2:return Qe?function($e){return E[$e>>2]}:function($e){return S[$e>>2]};default:throw new TypeError("Unknown integer type: "+me)}}function Sn(me,pe){for(var Qe="",$e=0;!($e>=pe/2);++$e){var nt=w[me+2*$e>>1];if(nt==0)break;Qe+=String.fromCharCode(nt)}return Qe}function si(me,pe,Qe){if(Qe===void 0&&(Qe=2147483647),2>Qe)return 0;Qe-=2;var $e=pe;Qe=Qe<2*me.length?Qe/2:me.length;for(var nt=0;nt>1]=me.charCodeAt(nt),pe+=2;return w[pe>>1]=0,pe-$e}function ia(me){return 2*me.length}function aa(me,pe){for(var Qe=0,$e="";!(Qe>=pe/4);){var nt=E[me+4*Qe>>2];if(nt==0)break;++Qe,65536<=nt?(nt-=65536,$e+=String.fromCharCode(55296|nt>>10,56320|nt&1023)):$e+=String.fromCharCode(nt)}return $e}function go(me,pe,Qe){if(Qe===void 0&&(Qe=2147483647),4>Qe)return 0;var $e=pe;Qe=$e+Qe-4;for(var nt=0;nt=vt){var Mt=me.charCodeAt(++nt);vt=65536+((vt&1023)<<10)|Mt&1023}if(E[pe>>2]=vt,pe+=4,pe+4>Qe)break}return E[pe>>2]=0,pe-$e}function Ui(me){for(var pe=0,Qe=0;Qe=$e&&++Qe,pe+=4}return pe}var ni={};function Ma(me){var pe=ni[me];return pe===void 0?Re(me):pe}var Xa=[];function es(me){var pe=Xa.length;return Xa.push(me),pe}function Ua(me,pe){for(var Qe=Array(me),$e=0;$e>2],"parameter "+$e);return Qe}var pr=[],Hs=[null,[],[]];Ce=r.BindingError=_e("BindingError"),r.count_emval_handles=function(){for(var me=0,pe=5;peza;++za)wi[za]=String.fromCharCode(za);be=wi,r.getInheritedInstanceCount=function(){return Object.keys(pt).length},r.getLiveInheritedInstances=function(){var me=[],pe;for(pe in pt)pt.hasOwnProperty(pe)&&me.push(pt[pe]);return me},r.flushPendingDeletes=Ke,r.setDelayFunction=function(me){tt=me,Pe.length&&tt&&tt(Ke)},wt=r.InternalError=_e("InternalError"),H.prototype.isAliasOf=function(me){if(!(this instanceof H&&me instanceof H))return!1;var pe=this.M.P.N,Qe=this.M.O,$e=me.M.P.N;for(me=me.M.O;pe.R;)Qe=pe.ba(Qe),pe=pe.R;for(;$e.R;)me=$e.ba(me),$e=$e.R;return pe===$e&&Qe===me},H.prototype.clone=function(){if(this.M.O||Tt(this),this.M.aa)return this.M.count.value+=1,this;var me=He,pe=Object,Qe=pe.create,$e=Object.getPrototypeOf(this),nt=this.M;return me=me(Qe.call(pe,$e,{M:{value:{count:nt.count,$:nt.$,aa:nt.aa,O:nt.O,P:nt.P,T:nt.T,U:nt.U}}})),me.M.count.value+=1,me.M.$=!1,me},H.prototype.delete=function(){this.M.O||Tt(this),this.M.$&&!this.M.aa&&we("Object already scheduled for deletion"),gt(this),Bt(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},H.prototype.isDeleted=function(){return!this.M.O},H.prototype.deleteLater=function(){return this.M.O||Tt(this),this.M.$&&!this.M.aa&&we("Object already scheduled for deletion"),Pe.push(this),Pe.length===1&&tt&&tt(Ke),this.M.$=!0,this},Te.prototype.qa=function(me){return this.ka&&(me=this.ka(me)),me},Te.prototype.ha=function(me){this.W&&this.W(me)},Te.prototype.argPackAdvance=8,Te.prototype.readValueFromPointer=rt,Te.prototype.deleteObject=function(me){me!==null&&me.delete()},Te.prototype.fromWireType=function(me){function pe(){return this.da?ir(this.N.X,{P:this.wa,O:Qe,U:this,T:me}):ir(this.N.X,{P:this,O:me})}var Qe=this.qa(me);if(!Qe)return this.ha(me),null;var $e=xt(this.N,Qe);if($e!==void 0)return $e.M.count.value===0?($e.M.O=Qe,$e.M.T=me,$e.clone()):($e=$e.clone(),this.ha(me),$e);if($e=this.N.pa(Qe),$e=sr[$e],!$e)return pe.call(this);$e=this.ca?$e.la:$e.pointerType;var nt=tr(Qe,this.N,$e.N);return nt===null?pe.call(this):this.da?ir($e.N.X,{P:$e,O:nt,U:this,T:me}):ir($e.N.X,{P:$e,O:nt})},fr=r.UnboundTypeError=_e("UnboundTypeError");var $a=typeof atob=="function"?atob:function(me){var pe="",Qe=0;me=me.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(me.charAt(Qe++)),nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(me.charAt(Qe++)),vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(me.charAt(Qe++)),Mt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(me.charAt(Qe++));$e=$e<<2|nt>>4,nt=(nt&15)<<4|vt>>2;var Ot=(vt&3)<<6|Mt;pe+=String.fromCharCode($e),vt!==64&&(pe+=String.fromCharCode(nt)),Mt!==64&&(pe+=String.fromCharCode(Ot))}while(QeMt.ta).concat(nt.map(Mt=>Mt.za));Ee([me],vt,Mt=>{var Ot={};return nt.forEach((ur,Gt)=>{var wr=Mt[Gt],Rr=ur.ra,fn=ur.sa,Ei=Mt[Gt+nt.length],mn=ur.ya,Kr=ur.Aa;Ot[ur.oa]={read:xa=>wr.fromWireType(Rr(fn,xa)),write:(xa,ro)=>{var ts=[];mn(Kr,xa,Ei.toWireType(ts,ro)),Le(ts)}}}),[{name:pe.name,fromWireType:function(ur){var Gt={},wr;for(wr in Ot)Gt[wr]=Ot[wr].read(ur);return $e(ur),Gt},toWireType:function(ur,Gt){for(var wr in Ot)if(!(wr in Gt))throw new TypeError('Missing field: "'+wr+'"');var Rr=Qe();for(wr in Ot)Ot[wr].write(Rr,Gt[wr]);return ur!==null&&ur.push($e,Rr),Rr},argPackAdvance:8,readValueFromPointer:rt,V:$e}]})},v:function(){},B:function(me,pe,Qe,$e,nt){var vt=re(Qe);pe=Re(pe),We(me,{name:pe,fromWireType:function(Mt){return!!Mt},toWireType:function(Mt,Ot){return Ot?$e:nt},argPackAdvance:8,readValueFromPointer:function(Mt){if(Qe===1)var Ot=y;else if(Qe===2)Ot=w;else if(Qe===4)Ot=E;else throw new TypeError("Unknown boolean type size: "+pe);return this.fromWireType(Ot[Mt>>vt])},V:null})},f:function(me,pe,Qe,$e,nt,vt,Mt,Ot,ur,Gt,wr,Rr,fn){wr=Re(wr),vt=kr(nt,vt),Ot&&(Ot=kr(Mt,Ot)),Gt&&(Gt=kr(ur,Gt)),fn=kr(Rr,fn);var Ei=V(wr);Ze(Ei,function(){Ft("Cannot construct "+wr+" due to unbound types",[$e])}),Ee([me,pe,Qe],$e?[$e]:[],function(mn){if(mn=mn[0],$e)var Kr=mn.N,xa=Kr.X;else xa=H.prototype;mn=ue(Ei,function(){if(Object.getPrototypeOf(this)!==ro)throw new Ce("Use 'new' to construct "+wr);if(ts.Y===void 0)throw new Ce(wr+" has no accessible constructor");var Uo=ts.Y[arguments.length];if(Uo===void 0)throw new Ce("Tried to invoke ctor of "+wr+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(ts.Y).toString()+") parameters instead!");return Uo.apply(this,arguments)});var ro=Object.create(xa,{constructor:{value:mn}});mn.prototype=ro;var ts=new he(wr,mn,ro,fn,Kr,vt,Ot,Gt);Kr=new Te(wr,ts,!0,!1),xa=new Te(wr+"*",ts,!1,!1);var Dl=new Te(wr+" const*",ts,!1,!0);return sr[me]={pointerType:xa,la:Dl},zt(Ei,mn),[Kr,xa,Dl]})},d:function(me,pe,Qe,$e,nt,vt,Mt){var Ot=Zr(Qe,$e);pe=Re(pe),vt=kr(nt,vt),Ee([],[me],function(ur){function Gt(){Ft("Cannot call "+wr+" due to unbound types",Ot)}ur=ur[0];var wr=ur.name+"."+pe;pe.startsWith("@@")&&(pe=Symbol[pe.substring(2)]);var Rr=ur.N.constructor;return Rr[pe]===void 0?(Gt.Z=Qe-1,Rr[pe]=Gt):(ze(Rr,pe,wr),Rr[pe].S[Qe-1]=Gt),Ee([],Ot,function(fn){return fn=Gr(wr,[fn[0],null].concat(fn.slice(1)),null,vt,Mt),Rr[pe].S===void 0?(fn.Z=Qe-1,Rr[pe]=fn):Rr[pe].S[Qe-1]=fn,[]}),[]})},p:function(me,pe,Qe,$e,nt,vt){0{Ft("Cannot construct "+Ot.name+" due to unbound types",Mt)},Ee([],Mt,function(Gt){return Gt.splice(1,0,null),Ot.N.Y[pe-1]=Gr(ur,Gt,null,nt,vt),[]}),[]})},a:function(me,pe,Qe,$e,nt,vt,Mt,Ot){var ur=Zr(Qe,$e);pe=Re(pe),vt=kr(nt,vt),Ee([],[me],function(Gt){function wr(){Ft("Cannot call "+Rr+" due to unbound types",ur)}Gt=Gt[0];var Rr=Gt.name+"."+pe;pe.startsWith("@@")&&(pe=Symbol[pe.substring(2)]),Ot&&Gt.N.ja.push(pe);var fn=Gt.N.X,Ei=fn[pe];return Ei===void 0||Ei.S===void 0&&Ei.className!==Gt.name&&Ei.Z===Qe-2?(wr.Z=Qe-2,wr.className=Gt.name,fn[pe]=wr):(ze(fn,pe,Rr),fn[pe].S[Qe-2]=wr),Ee([],ur,function(mn){return mn=Gr(Rr,mn,Gt,vt,Mt),fn[pe].S===void 0?(mn.Z=Qe-2,fn[pe]=mn):fn[pe].S[Qe-2]=mn,[]}),[]})},A:function(me,pe){pe=Re(pe),We(me,{name:pe,fromWireType:function(Qe){var $e=ve(Qe);return xi(Qe),$e},toWireType:function(Qe,$e){return Ne($e)},argPackAdvance:8,readValueFromPointer:rt,V:null})},n:function(me,pe,Qe){Qe=re(Qe),pe=Re(pe),We(me,{name:pe,fromWireType:function($e){return $e},toWireType:function($e,nt){return nt},argPackAdvance:8,readValueFromPointer:Pn(pe,Qe),V:null})},e:function(me,pe,Qe,$e,nt){pe=Re(pe),nt===-1&&(nt=4294967295),nt=re(Qe);var vt=Ot=>Ot;if($e===0){var Mt=32-8*Qe;vt=Ot=>Ot<>>Mt}Qe=pe.includes("unsigned")?function(Ot,ur){return ur>>>0}:function(Ot,ur){return ur},We(me,{name:pe,fromWireType:vt,toWireType:Qe,argPackAdvance:8,readValueFromPointer:Mi(pe,nt,$e!==0),V:null})},b:function(me,pe,Qe){function $e(vt){vt>>=2;var Mt=S;return new nt(A,Mt[vt+1],Mt[vt])}var nt=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][pe];Qe=Re(Qe),We(me,{name:Qe,fromWireType:$e,argPackAdvance:8,readValueFromPointer:$e},{ua:!0})},o:function(me,pe){pe=Re(pe);var Qe=pe==="std::string";We(me,{name:pe,fromWireType:function($e){var nt=S[$e>>2],vt=$e+4;if(Qe)for(var Mt=vt,Ot=0;Ot<=nt;++Ot){var ur=vt+Ot;if(Ot==nt||v[ur]==0){if(Mt=Mt?p(v,Mt,ur-Mt):"",Gt===void 0)var Gt=Mt;else Gt+="\0",Gt+=Mt;Mt=ur+1}}else{for(Gt=Array(nt),Ot=0;Ot=ur?Ot++:2047>=ur?Ot+=2:55296<=ur&&57343>=ur?(Ot+=4,++vt):Ot+=3}vt=Ot}else vt=nt.length;if(Ot=Ha(4+vt+1),ur=Ot+4,S[Ot>>2]=vt,Qe&&Mt){if(Mt=ur,ur=vt+1,vt=v,0=wr){var Rr=nt.charCodeAt(++Gt);wr=65536+((wr&1023)<<10)|Rr&1023}if(127>=wr){if(Mt>=ur)break;vt[Mt++]=wr}else{if(2047>=wr){if(Mt+1>=ur)break;vt[Mt++]=192|wr>>6}else{if(65535>=wr){if(Mt+2>=ur)break;vt[Mt++]=224|wr>>12}else{if(Mt+3>=ur)break;vt[Mt++]=240|wr>>18,vt[Mt++]=128|wr>>12&63}vt[Mt++]=128|wr>>6&63}vt[Mt++]=128|wr&63}}vt[Mt]=0}}else if(Mt)for(Mt=0;Mtj,Ot=1;else pe===4&&($e=aa,nt=go,vt=Ui,Mt=()=>S,Ot=2);We(me,{name:Qe,fromWireType:function(ur){for(var Gt=S[ur>>2],wr=Mt(),Rr,fn=ur+4,Ei=0;Ei<=Gt;++Ei){var mn=ur+4+Ei*pe;(Ei==Gt||wr[mn>>Ot]==0)&&(fn=$e(fn,mn-fn),Rr===void 0?Rr=fn:(Rr+="\0",Rr+=fn),fn=mn+pe)}return oi(ur),Rr},toWireType:function(ur,Gt){typeof Gt!="string"&&we("Cannot pass non-string to C++ string type "+Qe);var wr=vt(Gt),Rr=Ha(4+wr+pe);return S[Rr>>2]=wr>>Ot,nt(Gt,Rr+4,wr+pe),ur!==null&&ur.push(oi,Rr),Rr},argPackAdvance:8,readValueFromPointer:rt,V:function(ur){oi(ur)}})},k:function(me,pe,Qe,$e,nt,vt){ce[me]={name:Re(pe),fa:kr(Qe,$e),W:kr(nt,vt),ia:[]}},h:function(me,pe,Qe,$e,nt,vt,Mt,Ot,ur,Gt){ce[me].ia.push({oa:Re(pe),ta:Qe,ra:kr($e,nt),sa:vt,za:Mt,ya:kr(Ot,ur),Aa:Gt})},C:function(me,pe){pe=Re(pe),We(me,{va:!0,name:pe,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(me,pe,Qe,$e,nt){me=Xa[me],pe=ve(pe),Qe=Ma(Qe);var vt=[];return S[$e>>2]=Ne(vt),me(pe,Qe,vt,nt)},t:function(me,pe,Qe,$e){me=Xa[me],pe=ve(pe),Qe=Ma(Qe),me(pe,Qe,null,$e)},g:xi,m:function(me,pe){var Qe=Ua(me,pe),$e=Qe[0];pe=$e.name+"_$"+Qe.slice(1).map(function(Mt){return Mt.name}).join("_")+"$";var nt=pr[pe];if(nt!==void 0)return nt;var vt=Array(me-1);return nt=es((Mt,Ot,ur,Gt)=>{for(var wr=0,Rr=0;Rr>>=0,2147483648=Qe;Qe*=2){var $e=pe*(1+.2/Qe);$e=Math.min($e,me+100663296);var nt=Math;$e=Math.max(me,$e),nt=nt.min.call(nt,2147483648,$e+(65536-$e%65536)%65536);e:{try{u.grow(nt-A.byteLength+65535>>>16),Q();var vt=1;break e}catch{}vt=void 0}if(vt)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(me,pe,Qe,$e){for(var nt=0,vt=0;vt>2],Ot=S[pe+4>>2];pe+=8;for(var ur=0;ur>2]=nt,0}};(function(){function me(nt){r.asm=nt.exports,u=r.asm.E,Q(),R=r.asm.J,M.unshift(r.asm.F),P--,r.monitorRunDependencies&&r.monitorRunDependencies(P),P==0&&L&&(nt=L,L=null,nt())}function pe(nt){me(nt.instance)}function Qe(nt){return ee().then(function(vt){return WebAssembly.instantiate(vt,$e)}).then(function(vt){return vt}).then(nt,function(vt){c("failed to asynchronously prepare wasm: "+vt),X(vt)})}var $e={a:qs};if(P++,r.monitorRunDependencies&&r.monitorRunDependencies(P),r.instantiateWasm)try{return r.instantiateWasm($e,me)}catch(nt){c("Module.instantiateWasm callback failed with error: "+nt),i(nt)}return(function(){return d||typeof WebAssembly.instantiateStreaming!="function"||W(G)||typeof fetch!="function"?Qe(pe):fetch(G,{credentials:"same-origin"}).then(function(nt){return WebAssembly.instantiateStreaming(nt,$e).then(pe,function(vt){return c("wasm streaming compile failed: "+vt),c("falling back to ArrayBuffer instantiation"),Qe(pe)})})})().catch(i),{}})(),r.___wasm_call_ctors=function(){return(r.___wasm_call_ctors=r.asm.F).apply(null,arguments)};var to=r.___getTypeName=function(){return(to=r.___getTypeName=r.asm.G).apply(null,arguments)};r.__embind_initialize_bindings=function(){return(r.__embind_initialize_bindings=r.asm.H).apply(null,arguments)};var Ha=r._malloc=function(){return(Ha=r._malloc=r.asm.I).apply(null,arguments)},oi=r._free=function(){return(oi=r._free=r.asm.K).apply(null,arguments)};r.dynCall_jiji=function(){return(r.dynCall_jiji=r.asm.L).apply(null,arguments)};var Bs;L=function me(){Bs||Sa(),Bs||(L=me)};function Sa(){function me(){if(!Bs&&(Bs=!0,r.calledRun=!0,!h)){if(ne(M),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;){var pe=r.postRun.shift();O.unshift(pe)}ne(O)}}if(!(01?l-1:0),d=1;ds?e.Node.createWithConfig(s):e.Node.createDefault()),t(e.Node.prototype,"free",function(){e.Node.destroy(this)}),t(e.Node.prototype,"freeRecursive",function(){for(let i=0,s=this.getChildCount();i1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Z5.LTR;return i.call(this,s,o,l)}),{Config:e.Config,Node:e.Node,...BDe}}async function _De(){return kDe(await NDe())}const w8=String.raw,VQ=w8`(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})`,WQ=w8`\u{E0061}-\u{E007A}`,DDe=()=>new RegExp(w8`[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[${WQ}]{2}[\u{E0030}-\u{E0039}${WQ}]{1,3}\u{E007F}|${VQ}(?:\u200D${VQ})*`,"gu");var KQ=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},Qd=[],Ku=[],TDe=typeof Uint8Array<"u"?Uint8Array:Array,E8=!1;function YW(){E8=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t0)throw new Error("Invalid string. Length must be a multiple of 4");s=e[l-2]==="="?2:e[l-1]==="="?1:0,o=new TDe(l*3/4-s),n=s>0?l-4:l;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=i&255;return s===2?(i=Ku[e.charCodeAt(t)]<<2|Ku[e.charCodeAt(t+1)]>>4,o[c++]=i&255):s===1&&(i=Ku[e.charCodeAt(t)]<<10|Ku[e.charCodeAt(t+1)]<<4|Ku[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function PDe(e){return Qd[e>>18&63]+Qd[e>>12&63]+Qd[e>>6&63]+Qd[e&63]}function QDe(e,t,r){for(var n,i=[],s=t;sc?c:l+o));return n===1?(t=e[r-1],i+=Qd[t>>2],i+=Qd[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=Qd[t>>10],i+=Qd[t>>4&63],i+=Qd[t<<2&63],i+="="),s.push(i),s.join("")}function TE(e,t,r,n,i){var s,o,l=i*8-n-1,c=(1<>1,u=-7,h=r?i-1:0,p=r?-1:1,A=e[t+h];for(h+=p,s=A&(1<<-u)-1,A>>=-u,u+=l;u>0;s=s*256+e[t+h],h+=p,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=n;u>0;o=o*256+e[t+h],h+=p,u-=8);if(s===0)s=1-d;else{if(s===c)return o?NaN:(A?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-d}return(A?-1:1)*o*Math.pow(2,s-n)}function ZW(e,t,r,n,i,s){var o,l,c,d=s*8-i-1,u=(1<>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:s-1,y=n?1:-1,v=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+h>=1?t+=p/c:t+=p*Math.pow(2,1-h),t*c>=2&&(o++,c/=2),o+h>=u?(l=0,o=u):o+h>=1?(l=(t*c-1)*Math.pow(2,i),o=o+h):(l=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+A]=l&255,A+=y,l/=256,i-=8);for(o=o<0;e[r+A]=o&255,A+=y,o/=256,d-=8);e[r+A-y]|=v*128}var FDe={}.toString,JW=Array.isArray||function(e){return FDe.call(e)=="[object Array]"};var ODe=50;qt.TYPED_ARRAY_SUPPORT=KQ.TYPED_ARRAY_SUPPORT!==void 0?KQ.TYPED_ARRAY_SUPPORT:!0;$w();function $w(){return qt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Vf(e,t){if($w()=$w())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+$w().toString(16)+" bytes");return e|0}qt.isBuffer=l7e;function ef(e){return!!(e!=null&&e._isBuffer)}qt.compare=function(t,r){if(!ef(t)||!ef(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,s=0,o=Math.min(n,i);s>>1;case"base64":return lK(e).length;default:if(n)return Hw(e).length;t=(""+t).toLowerCase(),n=!0}}qt.byteLength=tK;function $De(e,t,r){var n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return XDe(this,t,r);case"utf8":case"utf-8":return iK(this,t,r);case"ascii":return ZDe(this,t,r);case"latin1":case"binary":return JDe(this,t,r);case"base64":return KDe(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return e7e(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}qt.prototype._isBuffer=!0;function ng(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}qt.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""};qt.prototype.compare=function(t,r,n,i,s){if(!ef(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>t.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===t)return 0;for(var o=s-i,l=n-r,c=Math.min(o,l),d=this.slice(i,s),u=t.slice(r,n),h=0;h2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=qt.from(t,n)),ef(t))return t.length===0?-1:ZQ(e,t,r,n,i);if(typeof t=="number")return t=t&255,qt.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):ZQ(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ZQ(e,t,r,n,i){var s=1,o=e.length,l=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;s=2,o/=2,l/=2,r/=2}function c(A,y){return s===1?A[y]:A.readUInt16BE(y*s)}var d;if(i){var u=-1;for(d=r;do&&(r=o-l),d=r;d>=0;d--){for(var h=!0,p=0;pi&&(n=i)):n=i;var s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");n>s/2&&(n=s/2);for(var o=0;os)&&(n=s),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return HDe(this,t,r,n);case"utf8":case"utf-8":return qDe(this,t,r,n);case"ascii":return nK(this,t,r,n);case"latin1":case"binary":return GDe(this,t,r,n);case"base64":return VDe(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return WDe(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};qt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function KDe(e,t,r){return t===0&&r===e.length?YQ(e):YQ(e.slice(t,r))}function iK(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:s>223?3:s>191?2:1;if(i+l<=r){var c,d,u,h;switch(l){case 1:s<128&&(o=s);break;case 2:c=e[i+1],(c&192)===128&&(h=(s&31)<<6|c&63,h>127&&(o=h));break;case 3:c=e[i+1],d=e[i+2],(c&192)===128&&(d&192)===128&&(h=(s&15)<<12|(c&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(o=h));break;case 4:c=e[i+1],d=e[i+2],u=e[i+3],(c&192)===128&&(d&192)===128&&(u&192)===128&&(h=(s&15)<<18|(c&63)<<12|(d&63)<<6|u&63,h>65535&&h<1114112&&(o=h))}}o===null?(o=65533,l=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=l}return YDe(n)}var JQ=4096;function YDe(e){var t=e.length;if(t<=JQ)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn)&&(r=n);for(var i="",s=t;sn&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}qt.prototype.readUIntLE=function(t,r,n){t=t|0,r=r|0,n||Lo(t,r,this.length);for(var i=this[t],s=1,o=0;++o0&&(s*=256);)i+=this[t+--r]*s;return i};qt.prototype.readUInt8=function(t,r){return r||Lo(t,1,this.length),this[t]};qt.prototype.readUInt16LE=function(t,r){return r||Lo(t,2,this.length),this[t]|this[t+1]<<8};qt.prototype.readUInt16BE=function(t,r){return r||Lo(t,2,this.length),this[t]<<8|this[t+1]};qt.prototype.readUInt32LE=function(t,r){return r||Lo(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};qt.prototype.readUInt32BE=function(t,r){return r||Lo(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};qt.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||Lo(t,r,this.length);for(var i=this[t],s=1,o=0;++o=s&&(i-=Math.pow(2,8*r)),i};qt.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||Lo(t,r,this.length);for(var i=r,s=1,o=this[t+--i];i>0&&(s*=256);)o+=this[t+--i]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*r)),o};qt.prototype.readInt8=function(t,r){return r||Lo(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};qt.prototype.readInt16LE=function(t,r){r||Lo(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};qt.prototype.readInt16BE=function(t,r){r||Lo(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};qt.prototype.readInt32LE=function(t,r){return r||Lo(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};qt.prototype.readInt32BE=function(t,r){return r||Lo(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};qt.prototype.readFloatLE=function(t,r){return r||Lo(t,4,this.length),TE(this,t,!0,23,4)};qt.prototype.readFloatBE=function(t,r){return r||Lo(t,4,this.length),TE(this,t,!1,23,4)};qt.prototype.readDoubleLE=function(t,r){return r||Lo(t,8,this.length),TE(this,t,!0,52,8)};qt.prototype.readDoubleBE=function(t,r){return r||Lo(t,8,this.length),TE(this,t,!1,52,8)};function Dc(e,t,r,n,i,s){if(!ef(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}qt.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var s=Math.pow(2,8*n)-1;Dc(this,t,r,n,s,0)}var o=1,l=0;for(this[r]=t&255;++l=0&&(l*=256);)this[r+o]=t/l&255;return r+n};qt.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,1,255,0),qt.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function RE(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-r,2);i>>(n?i:1-i)*8}qt.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,2,65535,0),qt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):RE(this,t,r,!0),r+2};qt.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,2,65535,0),qt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):RE(this,t,r,!1),r+2};function PE(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-r,4);i>>(n?i:3-i)*8&255}qt.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,4,4294967295,0),qt.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):PE(this,t,r,!0),r+4};qt.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,4,4294967295,0),qt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):PE(this,t,r,!1),r+4};qt.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var s=Math.pow(2,8*n-1);Dc(this,t,r,n,s-1,-s)}var o=0,l=1,c=0;for(this[r]=t&255;++o>0)-c&255;return r+n};qt.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var s=Math.pow(2,8*n-1);Dc(this,t,r,n,s-1,-s)}var o=n-1,l=1,c=0;for(this[r+o]=t&255;--o>=0&&(l*=256);)t<0&&c===0&&this[r+o+1]!==0&&(c=1),this[r+o]=(t/l>>0)-c&255;return r+n};qt.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,1,127,-128),qt.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1};qt.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,2,32767,-32768),qt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):RE(this,t,r,!0),r+2};qt.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,2,32767,-32768),qt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):RE(this,t,r,!1),r+2};qt.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,4,2147483647,-2147483648),qt.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):PE(this,t,r,!0),r+4};qt.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||Dc(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),qt.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):PE(this,t,r,!1),r+4};function aK(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function sK(e,t,r,n,i){return i||aK(e,t,r,4),ZW(e,t,r,n,23,4),r+4}qt.prototype.writeFloatLE=function(t,r,n){return sK(this,t,r,!0,n)};qt.prototype.writeFloatBE=function(t,r,n){return sK(this,t,r,!1,n)};function oK(e,t,r,n,i){return i||aK(e,t,r,8),ZW(e,t,r,n,52,8),r+8}qt.prototype.writeDoubleLE=function(t,r,n){return oK(this,t,r,!0,n)};qt.prototype.writeDoubleBE=function(t,r,n){return oK(this,t,r,!1,n)};qt.prototype.copy=function(t,r,n,i){if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r=0;--o)t[o+r]=this[o+n];else if(s<1e3||!qt.TYPED_ARRAY_SUPPORT)for(o=0;o>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function a7e(e){for(var t=[],r=0;r>8,i=r%256,s.push(i),s.push(n);return s}function lK(e){return RDe(r7e(e))}function QE(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function o7e(e){return e!==e}function l7e(e){return e!=null&&(!!e._isBuffer||cK(e)||c7e(e))}function cK(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function c7e(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&cK(e.slice(0,0))}class FE{data;width;height;format;constructor(t){const r=new $G(t);this.data=t,this.width=r.width,this.height=r.height,this.format="png"}static isValid(t){try{return!!new FE(t)}catch{return!1}}}class uK{data;width;height;format;constructor(t){if(this.data=t,this.format="jpeg",this.width=0,this.height=0,t.readUInt16BE(0)!==65496)throw new Error("SOI not found in JPEG");const r=pq.decode(this.data);let n;for(let i=0;i4&&([this.width,this.height]=[this.height,this.width])}static isValid(t){return t&&qt.isBuffer(t)&&t.readUInt16BE(0)===65496}}const u7e=({limit:e=100}={})=>{let t={},r=[];return{get:n=>n?t[n]:null,set:(n,i)=>{r.push(n),r.length>e&&delete t[r.shift()],t[n]=i},reset:()=>{t={},r=[]},length:()=>r.length}},w3=u7e({limit:30}),dK=qt.isBuffer,fK=e=>typeof Blob<"u"&&e instanceof Blob,hK=e=>"data"in e,d7e=e=>"uri"in e&&/^data:image\/[a-zA-Z]*;base64,[^"]*/g.test(e.uri),f7e=async e=>{const{method:t="GET",headers:r,body:n,credentials:i}=e,o=await(await fetch(e.uri,{method:t,headers:r,body:n,credentials:i})).arrayBuffer();return qt.from(o)},mK=e=>{const t=e.toLowerCase();return t==="jpg"||t==="jpeg"||t==="png"},h7e=e=>{let t;return uK.isValid(e)?t="jpg":FE.isValid(e)&&(t="png"),t};function Uy(e,t){switch(t.toLowerCase()){case"jpg":case"jpeg":return new uK(e);case"png":return new FE(e);default:return null}}const m7e=async({uri:e})=>{const t=/^data:image\/([a-zA-Z]*);base64,([^"]*)/g.exec(e);if(!t)throw new Error(`Invalid base64 image: ${e}`);const r=t[1],n=t[2];if(!mK(r))throw new Error(`Base64 image invalid format: ${r}`);return Uy(qt.from(n,"base64"),r)},p7e=async e=>{if(e.data&&e.format)return Uy(e.data,e.format);throw new Error(`Invalid data given for local file: ${JSON.stringify(e)}`)},pK=async e=>{const t=h7e(e);return t?Uy(e,t):null},g7e=async e=>{const{type:t}=e;if(!t||t==="application/octet-stream"){const i=await e.arrayBuffer(),s=qt.from(i);return pK(s)}if(!t.startsWith("image/"))throw new Error(`Invalid blob type: ${t}`);const r=t.replace("image/","");if(!mK(r))throw new Error(`Invalid blob type: ${t}`);const n=await e.arrayBuffer();return Uy(qt.from(n),r)},A7e=e=>{const t=e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71&&e[4]===13&&e[5]===10&&e[6]===26&&e[7]===10,r=e[0]===255&&e[1]===216&&e[2]===255;let n="";if(t)n="png";else if(r)n="jpg";else throw new Error("Not valid image extension");return n},x7e=async e=>{const t=await f7e(e),r=A7e(t);return Uy(t,r)},v7e=e=>fK(e)||dK(e)?null:hK(e)?e.data.toString():e.uri,gK=(e,{cache:t=!0}={})=>{let r;const n=v7e(e);if(fK(e))r=g7e(e);else if(dK(e))r=pK(e);else{if(t&&w3.get(n))return w3.get(n);d7e(e)?r=m7e(e):hK(e)?r=p7e(e):r=x7e(e)}if(!r)throw new Error("Cannot resolve image");return t&&n&&w3.set(n,r),r},AK=(e,t)=>{switch(t){case"uppercase":return e.toUpperCase();case"lowercase":return e.toLowerCase();case"capitalize":return Q6e(e);case"upperfirst":return Qv(e);default:return e}},y7e=e=>e.type===ZS,b7e=e=>e.type===Qg,w7e={bidi:MW,linebreaker:UW,justification:HW,textDecoration:qW,scriptItemizer:GW,wordHyphenation:WW,fontSubstitution:KW},E7e=LW(w7e),xK=(e,t)=>{if(!t)return[{string:""}];const r=[],{fill:n="black",fontFamily:i="Helvetica",fontWeight:s,fontStyle:o,fontSize:l=18,textDecorationColor:c,textDecorationStyle:d,textTransform:u,opacity:h}=t.props,p=t.props.textDecoration,A=typeof i=="string"?[i]:[...i||[]];A.push("Helvetica");const v={font:A.map(w=>{const j={fontFamily:w,fontWeight:s,fontStyle:o};return e.getFont(j)?.data}),opacity:h,fontSize:l,color:n,underlineStyle:d,underline:p==="underline"||p==="underline line-through"||p==="line-through underline",underlineColor:c||n,strike:p==="line-through"||p==="underline line-through"||p==="line-through underline",strikeStyle:d,strikeColor:c||n};for(let w=0;wA8(xK(e,t)),XQ=999999999999,I7e={before:-.5,after:-.5},j7e=e=>(t,r)=>{const n=C7e(e,t),i=t.props.x===void 0?r:t.props.x,s=t.props?.y||0,o={x:i,y:s,width:XQ,height:XQ},c={hyphenationCallback:t.props.hyphenationCallback||e?.getHyphenationCallback()||null,shrinkWhitespaceFactor:I7e},d=E7e(n,o,c).flat();return Object.assign({},t,{lines:d})},N7e=e=>{const t=e.children.map((r,n)=>{if(!y7e(r))return r;const i=r.children[0];return r.props.x===void 0&&n{if(!t.children)return t;let r=t.props?.x||0;const n=j7e(e),s=N7e(t).children.map(o=>{const l=n(o,r);return r+=l.lines[0].xAdvance,l});return Object.assign({},t,{children:s})},B7e=e=>e.type===hH,k7e=e=>((e.children||[]).find(B7e)?.children||[]).reduce((i,s)=>{const o=s.props?.id;return o&&(i[o]=s),i},{}),_7e=e=>e.type!==hH,D7e=e=>{if(!e.children)return e;const t=e.children.filter(_7e);return Object.assign({},e,{children:t})},eF=/url\(['"]?#([^'"]+)['"]?\)/,tF=(e,t)=>{if(!t)return;if(!eF.test(t))return t;const r=t.match(eF);return e[r[1]]},vK=e=>t=>{const r=t.props,n="fill"in r?tF(e,r?.fill):void 0,i="clipPath"in r?tF(e,r?.clipPath):void 0,s=Object.assign({},t.props,{fill:n,clipPath:i}),o=t.children?t.children.map(vK(e)):void 0;return Object.assign({},t,{props:s,children:o})},T7e=e=>{if(!e.children)return e;const t=k7e(e),r=e.children.map(vK(t));return Object.assign({},e,{children:r})},R7e=e=>D7e(T7e(e)),yK=e=>{if(!e)return null;if(typeof e!="string")return e;const t=e.split(/[,\s]+/).map(Cs);return t.length!==4?null:{minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]}},P7e=e=>{const t=yK(e.props.viewBox);return t?{width:t.maxX,height:t.maxY}:e.props.width&&e.props.height?{width:Cs(e.props.width),height:Cs(e.props.height)}:{width:0,height:0}},bK=["x","y","clipPath","clipRule","opacity","fill","fillOpacity","fillRule","stroke","strokeLinecap","strokeLinejoin","strokeOpacity","strokeWidth","textAnchor","dominantBaseline","color","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","opacity","textDecoration","lineHeight","textAlign","visibility","wordSpacing"],Q7e=L6e(["x"],bK),F7e={[rr]:Q7e},O7e=e=>{const t=e.props||{},r=F7e[e.type]??bK;return u8(r,t)},wK=e=>{if(!e.children)return e;const t=O7e(e),r=e.children.map(n=>{const i=Object.assign({},t,n.props||{}),s=Object.assign({},n,{props:i});return wK(s)});return Object.assign({},e,{children:r})},L7e=e=>{if(typeof e!="string")return e;const t=e.replace(/[\s\r\t\n]+/gm," ").replace(/^defer\s/,"").split(" "),r=t[0]||"xMidYMid",n=t[1]||"meet";return{align:r,meetOrSlice:n}},M7e=["width","height","color","stroke","strokeWidth","opacity","fillOpacity","strokeOpacity","fill","fillRule","clipPath","offset","transform","strokeLinejoin","strokeLinecap","strokeDasharray","gradientUnits","gradientTransform"],U7e=["y","y1","y2","height","cy","ry"],z7e=["x","x1","x2","width","cx","rx"],$7e=e=>e.type===qm,EK=e=>e.type===rr,H7e=e=>e.type===Qg,q7e=e=>t=>oW(t,(r,n)=>{const i=Po(r);return i&&U7e.includes(n)?i.percent*e.height:i&&z7e.includes(n)?i.percent*e.width:r}),E3=e=>{const t=Po(e);return t?t.percent:Cs(e)},rF=e=>t=>wW(e,{transform:t}).transform,G7e=e=>t=>{let r=q7e(e)(t.props);return r=kE({x:Cs,x1:Cs,x2:Cs,y:Cs,y1:Cs,y2:Cs,r:Cs,rx:Cs,ry:Cs,cx:Cs,cy:Cs,width:Cs,height:Cs,offset:E3,fill:rv,opacity:E3,stroke:rv,stopOpacity:E3,stopColor:rv,transform:rF(e),gradientTransform:rF(e)},r),Object.assign({},t,{props:r})},V7e=e=>{const t=e.style||{},r=Object.assign({},t,e.props);return Object.assign({},e,{props:r})},W7e=e=>{const t=n=>n==="none"?null:n,r=oW(e.props,t);return Object.assign({},e,{props:r})},K7e=e=>{const t=e.props||{},r=u8(M7e,t),n=Object.assign({},r,e.style||{});return Object.assign({},e,{style:n})},Y7e=e=>{const t=kE({width:Cs,height:Cs,viewBox:yK,preserveAspectRatio:L7e},e.props);return Object.assign({},e,{props:t})},Z7e=e=>({type:ZS,props:{},style:{},children:[e]}),J7e=e=>{if(!EK(e)||!e.children)return e;const t=n=>H7e(n)?Z7e(n):n,r=e.children.map(t);return Object.assign({},e,{children:r})},CK=e=>t=>{if(EK(t))return S7e(e,t);if(!t.children)return t;const r=t.children.map(CK(e));return Object.assign({},t,{children:r})},X7e=e=>Nc(G7e(e),J7e,W7e,V7e),IK=e=>t=>{if(!t.children)return t;const r=Nc(IK(e),X7e(e)),n=t.children.map(r);return Object.assign({},t,{children:n})},eTe=e=>{const t={},r=e.children?.slice(0)||[];for(;r.length>0;){const n=r.shift();n.props&&"id"in n.props&&(t[n.props.id]=n),n.children&&r.push(...n.children)}return t},jK=(e,t)=>{if(e.props&&"xlinkHref"in e.props){const n=t[e.props.xlinkHref.replace(/^#/,"")];if(!n)return e;const i=Object.assign({},n.props,e.props);return delete i.xlinkHref,Object.assign({},n,{props:i})}const r=e.children?.map(n=>jK(n,t));return Object.assign({},e,{children:r})},tTe=e=>{const t=eTe(e);return jK(e,t)},rTe=(e,t)=>{const r=P7e(e);return Nc(R7e,CK(t),Y7e,K7e,wK,IK(r),tTe)(e)},NK=(e,t)=>{if(!("children"in e))return e;const r=s=>NK(s,t),n=$7e(e)?rTe(e,t):e,i=n.children?.map(r);return Object.assign({},n,{children:i})};let nTe;const iTe=async()=>{const e=await(nTe??=_De()),t=e.Config.create();return t.setPointScaleFactor(0),{node:{create:()=>e.Node.createWithConfig(t)}}},aTe=async e=>{const t=await iTe();return Object.assign({},e,{yoga:t})},nF=e=>e.style.zIndex,sTe=e=>e.type!==XS&&e.type!==qm,oTe=(e,t)=>{const r=nF(e),n=nF(t);return!r&&!n?0:r?n?n-r:-1:1},SK=e=>{if(!e.children)return e;const r=(sTe(e)?e.children.sort(oTe):e.children).map(SK);return Object.assign({},e,{children:r})},lTe=e=>SK(e),Uf={},BK=DDe(),cTe=e=>e!=="️",iF=(e,t=!1)=>Array.from(e).filter(t?()=>!0:cTe).map(r=>r.codePointAt(0).toString(16)).join("-"),uTe=(e,t)=>{if("builder"in t)return t.builder(iF(e,t.withVariationSelectors));const{url:r,format:n="png",withVariationSelectors:i}=t;return`${r}${iF(e,i)}.${n}`},aF=(e,t)=>{if(!t)return[];const r=[];return Array.from(e.matchAll(BK)).forEach(n=>{const i=n[0];if(!Uf[i]||Uf[i].loading){const s=uTe(i,t);Uf[i]={loading:!0},r.push(gK({uri:s}).then(o=>{Uf[i].loading=!1,Uf[i].data=o.data}).catch(o=>{console.warn(o,"Failed to load emoji image"),Uf[i].loading=!1}))}}),r},dTe=e=>{const t=[];for(let r=0;r{const{index:o}=s,l=s[0],c=n.attributes.fontSize,d=n.string.slice(i,o+s[0].length);Uf[l]&&Uf[l].data?t.push({string:d.replace(s[0],""),attributes:{...n.attributes,attachment:{width:c,height:c,yOffset:Math.floor(c*.1),image:Uf[l].data}}}):t.push({string:d,attributes:n.attributes}),i=o+l.length}),i{if(e.props.src)return e.props.src;if(e.props.source)return e.props.source},hTe=async e=>{const t=typeof e=="function"?await e():await e;return typeof t=="string"?{uri:t}:t},mTe=async e=>{const t=fTe(e),{cache:r}=e.props;if(!t){console.warn(!1,'Image should receive either a "src" or "source" prop');return}try{const n=await hTe(t);if(!n)throw new Error(`Image's "src" or "source" prop returned ${n}`);if(e.image=await gK(n,{cache:r}),Buffer.isBuffer(n)||n instanceof Blob)return;e.image.key="data"in n?n.data.toString():n.uri}catch(n){console.warn(n.message)}},pTe=e=>e.type===Gm,gTe=(e,t)=>{const r=[],n=t.children?.slice(0)||[],i=e?e.getEmojiSource():null;for(;n.length>0;){const s=n.shift();if(pTe(s)&&r.push(mTe(s)),e&&s.style?.fontFamily){const o=BE(s.style.fontFamily);r.push(...o.map(l=>e.load({fontFamily:l,fontStyle:s.style.fontStyle,fontWeight:s.style.fontWeight})))}typeof s=="string"&&r.push(...aF(s,i)),"value"in s&&typeof s.value=="string"&&r.push(...aF(s.value,i)),s.children&&s.children.forEach(o=>{n.push(o)})}return r},sF=async(e,t)=>{const r=gTe(t,e);return await Promise.all(r),e},ATe=e=>e.type===KS,oF={color:"blue",textDecoration:"underline"},xTe=(e,t)=>{let r=[t.style];return ATe(t)&&(r=Array.isArray(t.style)?[oF,...t.style]:[oF,t.style]),wW(e,r)},kK=e=>t=>{const r=xTe(e,t);if(!t.children)return Object.assign({},t,{style:r});const n=t.children.map(kK(e));return Object.assign({},t,{style:r,children:n})},_K=e=>{const t=e.props?.dpi||72,r=e.style,n=e.box?.width||r.width,i=e.box?.height||r.height,s=e.props?.orientation||"portrait",o=r?.fontSize||18;return kK({width:n,height:i,orientation:s,dpi:t,remBase:o})(e)},vTe=e=>{if(!e.children)return e;const t=e.children.map(_K);return Object.assign({},e,{children:t})},lF=e=>t=>Oa(t.style?.[e])?"50%":t.style?.[e]??null,yTe=e=>{if(!e.box)return null;const{left:t,top:r,width:n,height:i}=e.box,s=lF("transformOriginX")(e),o=lF("transformOriginY")(e),l=Po(s),c=Po(o),d=l?n*l.percent:s,u=c?i*c.percent:o;if(Oa(d)||typeof d=="string")throw new Error(`Invalid origin offsetX: ${d}`);if(Oa(u)||typeof u=="string")throw new Error(`Invalid origin offsetY: ${u}`);return{left:t+d,top:r+u}},DK=e=>{const t=yTe(e),r=Object.assign({},e,{origin:t});if(!e.children)return r;const n=e.children.map(DK);return Object.assign({},r,{children:n})},bTe=e=>{if(!e.children)return e;const t=e.children.map(DK);return Object.assign({},e,{children:t})},wTe=e=>typeof e=="string"?{title:e,fit:!1,expanded:!1}:e,ETe=e=>{let t=0;const n=(e.children||[]).slice(0).map(i=>({value:i,parent:null}));for(;n.length>0;){const i=n.shift();if(!i)break;const s=i.value;let o=i.parent;if(s.props&&"bookmark"in s.props&&s.props.bookmark){const l=wTe(s.props.bookmark),d={ref:t++,parent:o?.ref,...l};s.props.bookmark=d,o=d}s.children&&s.children.forEach(l=>{n.push({value:l,parent:o})})}return e},CTe=["portrait","landscape"],ITe=e=>{const t=e.props?.orientation||"portrait";return CTe.includes(t)?t:"portrait"},jTe=e=>ITe(e)==="landscape",NTe={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224],ID1:[153,243]},STe=e=>{if(typeof e=="number")return{value:e,unit:void 0};const t=/^(-?\d*\.?\d+)(in|mm|cm|pt|px)?$/g.exec(e);return t?{value:parseFloat(t[1]),unit:t[2]||"pt"}:{value:e,unit:void 0}},cF=(e,t)=>{if(!e)return 0;const r=STe(e),n=72,i=1/25.4*n,s=1/2.54*n;if(typeof r.value=="string")throw new Error(`Invalid page size: ${e}`);switch(r.unit){case"in":return r.value*n;case"mm":return r.value*i;case"cm":return r.value*s;case"px":return Math.round(r.value*(n/t));default:return r.value}},C3=({width:e,height:t},r)=>({width:cF(e,r),height:cF(t,r)}),j8=e=>({width:e[0],height:e[1]}),BTe=e=>({width:e.height,height:e.width}),kTe=e=>j8(NTe[e.toUpperCase()]),_Te=e=>j8([e,e]),DTe=e=>{const t=e.props?.size||"A4",r=e.props?.dpi||72;let n;return typeof t=="string"?n=kTe(t):Array.isArray(t)?n=C3(j8(t),r):typeof t=="number"?n=C3(_Te(t),r):n=C3(t,r),jTe(e)?BTe(n):n},TTe=e=>{const t=DTe(e),r=p8(e.style||{});return{...e,style:{...r,...t}}},RTe=e=>{if(!e.children)return e;const t=e.children.map(TTe);return Object.assign({},e,{children:t})},qw=e=>e.props&&"fixed"in e.props?e.props.fixed===!0:!1,PTe=(e,t)=>{let r=0;if(!e.lines)return 0;for(let n=0;nt)return n;r+=i.box.height}return e.lines.length},QTe=(e,t)=>{let r=0;if(!e.lines)return r;for(let n=0;n{const r=e.box?.top||0,n=e.props.widows||2,i=e.props.orphans||2,s=e.lines.length,o=PTe(e,t-r);return o===0?0:s{const r=FTe(e,t),n=QTe(e,r),i=e.box.height-n,s=Object.assign({},e,{box:{...e.box,height:n,borderBottomWidth:0},style:{...e.style,marginBottom:0,paddingBottom:0,borderBottomWidth:0,borderBottomLeftRadius:0,borderBottomRightRadius:0},lines:e.lines.slice(0,r)}),o=Object.assign({},e,{box:{...e.box,top:0,height:i,borderTopWidth:0},style:{...e.style,marginTop:0,paddingTop:0,borderTopWidth:0,borderTopLeftRadius:0,borderTopRightRadius:0},lines:e.lines.slice(r)});return[s,o]},LTe=e=>e.box?.top||0,MTe=e=>!Oa(e.style?.height),UTe=(e,t)=>{if(!e)return[null,null];const r=LTe(e),n=Object.assign({},e,{box:{...e.box,borderBottomWidth:0},style:{...e.style,marginBottom:0,paddingBottom:0,borderBottomWidth:0,borderBottomLeftRadius:0,borderBottomRightRadius:0}});n.style.height=t-r;const i=MTe(e)?e.box.height-(t-r):null,s=Object.assign({},e,{box:{...e.box,top:0,borderTopWidth:0},style:{...e.style,marginTop:0,paddingTop:0,borderTopWidth:0,borderTopLeftRadius:0,borderTopRightRadius:0}});return i&&(s.style.height=i),[n,s]},zTe=[qm,YS,Gm,JS],TK=e=>zTe.includes(e.type)?!1:e.props&&"wrap"in e.props?e.props.wrap:!0,_b=(e,t)=>{const{yogaNode:r}=e;return r?r.getComputedPadding(t):null},zy=e=>{const{style:t,box:r}=e,n=_b(e,Xn.Top)||r?.paddingTop||t?.paddingTop||0,i=_b(e,Xn.Right)||r?.paddingRight||t?.paddingRight||0,s=_b(e,Xn.Bottom)||r?.paddingBottom||t?.paddingBottom||0,o=_b(e,Xn.Left)||r?.paddingLeft||t?.paddingLeft||0;return{paddingTop:n,paddingRight:i,paddingBottom:s,paddingLeft:o}},$Te=e=>{const t=e.style?.height,{paddingBottom:r}=zy(e);return t-r},HTe=e=>{const t=e.style?.height,{paddingTop:r,paddingBottom:n}=zy(e);return t-n-r},uF=e=>typeof e=="string",qTe=e=>typeof e=="number",GTe=e=>typeof e=="boolean",VTe=e=>e&&e.type===Symbol.for("react.fragment"),Ux=e=>{if(!e)return[];if(Array.isArray(e))return e.reduce((o,l)=>o.concat(Ux(l)),[]);if(GTe(e))return[];if(uF(e)||qTe(e))return[{type:Qg,value:`${e}`}];if(VTe(e))return Ux(e.props.children);if(!uF(e.type))return Ux(e.type(e.props));const{type:t,props:{style:r={},children:n,...i}}=e,s=BE(n).reduce((o,l)=>o.concat(Ux(l)),[]);return[{type:t,style:r,props:i,children:s}]},WTe=e=>"break"in e.props?e.props.break:!1,KTe=e=>"minPresenceAhead"in e.props?e.props.minPresenceAhead:0,YTe=e=>Math.max(...e.map(t=>t.box.top+t.box.height)),ZTe=e=>e.box.top+e.box.height+e.box.marginBottom+KTe(e),JTe=(e,t)=>{const r=ZTe(e),n=YTe(t.filter(i=>!("fixed"in i.props)));return Math.min(r,n)},XTe=(e,t,r,n)=>{if("fixed"in e.props)return!1;const i=r!qw(c)).length>0;return WTe(e)||i&&!s||!i&&o>r&&l},e9e=[8232,8233],t9e=e=>e9e.reduce((t,r)=>e&&e.hasGlyphForCodePoint&&e.hasGlyphForCodePoint(r)?t:[...t,String.fromCharCode(r)],[]),r9e=e=>e.map(t=>{const r=t9e(t.attributes.font[0]),n=new RegExp(r.join("|"));return{string:t.string.replace(n,""),attributes:t.attributes}}),dF=[r9e,dTe],n9e=e=>e.type===Gm,i9e=e=>e.type===Qg,RK=(e,t,r=null,n=0)=>{if(!t)return[{string:""}];let i=[];const{color:s="black",direction:o="ltr",fontFamily:l="Helvetica",fontWeight:c,fontStyle:d,fontSize:u=18,textAlign:h,lineHeight:p,textDecoration:A,textDecorationColor:y,textDecorationStyle:v,textTransform:w,letterSpacing:j,textIndent:E,opacity:S,verticalAlign:_}=t.style,C=typeof l=="string"?[l]:[...l||[]];C.push("Helvetica");const Q=C.map(M=>{const O={fontFamily:M,fontWeight:c,fontStyle:d};return e.getFont(O)?.data}),R=n===0?null:t.style.backgroundColor,T={font:Q,color:s,opacity:S,fontSize:u,lineHeight:p,direction:o,verticalAlign:_,backgroundColor:R,indent:E,characterSpacing:j,strikeStyle:v,underlineStyle:v,underline:A==="underline"||A==="underline line-through"||A==="line-through underline",strike:A==="line-through"||A==="underline line-through"||A==="line-through underline",strikeColor:y||s,underlineColor:y||s,link:r||t.props?.src||t.props?.href,align:h||(o==="rtl"?"right":"left")};for(let M=0;M{const r=RK(e,t);return A8(r)},s9e={bidi:MW,linebreaker:UW,justification:HW,textDecoration:qW,scriptItemizer:GW,wordHyphenation:WW,fontSubstitution:KW},o9e=LW(s9e),l9e=e=>e.style?.maxLines,c9e=e=>e.style?.textOverflow,u9e=(e,t,r)=>{const n=l9e(r),i=c9e(r);return{x:0,y:0,width:e,maxLines:n,height:t||1/0,truncateMode:i}},d9e=(e,t)=>({hyphenationPenalty:t.props.hyphenationPenalty,shrinkWhitespaceFactor:{before:-.5,after:-.5},hyphenationCallback:t.props.hyphenationCallback||e?.getHyphenationCallback()||null}),r6=(e,t,r,n)=>{const i=a9e(n,e),s=u9e(t,r,e),o=d9e(n,e);return o9e(i,s,o).reduce((c,d)=>[...c,...d],[])},f9e=e=>e.type===qm,PK=e=>e.type===rr,h9e=e=>!f9e(e)&&!PK(e),m9e=e=>PK(e)&&!e.lines,N8=(e,t)=>{if(m9e(e)){const r=e.box.width-(e.box.paddingRight+e.box.paddingLeft),n=e.box.height-(e.box.paddingTop+e.box.paddingBottom);e.lines=r6(e,r,n,t)}if(h9e(e)){if(!e.children)return e;const r=i=>N8(i,t),n=e.children.map(r);return Object.assign({},e,{children:n})}return e},QK=["color","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","opacity","textDecoration","textTransform","lineHeight","textAlign","visibility","wordSpacing"],p9e=[...QK,"backgroundColor"],FK=e=>t=>t.type===e,g9e=FK(qm),A9e=FK(rr),x9e=(e,t,r)=>e==="textDecoration"?[r,t].filter(n=>n&&n!=="none").join(" "):t,v9e=(e,t)=>{const r={...e};return Object.entries(t).forEach(([n,i])=>{r[n]=x9e(n,i,e[n])}),r},y9e=e=>t=>{const r=v9e(e,t.style||{});return Object.assign({},t,{style:r})},S8=e=>{if(g9e(e)||!("children"in e))return e;const t=A9e(e)?p9e:QK,r=u8(t,e.style||{}),n=Nc(S8,y9e(r)),i=e.children.map(n);return Object.assign({},e,{children:i})},Db=(e,t)=>{const{yogaNode:r}=e;return r?r.getComputedMargin(t):null},B8=e=>{const{style:t,box:r}=e,n=Db(e,Xn.Top)||r?.marginTop||t?.marginTop||0,i=Db(e,Xn.Right)||r?.marginRight||t?.marginRight||0,s=Db(e,Xn.Bottom)||r?.marginBottom||t?.marginBottom||0,o=Db(e,Xn.Left)||r?.marginLeft||t?.marginLeft||0;return{marginTop:n,marginRight:i,marginBottom:s,marginLeft:o}},b9e=e=>{const{yogaNode:t}=e;return{top:t?.getComputedTop()||0,right:t?.getComputedRight()||0,bottom:t?.getComputedBottom()||0,left:t?.getComputedLeft()||0}},w9e={width:0,height:0},E9e=e=>{const{yogaNode:t}=e;return t?{width:t.getComputedWidth(),height:t.getComputedHeight()}:w9e},Tb=(e,t)=>e?e.getComputedBorder(t):0,C9e=e=>{const{yogaNode:t}=e;return{borderTopWidth:Tb(t,Xn.Top),borderRightWidth:Tb(t,Xn.Right),borderBottomWidth:Tb(t,Xn.Bottom),borderLeftWidth:Tb(t,Xn.Left)}},I9e=e=>t=>{const{yogaNode:r}=t;return r&&r.setDisplay(e==="none"?nv.None:nv.Flex),t},j9e={hidden:n1.Hidden,scroll:n1.Scroll},N9e=e=>t=>{const{yogaNode:r}=t;if(!Oa(e)&&r){const n=j9e[e]||n1.Visible;r.setOverflow(n)}return t},S9e={wrap:a1.Wrap,"wrap-reverse":a1.WrapReverse},B9e=e=>t=>{const{yogaNode:r}=t;if(r){const n=S9e[e]||a1.NoWrap;r.setFlexWrap(n)}return t},pa=(e,t)=>r=>n=>{const{yogaNode:i}=n;if(!Oa(r)&&i){const s=!Oa(t),o=`set${Qv(e)}`,l=`${o}Auto`,c=`${o}Percent`,d=Po(r);if(d&&!i[c])throw new Error(`You can't pass percentage values to ${e} property`);d?s?i[c]?.(t,d.value):i[c]?.(d.value):r==="auto"?s?i[l]?.(t):i[l]?.():s?i[o]?.(t,r):i[o]?.(r)}return n},k9e=e=>t=>pa("flexGrow")(e||0)(t),_9e=pa("flexBasis"),D9e={"flex-start":uo.FlexStart,center:uo.Center,"flex-end":uo.FlexEnd,stretch:uo.Stretch,baseline:uo.Baseline,"space-between":uo.SpaceBetween,"space-around":uo.SpaceAround,"space-evenly":uo.SpaceEvenly},k8=e=>t=>r=>{const{yogaNode:n}=r,i=e==="items"?uo.Stretch:uo.Auto;if(n){const s=D9e[t]||i;n[`setAlign${Qv(e)}`](s)}return r},T9e=k8("self"),R9e=k8("items"),P9e=e=>t=>pa("flexShrink")(e||1)(t),Q9e=e=>t=>{const{yogaNode:r}=t;return!Oa(e)&&r&&r.setAspectRatio(e),t},F9e=k8("content"),O9e={absolute:i1.Absolute,relative:i1.Relative,static:i1.Static},L9e=e=>t=>{const{yogaNode:r}=t;return!Oa(e)&&r&&r.setPositionType(O9e[e]),t},M9e={row:pm.Row,"row-reverse":pm.RowReverse,"column-reverse":pm.ColumnReverse},U9e=e=>t=>{const{yogaNode:r}=t;if(r){const n=M9e[e]||pm.Column;r.setFlexDirection(n)}return t},z9e={center:Zu.Center,"flex-end":Zu.FlexEnd,"space-between":Zu.SpaceBetween,"space-around":Zu.SpaceAround,"space-evenly":Zu.SpaceEvenly},$9e=e=>t=>{const{yogaNode:r}=t;if(!Oa(e)&&r){const n=z9e[e]||Zu.FlexStart;r.setJustifyContent(n)}return t},H9e=pa("margin",Xn.Top),q9e=pa("margin",Xn.Right),G9e=pa("margin",Xn.Bottom),V9e=pa("margin",Xn.Left),W9e=pa("padding",Xn.Top),K9e=pa("padding",Xn.Right),Y9e=pa("padding",Xn.Bottom),Z9e=pa("padding",Xn.Left),J9e=pa("border",Xn.Top),X9e=pa("border",Xn.Right),eRe=pa("border",Xn.Bottom),tRe=pa("border",Xn.Left),rRe=pa("position",Xn.Top),nRe=pa("position",Xn.Right),iRe=pa("position",Xn.Bottom),aRe=pa("position",Xn.Left),sRe=pa("width"),oRe=pa("minWidth"),lRe=pa("maxWidth"),cRe=pa("height"),uRe=pa("minHeight"),dRe=pa("maxHeight"),fRe=pa("gap",iv.Row),hRe=pa("gap",iv.Column),mRe=e=>!e||typeof e=="string"?null:(e.maxX-e.minX)/(e.maxY-e.minY),pRe=(e,t)=>(r,n,i,s)=>{const o=mRe(t.props.viewBox)||1;return n===nl.Exactly||n===nl.AtMost?{width:r,height:r/o}:s===nl.Exactly?{width:i*o}:{}},fF=e=>e.lines?Math.max(0,...e.lines.map(t=>t.xAdvance)):0,hF=e=>e.lines?e.lines.reduce((t,r)=>t+r.box.height,0):-1,gRe={center:.5,right:1},ARe=(e,t,r)=>(n,i,s)=>{if(i===nl.Exactly)return t.lines||(t.lines=r6(t,n,s,r)),{height:hF(t),width:n};if(i===nl.AtMost){const o=gRe[t.style?.textAlign]||0;return t.lines||(t.lines=r6(t,n,s,r),t.alignOffset=(n-fF(t))*o),{height:hF(t),width:Math.min(n,fF(t))}}return{}},xRe=e=>e.image?.data?e.image.width/e.image.height:1,OK=e=>Oa(e.box?.height),vRe=10,yRe=(e,t)=>(r,n,i,s)=>{const o=xRe(t),l=B8(t),c=zy(e),d=OK(e)?1/0:(e.box?.height||0)-c.paddingTop-c.paddingBottom-l.marginTop-l.marginBottom-vRe;if(!t.image)return{width:0,height:0};if(n===nl.Exactly&&s===nl.Undefined){const u=r/o;return{height:Math.min(d,u)}}if(s===nl.Exactly&&(n===nl.AtMost||n===nl.Undefined))return{width:Math.min(i*o,r)};if(n===nl.Exactly&&s===nl.AtMost){const u=r/o;return{height:Math.min(i,d,u)}}return n===nl.AtMost&&s===nl.AtMost?o>1?{width:r,height:Math.min(r/o,i)}:{height:i,width:Math.min(i*o,r)}:{height:i,width:r}},bRe=10,mF=e=>Math.max(-1/0,...e),wRe=()=>{const e={},t=[],r=()=>e,n=(c,d)=>t.push([c,d]),i=(c,d)=>(n(c,d),e),s=(c,d,u,h)=>(n(c,d),n(c+u,d),n(c,d+h),n(c+u,d+h),e),o=(c,d,u,h)=>(h=h||u,n(c-u,d-h),n(c+u,d-h),n(c+u,d+h),n(c-u,d+h),e),l=(...c)=>(t.push(...c),e);return e.rect=s,e.moveTo=i,e.lineTo=i,e.circle=o,e.polygon=l,e.ellipse=o,e.roundedRect=s,e.text=r,e.path=r,e.lineWidth=r,e.bezierCurveTo=r,e.quadraticCurveTo=r,e.scale=r,e.rotate=r,e.translate=r,e.dash=r,e.clip=r,e.save=r,e.fill=r,e.font=r,e.stroke=r,e.lineCap=r,e.opacity=r,e.restore=r,e.lineJoin=r,e.fontSize=r,e.fillColor=r,e.miterLimit=r,e.strokeColor=r,e.fillOpacity=r,e.strokeOpacity=r,e.linearGradient=r,e.radialGradient=r,e.getWidth=()=>mF(t.map(c=>c[0])),e.getHeight=()=>mF(t.map(c=>c[1])),e},ERe=(e,t)=>()=>{const r=B8(t),n=zy(e),i=OK(e)?1/0:(e.box?.height||0)-n.paddingTop-n.paddingBottom-r.marginTop-r.marginBottom-bRe,s=wRe();t.props.paint(s);const o=s.getWidth(),l=Math.min(i,s.getHeight());return{width:o,height:l}},Gg=e=>t=>t.type===e,LK=Gg(qm),MK=Gg(rr),CRe=Gg(YS),IRe=Gg(H4),jRe=Gg(Gm),NRe=Gg(JS),SRe=Gg(Qg),BRe=e=>{const t=IRe(e)?e.box?.height:e.style?.height;return cRe(t)},kRe=e=>{Nc(BRe(e),sRe(e.style.width),oRe(e.style.minWidth),lRe(e.style.maxWidth),uRe(e.style.minHeight),dRe(e.style.maxHeight),H9e(e.style.marginTop),q9e(e.style.marginRight),G9e(e.style.marginBottom),V9e(e.style.marginLeft),W9e(e.style.paddingTop),K9e(e.style.paddingRight),Y9e(e.style.paddingBottom),Z9e(e.style.paddingLeft),L9e(e.style.position),rRe(e.style.top),nRe(e.style.right),iRe(e.style.bottom),aRe(e.style.left),J9e(e.style.borderTopWidth),X9e(e.style.borderRightWidth),eRe(e.style.borderBottomWidth),tRe(e.style.borderLeftWidth),I9e(e.style.display),U9e(e.style.flexDirection),T9e(e.style.alignSelf),F9e(e.style.alignContent),R9e(e.style.alignItems),$9e(e.style.justifyContent),B9e(e.style.flexWrap),N9e(e.style.overflow),Q9e(e.style.aspectRatio),_9e(e.style.flexBasis),k9e(e.style.flexGrow),P9e(e.style.flexShrink),fRe(e.style.rowGap),hRe(e.style.columnGap))(e)},_Re=e=>t=>(e.insertChild(t.yogaNode,e.getChildCount()),t),DRe=(e,t,r)=>{const{yogaNode:n}=e;return MK(e)&&n.setMeasureFunc(ARe(t,e,r)),jRe(e)&&n.setMeasureFunc(yRe(t,e)),NRe(e)&&n.setMeasureFunc(ERe(t,e)),LK(e)&&n.setMeasureFunc(pRe(t,e)),e},TRe=e=>!MK(e)&&!CRe(e)&&!LK(e),UK=(e,t,r)=>n=>{const i=r.node.create(),s=Object.assign({},n,{yogaNode:i});if(kRe(s),TRe(n)&&n.children){const o=Nc(_Re(i),UK(e,t,r));s.children=n.children.map(o)}return DRe(s,e,t),s},RRe=e=>(e.yogaNode.calculateLayout(),e),zK=e=>{if(SRe(e))return e;const t=Object.assign(zy(e),B8(e),C9e(e),b9e(e),E9e(e)),r=Object.assign({},e,{box:t});if(!e.children)return r;const n=e.children.map(zK);return Object.assign({},r,{children:n})},$K=e=>{const t=Object.assign({},e);if(delete t.yogaNode,!e.children)return t;const r=e.children.map($K);return Object.assign({},t,{children:r})},PRe=e=>(e.yogaNode&&e.yogaNode.freeRecursive(),e),HK=(e,t,r)=>Oa(e)?null:Nc($K,PRe,zK,RRe,UK(e,t,r))(e),QRe=(e,t)=>{if(!e.children)return e;const r=i=>HK(i,t,e.yoga),n=e.children.map(r);return Object.assign({},e,{children:n})},qK=e=>e.type===rr,FRe=.001,n6=(e,t)=>Object.assign({},t,{children:e}),GK=e=>e.box?.top||0,ORe=e=>e.every(qw),VK=e=>e.props&&"render"in e.props,WK=Nc(N8,HK,S8,_K),LRe=e=>{console.warn(`Node of type ${e.type} can't wrap between pages and it's bigger than available page height`)},KK=(e,t,r)=>{const n=[],i=[];for(let s=0;s0&&w.children.length===0){if(n.length===0)n.push(o,...c),i.push(...l);else{const E=Object.assign({},o.box,{top:o.box.top-e}),S=Object.assign({},o,{box:E});n.push(...c),i.push(S,...l)}break}w&&n.push(w),j&&i.push(j);continue}n.push(o)}return[n,i]},MRe=(e,t,r)=>{const n=r.children||[],i=e-GK(r);return KK(i,t,n)},URe=(e,t,r)=>{const[n,i]=UTe(e,t),[s,o]=MRe(t,r,e);return[n6(s,n),n6(o,i)]},zRe=(e,t,r)=>qK(e)?OTe(e,t):URe(e,t,r),YK=e=>{const t=e.children||[];return VK(e)||t.some(YK)},i6=(e,t)=>{const r=VK(t),n=(c=[])=>{if(r){const d=t.props.render(e);return Ux(d).filter(Boolean).map(u=>i6(e,u))}return c.map(d=>i6(e,d))},s=r&&qK(t)?{...t.box,height:0}:t.box,o=n(t.children),l=r?null:t.lines;return Object.assign({},t,{box:s,lines:l,children:o})},ZK=(e,t,r,n)=>{if(YK(t)){const i=i6(e,t);return WK(i,r,n)}return t},pF=(e,t,r,n)=>{const i=$Te(e),s=HTe(e),o=ZK({pageNumber:t},e,r,n),l=e.style.height,[c,d]=KK(i,s,o.children),u=w=>WK(w,r,n),h={...e.box,height:l},p=u(Object.assign({},e,{box:h,children:c}));if(d.length===0||ORe(d))return[p,null];const A=JN("height",e.box),y=JN("bookmark",e.props),v=u(Object.assign({},e,{props:y,box:A,children:d}));return[p,v]},$Re=(e,t,r,n,i)=>{const o={totalPages:i.length,pageNumber:n+1,subPageNumber:r.subPageNumber+1,subPageTotalPages:r.subPageTotalPages};return ZK(o,r,e,t)},HRe=e=>e.map((t,r)=>({...t,subPageNumber:r,subPageTotalPages:e.length})),qRe=e=>JN(["subPageNumber","subPageTotalPages"],e),GRe=(e,t,r,n)=>{if(!e)return[];if(e.props?.wrap===!1)return[e];let i=pF(e,t,r,n);const s=[i[0]];let o=i[1];for(;o!==null;)i=pF(o,t+s.length,r,n),s.push(i[0]),o=i[1];return s},VRe=(e,t)=>{let r=[],n=1;for(let i=0;iqRe($Re(t,e.yoga,...i))),n6(r,e)},gF=e=>t=>{const r=Po(t),n=e.width;return r?r.percent*n:t},AF=e=>t=>{const r=Po(t),n=e.height;return r?r.percent*n:t},WRe=e=>{const t=e.style,r=kE({paddingTop:AF(t),paddingLeft:gF(t),paddingRight:gF(t),paddingBottom:AF(t)},e.style);return Object.assign({},e,{style:r})},KRe=e=>{if(!e.children)return e;const t=e.children.map(WRe);return Object.assign({},e,{children:t})},Rb=e=>t=>{if(!t)return;const r=Po(t);return r?r.percent*Math.min(e.width,e.height):t},JK=e=>{const t=kE({borderTopLeftRadius:Rb(e.box),borderTopRightRadius:Rb(e.box),borderBottomRightRadius:Rb(e.box),borderBottomLeftRadius:Rb(e.box)},e.style||{}),r=Object.assign({},e,{style:t});if(!e.children)return r;const n=e.children.map(JK);return Object.assign({},r,{children:n})},YRe=(e,t)=>{const r=Po(t);return r?r.percent*e:t},ZRe=e=>{const t=e.style.height,r=e.style?.paddingTop||0,n=e.style?.paddingBottom||0;return t-r-n},JRe=(e,t)=>{if(Oa(e.style?.height)||Oa(t.style?.height))return t;const r=ZRe(e),n=YRe(r,t.style.height),i=Object.assign({},t.style,{height:n});return Object.assign({},t,{style:i})},XRe=e=>{if(!e.children)return e;const t=n=>JRe(e,n),r=e.children.map(t);return Object.assign({},e,{children:r})},ePe=e=>{if(!e.children)return e;const t=e.children.map(XRe);return Object.assign({},e,{children:t})},_8=e=>t=>t.type===e,tPe=_8(KS),XK=_8(rr),eY=_8(Qg),rPe=e=>"render"in e.props,nPe=e=>XK(e)||eY(e),iPe=e=>{const t=e.children||[];return t.every(eY)?!0:t.every(XK)?!1:t.every(nPe)},aPe=e=>{const t={type:rr,props:{},style:{},box:{},children:e.children};return Object.assign({},e,{children:[t]})},sPe=e=>tPe(e)?rPe(e)?Object.assign({},e,{type:rr}):iPe(e)?aPe(e):e:e,tY=e=>{if(!e.children)return e;const t=Nc(sPe,tY),r=e.children.map(t);return Object.assign({},e,{children:r})},oPe=P6e(lTe,bTe,sF,VRe,N8,JK,QRe,NK,sF,S8,ePe,KRe,vTe,tY,ETe,RTe,aTe);var I3={exports:{}},j3={};var xF;function lPe(){return xF||(xF=1,(function(e){function t(G,J){var q=G.length;G.push(J);e:for(;0>>1,ne=G[ee];if(0>>1;eei(de,q))xei(_e,de)?(G[ee]=_e,G[xe]=q,ee=xe):(G[ee]=de,G[ue]=q,ee=ue);else if(xei(_e,q))G[ee]=_e,G[xe]=q,ee=xe;else break e}}return J}function i(G,J){var q=G.sortIndex-J.sortIndex;return q!==0?q:G.id-J.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,h=null,p=3,A=!1,y=!1,v=!1,w=typeof setTimeout=="function"?setTimeout:null,j=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function S(G){for(var J=r(d);J!==null;){if(J.callback===null)n(d);else if(J.startTime<=G)n(d),J.sortIndex=J.expirationTime,t(c,J);else break;J=r(d)}}function _(G){if(v=!1,S(G),!y)if(r(c)!==null)y=!0,X();else{var J=r(d);J!==null&&W(_,J.startTime-G)}}var C=!1,Q=-1,R=5,T=-1;function M(){return!(e.unstable_now()-TG&&M());){var ee=h.callback;if(typeof ee=="function"){h.callback=null,p=h.priorityLevel;var ne=ee(h.expirationTime<=G);if(G=e.unstable_now(),typeof ne=="function"){h.callback=ne,S(G),J=!0;break t}h===r(c)&&n(c),S(G)}else n(c);h=r(c)}if(h!==null)J=!0;else{var V=r(d);V!==null&&W(_,V.startTime-G),J=!1}}break e}finally{h=null,p=q,A=!1}J=void 0}}finally{J?$():C=!1}}}var $;if(typeof E=="function")$=function(){E(O)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,L=P.port2;P.port1.onmessage=O,$=function(){L.postMessage(null)}}else $=function(){w(O,0)};function X(){C||(C=!0,$())}function W(G,J){Q=w(function(){G(e.unstable_now())},J)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(G){G.callback=null},e.unstable_continueExecution=function(){y||A||(y=!0,X())},e.unstable_forceFrameRate=function(G){0>G||125ee?(G.sortIndex=q,t(d,G),r(c)===null&&G===r(d)&&(v?(j(Q),Q=-1):v=!0,W(_,q-ee))):(G.sortIndex=ne,t(c,G),y||A||(y=!0,X())),G},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(G){var J=p;return function(){var q=p;p=J;try{return G.apply(this,arguments)}finally{p=q}}}})(j3)),j3}var vF;function cPe(){return vF||(vF=1,I3.exports=lPe()),I3.exports}var rY=cPe();const uPe=ma(rY),nY=dO({__proto__:null,default:uPe},[rY]);function dPe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function fPe(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach((function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})})),r}var yF,iY={exports:{}},bF={exports:{}},hPe=fPe(nY),Pb;iY.exports=(yF||(yF=1,(Pb=bF).exports=function(e){function t(g,x,D,U){return new mf(g,x,D,U)}function r(g){var x="https://react.dev/errors/"+g;if(1)":-1--Z||Ge[U]!==St[Z]){var vr=` `+Ge[U].replace(" at new "," at ");return g.displayName&&vr.includes("")&&(vr=vr.replace("",g.displayName)),vr}while(1<=U&&0<=Z);break}}}finally{pp=!1,Error.prepareStackTrace=D}return(D=g?g.displayName||g.name:"")?s(D):""}function l(g){switch(g.tag){case 26:case 27:case 5:return s(g.type);case 16:return s("Lazy");case 13:return s("Suspense");case 19:return s("SuspenseList");case 0:case 15:return o(g.type,!1);case 11:return o(g.type.render,!1);case 1:return o(g.type,!0);default:return""}}function c(g){try{var x="";do x+=l(g),g=g.return;while(g);return x}catch(D){return` Error generating stack: `+D.message+` `+D.stack}}function d(g){return{current:g}}function u(g){0>fd||(g.current=Ap[fd],Ap[fd]=null,fd--)}function h(g,x){fd++,Ap[fd]=g.current,g.current=x}function p(g){var x=42&g;if(x!==0)return x;switch(g&-g){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:return 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 4194176&g;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&g;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return g}}function A(g,x){var D=g.pendingLanes;if(D===0)return 0;var U=0,Z=g.suspendedLanes;g=g.pingedLanes;var se=134217727&D;return se!==0?(D=se&~Z)!=0?U=p(D):(g&=se)!=0&&(U=p(g)):(D&=~Z)!=0?U=p(D):g!==0&&(U=p(g)),U===0?0:x!==0&&x!==U&&(x&Z)==0&&((Z=U&-U)>=(g=x&-x)||Z===32&&(4194176&g)!=0)?x:U}function y(g,x){switch(g){case 1:case 2:case 4:case 8:return x+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return x+5e3;default:return-1}}function v(){var g=xp;return(4194176&(xp<<=1))==0&&(xp=128),g}function w(){var g=dx;return(62914560&(dx<<=1))==0&&(dx=4194304),g}function j(g){for(var x=[],D=0;31>D;D++)x.push(g);return x}function E(g,x){g.pendingLanes|=x,x!==268435456&&(g.suspendedLanes=0,g.pingedLanes=0,g.warmLanes=0)}function S(g,x,D){g.pendingLanes|=x,g.suspendedLanes&=~x;var U=31-$c(x);g.entangledLanes|=x,g.entanglements[U]=1073741824|g.entanglements[U]|4194218&D}function _(g,x){var D=g.entangledLanes|=x;for(g=g.entanglements;D;){var U=31-$c(D),Z=1<Qn?(Pa=un,un=null):Pa=un.sibling;var Yn=Wt(gn,un,di[Qn],ws);if(Yn===null){un===null&&(un=Pa);break}g&&un&&Yn.alternate===null&&x(gn,un),Hn=se(Yn,Hn,Qn),ua===null?ls=Yn:ua.sibling=Yn,ua=Yn,un=Pa}if(Qn===di.length)return D(gn,un),ls;if(un===null){for(;QnQn?(Pa=un,un=null):Pa=un.sibling;var Ca=Wt(gn,un,Yn.value,ws);if(Ca===null){un===null&&(un=Pa);break}g&&un&&Ca.alternate===null&&x(gn,un),Hn=se(Ca,Hn,Qn),ua===null?ls=Ca:ua.sibling=Ca,ua=Ca,un=Pa}if(Yn.done)return D(gn,un),ls;if(un===null){for(;!Yn.done;Qn++,Yn=di.next())(Yn=gr(gn,Yn.value,ws))!==null&&(Hn=se(Yn,Hn,Qn),ua===null?ls=Yn:ua.sibling=Yn,ua=Yn);return ls}for(un=U(un);!Yn.done;Qn++,Yn=di.next())(Yn=Qr(un,gn,Qn,Yn.value,ws))!==null&&(g&&Yn.alternate!==null&&un.delete(Yn.key===null?Qn:Yn.key),Hn=se(Yn,Hn,Qn),ua===null?ls=Yn:ua.sibling=Yn,ua=Yn);return g&&un.forEach((function(eu){return x(gn,eu)})),ls})(ut,st,It=Fi.call(It),ft)}if(typeof It.then=="function")return Ea(ut,st,Jt(It),ft);if(It.$$typeof===Eo)return Ea(ut,st,_a(ut,It),ft);tr(ut,It)}return typeof It=="string"&&It!==""||typeof It=="number"||typeof It=="bigint"?(It=""+It,st!==null&&st.tag===6?(D(ut,st.sibling),(st=Z(st,It)).return=ut,ut=st):(D(ut,st),(st=x0(It,ut.mode,ft)).return=ut,ut=st),je(ut)):D(ut,st)}return function(ut,st,It,ft){try{md=0;var tn=Ea(ut,st,It,ft);return Ra=null,tn}catch(gn){if(gn===jf)throw gn;var Fi=t(29,gn,null,ut.mode);return Fi.lanes=ft,Fi.return=ut,Fi}}}function wt(g,x){h(Qs,g=Mu),h(kh,x),Mu=g|x.baseLanes}function Lt(){h(Qs,Mu),h(kh,kh.current)}function ir(){Mu=Qs.current,u(kh),u(Qs)}function He(g){var x=g.alternate;h(as,1&as.current),h(Vc,g),Wc===null&&(x===null||kh.current!==null||x.memoizedState!==null)&&(Wc=g)}function ce(g){if(g.tag===22){if(h(as,as.current),h(Vc,g),Wc===null){var x=g.alternate;x!==null&&x.memoizedState!==null&&(Wc=g)}}else Le()}function Le(){h(as,as.current),h(Vc,Vc.current)}function rt(g){u(Vc),Wc===g&&(Wc=null),u(as)}function ie(g){for(var x=g;x!==null;){if(x.tag===13){var D=x.memoizedState;if(D!==null&&((D=D.dehydrated)===null||Ct(D)||Tr(D)))return x}else if(x.tag===19&&x.memoizedProps.revealOrder!==void 0){if((128&x.flags)!=0)return x}else if(x.child!==null){x.child.return=x,x=x.child;continue}if(x===g)break;for(;x.sibling===null;){if(x.return===null||x.return===g)return null;x=x.return}x.sibling.return=x.return,x=x.sibling}return null}function ae(){throw Error(r(321))}function Ee(g,x){if(x===null)return!1;for(var D=0;Dse?se:8);var je,Me,Ge,St=bn.T,vr={};bn.T=vr,mn(g,!1,x,D);try{var gr=Z(),Wt=bn.S;Wt!==null&&Wt(vr,gr),gr!==null&&typeof gr=="object"&&typeof gr.then=="function"?Ei(g,x,(je=U,Me=[],Ge={status:"pending",value:null,reason:null,then:function(Qr){Me.push(Qr)}},gr.then((function(){Ge.status="fulfilled",Ge.value=je;for(var Qr=0;QrNp&&(x.flags|=128,U=!0,f0(Z,!1),x.lanes=4194304)}else{if(!U)if((g=ie(se))!==null){if(x.flags|=128,U=!0,g=g.updateQueue,x.updateQueue=g,J0(x,g),f0(Z,!0),Z.tail===null&&Z.tailMode==="hidden"&&!se.alternate)return As(x),null}else 2*yl()-Z.renderingStartTime>Np&&D!==536870912&&(x.flags|=128,U=!0,f0(Z,!1),x.lanes=4194304);Z.isBackwards?(se.sibling=x.child,x.child=se):((g=Z.last)!==null?g.sibling=se:x.child=se,Z.last=se)}return Z.tail!==null?(x=Z.tail,Z.rendering=x,Z.tail=x.sibling,Z.renderingStartTime=yl(),x.sibling=null,g=as.current,h(as,U?1&g|2:1&g),x):(As(x),null);case 22:case 23:return rt(x),ir(),U=x.memoizedState!==null,g!==null?g.memoizedState!==null!==U&&(x.flags|=8192):U&&(x.flags|=8192),U?(536870912&D)!=0&&(128&x.flags)==0&&(As(x),6&x.subtreeFlags&&(x.flags|=8192)):As(x),(D=x.updateQueue)!==null&&J0(x,D.retryQueue),D=null,g!==null&&g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(D=g.memoizedState.cachePool.pool),U=null,x.memoizedState!==null&&x.memoizedState.cachePool!==null&&(U=x.memoizedState.cachePool.pool),U!==D&&(x.flags|=2048),g!==null&&u(Rh),null;case 24:return D=null,g!==null&&(D=g.memoizedState.cache),x.memoizedState.cache!==D&&(x.flags|=2048),Ni(Fs),As(x),null;case 25:return null}throw Error(r(156,x.tag))}function Yg(g,x){switch(T(x),x.tag){case 1:return 65536&(g=x.flags)?(x.flags=-65537&g|128,x):null;case 3:return Ni(Fs),O(),(65536&(g=x.flags))!=0&&(128&g)==0?(x.flags=-65537&g|128,x):null;case 26:case 27:case 5:return P(x),null;case 13:if(rt(x),(g=x.memoizedState)!==null&&g.dehydrated!==null&&x.alternate===null)throw Error(r(340));return 65536&(g=x.flags)?(x.flags=-65537&g|128,x):null;case 19:return u(as),null;case 4:return O(),null;case 10:return Ni(x.type),null;case 22:case 23:return rt(x),ir(),g!==null&&u(Rh),65536&(g=x.flags)?(x.flags=-65537&g|128,x):null;case 24:return Ni(Fs),null;default:return null}}function ip(g,x){switch(T(x),x.tag){case 3:Ni(Fs),O();break;case 26:case 27:case 5:P(x);break;case 4:O();break;case 13:rt(x);break;case 19:u(as);break;case 10:Ni(x.type);break;case 22:case 23:rt(x),ir(),g!==null&&u(Rh);break;case 24:Ni(Fs)}}function X0(g,x){try{var D=x.updateQueue,U=D!==null?D.lastEffect:null;if(U!==null){var Z=U.next;D=Z;do{if((D.tag&g)===g){U=void 0;var se=D.create,je=D.inst;U=se(),je.destroy=U}D=D.next}while(D!==Z)}}catch(Me){Dr(x,x.return,Me)}}function Pc(g,x,D){try{var U=x.updateQueue,Z=U!==null?U.lastEffect:null;if(Z!==null){var se=Z.next;U=se;do{if((U.tag&g)===g){var je=U.inst,Me=je.destroy;if(Me!==void 0){je.destroy=void 0,Z=x;var Ge=D;try{Me()}catch(St){Dr(Z,Ge,St)}}}U=U.next}while(U!==se)}}catch(St){Dr(x,x.return,St)}}function fh(g){var x=g.updateQueue;if(x!==null){var D=g.stateNode;try{pt(x,D)}catch(U){Dr(g,g.return,U)}}}function lf(g,x,D){D.props=zo(g.type,g.memoizedProps),D.state=g.memoizedState;try{D.componentWillUnmount()}catch(U){Dr(g,x,U)}}function ed(g,x){try{var D=g.ref;if(D!==null){var U=g.stateNode;switch(g.tag){case 26:case 27:case 5:var Z=Co(U);break;default:Z=U}typeof D=="function"?g.refCleanup=D(Z):D.current=Z}}catch(se){Dr(g,x,se)}}function Rl(g,x){var D=g.ref,U=g.refCleanup;if(D!==null)if(typeof U=="function")try{U()}catch(Z){Dr(g,x,Z)}finally{g.refCleanup=null,(g=g.alternate)!=null&&(g.refCleanup=null)}else if(typeof D=="function")try{D(null)}catch(Z){Dr(g,x,Z)}else D.current=null}function Zg(g){var x=g.type,D=g.memoizedProps,U=g.stateNode;try{Fe(U,x,D,g)}catch(Z){Dr(g,g.return,Z)}}function Ho(g){return g.tag===5||g.tag===3||g.tag===4}function qo(g){e:for(;;){for(;g.sibling===null;){if(g.return===null||Ho(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(2&g.flags||g.child===null||g.tag===4)continue e;g.child.return=g,g=g.child}if(!(2&g.flags))return g.stateNode}}function hh(g,x,D){var U=g.tag;if(U===5||U===6)g=g.stateNode,x?ar(D,g,x):oe(D,g);else if(U!==4&&!dd&&(g=g.child)!==null)for(hh(g,x,D),g=g.sibling;g!==null;)hh(g,x,D),g=g.sibling}function mh(g,x,D){var U=g.tag;if(U===5||U===6)g=g.stateNode,x?Rt(D,g,x):te(D,g);else if(U!==4&&!dd&&(g=g.child)!==null)for(mh(g,x,D),g=g.sibling;g!==null;)mh(g,x,D),g=g.sibling}function ph(g,x,D){var U=D.flags;switch(D.tag){case 0:case 11:case 15:Ql(g,D),4&U&&X0(5,D);break;case 1:if(Ql(g,D),4&U)if(g=D.stateNode,x===null)try{g.componentDidMount()}catch(Me){Dr(D,D.return,Me)}else{var Z=zo(D.type,x.memoizedProps);x=x.memoizedState;try{g.componentDidUpdate(Z,x,g.__reactInternalSnapshotBeforeUpdate)}catch(Me){Dr(D,D.return,Me)}}64&U&&fh(D),512&U&&ed(D,D.return);break;case 3:if(Ql(g,D),64&U&&(U=D.updateQueue)!==null){if(g=null,D.child!==null)switch(D.child.tag){case 27:case 5:g=Co(D.child.stateNode);break;case 1:g=D.child.stateNode}try{pt(U,g)}catch(Me){Dr(D,D.return,Me)}}break;case 26:case 27:case 5:Ql(g,D),x===null&&4&U&&Zg(D),512&U&&ed(D,D.return);break;case 12:case 13:default:Ql(g,D);break;case 22:if(!(Z=D.memoizedState!==null||j0)){x=x!==null&&x.memoizedState!==null||jo;var se=j0,je=jo;j0=Z,(jo=x)&&!je?bu(g,D,(8772&D.subtreeFlags)!=0):Ql(g,D),j0=se,jo=je}512&U&&(D.memoizedProps.mode==="manual"?ed(D,D.return):Rl(D,D.return))}}function ap(g){var x=g.alternate;x!==null&&(g.alternate=null,ap(x)),g.child=null,g.deletions=null,g.sibling=null,g.tag===5&&(x=g.stateNode)!==null&&Rs(x),g.stateNode=null,g.return=null,g.dependencies=null,g.memoizedProps=null,g.memoizedState=null,g.pendingProps=null,g.stateNode=null,g.updateQueue=null}function Qc(g,x,D){for(D=D.child;D!==null;)sp(g,x,D),D=D.sibling}function sp(g,x,D){switch(D.tag){case 26:case 27:var U,Z;case 5:jo||Rl(D,x);case 6:if(U=tl,Z=Lu,tl=null,Qc(g,x,D),Lu=Z,(tl=U)!==null)if(Lu)try{Vi(tl,D.stateNode)}catch(se){Dr(D,x,se)}else try{Pr(tl,D.stateNode)}catch(se){Dr(D,x,se)}break;case 18:tl!==null&&(Lu?pn(tl,D.stateNode):Lr(tl,D.stateNode));break;case 4:U=tl,Z=Lu,tl=D.stateNode.containerInfo,Lu=!0,Qc(g,x,D),tl=U,Lu=Z;break;case 0:case 11:case 14:case 15:jo||Pc(2,D,x),jo||Pc(4,D,x),Qc(g,x,D);break;case 1:jo||(Rl(D,x),typeof(U=D.stateNode).componentWillUnmount=="function"&&lf(D,x,U)),Qc(g,x,D);break;case 21:Qc(g,x,D);break;case 22:Rl(D,x),jo=(U=jo)||D.memoizedState!==null,Qc(g,x,D),jo=U;break;default:Qc(g,x,D)}}function cf(g,x){var D=(function(U){switch(U.tag){case 13:case 19:var Z=U.stateNode;return Z===null&&(Z=U.stateNode=new Ax),Z;case 22:return(Z=(U=U.stateNode)._retryCache)===null&&(Z=U._retryCache=new Ax),Z;default:throw Error(r(435,U.tag))}})(g);x.forEach((function(U){var Z=od.bind(null,g,U);D.has(U)||(D.add(U),U.then(Z,Z))}))}function Pl(g,x){var D=x.deletions;if(D!==null)for(var U=0;UD?32:D;D=bn.T;var Z=vi();try{if(ii(U),bn.T=null,xd===null)var se=!1;else{U=gA,gA=null;var je=xd,Me=kf;if(xd=null,kf=0,(6&Wa)!=0)throw Error(r(331));var Ge=Wa;Wa|=4,h0(je.current),Fl(je,je.current,Me,U),Wa=Ge,ne(0),nA&&nA.onPostCommitFiberRoot,se=!0}return se}finally{ii(Z),bn.T=D,Iu(g,x)}}return!1}function ao(g,x,D){x=R(D,x),(g=Ie(g,x=rs(g.stateNode,x,2),2))!==null&&(E(g,2),ee(g))}function Dr(g,x,D){if(g.tag===3)ao(g,g,D);else for(;x!==null;){if(x.tag===3){ao(x,g,D);break}if(x.tag===1){var U=x.stateNode;if(typeof x.type.getDerivedStateFromError=="function"||typeof U.componentDidCatch=="function"&&(zu===null||!zu.has(U))){g=R(D,g),(U=Ie(x,D=Vs(2),2))!==null&&(ks(D,U,x,g),E(U,2),ee(U));break}}x=x.return}}function Da(g,x,D){var U=g.pingCache;if(U===null){U=g.pingCache=new C2;var Z=new Set;U.set(x,Z)}else(Z=U.get(x))===void 0&&(Z=new Set,U.set(x,Z));Z.has(D)||(hA=!0,Z.add(D),g=Ga.bind(null,g,x,D),x.then(g,g))}function Ga(g,x,D){var U=g.pingCache;U!==null&&U.delete(x),g.pingedLanes|=g.suspendedLanes&D,g.warmLanes&=~D,Wi===g&&(ui&D)===D&&(os===4||os===3&&(62914560&ui)===ui&&300>yl()-pA?(2&Wa)==0&&m0(g,0):No|=D,Qh===ui&&(Qh=0)),ee(g)}function sd(g,x){x===0&&(x=w()),(g=G(g,x))!==null&&(E(g,x),ee(g))}function Al(g){var x=g.memoizedState,D=0;x!==null&&(D=x.retryLane),sd(g,D)}function od(g,x){var D=0;switch(g.tag){case 13:var U=g.stateNode,Z=g.memoizedState;Z!==null&&(D=Z.retryLane);break;case 19:U=g.stateNode;break;case 22:U=g.stateNode._retryCache;break;default:throw Error(r(314))}U!==null&&U.delete(x),sd(g,D)}function mf(g,x,D,U){this.tag=g,this.key=D,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=x,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=U,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ju(g){return!(!(g=g.prototype)||!g.isReactComponent)}function xl(g,x){var D=g.alternate;return D===null?((D=t(g.tag,x,g.key,g.mode)).elementType=g.elementType,D.type=g.type,D.stateNode=g.stateNode,D.alternate=g,g.alternate=D):(D.pendingProps=x,D.type=g.type,D.flags=0,D.subtreeFlags=0,D.deletions=null),D.flags=31457280&g.flags,D.childLanes=g.childLanes,D.lanes=g.lanes,D.child=g.child,D.memoizedProps=g.memoizedProps,D.memoizedState=g.memoizedState,D.updateQueue=g.updateQueue,x=g.dependencies,D.dependencies=x===null?null:{lanes:x.lanes,firstContext:x.firstContext},D.sibling=g.sibling,D.index=g.index,D.ref=g.ref,D.refCleanup=g.refCleanup,D}function pf(g,x){g.flags&=31457282;var D=g.alternate;return D===null?(g.childLanes=0,g.lanes=x,g.child=null,g.subtreeFlags=0,g.memoizedProps=null,g.memoizedState=null,g.updateQueue=null,g.dependencies=null,g.stateNode=null):(g.childLanes=D.childLanes,g.lanes=D.lanes,g.child=D.child,g.subtreeFlags=0,g.deletions=null,g.memoizedProps=D.memoizedProps,g.memoizedState=D.memoizedState,g.updateQueue=D.updateQueue,g.type=D.type,x=D.dependencies,g.dependencies=x===null?null:{lanes:x.lanes,firstContext:x.firstContext}),g}function ld(g,x,D,U,Z,se){var je=0;if(U=g,typeof g=="function")ju(g)&&(je=1);else if(typeof g=="string")je=5;else e:switch(g){case Yo:return Cr(D.children,Z,se,x);case vs:je=8,Z|=24;break;case Lc:return(g=t(12,D,x,2|Z)).elementType=Lc,g.lanes=se,g;case y0:return(g=t(13,D,x,Z)).elementType=y0,g.lanes=se,g;case b0:return(g=t(19,D,x,Z)).elementType=b0,g.lanes=se,g;case wh:return A0(D,Z,se,x);default:if(typeof g=="object"&&g!==null)switch(g.$$typeof){case bh:case Eo:je=10;break e;case hp:je=9;break e;case gf:je=11;break e;case Nu:je=14;break e;case cc:je=16,U=null;break e}je=29,D=Error(r(130,g===null?"null":typeof g,"")),U=null}return(x=t(je,D,x,Z)).elementType=g,x.type=U,x.lanes=se,x}function Cr(g,x,D,U){return(g=t(7,g,U,x)).lanes=D,g}function A0(g,x,D,U){(g=t(22,g,U,x)).elementType=wh,g.lanes=D;var Z={_visibility:1,_pendingVisibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var se=Z._current;if(se===null)throw Error(r(456));if((2&Z._pendingVisibility)==0){var je=G(se,2);je!==null&&(Z._pendingVisibility|=2,wo(je,0,2))}},attach:function(){var se=Z._current;if(se===null)throw Error(r(456));if((2&Z._pendingVisibility)!=0){var je=G(se,2);je!==null&&(Z._pendingVisibility&=-3,wo(je,0,2))}}};return g.stateNode=Z,g}function x0(g,x,D){return(g=t(6,g,null,x)).lanes=D,g}function sc(g,x,D){return(x=t(4,g.children!==null?g.children:[],g.key,x)).lanes=D,x.stateNode={containerInfo:g.containerInfo,pendingChildren:null,implementation:g.implementation},x}function yh(g,x,D,U,Z,se,je,Me){this.tag=1,this.containerInfo=g,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Uc,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=j(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=j(0),this.hiddenUpdates=j(null),this.identifierPrefix=U,this.onUncaughtError=Z,this.onCaughtError=se,this.onRecoverableError=je,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Me,this.incompleteTransitions=new Map}function Fc(g,x,D,U,Z,se){Z=(function(je){return je?je=vf:vf})(Z),U.context===null?U.context=Z:U.pendingContext=Z,(U=Ne(x)).payload={element:D},(se=se===void 0?null:se)!==null&&(U.callback=se),(D=Ie(g,U,x))!==null&&(wo(D,0,x),be(D,g,x))}var v0,Oc,oc={},Ri=Za,xs=hPe,Ds=Object.assign,Ol=Symbol.for("react.element"),Ko=Symbol.for("react.transitional.element"),lc=Symbol.for("react.portal"),Yo=Symbol.for("react.fragment"),vs=Symbol.for("react.strict_mode"),Lc=Symbol.for("react.profiler"),bh=Symbol.for("react.provider"),hp=Symbol.for("react.consumer"),Eo=Symbol.for("react.context"),gf=Symbol.for("react.forward_ref"),y0=Symbol.for("react.suspense"),b0=Symbol.for("react.suspense_list"),Nu=Symbol.for("react.memo"),cc=Symbol.for("react.lazy"),wh=Symbol.for("react.offscreen"),Eh=Symbol.for("react.memo_cache_sentinel"),mp=Symbol.iterator,Ch=Symbol.for("react.client.reference"),bn=Ri.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,pp=!1,cd=Array.isArray,Co=e.getPublicInstance,Xg=e.getRootHostContext,w0=e.getChildHostContext,Zs=e.prepareForCommit,Af=e.resetAfterCommit,Mc=e.createInstance,xf=e.appendInitialChild,gp=e.finalizeInitialChildren,eA=e.shouldSetTextContent,so=e.createTextInstance,E0=null,vl=null,Uc=e.noTimeout,Zo=!0,Su=null,uc=null,ii=e.setCurrentUpdatePriority,vi=e.getCurrentUpdatePriority,Io=e.resolveUpdatePriority,Ts=e.shouldAttemptEagerTransition,Rs=null;e.requestPostPaintCallback;var Bu=e.maySuspendCommit,ku=null,Ps=null,ud=null,tA=null,B=null,N=null,F=null,te=e.appendChild,oe=e.appendChildToContainer,ye=e.commitTextUpdate,Fe=null,bt=e.commitUpdate,Rt=e.insertBefore,ar=null,Pr=e.removeChild,Vi=e.removeChildFromContainer,ai=e.resetTextContent,Xi=null,ys=null,is=null,mt=null,ot=e.clearContainer,Ct=null,Tr=null,Jr=null,ci=null,Lr=null,pn=null,Bn=null,kn=null,zc=null,dd=null,Ap=[],fd=-1,vf={},$c=Math.clz32?Math.clz32:function(g){return(g>>>=0)==0?32:31-(g2(g)/Ih|0)|0},g2=Math.log,Ih=Math.LN2,xp=128,dx=4194304,yf=xs.unstable_scheduleCallback,jh=xs.unstable_cancelCallback,A2=xs.unstable_shouldYield,x2=xs.unstable_requestPaint,yl=xs.unstable_now,fx=xs.unstable_ImmediatePriority,rA=xs.unstable_UserBlockingPriority,vp=xs.unstable_NormalPriority,Nh=xs.unstable_IdlePriority,hx=xs.log,mx=xs.unstable_setDisableYieldValue,nA=null,Jo=typeof Object.is=="function"?Object.is:function(g,x){return g===x&&(g!==0||1/g==1/x)||g!=g&&x!=x},bf=new WeakMap,Xo=[],_u=0,iA=null,wf=[],bl=0,C0=null,Hc=d(null),Sh=d(null),dc=d(null),qc=d(null),aA=!1,Du=null;Error(r(519));var el=[],Ef=0,Cf=0,Ll=null,Tu=null,If=!1,Ru=!1,yp=!1,Gc=0,Bh=null,bp=0,Pi=0,Pu=null,Qu=!1,wp=!1,sA=Object.prototype.hasOwnProperty,jf=Error(r(460)),hd=Error(r(474)),ca={then:function(){}},Ta=null,Ra=null,md=0,Fu=xt(!0),Ep=xt(!1),kh=d(null),Qs=d(0),Vc=d(null),Wc=null,as=d(0),oo=0,cn=null,Qi=null,Va=null,_h=!1,Nf=!1,pd=!1,oA=0,Dh=0,Sf=null,v2=0,lA=function(){return{lastEffect:null,events:null,stores:null,memoCache:null}},Kc={readContext:zn,use:Xt,useCallback:ae,useContext:ae,useEffect:ae,useImperativeHandle:ae,useLayoutEffect:ae,useInsertionEffect:ae,useMemo:ae,useReducer:ae,useRef:ae,useState:ae,useDebugValue:ae,useDeferredValue:ae,useTransition:ae,useSyncExternalStore:ae,useId:ae};Kc.useCacheRefresh=ae,Kc.useMemoCache=ae,Kc.useHostTransitionStatus=ae,Kc.useFormState=ae,Kc.useActionState=ae,Kc.useOptimistic=ae;var Yc={readContext:zn,use:Xt,useCallback:function(g,x){return De().memoizedState=[g,x===void 0?null:x],g},useContext:zn,useEffect:to,useImperativeHandle:function(g,x,D){D=D!=null?D.concat([g]):null,$a(4194308,4,Sa.bind(null,x,g),D)},useLayoutEffect:function(g,x){return $a(4194308,4,g,x)},useInsertionEffect:function(g,x){$a(4,2,g,x)},useMemo:function(g,x){var D=De();x=x===void 0?null:x;var U=g();if(pd){Q(!0);try{g()}finally{Q(!1)}}return D.memoizedState=[U,x],U},useReducer:function(g,x,D){var U=De();if(D!==void 0){var Z=D(x);if(pd){Q(!0);try{D(x)}finally{Q(!1)}}}else Z=x;return U.memoizedState=U.baseState=Z,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:Z},U.queue=g,g=g.dispatch=Rr.bind(null,cn,g),[U.memoizedState,g]},useRef:function(g){return g={current:g},De().memoizedState=g},useState:function(g){var x=(g=Mi(g)).queue,D=fn.bind(null,cn,x);return x.dispatch=D,[g.memoizedState,D]},useDebugValue:pe,useDeferredValue:function(g,x){return nt(De(),g,x)},useTransition:function(){var g=Mi(!1);return g=Mt.bind(null,cn,g.queue,!0,!1),De().memoizedState=g,[!1,g]},useSyncExternalStore:function(g,x,D){var U=cn,Z=De();if(D=x(),Wi===null)throw Error(r(349));(60&ui)!=0||Gr(U,x,D),Z.memoizedState=D;var se={value:D,getSnapshot:x};return Z.queue=se,to(xi.bind(null,U,se,g),[g]),U.flags|=2048,wi(9,Zr.bind(null,U,se,D,x),{destroy:void 0},null),D},useId:function(){var g=De(),x=Wi.identifierPrefix;return x=":"+x+"r"+(v2++).toString(32)+":",g.memoizedState=x},useCacheRefresh:function(){return De().memoizedState=wr.bind(null,cn)}};Yc.useMemoCache=Te,Yc.useHostTransitionStatus=Ot,Yc.useFormState=Xa,Yc.useActionState=Xa,Yc.useOptimistic=function(g){var x=De();x.memoizedState=x.baseState=g;var D={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return x.queue=D,x=mn.bind(null,cn,!0,D),D.dispatch=x,[g,x]};var I0={readContext:zn,use:Xt,useCallback:Qe,useContext:zn,useEffect:Ha,useImperativeHandle:me,useInsertionEffect:oi,useLayoutEffect:Bs,useMemo:$e,useReducer:qr,useRef:za,useState:function(){return qr(zt)},useDebugValue:pe,useDeferredValue:function(g,x){return vt(qe(),Qi.memoizedState,g,x)},useTransition:function(){var g=qr(zt)[0],x=qe().memoizedState;return[typeof g=="boolean"?g:dr(g),x]},useSyncExternalStore:Ft,useId:ur};I0.useCacheRefresh=Gt,I0.useMemoCache=Te,I0.useHostTransitionStatus=Ot,I0.useFormState=es,I0.useActionState=es,I0.useOptimistic=function(g,x){return Sn(qe(),0,g,x)};var Ou={readContext:zn,use:Xt,useCallback:Qe,useContext:zn,useEffect:Ha,useImperativeHandle:me,useInsertionEffect:oi,useLayoutEffect:Bs,useMemo:$e,useReducer:fr,useRef:za,useState:function(){return fr(zt)},useDebugValue:pe,useDeferredValue:function(g,x){var D=qe();return Qi===null?nt(D,g,x):vt(D,Qi.memoizedState,g,x)},useTransition:function(){var g=fr(zt)[0],x=qe().memoizedState;return[typeof g=="boolean"?g:dr(g),x]},useSyncExternalStore:Ft,useId:ur};Ou.useCacheRefresh=Gt,Ou.useMemoCache=Te,Ou.useHostTransitionStatus=Ot,Ou.useFormState=Hs,Ou.useActionState=Hs,Ou.useOptimistic=function(g,x){var D=qe();return Qi!==null?Sn(D,0,g,x):(D.baseState=g,[g,D.queue.dispatch])};var Th={isMounted:function(g){return!!(g=g._reactInternals)&&(function(x){var D=x,U=x;if(x.alternate)for(;D.return;)D=D.return;else{x=D;do(4098&(D=x).flags)!=0&&(U=D.return),x=D.return;while(x)}return D.tag===3?U:null})(g)===g},enqueueSetState:function(g,x,D){g=g._reactInternals;var U=bo(),Z=Ne(U);Z.payload=x,D!=null&&(Z.callback=D),(x=Ie(g,Z,U))!==null&&(wo(x,0,U),be(x,g,U))},enqueueReplaceState:function(g,x,D){g=g._reactInternals;var U=bo(),Z=Ne(U);Z.tag=1,Z.payload=x,D!=null&&(Z.callback=D),(x=Ie(g,Z,U))!==null&&(wo(x,0,U),be(x,g,U))},enqueueForceUpdate:function(g,x){g=g._reactInternals;var D=bo(),U=Ne(D);U.tag=2,x!=null&&(U.callback=x),(x=Ie(g,U,D))!==null&&(wo(x,0,D),be(x,g,D))}};typeof reportError=="function"&&reportError;var px=Error(r(461)),bs=!1,cA={dehydrated:null,treeContext:null,retryLane:0},uA=d(null),Cp=null,Bf=null,Ip=null,y2=typeof AbortController<"u"?AbortController:function(){var g=[],x=this.signal={aborted:!1,addEventListener:function(D,U){g.push(U)}};this.abort=function(){x.aborted=!0,g.forEach((function(D){return D()}))}},b2=xs.unstable_scheduleCallback,w2=xs.unstable_NormalPriority,Fs={$$typeof:Eo,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},gx=bn.S;bn.S=function(g,x){typeof x=="object"&&x!==null&&typeof x.then=="function"&&(function(D,U){if(Bh===null){var Z=Bh=[];bp=0,Pi=_e(),Pu={status:"pending",value:void 0,then:function(se){Z.push(se)}}}bp++,U.then(Ce,Ce)})(0,x),gx!==null&&gx(g,x)};var Rh=d(null),j0=!1,jo=!1,dA=!1,Ax=typeof WeakSet=="function"?WeakSet:Set,ss=null,E2=!1,tl=null,Lu=!1,Zc=null,gd=8192,fA={getCacheForType:function(g){var x=zn(Fs),D=x.data.get(g);return D===void 0&&(D=g(),x.data.set(g,D)),D}};if(typeof Symbol=="function"&&Symbol.for){var Ph=Symbol.for;Ph("selector.component"),Ph("selector.has_pseudo_class"),Ph("selector.role"),Ph("selector.test_id"),Ph("selector.text")}var C2=typeof WeakMap=="function"?WeakMap:Map,Wa=0,Wi=null,_n=null,ui=0,wa=0,Jc=null,jp=!1,hA=!1,Mu=0,os=0,Uu=0,Ad=0,No=0,ea=0,Qh=0,Fh=null,Xc=null,mA=!1,pA=0,Np=1/0,Sp=null,zu=null,Bp=!1,xd=null,kf=0,kp=0,gA=null,_f=0,Oh=null;return oc.createContainer=function(g,x,D,U,Z,se,je,Me,Ge,St){return(function(vr,gr,Wt,Qr,Ea,ut,st,It,ft,tn,Fi,gn){return vr=new yh(vr,gr,Wt,st,It,ft,tn,null),gr=1,ut===!0&&(gr|=24),ut=t(3,null,null,gr),vr.current=ut,ut.stateNode=vr,(gr=gs()).refCount++,vr.pooledCache=gr,gr.refCount++,ut.memoizedState={element:Qr,isDehydrated:Wt,cache:gr},we(ut),vr})(g,x,!1,null,0,U,se,je,Me,Ge)},oc.flushSyncWork=function(){return(6&Wa)!=0||(ne(0),!1)},oc.updateContainer=function(g,x,D,U){var Z=x.current,se=bo();return Fc(Z,se,g,x,D,U),se},oc.updateContainerSync=function(g,x,D,U){return x.tag===0&&Yr(),Fc(x.current,2,g,x,D,U),2},oc},Pb.exports.default=Pb.exports,Object.defineProperty(Pb.exports,"__esModule",{value:!0})),bF.exports);var wF,mPe=dPe(iY.exports),aY={exports:{}},em={};aY.exports=(wF||(wF=1,em.ConcurrentRoot=1,em.ContinuousEventPriority=8,em.DefaultEventPriority=32,em.DiscreteEventPriority=2,em.IdleEventPriority=268435456,em.LegacyRoot=0,em.NoEventPriority=0),em);var N3=aY.exports;const sY=(e,t)=>{const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const u=mPe({appendChild:e,appendChildToContainer:t,appendInitialChild:e,createInstance:i,createTextInstance:s,insertBefore:o,commitUpdate:(h,p,A,y)=>{sY(A,y)||n(h,null,p,A,y)},commitTextUpdate:r,removeChild:l,removeChildFromContainer:c,resetAfterCommit:d,noTimeout:-1,shouldSetTextContent:()=>!1,finalizeInitialChildren:()=>!1,getPublicInstance:h=>h,getRootHostContext:()=>EF,getChildHostContext:()=>EF,prepareForCommit(){},clearContainer(){},resetTextContent(){},getCurrentUpdatePriority:()=>N3.DefaultEventPriority,maySuspendCommit:()=>!1,requestPostPaintCallback:()=>{},resolveUpdatePriority:()=>N3.DefaultEventPriority,setCurrentUpdatePriority:()=>{},shouldAttemptEagerTransition:()=>!1});return{createContainer:h=>u.createContainer(h,N3.ConcurrentRoot,null,!1,null,"",S3,S3,S3,null),updateContainer:(h,p,A,y)=>{u.updateContainerSync(h,p,A,y),u.flushSyncWork()}}};var B3,CF;function gPe(){if(CF)return B3;CF=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function n(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function i(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var o={},l=0;l<10;l++)o["_"+String.fromCharCode(l)]=l;var c=Object.getOwnPropertyNames(o).map(function(u){return o[u]});if(c.join("")!=="0123456789")return!1;var d={};return"abcdefghijklmnopqrst".split("").forEach(function(u){d[u]=u}),Object.keys(Object.assign({},d)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return B3=i()?Object.assign:function(s,o){for(var l,c=n(s),d,u=1;uwt||(B.current=xt[wt],xt[wt]=null,wt--)}function ir(B,N){wt++,xt[wt]=B.current,B.current=N}var He={},ce={current:He},Le={current:!1},rt=He;function ie(B,N){var F=B.type.contextTypes;if(!F)return He;var te=B.stateNode;if(te&&te.__reactInternalMemoizedUnmaskedChildContext===N)return te.__reactInternalMemoizedMaskedChildContext;var oe,ye={};for(oe in F)ye[oe]=N[oe];return te&&((B=B.stateNode).__reactInternalMemoizedUnmaskedChildContext=N,B.__reactInternalMemoizedMaskedChildContext=ye),ye}function ae(B){return(B=B.childContextTypes)!=null}function Ee(B){Lt(Le),Lt(ce)}function re(B){Lt(Le),Lt(ce)}function We(B,N,F){if(ce.current!==He)throw Error(s(168));ir(ce,N),ir(Le,F)}function Tt(B,N,F){var te=B.stateNode;if(B=N.childContextTypes,typeof te.getChildContext!="function")return F;for(var oe in te=te.getChildContext())if(!(oe in B))throw Error(s(108,R(N)||"Unknown",oe));return r({},F,{},te)}function H(B){var N=B.stateNode;return N=N&&N.__reactInternalMemoizedMergedChildContext||He,rt=ce.current,ir(ce,N),ir(Le,Le.current),!0}function ze(B,N,F){var te=B.stateNode;if(!te)throw Error(s(169));F?(N=Tt(B,N,rt),te.__reactInternalMemoizedMergedChildContext=N,Lt(Le),Lt(ce),ir(ce,N)):Lt(Le),ir(Le,F)}var Ze=i.unstable_runWithPriority,he=i.unstable_scheduleCallback,De=i.unstable_cancelCallback,qe=i.unstable_shouldYield,dr=i.unstable_requestPaint,Xt=i.unstable_now,Te=i.unstable_getCurrentPriorityLevel,zt=i.unstable_ImmediatePriority,qr=i.unstable_UserBlockingPriority,kr=i.unstable_NormalPriority,fr=i.unstable_LowPriority,Ft=i.unstable_IdlePriority,Gr={},Zr=dr!==void 0?dr:function(){},xi=null,Ji=null,Pn=!1,Mi=Xt(),Sn=1e4>Mi?Xt:function(){return Xt()-Mi};function si(){switch(Te()){case zt:return 99;case qr:return 98;case kr:return 97;case fr:return 96;case Ft:return 95;default:throw Error(s(332))}}function ia(B){switch(B){case 99:return zt;case 98:return qr;case 97:return kr;case 96:return fr;case 95:return Ft;default:throw Error(s(332))}}function aa(B,N){return B=ia(B),Ze(B,N)}function go(B,N,F){return B=ia(B),he(B,N,F)}function Ui(B){return xi===null?(xi=[B],Ji=he(zt,Ma)):xi.push(B),Gr}function ni(){if(Ji!==null){var B=Ji;Ji=null,De(B)}Ma()}function Ma(){if(!Pn&&xi!==null){Pn=!0;var B=0;try{var N=xi;aa(99,(function(){for(;B=N&&(Ho=!0),B.firstContext=null)}function pe(B,N){if(to!==B&&N!==!1&&N!==0)if(typeof N=="number"&&N!==1073741823||(to=B,N=1073741823),N={context:B,observedBits:N,next:null},qs===null){if($a===null)throw Error(s(308));qs=N,$a.dependencies={expirationTime:0,firstContext:N,responders:null}}else qs=qs.next=N;return B._currentValue2}var Qe=!1;function $e(B){return{baseState:B,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nt(B){return{baseState:B.baseState,firstUpdate:B.firstUpdate,lastUpdate:B.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function vt(B,N){return{expirationTime:B,suspenseConfig:N,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Mt(B,N){B.lastUpdate===null?B.firstUpdate=B.lastUpdate=N:(B.lastUpdate.next=N,B.lastUpdate=N)}function Ot(B,N){var F=B.alternate;if(F===null){var te=B.updateQueue,oe=null;te===null&&(te=B.updateQueue=$e(B.memoizedState))}else te=B.updateQueue,oe=F.updateQueue,te===null?oe===null?(te=B.updateQueue=$e(B.memoizedState),oe=F.updateQueue=$e(F.memoizedState)):te=B.updateQueue=nt(oe):oe===null&&(oe=F.updateQueue=nt(te));oe===null||te===oe?Mt(te,N):te.lastUpdate===null||oe.lastUpdate===null?(Mt(te,N),Mt(oe,N)):(Mt(te,N),oe.lastUpdate=N)}function ur(B,N){var F=B.updateQueue;(F=F===null?B.updateQueue=$e(B.memoizedState):Gt(B,F)).lastCapturedUpdate===null?F.firstCapturedUpdate=F.lastCapturedUpdate=N:(F.lastCapturedUpdate.next=N,F.lastCapturedUpdate=N)}function Gt(B,N){var F=B.alternate;return F!==null&&N===F.updateQueue&&(N=B.updateQueue=nt(N)),N}function wr(B,N,F,te,oe,ye){switch(F.tag){case 1:return typeof(B=F.payload)=="function"?B.call(ye,te,oe):B;case 3:B.effectTag=-4097&B.effectTag|64;case 0:if((oe=typeof(B=F.payload)=="function"?B.call(ye,te,oe):B)==null)break;return r({},te,oe);case 2:Qe=!0}return te}function Rr(B,N,F,te,oe){Qe=!1;for(var ye=(N=Gt(B,N)).baseState,Fe=null,bt=0,Rt=N.firstUpdate,ar=ye;Rt!==null;){var Pr=Rt.expirationTime;Prpn?(Bn=Lr,Lr=null):Bn=Lr.sibling;var kn=ai(mt,Lr,Ct[pn],Tr);if(kn===null){Lr===null&&(Lr=Bn);break}B&&Lr&&kn.alternate===null&&N(mt,Lr),ot=ye(kn,ot,pn),ci===null?Jr=kn:ci.sibling=kn,ci=kn,Lr=Bn}if(pn===Ct.length)return F(mt,Lr),Jr;if(Lr===null){for(;pnpn?(Bn=Lr,Lr=null):Bn=Lr.sibling;var zc=ai(mt,Lr,kn.value,Tr);if(zc===null){Lr===null&&(Lr=Bn);break}B&&Lr&&zc.alternate===null&&N(mt,Lr),ot=ye(zc,ot,pn),ci===null?Jr=zc:ci.sibling=zc,ci=zc,Lr=Bn}if(kn.done)return F(mt,Lr),Jr;if(Lr===null){for(;!kn.done;pn++,kn=Ct.next())(kn=Vi(mt,kn.value,Tr))!==null&&(ot=ye(kn,ot,pn),ci===null?Jr=kn:ci.sibling=kn,ci=kn);return Jr}for(Lr=te(mt,Lr);!kn.done;pn++,kn=Ct.next())(kn=Xi(Lr,mt,pn,kn.value,Tr))!==null&&(B&&kn.alternate!==null&&Lr.delete(kn.key===null?pn:kn.key),ot=ye(kn,ot,pn),ci===null?Jr=kn:ci.sibling=kn,ci=kn);return B&&Lr.forEach((function(dd){return N(mt,dd)})),Jr}return function(mt,ot,Ct,Tr){var Jr=typeof Ct=="object"&&Ct!==null&&Ct.type===u&&Ct.key===null;Jr&&(Ct=Ct.props.children);var ci=typeof Ct=="object"&&Ct!==null;if(ci)switch(Ct.$$typeof){case c:e:{for(ci=Ct.key,Jr=ot;Jr!==null;){if(Jr.key===ci){if(Jr.tag===7?Ct.type===u:Jr.elementType===Ct.type){F(mt,Jr.sibling),(ot=oe(Jr,Ct.type===u?Ct.props.children:Ct.props)).ref=Gs(mt,Jr,Ct),ot.return=mt,mt=ot;break e}F(mt,Jr);break}N(mt,Jr),Jr=Jr.sibling}Ct.type===u?((ot=Zo(Ct.props.children,mt.mode,Tr,Ct.key)).return=mt,mt=ot):((Tr=Uc(Ct.type,Ct.key,Ct.props,null,mt.mode,Tr)).ref=Gs(mt,ot,Ct),Tr.return=mt,mt=Tr)}return Fe(mt);case d:e:{for(Jr=Ct.key;ot!==null;){if(ot.key===Jr){if(ot.tag===4&&ot.stateNode.containerInfo===Ct.containerInfo&&ot.stateNode.implementation===Ct.implementation){F(mt,ot.sibling),(ot=oe(ot,Ct.children||[])).return=mt,mt=ot;break e}F(mt,ot);break}N(mt,ot),ot=ot.sibling}(ot=uc(Ct,mt.mode,Tr)).return=mt,mt=ot}return Fe(mt)}if(typeof Ct=="string"||typeof Ct=="number")return Ct=""+Ct,ot!==null&&ot.tag===6?(F(mt,ot.sibling),(ot=oe(ot,Ct)).return=mt,mt=ot):(F(mt,ot),(ot=Su(Ct,mt.mode,Tr)).return=mt,mt=ot),Fe(mt);if(Ao(Ct))return ys(mt,ot,Ct,Tr);if(Q(Ct))return is(mt,ot,Ct,Tr);if(ci&&rs(mt,Ct),Ct===void 0&&!Jr)switch(mt.tag){case 1:case 0:throw mt=mt.type,Error(s(152,mt.displayName||mt.name||"Component"))}return F(mt,ot)}}var ks=Vs(!0),zi=Vs(!1),xo={},va={current:xo},Tc={current:xo},ml={current:xo};function Ws(B){if(B===xo)throw Error(s(174));return B}function Au(B,N){ir(ml,N),ir(Tc,B),ir(va,xo),N=L(N),Lt(va),ir(va,N)}function Ba(B){Lt(va),Lt(Tc),Lt(ml)}function ec(B){var N=Ws(ml.current),F=Ws(va.current);F!==(N=X(F,B.type,N))&&(ir(Tc,B),ir(va,N))}function xu(B){Tc.current===B&&(Lt(va),Lt(Tc))}var $i={current:0};function vo(B){for(var N=B;N!==null;){if(N.tag===13){var F=N.memoizedState;if(F!==null&&((F=F.dehydrated)===null||Jt(F)||Bt(F)))return N}else if(N.tag===19&&N.memoizedProps.revealOrder!==void 0){if((64&N.effectTag)!=0)return N}else if(N.child!==null){N.child.return=N,N=N.child;continue}if(N===B)break;for(;N.sibling===null;){if(N.return===null||N.return===B)return null;N=N.return}N.sibling.return=N.return,N=N.sibling}return null}function tc(B,N){return{responder:B,props:N}}var yo=o.ReactCurrentDispatcher,sa=o.ReactCurrentBatchConfig,$o=0,ms=null,ka=null,ps=null,qa=null,ya=null,_s=null,Ks=0,oa=null,Ni=0,pl=!1,ns=null,no=0;function li(){throw Error(s(321))}function Ys(B,N){if(N===null)return!1;for(var F=0;FKs&&Nu(Ks=Pr)):(b0(Pr,Rt.suspenseConfig),ye=Rt.eagerReducer===B?Rt.eagerState:B(ye,Rt.action)),Fe=Rt,Rt=Rt.next}while(Rt!==null&&Rt!==te);ar||(bt=Fe,oe=ye),Ua(ye,N.memoizedState)||(Ho=!0),N.memoizedState=ye,N.baseUpdate=bt,N.baseState=oe,F.lastRenderedState=ye}return[N.memoizedState,F.dispatch]}function Rc(B){var N=ba();return typeof B=="function"&&(B=B()),N.memoizedState=N.baseState=B,B=(B=N.queue={last:null,dispatch:null,lastRenderedReducer:Tl,lastRenderedState:B}).dispatch=fh.bind(null,ms,B),[N.memoizedState,B]}function sf(B){return vu(Tl)}function of(B,N,F,te){return B={tag:B,create:N,destroy:F,deps:te,next:null},oa===null?(oa={lastEffect:null}).lastEffect=B.next=B:(N=oa.lastEffect)===null?oa.lastEffect=B.next=B:(F=N.next,N.next=B,B.next=F,oa.lastEffect=B),B}function J0(B,N,F,te){var oe=ba();Ni|=B,oe.memoizedState=of(N,F,void 0,te===void 0?null:te)}function f0(B,N,F,te){var oe=gs();te=te===void 0?null:te;var ye=void 0;if(ka!==null){var Fe=ka.memoizedState;if(ye=Fe.destroy,te!==null&&Ys(te,Fe.deps))return void of(0,F,ye,te)}Ni|=B,oe.memoizedState=of(N,F,ye,te)}function As(B,N){return J0(516,192,B,N)}function Kg(B,N){return f0(516,192,B,N)}function Yg(B,N){return typeof N=="function"?(B=B(),N(B),function(){N(null)}):N!=null?(B=B(),N.current=B,function(){N.current=null}):void 0}function ip(){}function X0(B,N){return ba().memoizedState=[B,N===void 0?null:N],B}function Pc(B,N){var F=gs();N=N===void 0?null:N;var te=F.memoizedState;return te!==null&&N!==null&&Ys(N,te[1])?te[0]:(F.memoizedState=[B,N],B)}function fh(B,N,F){if(!(25>no))throw Error(s(301));var te=B.alternate;if(B===ms||te!==null&&te===ms)if(pl=!0,B={expirationTime:$o,suspenseConfig:null,action:F,eagerReducer:null,eagerState:null,next:null},ns===null&&(ns=new Map),(F=ns.get(N))===void 0)ns.set(N,B);else{for(N=F;N.next!==null;)N=N.next;N.next=B}else{var oe=Ds(),ye=mn.suspense;ye={expirationTime:oe=Ol(oe,B,ye),suspenseConfig:ye,action:F,eagerReducer:null,eagerState:null,next:null};var Fe=N.last;if(Fe===null)ye.next=ye;else{var bt=Fe.next;bt!==null&&(ye.next=bt),Fe.next=ye}if(N.last=ye,B.expirationTime===0&&(te===null||te.expirationTime===0)&&(te=N.lastRenderedReducer)!==null)try{var Rt=N.lastRenderedState,ar=te(Rt,F);if(ye.eagerReducer=te,ye.eagerState=ar,Ua(ar,Rt))return}catch{}Ko(B,oe)}}var lf={readContext:pe,useCallback:li,useContext:li,useEffect:li,useImperativeHandle:li,useLayoutEffect:li,useMemo:li,useReducer:li,useRef:li,useState:li,useDebugValue:li,useResponder:li,useDeferredValue:li,useTransition:li},ed={readContext:pe,useCallback:X0,useContext:pe,useEffect:As,useImperativeHandle:function(B,N,F){return F=F!=null?F.concat([B]):null,J0(4,36,Yg.bind(null,N,B),F)},useLayoutEffect:function(B,N){return J0(4,36,B,N)},useMemo:function(B,N){var F=ba();return N=N===void 0?null:N,B=B(),F.memoizedState=[B,N],B},useReducer:function(B,N,F){var te=ba();return N=F!==void 0?F(N):N,te.memoizedState=te.baseState=N,B=(B=te.queue={last:null,dispatch:null,lastRenderedReducer:B,lastRenderedState:N}).dispatch=fh.bind(null,ms,B),[te.memoizedState,B]},useRef:function(B){return B={current:B},ba().memoizedState=B},useState:Rc,useDebugValue:ip,useResponder:tc,useDeferredValue:function(B,N){var F=Rc(B),te=F[0],oe=F[1];return As((function(){i.unstable_next((function(){var ye=sa.suspense;sa.suspense=N===void 0?null:N;try{oe(B)}finally{sa.suspense=ye}}))}),[B,N]),te},useTransition:function(B){var N=Rc(!1),F=N[0],te=N[1];return[X0((function(oe){te(!0),i.unstable_next((function(){var ye=sa.suspense;sa.suspense=B===void 0?null:B;try{te(!1),oe()}finally{sa.suspense=ye}}))}),[B,F]),F]}},Rl={readContext:pe,useCallback:Pc,useContext:pe,useEffect:Kg,useImperativeHandle:function(B,N,F){return F=F!=null?F.concat([B]):null,f0(4,36,Yg.bind(null,N,B),F)},useLayoutEffect:function(B,N){return f0(4,36,B,N)},useMemo:function(B,N){var F=gs();N=N===void 0?null:N;var te=F.memoizedState;return te!==null&&N!==null&&Ys(N,te[1])?te[0]:(B=B(),F.memoizedState=[B,N],B)},useReducer:vu,useRef:function(){return gs().memoizedState},useState:sf,useDebugValue:ip,useResponder:tc,useDeferredValue:function(B,N){var F=sf(),te=F[0],oe=F[1];return Kg((function(){i.unstable_next((function(){var ye=sa.suspense;sa.suspense=N===void 0?null:N;try{oe(B)}finally{sa.suspense=ye}}))}),[B,N]),te},useTransition:function(B){var N=sf(),F=N[0],te=N[1];return[Pc((function(oe){te(!0),i.unstable_next((function(){var ye=sa.suspense;sa.suspense=B===void 0?null:B;try{te(!1),oe()}finally{sa.suspense=ye}}))}),[B,F]),F]}},Zg=o.ReactCurrentOwner,Ho=!1;function qo(B,N,F,te){N.child=B===null?zi(N,null,F,te):ks(N,B.child,F,te)}function hh(B,N,F,te,oe){F=F.render;var ye=N.ref;return me(N,oe),te=zn(B,N,F,te,ye,oe),B===null||Ho?(N.effectTag|=1,qo(B,N,te,oe),N.child):(N.updateQueue=B.updateQueue,N.effectTag&=-517,B.expirationTime<=oe&&(B.expirationTime=0),Fl(B,N,oe))}function mh(B,N,F,te,oe,ye){if(B===null){var Fe=F.type;return typeof Fe!="function"||E0(Fe)||Fe.defaultProps!==void 0||F.compare!==null||F.defaultProps!==void 0?((B=Uc(F.type,null,te,null,N.mode,ye)).ref=N.ref,B.return=N,N.child=B):(N.tag=15,N.type=Fe,ph(B,N,Fe,te,oe,ye))}return Fe=B.child,oeN)&&Oc.set(B,N))}}function lc(B,N){B.expirationTime(B=B.nextKnownPendingLevel)?N:B:N}function vs(B){if(B.lastExpiredTime!==0)B.callbackExpirationTime=1073741823,B.callbackPriority=99,B.callbackNode=Ui(bh.bind(null,B));else{var N=Yo(B),F=B.callbackNode;if(N===0)F!==null&&(B.callbackNode=null,B.callbackExpirationTime=0,B.callbackPriority=90);else{var te=Ds();if(te=N===1073741823?99:N===1||N===2?95:0>=(te=10*(1073741821-N)-10*(1073741821-te))?99:250>=te?98:5250>=te?97:95,F!==null){var oe=B.callbackPriority;if(B.callbackExpirationTime===N&&oe>=te)return;F!==Gr&&De(F)}B.callbackExpirationTime=N,B.callbackPriority=te,N=N===1073741823?Ui(bh.bind(null,B)):go(te,Lc.bind(null,B),{timeout:10*(1073741821-N)-Sn()}),B.callbackNode=N}}}function Lc(B,N){if(xs=0,N)return Rs(B,N=Ds()),vs(B),null;var F=Yo(B);if(F!==0){if(N=B.callbackNode,(Yr&(Vo|Wo))!==la)throw Error(s(327));if(Co(),B===ao&&F===Da||Eo(B,F),Dr!==null){var te=Yr;Yr|=Vo;for(var oe=y0();;)try{wh();break}catch(bt){gf(B,bt)}if(Ha(),Yr=te,io.current=oe,Ga===p0)throw N=sd,Eo(B,F),Io(B,F),vs(B),N;if(Dr===null)switch(oe=B.finishedWork=B.current.alternate,B.finishedExpirationTime=F,te=Ga,ao=null,te){case ic:case p0:throw Error(s(345));case hf:Rs(B,2=F){B.lastPingedTime=F,Eo(B,F);break}}if((ye=Yo(B))!==0&&ye!==F)break;if(te!==0&&te!==F){B.lastPingedTime=te;break}B.timeoutHandle=de(bn.bind(null,B),oe);break}bn(B);break;case g0:if(Io(B,F),F===(te=B.lastSuspendedTime)&&(B.nextKnownPendingLevel=Ch(oe)),xl&&((oe=B.lastPingedTime)===0||oe>=F)){B.lastPingedTime=F,Eo(B,F);break}if((oe=Yo(B))!==0&&oe!==F)break;if(te!==0&&te!==F){B.lastPingedTime=te;break}if(od!==1073741823?te=10*(1073741821-od)-Sn():Al===1073741823?te=0:(te=10*(1073741821-Al)-5e3,0>(te=(oe=Sn())-te)&&(te=0),(F=10*(1073741821-F)-oe)<(te=(120>te?120:480>te?480:1080>te?1080:1920>te?1920:3e3>te?3e3:4320>te?4320:1960*Jg(te/1960))-te)&&(te=F)),10=(te=0|Fe.busyMinDurationMs)?te=0:(oe=0|Fe.busyDelayMs,te=(ye=Sn()-(10*(1073741821-ye)-(0|Fe.timeoutMs||5e3)))<=oe?0:oe+te-ye),10 component higher in the tree to provide a loading indicator or placeholder to display.`+sr(oe))}Ga!==Iu&&(Ga=hf),ye=gh(ye,oe),Rt=te;do{switch(Rt.tag){case 3:Fe=ye,Rt.effectTag|=4096,Rt.expirationTime=N,ur(Rt,m0(Rt,Fe,N));break e;case 1:Fe=ye;var ot=Rt.type,Ct=Rt.stateNode;if((64&Rt.effectTag)==0&&(typeof ot.getDerivedStateFromError=="function"||Ct!==null&&typeof Ct.componentDidCatch=="function"&&(sc===null||!sc.has(Ct)))){Rt.effectTag|=4096,Rt.expirationTime=N,ur(Rt,dp(Rt,Fe,N));break e}}Rt=Rt.return}while(Rt!==null)}Dr=mp(Dr)}catch(Tr){N=Tr;continue}break}}function y0(){var B=io.current;return io.current=lf,B===null?lf:B}function b0(B,N){Bju&&(ju=B)}function cc(){for(;Dr!==null;)Dr=Eh(Dr)}function wh(){for(;Dr!==null&&!qe();)Dr=Eh(Dr)}function Eh(B){var N=fp(B.alternate,B,Da);return B.memoizedProps=B.pendingProps,N===null&&(N=mp(B)),Cu.current=null,N}function mp(B){Dr=B;do{var N=Dr.alternate;if(B=Dr.return,(2048&Dr.effectTag)==0){e:{var F=N,te=Da,oe=(N=Dr).pendingProps;switch(N.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 20:case 21:break;case 1:case 17:ae(N.type)&&Ee();break;case 3:Ba(),re(),(oe=N.stateNode).pendingContext&&(oe.context=oe.pendingContext,oe.pendingContext=null),F===null||F.child,gl(N);break;case 5:xu(N);var ye=Ws(ml.current);if(te=N.type,F!==null&&N.stateNode!=null)uf(F,N,te,oe,ye),F.ref!==N.ref&&(N.effectTag|=128);else if(oe){F=Ws(va.current);var Fe=J(te,oe,ye,F,N);op(Fe,N,!1,!1),N.stateNode=Fe,ee(Fe,te,oe,ye,F)&&Go(N),N.ref!==null&&(N.effectTag|=128)}else if(N.stateNode===null)throw Error(s(166));break;case 6:if(F&&N.stateNode!=null)Ql(F,N,F.memoizedProps,oe);else{if(typeof oe!="string"&&N.stateNode===null)throw Error(s(166));F=Ws(ml.current),ye=Ws(va.current),N.stateNode=ue(oe,F,ye,N)}break;case 13:if(Lt($i),oe=N.memoizedState,(64&N.effectTag)!=0){N.expirationTime=te;break e}oe=oe!==null,ye=!1,F===null?N.memoizedProps.fallback:(ye=(te=F.memoizedState)!==null,oe||te===null||(te=F.child.sibling)!==null&&((Fe=N.firstEffect)!==null?(N.firstEffect=te,te.nextEffect=Fe):(N.firstEffect=N.lastEffect=te,te.nextEffect=null),te.effectTag=8)),oe&&!ye&&(2&N.mode)!=0&&(F===null&&N.memoizedProps.unstable_avoidThisFallback!==!0||(1&$i.current)!=0?Ga===ic&&(Ga=ac):(Ga!==ic&&Ga!==ac||(Ga=g0),ju!==0&&ao!==null&&(Io(ao,Da),Ts(ao,ju)))),(oe||ye)&&(N.effectTag|=4);break;case 4:Ba(),gl(N);break;case 10:Bs(N);break;case 19:if(Lt($i),(oe=N.memoizedState)===null)break;if(ye=(64&N.effectTag)!=0,(Fe=oe.rendering)===null){if(ye)wu(oe,!1);else if(Ga!==ic||F!==null&&(64&F.effectTag)!=0)for(F=N.child;F!==null;){if((Fe=vo(F))!==null){for(N.effectTag|=64,wu(oe,!1),(F=Fe.updateQueue)!==null&&(N.updateQueue=F,N.effectTag|=4),oe.lastEffect===null&&(N.firstEffect=null),N.lastEffect=oe.lastEffect,F=te,oe=N.child;oe!==null;)te=F,(ye=oe).effectTag&=2,ye.nextEffect=null,ye.firstEffect=null,ye.lastEffect=null,(Fe=ye.alternate)===null?(ye.childExpirationTime=0,ye.expirationTime=te,ye.child=null,ye.memoizedProps=null,ye.memoizedState=null,ye.updateQueue=null,ye.dependencies=null):(ye.childExpirationTime=Fe.childExpirationTime,ye.expirationTime=Fe.expirationTime,ye.child=Fe.child,ye.memoizedProps=Fe.memoizedProps,ye.memoizedState=Fe.memoizedState,ye.updateQueue=Fe.updateQueue,te=Fe.dependencies,ye.dependencies=te===null?null:{expirationTime:te.expirationTime,firstContext:te.firstContext,responders:te.responders}),oe=oe.sibling;ir($i,1&$i.current|2),N=N.child;break e}F=F.sibling}}else{if(!ye)if((F=vo(Fe))!==null){if(N.effectTag|=64,ye=!0,(F=F.updateQueue)!==null&&(N.updateQueue=F,N.effectTag|=4),wu(oe,!0),oe.tail===null&&oe.tailMode==="hidden"){(N=N.lastEffect=oe.lastEffect)!==null&&(N.nextEffect=null);break}}else Sn()>oe.tailExpiration&&1oe&&(oe=te),(Fe=ye.childExpirationTime)>oe&&(oe=Fe),ye=ye.sibling;F.childExpirationTime=oe}if(N!==null)return N;B!==null&&(2048&B.effectTag)==0&&(B.firstEffect===null&&(B.firstEffect=Dr.firstEffect),Dr.lastEffect!==null&&(B.lastEffect!==null&&(B.lastEffect.nextEffect=Dr.firstEffect),B.lastEffect=Dr.lastEffect),1(B=B.childExpirationTime)?N:B}function bn(B){var N=si();return aa(99,pp.bind(null,B,N)),null}function pp(B,N){if(Co(),(Yr&(Vo|Wo))!==la)throw Error(s(327));var F=B.finishedWork,te=B.finishedExpirationTime;if(F===null)return null;if(B.finishedWork=null,B.finishedExpirationTime=0,F===B.current)throw Error(s(177));B.callbackNode=null,B.callbackExpirationTime=0,B.callbackPriority=90,B.nextKnownPendingLevel=0;var oe=Ch(F);if(B.firstPendingTime=oe,te<=B.lastSuspendedTime?B.firstSuspendedTime=B.lastSuspendedTime=B.nextKnownPendingLevel=0:te<=B.firstSuspendedTime&&(B.firstSuspendedTime=te-1),te<=B.lastPingedTime&&(B.lastPingedTime=0),te<=B.lastExpiredTime&&(B.lastExpiredTime=0),B===ao&&(Dr=ao=null,Da=0),1=F?bu(B,N,F):(ir($i,1&$i.current),(N=Fl(B,N,F))!==null?N.sibling:null);ir($i,1&$i.current);break;case 19:if(te=N.childExpirationTime>=F,(64&B.effectTag)!=0){if(te)return rc(B,N,F);N.effectTag|=64}if((oe=N.memoizedState)!==null&&(oe.rendering=null,oe.tail=null),ir($i,$i.current),!te)return null}return Fl(B,N,F)}Ho=!1}}else Ho=!1;switch(N.expirationTime=0,N.tag){case 2:if(te=N.type,B!==null&&(B.alternate=null,N.alternate=null,N.effectTag|=2),B=N.pendingProps,oe=ie(N,ce.current),me(N,F),oe=zn(null,N,te,B,oe,F),N.effectTag|=1,typeof oe=="object"&&oe!==null&&typeof oe.render=="function"&&oe.$$typeof===void 0){if(N.tag=1,_a(),ae(te)){var ye=!0;H(N)}else ye=!1;N.memoizedState=oe.state!==null&&oe.state!==void 0?oe.state:null;var Fe=te.getDerivedStateFromProps;typeof Fe=="function"&&xa(N,te,Fe,B),oe.updater=ro,N.stateNode=oe,oe._reactInternalFiber=N,zo(N,te,B,F),N=cf(null,N,te,!0,ye,F)}else N.tag=0,qo(null,N,oe,F),N=N.child;return N;case 16:if(oe=N.elementType,B!==null&&(B.alternate=null,N.alternate=null,N.effectTag|=2),B=N.pendingProps,(function(Pr){if(Pr._status===-1){Pr._status=0;var Vi=Pr._ctor;Vi=Vi(),Pr._result=Vi,Vi.then((function(ai){Pr._status===0&&(ai=ai.default,Pr._status=1,Pr._result=ai)}),(function(ai){Pr._status===0&&(Pr._status=2,Pr._result=ai)}))}})(oe),oe._status!==1)throw oe._result;switch(oe=oe._result,N.type=oe,ye=N.tag=(function(Pr){if(typeof Pr=="function")return E0(Pr)?1:0;if(Pr!=null){if((Pr=Pr.$$typeof)===w)return 11;if(Pr===S)return 14}return 2})(oe),B=wi(oe,B),ye){case 0:N=Qc(null,N,oe,B,F);break;case 1:N=sp(null,N,oe,B,F);break;case 11:N=hh(null,N,oe,B,F);break;case 14:N=mh(null,N,oe,wi(oe.type,B),te,F);break;default:throw Error(s(306,oe,""))}return N;case 0:return te=N.type,oe=N.pendingProps,Qc(B,N,te,oe=N.elementType===te?oe:wi(te,oe),F);case 1:return te=N.type,oe=N.pendingProps,sp(B,N,te,oe=N.elementType===te?oe:wi(te,oe),F);case 3:if(Pl(N),(te=N.updateQueue)===null)throw Error(s(282));if(oe=(oe=N.memoizedState)!==null?oe.element:null,Rr(N,te,N.pendingProps,null,F),(te=N.memoizedState.element)===oe)N=Fl(B,N,F);else{if((oe=N.stateNode.hydrate)&&(oe=!1),oe)for(F=zi(N,null,te,F),N.child=F;F;)F.effectTag=-3&F.effectTag|1024,F=F.sibling;else qo(B,N,te,F);N=N.child}return N;case 5:return ec(N),te=N.type,oe=N.pendingProps,ye=B!==null?B.memoizedProps:null,Fe=oe.children,V(te,oe)?Fe=null:ye!==null&&V(te,ye)&&(N.effectTag|=16),ap(B,N),4&N.mode&&F!==1&&null(te,oe)?(N.expirationTime=N.childExpirationTime=1,N=null):(qo(B,N,Fe,F),N=N.child),N;case 6:return null;case 13:return bu(B,N,F);case 4:return Au(N,N.stateNode.containerInfo),te=N.pendingProps,B===null?N.child=ks(N,null,te,F):qo(B,N,te,F),N.child;case 11:return te=N.type,oe=N.pendingProps,hh(B,N,te,oe=N.elementType===te?oe:wi(te,oe),F);case 7:return qo(B,N,N.pendingProps,F),N.child;case 8:case 12:return qo(B,N,N.pendingProps.children,F),N.child;case 10:e:{if(te=N.type._context,oe=N.pendingProps,Fe=N.memoizedProps,oi(N,ye=oe.value),Fe!==null){var bt=Fe.value;if((ye=Ua(bt,ye)?0:0|(typeof te._calculateChangedBits=="function"?te._calculateChangedBits(bt,ye):1073741823))==0){if(Fe.children===oe.children&&!Le.current){N=Fl(B,N,F);break e}}else for((bt=N.child)!==null&&(bt.return=N);bt!==null;){var Rt=bt.dependencies;if(Rt!==null){Fe=bt.child;for(var ar=Rt.firstContext;ar!==null;){if(ar.context===te&&(ar.observedBits&ye)!=0){bt.tag===1&&((ar=vt(F,null)).tag=2,Ot(bt,ar)),bt.expirationTime=N&&B<=N}function Io(B,N){var F=B.firstSuspendedTime,te=B.lastSuspendedTime;FN||F===0)&&(B.lastSuspendedTime=N),N<=B.lastPingedTime&&(B.lastPingedTime=0),N<=B.lastExpiredTime&&(B.lastExpiredTime=0)}function Ts(B,N){N>B.firstPendingTime&&(B.firstPendingTime=N);var F=B.firstSuspendedTime;F!==0&&(N>=F?B.firstSuspendedTime=B.lastSuspendedTime=B.nextKnownPendingLevel=0:N>=B.lastSuspendedTime&&(B.lastSuspendedTime=N+1),N>B.nextKnownPendingLevel&&(B.nextKnownPendingLevel=N))}function Rs(B,N){var F=B.lastExpiredTime;(F===0||F>N)&&(B.lastExpiredTime=N)}function Bu(B){var N=B._reactInternalFiber;if(N===void 0)throw typeof B.render=="function"?Error(s(188)):Error(s(268,Object.keys(B)));return(B=$(N))===null?null:B.stateNode}function ku(B,N){(B=B.memoizedState)!==null&&B.dehydrated!==null&&B.retryTime"u")return!1;var te=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(te.isDisabled||!te.supportsFiber)return!0;try{var oe=te.inject(F);xf=function(ye){try{te.onCommitFiberRoot(oe,ye,void 0,(64&ye.current.effectTag)==64)}catch{}},gp=function(ye){try{te.onCommitFiberUnmount(oe,ye)}catch{}}}catch{}return!0})(r({},B,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:o.ReactCurrentDispatcher,findHostInstanceByFiber:function(F){return(F=$(F))===null?null:F.stateNode},findFiberByHostInstance:function(F){return N?N(F):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}};Qb.exports=ud.default||ud;var tA=Qb.exports;return Qb.exports=e,tA};var wPe=vPe(oY.exports);const lY=(e,t)=>{const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;iwPe({appendChild:e,appendChildToContainer:t,appendInitialChild:e,createInstance:i,createTextInstance:s,insertBefore:o,commitUpdate:n,commitTextUpdate:r,removeChild:l,removeChildFromContainer:c,resetAfterCommit:d,shouldSetTextContent:()=>!1,finalizeInitialChildren:()=>!1,getPublicInstance:u=>u,getRootHostContext:()=>IF,getChildHostContext:()=>IF,prepareForCommit(){},clearContainer(){},resetTextContent(){},prepareUpdate:(u,h,p,A)=>!lY(p,A)}),CPe=Za.version.startsWith("19");var IPe=CPe?pPe:EPe;const jPe=e=>Object.fromEntries(Object.entries(e).filter(t=>{let[,r]=t;return r!==void 0})),NPe=(e,t)=>{let{style:r,children:n,...i}=t;return{type:e,box:{},style:r||{},props:i||{},children:[]}},SPe=e=>({type:"TEXT_INSTANCE",value:e}),cY=(e,t)=>{const r=e.type==="TEXT"||e.type==="LINK"||e.type==="TSPAN"||e.type==="NOTE";if(t.type==="TEXT_INSTANCE"&&!r){console.warn(`Invalid '${t.value}' string child outside component`);return}e.children.push(t)},BPe=(e,t)=>{e.type==="ROOT"?e.document=t:cY(e,t)},kPe=(e,t,r)=>{var n;const i=(n=e.children)===null||n===void 0?void 0:n.indexOf(r);i!==void 0&&i!==-1&&t&&e.children.splice(i,0,t)},_Pe=(e,t)=>{var r;const n=(r=e.children)===null||r===void 0?void 0:r.indexOf(t);n!==void 0&&n!==-1&&e.children.splice(n,1)},DPe=(e,t)=>{var r;const n=(r=e.children)===null||r===void 0?void 0:r.indexOf(t);n!==void 0&&n!==-1&&e.children.splice(n,1)},TPe=(e,t,r)=>{e.value=r},RPe=(e,t,r,n,i)=>{const{style:s,...o}=i;e.props=o,e.style=s},PPe=e=>{let{onChange:t=()=>{}}=e;return IPe({appendChild:cY,appendChildToContainer:BPe,commitTextUpdate:TPe,commitUpdate:RPe,createInstance:NPe,createTextInstance:SPe,insertBefore:kPe,removeChild:_Pe,removeChildFromContainer:DPe,resetAfterCommit:t})},QPe=new T6e;let Fb;const Mp={},Gw=e=>{const t=()=>{var p;const A=((p=Mp.change)===null||p===void 0?void 0:p.slice())||[];for(let y=0;y{Fb.updateContainer(p,n,null,A)};e&&i(e);const s=async function(p){p===void 0&&(p=!0);const A=r.document.props||{},{pdfVersion:y,language:v,pageLayout:w,pageMode:j,title:E,author:S,subject:_,keyboards:C,creator:Q="react-pdf",producer:R="react-pdf",creationDate:T=new Date,modificationDate:M}=A,O=new l8({compress:p,pdfVersion:y,lang:v,displayTitle:!0,autoFirstPage:!1,info:jPe({Title:E,Author:S,Subject:_,Keywords:C,Creator:Q,Producer:R,CreationDate:T,ModificationDate:M})});w&&(O._root.data.PageLayout=Qv(w)),j&&(O._root.data.PageMode=Qv(j));const $=await oPe(r.document,QPe),P=YBe(O,$);return{layout:$,fileStream:P}},o=function(p){p===void 0&&(p={}),r.document.props.onRender&&r.document.props.onRender(p)};return{on:(p,A)=>{Mp[p]||(Mp[p]=[]),Mp[p].push(A)},container:r,toBlob:async()=>{const p=[],{layout:A,fileStream:y}=await s();return new Promise((v,w)=>{y.on("data",j=>{p.push(j instanceof Uint8Array?j:new Uint8Array(j))}),y.on("end",()=>{try{const j=new Blob(p,{type:"application/pdf"});o({blob:j,_INTERNAL__LAYOUT__DATA_:A}),v(j)}catch(j){w(j)}})})},toBuffer:async()=>{const{layout:p,fileStream:A}=await s();return o({_INTERNAL__LAYOUT__DATA_:p}),A},toString:async()=>{let p="";const{fileStream:A}=await s(!1);return new Promise((y,v)=>{try{A.on("data",w=>{p+=w}),A.on("end",()=>{o(),y(p)})}catch(w){v(w)}})},removeListener:(p,A)=>{if(!Mp[p])return;const y=Mp[p].indexOf(A);y>-1&&Mp[p].splice(y,1)},updateContainer:i}},uY={create:e=>e},Vr=uY.create({page:{padding:40,fontSize:11,fontFamily:"Helvetica",lineHeight:1.5},title:{fontSize:24,fontWeight:"bold",marginBottom:10,textAlign:"center"},subtitle:{fontSize:14,marginBottom:30,textAlign:"center",color:"#666"},sectionTitle:{fontSize:16,fontWeight:"bold",marginTop:20,marginBottom:10,color:"#2563eb"},subsectionTitle:{fontSize:13,fontWeight:"bold",marginTop:15,marginBottom:8,color:"#1e40af"},paragraph:{marginBottom:8,textAlign:"justify"},list:{marginLeft:20,marginBottom:8},listItem:{marginBottom:5},bold:{fontWeight:"bold"},separator:{borderBottom:"1 solid #e5e7eb",marginVertical:15},developerSection:{marginTop:30,paddingTop:20,borderTopWidth:2,borderTopColor:"#e5e7eb",alignItems:"center"},developerLogo:{width:120,height:60,marginBottom:10,objectFit:"contain"},developerName:{fontSize:14,fontWeight:"bold",marginBottom:5,color:"#111"},developerTagline:{fontSize:10,marginBottom:5,color:"#666",fontStyle:"italic"},developerWebsite:{fontSize:10,color:"#2563eb",textDecoration:"none"}});function FPe({logoBase64:e}={}){return a.jsx(XS,{children:a.jsxs(H4,{size:"A4",style:Vr.page,children:[a.jsx(rr,{style:Vr.title,children:"Aide & Documentation"}),a.jsx(rr,{style:Vr.subtitle,children:"Guide d'utilisation de Parc'App - Gestion de flotte"}),a.jsxs(Rn,{children:[a.jsx(rr,{style:Vr.sectionTitle,children:"Vue d'ensemble"}),a.jsx(rr,{style:Vr.paragraph,children:"Parc'App est une application de gestion de flotte de véhicules qui permet de gérer les voyages, les véhicules, les remorques, les équipages, les entretiens, les incidents et les statistiques."}),a.jsx(rr,{style:Vr.paragraph,children:"L'application est organisée en plusieurs sections principales accessibles depuis le menu latéral (ou le menu mobile en bas de l'écran)."})]}),a.jsx(Rn,{style:Vr.separator}),a.jsxs(Rn,{children:[a.jsx(rr,{style:Vr.sectionTitle,children:"Gestion des Voyages"}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Créer un nouveau voyage"}),a.jsxs(rr,{style:Vr.paragraph,children:['1. Cliquez sur le bouton "Créer un voyage" en haut de la page des voyages',` `,"2. Sélectionnez le type de voyage, le véhicule, la remorque et l'équipage",` `,"3. Renseignez les informations du voyage (titre, client, lieux, etc.)",` `,"4. Configurez les trajets (aller simple ou aller-retour)",` `,'5. Validez en cliquant sur "Créer le voyage"']}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Consulter et gérer un voyage"}),a.jsxs(rr,{style:Vr.paragraph,children:["La page de détail contient plusieurs onglets :",` `,"• Résumé : Informations générales et statut",` `,"• Trajets : Liste des trajets avec leurs étapes",` `,"• Journal : Chronologie des événements et incidents",` `,"• Argent : Revenus et dépenses du voyage"]}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Modifier un voyage"}),a.jsx(rr,{style:Vr.paragraph,children:'Depuis la page de détail, cliquez sur "Modifier" pour éditer les informations. Certaines modifications peuvent être limitées si le voyage a déjà commencé.'}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Actions disponibles"}),a.jsxs(rr,{style:Vr.paragraph,children:["• Générer l'ordre de mission (PDF)",` `,"• Gérer les pesées (chargement/déchargement)",` `,"• Gérer les incidents",` `,"• Archiver ou supprimer un voyage terminé"]}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Recherche et filtres"}),a.jsx(rr,{style:Vr.paragraph,children:"Utilisez la barre de recherche pour trouver un voyage par titre, code, client, véhicule, etc. Les filtres permettent de trier par statut (En préparation, En cours, Terminé, Annulé)."})]}),a.jsx(Rn,{style:Vr.separator}),a.jsxs(Rn,{children:[a.jsx(rr,{style:Vr.sectionTitle,children:"Gestion des Incidents"}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Vue d'ensemble"}),a.jsx(rr,{style:Vr.paragraph,children:"La page des incidents affiche tous les voyages en cours qui ont des incidents signalés par les chauffeurs. Les voyages sont organisés par ordre de priorité : incidents urgents en premier."}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Types d'incidents"}),a.jsx(rr,{style:Vr.paragraph,children:"Les chauffeurs peuvent signaler différents types : Roue, Électricité, Moteur, Frein, Autre."}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Gérer un incident"}),a.jsxs(rr,{style:Vr.paragraph,children:["Depuis l'onglet Journal d'un voyage :",` `,"• Consultez les détails (type, priorité, statut, photos, messages)",` `,"• Répondez avec texte, photos, audio ou vidéo",` `,"• Marquez l'incident comme résolu",` `,"• Assignez l'incident à un utilisateur"]}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Indicateurs visuels"}),a.jsxs(rr,{style:Vr.paragraph,children:["• Bordure rouge : Voyage avec incident(s) urgent(s)",` `,"• Bordure orange : Voyage avec incident(s) ouvert(s)",` `,"• Bordure bleue : Voyage avec messages non lus",` `,'• Badges : "Urgent", "En cours", nombre de messages non lus']})]}),a.jsx(Rn,{style:Vr.separator}),a.jsxs(Rn,{children:[a.jsx(rr,{style:Vr.sectionTitle,children:"Gestion des Entretiens"}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Créer un entretien"}),a.jsxs(rr,{style:Vr.paragraph,children:['1. Cliquez sur "Ajouter une maintenance"',` `,"2. Sélectionnez le véhicule ou la remorque",` `,"3. Choisissez le type d'entretien (vidange, filtre, freins, etc.)",` `,"4. Renseignez la date prévue, le kilométrage prévu (véhicules) et les notes",` `,"5. Ajoutez une photo si nécessaire"]}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Organisation"}),a.jsxs(rr,{style:Vr.paragraph,children:["Les entretiens sont organisés par équipement et filtrés par statut :",` `,"• Tous, Planifiés, En cours, Terminés, En retard"]}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Traiter un entretien"}),a.jsxs(rr,{style:Vr.paragraph,children:["Une fois l'entretien effectué :",` `,"1. Cliquez sur le bouton de traitement",` `,"2. Mettez à jour le statut (Planifié, En cours, Terminé)",` `,"3. Renseignez la date effectuée et le kilométrage effectué",` `,"4. Ajoutez les pièces remplacées (nom, quantité, coût unitaire)",` `,"5. Ajoutez le coût de main-d'œuvre",` `,"6. Ajoutez des documents (photo, audio, justificatif)",` `,"7. Le coût total est calculé automatiquement"]}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Filtres et recherche"}),a.jsxs(rr,{style:Vr.paragraph,children:["• Recherche par type, description ou notes",` `,"• Filtre par équipement (véhicule ou remorque spécifique)",` `,"• Filtre par statut via les onglets"]})]}),a.jsx(Rn,{style:Vr.separator}),a.jsxs(Rn,{children:[a.jsx(rr,{style:Vr.sectionTitle,children:"Autres sections"}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Tableau de bord"}),a.jsx(rr,{style:Vr.paragraph,children:"Aperçu global de l'activité avec statistiques principales et accès rapide aux sections."}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Attelages"}),a.jsx(rr,{style:Vr.paragraph,children:"Gérez l'association des véhicules et remorques. Les attelages peuvent être utilisés lors de la création de voyages."}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Statistiques"}),a.jsx(rr,{style:Vr.paragraph,children:"Consultez les statistiques par onglets : Vue d'ensemble, Revenus, Dépenses, Véhicules. Filtrez par période et exportez les données."}),a.jsx(rr,{style:Vr.subsectionTitle,children:"Paramètres"}),a.jsxs(rr,{style:Vr.paragraph,children:["• Référentiels : Équipements, Équipage, Types de voyages, Lieux",` `,"• Organisation : Informations de l'entreprise, logo, contacts d'urgence",` `,"• Utilisateurs : Gestion des comptes, rôles et permissions"]})]}),a.jsx(Rn,{style:Vr.separator}),a.jsxs(Rn,{children:[a.jsx(rr,{style:Vr.sectionTitle,children:"Astuces et bonnes pratiques"}),a.jsxs(rr,{style:Vr.paragraph,children:["• Utilisez le menu latéral pour accéder rapidement aux sections",` `,"• La plupart des listes sont filtrables et recherchables",` `,"• Les fonctionnalités accessibles dépendent de votre rôle",` `,"• Vérifiez régulièrement la page des incidents pour identifier rapidement les problèmes",` `,"• Planifiez les entretiens préventifs à l'avance",` `,"• Enregistrez toujours les pièces remplacées et les coûts pour un suivi financier précis"]})]}),a.jsxs(Rn,{style:Vr.developerSection,children:[e&&a.jsx(Gm,{src:e,style:Vr.developerLogo}),a.jsx(rr,{style:Vr.developerName,children:"JRB XSolutions"}),a.jsx(rr,{style:Vr.developerTagline,children:"Des solutions digitales accessibles à tous"}),a.jsx(rr,{style:Vr.developerWebsite,children:"www.jrbxsolutions.com"})]}),a.jsx(Rn,{style:[Vr.separator,{marginTop:20}]}),a.jsxs(rr,{style:[Vr.paragraph,{textAlign:"center",fontSize:9,color:"#666",marginTop:10}],children:["Document généré le ",new Date().toLocaleDateString("fr-FR")," - Parc'App"]})]})})}function dY(){const[e,t]=I.useState(!1),{toast:r}=Er(),n=async()=>{t(!0);try{let i;try{const c=await fetch("/jrb-xsolutions-logo.png");if(c.ok){const d=await c.blob();i=await new Promise((u,h)=>{const p=new FileReader;p.onloadend=()=>{typeof p.result=="string"?u(p.result):h(new Error("Failed to convert logo to base64"))},p.onerror=h,p.readAsDataURL(d)})}}catch{console.log("Logo non disponible, génération du PDF sans logo")}const s=await Gw(a.jsx(FPe,{logoBase64:i})).toBlob(),o=URL.createObjectURL(s),l=document.createElement("a");l.href=o,l.download=`aide-parcapp-${new Date().toISOString().split("T")[0]}.pdf`,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(o),r({title:"Succès",description:"Le guide d'aide a été téléchargé avec succès"})}catch(i){console.error("Erreur lors de la génération du PDF:",i),r({variant:"destructive",title:"Erreur",description:"Impossible de générer le PDF. Veuillez réessayer."})}finally{t(!1)}};return a.jsxs("div",{className:"p-4 md:p-8 space-y-6 max-w-4xl mx-auto",children:[a.jsxs("div",{className:"text-center space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-center gap-2",children:[a.jsx(Gl,{className:"h-8 w-8 text-primary"}),a.jsx("h1",{className:"text-3xl font-bold",children:"Aide & Documentation"})]}),a.jsx("p",{className:"text-muted-foreground",children:"Guide d'utilisation de Parc'App - Gestion de flotte"}),a.jsx("div",{className:"flex justify-center mt-4",children:a.jsx(ge,{onClick:n,disabled:e,variant:"outline",className:"gap-2",children:e?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 animate-spin"}),"Génération..."]}):a.jsxs(a.Fragment,{children:[a.jsx(Y3,{className:"h-4 w-4"}),"Télécharger en PDF"]})})})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Wf,{className:"h-5 w-5 text-primary"}),"Vue d'ensemble"]}),a.jsx(Ms,{text:"Parc'App est une application de gestion de flotte de véhicules qui permet de gérer les voyages, les véhicules, les remorques, les équipages, les entretiens, les incidents et les statistiques. L'application est organisée en plusieurs sections principales accessibles depuis le menu latéral ou le menu mobile en bas de l'écran.",title:"Vue d'ensemble",size:"sm"})]})}),a.jsxs(Et,{className:"space-y-3 text-sm",children:[a.jsx("p",{children:"Parc'App est une application de gestion de flotte de véhicules qui permet de gérer les voyages, les véhicules, les remorques, les équipages, les entretiens, les incidents et les statistiques."}),a.jsx("p",{children:"L'application est organisée en plusieurs sections principales accessibles depuis le menu latéral (ou le menu mobile en bas de l'écran)."})]})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Wf,{className:"h-5 w-5 text-primary"}),"Guide rapide par section"]}),a.jsx(Ms,{text:"Ce guide vous explique comment utiliser chaque section de l'application : la gestion des voyages, des incidents, des entretiens, des statistiques et des paramètres. Chaque section contient des instructions détaillées pour vous aider à utiliser efficacement Parc'App.",title:"Guide rapide par section",size:"sm"})]})}),a.jsx(Et,{children:a.jsxs(bN,{type:"single",collapsible:!0,className:"w-full",children:[a.jsxs(Il,{value:"dashboard",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(h4,{className:"h-4 w-4"}),a.jsx("span",{children:"Tableau de bord"})]})}),a.jsxs(Nl,{className:"space-y-3 text-sm",children:[a.jsx("p",{className:"font-semibold",children:"Vue d'ensemble :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Le tableau de bord affiche un aperçu global de l'activité"}),a.jsx("li",{children:"Vous pouvez voir les statistiques principales : voyages en cours, véhicules, incidents, etc."}),a.jsx("li",{children:"Les cartes cliquables permettent d'accéder rapidement aux sections détaillées"})]})]})]}),a.jsxs(Il,{value:"voyages",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-4 w-4"}),a.jsx("span",{children:"Gestion des Voyages"})]})}),a.jsxs(Nl,{className:"space-y-4 text-sm",children:[a.jsx("div",{className:"flex justify-end mb-2",children:a.jsx(Ms,{text:"Pour créer un voyage, cliquez sur Créer un voyage, sélectionnez le type, le véhicule, la remorque et l'équipage. Renseignez les informations, configurez les lieux et les trajets. La page de détail contient plusieurs onglets : Résumé pour les informations générales, Trajets pour les trajets et étapes, Journal pour la chronologie des événements, et Argent pour les revenus et dépenses. Vous pouvez modifier un voyage, générer l'ordre de mission, gérer les pesées et les incidents. Utilisez la recherche et les filtres pour trouver rapidement un voyage.",title:"Gestion des Voyages",size:"sm"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"font-semibold text-base",children:"Créer un nouveau voyage :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground ml-2",children:[a.jsxs("li",{children:["Cliquez sur le bouton ",a.jsxs("span",{className:"inline-flex items-center gap-1 font-medium text-foreground",children:[a.jsx(Ti,{className:"h-3 w-3"})," Créer un voyage"]})," en haut de la page des voyages"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Sélectionnez le type de voyage"})," : Choisissez parmi les types configurés (ex: Transport de marchandises, Livraison, etc.)"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Choisissez le véhicule"})," : Sélectionnez un véhicule disponible. Si le véhicule a un attelage actif, la remorque sera automatiquement proposée"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Sélectionnez la remorque"})," : Choisissez une remorque ou utilisez celle de l'attelage actif"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Configurez l'équipage"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Sélectionnez le chauffeur principal (obligatoire)"}),a.jsx("li",{children:"Ajoutez des membres d'équipage supplémentaires si nécessaire (apprentis, etc.)"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Renseignez les informations du voyage"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:'Titre du voyage (ex: "Livraison Ouaga - Bobo")'}),a.jsx("li",{children:"Description (optionnelle)"}),a.jsx("li",{children:"Nom du client"}),a.jsx("li",{children:"Référence client (optionnelle)"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Configurez les lieux"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Lieu de chargement (sélectionnez depuis les lieux configurés ou saisissez manuellement)"}),a.jsx("li",{children:"Lieu de déchargement (sélectionnez depuis les lieux configurés ou saisissez manuellement)"}),a.jsx("li",{children:'Type de chargement (ex: "Sable", "Gravier", etc.)'})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Gérez les documents"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Numéro de bon de commande (optionnel)"}),a.jsx("li",{children:"Date du bon de commande (optionnelle)"}),a.jsx("li",{children:"Upload du bon de chargement (photo du document)"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Configurez les trajets"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:'Choisissez le mode : "Aller simple" ou "Aller-retour"'}),a.jsx("li",{children:"Définissez le nombre de tours prévus (par défaut 1)"}),a.jsx("li",{children:'Si vous choisissez "Créer les trajets maintenant", les trajets seront générés automatiquement'})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Date de départ prévue"})," : Optionnelle, permet de planifier le voyage à l'avance"]}),a.jsxs("li",{children:["Cliquez sur ",a.jsx("span",{className:"font-medium text-foreground",children:'"Créer le voyage"'})," pour finaliser"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Consulter et gérer un voyage :"}),a.jsx("p",{className:"text-muted-foreground mb-2",children:"Cliquez sur un voyage dans la liste pour accéder à sa page de détail. Cette page contient plusieurs onglets :"}),a.jsxs("div",{className:"space-y-3 ml-2",children:[a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"📋 Onglet Résumé :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Affiche toutes les informations générales du voyage"}),a.jsxs("li",{children:["Statut du voyage : ",a.jsx("span",{className:"font-medium",children:"En préparation"}),", ",a.jsx("span",{className:"font-medium",children:"En cours"}),", ",a.jsx("span",{className:"font-medium",children:"Terminée"}),", ou ",a.jsx("span",{className:"font-medium",children:"Annulée"})]}),a.jsx("li",{children:"Informations sur le véhicule, la remorque et l'équipage"}),a.jsx("li",{children:"Lieux de chargement et déchargement"}),a.jsx("li",{children:"Dates de début et de fin (si disponibles)"}),a.jsx("li",{children:"Barre de progression du voyage"})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"🚛 Onglet Trajets :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Liste de tous les trajets associés au voyage (aller, retour, tours multiples)"}),a.jsx("li",{children:"Pour chaque trajet : statut, dates, étapes, kilométrage"}),a.jsx("li",{children:"Visualisation des étapes de chaque trajet avec leur statut (non atteinte, atteinte, en retard)"}),a.jsx("li",{children:"Possibilité de voir les détails de chaque étape"})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"📝 Onglet Journal :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Chronologie complète des événements du voyage"}),a.jsx("li",{children:"Événements créés par les chauffeurs (photos, vidéos, messages audio, texte)"}),a.jsx("li",{children:"Incidents signalés avec leurs messages et réponses"}),a.jsx("li",{children:"Événements automatiques (démarrage voyage, validation d'étapes, etc.)"}),a.jsx("li",{children:"Filtres par type d'événement et par étape"}),a.jsx("li",{children:"Marquer les événements comme lus/non lus"})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"💰 Onglet Argent :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Revenus"})," : Ajoutez les revenus de la mission (montant, description, justificatif)"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Dépenses"})," : Gérez les dépenses du voyage",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Dépenses générales (péages, parking, etc.)"}),a.jsx("li",{children:"Prises de carburant avec photos des tickets"}),a.jsx("li",{children:"Dépenses par catégorie (carburant, péage, réparation, autre)"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Bilan financier"})," : Calcul automatique du bénéfice/perte (Revenus - Dépenses)"]}),a.jsx("li",{children:"Possibilité d'éditer ou supprimer les revenus et dépenses"})]})]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Modifier un voyage :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:["Depuis la page de détail, cliquez sur le bouton ",a.jsxs("span",{className:"inline-flex items-center gap-1 font-medium text-foreground",children:[a.jsx($m,{className:"h-3 w-3"})," Modifier"]})," en haut à droite"]}),a.jsxs("li",{children:["Vous pouvez modifier :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Les informations générales (titre, description, client, etc.)"}),a.jsx("li",{children:"Le véhicule et la remorque (si le voyage n'a pas encore commencé)"}),a.jsx("li",{children:"L'équipage"}),a.jsx("li",{children:"Les lieux de chargement et déchargement"}),a.jsx("li",{children:"Les documents (bon de chargement)"}),a.jsx("li",{children:"Le statut du voyage"})]})]}),a.jsx("li",{children:"Note : Certaines modifications peuvent être limitées si le voyage a déjà commencé"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Actions disponibles :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Générer l'ordre de mission"})," : Depuis la page de détail, cliquez sur ",a.jsxs("span",{className:"inline-flex items-center gap-1 font-medium text-foreground",children:[a.jsx(po,{className:"h-3 w-3"})," Ordre de mission"]})," pour générer un PDF"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Gérer les pesées"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Upload du ticket de pesée de chargement (depuis l'onglet Trajets ou Résumé)"}),a.jsx("li",{children:"Upload du ticket de pesée de déchargement"}),a.jsx("li",{children:"Visualisation des photos des tickets de pesée"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Gérer les incidents"})," : Créez et suivez les incidents depuis l'onglet Journal"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Archiver/Supprimer"})," : Un voyage terminé peut être archivé ou supprimé (avec confirmation)"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Recherche et filtres :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Barre de recherche"})," : Recherchez par :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Titre du voyage"}),a.jsx("li",{children:"Code du voyage"}),a.jsx("li",{children:"Nom du client"}),a.jsx("li",{children:"Référence client"}),a.jsx("li",{children:"Immatriculation du véhicule"}),a.jsx("li",{children:"Type de chargement"}),a.jsx("li",{children:"Lieu de chargement ou déchargement"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Filtres par statut"})," : Utilisez les onglets en haut de la liste pour filtrer :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Tous les voyages"}),a.jsx("li",{children:"En préparation"}),a.jsx("li",{children:"En cours"}),a.jsx("li",{children:"Terminés"}),a.jsx("li",{children:"Annulés"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Indicateurs visuels"})," : Les voyages avec des pannes sont marqués visuellement dans la liste"]})]})]})]})]}),a.jsxs(Il,{value:"attelages",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Xv,{className:"h-4 w-4"}),a.jsx("span",{children:"Gestion des Attelages"})]})}),a.jsxs(Nl,{className:"space-y-3 text-sm",children:[a.jsx("p",{className:"font-semibold",children:"Créer un attelage :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Un attelage est l'association d'un véhicule et d'une remorque"}),a.jsxs("li",{children:["Cliquez sur ",a.jsxs("span",{className:"inline-flex items-center gap-1",children:[a.jsx(Ti,{className:"h-3 w-3"})," Nouvel attelage"]})]}),a.jsx("li",{children:"Sélectionnez un véhicule et une remorque disponibles"}),a.jsx("li",{children:"Les attelages peuvent être utilisés lors de la création de voyages"})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Gérer les attelages :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"La liste affiche tous les attelages actifs"}),a.jsx("li",{children:"Vous pouvez voir quels véhicules et remorques sont actuellement associés"}),a.jsx("li",{children:"Les attelages peuvent être modifiés ou supprimés si nécessaire"})]})]})]})]}),a.jsxs(Il,{value:"incidents",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Kn,{className:"h-4 w-4"}),a.jsx("span",{children:"Gestion des Incidents"})]})}),a.jsxs(Nl,{className:"space-y-4 text-sm",children:[a.jsx("div",{className:"flex justify-end mb-2",children:a.jsx(Ms,{text:"La page des incidents affiche tous les voyages en cours avec des incidents signalés par les chauffeurs. Les voyages sont organisés par priorité : incidents urgents en premier. Les types d'incidents sont : Roue, Électricité, Moteur, Frein, Autre. Depuis l'onglet Journal d'un voyage, vous pouvez consulter les détails, répondre avec texte, photos, audio ou vidéo, marquer l'incident comme résolu, et assigner l'incident à un utilisateur. Les indicateurs visuels utilisent des codes couleur : bordure rouge pour incidents urgents, orange pour incidents ouverts, bleue pour messages non lus.",title:"Gestion des Incidents",size:"sm"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"font-semibold text-base",children:"Vue d'ensemble :"}),a.jsx("p",{className:"text-muted-foreground",children:"La page des incidents affiche tous les voyages en cours qui ont des incidents signalés par les chauffeurs. Elle permet de suivre et gérer efficacement tous les problèmes rencontrés pendant les voyages."}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsx("li",{children:"Les voyages sont organisés par ordre de priorité : incidents urgents en premier, puis incidents ouverts, puis voyages avec messages non lus"}),a.jsx("li",{children:"Chaque carte de voyage affiche des indicateurs visuels pour identifier rapidement les situations critiques"}),a.jsx("li",{children:"Des statistiques globales sont affichées en haut de la page : messages non lus, incidents ouverts, incidents urgents"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Accéder aux incidents d'un voyage :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsx("li",{children:"Cliquez sur une carte de voyage dans la liste des incidents"}),a.jsxs("li",{children:["Vous serez redirigé vers la page de détail du voyage avec l'onglet ",a.jsx("span",{className:"font-medium text-foreground",children:"Journal"})," ouvert automatiquement"]}),a.jsx("li",{children:"L'affichage scrollera automatiquement vers les incidents du voyage"}),a.jsx("li",{children:"Si un incident spécifique est sélectionné depuis la page incidents, vous serez dirigé directement vers cet incident dans le journal"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Types d'incidents :"}),a.jsx("p",{className:"text-muted-foreground mb-2",children:"Les chauffeurs peuvent signaler différents types d'incidents :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Roue"})," : Problèmes liés aux pneus (crevaison, usure, etc.)"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Électricité"})," : Problèmes électriques du véhicule (batterie, alternateur, phares, etc.)"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Moteur"})," : Problèmes mécaniques du moteur"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Frein"})," : Problèmes de système de freinage"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Autre"})," : Tout autre type de problème non catégorisé"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Gérer un incident :"}),a.jsx("p",{className:"text-muted-foreground mb-2",children:"Depuis l'onglet Journal d'un voyage, vous pouvez :"}),a.jsxs("div",{className:"space-y-3 ml-2",children:[a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"📸 Consulter les détails :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Type d'incident et priorité (normale, haute, urgente)"}),a.jsxs("li",{children:["Statut : ",a.jsx("span",{className:"font-medium",children:"Ouvert"}),", ",a.jsx("span",{className:"font-medium",children:"En cours"}),", ou ",a.jsx("span",{className:"font-medium",children:"Résolu"})]}),a.jsx("li",{children:"Date et heure de création"}),a.jsx("li",{children:"Description détaillée fournie par le chauffeur"}),a.jsx("li",{children:"Photos, vidéos ou messages audio associés"}),a.jsx("li",{children:"Géolocalisation de l'incident (si disponible)"})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"💬 Répondre à un incident :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Dans l'onglet Journal, trouvez l'incident concerné"}),a.jsxs("li",{children:["Cliquez sur le bouton ",a.jsx("span",{className:"font-medium text-foreground",children:'"Répondre"'})," sous le message d'incident"]}),a.jsxs("li",{children:["Ajoutez votre réponse :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Message texte"}),a.jsx("li",{children:"Photo (depuis la galerie ou prise directement)"}),a.jsx("li",{children:"Message audio (enregistrement vocal)"}),a.jsx("li",{children:"Vidéo (depuis la galerie ou enregistrement direct)"})]})]}),a.jsx("li",{children:"Vos réponses s'afficheront dans le fil de discussion de l'incident"})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"✅ Résoudre un incident :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Une fois l'incident traité, vous pouvez le marquer comme résolu"}),a.jsx("li",{children:'Le statut passera à "Résolu" et la date de résolution sera enregistrée'}),a.jsx("li",{children:"L'incident restera visible dans l'historique pour référence"})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"👤 Assigner un incident :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Vous pouvez assigner un incident à un utilisateur spécifique (mécanicien, gestionnaire, etc.)"}),a.jsx("li",{children:"Cela permet de suivre qui est responsable du traitement de l'incident"})]})]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Indicateurs visuels :"}),a.jsx("p",{className:"text-muted-foreground mb-2",children:"La page des incidents utilise des codes couleur pour identifier rapidement les priorités :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:[a.jsx("span",{className:"inline-block w-3 h-3 rounded-full bg-red-500 mr-2"}),a.jsx("strong",{children:"Bordure rouge"})," : Voyage avec incident(s) urgent(s)"]}),a.jsxs("li",{children:[a.jsx("span",{className:"inline-block w-3 h-3 rounded-full bg-orange-500 mr-2"}),a.jsx("strong",{children:"Bordure orange"})," : Voyage avec incident(s) ouvert(s) (non urgent)"]}),a.jsxs("li",{children:[a.jsx("span",{className:"inline-block w-3 h-3 rounded-full bg-blue-500 mr-2"}),a.jsx("strong",{children:"Bordure bleue"})," : Voyage avec messages non lus (pas d'incident ouvert)"]}),a.jsxs("li",{children:[a.jsxs("span",{className:"inline-flex items-center gap-1",children:[a.jsx(Kn,{className:"h-3 w-3 text-red-500"}),' Badge "Urgent"']})," : Affiche les incidents de priorité urgente"]}),a.jsxs("li",{children:[a.jsxs("span",{className:"inline-flex items-center gap-1",children:[a.jsx(Bl,{className:"h-3 w-3 text-orange-500"}),' Badge "En cours"']})," : Affiche les incidents ouverts"]}),a.jsxs("li",{children:[a.jsx("span",{className:"font-medium text-foreground",children:"Badge avec nombre"})," : Affiche le nombre de messages non lus"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Statistiques et suivi :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:["En haut de la page, trois cartes affichent :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Le nombre total de messages non lus"}),a.jsx("li",{children:"Le nombre d'incidents ouverts"}),a.jsx("li",{children:"Le nombre d'incidents urgents"})]})]}),a.jsxs("li",{children:["Chaque carte de voyage affiche :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Le nombre total d'incidents"}),a.jsx("li",{children:"Le nombre d'incidents ouverts"}),a.jsx("li",{children:"Le nombre d'incidents urgents"}),a.jsx("li",{children:"Le nombre de messages (lus et non lus)"})]})]}),a.jsx("li",{children:"Les voyages sont triés automatiquement pour mettre en avant les situations les plus critiques"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Recherche :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:["Utilisez la barre de recherche pour filtrer les voyages par :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Titre du voyage"}),a.jsx("li",{children:"Code du voyage"}),a.jsx("li",{children:"Nom du client"}),a.jsx("li",{children:"Lieu de chargement ou déchargement"})]})]}),a.jsx("li",{children:"La recherche est effectuée en temps réel pendant la saisie"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Bonnes pratiques :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsx("li",{children:"Vérifiez régulièrement la page des incidents pour identifier rapidement les problèmes"}),a.jsx("li",{children:"Répondez rapidement aux incidents urgents pour assurer la continuité des opérations"}),a.jsx("li",{children:"Utilisez les messages pour communiquer avec les chauffeurs et obtenir plus d'informations"}),a.jsx("li",{children:"Marquez les incidents comme résolus une fois traités pour maintenir un historique propre"}),a.jsx("li",{children:"Les photos et vidéos fournies par les chauffeurs peuvent aider à diagnostiquer les problèmes"})]})]})]})]}),a.jsxs(Il,{value:"maintenances",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ty,{className:"h-4 w-4"}),a.jsx("span",{children:"Gestion des Entretiens"})]})}),a.jsxs(Nl,{className:"space-y-4 text-sm",children:[a.jsx("div",{className:"flex justify-end mb-2",children:a.jsx(Ms,{text:"La page des entretiens permet de planifier, suivre et gérer tous les entretiens préventifs et curatifs de vos véhicules et remorques. Pour créer un entretien, cliquez sur Ajouter une maintenance, sélectionnez l'équipement, choisissez le type d'entretien, renseignez la date prévue et le kilométrage prévu. Les entretiens sont organisés par équipement et filtrés par statut : Tous, Planifiés, En cours, Terminés, En retard. Pour traiter un entretien, mettez à jour le statut, renseignez la date effectuée et le kilométrage effectué, ajoutez les pièces remplacées et le coût de main-d'œuvre, puis ajoutez des documents. Le coût total est calculé automatiquement.",title:"Gestion des Entretiens",size:"sm"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"font-semibold text-base",children:"Vue d'ensemble :"}),a.jsx("p",{className:"text-muted-foreground",children:"La page des entretiens permet de planifier, suivre et gérer tous les entretiens préventifs et curatifs de vos véhicules et remorques. Les entretiens sont organisés par véhicule/remorque pour faciliter le suivi."}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsx("li",{children:"Les entretiens peuvent être planifiés pour les véhicules et les remorques"}),a.jsx("li",{children:"Chaque entretien peut être suivi de sa planification jusqu'à sa réalisation"}),a.jsx("li",{children:"Des photos et documents peuvent être associés aux entretiens"}),a.jsx("li",{children:"Le système calcule automatiquement les entretiens en retard selon les dates prévues"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Créer un entretien :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground ml-2",children:[a.jsxs("li",{children:["Cliquez sur le bouton ",a.jsxs("span",{className:"inline-flex items-center gap-1 font-medium text-foreground",children:[a.jsx(Ti,{className:"h-3 w-3"})," Ajouter une maintenance"]})," en haut de la page"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Sélectionnez l'équipement"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Choisissez un véhicule ou une remorque"}),a.jsx("li",{children:"La liste affiche tous les équipements disponibles"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Choisissez le type d'entretien"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Vidange d'huile"}),a.jsx("li",{children:"Changement de filtre à huile"}),a.jsx("li",{children:"Changement de filtre à air"}),a.jsx("li",{children:"Changement de filtre à carburant"}),a.jsx("li",{children:"Vérification des freins"}),a.jsx("li",{children:"Vérification des pneus"}),a.jsx("li",{children:"Révision générale"}),a.jsx("li",{children:"Réparation"}),a.jsx("li",{children:"Autre (précisez dans les notes)"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Renseignez les informations"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Date prévue de l'entretien (obligatoire)"}),a.jsx("li",{children:"Kilométrage prévu (pour les véhicules, optionnel mais recommandé)"}),a.jsx("li",{children:"Description ou notes (optionnel)"}),a.jsx("li",{children:"Photo (optionnelle) : peut être prise directement ou importée depuis la galerie"})]})]}),a.jsxs("li",{children:["Cliquez sur ",a.jsx("span",{className:"font-medium text-foreground",children:'"Ajouter"'})," pour créer l'entretien"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Organisation de la liste :"}),a.jsx("p",{className:"text-muted-foreground mb-2",children:"Les entretiens sont organisés par véhicule/remorque et filtrés par statut :"}),a.jsxs("div",{className:"space-y-3 ml-2",children:[a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"📑 Onglets de statut :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Tous"})," : Affiche tous les entretiens (tous statuts confondus)"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Planifiés"})," : Entretiens créés mais pas encore commencés"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"En cours"})," : Entretiens en cours de réalisation"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Terminés"})," : Entretiens complétés"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"En retard"})," : Entretiens dont la date prévue est dépassée et qui ne sont pas encore terminés"]})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium text-foreground mb-1",children:"🚛 Groupement par équipement :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-4",children:[a.jsx("li",{children:"Chaque carte représente un véhicule ou une remorque"}),a.jsx("li",{children:"La carte affiche : photo de l'équipement, immatriculation/numéro de châssis, kilométrage actuel (pour véhicules)"}),a.jsx("li",{children:"Un badge d'alerte indique le nombre d'entretiens en retard pour cet équipement"}),a.jsx("li",{children:"Les entretiens de l'équipement sont affichés sous forme de cartes dans une grille"})]})]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Traiter un entretien :"}),a.jsx("p",{className:"text-muted-foreground mb-2",children:"Une fois qu'un entretien est effectué, vous devez le traiter pour enregistrer les détails de réalisation :"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground ml-2",children:[a.jsx("li",{children:"Cliquez sur le bouton de traitement (icône de l'entretien) sur la carte de l'entretien"}),a.jsxs("li",{children:[a.jsx("strong",{children:"Mettez à jour le statut"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsxs("li",{children:[a.jsx("span",{className:"font-medium",children:"Planifié"})," : Entretien prévu mais pas encore commencé"]}),a.jsxs("li",{children:[a.jsx("span",{className:"font-medium",children:"En cours"})," : Entretien en cours de réalisation"]}),a.jsxs("li",{children:[a.jsx("span",{className:"font-medium",children:"Terminé"})," : Entretien complété"]}),a.jsxs("li",{children:[a.jsx("span",{className:"font-medium",children:"En retard"})," : Date prévue dépassée (automatique)"]})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Renseignez les informations de réalisation"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Date effectuée (date réelle de réalisation)"}),a.jsx("li",{children:"Kilométrage effectué (kilométrage réel au moment de l'entretien)"}),a.jsx("li",{children:"Notes ou observations"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Ajoutez des pièces remplacées"})," (optionnel) :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Nom de la pièce"}),a.jsx("li",{children:"Quantité"}),a.jsx("li",{children:"Coût unitaire"}),a.jsx("li",{children:"Le coût total est calculé automatiquement"}),a.jsx("li",{children:"Vous pouvez ajouter plusieurs pièces"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Ajoutez le coût de main-d'œuvre"})," (optionnel) : Saisissez le montant total de la main-d'œuvre"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Ajoutez des documents"})," :",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Photo de l'entretien (prise directement ou importée)"}),a.jsx("li",{children:"Message audio (enregistrement vocal avec description)"}),a.jsx("li",{children:"Justificatif (facture, bon de commande, etc.)"})]})]}),a.jsx("li",{children:"Le coût total de l'entretien est calculé automatiquement (pièces + main-d'œuvre)"}),a.jsxs("li",{children:["Cliquez sur ",a.jsx("span",{className:"font-medium text-foreground",children:'"Enregistrer"'})," pour sauvegarder le traitement"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Modifier ou supprimer un entretien :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Modifier"})," : Cliquez sur l'icône d'édition pour modifier les informations d'un entretien planifié (type, date prévue, description, etc.)"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Supprimer"})," : Cliquez sur l'icône de suppression pour supprimer un entretien (avec confirmation de sécurité)"]}),a.jsx("li",{children:"Note : Les entretiens terminés peuvent généralement être modifiés pour corriger des informations, mais il est recommandé de créer un nouvel entretien plutôt que de modifier un entretien historique"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Filtres et recherche :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Barre de recherche"})," : Recherchez par type d'entretien, description, ou notes"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Filtre par équipement"})," : Utilisez le menu déroulant pour filtrer par véhicule ou remorque spécifique",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Tous les équipements"}),a.jsx("li",{children:"Un véhicule spécifique (affiché avec son immatriculation)"}),a.jsx("li",{children:"Une remorque spécifique (affichée avec son numéro de châssis et nom si disponible)"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Filtre par statut"})," : Utilisez les onglets pour filtrer par statut (Tous, Planifiés, En cours, Terminés, En retard)"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Indicateurs visuels :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsxs("li",{children:[a.jsx("span",{className:"inline-block w-3 h-3 rounded-full bg-red-500 mr-2"}),a.jsx("strong",{children:'Badge rouge "En retard"'})," : Affiche le nombre d'entretiens en retard pour un équipement"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Badges de statut"})," : Chaque carte d'entretien affiche un badge coloré indiquant son statut",a.jsxs("ul",{className:"list-disc list-inside ml-4 mt-1 space-y-1",children:[a.jsx("li",{children:"Planifié : Badge avec couleur spécifique"}),a.jsx("li",{children:"En cours : Badge distinctif"}),a.jsx("li",{children:"Terminé : Badge de confirmation"}),a.jsx("li",{children:"En retard : Badge d'alerte"})]})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Icônes de type"})," : Chaque type d'entretien a une icône distinctive pour identification rapide"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Photos"})," : Les entretiens avec photos affichent une miniature sur la carte"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Suivi et historique :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsx("li",{children:"Pour chaque équipement, vous pouvez voir tous les entretiens (planifiés, en cours, terminés)"}),a.jsx("li",{children:"L'historique complet permet de suivre la maintenance préventive et curative"}),a.jsx("li",{children:"Les dates et kilométrages enregistrés permettent d'établir des calendriers de maintenance"}),a.jsx("li",{children:"Les coûts enregistrés permettent de suivre les dépenses de maintenance par équipement"}),a.jsx("li",{children:"Les documents (photos, justificatifs) sont conservés pour référence future"})]})]}),a.jsxs("div",{className:"space-y-2 pt-3 border-t",children:[a.jsx("p",{className:"font-semibold text-base",children:"Bonnes pratiques :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground ml-2",children:[a.jsx("li",{children:"Planifiez les entretiens préventifs à l'avance pour éviter les pannes"}),a.jsx("li",{children:"Utilisez le kilométrage prévu pour planifier les entretiens basés sur l'usage"}),a.jsx("li",{children:"Traitez rapidement les entretiens en retard pour maintenir la flotte en bon état"}),a.jsx("li",{children:"Enregistrez toujours les pièces remplacées et les coûts pour un suivi financier précis"}),a.jsx("li",{children:"Ajoutez des photos et justificatifs pour documenter les travaux effectués"}),a.jsx("li",{children:`Consultez régulièrement l'onglet "En retard" pour identifier les entretiens urgents`}),a.jsx("li",{children:"Pour les remorques, utilisez des dates plutôt que le kilométrage (les remorques n'ont pas de compteur)"})]})]})]})]}),a.jsxs(Il,{value:"statistiques",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Jv,{className:"h-4 w-4"}),a.jsx("span",{children:"Statistiques"})]})}),a.jsxs(Nl,{className:"space-y-3 text-sm",children:[a.jsx("p",{className:"font-semibold",children:"Consulter les statistiques :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Les statistiques sont organisées par onglets : Vue d'ensemble, Revenus, Dépenses, etc."}),a.jsx("li",{children:"Vous pouvez filtrer par période (jour, semaine, mois, année)"}),a.jsx("li",{children:"Les graphiques et tableaux permettent d'analyser les performances"}),a.jsx("li",{children:"Exportez les données pour des analyses approfondies"})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Types de statistiques disponibles :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Vue d'ensemble : indicateurs clés de performance"}),a.jsx("li",{children:"Revenus : revenus par voyage, par période"}),a.jsx("li",{children:"Dépenses : dépenses de voyage, entretiens, carburant"}),a.jsx("li",{children:"Véhicules : utilisation, kilométrage, coûts"})]})]})]})]}),a.jsxs(Il,{value:"parametres",children:[a.jsx(jl,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(zm,{className:"h-4 w-4"}),a.jsx("span",{children:"Paramètres"})]})}),a.jsxs(Nl,{className:"space-y-3 text-sm",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"font-semibold",children:"Référentiels :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Équipements"})," : Gérez les véhicules et remorques (ajout, modification, suppression)"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Équipage"})," : Gérez les membres d'équipage et leurs informations"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Types de voyages"})," : Configurez les types de voyages disponibles"]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Lieux"})," : Gérez les lieux de chargement et déchargement"]})]})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Organisation :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Configurez les informations de l'organisation (nom, adresse, contacts)"}),a.jsx("li",{children:"Gérez le logo de l'organisation"}),a.jsx("li",{children:"Configurez les contacts d'urgence pour la PWA chauffeur"}),a.jsx("li",{children:"Paramétrez les intégrations (Cloudinary, etc.)"})]})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Utilisateurs :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Créez et gérez les comptes utilisateurs"}),a.jsx("li",{children:"Assignez les rôles et permissions"}),a.jsx("li",{children:"Modifiez les informations des utilisateurs"})]})]})]})]})]})})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Px,{className:"h-5 w-5 text-primary"}),"Astuces et bonnes pratiques"]}),a.jsx(Ms,{text:"Utilisez le menu latéral pour accéder rapidement aux sections. Sur mobile, le menu est accessible en bas de l'écran. La plupart des listes sont filtrables et recherchables. Les fonctionnalités accessibles dépendent de votre rôle. Vérifiez régulièrement la page des incidents pour identifier rapidement les problèmes. Planifiez les entretiens préventifs à l'avance. Enregistrez toujours les pièces remplacées et les coûts pour un suivi financier précis.",title:"Astuces et bonnes pratiques",size:"sm"})]})}),a.jsxs(Et,{className:"space-y-3 text-sm",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"font-semibold",children:"Navigation :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Utilisez le menu latéral pour accéder rapidement aux sections"}),a.jsx("li",{children:"Sur mobile, le menu est accessible en bas de l'écran"}),a.jsx("li",{children:"Le bouton de rafraîchissement permet de mettre à jour les données"})]})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Recherche et filtres :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"La plupart des listes sont filtrables et recherchables"}),a.jsx("li",{children:"Utilisez les filtres pour affiner vos recherches"}),a.jsx("li",{children:"Les résultats peuvent être exportés en format CSV ou Excel"})]})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"font-semibold",children:"Permissions :"}),a.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[a.jsx("li",{children:"Les fonctionnalités accessibles dépendent de votre rôle"}),a.jsx("li",{children:"Certaines actions nécessitent des permissions spécifiques"}),a.jsx("li",{children:"Contactez un administrateur pour modifier vos permissions"})]})]})]})]}),a.jsx(it,{className:"border-t-2",children:a.jsx(Et,{className:"pt-6 pb-6",children:a.jsxs("div",{className:"flex flex-col items-center justify-center space-y-3 text-center",children:[a.jsx("img",{src:"/jrb-xsolutions-logo.png",alt:"JRB XSolutions Logo",className:"h-16 w-auto object-contain",onError:i=>{i.target.style.display="none"}}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("h3",{className:"text-lg font-bold",children:"JRB XSolutions"}),a.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Des solutions digitales accessibles à tous"}),a.jsx("a",{href:"https://www.jrbxsolutions.com",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-primary hover:underline inline-block",children:"www.jrbxsolutions.com"})]})]})})})]})}const nx=I.forwardRef(({className:e,...t},r)=>a.jsx("div",{className:"relative w-full overflow-auto",children:a.jsx("table",{ref:r,className:nr("w-full caption-bottom text-sm",e),...t})}));nx.displayName="Table";const ix=I.forwardRef(({className:e,...t},r)=>a.jsx("thead",{ref:r,className:nr("[&_tr]:border-b",e),...t}));ix.displayName="TableHeader";const ax=I.forwardRef(({className:e,...t},r)=>a.jsx("tbody",{ref:r,className:nr("[&_tr:last-child]:border-0",e),...t}));ax.displayName="TableBody";const OPe=I.forwardRef(({className:e,...t},r)=>a.jsx("tfoot",{ref:r,className:nr("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));OPe.displayName="TableFooter";const n0=I.forwardRef(({className:e,...t},r)=>a.jsx("tr",{ref:r,className:nr("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));n0.displayName="TableRow";const bi=I.forwardRef(({className:e,...t},r)=>a.jsx("th",{ref:r,className:nr("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));bi.displayName="TableHead";const mi=I.forwardRef(({className:e,...t},r)=>a.jsx("td",{ref:r,className:nr("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));mi.displayName="TableCell";const LPe=I.forwardRef(({className:e,...t},r)=>a.jsx("caption",{ref:r,className:nr("mt-4 text-sm text-muted-foreground",e),...t}));LPe.displayName="TableCaption";function kA({title:e,value:t,icon:r,trend:n,color:i="primary"}){const s={primary:"bg-primary/10 text-primary",secondary:"bg-secondary/10 text-secondary-foreground",accent:"bg-accent/10 text-accent-foreground"};return a.jsxs(it,{className:"p-4 md:p-6 hover-elevate flex flex-col justify-between",children:[a.jsx("div",{className:"flex justify-end mb-4",children:a.jsx("div",{className:`rounded-lg p-3 md:p-4 flex-shrink-0 ${s[i]}`,children:a.jsx(r,{className:"h-6 w-6 md:h-8 md:w-8"})})}),a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsx("p",{className:"text-xs md:text-sm font-medium uppercase tracking-wide text-muted-foreground leading-tight break-words",children:e}),a.jsxs("div",{children:[a.jsx("p",{className:"text-4xl md:text-5xl font-bold truncate",children:t}),n&&a.jsx("p",{className:"mt-1 text-xs text-muted-foreground truncate",children:n})]})]})]})}function Vw(e){return cr({queryKey:["/api/voyages",e],queryFn:()=>vy(e)})}function D8(e){return cr({queryKey:["/api/voyages",e],queryFn:()=>_S(e),enabled:!!e})}function MPe(){const{toast:e}=Er();return _r({mutationFn:t=>cz(t),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"Le voyage a été créé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de créer le voyage"})}})}function UPe(){const{toast:e}=Er();return _r({mutationFn:({id:t,data:r})=>uz(t,r),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"Le voyage a été mis à jour avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de mettre à jour le voyage"})}})}function zPe(){const{toast:e}=Er();return _r({mutationFn:async t=>await dz(t),onSuccess:t=>{jt.invalidateQueries({queryKey:["/api/voyages"]})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de supprimer le voyage"})}})}function $Pe(){const{toast:e}=Er();return _r({mutationFn:({voyageId:t,mode:r})=>mz(t,r),onSuccess:t=>{jt.invalidateQueries({queryKey:["/api/voyages"]}),jt.invalidateQueries({queryKey:["/api/trips"]}),e({title:"Succès",description:`${t.count} trajet(s) créé(s) avec succès`})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de créer les trajets"})}})}function fY(e){return cr({queryKey:["/api/voyages",e,"mission-order"],queryFn:()=>pz(e),enabled:!!e})}function HPe(e){if(!e)return!1;const t=typeof e=="string"?new Date(e):e;if(isNaN(t.getTime()))return!1;const r=new Date,n=new Date(r.getFullYear(),r.getMonth(),r.getDate()),i=new Date(n);return i.setDate(i.getDate()+1),t>=n&&tMS()}),{data:c=[],isLoading:d,error:u}=cr({queryKey:["/api/vehicles"]}),h=I.useMemo(()=>t.slice(0,10),[t]),p=kO({queries:h.map(C=>({queryKey:["/api/voyages",C.id,"events"],queryFn:()=>D4(C.id),enabled:h.length>0}))}),A=I.useMemo(()=>{const C=t.length,Q=n.filter(P=>P.plannedStartAt?jF(P.plannedStartAt):!1).length,R=s.filter(P=>P.status==="ouvert"||P.status==="en_cours").length,M=p.map(P=>P.data||[]).flat().filter(P=>P.isRead===!1).length,O=c.filter(P=>P.status==="maintenance"||P.status==="hors_service").length,$=n.filter(P=>P.plannedStartAt?HPe(P.plannedStartAt):!1).length;return{voyagesEnCours:C,voyagesEnRetard:Q,incidentsOuverts:R,evenementsNonLus:M,vehiculesIndisponibles:O,voyagesPlanifiesAujourdhui:$}},[t,n,s,c,p]),y=I.useMemo(()=>{const C=n.filter(R=>R.status!=="planned"||!R.plannedStartAt?!1:jF(R.plannedStartAt)).sort((R,T)=>!R.plannedStartAt||!T.plannedStartAt?0:new Date(R.plannedStartAt).getTime()-new Date(T.plannedStartAt).getTime()).slice(0,5),Q=n.filter(R=>R.status!=="planned"?!1:!R.vehicleId||!R.mainDriverId).sort((R,T)=>{const M=R.plannedStartAt?new Date(R.plannedStartAt).getTime():0,O=T.plannedStartAt?new Date(T.plannedStartAt).getTime():0,$=Date.now(),P=M<$,L=O<$;return P&&!L?-1:!P&&L?1:M-O}).slice(0,5);return{voyagesEnRetard:C,voyagesIncomplets:Q}},[n]),v=I.useMemo(()=>{const C=s.filter(R=>(R.status==="ouvert"||R.status==="en_cours")&&!R.assignedTo).sort((R,T)=>{const M={urgente:4,haute:3,normale:2,basse:1},O=M[R.priority]||0,$=M[T.priority]||0;return O!==$?$-O:new Date(T.createdAt).getTime()-new Date(R.createdAt).getTime()}).slice(0,5),Q=s.filter(R=>R.status==="ouvert"||R.status==="en_cours").sort((R,T)=>{const M={urgente:4,haute:3,normale:2,basse:1},O=M[R.priority]||0,$=M[T.priority]||0;return O!==$?$-O:new Date(R.createdAt).getTime()-new Date(T.createdAt).getTime()}).slice(0,5);return{incidentsNonAssignes:C,incidentsASuivre:Q}},[s]),w=I.useMemo(()=>[...t].sort((Q,R)=>{const T=Q.startAt?new Date(Q.startAt).getTime():0,M=R.startAt?new Date(R.startAt).getTime():0;return!Q.startAt&&!R.startAt?0:Q.startAt?R.startAt?T-M:-1:1}).slice(0,10),[t]),j=I.useMemo(()=>{const C=new Map;return s.filter(Q=>(Q.status==="ouvert"||Q.status==="en_cours")&&Q.voyageId).forEach(Q=>{const R=C.get(Q.voyageId)||0;C.set(Q.voyageId,R+1)}),C},[s]),E=I.useMemo(()=>{const C=new Map;return t.forEach(Q=>{C.set(Q.id,Q)}),C},[t]),S=I.useMemo(()=>p.map(R=>R.data||[]).flat().sort((R,T)=>{const M=new Date(R.occurredAt).getTime();return new Date(T.occurredAt).getTime()-M}).slice(0,10),[p]);r||i||o||d||p.some(C=>C.isLoading),I.useEffect(()=>{p.forEach((C,Q)=>{C.error})},[l,u,p,h]);const _=(C,Q,R)=>R?"!":Q?"--":C??0;return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-semibold",children:"Tableau de bord"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Vue d'ensemble de vos opérations"})]}),a.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:[a.jsx(kA,{title:"Voyages en cours",value:_(A.voyagesEnCours,r,!1),icon:ei,color:"primary"}),a.jsx(kA,{title:"Voyages en retard",value:_(A.voyagesEnRetard,i,!1),icon:Bl,color:"secondary"}),a.jsx(kA,{title:"Incidents ouverts",value:_(A.incidentsOuverts,o,!!l),icon:Kn,color:"accent"}),a.jsx(kA,{title:"Événements non lus",value:_(A.evenementsNonLus,p.some(C=>C.isLoading),p.some(C=>C.error)),icon:LD,color:"primary"}),a.jsx(kA,{title:"Véhicules indisponibles",value:_(A.vehiculesIndisponibles,d,!!u),icon:Fa,color:"secondary"}),a.jsx(kA,{title:"Voyages planifiés aujourd'hui",value:_(A.voyagesPlanifiesAujourdhui,i,!1),icon:Sl,color:"accent"})]}),a.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[a.jsxs(it,{className:"flex flex-col max-h-[420px]",children:[a.jsxs(br,{className:"flex-shrink-0",children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(na,{className:"h-5 w-5"}),"À traiter maintenant",a.jsx(yt,{variant:"secondary",className:"ml-1",children:y.voyagesEnRetard.length+y.voyagesIncomplets.length})]}),a.jsx(wn,{children:"Actions nécessitant une attention immédiate"})]}),a.jsx(Et,{className:"flex-1 overflow-y-auto min-h-0",children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsxs("h4",{className:"text-sm font-semibold mb-1.5 flex items-center gap-2",children:[a.jsx(Bl,{className:"h-4 w-4 text-destructive"}),"Voyages en retard"]}),i?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Chargement..."}):y.voyagesEnRetard.length===0?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Aucun voyage en retard"}):a.jsx("ul",{className:"space-y-1.5",children:y.voyagesEnRetard.map(C=>a.jsxs("li",{className:"flex items-start justify-between gap-2 p-1.5 rounded-md border bg-card hover:bg-accent/50 transition-colors",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[a.jsx("span",{className:"text-sm font-medium",children:C.code||C.title||`Voyage #${C.id}`}),a.jsx(yt,{variant:"destructive",className:"text-xs",children:"Retard"})]}),a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:C.clientName}),C.plannedStartAt&&a.jsxs("p",{className:"text-xs text-muted-foreground",children:["Prévu le ",Wr(new Date(C.plannedStartAt),"dd MMM yyyy à HH:mm",{locale:Hr})]})]}),a.jsxs(ge,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs flex-shrink-0",onClick:()=>e(`/voyages/${C.id}`),children:[a.jsx(Id,{className:"h-3 w-3 mr-1"}),"Ouvrir"]})]},C.id))})]}),a.jsxs("div",{children:[a.jsxs("h4",{className:"text-sm font-semibold mb-1.5 flex items-center gap-2",children:[a.jsx(Kn,{className:"h-4 w-4 text-orange-500"}),"Voyages incomplets"]}),i?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Chargement..."}):y.voyagesIncomplets.length===0?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Aucun voyage incomplet"}):a.jsx("ul",{className:"space-y-1.5",children:y.voyagesIncomplets.map(C=>{const Q=[];return C.vehicleId||Q.push("Véhicule"),C.mainDriverId||Q.push("Chauffeur"),a.jsxs("li",{className:"flex items-start justify-between gap-2 p-1.5 rounded-md border bg-card hover:bg-accent/50 transition-colors",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("div",{className:"flex items-center gap-2 mb-0.5",children:a.jsx("span",{className:"text-sm font-medium",children:C.code||C.title||`Voyage #${C.id}`})}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[Q.join(" et ")," manquant",Q.length>1?"s":""]}),C.plannedStartAt&&a.jsxs("p",{className:"text-xs text-muted-foreground",children:["Prévu le ",Wr(new Date(C.plannedStartAt),"dd MMM yyyy",{locale:Hr})]})]}),a.jsxs(ge,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs flex-shrink-0",onClick:()=>e(`/voyages/${C.id}`),children:[a.jsx(Id,{className:"h-3 w-3 mr-1"}),"Assigner"]})]},C.id)})})]})]})}),a.jsx(_m,{className:"flex-shrink-0 border-t pt-3",children:a.jsxs(ge,{variant:"ghost",size:"sm",className:"w-full text-xs",onClick:()=>e("/voyages"),children:["Voir tous les voyages",a.jsx(Id,{className:"h-3 w-3 ml-2"})]})})]}),a.jsxs(it,{className:"flex flex-col max-h-[420px]",children:[a.jsxs(br,{className:"flex-shrink-0",children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(Kn,{className:"h-5 w-5"}),"Incidents",a.jsx(yt,{variant:"secondary",className:"ml-1",children:v.incidentsNonAssignes.length+v.incidentsASuivre.length})]}),a.jsx(wn,{children:"Incidents récents nécessitant un suivi"})]}),a.jsx(Et,{className:"flex-1 overflow-y-auto min-h-0",children:a.jsxs(ul,{defaultValue:"non-assignes",className:"w-full",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-2 mb-2",children:[a.jsxs(hn,{value:"non-assignes",className:"text-xs",children:[a.jsx(Bse,{className:"h-3 w-3 mr-1"}),"Non assignés"]}),a.jsxs(hn,{value:"a-suivre",className:"text-xs",children:[a.jsx(LD,{className:"h-3 w-3 mr-1"}),"À suivre"]})]}),a.jsx(dn,{value:"non-assignes",className:"mt-0",children:o?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Chargement..."}):v.incidentsNonAssignes.length===0?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Aucun incident non assigné"}):a.jsx("ul",{className:"space-y-1.5",children:v.incidentsNonAssignes.map(C=>{const Q={roue:"Roue",electricite:"Électricité",moteur:"Moteur",frein:"Frein",autre:"Autre"},R=kI(new Date(C.createdAt),{addSuffix:!0,locale:Hr});return a.jsxs("li",{className:"flex items-start justify-between gap-2 p-1.5 rounded-md border bg-card hover:bg-accent/50 transition-colors",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[a.jsx("span",{className:"text-sm font-medium",children:Q[C.type]||C.type}),C.voyage?.code&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",C.voyage.code,")"]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:R})]}),a.jsxs(ge,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs flex-shrink-0",onClick:()=>e("/incidents"),children:[a.jsx(Id,{className:"h-3 w-3 mr-1"}),"Voir"]})]},C.id)})})}),a.jsx(dn,{value:"a-suivre",className:"mt-0",children:o?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Chargement..."}):v.incidentsASuivre.length===0?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Aucun incident à suivre"}):a.jsx("ul",{className:"space-y-1.5",children:v.incidentsASuivre.map(C=>{const Q={roue:"Roue",electricite:"Électricité",moteur:"Moteur",frein:"Frein",autre:"Autre"},R={ouvert:"Ouvert",en_cours:"En cours",resolu:"Résolu",ferme:"Fermé"},T=kI(new Date(C.createdAt),{addSuffix:!0,locale:Hr});return a.jsxs("li",{className:"flex items-start justify-between gap-2 p-1.5 rounded-md border bg-card hover:bg-accent/50 transition-colors",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[a.jsx("span",{className:"text-sm font-medium",children:Q[C.type]||C.type}),a.jsx(yt,{variant:"outline",className:"text-xs",children:R[C.status]||C.status})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:T})]}),a.jsxs(ge,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs flex-shrink-0",onClick:()=>e("/incidents"),children:[a.jsx(Id,{className:"h-3 w-3 mr-1"}),"Voir"]})]},C.id)})})})]})}),a.jsx(_m,{className:"flex-shrink-0 border-t pt-3",children:a.jsxs(ge,{variant:"ghost",size:"sm",className:"w-full text-xs",onClick:()=>e("/incidents"),children:["Voir tous les incidents",a.jsx(Id,{className:"h-3 w-3 ml-2"})]})})]})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-5 w-5"}),"Voyages en cours (Top 10)"]}),a.jsx(wn,{children:"Liste des voyages actuellement en cours"})]}),a.jsx(Et,{children:r?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a.jsx("p",{children:"Chargement..."})}):w.length===0?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a.jsx("p",{children:"Aucun voyage en cours"})}):a.jsxs(nx,{children:[a.jsx(ix,{children:a.jsxs(n0,{children:[a.jsx(bi,{children:"Référence"}),a.jsx(bi,{children:"Véhicule"}),a.jsx(bi,{children:"Chauffeur"}),a.jsx(bi,{children:"Destination"}),a.jsx(bi,{children:"Statut"}),a.jsx(bi,{children:"Départ"}),a.jsx(bi,{className:"text-right",children:"Actions"})]})}),a.jsx(ax,{children:w.map(C=>{const Q=j.get(C.id)||0,R=C.vehicle?.immatriculation||C.vehicle?.nom||"—",T=C.mainDriver?`${C.mainDriver.prenom} ${C.mainDriver.nom}`:"—",M=C.unloadingSite||"—",O=C.startAt?new Date(C.startAt):null;return a.jsxs(n0,{children:[a.jsx(mi,{className:"font-medium",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{children:C.code||C.title||`Voyage #${C.id}`}),Q>0&&a.jsxs(yt,{variant:"destructive",className:"text-xs",children:["⚠ Incidents (",Q,")"]})]})}),a.jsx(mi,{children:R}),a.jsx(mi,{children:T}),a.jsx(mi,{children:M}),a.jsx(mi,{children:a.jsx(yt,{variant:"outline",className:"bg-yellow-100 text-yellow-800 border-yellow-300 dark:bg-yellow-900 dark:text-yellow-300",children:"En cours"})}),a.jsx(mi,{children:O?Wr(O,"dd MMM yyyy à HH:mm",{locale:Hr}):"—"}),a.jsx(mi,{className:"text-right",children:a.jsxs(ge,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>e(`/voyages/${C.id}`),children:[a.jsx(Id,{className:"h-3 w-3 mr-1"}),"Voir"]})})]},C.id)})})]})})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(nse,{className:"h-5 w-5"}),"Activité terrain"]}),a.jsx(wn,{children:"Les 10 derniers événements enregistrés sur le terrain"})]}),a.jsxs(Et,{children:[p.some(C=>C.isLoading)?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a.jsx("p",{children:"Chargement..."})}):S.length===0?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a.jsx("p",{children:"Aucun événement récent"})}):a.jsx("div",{className:"space-y-2",children:S.map(C=>{const Q=E.get(C.voyageId),R=Q?.code||Q?.title||`Voyage #${C.voyageId}`,T=kI(new Date(C.occurredAt),{addSuffix:!0,locale:Hr}),M=C.title||(C.type==="note"?"Note":C.type==="incident"?"Incident":C.type==="media"?C.mediaKind==="photo"?"Photo":C.mediaKind==="audio"?"Audio":C.mediaKind==="video"?"Vidéo":"Média":C.type==="message"?"Message":"Événement"),O=C.source==="driver_pwa"?"Chauffeur":C.source==="backoffice"?"Bureau":C.senderRole==="chauffeur"?"Chauffeur":C.senderRole==="backoffice"?"Bureau":"Système";return a.jsxs("div",{className:"flex items-start justify-between gap-3 p-2 rounded-md border bg-card hover:bg-accent/50 transition-colors",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("span",{className:"text-sm font-medium",children:M}),!C.isRead&&a.jsx(yt,{variant:"outline",className:"text-xs bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900 dark:text-blue-300",children:"Non lu"})]}),a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a.jsx("span",{children:R}),a.jsx("span",{children:"•"}),a.jsx("span",{children:O}),a.jsx("span",{children:"•"}),a.jsx("span",{children:T})]}),C.description&&a.jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:C.description})]}),a.jsxs(ge,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs flex-shrink-0",onClick:()=>e(C.voyageId?`/voyages/${C.voyageId}`:"/voyages"),children:[a.jsx(Id,{className:"h-3 w-3 mr-1"}),"Ouvrir"]})]},C.id)})}),S.length>0&&a.jsx("div",{className:"mt-4 pt-3 border-t",children:a.jsxs(ge,{variant:"ghost",size:"sm",className:"w-full text-xs",onClick:()=>e("/voyages"),children:["Voir tous les voyages",a.jsx(Id,{className:"h-3 w-3 ml-2"})]})})]})]})]})}async function T8(e){const t=e?`/api/breakdowns?vehicleId=${e}`:"/api/breakdowns";return await $t(t)}async function GPe(e,t){return await $t(`/api/breakdowns/${e}/respond`,{method:"POST",body:t})}const gm={success:{bg:"bg-green-500",text:"text-green-900",border:"border-green-600",badge:"bg-green-100 text-green-800 border-green-300"},warning:{bg:"bg-orange-500",text:"text-orange-900",border:"border-orange-600",badge:"bg-orange-100 text-orange-800 border-orange-300"},info:{bg:"bg-blue-500",text:"text-blue-900",border:"border-blue-600",badge:"bg-blue-100 text-blue-800 border-blue-300"},danger:{bg:"bg-red-500",text:"text-red-900",border:"border-red-600",badge:"bg-red-100 text-red-800 border-red-300"}},Ww={chauffeur:{bg:"bg-purple-500",text:"text-purple-900",badge:"bg-purple-100 text-purple-800 border-purple-300"},apprenti:{bg:"bg-blue-500",text:"text-blue-900",badge:"bg-blue-100 text-blue-800 border-blue-300"},mecanique:{bg:"bg-orange-500",text:"text-orange-900",badge:"bg-orange-100 text-orange-800 border-orange-300"},superviseur:{bg:"bg-green-500",text:"text-green-900",badge:"bg-green-100 text-green-800 border-green-300"}},VPe={completed:{label:"Terminé",color:gm.success,icon:"✓"},in_transit:{label:"En cours",color:gm.warning,icon:"🔄"},scheduled:{label:"Programmé",color:gm.info,icon:"⏳"},cancelled:{label:"Annulé",color:gm.danger,icon:"✕"}},zA={vidange:"🛢️",pneus:"🛞",filtres:"🔧",liquide_frein:"🛑",adblue:"💧",autre:"⚙️"},$A={"Problème moteur":"🔥","Panne moteur":"🔥","Problème électrique":"⚡","Pneu crevé":"🛞",Pneu:"🛞",Surchauffe:"🌡️",Carburant:"⛽","Panne sèche":"⛽",Autre:"⚠️"},tf={plateau:"https://picsum.photos/seed/plateau/400/250",benne:"https://picsum.photos/seed/benne/400/250",citerne:"https://picsum.photos/seed/citerne/400/250",frigorifique:"https://picsum.photos/seed/frigorifique/400/250",autre:"https://picsum.photos/seed/remorque/400/250"};function R8({status:e,label:t,showIcon:r=!0,size:n="md"}){const i=VPe[e];let s,o;i?(s=i,e==="completed"?o=na:e==="in_transit"?o=Bl:e==="scheduled"?o=Sl:o=Kn):e==="actif"||e==="completed"?(s={label:t||"OK",color:gm.success,icon:"✓"},o=na):e==="maintenance"||e==="in_transit"?(s={label:t||"En cours",color:gm.warning,icon:"🔄"},o=Bl):e==="scheduled"?(s={label:t||"Programmé",color:gm.info,icon:"⏳"},o=Sl):(s={label:t||"Problème",color:gm.danger,icon:"⚠️"},o=Kn);const l={sm:"text-xs px-2 py-0.5",md:"text-sm px-3 py-1",lg:"text-base px-4 py-1.5"},c={sm:"h-3 w-3",md:"h-4 w-4",lg:"h-5 w-5"};return a.jsxs(yt,{variant:"secondary",className:`${s.color.badge} border font-semibold ${l[n]} flex items-center gap-1.5`,children:[r&&o&&a.jsx(o,{className:c[n]}),s.label]})}function WPe(){return{playCardSummary:t=>{let r="";switch(t.type){case"vehicle":r=t.details?.nom?`Véhicule ${t.details.nom}`:`Véhicule ${t.title}`,t.details?.couleur&&(r+=`. Couleur: ${t.details.couleur}`),t.details?.immatriculation&&(r+=`. Immatriculation: ${t.details.immatriculation}`),t.details?.marque&&(r+=`. Marque: ${t.details.marque}`),t.details?.modele&&(r+=`. Modèle: ${t.details.modele}`),t.details?.annee&&(r+=`. Année: ${t.details.annee}`),t.details?.status&&(r+=`. Statut: ${t.details.status}`);break;case"trailer":r=`Remorque ${t.title}`,t.details?.capacite&&(r+=`. Capacité: ${t.details.capacite} tonnes`);break;case"crew":r=`${t.title}`,t.details?.role&&(r+=`. Rôle: ${t.details.role}`),t.details?.telephone&&(r+=`. Téléphone: ${t.details.telephone}`);break;case"maintenance":r=`Entretien: ${t.title}`,t.details?.type&&(r+=`. Type: ${t.details.type}`),t.details?.date&&(r+=`. Date: ${t.details.date}`),t.details?.cout&&(r+=`. Coût: ${t.details.cout} FCFA`);break;case"breakdown":r=`Panne: ${t.title}`,t.details?.type&&(r+=`. Type: ${t.details.type}`),t.details?.date&&(r+=`. Date: ${t.details.date}`),t.details?.lieu&&(r+=`. Lieu: ${t.details.lieu}`),t.details?.cout&&(r+=`. Coût: ${t.details.cout} FCFA`);break;case"trip":r=`Voyage: ${t.title}`,t.details?.origine&&(r+=`. De: ${t.details.origine}`),t.details?.destination&&(r+=`. Vers: ${t.details.destination}`),t.details?.status&&(r+=`. Statut: ${t.details.status}`),t.details?.chauffeur&&(r+=`. Chauffeur: ${t.details.chauffeur}`);break}if("speechSynthesis"in window){const n=new SpeechSynthesisUtterance(r);n.lang="fr-FR",n.rate=.9,n.pitch=1,speechSynthesis.speak(n)}else alert(r)}}}function N1({cardData:e,size:t="sm",className:r=""}){const{playCardSummary:n}=WPe(),i={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"},s={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"};return a.jsx(vm,{children:a.jsxs(iy,{children:[a.jsx(ay,{asChild:!0,children:a.jsx(ge,{size:"icon",variant:"ghost",className:`${i[t]} ${r}`,onClick:()=>n(e),"aria-label":"Lire la description audio",children:a.jsx(z6,{className:s[t]})})}),a.jsx(V1,{children:a.jsx("p",{children:"Lire la description audio"})})]})})}function KPe({id:e,vehicleRegistration:t,origine:r,destination:n,dateDepart:i,dateArrivee:s,status:o="scheduled",vehiclePhotoUrl:l,driverPhotoUrl:c,driverName:d,onEdit:u,onDelete:h,hasBreakdown:p=!1}){return a.jsxs(it,{"data-testid":`card-trip-${e}`,className:"hover-elevate",children:[a.jsxs(jm,{href:`/trajets/${e}`,className:"block",children:[a.jsx(br,{className:"space-y-3 pb-4 cursor-pointer",children:a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:"Véhicule"}),a.jsxs("div",{className:"flex items-center gap-3",children:[l?a.jsx("img",{src:l,alt:t,className:"w-12 h-12 object-cover rounded-lg border flex-shrink-0",onError:A=>{A.target.style.display="none"}}):a.jsx("div",{className:"w-12 h-12 bg-muted rounded-lg flex items-center justify-center border flex-shrink-0",children:a.jsx(Fa,{className:"h-6 w-6 text-muted-foreground"})}),a.jsx("p",{className:"font-mono font-semibold text-base","data-testid":`text-vehicle-${e}`,children:t})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[c&&d&&a.jsx(vm,{children:a.jsxs(iy,{children:[a.jsx(ay,{asChild:!0,children:a.jsx("div",{className:"w-10 h-10 rounded-full overflow-hidden border-2 border-border shadow-sm cursor-help",children:a.jsx("img",{src:c,alt:d,className:"w-full h-full object-cover",onError:A=>{A.target.style.display="none"}})})}),a.jsx(V1,{children:a.jsxs("p",{children:["Chauffeur : ",d]})})]})}),a.jsxs("div",{className:"flex flex-col gap-1.5 items-end",children:[a.jsx("div",{"data-testid":`badge-status-${e}`,children:a.jsx(R8,{status:o,size:"sm"})}),p&&a.jsxs(yt,{variant:"destructive",className:"text-xs px-2 py-1 border shadow-md flex items-center gap-1",children:[a.jsx(uv,{className:"h-3 w-3"}),"Panne"]})]}),a.jsx(N1,{cardData:{type:"trip",title:t,details:{origine:r,destination:n,status:o,chauffeur:d,dateDepart:i&&!isNaN(i.getTime())?Wr(i,"dd MMM yyyy HH:mm",{locale:Hr}):"Date invalide",dateArrivee:s&&!isNaN(s.getTime())?Wr(s,"dd MMM yyyy HH:mm",{locale:Hr}):void 0}},size:"sm"})]})]})}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(ei,{className:"h-5 w-5 mt-0.5 text-primary flex-shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-sm font-semibold truncate","data-testid":`text-origin-${e}`,children:r}),a.jsx("p",{className:"text-xs text-muted-foreground my-1",children:"→"}),a.jsx("p",{className:"text-sm font-semibold truncate","data-testid":`text-destination-${e}`,children:n})]})]}),a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(Sl,{className:"h-5 w-5 mt-0.5 text-primary flex-shrink-0"}),a.jsxs("div",{className:"flex-1 text-sm",children:[a.jsxs("p",{"data-testid":`text-departure-${e}`,className:"mb-1",children:[a.jsx("span",{className:"text-muted-foreground",children:"Départ:"})," ",a.jsx("span",{className:"font-medium",children:i&&!isNaN(i.getTime())?Wr(i,"dd MMM yyyy HH:mm",{locale:Hr}):"Date invalide"})]}),s&&a.jsxs("p",{"data-testid":`text-arrival-${e}`,children:[a.jsx("span",{className:"text-muted-foreground",children:"Arrivée:"})," ",a.jsx("span",{className:"font-medium",children:s&&!isNaN(s.getTime())?Wr(s,"dd MMM yyyy HH:mm",{locale:Hr}):"Date invalide"})]})]})]})]})]}),(u||h)&&a.jsxs(_m,{className:"gap-2 pt-4 border-t flex-wrap",children:[u&&a.jsxs(ge,{size:"sm",variant:"outline",onClick:A=>{A.preventDefault(),A.stopPropagation(),u(e)},"data-testid":`button-edit-${e}`,className:"flex-1 min-w-[100px] h-10",children:[a.jsx(z1,{className:"h-4 w-4 mr-2"}),"Modifier"]}),h&&a.jsxs(ge,{size:"sm",variant:"outline",onClick:A=>{A.preventDefault(),A.stopPropagation(),h(e)},"data-testid":`button-delete-${e}`,className:"flex-1 min-w-[100px] h-10 text-destructive hover:text-destructive",children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer"]})]})]})}function NF(e,[t,r]){return Math.min(r,Math.max(t,e))}function YPe(e){const t=ZPe(e),r=I.forwardRef((n,i)=>{const{children:s,...o}=n,l=I.Children.toArray(s),c=l.find(XPe);if(c){const d=c.props.children,u=l.map(h=>h===c?I.Children.count(d)>1?I.Children.only(null):I.isValidElement(d)?d.props.children:null:h);return a.jsx(t,{...o,ref:i,children:I.isValidElement(d)?I.cloneElement(d,void 0,u):null})}return a.jsx(t,{...o,ref:i,children:s})});return r.displayName=`${e}.Slot`,r}function ZPe(e){const t=I.forwardRef((r,n)=>{const{children:i,...s}=r;if(I.isValidElement(i)){const o=tQe(i),l=eQe(s,i.props);return i.type!==I.Fragment&&(l.ref=n?rh(n,o):o),I.cloneElement(i,l)}return I.Children.count(i)>1?I.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var JPe=Symbol("radix.slottable");function XPe(e){return I.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===JPe}function eQe(e,t){const r={...t};for(const n in t){const i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...l)=>{const c=s(...l);return i(...l),c}:i&&(r[n]=i):n==="style"?r[n]={...i,...s}:n==="className"&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}function tQe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function hY(e){const t=I.useRef({value:e,previous:e});return I.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var rQe=[" ","Enter","ArrowUp","ArrowDown"],nQe=[" ","Enter"],Ig="Select",[OE,LE,iQe]=Kv(Ig),[sx]=Sc(Ig,[iQe,G1]),ME=G1(),[aQe,Jm]=sx(Ig),[sQe,oQe]=sx(Ig),mY=e=>{const{__scopeSelect:t,children:r,open:n,defaultOpen:i,onOpenChange:s,value:o,defaultValue:l,onValueChange:c,dir:d,name:u,autoComplete:h,disabled:p,required:A,form:y}=e,v=ME(t),[w,j]=I.useState(null),[E,S]=I.useState(null),[_,C]=I.useState(!1),Q=my(d),[R,T]=a0({prop:n,defaultProp:i??!1,onChange:s,caller:Ig}),[M,O]=a0({prop:o,defaultProp:l,onChange:c,caller:Ig}),$=I.useRef(null),P=w?y||!!w.closest("form"):!0,[L,X]=I.useState(new Set),W=Array.from(L).map(G=>G.props.value).join(";");return a.jsx(J6,{...v,children:a.jsxs(aQe,{required:A,scope:t,trigger:w,onTriggerChange:j,valueNode:E,onValueNodeChange:S,valueNodeHasChildren:_,onValueNodeHasChildrenChange:C,contentId:su(),value:M,onValueChange:O,open:R,onOpenChange:T,dir:Q,triggerPointerDownPosRef:$,disabled:p,children:[a.jsx(OE.Provider,{scope:t,children:a.jsx(sQe,{scope:e.__scopeSelect,onNativeOptionAdd:I.useCallback(G=>{X(J=>new Set(J).add(G))},[]),onNativeOptionRemove:I.useCallback(G=>{X(J=>{const q=new Set(J);return q.delete(G),q})},[]),children:r})}),P?a.jsxs(OY,{"aria-hidden":!0,required:A,tabIndex:-1,name:u,autoComplete:h,value:M,onChange:G=>O(G.target.value),disabled:p,form:y,children:[M===void 0?a.jsx("option",{value:""}):null,Array.from(L)]},W):null]})})};mY.displayName=Ig;var pY="SelectTrigger",gY=I.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:n=!1,...i}=e,s=ME(r),o=Jm(pY,r),l=o.disabled||n,c=ri(t,o.onTriggerChange),d=LE(r),u=I.useRef("touch"),[h,p,A]=MY(v=>{const w=d().filter(S=>!S.disabled),j=w.find(S=>S.value===o.value),E=UY(w,v,j);E!==void 0&&o.onValueChange(E.value)}),y=v=>{l||(o.onOpenChange(!0),A()),v&&(o.triggerPointerDownPosRef.current={x:Math.round(v.pageX),y:Math.round(v.pageY)})};return a.jsx(X6,{asChild:!0,...s,children:a.jsx(an.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":LY(o.value)?"":void 0,...i,ref:c,onClick:yr(i.onClick,v=>{v.currentTarget.focus(),u.current!=="mouse"&&y(v)}),onPointerDown:yr(i.onPointerDown,v=>{u.current=v.pointerType;const w=v.target;w.hasPointerCapture(v.pointerId)&&w.releasePointerCapture(v.pointerId),v.button===0&&v.ctrlKey===!1&&v.pointerType==="mouse"&&(y(v),v.preventDefault())}),onKeyDown:yr(i.onKeyDown,v=>{const w=h.current!=="";!(v.ctrlKey||v.altKey||v.metaKey)&&v.key.length===1&&p(v.key),!(w&&v.key===" ")&&rQe.includes(v.key)&&(y(),v.preventDefault())})})})});gY.displayName=pY;var AY="SelectValue",xY=I.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:i,children:s,placeholder:o="",...l}=e,c=Jm(AY,r),{onValueNodeHasChildrenChange:d}=c,u=s!==void 0,h=ri(t,c.onValueNodeChange);return zs(()=>{d(u)},[d,u]),a.jsx(an.span,{...l,ref:h,style:{pointerEvents:"none"},children:LY(c.value)?a.jsx(a.Fragment,{children:o}):s})});xY.displayName=AY;var lQe="SelectIcon",vY=I.forwardRef((e,t)=>{const{__scopeSelect:r,children:n,...i}=e;return a.jsx(an.span,{"aria-hidden":!0,...i,ref:t,children:n||"▼"})});vY.displayName=lQe;var cQe="SelectPortal",yY=e=>a.jsx(Yv,{asChild:!0,...e});yY.displayName=cQe;var jg="SelectContent",bY=I.forwardRef((e,t)=>{const r=Jm(jg,e.__scopeSelect),[n,i]=I.useState();if(zs(()=>{i(new DocumentFragment)},[]),!r.open){const s=n;return s?L1.createPortal(a.jsx(wY,{scope:e.__scopeSelect,children:a.jsx(OE.Slot,{scope:e.__scopeSelect,children:a.jsx("div",{children:e.children})})}),s):null}return a.jsx(EY,{...e,ref:t})});bY.displayName=jg;var k0=10,[wY,Xm]=sx(jg),uQe="SelectContentImpl",dQe=YPe("SelectContent.RemoveScroll"),EY=I.forwardRef((e,t)=>{const{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:s,onPointerDownOutside:o,side:l,sideOffset:c,align:d,alignOffset:u,arrowPadding:h,collisionBoundary:p,collisionPadding:A,sticky:y,hideWhenDetached:v,avoidCollisions:w,...j}=e,E=Jm(jg,r),[S,_]=I.useState(null),[C,Q]=I.useState(null),R=ri(t,we=>_(we)),[T,M]=I.useState(null),[O,$]=I.useState(null),P=LE(r),[L,X]=I.useState(!1),W=I.useRef(!1);I.useEffect(()=>{if(S)return sS(S)},[S]),aS();const G=I.useCallback(we=>{const[ve,...Ne]=P().map(Re=>Re.ref.current),[Ie]=Ne.slice(-1),be=document.activeElement;for(const Re of we)if(Re===be||(Re?.scrollIntoView({block:"nearest"}),Re===ve&&C&&(C.scrollTop=0),Re===Ie&&C&&(C.scrollTop=C.scrollHeight),Re?.focus(),document.activeElement!==be))return},[P,C]),J=I.useCallback(()=>G([T,S]),[G,T,S]);I.useEffect(()=>{L&&J()},[L,J]);const{onOpenChange:q,triggerPointerDownPosRef:ee}=E;I.useEffect(()=>{if(S){let we={x:0,y:0};const ve=Ie=>{we={x:Math.abs(Math.round(Ie.pageX)-(ee.current?.x??0)),y:Math.abs(Math.round(Ie.pageY)-(ee.current?.y??0))}},Ne=Ie=>{we.x<=10&&we.y<=10?Ie.preventDefault():S.contains(Ie.target)||q(!1),document.removeEventListener("pointermove",ve),ee.current=null};return ee.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",Ne,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",Ne,{capture:!0})}}},[S,q,ee]),I.useEffect(()=>{const we=()=>q(!1);return window.addEventListener("blur",we),window.addEventListener("resize",we),()=>{window.removeEventListener("blur",we),window.removeEventListener("resize",we)}},[q]);const[ne,V]=MY(we=>{const ve=P().filter(be=>!be.disabled),Ne=ve.find(be=>be.ref.current===document.activeElement),Ie=UY(ve,we,Ne);Ie&&setTimeout(()=>Ie.ref.current.focus())}),ue=I.useCallback((we,ve,Ne)=>{const Ie=!W.current&&!Ne;(E.value!==void 0&&E.value===ve||Ie)&&(M(we),Ie&&(W.current=!0))},[E.value]),de=I.useCallback(()=>S?.focus(),[S]),xe=I.useCallback((we,ve,Ne)=>{const Ie=!W.current&&!Ne;(E.value!==void 0&&E.value===ve||Ie)&&$(we)},[E.value]),_e=n==="popper"?a6:CY,Ce=_e===a6?{side:l,sideOffset:c,align:d,alignOffset:u,arrowPadding:h,collisionBoundary:p,collisionPadding:A,sticky:y,hideWhenDetached:v,avoidCollisions:w}:{};return a.jsx(wY,{scope:r,content:S,viewport:C,onViewportChange:Q,itemRefCallback:ue,selectedItem:T,onItemLeave:de,itemTextRefCallback:xe,focusSelectedItem:J,selectedItemText:O,position:n,isPositioned:L,searchRef:ne,children:a.jsx(N4,{as:dQe,allowPinchZoom:!0,children:a.jsx(I4,{asChild:!0,trapped:E.open,onMountAutoFocus:we=>{we.preventDefault()},onUnmountAutoFocus:yr(i,we=>{E.trigger?.focus({preventScroll:!0}),we.preventDefault()}),children:a.jsx(M1,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:we=>we.preventDefault(),onDismiss:()=>E.onOpenChange(!1),children:a.jsx(_e,{role:"listbox",id:E.contentId,"data-state":E.open?"open":"closed",dir:E.dir,onContextMenu:we=>we.preventDefault(),...j,...Ce,onPlaced:()=>X(!0),ref:R,style:{display:"flex",flexDirection:"column",outline:"none",...j.style},onKeyDown:yr(j.onKeyDown,we=>{const ve=we.ctrlKey||we.altKey||we.metaKey;if(we.key==="Tab"&&we.preventDefault(),!ve&&we.key.length===1&&V(we.key),["ArrowUp","ArrowDown","Home","End"].includes(we.key)){let Ie=P().filter(be=>!be.disabled).map(be=>be.ref.current);if(["ArrowUp","End"].includes(we.key)&&(Ie=Ie.slice().reverse()),["ArrowUp","ArrowDown"].includes(we.key)){const be=we.target,Re=Ie.indexOf(be);Ie=Ie.slice(Re+1)}setTimeout(()=>G(Ie)),we.preventDefault()}})})})})})})});EY.displayName=uQe;var fQe="SelectItemAlignedPosition",CY=I.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:n,...i}=e,s=Jm(jg,r),o=Xm(jg,r),[l,c]=I.useState(null),[d,u]=I.useState(null),h=ri(t,R=>u(R)),p=LE(r),A=I.useRef(!1),y=I.useRef(!0),{viewport:v,selectedItem:w,selectedItemText:j,focusSelectedItem:E}=o,S=I.useCallback(()=>{if(s.trigger&&s.valueNode&&l&&d&&v&&w&&j){const R=s.trigger.getBoundingClientRect(),T=d.getBoundingClientRect(),M=s.valueNode.getBoundingClientRect(),O=j.getBoundingClientRect();if(s.dir!=="rtl"){const be=O.left-T.left,Re=M.left-be,Pe=R.left-Re,Ke=R.width+Pe,tt=Math.max(Ke,T.width),pt=window.innerWidth-k0,dt=NF(Re,[k0,Math.max(k0,pt-tt)]);l.style.minWidth=Ke+"px",l.style.left=dt+"px"}else{const be=T.right-O.right,Re=window.innerWidth-M.right-be,Pe=window.innerWidth-R.right-Re,Ke=R.width+Pe,tt=Math.max(Ke,T.width),pt=window.innerWidth-k0,dt=NF(Re,[k0,Math.max(k0,pt-tt)]);l.style.minWidth=Ke+"px",l.style.right=dt+"px"}const $=p(),P=window.innerHeight-k0*2,L=v.scrollHeight,X=window.getComputedStyle(d),W=parseInt(X.borderTopWidth,10),G=parseInt(X.paddingTop,10),J=parseInt(X.borderBottomWidth,10),q=parseInt(X.paddingBottom,10),ee=W+G+L+q+J,ne=Math.min(w.offsetHeight*5,ee),V=window.getComputedStyle(v),ue=parseInt(V.paddingTop,10),de=parseInt(V.paddingBottom,10),xe=R.top+R.height/2-k0,_e=P-xe,Ce=w.offsetHeight/2,we=w.offsetTop+Ce,ve=W+G+we,Ne=ee-ve;if(ve<=xe){const be=$.length>0&&w===$[$.length-1].ref.current;l.style.bottom="0px";const Re=d.clientHeight-v.offsetTop-v.offsetHeight,Pe=Math.max(_e,Ce+(be?de:0)+Re+J),Ke=ve+Pe;l.style.height=Ke+"px"}else{const be=$.length>0&&w===$[0].ref.current;l.style.top="0px";const Pe=Math.max(xe,W+v.offsetTop+(be?ue:0)+Ce)+Ne;l.style.height=Pe+"px",v.scrollTop=ve-xe+v.offsetTop}l.style.margin=`${k0}px 0`,l.style.minHeight=ne+"px",l.style.maxHeight=P+"px",n?.(),requestAnimationFrame(()=>A.current=!0)}},[p,s.trigger,s.valueNode,l,d,v,w,j,s.dir,n]);zs(()=>S(),[S]);const[_,C]=I.useState();zs(()=>{d&&C(window.getComputedStyle(d).zIndex)},[d]);const Q=I.useCallback(R=>{R&&y.current===!0&&(S(),E?.(),y.current=!1)},[S,E]);return a.jsx(mQe,{scope:r,contentWrapper:l,shouldExpandOnScrollRef:A,onScrollButtonChange:Q,children:a.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:_},children:a.jsx(an.div,{...i,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});CY.displayName=fQe;var hQe="SelectPopperPosition",a6=I.forwardRef((e,t)=>{const{__scopeSelect:r,align:n="start",collisionPadding:i=k0,...s}=e,o=ME(r);return a.jsx(eS,{...o,...s,ref:t,align:n,collisionPadding:i,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});a6.displayName=hQe;var[mQe,P8]=sx(jg,{}),s6="SelectViewport",IY=I.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:n,...i}=e,s=Xm(s6,r),o=P8(s6,r),l=ri(t,s.onViewportChange),c=I.useRef(0);return a.jsxs(a.Fragment,{children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),a.jsx(OE.Slot,{scope:r,children:a.jsx(an.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:yr(i.onScroll,d=>{const u=d.currentTarget,{contentWrapper:h,shouldExpandOnScrollRef:p}=o;if(p?.current&&h){const A=Math.abs(c.current-u.scrollTop);if(A>0){const y=window.innerHeight-k0*2,v=parseFloat(h.style.minHeight),w=parseFloat(h.style.height),j=Math.max(v,w);if(j0?_:0,h.style.justifyContent="flex-end")}}}c.current=u.scrollTop})})})]})});IY.displayName=s6;var jY="SelectGroup",[pQe,gQe]=sx(jY),AQe=I.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,i=su();return a.jsx(pQe,{scope:r,id:i,children:a.jsx(an.div,{role:"group","aria-labelledby":i,...n,ref:t})})});AQe.displayName=jY;var NY="SelectLabel",SY=I.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,i=gQe(NY,r);return a.jsx(an.div,{id:i.id,...n,ref:t})});SY.displayName=NY;var Kw="SelectItem",[xQe,BY]=sx(Kw),kY=I.forwardRef((e,t)=>{const{__scopeSelect:r,value:n,disabled:i=!1,textValue:s,...o}=e,l=Jm(Kw,r),c=Xm(Kw,r),d=l.value===n,[u,h]=I.useState(s??""),[p,A]=I.useState(!1),y=ri(t,E=>c.itemRefCallback?.(E,n,i)),v=su(),w=I.useRef("touch"),j=()=>{i||(l.onValueChange(n),l.onOpenChange(!1))};if(n==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return a.jsx(xQe,{scope:r,value:n,disabled:i,textId:v,isSelected:d,onItemTextChange:I.useCallback(E=>{h(S=>S||(E?.textContent??"").trim())},[]),children:a.jsx(OE.ItemSlot,{scope:r,value:n,disabled:i,textValue:u,children:a.jsx(an.div,{role:"option","aria-labelledby":v,"data-highlighted":p?"":void 0,"aria-selected":d&&p,"data-state":d?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...o,ref:y,onFocus:yr(o.onFocus,()=>A(!0)),onBlur:yr(o.onBlur,()=>A(!1)),onClick:yr(o.onClick,()=>{w.current!=="mouse"&&j()}),onPointerUp:yr(o.onPointerUp,()=>{w.current==="mouse"&&j()}),onPointerDown:yr(o.onPointerDown,E=>{w.current=E.pointerType}),onPointerMove:yr(o.onPointerMove,E=>{w.current=E.pointerType,i?c.onItemLeave?.():w.current==="mouse"&&E.currentTarget.focus({preventScroll:!0})}),onPointerLeave:yr(o.onPointerLeave,E=>{E.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:yr(o.onKeyDown,E=>{c.searchRef?.current!==""&&E.key===" "||(nQe.includes(E.key)&&j(),E.key===" "&&E.preventDefault())})})})})});kY.displayName=Kw;var zx="SelectItemText",_Y=I.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:i,...s}=e,o=Jm(zx,r),l=Xm(zx,r),c=BY(zx,r),d=oQe(zx,r),[u,h]=I.useState(null),p=ri(t,j=>h(j),c.onItemTextChange,j=>l.itemTextRefCallback?.(j,c.value,c.disabled)),A=u?.textContent,y=I.useMemo(()=>a.jsx("option",{value:c.value,disabled:c.disabled,children:A},c.value),[c.disabled,c.value,A]),{onNativeOptionAdd:v,onNativeOptionRemove:w}=d;return zs(()=>(v(y),()=>w(y)),[v,w,y]),a.jsxs(a.Fragment,{children:[a.jsx(an.span,{id:c.textId,...s,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren?L1.createPortal(s.children,o.valueNode):null]})});_Y.displayName=zx;var DY="SelectItemIndicator",TY=I.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return BY(DY,r).isSelected?a.jsx(an.span,{"aria-hidden":!0,...n,ref:t}):null});TY.displayName=DY;var o6="SelectScrollUpButton",RY=I.forwardRef((e,t)=>{const r=Xm(o6,e.__scopeSelect),n=P8(o6,e.__scopeSelect),[i,s]=I.useState(!1),o=ri(t,n.onScrollButtonChange);return zs(()=>{if(r.viewport&&r.isPositioned){let l=function(){const d=c.scrollTop>0;s(d)};const c=r.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[r.viewport,r.isPositioned]),i?a.jsx(QY,{...e,ref:o,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=r;l&&c&&(l.scrollTop=l.scrollTop-c.offsetHeight)}}):null});RY.displayName=o6;var l6="SelectScrollDownButton",PY=I.forwardRef((e,t)=>{const r=Xm(l6,e.__scopeSelect),n=P8(l6,e.__scopeSelect),[i,s]=I.useState(!1),o=ri(t,n.onScrollButtonChange);return zs(()=>{if(r.viewport&&r.isPositioned){let l=function(){const d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)c.removeEventListener("scroll",l)}},[r.viewport,r.isPositioned]),i?a.jsx(QY,{...e,ref:o,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=r;l&&c&&(l.scrollTop=l.scrollTop+c.offsetHeight)}}):null});PY.displayName=l6;var QY=I.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:n,...i}=e,s=Xm("SelectScrollButton",r),o=I.useRef(null),l=LE(r),c=I.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return I.useEffect(()=>()=>c(),[c]),zs(()=>{l().find(u=>u.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),a.jsx(an.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:yr(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(n,50))}),onPointerMove:yr(i.onPointerMove,()=>{s.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(n,50))}),onPointerLeave:yr(i.onPointerLeave,()=>{c()})})}),vQe="SelectSeparator",FY=I.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return a.jsx(an.div,{"aria-hidden":!0,...n,ref:t})});FY.displayName=vQe;var c6="SelectArrow",yQe=I.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,i=ME(r),s=Jm(c6,r),o=Xm(c6,r);return s.open&&o.position==="popper"?a.jsx(tS,{...i,...n,ref:t}):null});yQe.displayName=c6;var bQe="SelectBubbleInput",OY=I.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{const i=I.useRef(null),s=ri(n,i),o=hY(t);return I.useEffect(()=>{const l=i.current;if(!l)return;const c=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(c,"value").set;if(o!==t&&u){const h=new Event("change",{bubbles:!0});u.call(l,t),l.dispatchEvent(h)}},[o,t]),a.jsx(an.select,{...r,style:{...GO,...r.style},ref:s,defaultValue:t})});OY.displayName=bQe;function LY(e){return e===""||e===void 0}function MY(e){const t=ql(e),r=I.useRef(""),n=I.useRef(0),i=I.useCallback(o=>{const l=r.current+o;t(l),(function c(d){r.current=d,window.clearTimeout(n.current),d!==""&&(n.current=window.setTimeout(()=>c(""),1e3))})(l)},[t]),s=I.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return I.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,i,s]}function UY(e,t,r){const i=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let o=wQe(e,Math.max(s,0));i.length===1&&(o=o.filter(d=>d!==r));const c=o.find(d=>d.textValue.toLowerCase().startsWith(i.toLowerCase()));return c!==r?c:void 0}function wQe(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var EQe=mY,zY=gY,CQe=xY,IQe=vY,jQe=yY,$Y=bY,NQe=IY,HY=SY,qY=kY,SQe=_Y,BQe=TY,GY=RY,VY=PY,WY=FY;const rn=EQe,nn=CQe,Xr=I.forwardRef(({className:e,children:t,...r},n)=>a.jsxs(zY,{ref:n,className:nr("flex h-9 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[t,a.jsx(IQe,{asChild:!0,children:a.jsx(F6,{className:"h-4 w-4 opacity-50"})})]}));Xr.displayName=zY.displayName;const KY=I.forwardRef(({className:e,...t},r)=>a.jsx(GY,{ref:r,className:nr("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(use,{className:"h-4 w-4"})}));KY.displayName=GY.displayName;const YY=I.forwardRef(({className:e,...t},r)=>a.jsx(VY,{ref:r,className:nr("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(F6,{className:"h-4 w-4"})}));YY.displayName=VY.displayName;const en=I.forwardRef(({className:e,children:t,position:r="popper",...n},i)=>a.jsx(jQe,{children:a.jsxs($Y,{ref:i,className:nr("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[a.jsx(KY,{}),a.jsx(NQe,{className:nr("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),a.jsx(YY,{})]})}));en.displayName=$Y.displayName;const kQe=I.forwardRef(({className:e,...t},r)=>a.jsx(HY,{ref:r,className:nr("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));kQe.displayName=HY.displayName;const Qt=I.forwardRef(({className:e,children:t,...r},n)=>a.jsxs(qY,{ref:n,className:nr("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(BQe,{children:a.jsx(U0,{className:"h-4 w-4"})})}),a.jsx(SQe,{children:t})]}));Qt.displayName=qY.displayName;const _Qe=I.forwardRef(({className:e,...t},r)=>a.jsx(WY,{ref:r,className:nr("-mx-1 my-1 h-px bg-muted",e),...t}));_Qe.displayName=WY.displayName;var UE="Checkbox",[DQe]=Sc(UE),[TQe,Q8]=DQe(UE);function RQe(e){const{__scopeCheckbox:t,checked:r,children:n,defaultChecked:i,disabled:s,form:o,name:l,onCheckedChange:c,required:d,value:u="on",internal_do_not_use_render:h}=e,[p,A]=a0({prop:r,defaultProp:i??!1,onChange:c,caller:UE}),[y,v]=I.useState(null),[w,j]=I.useState(null),E=I.useRef(!1),S=y?!!o||!!y.closest("form"):!0,_={checked:p,disabled:s,setChecked:A,control:y,setControl:v,name:l,form:o,value:u,hasConsumerStoppedPropagationRef:E,required:d,defaultChecked:Im(i)?!1:i,isFormControl:S,bubbleInput:w,setBubbleInput:j};return a.jsx(TQe,{scope:t,..._,children:PQe(h)?h(_):n})}var ZY="CheckboxTrigger",JY=I.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...n},i)=>{const{control:s,value:o,disabled:l,checked:c,required:d,setControl:u,setChecked:h,hasConsumerStoppedPropagationRef:p,isFormControl:A,bubbleInput:y}=Q8(ZY,e),v=ri(i,u),w=I.useRef(c);return I.useEffect(()=>{const j=s?.form;if(j){const E=()=>h(w.current);return j.addEventListener("reset",E),()=>j.removeEventListener("reset",E)}},[s,h]),a.jsx(an.button,{type:"button",role:"checkbox","aria-checked":Im(c)?"mixed":c,"aria-required":d,"data-state":nZ(c),"data-disabled":l?"":void 0,disabled:l,value:o,...n,ref:v,onKeyDown:yr(t,j=>{j.key==="Enter"&&j.preventDefault()}),onClick:yr(r,j=>{h(E=>Im(E)?!0:!E),y&&A&&(p.current=j.isPropagationStopped(),p.current||j.stopPropagation())})})});JY.displayName=ZY;var F8=I.forwardRef((e,t)=>{const{__scopeCheckbox:r,name:n,checked:i,defaultChecked:s,required:o,disabled:l,value:c,onCheckedChange:d,form:u,...h}=e;return a.jsx(RQe,{__scopeCheckbox:r,checked:i,defaultChecked:s,disabled:l,required:o,onCheckedChange:d,name:n,form:u,value:c,internal_do_not_use_render:({isFormControl:p})=>a.jsxs(a.Fragment,{children:[a.jsx(JY,{...h,ref:t,__scopeCheckbox:r}),p&&a.jsx(rZ,{__scopeCheckbox:r})]})})});F8.displayName=UE;var XY="CheckboxIndicator",eZ=I.forwardRef((e,t)=>{const{__scopeCheckbox:r,forceMount:n,...i}=e,s=Q8(XY,r);return a.jsx(hu,{present:n||Im(s.checked)||s.checked===!0,children:a.jsx(an.span,{"data-state":nZ(s.checked),"data-disabled":s.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});eZ.displayName=XY;var tZ="CheckboxBubbleInput",rZ=I.forwardRef(({__scopeCheckbox:e,...t},r)=>{const{control:n,hasConsumerStoppedPropagationRef:i,checked:s,defaultChecked:o,required:l,disabled:c,name:d,value:u,form:h,bubbleInput:p,setBubbleInput:A}=Q8(tZ,e),y=ri(r,A),v=hY(s),w=ML(n);I.useEffect(()=>{const E=p;if(!E)return;const S=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(S,"checked").set,Q=!i.current;if(v!==s&&C){const R=new Event("click",{bubbles:Q});E.indeterminate=Im(s),C.call(E,Im(s)?!1:s),E.dispatchEvent(R)}},[p,v,s,i]);const j=I.useRef(Im(s)?!1:s);return a.jsx(an.input,{type:"checkbox","aria-hidden":!0,defaultChecked:o??j.current,required:l,disabled:c,name:d,value:u,form:h,...t,tabIndex:-1,ref:y,style:{...t.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});rZ.displayName=tZ;function PQe(e){return typeof e=="function"}function Im(e){return e==="indeterminate"}function nZ(e){return Im(e)?"indeterminate":e?"checked":"unchecked"}const S1=I.forwardRef(({className:e,...t},r)=>a.jsx(F8,{ref:r,className:nr("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:a.jsx(eZ,{className:nr("flex items-center justify-center text-current"),children:a.jsx(U0,{className:"h-4 w-4"})})}));S1.displayName=F8.displayName;const Vt=Symbol.for("drizzle:entityKind");function ko(e,t){if(!e||typeof e!="object")return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,Vt))throw new Error(`Class "${t.name??""}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)for(;r;){if(Vt in r&&r[Vt]===t[Vt])return!0;r=Object.getPrototypeOf(r)}return!1}class Lv{constructor(t,r){this.table=t,this.config=r,this.name=r.name,this.keyAsName=r.keyAsName,this.notNull=r.notNull,this.default=r.default,this.defaultFn=r.defaultFn,this.onUpdateFn=r.onUpdateFn,this.hasDefault=r.hasDefault,this.primary=r.primaryKey,this.isUnique=r.isUnique,this.uniqueName=r.uniqueName,this.uniqueType=r.uniqueType,this.dataType=r.dataType,this.columnType=r.columnType,this.generated=r.generated,this.generatedIdentity=r.generatedIdentity}static[Vt]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(t){return t}mapToDriverValue(t){return t}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class QQe{static[Vt]="ColumnBuilder";config;constructor(t,r,n){this.config={name:t,keyAsName:t==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:r,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(t){return this.config.default=t,this.config.hasDefault=!0,this}$defaultFn(t){return this.config.defaultFn=t,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(t){return this.config.onUpdateFn=t,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(t){this.config.name===""&&(this.config.name=t)}}const s1=Symbol.for("drizzle:Name");class FQe{static[Vt]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(t,r){this.reference=()=>{const{name:n,columns:i,foreignColumns:s}=t();return{name:n,columns:i,foreignTable:s[0].table,foreignColumns:s}},r&&(this._onUpdate=r.onUpdate,this._onDelete=r.onDelete)}onUpdate(t){return this._onUpdate=t===void 0?"no action":t,this}onDelete(t){return this._onDelete=t===void 0?"no action":t,this}build(t){return new OQe(t,this)}}class OQe{constructor(t,r){this.table=t,this.reference=r.reference,this.onUpdate=r._onUpdate,this.onDelete=r._onDelete}static[Vt]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:t,columns:r,foreignColumns:n}=this.reference(),i=r.map(l=>l.name),s=n.map(l=>l.name),o=[this.table[s1],...i,n[0].table[s1],...s];return t??`${o.join("_")}_fk`}}function LQe(e,...t){return e(...t)}function MQe(e,t){return`${e[s1]}_${t.join("_")}_unique`}function SF(e,t,r){for(let n=t;nArray.isArray(t)?aZ(t):typeof t=="string"?`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${t}`).join(",")}}`}class Ai extends QQe{foreignKeyConfigs=[];static[Vt]="PgColumnBuilder";array(t){return new $Qe(this.config.name,this,t)}references(t,r={}){return this.foreignKeyConfigs.push({ref:t,actions:r}),this}unique(t,r){return this.config.isUnique=!0,this.config.uniqueName=t,this.config.uniqueType=r?.nulls,this}generatedAlwaysAs(t){return this.config.generated={as:t,type:"always",mode:"stored"},this}buildForeignKeys(t,r){return this.foreignKeyConfigs.map(({ref:n,actions:i})=>LQe((s,o)=>{const l=new FQe(()=>{const c=s();return{columns:[t],foreignColumns:[c]}});return o.onUpdate&&l.onUpdate(o.onUpdate),o.onDelete&&l.onDelete(o.onDelete),l.build(r)},n,i))}buildExtraConfigColumn(t){return new zQe(t,this.config)}}class Tn extends Lv{constructor(t,r){r.uniqueName||(r.uniqueName=MQe(t,[r.name])),super(t,r),this.table=t}static[Vt]="PgColumn"}class zQe extends Tn{static[Vt]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(t){return this.indexConfig.opClass=t,this}}class $Qe extends Ai{static[Vt]="PgArrayBuilder";constructor(t,r,n){super(t,"array","PgArray"),this.config.baseBuilder=r,this.config.size=n}build(t){const r=this.config.baseBuilder.build(t);return new O8(t,this.config,r)}}class O8 extends Tn{constructor(t,r,n,i){super(t,r),this.baseColumn=n,this.range=i,this.size=r.size}size;static[Vt]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size=="number"?this.size:""}]`}mapFromDriverValue(t){return typeof t=="string"&&(t=UQe(t)),t.map(r=>this.baseColumn.mapFromDriverValue(r))}mapToDriverValue(t,r=!1){const n=t.map(i=>i===null?null:ko(this.baseColumn,O8)?this.baseColumn.mapToDriverValue(i,!0):this.baseColumn.mapToDriverValue(i));return r?n:aZ(n)}}const BF=Symbol.for("drizzle:isPgEnum");function HQe(e){return!!e&&typeof e=="function"&&BF in e&&e[BF]===!0}class sZ{static[Vt]="Subquery";constructor(t,r,n,i=!1,s=[]){this._={brand:"Subquery",sql:t,selectedFields:r,alias:n,isWith:i,usedTables:s}}}const qQe={startActiveSpan(e,t){return t()}},o1=Symbol.for("drizzle:ViewBaseConfig"),k3=Symbol.for("drizzle:Schema"),kF=Symbol.for("drizzle:Columns"),_F=Symbol.for("drizzle:ExtraConfigColumns"),_3=Symbol.for("drizzle:OriginalName"),D3=Symbol.for("drizzle:BaseName"),Yw=Symbol.for("drizzle:IsAlias"),DF=Symbol.for("drizzle:ExtraConfigBuilder"),oZ=Symbol.for("drizzle:IsDrizzleTable");class _o{static[Vt]="Table";static Symbol={Name:s1,Schema:k3,OriginalName:_3,Columns:kF,ExtraConfigColumns:_F,BaseName:D3,IsAlias:Yw,ExtraConfigBuilder:DF};[s1];[_3];[k3];[kF];[_F];[D3];[Yw]=!1;[oZ]=!0;[DF]=void 0;constructor(t,r,n){this[s1]=this[_3]=t,this[k3]=r,this[D3]=n}}function lZ(e){return typeof e=="object"&&e!==null&&oZ in e}function GQe(e){return e!=null&&typeof e.getSQL=="function"}function VQe(e){const t={sql:"",params:[]};for(const r of e)t.sql+=r.sql,t.params.push(...r.params),r.typings?.length&&(t.typings||(t.typings=[]),t.typings.push(...r.typings));return t}class D0{static[Vt]="StringChunk";value;constructor(t){this.value=Array.isArray(t)?t:[t]}getSQL(){return new js([this])}}class js{constructor(t){this.queryChunks=t;for(const r of t)if(ko(r,_o)){const n=r[_o.Symbol.Schema];this.usedTables.push(n===void 0?r[_o.Symbol.Name]:n+"."+r[_o.Symbol.Name])}}static[Vt]="SQL";decoder=cZ;shouldInlineParams=!1;usedTables=[];append(t){return this.queryChunks.push(...t.queryChunks),this}toQuery(t){return qQe.startActiveSpan("drizzle.buildSQL",r=>{const n=this.buildQueryFromSourceParams(this.queryChunks,t);return r?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(t,r){const n=Object.assign({},r,{inlineParams:r.inlineParams||this.shouldInlineParams,paramStartIndex:r.paramStartIndex||{value:0}}),{casing:i,escapeName:s,escapeParam:o,prepareTyping:l,inlineParams:c,paramStartIndex:d}=n;return VQe(t.map(u=>{if(ko(u,D0))return{sql:u.value.join(""),params:[]};if(ko(u,u6))return{sql:s(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){const h=[new D0("(")];for(const[p,A]of u.entries())h.push(A),pe},uZ={mapToDriverValue:e=>e};({...cZ,...uZ});class dZ{constructor(t,r=uZ){this.value=t,this.encoder=r}static[Vt]="Param";brand;getSQL(){return new js([this])}}function Mv(e,...t){const r=[];(t.length>0||e.length>0&&e[0]!=="")&&r.push(new D0(e[0]));for(const[n,i]of t.entries())r.push(i,new D0(e[n+1]));return new js(r)}(e=>{function t(){return new js([])}e.empty=t;function r(c){return new js(c)}e.fromList=r;function n(c){return new js([new D0(c)])}e.raw=n;function i(c,d){const u=[];for(const[h,p]of c.entries())h>0&&d!==void 0&&u.push(d),u.push(p);return new js(u)}e.join=i;function s(c){return new u6(c)}e.identifier=s;function o(c){return new d6(c)}e.placeholder=o;function l(c,d){return new dZ(c,d)}e.param=l})(Mv||(Mv={}));(e=>{class t{constructor(n,i){this.sql=n,this.fieldAlias=i}static[Vt]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}}e.Aliased=t})(js||(js={}));class d6{constructor(t){this.name=t}static[Vt]="Placeholder";getSQL(){return new js([this])}}const fZ=Symbol.for("drizzle:IsDrizzleView");class WQe{static[Vt]="View";[o1];[fZ]=!0;constructor({name:t,schema:r,selectedFields:n,query:i}){this[o1]={name:t,originalName:t,schema:r,selectedFields:n,query:i,isExisting:!i,isAlias:!1}}getSQL(){return new js([this])}}function KQe(e){return typeof e=="object"&&e!==null&&fZ in e}Lv.prototype.getSQL=function(){return new js([this])};_o.prototype.getSQL=function(){return new js([this])};sZ.prototype.getSQL=function(){return new js([this])};function YQe(e){return e[_o.Symbol.Columns]}function ZQe(e){return e[o1].selectedFields}function Mo(e,t){return{name:typeof e=="string"&&e.length>0?e:"",config:typeof e=="object"?e:t}}typeof TextDecoder>"u"||new TextDecoder;class zE extends Ai{static[Vt]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(t){if(t){const{name:r,...n}=t;this.config.generatedIdentity={type:"always",sequenceName:r,sequenceOptions:n}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(t){if(t){const{name:r,...n}=t;this.config.generatedIdentity={type:"byDefault",sequenceName:r,sequenceOptions:n}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class JQe extends zE{static[Vt]="PgBigInt53Builder";constructor(t){super(t,"number","PgBigInt53")}build(t){return new XQe(t,this.config)}}class XQe extends Tn{static[Vt]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(t){return typeof t=="number"?t:Number(t)}}class eFe extends zE{static[Vt]="PgBigInt64Builder";constructor(t){super(t,"bigint","PgBigInt64")}build(t){return new tFe(t,this.config)}}class tFe extends Tn{static[Vt]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(t){return BigInt(t)}}function rFe(e,t){const{name:r,config:n}=Mo(e,t);return n.mode==="number"?new JQe(r):new eFe(r)}class nFe extends Ai{static[Vt]="PgBigSerial53Builder";constructor(t){super(t,"number","PgBigSerial53"),this.config.hasDefault=!0,this.config.notNull=!0}build(t){return new iFe(t,this.config)}}class iFe extends Tn{static[Vt]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(t){return typeof t=="number"?t:Number(t)}}class aFe extends Ai{static[Vt]="PgBigSerial64Builder";constructor(t){super(t,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(t){return new sFe(t,this.config)}}class sFe extends Tn{static[Vt]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(t){return BigInt(t)}}function oFe(e,t){const{name:r,config:n}=Mo(e,t);return n.mode==="number"?new nFe(r):new aFe(r)}class lFe extends Ai{static[Vt]="PgBooleanBuilder";constructor(t){super(t,"boolean","PgBoolean")}build(t){return new cFe(t,this.config)}}class cFe extends Tn{static[Vt]="PgBoolean";getSQLType(){return"boolean"}}function Ju(e){return new lFe(e??"")}class uFe extends Ai{static[Vt]="PgCharBuilder";constructor(t,r){super(t,"string","PgChar"),this.config.length=r.length,this.config.enumValues=r.enum}build(t){return new dFe(t,this.config)}}class dFe extends Tn{static[Vt]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function fFe(e,t={}){const{name:r,config:n}=Mo(e,t);return new uFe(r,n)}class hFe extends Ai{static[Vt]="PgCidrBuilder";constructor(t){super(t,"string","PgCidr")}build(t){return new mFe(t,this.config)}}class mFe extends Tn{static[Vt]="PgCidr";getSQLType(){return"cidr"}}function pFe(e){return new hFe(e??"")}class gFe extends Ai{static[Vt]="PgCustomColumnBuilder";constructor(t,r,n){super(t,"custom","PgCustomColumn"),this.config.fieldConfig=r,this.config.customTypeParams=n}build(t){return new AFe(t,this.config)}}class AFe extends Tn{static[Vt]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(t,r){super(t,r),this.sqlName=r.customTypeParams.dataType(r.fieldConfig),this.mapTo=r.customTypeParams.toDriver,this.mapFrom=r.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(t){return typeof this.mapFrom=="function"?this.mapFrom(t):t}mapToDriverValue(t){return typeof this.mapTo=="function"?this.mapTo(t):t}}function xFe(e){return(t,r)=>{const{name:n,config:i}=Mo(t,r);return new gFe(n,i,e)}}class $y extends Ai{static[Vt]="PgDateColumnBaseBuilder";defaultNow(){return this.default(Mv`now()`)}}class vFe extends $y{static[Vt]="PgDateBuilder";constructor(t){super(t,"date","PgDate")}build(t){return new yFe(t,this.config)}}class yFe extends Tn{static[Vt]="PgDate";getSQLType(){return"date"}mapFromDriverValue(t){return typeof t=="string"?new Date(t):t}mapToDriverValue(t){return t.toISOString()}}class bFe extends $y{static[Vt]="PgDateStringBuilder";constructor(t){super(t,"string","PgDateString")}build(t){return new wFe(t,this.config)}}class wFe extends Tn{static[Vt]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(t){return typeof t=="string"?t:t.toISOString().slice(0,-14)}}function Ng(e,t){const{name:r,config:n}=Mo(e,t);return n?.mode==="date"?new vFe(r):new bFe(r)}class EFe extends Ai{static[Vt]="PgDoublePrecisionBuilder";constructor(t){super(t,"number","PgDoublePrecision")}build(t){return new CFe(t,this.config)}}class CFe extends Tn{static[Vt]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(t){return typeof t=="string"?Number.parseFloat(t):t}}function IFe(e){return new EFe(e??"")}class jFe extends Ai{static[Vt]="PgInetBuilder";constructor(t){super(t,"string","PgInet")}build(t){return new NFe(t,this.config)}}class NFe extends Tn{static[Vt]="PgInet";getSQLType(){return"inet"}}function SFe(e){return new jFe(e??"")}class BFe extends zE{static[Vt]="PgIntegerBuilder";constructor(t){super(t,"number","PgInteger")}build(t){return new kFe(t,this.config)}}class kFe extends Tn{static[Vt]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(t){return typeof t=="string"?Number.parseInt(t):t}}function Nr(e){return new BFe(e??"")}class _Fe extends Ai{static[Vt]="PgIntervalBuilder";constructor(t,r){super(t,"string","PgInterval"),this.config.intervalConfig=r}build(t){return new DFe(t,this.config)}}class DFe extends Tn{static[Vt]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){const t=this.fields?` ${this.fields}`:"",r=this.precision?`(${this.precision})`:"";return`interval${t}${r}`}}function TFe(e,t={}){const{name:r,config:n}=Mo(e,t);return new _Fe(r,n)}class RFe extends Ai{static[Vt]="PgJsonBuilder";constructor(t){super(t,"json","PgJson")}build(t){return new PFe(t,this.config)}}class PFe extends Tn{static[Vt]="PgJson";constructor(t,r){super(t,r)}getSQLType(){return"json"}mapToDriverValue(t){return JSON.stringify(t)}mapFromDriverValue(t){if(typeof t=="string")try{return JSON.parse(t)}catch{return t}return t}}function QFe(e){return new RFe(e??"")}class FFe extends Ai{static[Vt]="PgJsonbBuilder";constructor(t){super(t,"json","PgJsonb")}build(t){return new OFe(t,this.config)}}class OFe extends Tn{static[Vt]="PgJsonb";constructor(t,r){super(t,r)}getSQLType(){return"jsonb"}mapToDriverValue(t){return JSON.stringify(t)}mapFromDriverValue(t){if(typeof t=="string")try{return JSON.parse(t)}catch{return t}return t}}function Lm(e){return new FFe(e??"")}class LFe extends Ai{static[Vt]="PgLineBuilder";constructor(t){super(t,"array","PgLine")}build(t){return new MFe(t,this.config)}}class MFe extends Tn{static[Vt]="PgLine";getSQLType(){return"line"}mapFromDriverValue(t){const[r,n,i]=t.slice(1,-1).split(",");return[Number.parseFloat(r),Number.parseFloat(n),Number.parseFloat(i)]}mapToDriverValue(t){return`{${t[0]},${t[1]},${t[2]}}`}}class UFe extends Ai{static[Vt]="PgLineABCBuilder";constructor(t){super(t,"json","PgLineABC")}build(t){return new zFe(t,this.config)}}class zFe extends Tn{static[Vt]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(t){const[r,n,i]=t.slice(1,-1).split(",");return{a:Number.parseFloat(r),b:Number.parseFloat(n),c:Number.parseFloat(i)}}mapToDriverValue(t){return`{${t.a},${t.b},${t.c}}`}}function $Fe(e,t){const{name:r,config:n}=Mo(e,t);return!n?.mode||n.mode==="tuple"?new LFe(r):new UFe(r)}class HFe extends Ai{static[Vt]="PgMacaddrBuilder";constructor(t){super(t,"string","PgMacaddr")}build(t){return new qFe(t,this.config)}}class qFe extends Tn{static[Vt]="PgMacaddr";getSQLType(){return"macaddr"}}function GFe(e){return new HFe(e??"")}class VFe extends Ai{static[Vt]="PgMacaddr8Builder";constructor(t){super(t,"string","PgMacaddr8")}build(t){return new WFe(t,this.config)}}class WFe extends Tn{static[Vt]="PgMacaddr8";getSQLType(){return"macaddr8"}}function KFe(e){return new VFe(e??"")}class YFe extends Ai{static[Vt]="PgNumericBuilder";constructor(t,r,n){super(t,"string","PgNumeric"),this.config.precision=r,this.config.scale=n}build(t){return new ZFe(t,this.config)}}class ZFe extends Tn{static[Vt]="PgNumeric";precision;scale;constructor(t,r){super(t,r),this.precision=r.precision,this.scale=r.scale}mapFromDriverValue(t){return typeof t=="string"?t:String(t)}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}class JFe extends Ai{static[Vt]="PgNumericNumberBuilder";constructor(t,r,n){super(t,"number","PgNumericNumber"),this.config.precision=r,this.config.scale=n}build(t){return new XFe(t,this.config)}}class XFe extends Tn{static[Vt]="PgNumericNumber";precision;scale;constructor(t,r){super(t,r),this.precision=r.precision,this.scale=r.scale}mapFromDriverValue(t){return typeof t=="number"?t:Number(t)}mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}class eOe extends Ai{static[Vt]="PgNumericBigIntBuilder";constructor(t,r,n){super(t,"bigint","PgNumericBigInt"),this.config.precision=r,this.config.scale=n}build(t){return new tOe(t,this.config)}}class tOe extends Tn{static[Vt]="PgNumericBigInt";precision;scale;constructor(t,r){super(t,r),this.precision=r.precision,this.scale=r.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}function rOe(e,t){const{name:r,config:n}=Mo(e,t),i=n?.mode;return i==="number"?new JFe(r,n?.precision,n?.scale):i==="bigint"?new eOe(r,n?.precision,n?.scale):new YFe(r,n?.precision,n?.scale)}class nOe extends Ai{static[Vt]="PgPointTupleBuilder";constructor(t){super(t,"array","PgPointTuple")}build(t){return new iOe(t,this.config)}}class iOe extends Tn{static[Vt]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(t){if(typeof t=="string"){const[r,n]=t.slice(1,-1).split(",");return[Number.parseFloat(r),Number.parseFloat(n)]}return[t.x,t.y]}mapToDriverValue(t){return`(${t[0]},${t[1]})`}}class aOe extends Ai{static[Vt]="PgPointObjectBuilder";constructor(t){super(t,"json","PgPointObject")}build(t){return new sOe(t,this.config)}}class sOe extends Tn{static[Vt]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(t){if(typeof t=="string"){const[r,n]=t.slice(1,-1).split(",");return{x:Number.parseFloat(r),y:Number.parseFloat(n)}}return t}mapToDriverValue(t){return`(${t.x},${t.y})`}}function oOe(e,t){const{name:r,config:n}=Mo(e,t);return!n?.mode||n.mode==="tuple"?new nOe(r):new aOe(r)}function lOe(e){const t=[];for(let r=0;rtypeof t=="string"?Number.parseFloat(t):t}function fa(e){return new mOe(e??"")}class gOe extends Ai{static[Vt]="PgSerialBuilder";constructor(t){super(t,"number","PgSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(t){return new AOe(t,this.config)}}class AOe extends Tn{static[Vt]="PgSerial";getSQLType(){return"serial"}}function xOe(e){return new gOe(e??"")}class vOe extends zE{static[Vt]="PgSmallIntBuilder";constructor(t){super(t,"number","PgSmallInt")}build(t){return new yOe(t,this.config)}}class yOe extends Tn{static[Vt]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=t=>typeof t=="string"?Number(t):t}function bOe(e){return new vOe(e??"")}class wOe extends Ai{static[Vt]="PgSmallSerialBuilder";constructor(t){super(t,"number","PgSmallSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(t){return new EOe(t,this.config)}}class EOe extends Tn{static[Vt]="PgSmallSerial";getSQLType(){return"smallserial"}}function COe(e){return new wOe(e??"")}class IOe extends Ai{static[Vt]="PgTextBuilder";constructor(t,r){super(t,"string","PgText"),this.config.enumValues=r.enum}build(t){return new jOe(t,this.config)}}class jOe extends Tn{static[Vt]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function _t(e,t={}){const{name:r,config:n}=Mo(e,t);return new IOe(r,n)}class NOe extends $y{constructor(t,r,n){super(t,"string","PgTime"),this.withTimezone=r,this.precision=n,this.config.withTimezone=r,this.config.precision=n}static[Vt]="PgTimeBuilder";build(t){return new SOe(t,this.config)}}class SOe extends Tn{static[Vt]="PgTime";withTimezone;precision;constructor(t,r){super(t,r),this.withTimezone=r.withTimezone,this.precision=r.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function BOe(e,t={}){const{name:r,config:n}=Mo(e,t);return new NOe(r,n.withTimezone??!1,n.precision)}class kOe extends $y{static[Vt]="PgTimestampBuilder";constructor(t,r,n){super(t,"date","PgTimestamp"),this.config.withTimezone=r,this.config.precision=n}build(t){return new _Oe(t,this.config)}}class _Oe extends Tn{static[Vt]="PgTimestamp";withTimezone;precision;constructor(t,r){super(t,r),this.withTimezone=r.withTimezone,this.precision=r.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(t){return typeof t=="string"?new Date(this.withTimezone?t:t+"+0000"):t}mapToDriverValue=t=>t.toISOString()}class DOe extends $y{static[Vt]="PgTimestampStringBuilder";constructor(t,r,n){super(t,"string","PgTimestampString"),this.config.withTimezone=r,this.config.precision=n}build(t){return new TOe(t,this.config)}}class TOe extends Tn{static[Vt]="PgTimestampString";withTimezone;precision;constructor(t,r){super(t,r),this.withTimezone=r.withTimezone,this.precision=r.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(t){if(typeof t=="string")return t;const r=t.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){const n=t.getTimezoneOffset(),i=n<=0?"+":"-";return`${r}${i}${Math.floor(Math.abs(n)/60).toString().padStart(2,"0")}`}return r}}function Mr(e,t={}){const{name:r,config:n}=Mo(e,t);return n?.mode==="string"?new DOe(r,n.withTimezone??!1,n.precision):new kOe(r,n?.withTimezone??!1,n?.precision)}class ROe extends Ai{static[Vt]="PgUUIDBuilder";constructor(t){super(t,"string","PgUUID")}defaultRandom(){return this.default(Mv`gen_random_uuid()`)}build(t){return new POe(t,this.config)}}class POe extends Tn{static[Vt]="PgUUID";getSQLType(){return"uuid"}}function QOe(e){return new ROe(e??"")}class FOe extends Ai{static[Vt]="PgVarcharBuilder";constructor(t,r){super(t,"string","PgVarchar"),this.config.length=r.length,this.config.enumValues=r.enum}build(t){return new OOe(t,this.config)}}class OOe extends Tn{static[Vt]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function ox(e,t={}){const{name:r,config:n}=Mo(e,t);return new FOe(r,n)}class LOe extends Ai{static[Vt]="PgBinaryVectorBuilder";constructor(t,r){super(t,"string","PgBinaryVector"),this.config.dimensions=r.dimensions}build(t){return new MOe(t,this.config)}}class MOe extends Tn{static[Vt]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function UOe(e,t){const{name:r,config:n}=Mo(e,t);return new LOe(r,n)}class zOe extends Ai{static[Vt]="PgHalfVectorBuilder";constructor(t,r){super(t,"array","PgHalfVector"),this.config.dimensions=r.dimensions}build(t){return new $Oe(t,this.config)}}class $Oe extends Tn{static[Vt]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(t){return JSON.stringify(t)}mapFromDriverValue(t){return t.slice(1,-1).split(",").map(r=>Number.parseFloat(r))}}function HOe(e,t){const{name:r,config:n}=Mo(e,t);return new zOe(r,n)}class qOe extends Ai{static[Vt]="PgSparseVectorBuilder";constructor(t,r){super(t,"string","PgSparseVector"),this.config.dimensions=r.dimensions}build(t){return new GOe(t,this.config)}}class GOe extends Tn{static[Vt]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function VOe(e,t){const{name:r,config:n}=Mo(e,t);return new qOe(r,n)}class WOe extends Ai{static[Vt]="PgVectorBuilder";constructor(t,r){super(t,"array","PgVector"),this.config.dimensions=r.dimensions}build(t){return new KOe(t,this.config)}}class KOe extends Tn{static[Vt]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(t){return JSON.stringify(t)}mapFromDriverValue(t){return t.slice(1,-1).split(",").map(r=>Number.parseFloat(r))}}function YOe(e,t){const{name:r,config:n}=Mo(e,t);return new WOe(r,n)}function ZOe(){return{bigint:rFe,bigserial:oFe,boolean:Ju,char:fFe,cidr:pFe,customType:xFe,date:Ng,doublePrecision:IFe,inet:SFe,integer:Nr,interval:TFe,json:QFe,jsonb:Lm,line:$Fe,macaddr:GFe,macaddr8:KFe,numeric:rOe,point:oOe,geometry:hOe,real:fa,serial:xOe,smallint:bOe,smallserial:COe,text:_t,time:BOe,timestamp:Mr,uuid:QOe,varchar:ox,bit:UOe,halfvec:HOe,sparsevec:VOe,vector:YOe}}const f6=Symbol.for("drizzle:PgInlineForeignKeys"),RF=Symbol.for("drizzle:EnableRLS");class PF extends _o{static[Vt]="PgTable";static Symbol=Object.assign({},_o.Symbol,{InlineForeignKeys:f6,EnableRLS:RF});[f6]=[];[RF]=!1;[_o.Symbol.ExtraConfigBuilder]=void 0;[_o.Symbol.ExtraConfigColumns]={}}function JOe(e,t,r,n,i=e){const s=new PF(e,n,i),o=typeof t=="function"?t(ZOe()):t,l=Object.fromEntries(Object.entries(o).map(([u,h])=>{const p=h;p.setName(u);const A=p.build(s);return s[f6].push(...p.buildForeignKeys(A,s)),[u,A]})),c=Object.fromEntries(Object.entries(o).map(([u,h])=>{const p=h;p.setName(u);const A=p.buildExtraConfigColumn(s);return[u,A]})),d=Object.assign(s,l);return d[_o.Symbol.Columns]=l,d[_o.Symbol.ExtraConfigColumns]=c,Object.assign(d,{enableRLS:()=>(d[PF.Symbol.EnableRLS]=!0,d)})}const La=(e,t,r)=>JOe(e,t,r,void 0),mZ=Object.freeze({status:"aborted"});function at(e,t,r){function n(l,c){if(l._zod||Object.defineProperty(l,"_zod",{value:{def:c,constr:o,traits:new Set},enumerable:!1}),l._zod.traits.has(e))return;l._zod.traits.add(e),t(l,c);const d=o.prototype,u=Object.keys(d);for(let h=0;hr?.Parent&&l instanceof r.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}const pZ=Symbol("zod_brand");class dg extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class $E extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Zw={};function _l(e){return e&&Object.assign(Zw,e),Zw}function XOe(e){return e}function eLe(e){return e}function tLe(e){}function rLe(e){throw new Error("Unexpected value in exhaustive check")}function nLe(e){}function L8(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function hr(e,t="|"){return e.map(r=>xn(r)).join(t)}function Jw(e,t){return typeof t=="bigint"?t.toString():t}function Hy(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Vg(e){return e==null}function HE(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function gZ(e,t){const r=(e.toString().split(".")[1]||"").length,n=t.toString();let i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){const c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}const s=r>i?r:i,o=Number.parseInt(e.toFixed(s).replace(".","")),l=Number.parseInt(t.toFixed(s).replace(".",""));return o%l/10**s}const QF=Symbol("evaluating");function ti(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==QF)return n===void 0&&(n=QF,n=r()),n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function iLe(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function ep(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function uh(...e){const t={};for(const r of e){const n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function aLe(e){return uh(e._zod.def)}function sLe(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function oLe(e){const t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{const i={};for(let s=0;s{};function B1(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const xZ=Hy(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Sg(e){if(B1(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(B1(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function qE(e){return Sg(e)?{...e}:Array.isArray(e)?[...e]:e}function cLe(e){let t=0;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}const uLe=e=>{const t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Xw=new Set(["string","number","symbol"]),vZ=new Set(["string","number","bigint","boolean","symbol","undefined"]);function th(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d0(e,t,r){const n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function Ut(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function dLe(e){let t;return new Proxy({},{get(r,n,i){return t??(t=e()),Reflect.get(t,n,i)},set(r,n,i,s){return t??(t=e()),Reflect.set(t,n,i,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,i){return t??(t=e()),Reflect.defineProperty(t,n,i)}})}function xn(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function yZ(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const bZ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},wZ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function EZ(e,t){const r=e._zod.def,n=uh(e._zod.def,{get shape(){const i={};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(i[s]=r.shape[s])}return ep(this,"shape",i),i},checks:[]});return d0(e,n)}function CZ(e,t){const r=e._zod.def,n=uh(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&delete i[s]}return ep(this,"shape",i),i},checks:[]});return d0(e,n)}function IZ(e,t){if(!Sg(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const i=uh(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t};return ep(this,"shape",s),s},checks:[]});return d0(e,i)}function jZ(e,t){if(!Sg(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r={...e._zod.def,get shape(){const n={...e._zod.def.shape,...t};return ep(this,"shape",n),n},checks:e._zod.def.checks};return d0(e,r)}function NZ(e,t){const r=uh(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return ep(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return d0(e,r)}function SZ(e,t,r){const n=uh(t._zod.def,{get shape(){const i=t._zod.def.shape,s={...i};if(r)for(const o in r){if(!(o in i))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(s[o]=e?new e({type:"optional",innerType:i[o]}):i[o])}else for(const o in i)s[o]=e?new e({type:"optional",innerType:i[o]}):i[o];return ep(this,"shape",s),s},checks:[]});return d0(t,n)}function BZ(e,t,r){const n=uh(t._zod.def,{get shape(){const i=t._zod.def.shape,s={...i};if(r)for(const o in r){if(!(o in s))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(s[o]=new e({type:"nonoptional",innerType:i[o]}))}else for(const o in i)s[o]=new e({type:"nonoptional",innerType:i[o]});return ep(this,"shape",s),s},checks:[]});return d0(t,n)}function ig(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function $x(e){return typeof e=="string"?e:e?.message}function o0(e,t,r){const n={...e,path:e.path??[]};if(!e.message){const i=$x(e.inst?._zod.def?.error?.(e))??$x(t?.error?.(e))??$x(r.customError?.(e))??$x(r.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function GE(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function VE(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function k1(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function fLe(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function kZ(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;nt.toString(16).padStart(2,"0")).join("")}class ALe{constructor(...t){}}const DZ=Object.freeze(Object.defineProperty({__proto__:null,BIGINT_FORMAT_RANGES:wZ,Class:ALe,NUMBER_FORMAT_RANGES:bZ,aborted:ig,allowsEval:xZ,assert:nLe,assertEqual:XOe,assertIs:tLe,assertNever:rLe,assertNotEqual:eLe,assignProp:ep,base64ToUint8Array:kZ,base64urlToUint8Array:hLe,cached:Hy,captureStackTrace:M8,cleanEnum:fLe,cleanRegex:HE,clone:d0,cloneDef:aLe,createTransparentProxy:dLe,defineLazy:ti,esc:h6,escapeRegex:th,extend:IZ,finalizeIssue:o0,floatSafeRemainder:gZ,getElementAtPath:sLe,getEnumValues:L8,getLengthableOrigin:VE,getParsedType:uLe,getSizableOrigin:GE,hexToUint8Array:pLe,isObject:B1,isPlainObject:Sg,issue:k1,joinValues:hr,jsonStringifyReplacer:Jw,merge:NZ,mergeDefs:uh,normalizeParams:Ut,nullish:Vg,numKeys:cLe,objectClone:iLe,omit:CZ,optionalKeys:yZ,partial:SZ,pick:EZ,prefixIssues:P0,primitiveTypes:vZ,promiseAllObject:oLe,propertyKeyTypes:Xw,randomString:lLe,required:BZ,safeExtend:jZ,shallowClone:qE,slugify:AZ,stringifyPrimitive:xn,uint8ArrayToBase64:_Z,uint8ArrayToBase64url:mLe,uint8ArrayToHex:gLe,unwrapMessage:$x},Symbol.toStringTag,{value:"Module"})),TZ=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Jw,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},U8=at("$ZodError",TZ),pu=at("$ZodError",TZ,{Parent:Error});function z8(e,t=r=>r.message){const r={},n=[];for(const i of e.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:r}}function $8(e,t=r=>r.message){const r={_errors:[]},n=i=>{for(const s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(o=>n({issues:o}));else if(s.code==="invalid_key")n({issues:s.issues});else if(s.code==="invalid_element")n({issues:s.issues});else if(s.path.length===0)r._errors.push(t(s));else{let o=r,l=0;for(;lr.message){const r={errors:[]},n=(i,s=[])=>{var o,l;for(const c of i.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(d=>n({issues:d},c.path));else if(c.code==="invalid_key")n({issues:c.issues},c.path);else if(c.code==="invalid_element")n({issues:c.issues},c.path);else{const d=[...s,...c.path];if(d.length===0){r.errors.push(t(c));continue}let u=r,h=0;for(;htypeof n=="object"?n.key:n);for(const n of r)typeof n=="number"?t.push(`[${n}]`):typeof n=="symbol"?t.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?t.push(`[${JSON.stringify(n)}]`):(t.length&&t.push("."),t.push(n));return t.join("")}function QZ(e){const t=[],r=[...e.issues].sort((n,i)=>(n.path??[]).length-(i.path??[]).length);for(const n of r)t.push(`✖ ${n.message}`),n.path?.length&&t.push(` → at ${PZ(n.path)}`);return t.join(` `)}const qy=e=>(t,r,n,i)=>{const s=n?Object.assign(n,{async:!1}):{async:!1},o=t._zod.run({value:r,issues:[]},s);if(o instanceof Promise)throw new dg;if(o.issues.length){const l=new(i?.Err??e)(o.issues.map(c=>o0(c,s,_l())));throw M8(l,i?.callee),l}return o.value},m6=qy(pu),Gy=e=>async(t,r,n,i)=>{const s=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:r,issues:[]},s);if(o instanceof Promise&&(o=await o),o.issues.length){const l=new(i?.Err??e)(o.issues.map(c=>o0(c,s,_l())));throw M8(l,i?.callee),l}return o.value},p6=Gy(pu),Vy=e=>(t,r,n)=>{const i=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new dg;return s.issues.length?{success:!1,error:new(e??U8)(s.issues.map(o=>o0(o,i,_l())))}:{success:!0,data:s.value}},FZ=Vy(pu),Wy=e=>async(t,r,n)=>{const i=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:r,issues:[]},i);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(o=>o0(o,i,_l())))}:{success:!0,data:s.value}},OZ=Wy(pu),H8=e=>(t,r,n)=>{const i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return qy(e)(t,r,i)},xLe=H8(pu),q8=e=>(t,r,n)=>qy(e)(t,r,n),vLe=q8(pu),G8=e=>async(t,r,n)=>{const i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Gy(e)(t,r,i)},yLe=G8(pu),V8=e=>async(t,r,n)=>Gy(e)(t,r,n),bLe=V8(pu),W8=e=>(t,r,n)=>{const i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Vy(e)(t,r,i)},wLe=W8(pu),K8=e=>(t,r,n)=>Vy(e)(t,r,n),ELe=K8(pu),Y8=e=>async(t,r,n)=>{const i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Wy(e)(t,r,i)},CLe=Y8(pu),Z8=e=>async(t,r,n)=>Wy(e)(t,r,n),ILe=Z8(pu),LZ=/^[cC][^\s-]{8,}$/,MZ=/^[0-9a-z]+$/,UZ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,zZ=/^[0-9a-vA-V]{20}$/,$Z=/^[A-Za-z0-9]{27}$/,HZ=/^[a-zA-Z0-9_-]{21}$/,qZ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,jLe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,GZ=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,_1=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,NLe=_1(4),SLe=_1(6),BLe=_1(7),VZ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,kLe=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,_Le=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,WZ=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,DLe=WZ,TLe=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,RLe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function KZ(){return new RegExp(RLe,"u")}const YZ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ZZ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,JZ=e=>{const t=th(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},XZ=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,eJ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,tJ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,J8=/^[A-Za-z0-9_-]*$/,rJ=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,nJ=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,iJ=/^\+(?:[0-9]){6,14}[0-9]$/,aJ="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",sJ=new RegExp(`^${aJ}$`);function oJ(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function lJ(e){return new RegExp(`^${oJ(e)}$`)}function cJ(e){const t=oJ({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${aJ}T(?:${n})$`)}const uJ=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},dJ=/^-?\d+n?$/,fJ=/^-?\d+$/,hJ=/^-?\d+(?:\.\d+)?/,mJ=/^(?:true|false)$/i,pJ=/^null$/i,gJ=/^undefined$/i,AJ=/^[^A-Z]*$/,xJ=/^[^a-z]*$/,vJ=/^[0-9a-fA-F]*$/;function Ky(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Yy(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}const PLe=/^[0-9a-fA-F]{32}$/,QLe=Ky(22,"=="),FLe=Yy(22),OLe=/^[0-9a-fA-F]{40}$/,LLe=Ky(27,"="),MLe=Yy(27),ULe=/^[0-9a-fA-F]{64}$/,zLe=Ky(43,"="),$Le=Yy(43),HLe=/^[0-9a-fA-F]{96}$/,qLe=Ky(64,""),GLe=Yy(64),VLe=/^[0-9a-fA-F]{128}$/,WLe=Ky(86,"=="),KLe=Yy(86),X8=Object.freeze(Object.defineProperty({__proto__:null,base64:tJ,base64url:J8,bigint:dJ,boolean:mJ,browserEmail:TLe,cidrv4:XZ,cidrv6:eJ,cuid:LZ,cuid2:MZ,date:sJ,datetime:cJ,domain:nJ,duration:qZ,e164:iJ,email:VZ,emoji:KZ,extendedDuration:jLe,guid:GZ,hex:vJ,hostname:rJ,html5Email:kLe,idnEmail:DLe,integer:fJ,ipv4:YZ,ipv6:ZZ,ksuid:$Z,lowercase:AJ,mac:JZ,md5_base64:QLe,md5_base64url:FLe,md5_hex:PLe,nanoid:HZ,null:pJ,number:hJ,rfc5322Email:_Le,sha1_base64:LLe,sha1_base64url:MLe,sha1_hex:OLe,sha256_base64:zLe,sha256_base64url:$Le,sha256_hex:ULe,sha384_base64:qLe,sha384_base64url:GLe,sha384_hex:HLe,sha512_base64:WLe,sha512_base64url:KLe,sha512_hex:VLe,string:uJ,time:lJ,ulid:UZ,undefined:gJ,unicodeEmail:WZ,uppercase:xJ,uuid:_1,uuid4:NLe,uuid6:SLe,uuid7:BLe,xid:zZ},Symbol.toStringTag,{value:"Module"})),Ja=at("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),yJ={number:"number",bigint:"bigint",object:"date"},ek=at("$ZodCheckLessThan",(e,t)=>{Ja.init(e,t);const r=yJ[typeof t.value];e._zod.onattach.push(n=>{const i=n._zod.bag,s=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value{(t.inclusive?n.value<=t.value:n.value{Ja.init(e,t);const r=yJ[typeof t.value];e._zod.onattach.push(n=>{const i=n._zod.bag,s=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),bJ=at("$ZodCheckMultipleOf",(e,t)=>{Ja.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):gZ(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),wJ=at("$ZodCheckNumberFormat",(e,t)=>{Ja.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),n=r?"int":"number",[i,s]=bZ[t.format];e._zod.onattach.push(o=>{const l=o._zod.bag;l.format=t.format,l.minimum=i,l.maximum=s,r&&(l.pattern=fJ)}),e._zod.check=o=>{const l=o.value;if(r){if(!Number.isInteger(l)){o.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?o.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):o.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}ls&&o.issues.push({origin:"number",input:l,code:"too_big",maximum:s,inst:e})}}),EJ=at("$ZodCheckBigIntFormat",(e,t)=>{Ja.init(e,t);const[r,n]=wZ[t.format];e._zod.onattach.push(i=>{const s=i._zod.bag;s.format=t.format,s.minimum=r,s.maximum=n}),e._zod.check=i=>{const s=i.value;sn&&i.issues.push({origin:"bigint",input:s,code:"too_big",maximum:n,inst:e})}}),CJ=at("$ZodCheckMaxSize",(e,t)=>{var r;Ja.init(e,t),(r=e._zod.def).when??(r.when=n=>{const i=n.value;return!Vg(i)&&i.size!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum{const i=n.value;i.size<=t.maximum||n.issues.push({origin:GE(i),code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),IJ=at("$ZodCheckMinSize",(e,t)=>{var r;Ja.init(e,t),(r=e._zod.def).when??(r.when=n=>{const i=n.value;return!Vg(i)&&i.size!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const i=n.value;i.size>=t.minimum||n.issues.push({origin:GE(i),code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),jJ=at("$ZodCheckSizeEquals",(e,t)=>{var r;Ja.init(e,t),(r=e._zod.def).when??(r.when=n=>{const i=n.value;return!Vg(i)&&i.size!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag;i.minimum=t.size,i.maximum=t.size,i.size=t.size}),e._zod.check=n=>{const i=n.value,s=i.size;if(s===t.size)return;const o=s>t.size;n.issues.push({origin:GE(i),...o?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),NJ=at("$ZodCheckMaxLength",(e,t)=>{var r;Ja.init(e,t),(r=e._zod.def).when??(r.when=n=>{const i=n.value;return!Vg(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum{const i=n.value;if(i.length<=t.maximum)return;const o=VE(i);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),SJ=at("$ZodCheckMinLength",(e,t)=>{var r;Ja.init(e,t),(r=e._zod.def).when??(r.when=n=>{const i=n.value;return!Vg(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const i=n.value;if(i.length>=t.minimum)return;const o=VE(i);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),BJ=at("$ZodCheckLengthEquals",(e,t)=>{var r;Ja.init(e,t),(r=e._zod.def).when??(r.when=n=>{const i=n.value;return!Vg(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{const i=n.value,s=i.length;if(s===t.length)return;const o=VE(i),l=s>t.length;n.issues.push({origin:o,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Zy=at("$ZodCheckStringFormat",(e,t)=>{var r,n;Ja.init(e,t),e._zod.onattach.push(i=>{const s=i._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),kJ=at("$ZodCheckRegex",(e,t)=>{Zy.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),_J=at("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=AJ),Zy.init(e,t)}),DJ=at("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=xJ),Zy.init(e,t)}),TJ=at("$ZodCheckIncludes",(e,t)=>{Ja.init(e,t);const r=th(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),RJ=at("$ZodCheckStartsWith",(e,t)=>{Ja.init(e,t);const r=new RegExp(`^${th(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),PJ=at("$ZodCheckEndsWith",(e,t)=>{Ja.init(e,t);const r=new RegExp(`.*${th(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});function FF(e,t,r){e.issues.length&&t.issues.push(...P0(r,e.issues))}const QJ=at("$ZodCheckProperty",(e,t)=>{Ja.init(e,t),e._zod.check=r=>{const n=t.schema._zod.run({value:r.value[t.property],issues:[]},{});if(n instanceof Promise)return n.then(i=>FF(i,r,t.property));FF(n,r,t.property)}}),FJ=at("$ZodCheckMimeType",(e,t)=>{Ja.init(e,t);const r=new Set(t.mime);e._zod.onattach.push(n=>{n._zod.bag.mime=t.mime}),e._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:t.mime,input:n.value.type,inst:e,continue:!t.abort})}}),OJ=at("$ZodCheckOverwrite",(e,t)=>{Ja.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class LJ{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(` `).filter(o=>o),i=Math.min(...n.map(o=>o.length-o.trimStart().length)),s=n.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(const o of s)this.content.push(o)}compile(){const t=Function,r=this?.args,i=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...r,i.join(` `))}}const MJ={major:4,minor:2,patch:1},Dn=at("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=MJ;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const i of n)for(const s of i._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const i=(o,l,c)=>{let d=ig(o),u;for(const h of l){if(h._zod.def.when){if(!h._zod.def.when(o))continue}else if(d)continue;const p=o.issues.length,A=h._zod.check(o);if(A instanceof Promise&&c?.async===!1)throw new dg;if(u||A instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await A,o.issues.length!==p&&(d||(d=ig(o,p)))});else{if(o.issues.length===p)continue;d||(d=ig(o,p))}}return u?u.then(()=>o):o},s=(o,l,c)=>{if(ig(o))return o.aborted=!0,o;const d=i(l,n,c);if(d instanceof Promise){if(c.async===!1)throw new dg;return d.then(u=>e._zod.parse(u,c))}return e._zod.parse(d,c)};e._zod.run=(o,l)=>{if(l.skipChecks)return e._zod.parse(o,l);if(l.direction==="backward"){const d=e._zod.parse({value:o.value,issues:[]},{...l,skipChecks:!0});return d instanceof Promise?d.then(u=>s(u,o,l)):s(d,o,l)}const c=e._zod.parse(o,l);if(c instanceof Promise){if(l.async===!1)throw new dg;return c.then(d=>i(d,n,l))}return i(c,n,l)}}e["~standard"]={validate:i=>{try{const s=FZ(e,i);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return OZ(e,i).then(o=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}}),Jy=at("$ZodString",(e,t)=>{Dn.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??uJ(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),ga=at("$ZodStringFormat",(e,t)=>{Zy.init(e,t),Jy.init(e,t)}),UJ=at("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=GZ),ga.init(e,t)}),zJ=at("$ZodUUID",(e,t)=>{if(t.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=_1(n))}else t.pattern??(t.pattern=_1());ga.init(e,t)}),$J=at("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=VZ),ga.init(e,t)}),HJ=at("$ZodURL",(e,t)=>{ga.init(e,t),e._zod.check=r=>{try{const n=r.value.trim(),i=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=i.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),qJ=at("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=KZ()),ga.init(e,t)}),GJ=at("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=HZ),ga.init(e,t)}),VJ=at("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=LZ),ga.init(e,t)}),WJ=at("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=MZ),ga.init(e,t)}),KJ=at("$ZodULID",(e,t)=>{t.pattern??(t.pattern=UZ),ga.init(e,t)}),YJ=at("$ZodXID",(e,t)=>{t.pattern??(t.pattern=zZ),ga.init(e,t)}),ZJ=at("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=$Z),ga.init(e,t)}),JJ=at("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=cJ(t)),ga.init(e,t)}),XJ=at("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=sJ),ga.init(e,t)}),eX=at("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=lJ(t)),ga.init(e,t)}),tX=at("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=qZ),ga.init(e,t)}),rX=at("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=YZ),ga.init(e,t),e._zod.bag.format="ipv4"}),nX=at("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ZZ),ga.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),iX=at("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=JZ(t.delimiter)),ga.init(e,t),e._zod.bag.format="mac"}),aX=at("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=XZ),ga.init(e,t)}),sX=at("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=eJ),ga.init(e,t),e._zod.check=r=>{const n=r.value.split("/");try{if(n.length!==2)throw new Error;const[i,s]=n;if(!s)throw new Error;const o=Number(s);if(`${o}`!==s)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${i}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function rk(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const oX=at("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=tJ),ga.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{rk(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function lX(e){if(!J8.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return rk(r)}const cX=at("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=J8),ga.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{lX(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),uX=at("$ZodE164",(e,t)=>{t.pattern??(t.pattern=iJ),ga.init(e,t)});function dX(e,t=null){try{const r=e.split(".");if(r.length!==3)return!1;const[n]=r;if(!n)return!1;const i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}}const fX=at("$ZodJWT",(e,t)=>{ga.init(e,t),e._zod.check=r=>{dX(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),hX=at("$ZodCustomStringFormat",(e,t)=>{ga.init(e,t),e._zod.check=r=>{t.fn(r.value)||r.issues.push({code:"invalid_format",format:t.format,input:r.value,inst:e,continue:!t.abort})}}),nk=at("$ZodNumber",(e,t)=>{Dn.init(e,t),e._zod.pattern=e._zod.bag.pattern??hJ,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;const s=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...s?{received:s}:{}}),r}}),mX=at("$ZodNumberFormat",(e,t)=>{wJ.init(e,t),nk.init(e,t)}),ik=at("$ZodBoolean",(e,t)=>{Dn.init(e,t),e._zod.pattern=mJ,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}const i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),r}}),ak=at("$ZodBigInt",(e,t)=>{Dn.init(e,t),e._zod.pattern=dJ,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:e}),r}}),pX=at("$ZodBigIntFormat",(e,t)=>{EJ.init(e,t),ak.init(e,t)}),gX=at("$ZodSymbol",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value;return typeof i=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:i,inst:e}),r}}),AX=at("$ZodUndefined",(e,t)=>{Dn.init(e,t),e._zod.pattern=gJ,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,n)=>{const i=r.value;return typeof i>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:e}),r}}),xX=at("$ZodNull",(e,t)=>{Dn.init(e,t),e._zod.pattern=pJ,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{const i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),r}}),vX=at("$ZodAny",(e,t)=>{Dn.init(e,t),e._zod.parse=r=>r}),yX=at("$ZodUnknown",(e,t)=>{Dn.init(e,t),e._zod.parse=r=>r}),bX=at("$ZodNever",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)}),wX=at("$ZodVoid",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value;return typeof i>"u"||r.issues.push({expected:"void",code:"invalid_type",input:i,inst:e}),r}}),EX=at("$ZodDate",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=new Date(r.value)}catch{}const i=r.value,s=i instanceof Date;return s&&!Number.isNaN(i.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:i,...s?{received:"Invalid Date"}:{},inst:e}),r}});function OF(e,t,r){e.issues.length&&t.issues.push(...P0(r,e.issues)),t.value[r]=e.value}const CX=at("$ZodArray",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=Array(i.length);const s=[];for(let o=0;oOF(d,r,o))):OF(c,r,o)}return s.length?Promise.all(s).then(()=>r):r}});function e4(e,t,r,n){e.issues.length&&t.issues.push(...P0(r,e.issues)),e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function IX(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);const r=yZ(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function jX(e,t,r,n,i,s){const o=[],l=i.keySet,c=i.catchall._zod,d=c.def.type;for(const u in t){if(l.has(u))continue;if(d==="never"){o.push(u);continue}const h=c.run({value:t[u],issues:[]},n);h instanceof Promise?e.push(h.then(p=>e4(p,r,u,t))):e4(h,r,u,t)}return o.length&&r.issues.push({code:"unrecognized_keys",keys:o,input:t,inst:s}),e.length?Promise.all(e).then(()=>r):r}const NX=at("$ZodObject",(e,t)=>{if(Dn.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const l=t.shape;Object.defineProperty(t,"shape",{get:()=>{const c={...l};return Object.defineProperty(t,"shape",{value:c}),c}})}const n=Hy(()=>IX(t));ti(e._zod,"propValues",()=>{const l=t.shape,c={};for(const d in l){const u=l[d]._zod;if(u.values){c[d]??(c[d]=new Set);for(const h of u.values)c[d].add(h)}}return c});const i=B1,s=t.catchall;let o;e._zod.parse=(l,c)=>{o??(o=n.value);const d=l.value;if(!i(d))return l.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),l;l.value={};const u=[],h=o.shape;for(const p of o.keys){const y=h[p]._zod.run({value:d[p],issues:[]},c);y instanceof Promise?u.push(y.then(v=>e4(v,l,p,d))):e4(y,l,p,d)}return s?jX(u,d,l,c,n.value,e):u.length?Promise.all(u).then(()=>l):l}}),SX=at("$ZodObjectJIT",(e,t)=>{NX.init(e,t);const r=e._zod.parse,n=Hy(()=>IX(t)),i=p=>{const A=new LJ(["shape","payload","ctx"]),y=n.value,v=S=>{const _=h6(S);return`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`};A.write("const input = payload.value;");const w=Object.create(null);let j=0;for(const S of y.keys)w[S]=`key_${j++}`;A.write("const newResult = {};");for(const S of y.keys){const _=w[S],C=h6(S);A.write(`const ${_} = ${v(S)};`),A.write(` if (${_}.issues.length) { payload.issues = payload.issues.concat(${_}.issues.map(iss => ({ ...iss, path: iss.path ? [${C}, ...iss.path] : [${C}] }))); } if (${_}.value === undefined) { if (${C} in input) { newResult[${C}] = undefined; } } else { newResult[${C}] = ${_}.value; } `)}A.write("payload.value = newResult;"),A.write("return payload;");const E=A.compile();return(S,_)=>E(p,S,_)};let s;const o=B1,l=!Zw.jitless,d=l&&xZ.value,u=t.catchall;let h;e._zod.parse=(p,A)=>{h??(h=n.value);const y=p.value;return o(y)?l&&d&&A?.async===!1&&A.jitless!==!0?(s||(s=i(t.shape)),p=s(p,A),u?jX([],y,p,A,h,e):p):r(p,A):(p.issues.push({expected:"object",code:"invalid_type",input:y,inst:e}),p)}});function LF(e,t,r,n){for(const s of e)if(s.issues.length===0)return t.value=s.value,t;const i=e.filter(s=>!ig(s));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(s=>s.issues.map(o=>o0(o,n,_l())))}),t)}const WE=at("$ZodUnion",(e,t)=>{Dn.init(e,t),ti(e._zod,"optin",()=>t.options.some(i=>i._zod.optin==="optional")?"optional":void 0),ti(e._zod,"optout",()=>t.options.some(i=>i._zod.optout==="optional")?"optional":void 0),ti(e._zod,"values",()=>{if(t.options.every(i=>i._zod.values))return new Set(t.options.flatMap(i=>Array.from(i._zod.values)))}),ti(e._zod,"pattern",()=>{if(t.options.every(i=>i._zod.pattern)){const i=t.options.map(s=>s._zod.pattern);return new RegExp(`^(${i.map(s=>HE(s.source)).join("|")})$`)}});const r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(i,s)=>{if(r)return n(i,s);let o=!1;const l=[];for(const c of t.options){const d=c._zod.run({value:i.value,issues:[]},s);if(d instanceof Promise)l.push(d),o=!0;else{if(d.issues.length===0)return d;l.push(d)}}return o?Promise.all(l).then(c=>LF(c,i,e,s)):LF(l,i,e,s)}});function MF(e,t,r,n){const i=e.filter(s=>s.issues.length===0);return i.length===1?(t.value=i[0].value,t):(i.length===0?t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(s=>s.issues.map(o=>o0(o,n,_l())))}):t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:[],inclusive:!1}),t)}const BX=at("$ZodXor",(e,t)=>{WE.init(e,t),t.inclusive=!1;const r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(i,s)=>{if(r)return n(i,s);let o=!1;const l=[];for(const c of t.options){const d=c._zod.run({value:i.value,issues:[]},s);d instanceof Promise?(l.push(d),o=!0):l.push(d)}return o?Promise.all(l).then(c=>MF(c,i,e,s)):MF(l,i,e,s)}}),kX=at("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,WE.init(e,t);const r=e._zod.parse;ti(e._zod,"propValues",()=>{const i={};for(const s of t.options){const o=s._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(const[l,c]of Object.entries(o)){i[l]||(i[l]=new Set);for(const d of c)i[l].add(d)}}return i});const n=Hy(()=>{const i=t.options,s=new Map;for(const o of i){const l=o._zod.propValues?.[t.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const c of l){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,o)}}return s});e._zod.parse=(i,s)=>{const o=i.value;if(!B1(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:e}),i;const l=n.value.get(o?.[t.discriminator]);return l?l._zod.run(i,s):t.unionFallback?r(i,s):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)}}),_X=at("$ZodIntersection",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value,s=t.left._zod.run({value:i,issues:[]},n),o=t.right._zod.run({value:i,issues:[]},n);return s instanceof Promise||o instanceof Promise?Promise.all([s,o]).then(([c,d])=>UF(r,c,d)):UF(r,s,o)}});function g6(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Sg(e)&&Sg(t)){const r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),i={...e,...t};for(const s of n){const o=g6(e[s],t[s]);if(!o.valid)return{valid:!1,mergeErrorPath:[s,...o.mergeErrorPath]};i[s]=o.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n{Dn.init(e,t);const r=t.items;e._zod.parse=(n,i)=>{const s=n.value;if(!Array.isArray(s))return n.issues.push({input:s,inst:e,expected:"tuple",code:"invalid_type"}),n;n.value=[];const o=[],l=[...r].reverse().findIndex(u=>u._zod.optin!=="optional"),c=l===-1?0:r.length-l;if(!t.rest){const u=s.length>r.length,h=s.length=s.length&&d>=c)continue;const h=u._zod.run({value:s[d],issues:[]},i);h instanceof Promise?o.push(h.then(p=>Ob(p,n,d))):Ob(h,n,d)}if(t.rest){const u=s.slice(r.length);for(const h of u){d++;const p=t.rest._zod.run({value:h,issues:[]},i);p instanceof Promise?o.push(p.then(A=>Ob(A,n,d))):Ob(p,n,d)}}return o.length?Promise.all(o).then(()=>n):n}});function Ob(e,t,r){e.issues.length&&t.issues.push(...P0(r,e.issues)),t.value[r]=e.value}const DX=at("$ZodRecord",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value;if(!Sg(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),r;const s=[],o=t.keyType._zod.values;if(o){r.value={};const l=new Set;for(const d of o)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){l.add(typeof d=="number"?d.toString():d);const u=t.valueType._zod.run({value:i[d],issues:[]},n);u instanceof Promise?s.push(u.then(h=>{h.issues.length&&r.issues.push(...P0(d,h.issues)),r.value[d]=h.value})):(u.issues.length&&r.issues.push(...P0(d,u.issues)),r.value[d]=u.value)}let c;for(const d in i)l.has(d)||(c=c??[],c.push(d));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:c})}else{r.value={};for(const l of Reflect.ownKeys(i)){if(l==="__proto__")continue;const c=t.keyType._zod.run({value:l,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(c.issues.length){t.mode==="loose"?r.value[l]=i[l]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(u=>o0(u,n,_l())),input:l,path:[l],inst:e});continue}const d=t.valueType._zod.run({value:i[l],issues:[]},n);d instanceof Promise?s.push(d.then(u=>{u.issues.length&&r.issues.push(...P0(l,u.issues)),r.value[c.value]=u.value})):(d.issues.length&&r.issues.push(...P0(l,d.issues)),r.value[c.value]=d.value)}}return s.length?Promise.all(s).then(()=>r):r}}),TX=at("$ZodMap",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value;if(!(i instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:i,inst:e}),r;const s=[];r.value=new Map;for(const[o,l]of i){const c=t.keyType._zod.run({value:o,issues:[]},n),d=t.valueType._zod.run({value:l,issues:[]},n);c instanceof Promise||d instanceof Promise?s.push(Promise.all([c,d]).then(([u,h])=>{zF(u,h,r,o,i,e,n)})):zF(c,d,r,o,i,e,n)}return s.length?Promise.all(s).then(()=>r):r}});function zF(e,t,r,n,i,s,o){e.issues.length&&(Xw.has(typeof n)?r.issues.push(...P0(n,e.issues)):r.issues.push({code:"invalid_key",origin:"map",input:i,inst:s,issues:e.issues.map(l=>o0(l,o,_l()))})),t.issues.length&&(Xw.has(typeof n)?r.issues.push(...P0(n,t.issues)):r.issues.push({origin:"map",code:"invalid_element",input:i,inst:s,key:n,issues:t.issues.map(l=>o0(l,o,_l()))})),r.value.set(e.value,t.value)}const RX=at("$ZodSet",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value;if(!(i instanceof Set))return r.issues.push({input:i,inst:e,expected:"set",code:"invalid_type"}),r;const s=[];r.value=new Set;for(const o of i){const l=t.valueType._zod.run({value:o,issues:[]},n);l instanceof Promise?s.push(l.then(c=>$F(c,r))):$F(l,r)}return s.length?Promise.all(s).then(()=>r):r}});function $F(e,t){e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)}const PX=at("$ZodEnum",(e,t)=>{Dn.init(e,t);const r=L8(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(i=>Xw.has(typeof i)).map(i=>typeof i=="string"?th(i):i.toString()).join("|")})$`),e._zod.parse=(i,s)=>{const o=i.value;return n.has(o)||i.issues.push({code:"invalid_value",values:r,input:o,inst:e}),i}}),QX=at("$ZodLiteral",(e,t)=>{if(Dn.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?th(n):n?th(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,i)=>{const s=n.value;return r.has(s)||n.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),n}}),FX=at("$ZodFile",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{const i=r.value;return i instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:i,inst:e}),r}}),OX=at("$ZodTransform",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new $E(e.constructor.name);const i=t.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(r.value=o,r));if(i instanceof Promise)throw new dg;return r.value=i,r}});function HF(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const LX=at("$ZodOptional",(e,t)=>{Dn.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ti(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ti(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${HE(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){const i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(s=>HF(s,r.value)):HF(i,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),MX=at("$ZodNullable",(e,t)=>{Dn.init(e,t),ti(e._zod,"optin",()=>t.innerType._zod.optin),ti(e._zod,"optout",()=>t.innerType._zod.optout),ti(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${HE(r.source)}|null)$`):void 0}),ti(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),UX=at("$ZodDefault",(e,t)=>{Dn.init(e,t),e._zod.optin="optional",ti(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;const i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(s=>qF(s,t)):qF(i,t)}});function qF(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const zX=at("$ZodPrefault",(e,t)=>{Dn.init(e,t),e._zod.optin="optional",ti(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),$X=at("$ZodNonOptional",(e,t)=>{Dn.init(e,t),ti(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{const i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(s=>GF(s,e)):GF(i,e)}});function GF(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const HX=at("$ZodSuccess",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new $E("ZodSuccess");const i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(s=>(r.value=s.issues.length===0,r)):(r.value=i.issues.length===0,r)}}),qX=at("$ZodCatch",(e,t)=>{Dn.init(e,t),ti(e._zod,"optin",()=>t.innerType._zod.optin),ti(e._zod,"optout",()=>t.innerType._zod.optout),ti(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(o=>o0(o,n,_l()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>o0(s,n,_l()))},input:r.value}),r.issues=[]),r)}}),GX=at("$ZodNaN",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:e,expected:"nan",code:"invalid_type"}),r)}),VX=at("$ZodPipe",(e,t)=>{Dn.init(e,t),ti(e._zod,"values",()=>t.in._zod.values),ti(e._zod,"optin",()=>t.in._zod.optin),ti(e._zod,"optout",()=>t.out._zod.optout),ti(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){const s=t.out._zod.run(r,n);return s instanceof Promise?s.then(o=>Lb(o,t.in,n)):Lb(s,t.in,n)}const i=t.in._zod.run(r,n);return i instanceof Promise?i.then(s=>Lb(s,t.out,n)):Lb(i,t.out,n)}});function Lb(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const ok=at("$ZodCodec",(e,t)=>{Dn.init(e,t),ti(e._zod,"values",()=>t.in._zod.values),ti(e._zod,"optin",()=>t.in._zod.optin),ti(e._zod,"optout",()=>t.out._zod.optout),ti(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){const s=t.in._zod.run(r,n);return s instanceof Promise?s.then(o=>Mb(o,t,n)):Mb(s,t,n)}else{const s=t.out._zod.run(r,n);return s instanceof Promise?s.then(o=>Mb(o,t,n)):Mb(s,t,n)}}});function Mb(e,t,r){if(e.issues.length)return e.aborted=!0,e;if((r.direction||"forward")==="forward"){const i=t.transform(e.value,e);return i instanceof Promise?i.then(s=>Ub(e,s,t.out,r)):Ub(e,i,t.out,r)}else{const i=t.reverseTransform(e.value,e);return i instanceof Promise?i.then(s=>Ub(e,s,t.in,r)):Ub(e,i,t.in,r)}}function Ub(e,t,r,n){return e.issues.length?(e.aborted=!0,e):r._zod.run({value:t,issues:e.issues},n)}const WX=at("$ZodReadonly",(e,t)=>{Dn.init(e,t),ti(e._zod,"propValues",()=>t.innerType._zod.propValues),ti(e._zod,"values",()=>t.innerType._zod.values),ti(e._zod,"optin",()=>t.innerType?._zod?.optin),ti(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(VF):VF(i)}});function VF(e){return e.value=Object.freeze(e.value),e}const KX=at("$ZodTemplateLiteral",(e,t)=>{Dn.init(e,t);const r=[];for(const n of t.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);const i=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!i)throw new Error(`Invalid template literal part: ${n._zod.traits}`);const s=i.startsWith("^")?1:0,o=i.endsWith("$")?i.length-1:i.length;r.push(i.slice(s,o))}else if(n===null||vZ.has(typeof n))r.push(th(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);e._zod.pattern=new RegExp(`^${r.join("")}$`),e._zod.parse=(n,i)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:e,expected:"template_literal",code:"invalid_type"}),n):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),n)}),YX=at("$ZodFunction",(e,t)=>(Dn.init(e,t),e._def=t,e._zod.def=t,e.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){const i=e._def.input?m6(e._def.input,n):n,s=Reflect.apply(r,this,i);return e._def.output?m6(e._def.output,s):s}},e.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){const i=e._def.input?await p6(e._def.input,n):n,s=await Reflect.apply(r,this,i);return e._def.output?await p6(e._def.output,s):s}},e._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:e}),r):(e._def.output&&e._def.output._zod.def.type==="promise"?r.value=e.implementAsync(r.value):r.value=e.implement(r.value),r),e.input=(...r)=>{const n=e.constructor;return Array.isArray(r[0])?new n({type:"function",input:new sk({type:"tuple",items:r[0],rest:r[1]}),output:e._def.output}):new n({type:"function",input:r[0],output:e._def.output})},e.output=r=>{const n=e.constructor;return new n({type:"function",input:e._def.input,output:r})},e)),ZX=at("$ZodPromise",(e,t)=>{Dn.init(e,t),e._zod.parse=(r,n)=>Promise.resolve(r.value).then(i=>t.innerType._zod.run({value:i,issues:[]},n))}),JX=at("$ZodLazy",(e,t)=>{Dn.init(e,t),ti(e._zod,"innerType",()=>t.getter()),ti(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),ti(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),ti(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),ti(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),XX=at("$ZodCustom",(e,t)=>{Ja.init(e,t),Dn.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{const n=r.value,i=t.fn(n);if(i instanceof Promise)return i.then(s=>WF(s,r,n,e));WF(i,r,n,e)}});function WF(e,t,r,n){if(!e){const i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),t.issues.push(k1(i))}}const YLe=()=>{const e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"};return i=>{switch(i.code){case"invalid_type":return`مدخلات غير مقبولة: يفترض إدخال ${i.expected}، ولكن تم إدخال ${r(i.input)}`;case"invalid_value":return i.values.length===1?`مدخلات غير مقبولة: يفترض إدخال ${xn(i.values[0])}`:`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?` أكبر من اللازم: يفترض أن تكون ${i.origin??"القيمة"} ${s} ${i.maximum.toString()} ${o.unit??"عنصر"}`:`أكبر من اللازم: يفترض أن تكون ${i.origin??"القيمة"} ${s} ${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`أصغر من اللازم: يفترض لـ ${i.origin} أن يكون ${s} ${i.minimum.toString()} ${o.unit}`:`أصغر من اللازم: يفترض لـ ${i.origin} أن يكون ${s} ${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`نَص غير مقبول: يجب أن يبدأ بـ "${i.prefix}"`:s.format==="ends_with"?`نَص غير مقبول: يجب أن ينتهي بـ "${s.suffix}"`:s.format==="includes"?`نَص غير مقبول: يجب أن يتضمَّن "${s.includes}"`:s.format==="regex"?`نَص غير مقبول: يجب أن يطابق النمط ${s.pattern}`:`${n[s.format]??i.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${i.divisor}`;case"unrecognized_keys":return`معرف${i.keys.length>1?"ات":""} غريب${i.keys.length>1?"ة":""}: ${hr(i.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${i.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${i.origin}`;default:return"مدخل غير مقبول"}}};function ZLe(){return{localeError:YLe()}}const JLe=()=>{const e={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return i=>{switch(i.code){case"invalid_type":return`Yanlış dəyər: gözlənilən ${i.expected}, daxil olan ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Yanlış dəyər: gözlənilən ${xn(i.values[0])}`:`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Çox böyük: gözlənilən ${i.origin??"dəyər"} ${s}${i.maximum.toString()} ${o.unit??"element"}`:`Çox böyük: gözlənilən ${i.origin??"dəyər"} ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Çox kiçik: gözlənilən ${i.origin} ${s}${i.minimum.toString()} ${o.unit}`:`Çox kiçik: gözlənilən ${i.origin} ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Yanlış mətn: "${s.prefix}" ilə başlamalıdır`:s.format==="ends_with"?`Yanlış mətn: "${s.suffix}" ilə bitməlidir`:s.format==="includes"?`Yanlış mətn: "${s.includes}" daxil olmalıdır`:s.format==="regex"?`Yanlış mətn: ${s.pattern} şablonuna uyğun olmalıdır`:`Yanlış ${n[s.format]??i.format}`}case"not_multiple_of":return`Yanlış ədəd: ${i.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${i.keys.length>1?"lar":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`${i.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${i.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};function XLe(){return{localeError:JLe()}}function KF(e,t,r,n){const i=Math.abs(e),s=i%10,o=i%100;return o>=11&&o<=19?n:s===1?t:s>=2&&s<=4?r:n}const eMe=()=>{const e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"лік";case"object":{if(Array.isArray(i))return"масіў";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"};return i=>{switch(i.code){case"invalid_type":return`Няправільны ўвод: чакаўся ${i.expected}, атрымана ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Няправільны ўвод: чакалася ${xn(i.values[0])}`:`Няправільны варыянт: чакаўся адзін з ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);if(o){const l=Number(i.maximum),c=KF(l,o.unit.one,o.unit.few,o.unit.many);return`Занадта вялікі: чакалася, што ${i.origin??"значэнне"} павінна ${o.verb} ${s}${i.maximum.toString()} ${c}`}return`Занадта вялікі: чакалася, што ${i.origin??"значэнне"} павінна быць ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);if(o){const l=Number(i.minimum),c=KF(l,o.unit.one,o.unit.few,o.unit.many);return`Занадта малы: чакалася, што ${i.origin} павінна ${o.verb} ${s}${i.minimum.toString()} ${c}`}return`Занадта малы: чакалася, што ${i.origin} павінна быць ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Няправільны радок: павінен пачынацца з "${s.prefix}"`:s.format==="ends_with"?`Няправільны радок: павінен заканчвацца на "${s.suffix}"`:s.format==="includes"?`Няправільны радок: павінен змяшчаць "${s.includes}"`:s.format==="regex"?`Няправільны радок: павінен адпавядаць шаблону ${s.pattern}`:`Няправільны ${n[s.format]??i.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${i.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${i.keys.length>1?"ключы":"ключ"}: ${hr(i.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${i.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${i.origin}`;default:return"Няправільны ўвод"}}};function tMe(){return{localeError:eMe()}}const rMe=e=>{const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"число";case"object":{if(Array.isArray(e))return"масив";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},nMe=()=>{const e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function t(n){return e[n]??null}const r={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"};return n=>{switch(n.code){case"invalid_type":return`Невалиден вход: очакван ${n.expected}, получен ${rMe(n.input)}`;case"invalid_value":return n.values.length===1?`Невалиден вход: очакван ${xn(n.values[0])}`:`Невалидна опция: очаквано едно от ${hr(n.values,"|")}`;case"too_big":{const i=n.inclusive?"<=":"<",s=t(n.origin);return s?`Твърде голямо: очаква се ${n.origin??"стойност"} да съдържа ${i}${n.maximum.toString()} ${s.unit??"елемента"}`:`Твърде голямо: очаква се ${n.origin??"стойност"} да бъде ${i}${n.maximum.toString()}`}case"too_small":{const i=n.inclusive?">=":">",s=t(n.origin);return s?`Твърде малко: очаква се ${n.origin} да съдържа ${i}${n.minimum.toString()} ${s.unit}`:`Твърде малко: очаква се ${n.origin} да бъде ${i}${n.minimum.toString()}`}case"invalid_format":{const i=n;if(i.format==="starts_with")return`Невалиден низ: трябва да започва с "${i.prefix}"`;if(i.format==="ends_with")return`Невалиден низ: трябва да завършва с "${i.suffix}"`;if(i.format==="includes")return`Невалиден низ: трябва да включва "${i.includes}"`;if(i.format==="regex")return`Невалиден низ: трябва да съвпада с ${i.pattern}`;let s="Невалиден";return i.format==="emoji"&&(s="Невалидно"),i.format==="datetime"&&(s="Невалидно"),i.format==="date"&&(s="Невалидна"),i.format==="time"&&(s="Невалидно"),i.format==="duration"&&(s="Невалидна"),`${s} ${r[i.format]??n.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${n.divisor}`;case"unrecognized_keys":return`Неразпознат${n.keys.length>1?"и":""} ключ${n.keys.length>1?"ове":""}: ${hr(n.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${n.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${n.origin}`;default:return"Невалиден вход"}}};function iMe(){return{localeError:nMe()}}const aMe=()=>{const e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return i=>{switch(i.code){case"invalid_type":return`Tipus invàlid: s'esperava ${i.expected}, s'ha rebut ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Valor invàlid: s'esperava ${xn(i.values[0])}`:`Opció invàlida: s'esperava una de ${hr(i.values," o ")}`;case"too_big":{const s=i.inclusive?"com a màxim":"menys de",o=t(i.origin);return o?`Massa gran: s'esperava que ${i.origin??"el valor"} contingués ${s} ${i.maximum.toString()} ${o.unit??"elements"}`:`Massa gran: s'esperava que ${i.origin??"el valor"} fos ${s} ${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?"com a mínim":"més de",o=t(i.origin);return o?`Massa petit: s'esperava que ${i.origin} contingués ${s} ${i.minimum.toString()} ${o.unit}`:`Massa petit: s'esperava que ${i.origin} fos ${s} ${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Format invàlid: ha de començar amb "${s.prefix}"`:s.format==="ends_with"?`Format invàlid: ha d'acabar amb "${s.suffix}"`:s.format==="includes"?`Format invàlid: ha d'incloure "${s.includes}"`:s.format==="regex"?`Format invàlid: ha de coincidir amb el patró ${s.pattern}`:`Format invàlid per a ${n[s.format]??i.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${i.divisor}`;case"unrecognized_keys":return`Clau${i.keys.length>1?"s":""} no reconeguda${i.keys.length>1?"s":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${i.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${i.origin}`;default:return"Entrada invàlida"}}};function sMe(){return{localeError:aMe()}}const oMe=()=>{const e={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"číslo";case"string":return"řetězec";case"boolean":return"boolean";case"bigint":return"bigint";case"function":return"funkce";case"symbol":return"symbol";case"undefined":return"undefined";case"object":{if(Array.isArray(i))return"pole";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"};return i=>{switch(i.code){case"invalid_type":return`Neplatný vstup: očekáváno ${i.expected}, obdrženo ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Neplatný vstup: očekáváno ${xn(i.values[0])}`:`Neplatná možnost: očekávána jedna z hodnot ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Hodnota je příliš velká: ${i.origin??"hodnota"} musí mít ${s}${i.maximum.toString()} ${o.unit??"prvků"}`:`Hodnota je příliš velká: ${i.origin??"hodnota"} musí být ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Hodnota je příliš malá: ${i.origin??"hodnota"} musí mít ${s}${i.minimum.toString()} ${o.unit??"prvků"}`:`Hodnota je příliš malá: ${i.origin??"hodnota"} musí být ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Neplatný řetězec: musí začínat na "${s.prefix}"`:s.format==="ends_with"?`Neplatný řetězec: musí končit na "${s.suffix}"`:s.format==="includes"?`Neplatný řetězec: musí obsahovat "${s.includes}"`:s.format==="regex"?`Neplatný řetězec: musí odpovídat vzoru ${s.pattern}`:`Neplatný formát ${n[s.format]??i.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${i.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${hr(i.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${i.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${i.origin}`;default:return"Neplatný vstup"}}};function lMe(){return{localeError:oMe()}}const cMe=()=>{const e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}},t={string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};function r(o){return e[o]??null}function n(o){return t[o]??o}const i=o=>{const l=typeof o;switch(l){case"number":return Number.isNaN(o)?"NaN":"tal";case"object":return Array.isArray(o)?"liste":o===null?"null":Object.getPrototypeOf(o)!==Object.prototype&&o.constructor?o.constructor.name:"objekt"}return l},s={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"};return o=>{switch(o.code){case"invalid_type":return`Ugyldigt input: forventede ${n(o.expected)}, fik ${n(i(o.input))}`;case"invalid_value":return o.values.length===1?`Ugyldig værdi: forventede ${xn(o.values[0])}`:`Ugyldigt valg: forventede en af følgende ${hr(o.values,"|")}`;case"too_big":{const l=o.inclusive?"<=":"<",c=r(o.origin),d=n(o.origin);return c?`For stor: forventede ${d??"value"} ${c.verb} ${l} ${o.maximum.toString()} ${c.unit??"elementer"}`:`For stor: forventede ${d??"value"} havde ${l} ${o.maximum.toString()}`}case"too_small":{const l=o.inclusive?">=":">",c=r(o.origin),d=n(o.origin);return c?`For lille: forventede ${d} ${c.verb} ${l} ${o.minimum.toString()} ${c.unit}`:`For lille: forventede ${d} havde ${l} ${o.minimum.toString()}`}case"invalid_format":{const l=o;return l.format==="starts_with"?`Ugyldig streng: skal starte med "${l.prefix}"`:l.format==="ends_with"?`Ugyldig streng: skal ende med "${l.suffix}"`:l.format==="includes"?`Ugyldig streng: skal indeholde "${l.includes}"`:l.format==="regex"?`Ugyldig streng: skal matche mønsteret ${l.pattern}`:`Ugyldig ${s[l.format]??o.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${o.divisor}`;case"unrecognized_keys":return`${o.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${hr(o.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${o.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${o.origin}`;default:return"Ugyldigt input"}}};function uMe(){return{localeError:cMe()}}const dMe=()=>{const e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"Zahl";case"object":{if(Array.isArray(i))return"Array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"};return i=>{switch(i.code){case"invalid_type":return`Ungültige Eingabe: erwartet ${i.expected}, erhalten ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Ungültige Eingabe: erwartet ${xn(i.values[0])}`:`Ungültige Option: erwartet eine von ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Zu groß: erwartet, dass ${i.origin??"Wert"} ${s}${i.maximum.toString()} ${o.unit??"Elemente"} hat`:`Zu groß: erwartet, dass ${i.origin??"Wert"} ${s}${i.maximum.toString()} ist`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Zu klein: erwartet, dass ${i.origin} ${s}${i.minimum.toString()} ${o.unit} hat`:`Zu klein: erwartet, dass ${i.origin} ${s}${i.minimum.toString()} ist`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Ungültiger String: muss mit "${s.prefix}" beginnen`:s.format==="ends_with"?`Ungültiger String: muss mit "${s.suffix}" enden`:s.format==="includes"?`Ungültiger String: muss "${s.includes}" enthalten`:s.format==="regex"?`Ungültiger String: muss dem Muster ${s.pattern} entsprechen`:`Ungültig: ${n[s.format]??i.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${i.divisor} sein`;case"unrecognized_keys":return`${i.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${hr(i.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${i.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${i.origin}`;default:return"Ungültige Eingabe"}}};function fMe(){return{localeError:dMe()}}const hMe=e=>{const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},mMe=()=>{const e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}const r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${hMe(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${xn(n.values[0])}`:`Invalid option: expected one of ${hr(n.values,"|")}`;case"too_big":{const i=n.inclusive?"<=":"<",s=t(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${i}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${i}${n.maximum.toString()}`}case"too_small":{const i=n.inclusive?">=":">",s=t(n.origin);return s?`Too small: expected ${n.origin} to have ${i}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${i}${n.minimum.toString()}`}case"invalid_format":{const i=n;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${hr(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function eee(){return{localeError:mMe()}}const pMe=e=>{const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"nombro";case"object":{if(Array.isArray(e))return"tabelo";if(e===null)return"senvalora";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},gMe=()=>{const e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function t(n){return e[n]??null}const r={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"};return n=>{switch(n.code){case"invalid_type":return`Nevalida enigo: atendiĝis ${n.expected}, riceviĝis ${pMe(n.input)}`;case"invalid_value":return n.values.length===1?`Nevalida enigo: atendiĝis ${xn(n.values[0])}`:`Nevalida opcio: atendiĝis unu el ${hr(n.values,"|")}`;case"too_big":{const i=n.inclusive?"<=":"<",s=t(n.origin);return s?`Tro granda: atendiĝis ke ${n.origin??"valoro"} havu ${i}${n.maximum.toString()} ${s.unit??"elementojn"}`:`Tro granda: atendiĝis ke ${n.origin??"valoro"} havu ${i}${n.maximum.toString()}`}case"too_small":{const i=n.inclusive?">=":">",s=t(n.origin);return s?`Tro malgranda: atendiĝis ke ${n.origin} havu ${i}${n.minimum.toString()} ${s.unit}`:`Tro malgranda: atendiĝis ke ${n.origin} estu ${i}${n.minimum.toString()}`}case"invalid_format":{const i=n;return i.format==="starts_with"?`Nevalida karaktraro: devas komenciĝi per "${i.prefix}"`:i.format==="ends_with"?`Nevalida karaktraro: devas finiĝi per "${i.suffix}"`:i.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${i.includes}"`:i.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${i.pattern}`:`Nevalida ${r[i.format]??n.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${n.divisor}`;case"unrecognized_keys":return`Nekonata${n.keys.length>1?"j":""} ŝlosilo${n.keys.length>1?"j":""}: ${hr(n.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${n.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${n.origin}`;default:return"Nevalida enigo"}}};function AMe(){return{localeError:gMe()}}const xMe=()=>{const e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}},t={string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};function r(o){return e[o]??null}function n(o){return t[o]??o}const i=o=>{const l=typeof o;switch(l){case"number":return Number.isNaN(o)?"NaN":"number";case"object":return Array.isArray(o)?"array":o===null?"null":Object.getPrototypeOf(o)!==Object.prototype?o.constructor.name:"object"}return l},s={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return o=>{switch(o.code){case"invalid_type":return`Entrada inválida: se esperaba ${n(o.expected)}, recibido ${n(i(o.input))}`;case"invalid_value":return o.values.length===1?`Entrada inválida: se esperaba ${xn(o.values[0])}`:`Opción inválida: se esperaba una de ${hr(o.values,"|")}`;case"too_big":{const l=o.inclusive?"<=":"<",c=r(o.origin),d=n(o.origin);return c?`Demasiado grande: se esperaba que ${d??"valor"} tuviera ${l}${o.maximum.toString()} ${c.unit??"elementos"}`:`Demasiado grande: se esperaba que ${d??"valor"} fuera ${l}${o.maximum.toString()}`}case"too_small":{const l=o.inclusive?">=":">",c=r(o.origin),d=n(o.origin);return c?`Demasiado pequeño: se esperaba que ${d} tuviera ${l}${o.minimum.toString()} ${c.unit}`:`Demasiado pequeño: se esperaba que ${d} fuera ${l}${o.minimum.toString()}`}case"invalid_format":{const l=o;return l.format==="starts_with"?`Cadena inválida: debe comenzar con "${l.prefix}"`:l.format==="ends_with"?`Cadena inválida: debe terminar en "${l.suffix}"`:l.format==="includes"?`Cadena inválida: debe incluir "${l.includes}"`:l.format==="regex"?`Cadena inválida: debe coincidir con el patrón ${l.pattern}`:`Inválido ${s[l.format]??o.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${o.divisor}`;case"unrecognized_keys":return`Llave${o.keys.length>1?"s":""} desconocida${o.keys.length>1?"s":""}: ${hr(o.keys,", ")}`;case"invalid_key":return`Llave inválida en ${n(o.origin)}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${n(o.origin)}`;default:return"Entrada inválida"}}};function vMe(){return{localeError:xMe()}}const yMe=()=>{const e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"عدد";case"object":{if(Array.isArray(i))return"آرایه";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"};return i=>{switch(i.code){case"invalid_type":return`ورودی نامعتبر: می‌بایست ${i.expected} می‌بود، ${r(i.input)} دریافت شد`;case"invalid_value":return i.values.length===1?`ورودی نامعتبر: می‌بایست ${xn(i.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${hr(i.values,"|")} می‌بود`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`خیلی بزرگ: ${i.origin??"مقدار"} باید ${s}${i.maximum.toString()} ${o.unit??"عنصر"} باشد`:`خیلی بزرگ: ${i.origin??"مقدار"} باید ${s}${i.maximum.toString()} باشد`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`خیلی کوچک: ${i.origin} باید ${s}${i.minimum.toString()} ${o.unit} باشد`:`خیلی کوچک: ${i.origin} باید ${s}${i.minimum.toString()} باشد`}case"invalid_format":{const s=i;return s.format==="starts_with"?`رشته نامعتبر: باید با "${s.prefix}" شروع شود`:s.format==="ends_with"?`رشته نامعتبر: باید با "${s.suffix}" تمام شود`:s.format==="includes"?`رشته نامعتبر: باید شامل "${s.includes}" باشد`:s.format==="regex"?`رشته نامعتبر: باید با الگوی ${s.pattern} مطابقت داشته باشد`:`${n[s.format]??i.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${i.divisor} باشد`;case"unrecognized_keys":return`کلید${i.keys.length>1?"های":""} ناشناس: ${hr(i.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${i.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${i.origin}`;default:return"ورودی نامعتبر"}}};function bMe(){return{localeError:yMe()}}const wMe=()=>{const e={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"};return i=>{switch(i.code){case"invalid_type":return`Virheellinen tyyppi: odotettiin ${i.expected}, oli ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Virheellinen syöte: täytyy olla ${xn(i.values[0])}`:`Virheellinen valinta: täytyy olla yksi seuraavista: ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Liian suuri: ${o.subject} täytyy olla ${s}${i.maximum.toString()} ${o.unit}`.trim():`Liian suuri: arvon täytyy olla ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Liian pieni: ${o.subject} täytyy olla ${s}${i.minimum.toString()} ${o.unit}`.trim():`Liian pieni: arvon täytyy olla ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Virheellinen syöte: täytyy alkaa "${s.prefix}"`:s.format==="ends_with"?`Virheellinen syöte: täytyy loppua "${s.suffix}"`:s.format==="includes"?`Virheellinen syöte: täytyy sisältää "${s.includes}"`:s.format==="regex"?`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${s.pattern}`:`Virheellinen ${n[s.format]??i.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${i.divisor} monikerta`;case"unrecognized_keys":return`${i.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${hr(i.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};function EMe(){return{localeError:wMe()}}const CMe=()=>{const e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"nombre";case"object":{if(Array.isArray(i))return"tableau";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"};return i=>{switch(i.code){case"invalid_type":return`Entrée invalide : ${i.expected} attendu, ${r(i.input)} reçu`;case"invalid_value":return i.values.length===1?`Entrée invalide : ${xn(i.values[0])} attendu`:`Option invalide : une valeur parmi ${hr(i.values,"|")} attendue`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Trop grand : ${i.origin??"valeur"} doit ${o.verb} ${s}${i.maximum.toString()} ${o.unit??"élément(s)"}`:`Trop grand : ${i.origin??"valeur"} doit être ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Trop petit : ${i.origin} doit ${o.verb} ${s}${i.minimum.toString()} ${o.unit}`:`Trop petit : ${i.origin} doit être ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Chaîne invalide : doit commencer par "${s.prefix}"`:s.format==="ends_with"?`Chaîne invalide : doit se terminer par "${s.suffix}"`:s.format==="includes"?`Chaîne invalide : doit inclure "${s.includes}"`:s.format==="regex"?`Chaîne invalide : doit correspondre au modèle ${s.pattern}`:`${n[s.format]??i.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${i.divisor}`;case"unrecognized_keys":return`Clé${i.keys.length>1?"s":""} non reconnue${i.keys.length>1?"s":""} : ${hr(i.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${i.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${i.origin}`;default:return"Entrée invalide"}}};function IMe(){return{localeError:CMe()}}const jMe=()=>{const e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"};return i=>{switch(i.code){case"invalid_type":return`Entrée invalide : attendu ${i.expected}, reçu ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Entrée invalide : attendu ${xn(i.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"≤":"<",o=t(i.origin);return o?`Trop grand : attendu que ${i.origin??"la valeur"} ait ${s}${i.maximum.toString()} ${o.unit}`:`Trop grand : attendu que ${i.origin??"la valeur"} soit ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?"≥":">",o=t(i.origin);return o?`Trop petit : attendu que ${i.origin} ait ${s}${i.minimum.toString()} ${o.unit}`:`Trop petit : attendu que ${i.origin} soit ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Chaîne invalide : doit commencer par "${s.prefix}"`:s.format==="ends_with"?`Chaîne invalide : doit se terminer par "${s.suffix}"`:s.format==="includes"?`Chaîne invalide : doit inclure "${s.includes}"`:s.format==="regex"?`Chaîne invalide : doit correspondre au motif ${s.pattern}`:`${n[s.format]??i.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${i.divisor}`;case"unrecognized_keys":return`Clé${i.keys.length>1?"s":""} non reconnue${i.keys.length>1?"s":""} : ${hr(i.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${i.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${i.origin}`;default:return"Entrée invalide"}}};function NMe(){return{localeError:jMe()}}const SMe=()=>{const e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},r=d=>d?e[d]:void 0,n=d=>{const u=r(d);return u?u.label:d??e.unknown.label},i=d=>`ה${n(d)}`,s=d=>(r(d)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות",o=d=>d?t[d]??null:null,l=d=>{const u=typeof d;switch(u){case"number":return Number.isNaN(d)?"NaN":"number";case"object":return Array.isArray(d)?"array":d===null?"null":Object.getPrototypeOf(d)!==Object.prototype&&d.constructor?d.constructor.name:"object";default:return u}},c={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}};return d=>{switch(d.code){case"invalid_type":{const u=d.expected,h=n(u),p=l(d.input),A=e[p]?.label??p;return`קלט לא תקין: צריך להיות ${h}, התקבל ${A}`}case"invalid_value":{if(d.values.length===1)return`ערך לא תקין: הערך חייב להיות ${xn(d.values[0])}`;const u=d.values.map(A=>xn(A));if(d.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${u[0]} או ${u[1]}`;const h=u[u.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${u.slice(0,-1).join(", ")} או ${h}`}case"too_big":{const u=o(d.origin),h=i(d.origin??"value");if(d.origin==="string")return`${u?.longLabel??"ארוך"} מדי: ${h} צריכה להכיל ${d.maximum.toString()} ${u?.unit??""} ${d.inclusive?"או פחות":"לכל היותר"}`.trim();if(d.origin==="number"){const y=d.inclusive?`קטן או שווה ל-${d.maximum}`:`קטן מ-${d.maximum}`;return`גדול מדי: ${h} צריך להיות ${y}`}if(d.origin==="array"||d.origin==="set"){const y=d.origin==="set"?"צריכה":"צריך",v=d.inclusive?`${d.maximum} ${u?.unit??""} או פחות`:`פחות מ-${d.maximum} ${u?.unit??""}`;return`גדול מדי: ${h} ${y} להכיל ${v}`.trim()}const p=d.inclusive?"<=":"<",A=s(d.origin??"value");return u?.unit?`${u.longLabel} מדי: ${h} ${A} ${p}${d.maximum.toString()} ${u.unit}`:`${u?.longLabel??"גדול"} מדי: ${h} ${A} ${p}${d.maximum.toString()}`}case"too_small":{const u=o(d.origin),h=i(d.origin??"value");if(d.origin==="string")return`${u?.shortLabel??"קצר"} מדי: ${h} צריכה להכיל ${d.minimum.toString()} ${u?.unit??""} ${d.inclusive?"או יותר":"לפחות"}`.trim();if(d.origin==="number"){const y=d.inclusive?`גדול או שווה ל-${d.minimum}`:`גדול מ-${d.minimum}`;return`קטן מדי: ${h} צריך להיות ${y}`}if(d.origin==="array"||d.origin==="set"){const y=d.origin==="set"?"צריכה":"צריך";if(d.minimum===1&&d.inclusive){const w=(d.origin==="set","לפחות פריט אחד");return`קטן מדי: ${h} ${y} להכיל ${w}`}const v=d.inclusive?`${d.minimum} ${u?.unit??""} או יותר`:`יותר מ-${d.minimum} ${u?.unit??""}`;return`קטן מדי: ${h} ${y} להכיל ${v}`.trim()}const p=d.inclusive?">=":">",A=s(d.origin??"value");return u?.unit?`${u.shortLabel} מדי: ${h} ${A} ${p}${d.minimum.toString()} ${u.unit}`:`${u?.shortLabel??"קטן"} מדי: ${h} ${A} ${p}${d.minimum.toString()}`}case"invalid_format":{const u=d;if(u.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${u.prefix}"`;if(u.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${u.suffix}"`;if(u.format==="includes")return`המחרוזת חייבת לכלול "${u.includes}"`;if(u.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${u.pattern}`;const h=c[u.format],p=h?.label??u.format,y=(h?.gender??"m")==="f"?"תקינה":"תקין";return`${p} לא ${y}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${d.divisor}`;case"unrecognized_keys":return`מפתח${d.keys.length>1?"ות":""} לא מזוה${d.keys.length>1?"ים":"ה"}: ${hr(d.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${i(d.origin??"array")}`;default:return"קלט לא תקין"}}};function BMe(){return{localeError:SMe()}}const kMe=()=>{const e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"szám";case"object":{if(Array.isArray(i))return"tömb";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"};return i=>{switch(i.code){case"invalid_type":return`Érvénytelen bemenet: a várt érték ${i.expected}, a kapott érték ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Érvénytelen bemenet: a várt érték ${xn(i.values[0])}`:`Érvénytelen opció: valamelyik érték várt ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Túl nagy: ${i.origin??"érték"} mérete túl nagy ${s}${i.maximum.toString()} ${o.unit??"elem"}`:`Túl nagy: a bemeneti érték ${i.origin??"érték"} túl nagy: ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Túl kicsi: a bemeneti érték ${i.origin} mérete túl kicsi ${s}${i.minimum.toString()} ${o.unit}`:`Túl kicsi: a bemeneti érték ${i.origin} túl kicsi ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Érvénytelen string: "${s.prefix}" értékkel kell kezdődnie`:s.format==="ends_with"?`Érvénytelen string: "${s.suffix}" értékkel kell végződnie`:s.format==="includes"?`Érvénytelen string: "${s.includes}" értéket kell tartalmaznia`:s.format==="regex"?`Érvénytelen string: ${s.pattern} mintának kell megfelelnie`:`Érvénytelen ${n[s.format]??i.format}`}case"not_multiple_of":return`Érvénytelen szám: ${i.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${i.keys.length>1?"s":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${i.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${i.origin}`;default:return"Érvénytelen bemenet"}}};function _Me(){return{localeError:kMe()}}const DMe=()=>{const e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"};return i=>{switch(i.code){case"invalid_type":return`Input tidak valid: diharapkan ${i.expected}, diterima ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Input tidak valid: diharapkan ${xn(i.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Terlalu besar: diharapkan ${i.origin??"value"} memiliki ${s}${i.maximum.toString()} ${o.unit??"elemen"}`:`Terlalu besar: diharapkan ${i.origin??"value"} menjadi ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Terlalu kecil: diharapkan ${i.origin} memiliki ${s}${i.minimum.toString()} ${o.unit}`:`Terlalu kecil: diharapkan ${i.origin} menjadi ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`String tidak valid: harus dimulai dengan "${s.prefix}"`:s.format==="ends_with"?`String tidak valid: harus berakhir dengan "${s.suffix}"`:s.format==="includes"?`String tidak valid: harus menyertakan "${s.includes}"`:s.format==="regex"?`String tidak valid: harus sesuai pola ${s.pattern}`:`${n[s.format]??i.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${i.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${i.keys.length>1?"s":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${i.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${i.origin}`;default:return"Input tidak valid"}}};function TMe(){return{localeError:DMe()}}const RMe=e=>{const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"númer";case"object":{if(Array.isArray(e))return"fylki";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},PMe=()=>{const e={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function t(n){return e[n]??null}const r={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"};return n=>{switch(n.code){case"invalid_type":return`Rangt gildi: Þú slóst inn ${RMe(n.input)} þar sem á að vera ${n.expected}`;case"invalid_value":return n.values.length===1?`Rangt gildi: gert ráð fyrir ${xn(n.values[0])}`:`Ógilt val: má vera eitt af eftirfarandi ${hr(n.values,"|")}`;case"too_big":{const i=n.inclusive?"<=":"<",s=t(n.origin);return s?`Of stórt: gert er ráð fyrir að ${n.origin??"gildi"} hafi ${i}${n.maximum.toString()} ${s.unit??"hluti"}`:`Of stórt: gert er ráð fyrir að ${n.origin??"gildi"} sé ${i}${n.maximum.toString()}`}case"too_small":{const i=n.inclusive?">=":">",s=t(n.origin);return s?`Of lítið: gert er ráð fyrir að ${n.origin} hafi ${i}${n.minimum.toString()} ${s.unit}`:`Of lítið: gert er ráð fyrir að ${n.origin} sé ${i}${n.minimum.toString()}`}case"invalid_format":{const i=n;return i.format==="starts_with"?`Ógildur strengur: verður að byrja á "${i.prefix}"`:i.format==="ends_with"?`Ógildur strengur: verður að enda á "${i.suffix}"`:i.format==="includes"?`Ógildur strengur: verður að innihalda "${i.includes}"`:i.format==="regex"?`Ógildur strengur: verður að fylgja mynstri ${i.pattern}`:`Rangt ${r[i.format]??n.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${n.divisor}`;case"unrecognized_keys":return`Óþekkt ${n.keys.length>1?"ir lyklar":"ur lykill"}: ${hr(n.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${n.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${n.origin}`;default:return"Rangt gildi"}}};function QMe(){return{localeError:PMe()}}const FMe=()=>{const e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"numero";case"object":{if(Array.isArray(i))return"vettore";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"};return i=>{switch(i.code){case"invalid_type":return`Input non valido: atteso ${i.expected}, ricevuto ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Input non valido: atteso ${xn(i.values[0])}`:`Opzione non valida: atteso uno tra ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Troppo grande: ${i.origin??"valore"} deve avere ${s}${i.maximum.toString()} ${o.unit??"elementi"}`:`Troppo grande: ${i.origin??"valore"} deve essere ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Troppo piccolo: ${i.origin} deve avere ${s}${i.minimum.toString()} ${o.unit}`:`Troppo piccolo: ${i.origin} deve essere ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Stringa non valida: deve iniziare con "${s.prefix}"`:s.format==="ends_with"?`Stringa non valida: deve terminare con "${s.suffix}"`:s.format==="includes"?`Stringa non valida: deve includere "${s.includes}"`:s.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${s.pattern}`:`Invalid ${n[s.format]??i.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${i.divisor}`;case"unrecognized_keys":return`Chiav${i.keys.length>1?"i":"e"} non riconosciut${i.keys.length>1?"e":"a"}: ${hr(i.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${i.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${i.origin}`;default:return"Input non valido"}}};function OMe(){return{localeError:FMe()}}const LMe=()=>{const e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"数値";case"object":{if(Array.isArray(i))return"配列";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"};return i=>{switch(i.code){case"invalid_type":return`無効な入力: ${i.expected}が期待されましたが、${r(i.input)}が入力されました`;case"invalid_value":return i.values.length===1?`無効な入力: ${xn(i.values[0])}が期待されました`:`無効な選択: ${hr(i.values,"、")}のいずれかである必要があります`;case"too_big":{const s=i.inclusive?"以下である":"より小さい",o=t(i.origin);return o?`大きすぎる値: ${i.origin??"値"}は${i.maximum.toString()}${o.unit??"要素"}${s}必要があります`:`大きすぎる値: ${i.origin??"値"}は${i.maximum.toString()}${s}必要があります`}case"too_small":{const s=i.inclusive?"以上である":"より大きい",o=t(i.origin);return o?`小さすぎる値: ${i.origin}は${i.minimum.toString()}${o.unit}${s}必要があります`:`小さすぎる値: ${i.origin}は${i.minimum.toString()}${s}必要があります`}case"invalid_format":{const s=i;return s.format==="starts_with"?`無効な文字列: "${s.prefix}"で始まる必要があります`:s.format==="ends_with"?`無効な文字列: "${s.suffix}"で終わる必要があります`:s.format==="includes"?`無効な文字列: "${s.includes}"を含む必要があります`:s.format==="regex"?`無効な文字列: パターン${s.pattern}に一致する必要があります`:`無効な${n[s.format]??i.format}`}case"not_multiple_of":return`無効な数値: ${i.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${i.keys.length>1?"群":""}: ${hr(i.keys,"、")}`;case"invalid_key":return`${i.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${i.origin}内の無効な値`;default:return"無効な入力"}}};function MMe(){return{localeError:LMe()}}const UMe=e=>{const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"რიცხვი";case"object":{if(Array.isArray(e))return"მასივი";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return{string:"სტრინგი",boolean:"ბულეანი",undefined:"undefined",bigint:"bigint",symbol:"symbol",function:"ფუნქცია"}[t]??t},zMe=()=>{const e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function t(n){return e[n]??null}const r={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"};return n=>{switch(n.code){case"invalid_type":return`არასწორი შეყვანა: მოსალოდნელი ${n.expected}, მიღებული ${UMe(n.input)}`;case"invalid_value":return n.values.length===1?`არასწორი შეყვანა: მოსალოდნელი ${xn(n.values[0])}`:`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${hr(n.values,"|")}-დან`;case"too_big":{const i=n.inclusive?"<=":"<",s=t(n.origin);return s?`ზედმეტად დიდი: მოსალოდნელი ${n.origin??"მნიშვნელობა"} ${s.verb} ${i}${n.maximum.toString()} ${s.unit}`:`ზედმეტად დიდი: მოსალოდნელი ${n.origin??"მნიშვნელობა"} იყოს ${i}${n.maximum.toString()}`}case"too_small":{const i=n.inclusive?">=":">",s=t(n.origin);return s?`ზედმეტად პატარა: მოსალოდნელი ${n.origin} ${s.verb} ${i}${n.minimum.toString()} ${s.unit}`:`ზედმეტად პატარა: მოსალოდნელი ${n.origin} იყოს ${i}${n.minimum.toString()}`}case"invalid_format":{const i=n;return i.format==="starts_with"?`არასწორი სტრინგი: უნდა იწყებოდეს "${i.prefix}"-ით`:i.format==="ends_with"?`არასწორი სტრინგი: უნდა მთავრდებოდეს "${i.suffix}"-ით`:i.format==="includes"?`არასწორი სტრინგი: უნდა შეიცავდეს "${i.includes}"-ს`:i.format==="regex"?`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${i.pattern}`:`არასწორი ${r[i.format]??n.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${n.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${n.keys.length>1?"ები":"ი"}: ${hr(n.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${n.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${n.origin}-ში`;default:return"არასწორი შეყვანა"}}};function $Me(){return{localeError:zMe()}}const HMe=()=>{const e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"មិនមែនជាលេខ (NaN)":"លេខ";case"object":{if(Array.isArray(i))return"អារេ (Array)";if(i===null)return"គ្មានតម្លៃ (null)";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"};return i=>{switch(i.code){case"invalid_type":return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${i.expected} ប៉ុន្តែទទួលបាន ${r(i.input)}`;case"invalid_value":return i.values.length===1?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${xn(i.values[0])}`:`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`ធំពេក៖ ត្រូវការ ${i.origin??"តម្លៃ"} ${s} ${i.maximum.toString()} ${o.unit??"ធាតុ"}`:`ធំពេក៖ ត្រូវការ ${i.origin??"តម្លៃ"} ${s} ${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`តូចពេក៖ ត្រូវការ ${i.origin} ${s} ${i.minimum.toString()} ${o.unit}`:`តូចពេក៖ ត្រូវការ ${i.origin} ${s} ${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${s.prefix}"`:s.format==="ends_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${s.suffix}"`:s.format==="includes"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${s.includes}"`:s.format==="regex"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${s.pattern}`:`មិនត្រឹមត្រូវ៖ ${n[s.format]??i.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${i.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${hr(i.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${i.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${i.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};function tee(){return{localeError:HMe()}}function qMe(){return tee()}const GMe=()=>{const e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"};return i=>{switch(i.code){case"invalid_type":return`잘못된 입력: 예상 타입은 ${i.expected}, 받은 타입은 ${r(i.input)}입니다`;case"invalid_value":return i.values.length===1?`잘못된 입력: 값은 ${xn(i.values[0])} 이어야 합니다`:`잘못된 옵션: ${hr(i.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{const s=i.inclusive?"이하":"미만",o=s==="미만"?"이어야 합니다":"여야 합니다",l=t(i.origin),c=l?.unit??"요소";return l?`${i.origin??"값"}이 너무 큽니다: ${i.maximum.toString()}${c} ${s}${o}`:`${i.origin??"값"}이 너무 큽니다: ${i.maximum.toString()} ${s}${o}`}case"too_small":{const s=i.inclusive?"이상":"초과",o=s==="이상"?"이어야 합니다":"여야 합니다",l=t(i.origin),c=l?.unit??"요소";return l?`${i.origin??"값"}이 너무 작습니다: ${i.minimum.toString()}${c} ${s}${o}`:`${i.origin??"값"}이 너무 작습니다: ${i.minimum.toString()} ${s}${o}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`잘못된 문자열: "${s.prefix}"(으)로 시작해야 합니다`:s.format==="ends_with"?`잘못된 문자열: "${s.suffix}"(으)로 끝나야 합니다`:s.format==="includes"?`잘못된 문자열: "${s.includes}"을(를) 포함해야 합니다`:s.format==="regex"?`잘못된 문자열: 정규식 ${s.pattern} 패턴과 일치해야 합니다`:`잘못된 ${n[s.format]??i.format}`}case"not_multiple_of":return`잘못된 숫자: ${i.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${hr(i.keys,", ")}`;case"invalid_key":return`잘못된 키: ${i.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${i.origin}`;default:return"잘못된 입력"}}};function VMe(){return{localeError:GMe()}}const WMe=e=>Hx(typeof e,e),Hx=(e,t=void 0)=>{switch(e){case"number":return Number.isNaN(t)?"NaN":"skaičius";case"bigint":return"sveikasis skaičius";case"string":return"eilutė";case"boolean":return"loginė reikšmė";case"undefined":case"void":return"neapibrėžta reikšmė";case"function":return"funkcija";case"symbol":return"simbolis";case"object":return t===void 0?"nežinomas objektas":t===null?"nulinė reikšmė":Array.isArray(t)?"masyvas":Object.getPrototypeOf(t)!==Object.prototype&&t.constructor?t.constructor.name:"objektas";case"null":return"nulinė reikšmė"}return e},Tx=e=>e.charAt(0).toUpperCase()+e.slice(1);function YF(e){const t=Math.abs(e),r=t%10,n=t%100;return n>=11&&n<=19||r===0?"many":r===1?"one":"few"}const KMe=()=>{const e={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(n,i,s,o){const l=e[n]??null;return l===null?l:{unit:l.unit[i],verb:l.verb[o][s?"inclusive":"notInclusive"]}}const r={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"};return n=>{switch(n.code){case"invalid_type":return`Gautas tipas ${WMe(n.input)}, o tikėtasi - ${Hx(n.expected)}`;case"invalid_value":return n.values.length===1?`Privalo būti ${xn(n.values[0])}`:`Privalo būti vienas iš ${hr(n.values,"|")} pasirinkimų`;case"too_big":{const i=Hx(n.origin),s=t(n.origin,YF(Number(n.maximum)),n.inclusive??!1,"smaller");if(s?.verb)return`${Tx(i??n.origin??"reikšmė")} ${s.verb} ${n.maximum.toString()} ${s.unit??"elementų"}`;const o=n.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${Tx(i??n.origin??"reikšmė")} turi būti ${o} ${n.maximum.toString()} ${s?.unit}`}case"too_small":{const i=Hx(n.origin),s=t(n.origin,YF(Number(n.minimum)),n.inclusive??!1,"bigger");if(s?.verb)return`${Tx(i??n.origin??"reikšmė")} ${s.verb} ${n.minimum.toString()} ${s.unit??"elementų"}`;const o=n.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${Tx(i??n.origin??"reikšmė")} turi būti ${o} ${n.minimum.toString()} ${s?.unit}`}case"invalid_format":{const i=n;return i.format==="starts_with"?`Eilutė privalo prasidėti "${i.prefix}"`:i.format==="ends_with"?`Eilutė privalo pasibaigti "${i.suffix}"`:i.format==="includes"?`Eilutė privalo įtraukti "${i.includes}"`:i.format==="regex"?`Eilutė privalo atitikti ${i.pattern}`:`Neteisingas ${r[i.format]??n.format}`}case"not_multiple_of":return`Skaičius privalo būti ${n.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${n.keys.length>1?"i":"as"} rakt${n.keys.length>1?"ai":"as"}: ${hr(n.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{const i=Hx(n.origin);return`${Tx(i??n.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};function YMe(){return{localeError:KMe()}}const ZMe=()=>{const e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"број";case"object":{if(Array.isArray(i))return"низа";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"};return i=>{switch(i.code){case"invalid_type":return`Грешен внес: се очекува ${i.expected}, примено ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Invalid input: expected ${xn(i.values[0])}`:`Грешана опција: се очекува една ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Премногу голем: се очекува ${i.origin??"вредноста"} да има ${s}${i.maximum.toString()} ${o.unit??"елементи"}`:`Премногу голем: се очекува ${i.origin??"вредноста"} да биде ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Премногу мал: се очекува ${i.origin} да има ${s}${i.minimum.toString()} ${o.unit}`:`Премногу мал: се очекува ${i.origin} да биде ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Неважечка низа: мора да започнува со "${s.prefix}"`:s.format==="ends_with"?`Неважечка низа: мора да завршува со "${s.suffix}"`:s.format==="includes"?`Неважечка низа: мора да вклучува "${s.includes}"`:s.format==="regex"?`Неважечка низа: мора да одгоара на патернот ${s.pattern}`:`Invalid ${n[s.format]??i.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${hr(i.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${i.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${i.origin}`;default:return"Грешен внес"}}};function JMe(){return{localeError:ZMe()}}const XMe=()=>{const e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"nombor";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"};return i=>{switch(i.code){case"invalid_type":return`Input tidak sah: dijangka ${i.expected}, diterima ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Input tidak sah: dijangka ${xn(i.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Terlalu besar: dijangka ${i.origin??"nilai"} ${o.verb} ${s}${i.maximum.toString()} ${o.unit??"elemen"}`:`Terlalu besar: dijangka ${i.origin??"nilai"} adalah ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Terlalu kecil: dijangka ${i.origin} ${o.verb} ${s}${i.minimum.toString()} ${o.unit}`:`Terlalu kecil: dijangka ${i.origin} adalah ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`String tidak sah: mesti bermula dengan "${s.prefix}"`:s.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${s.suffix}"`:s.format==="includes"?`String tidak sah: mesti mengandungi "${s.includes}"`:s.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${s.pattern}`:`${n[s.format]??i.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${i.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${hr(i.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${i.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${i.origin}`;default:return"Input tidak sah"}}};function eUe(){return{localeError:XMe()}}const tUe=()=>{const e={string:{unit:"tekens",verb:"te hebben"},file:{unit:"bytes",verb:"te hebben"},array:{unit:"elementen",verb:"te hebben"},set:{unit:"elementen",verb:"te hebben"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"getal";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"};return i=>{switch(i.code){case"invalid_type":return`Ongeldige invoer: verwacht ${i.expected}, ontving ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Ongeldige invoer: verwacht ${xn(i.values[0])}`:`Ongeldige optie: verwacht één van ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Te groot: verwacht dat ${i.origin??"waarde"} ${o.verb} ${s}${i.maximum.toString()} ${o.unit??"elementen"}`:`Te groot: verwacht dat ${i.origin??"waarde"} ${s}${i.maximum.toString()} is`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Te klein: verwacht dat ${i.origin} ${o.verb} ${s}${i.minimum.toString()} ${o.unit}`:`Te klein: verwacht dat ${i.origin} ${s}${i.minimum.toString()} is`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Ongeldige tekst: moet met "${s.prefix}" beginnen`:s.format==="ends_with"?`Ongeldige tekst: moet op "${s.suffix}" eindigen`:s.format==="includes"?`Ongeldige tekst: moet "${s.includes}" bevatten`:s.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${s.pattern}`:`Ongeldig: ${n[s.format]??i.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${i.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${i.keys.length>1?"s":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${i.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${i.origin}`;default:return"Ongeldige invoer"}}};function rUe(){return{localeError:tUe()}}const nUe=()=>{const e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"tall";case"object":{if(Array.isArray(i))return"liste";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"};return i=>{switch(i.code){case"invalid_type":return`Ugyldig input: forventet ${i.expected}, fikk ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Ugyldig verdi: forventet ${xn(i.values[0])}`:`Ugyldig valg: forventet en av ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`For stor(t): forventet ${i.origin??"value"} til å ha ${s}${i.maximum.toString()} ${o.unit??"elementer"}`:`For stor(t): forventet ${i.origin??"value"} til å ha ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`For lite(n): forventet ${i.origin} til å ha ${s}${i.minimum.toString()} ${o.unit}`:`For lite(n): forventet ${i.origin} til å ha ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Ugyldig streng: må starte med "${s.prefix}"`:s.format==="ends_with"?`Ugyldig streng: må ende med "${s.suffix}"`:s.format==="includes"?`Ugyldig streng: må inneholde "${s.includes}"`:s.format==="regex"?`Ugyldig streng: må matche mønsteret ${s.pattern}`:`Ugyldig ${n[s.format]??i.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${hr(i.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${i.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${i.origin}`;default:return"Ugyldig input"}}};function iUe(){return{localeError:nUe()}}const aUe=()=>{const e={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"numara";case"object":{if(Array.isArray(i))return"saf";if(i===null)return"gayb";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"};return i=>{switch(i.code){case"invalid_type":return`Fâsit giren: umulan ${i.expected}, alınan ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Fâsit giren: umulan ${xn(i.values[0])}`:`Fâsit tercih: mûteberler ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Fazla büyük: ${i.origin??"value"}, ${s}${i.maximum.toString()} ${o.unit??"elements"} sahip olmalıydı.`:`Fazla büyük: ${i.origin??"value"}, ${s}${i.maximum.toString()} olmalıydı.`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Fazla küçük: ${i.origin}, ${s}${i.minimum.toString()} ${o.unit} sahip olmalıydı.`:`Fazla küçük: ${i.origin}, ${s}${i.minimum.toString()} olmalıydı.`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Fâsit metin: "${s.prefix}" ile başlamalı.`:s.format==="ends_with"?`Fâsit metin: "${s.suffix}" ile bitmeli.`:s.format==="includes"?`Fâsit metin: "${s.includes}" ihtivâ etmeli.`:s.format==="regex"?`Fâsit metin: ${s.pattern} nakşına uymalı.`:`Fâsit ${n[s.format]??i.format}`}case"not_multiple_of":return`Fâsit sayı: ${i.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${i.keys.length>1?"s":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`${i.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${i.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};function sUe(){return{localeError:aUe()}}const oUe=()=>{const e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"عدد";case"object":{if(Array.isArray(i))return"ارې";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"};return i=>{switch(i.code){case"invalid_type":return`ناسم ورودي: باید ${i.expected} وای, مګر ${r(i.input)} ترلاسه شو`;case"invalid_value":return i.values.length===1?`ناسم ورودي: باید ${xn(i.values[0])} وای`:`ناسم انتخاب: باید یو له ${hr(i.values,"|")} څخه وای`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`ډیر لوی: ${i.origin??"ارزښت"} باید ${s}${i.maximum.toString()} ${o.unit??"عنصرونه"} ولري`:`ډیر لوی: ${i.origin??"ارزښت"} باید ${s}${i.maximum.toString()} وي`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`ډیر کوچنی: ${i.origin} باید ${s}${i.minimum.toString()} ${o.unit} ولري`:`ډیر کوچنی: ${i.origin} باید ${s}${i.minimum.toString()} وي`}case"invalid_format":{const s=i;return s.format==="starts_with"?`ناسم متن: باید د "${s.prefix}" سره پیل شي`:s.format==="ends_with"?`ناسم متن: باید د "${s.suffix}" سره پای ته ورسيږي`:s.format==="includes"?`ناسم متن: باید "${s.includes}" ولري`:s.format==="regex"?`ناسم متن: باید د ${s.pattern} سره مطابقت ولري`:`${n[s.format]??i.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${i.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${i.keys.length>1?"کلیډونه":"کلیډ"}: ${hr(i.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${i.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${i.origin} کې`;default:return"ناسمه ورودي"}}};function lUe(){return{localeError:oUe()}}const cUe=()=>{const e={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"liczba";case"object":{if(Array.isArray(i))return"tablica";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"};return i=>{switch(i.code){case"invalid_type":return`Nieprawidłowe dane wejściowe: oczekiwano ${i.expected}, otrzymano ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Nieprawidłowe dane wejściowe: oczekiwano ${xn(i.values[0])}`:`Nieprawidłowa opcja: oczekiwano jednej z wartości ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Za duża wartość: oczekiwano, że ${i.origin??"wartość"} będzie mieć ${s}${i.maximum.toString()} ${o.unit??"elementów"}`:`Zbyt duż(y/a/e): oczekiwano, że ${i.origin??"wartość"} będzie wynosić ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Za mała wartość: oczekiwano, że ${i.origin??"wartość"} będzie mieć ${s}${i.minimum.toString()} ${o.unit??"elementów"}`:`Zbyt mał(y/a/e): oczekiwano, że ${i.origin??"wartość"} będzie wynosić ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Nieprawidłowy ciąg znaków: musi zaczynać się od "${s.prefix}"`:s.format==="ends_with"?`Nieprawidłowy ciąg znaków: musi kończyć się na "${s.suffix}"`:s.format==="includes"?`Nieprawidłowy ciąg znaków: musi zawierać "${s.includes}"`:s.format==="regex"?`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${s.pattern}`:`Nieprawidłow(y/a/e) ${n[s.format]??i.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${i.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${i.keys.length>1?"s":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${i.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${i.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};function uUe(){return{localeError:cUe()}}const dUe=()=>{const e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"número";case"object":{if(Array.isArray(i))return"array";if(i===null)return"nulo";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return i=>{switch(i.code){case"invalid_type":return`Tipo inválido: esperado ${i.expected}, recebido ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Entrada inválida: esperado ${xn(i.values[0])}`:`Opção inválida: esperada uma das ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Muito grande: esperado que ${i.origin??"valor"} tivesse ${s}${i.maximum.toString()} ${o.unit??"elementos"}`:`Muito grande: esperado que ${i.origin??"valor"} fosse ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Muito pequeno: esperado que ${i.origin} tivesse ${s}${i.minimum.toString()} ${o.unit}`:`Muito pequeno: esperado que ${i.origin} fosse ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Texto inválido: deve começar com "${s.prefix}"`:s.format==="ends_with"?`Texto inválido: deve terminar com "${s.suffix}"`:s.format==="includes"?`Texto inválido: deve incluir "${s.includes}"`:s.format==="regex"?`Texto inválido: deve corresponder ao padrão ${s.pattern}`:`${n[s.format]??i.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${i.divisor}`;case"unrecognized_keys":return`Chave${i.keys.length>1?"s":""} desconhecida${i.keys.length>1?"s":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Chave inválida em ${i.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${i.origin}`;default:return"Campo inválido"}}};function fUe(){return{localeError:dUe()}}function ZF(e,t,r,n){const i=Math.abs(e),s=i%10,o=i%100;return o>=11&&o<=19?n:s===1?t:s>=2&&s<=4?r:n}const hUe=()=>{const e={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"число";case"object":{if(Array.isArray(i))return"массив";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"};return i=>{switch(i.code){case"invalid_type":return`Неверный ввод: ожидалось ${i.expected}, получено ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Неверный ввод: ожидалось ${xn(i.values[0])}`:`Неверный вариант: ожидалось одно из ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);if(o){const l=Number(i.maximum),c=ZF(l,o.unit.one,o.unit.few,o.unit.many);return`Слишком большое значение: ожидалось, что ${i.origin??"значение"} будет иметь ${s}${i.maximum.toString()} ${c}`}return`Слишком большое значение: ожидалось, что ${i.origin??"значение"} будет ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);if(o){const l=Number(i.minimum),c=ZF(l,o.unit.one,o.unit.few,o.unit.many);return`Слишком маленькое значение: ожидалось, что ${i.origin} будет иметь ${s}${i.minimum.toString()} ${c}`}return`Слишком маленькое значение: ожидалось, что ${i.origin} будет ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Неверная строка: должна начинаться с "${s.prefix}"`:s.format==="ends_with"?`Неверная строка: должна заканчиваться на "${s.suffix}"`:s.format==="includes"?`Неверная строка: должна содержать "${s.includes}"`:s.format==="regex"?`Неверная строка: должна соответствовать шаблону ${s.pattern}`:`Неверный ${n[s.format]??i.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${i.divisor}`;case"unrecognized_keys":return`Нераспознанн${i.keys.length>1?"ые":"ый"} ключ${i.keys.length>1?"и":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${i.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${i.origin}`;default:return"Неверные входные данные"}}};function mUe(){return{localeError:hUe()}}const pUe=()=>{const e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"število";case"object":{if(Array.isArray(i))return"tabela";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"};return i=>{switch(i.code){case"invalid_type":return`Neveljaven vnos: pričakovano ${i.expected}, prejeto ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Neveljaven vnos: pričakovano ${xn(i.values[0])}`:`Neveljavna možnost: pričakovano eno izmed ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Preveliko: pričakovano, da bo ${i.origin??"vrednost"} imelo ${s}${i.maximum.toString()} ${o.unit??"elementov"}`:`Preveliko: pričakovano, da bo ${i.origin??"vrednost"} ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Premajhno: pričakovano, da bo ${i.origin} imelo ${s}${i.minimum.toString()} ${o.unit}`:`Premajhno: pričakovano, da bo ${i.origin} ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Neveljaven niz: mora se začeti z "${s.prefix}"`:s.format==="ends_with"?`Neveljaven niz: mora se končati z "${s.suffix}"`:s.format==="includes"?`Neveljaven niz: mora vsebovati "${s.includes}"`:s.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${s.pattern}`:`Neveljaven ${n[s.format]??i.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${i.divisor}`;case"unrecognized_keys":return`Neprepoznan${i.keys.length>1?"i ključi":" ključ"}: ${hr(i.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${i.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${i.origin}`;default:return"Neveljaven vnos"}}};function gUe(){return{localeError:pUe()}}const AUe=()=>{const e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"antal";case"object":{if(Array.isArray(i))return"lista";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"};return i=>{switch(i.code){case"invalid_type":return`Ogiltig inmatning: förväntat ${i.expected}, fick ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Ogiltig inmatning: förväntat ${xn(i.values[0])}`:`Ogiltigt val: förväntade en av ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`För stor(t): förväntade ${i.origin??"värdet"} att ha ${s}${i.maximum.toString()} ${o.unit??"element"}`:`För stor(t): förväntat ${i.origin??"värdet"} att ha ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`För lite(t): förväntade ${i.origin??"värdet"} att ha ${s}${i.minimum.toString()} ${o.unit}`:`För lite(t): förväntade ${i.origin??"värdet"} att ha ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Ogiltig sträng: måste börja med "${s.prefix}"`:s.format==="ends_with"?`Ogiltig sträng: måste sluta med "${s.suffix}"`:s.format==="includes"?`Ogiltig sträng: måste innehålla "${s.includes}"`:s.format==="regex"?`Ogiltig sträng: måste matcha mönstret "${s.pattern}"`:`Ogiltig(t) ${n[s.format]??i.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${hr(i.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${i.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${i.origin??"värdet"}`;default:return"Ogiltig input"}}};function xUe(){return{localeError:AUe()}}const vUe=()=>{const e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"எண் அல்லாதது":"எண்";case"object":{if(Array.isArray(i))return"அணி";if(i===null)return"வெறுமை";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"};return i=>{switch(i.code){case"invalid_type":return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${i.expected}, பெறப்பட்டது ${r(i.input)}`;case"invalid_value":return i.values.length===1?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${xn(i.values[0])}`:`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${hr(i.values,"|")} இல் ஒன்று`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${i.origin??"மதிப்பு"} ${s}${i.maximum.toString()} ${o.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`:`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${i.origin??"மதிப்பு"} ${s}${i.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${i.origin} ${s}${i.minimum.toString()} ${o.unit} ஆக இருக்க வேண்டும்`:`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${i.origin} ${s}${i.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{const s=i;return s.format==="starts_with"?`தவறான சரம்: "${s.prefix}" இல் தொடங்க வேண்டும்`:s.format==="ends_with"?`தவறான சரம்: "${s.suffix}" இல் முடிவடைய வேண்டும்`:s.format==="includes"?`தவறான சரம்: "${s.includes}" ஐ உள்ளடக்க வேண்டும்`:s.format==="regex"?`தவறான சரம்: ${s.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`:`தவறான ${n[s.format]??i.format}`}case"not_multiple_of":return`தவறான எண்: ${i.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${i.keys.length>1?"கள்":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`${i.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${i.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};function yUe(){return{localeError:vUe()}}const bUe=()=>{const e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"ไม่ใช่ตัวเลข (NaN)":"ตัวเลข";case"object":{if(Array.isArray(i))return"อาร์เรย์ (Array)";if(i===null)return"ไม่มีค่า (null)";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"};return i=>{switch(i.code){case"invalid_type":return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${i.expected} แต่ได้รับ ${r(i.input)}`;case"invalid_value":return i.values.length===1?`ค่าไม่ถูกต้อง: ควรเป็น ${xn(i.values[0])}`:`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"ไม่เกิน":"น้อยกว่า",o=t(i.origin);return o?`เกินกำหนด: ${i.origin??"ค่า"} ควรมี${s} ${i.maximum.toString()} ${o.unit??"รายการ"}`:`เกินกำหนด: ${i.origin??"ค่า"} ควรมี${s} ${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?"อย่างน้อย":"มากกว่า",o=t(i.origin);return o?`น้อยกว่ากำหนด: ${i.origin} ควรมี${s} ${i.minimum.toString()} ${o.unit}`:`น้อยกว่ากำหนด: ${i.origin} ควรมี${s} ${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${s.prefix}"`:s.format==="ends_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${s.suffix}"`:s.format==="includes"?`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${s.includes}" อยู่ในข้อความ`:s.format==="regex"?`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${s.pattern}`:`รูปแบบไม่ถูกต้อง: ${n[s.format]??i.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${i.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${hr(i.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${i.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${i.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};function wUe(){return{localeError:bUe()}}const EUe=e=>{const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},CUe=()=>{const e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function t(n){return e[n]??null}const r={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"};return n=>{switch(n.code){case"invalid_type":return`Geçersiz değer: beklenen ${n.expected}, alınan ${EUe(n.input)}`;case"invalid_value":return n.values.length===1?`Geçersiz değer: beklenen ${xn(n.values[0])}`:`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${hr(n.values,"|")}`;case"too_big":{const i=n.inclusive?"<=":"<",s=t(n.origin);return s?`Çok büyük: beklenen ${n.origin??"değer"} ${i}${n.maximum.toString()} ${s.unit??"öğe"}`:`Çok büyük: beklenen ${n.origin??"değer"} ${i}${n.maximum.toString()}`}case"too_small":{const i=n.inclusive?">=":">",s=t(n.origin);return s?`Çok küçük: beklenen ${n.origin} ${i}${n.minimum.toString()} ${s.unit}`:`Çok küçük: beklenen ${n.origin} ${i}${n.minimum.toString()}`}case"invalid_format":{const i=n;return i.format==="starts_with"?`Geçersiz metin: "${i.prefix}" ile başlamalı`:i.format==="ends_with"?`Geçersiz metin: "${i.suffix}" ile bitmeli`:i.format==="includes"?`Geçersiz metin: "${i.includes}" içermeli`:i.format==="regex"?`Geçersiz metin: ${i.pattern} desenine uymalı`:`Geçersiz ${r[i.format]??n.format}`}case"not_multiple_of":return`Geçersiz sayı: ${n.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${n.keys.length>1?"lar":""}: ${hr(n.keys,", ")}`;case"invalid_key":return`${n.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${n.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};function IUe(){return{localeError:CUe()}}const jUe=()=>{const e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"число";case"object":{if(Array.isArray(i))return"масив";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"};return i=>{switch(i.code){case"invalid_type":return`Неправильні вхідні дані: очікується ${i.expected}, отримано ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Неправильні вхідні дані: очікується ${xn(i.values[0])}`:`Неправильна опція: очікується одне з ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Занадто велике: очікується, що ${i.origin??"значення"} ${o.verb} ${s}${i.maximum.toString()} ${o.unit??"елементів"}`:`Занадто велике: очікується, що ${i.origin??"значення"} буде ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Занадто мале: очікується, що ${i.origin} ${o.verb} ${s}${i.minimum.toString()} ${o.unit}`:`Занадто мале: очікується, що ${i.origin} буде ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Неправильний рядок: повинен починатися з "${s.prefix}"`:s.format==="ends_with"?`Неправильний рядок: повинен закінчуватися на "${s.suffix}"`:s.format==="includes"?`Неправильний рядок: повинен містити "${s.includes}"`:s.format==="regex"?`Неправильний рядок: повинен відповідати шаблону ${s.pattern}`:`Неправильний ${n[s.format]??i.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${i.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${i.keys.length>1?"і":""}: ${hr(i.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${i.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${i.origin}`;default:return"Неправильні вхідні дані"}}};function ree(){return{localeError:jUe()}}function NUe(){return ree()}const SUe=()=>{const e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"نمبر";case"object":{if(Array.isArray(i))return"آرے";if(i===null)return"نل";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"};return i=>{switch(i.code){case"invalid_type":return`غلط ان پٹ: ${i.expected} متوقع تھا، ${r(i.input)} موصول ہوا`;case"invalid_value":return i.values.length===1?`غلط ان پٹ: ${xn(i.values[0])} متوقع تھا`:`غلط آپشن: ${hr(i.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`بہت بڑا: ${i.origin??"ویلیو"} کے ${s}${i.maximum.toString()} ${o.unit??"عناصر"} ہونے متوقع تھے`:`بہت بڑا: ${i.origin??"ویلیو"} کا ${s}${i.maximum.toString()} ہونا متوقع تھا`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`بہت چھوٹا: ${i.origin} کے ${s}${i.minimum.toString()} ${o.unit} ہونے متوقع تھے`:`بہت چھوٹا: ${i.origin} کا ${s}${i.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{const s=i;return s.format==="starts_with"?`غلط سٹرنگ: "${s.prefix}" سے شروع ہونا چاہیے`:s.format==="ends_with"?`غلط سٹرنگ: "${s.suffix}" پر ختم ہونا چاہیے`:s.format==="includes"?`غلط سٹرنگ: "${s.includes}" شامل ہونا چاہیے`:s.format==="regex"?`غلط سٹرنگ: پیٹرن ${s.pattern} سے میچ ہونا چاہیے`:`غلط ${n[s.format]??i.format}`}case"not_multiple_of":return`غلط نمبر: ${i.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${i.keys.length>1?"ز":""}: ${hr(i.keys,"، ")}`;case"invalid_key":return`${i.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${i.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};function BUe(){return{localeError:SUe()}}const kUe=()=>{const e={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"số";case"object":{if(Array.isArray(i))return"mảng";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"};return i=>{switch(i.code){case"invalid_type":return`Đầu vào không hợp lệ: mong đợi ${i.expected}, nhận được ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Đầu vào không hợp lệ: mong đợi ${xn(i.values[0])}`:`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Quá lớn: mong đợi ${i.origin??"giá trị"} ${o.verb} ${s}${i.maximum.toString()} ${o.unit??"phần tử"}`:`Quá lớn: mong đợi ${i.origin??"giá trị"} ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Quá nhỏ: mong đợi ${i.origin} ${o.verb} ${s}${i.minimum.toString()} ${o.unit}`:`Quá nhỏ: mong đợi ${i.origin} ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Chuỗi không hợp lệ: phải bắt đầu bằng "${s.prefix}"`:s.format==="ends_with"?`Chuỗi không hợp lệ: phải kết thúc bằng "${s.suffix}"`:s.format==="includes"?`Chuỗi không hợp lệ: phải bao gồm "${s.includes}"`:s.format==="regex"?`Chuỗi không hợp lệ: phải khớp với mẫu ${s.pattern}`:`${n[s.format]??i.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${i.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${hr(i.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${i.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${i.origin}`;default:return"Đầu vào không hợp lệ"}}};function _Ue(){return{localeError:kUe()}}const DUe=()=>{const e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"非数字(NaN)":"数字";case"object":{if(Array.isArray(i))return"数组";if(i===null)return"空值(null)";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"};return i=>{switch(i.code){case"invalid_type":return`无效输入:期望 ${i.expected},实际接收 ${r(i.input)}`;case"invalid_value":return i.values.length===1?`无效输入:期望 ${xn(i.values[0])}`:`无效选项:期望以下之一 ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`数值过大:期望 ${i.origin??"值"} ${s}${i.maximum.toString()} ${o.unit??"个元素"}`:`数值过大:期望 ${i.origin??"值"} ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`数值过小:期望 ${i.origin} ${s}${i.minimum.toString()} ${o.unit}`:`数值过小:期望 ${i.origin} ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`无效字符串:必须以 "${s.prefix}" 开头`:s.format==="ends_with"?`无效字符串:必须以 "${s.suffix}" 结尾`:s.format==="includes"?`无效字符串:必须包含 "${s.includes}"`:s.format==="regex"?`无效字符串:必须满足正则表达式 ${s.pattern}`:`无效${n[s.format]??i.format}`}case"not_multiple_of":return`无效数字:必须是 ${i.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${hr(i.keys,", ")}`;case"invalid_key":return`${i.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${i.origin} 中包含无效值(value)`;default:return"无效输入"}}};function TUe(){return{localeError:DUe()}}const RUe=()=>{const e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"number";case"object":{if(Array.isArray(i))return"array";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"};return i=>{switch(i.code){case"invalid_type":return`無效的輸入值:預期為 ${i.expected},但收到 ${r(i.input)}`;case"invalid_value":return i.values.length===1?`無效的輸入值:預期為 ${xn(i.values[0])}`:`無效的選項:預期為以下其中之一 ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`數值過大:預期 ${i.origin??"值"} 應為 ${s}${i.maximum.toString()} ${o.unit??"個元素"}`:`數值過大:預期 ${i.origin??"值"} 應為 ${s}${i.maximum.toString()}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`數值過小:預期 ${i.origin} 應為 ${s}${i.minimum.toString()} ${o.unit}`:`數值過小:預期 ${i.origin} 應為 ${s}${i.minimum.toString()}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`無效的字串:必須以 "${s.prefix}" 開頭`:s.format==="ends_with"?`無效的字串:必須以 "${s.suffix}" 結尾`:s.format==="includes"?`無效的字串:必須包含 "${s.includes}"`:s.format==="regex"?`無效的字串:必須符合格式 ${s.pattern}`:`無效的 ${n[s.format]??i.format}`}case"not_multiple_of":return`無效的數字:必須為 ${i.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${i.keys.length>1?"們":""}:${hr(i.keys,"、")}`;case"invalid_key":return`${i.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${i.origin} 中有無效的值`;default:return"無效的輸入值"}}};function PUe(){return{localeError:RUe()}}const QUe=()=>{const e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function t(i){return e[i]??null}const r=i=>{const s=typeof i;switch(s){case"number":return Number.isNaN(i)?"NaN":"nọ́mbà";case"object":{if(Array.isArray(i))return"akopọ";if(i===null)return"null";if(Object.getPrototypeOf(i)!==Object.prototype&&i.constructor)return i.constructor.name}}return s},n={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"};return i=>{switch(i.code){case"invalid_type":return`Ìbáwọlé aṣìṣe: a ní láti fi ${i.expected}, àmọ̀ a rí ${r(i.input)}`;case"invalid_value":return i.values.length===1?`Ìbáwọlé aṣìṣe: a ní láti fi ${xn(i.values[0])}`:`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${hr(i.values,"|")}`;case"too_big":{const s=i.inclusive?"<=":"<",o=t(i.origin);return o?`Tó pọ̀ jù: a ní láti jẹ́ pé ${i.origin??"iye"} ${o.verb} ${s}${i.maximum} ${o.unit}`:`Tó pọ̀ jù: a ní láti jẹ́ ${s}${i.maximum}`}case"too_small":{const s=i.inclusive?">=":">",o=t(i.origin);return o?`Kéré ju: a ní láti jẹ́ pé ${i.origin} ${o.verb} ${s}${i.minimum} ${o.unit}`:`Kéré ju: a ní láti jẹ́ ${s}${i.minimum}`}case"invalid_format":{const s=i;return s.format==="starts_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${s.prefix}"`:s.format==="ends_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${s.suffix}"`:s.format==="includes"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${s.includes}"`:s.format==="regex"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${s.pattern}`:`Aṣìṣe: ${n[s.format]??i.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${i.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${hr(i.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${i.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${i.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};function FUe(){return{localeError:QUe()}}const nee=Object.freeze(Object.defineProperty({__proto__:null,ar:ZLe,az:XLe,be:tMe,bg:iMe,ca:sMe,cs:lMe,da:uMe,de:fMe,en:eee,eo:AMe,es:vMe,fa:bMe,fi:EMe,fr:IMe,frCA:NMe,he:BMe,hu:_Me,id:TMe,is:QMe,it:OMe,ja:MMe,ka:$Me,kh:qMe,km:tee,ko:VMe,lt:YMe,mk:JMe,ms:eUe,nl:rUe,no:iUe,ota:sUe,pl:uUe,ps:lUe,pt:fUe,ru:mUe,sl:gUe,sv:xUe,ta:yUe,th:wUe,tr:IUe,ua:NUe,uk:ree,ur:BUe,vi:_Ue,yo:FUe,zhCN:TUe,zhTW:PUe},Symbol.toStringTag,{value:"Module"}));var JF;const iee=Symbol("ZodOutput"),aee=Symbol("ZodInput");class see{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const n={...this.get(r)??{}};delete n.id;const i={...n,...this._map.get(t)};return Object.keys(i).length?i:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function lk(){return new see}(JF=globalThis).__zod_globalRegistry??(JF.__zod_globalRegistry=lk());const Q0=globalThis.__zod_globalRegistry;function oee(e,t){return new e({type:"string",...Ut(t)})}function lee(e,t){return new e({type:"string",coerce:!0,...Ut(t)})}function ck(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ut(t)})}function t4(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ut(t)})}function uk(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ut(t)})}function dk(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ut(t)})}function fk(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ut(t)})}function hk(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ut(t)})}function KE(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ut(t)})}function mk(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ut(t)})}function pk(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ut(t)})}function gk(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ut(t)})}function Ak(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ut(t)})}function xk(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ut(t)})}function vk(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ut(t)})}function yk(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ut(t)})}function bk(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ut(t)})}function wk(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ut(t)})}function cee(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...Ut(t)})}function Ek(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ut(t)})}function Ck(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ut(t)})}function Ik(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ut(t)})}function jk(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ut(t)})}function Nk(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ut(t)})}function Sk(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ut(t)})}const uee={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function dee(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ut(t)})}function fee(e,t){return new e({type:"string",format:"date",check:"string_format",...Ut(t)})}function hee(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Ut(t)})}function mee(e,t){return new e({type:"string",format:"duration",check:"string_format",...Ut(t)})}function pee(e,t){return new e({type:"number",checks:[],...Ut(t)})}function gee(e,t){return new e({type:"number",coerce:!0,checks:[],...Ut(t)})}function Aee(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Ut(t)})}function xee(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...Ut(t)})}function vee(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...Ut(t)})}function yee(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...Ut(t)})}function bee(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...Ut(t)})}function wee(e,t){return new e({type:"boolean",...Ut(t)})}function Eee(e,t){return new e({type:"boolean",coerce:!0,...Ut(t)})}function Cee(e,t){return new e({type:"bigint",...Ut(t)})}function Iee(e,t){return new e({type:"bigint",coerce:!0,...Ut(t)})}function jee(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...Ut(t)})}function Nee(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...Ut(t)})}function See(e,t){return new e({type:"symbol",...Ut(t)})}function Bee(e,t){return new e({type:"undefined",...Ut(t)})}function kee(e,t){return new e({type:"null",...Ut(t)})}function _ee(e){return new e({type:"any"})}function Dee(e){return new e({type:"unknown"})}function Tee(e,t){return new e({type:"never",...Ut(t)})}function Ree(e,t){return new e({type:"void",...Ut(t)})}function Pee(e,t){return new e({type:"date",...Ut(t)})}function Qee(e,t){return new e({type:"date",coerce:!0,...Ut(t)})}function Fee(e,t){return new e({type:"nan",...Ut(t)})}function Mm(e,t){return new ek({check:"less_than",...Ut(t),value:e,inclusive:!1})}function i0(e,t){return new ek({check:"less_than",...Ut(t),value:e,inclusive:!0})}function Um(e,t){return new tk({check:"greater_than",...Ut(t),value:e,inclusive:!1})}function Ac(e,t){return new tk({check:"greater_than",...Ut(t),value:e,inclusive:!0})}function Bk(e){return Um(0,e)}function kk(e){return Mm(0,e)}function _k(e){return i0(0,e)}function Dk(e){return Ac(0,e)}function D1(e,t){return new bJ({check:"multiple_of",...Ut(t),value:e})}function Xy(e,t){return new CJ({check:"max_size",...Ut(t),maximum:e})}function T1(e,t){return new IJ({check:"min_size",...Ut(t),minimum:e})}function YE(e,t){return new jJ({check:"size_equals",...Ut(t),size:e})}function e2(e,t){return new NJ({check:"max_length",...Ut(t),maximum:e})}function Bg(e,t){return new SJ({check:"min_length",...Ut(t),minimum:e})}function t2(e,t){return new BJ({check:"length_equals",...Ut(t),length:e})}function ZE(e,t){return new kJ({check:"string_format",format:"regex",...Ut(t),pattern:e})}function JE(e){return new _J({check:"string_format",format:"lowercase",...Ut(e)})}function XE(e){return new DJ({check:"string_format",format:"uppercase",...Ut(e)})}function eC(e,t){return new TJ({check:"string_format",format:"includes",...Ut(t),includes:e})}function tC(e,t){return new RJ({check:"string_format",format:"starts_with",...Ut(t),prefix:e})}function rC(e,t){return new PJ({check:"string_format",format:"ends_with",...Ut(t),suffix:e})}function Tk(e,t,r){return new QJ({check:"property",property:e,schema:t,...Ut(r)})}function nC(e,t){return new FJ({check:"mime_type",mime:e,...Ut(t)})}function dh(e){return new OJ({check:"overwrite",tx:e})}function iC(e){return dh(t=>t.normalize(e))}function aC(){return dh(e=>e.trim())}function sC(){return dh(e=>e.toLowerCase())}function oC(){return dh(e=>e.toUpperCase())}function lC(){return dh(e=>AZ(e))}function Oee(e,t,r){return new e({type:"array",element:t,...Ut(r)})}function OUe(e,t,r){return new e({type:"union",options:t,...Ut(r)})}function LUe(e,t,r){return new e({type:"union",options:t,inclusive:!1,...Ut(r)})}function MUe(e,t,r,n){return new e({type:"union",options:r,discriminator:t,...Ut(n)})}function UUe(e,t,r){return new e({type:"intersection",left:t,right:r})}function zUe(e,t,r,n){const i=r instanceof Dn,s=i?n:r,o=i?r:null;return new e({type:"tuple",items:t,rest:o,...Ut(s)})}function $Ue(e,t,r,n){return new e({type:"record",keyType:t,valueType:r,...Ut(n)})}function HUe(e,t,r,n){return new e({type:"map",keyType:t,valueType:r,...Ut(n)})}function qUe(e,t,r){return new e({type:"set",valueType:t,...Ut(r)})}function GUe(e,t,r){const n=Array.isArray(t)?Object.fromEntries(t.map(i=>[i,i])):t;return new e({type:"enum",entries:n,...Ut(r)})}function VUe(e,t,r){return new e({type:"enum",entries:t,...Ut(r)})}function WUe(e,t,r){return new e({type:"literal",values:Array.isArray(t)?t:[t],...Ut(r)})}function Lee(e,t){return new e({type:"file",...Ut(t)})}function KUe(e,t){return new e({type:"transform",transform:t})}function YUe(e,t){return new e({type:"optional",innerType:t})}function ZUe(e,t){return new e({type:"nullable",innerType:t})}function JUe(e,t,r){return new e({type:"default",innerType:t,get defaultValue(){return typeof r=="function"?r():qE(r)}})}function XUe(e,t,r){return new e({type:"nonoptional",innerType:t,...Ut(r)})}function eze(e,t){return new e({type:"success",innerType:t})}function tze(e,t,r){return new e({type:"catch",innerType:t,catchValue:typeof r=="function"?r:()=>r})}function rze(e,t,r){return new e({type:"pipe",in:t,out:r})}function nze(e,t){return new e({type:"readonly",innerType:t})}function ize(e,t,r){return new e({type:"template_literal",parts:t,...Ut(r)})}function aze(e,t){return new e({type:"lazy",getter:t})}function sze(e,t){return new e({type:"promise",innerType:t})}function Mee(e,t,r){const n=Ut(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Uee(e,t,r){return new e({type:"custom",check:"custom",fn:t,...Ut(r)})}function zee(e){const t=$ee(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(k1(n,r.value,t._zod.def));else{const i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!t._zod.def.abort),r.issues.push(k1(i))}},e(r.value,r)));return t}function $ee(e,t){const r=new Ja({check:"custom",...Ut(t)});return r._zod.check=e,r}function Hee(e){const t=new Ja({check:"describe"});return t._zod.onattach=[r=>{const n=Q0.get(r)??{};Q0.add(r,{...n,description:e})}],t._zod.check=()=>{},t}function qee(e){const t=new Ja({check:"meta"});return t._zod.onattach=[r=>{const n=Q0.get(r)??{};Q0.add(r,{...n,...e})}],t._zod.check=()=>{},t}function Gee(e,t){const r=Ut(t);let n=r.truthy??["true","1","yes","on","y","enabled"],i=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(A=>typeof A=="string"?A.toLowerCase():A),i=i.map(A=>typeof A=="string"?A.toLowerCase():A));const s=new Set(n),o=new Set(i),l=e.Codec??ok,c=e.Boolean??ik,d=e.String??Jy,u=new d({type:"string",error:r.error}),h=new c({type:"boolean",error:r.error}),p=new l({type:"pipe",in:u,out:h,transform:((A,y)=>{let v=A;return r.case!=="sensitive"&&(v=v.toLowerCase()),s.has(v)?!0:o.has(v)?!1:(y.issues.push({code:"invalid_value",expected:"stringbool",values:[...s,...o],input:y.value,inst:p,continue:!1}),{})}),reverseTransform:((A,y)=>A===!0?n[0]||"true":i[0]||"false"),error:r.error});return p}function r2(e,t,r,n={}){const i=Ut(n),s={...Ut(n),check:"string_format",type:"string",format:t,fn:typeof r=="function"?r:l=>r.test(l),...i};return r instanceof RegExp&&(s.pattern=r),new e(s)}function R1(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Q0,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function ha(e,t,r={path:[],schemaPath:[]}){var n;const i=e._zod.def,s=t.seen.get(e);if(s)return s.count++,r.schemaPath.includes(e)&&(s.cycle=r.path),s.schema;const o={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,o);const l=e._zod.toJSONSchema?.();if(l)o.schema=l;else{const u={...r,schemaPath:[...r.schemaPath,e],path:r.path},h=e._zod.parent;if(h)o.ref=h,ha(h,t,u),t.seen.get(h).isParent=!0;else if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,u);else{const p=o.schema,A=t.processors[i.type];if(!A)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);A(e,t,p,u)}}const c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io==="input"&&zl(e)&&(delete o.schema.examples,delete o.schema.default),t.io==="input"&&o.schema._prefault&&((n=o.schema).default??(n.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function P1(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=s=>{const o=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const u=e.external.registry.get(s[0])?.id,h=e.external.uri??(A=>A);if(u)return{ref:h(u)};const p=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=p,{defId:p,ref:`${h("__shared")}#/${o}/${p}`}}if(s[1]===r)return{ref:"#"};const c=`#/${o}/`,d=s[1].schema.id??`__schema${e.counter++}`;return{defId:d,ref:c+d}},i=s=>{if(s[1].schema.$ref)return;const o=s[1],{ref:l,defId:c}=n(s);o.def={...o.schema},c&&(o.defId=c);const d=o.schema;for(const u in d)delete d[u];d.$ref=l};if(e.cycles==="throw")for(const s of e.seen.entries()){const o=s[1];if(o.cycle)throw new Error(`Cycle detected: #/${o.cycle?.join("/")}/ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const s of e.seen.entries()){const o=s[1];if(t===s[0]){i(s);continue}if(e.external){const c=e.external.registry.get(s[0])?.id;if(t!==s[0]&&c){i(s);continue}}if(e.metadataRegistry.get(s[0])?.id){i(s);continue}if(o.cycle){i(s);continue}if(o.count>1&&e.reused==="ref"){i(s);continue}}}function Q1(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=o=>{const l=e.seen.get(o),c=l.def??l.schema,d={...c};if(l.ref===null)return;const u=l.ref;if(l.ref=null,u){n(u);const h=e.seen.get(u).schema;h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(h)):(Object.assign(c,h),Object.assign(c,d))}l.isParent||e.override({zodSchema:o,jsonSchema:c,path:l.path??[]})};for(const o of[...e.seen.entries()].reverse())n(o[0]);const i={};if(e.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const o=e.external.registry.get(t)?.id;if(!o)throw new Error("Schema is missing an `id` property");i.$id=e.external.uri(o)}Object.assign(i,r.def??r.schema);const s=e.external?.defs??{};for(const o of e.seen.entries()){const l=o[1];l.def&&l.defId&&(s[l.defId]=l.def)}e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?i.$defs=s:i.definitions=s);try{const o=JSON.parse(JSON.stringify(i));return Object.defineProperty(o,"~standard",{value:{...t["~standard"],jsonSchema:{input:Uv(t,"input"),output:Uv(t,"output")}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function zl(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return zl(n.element,r);if(n.type==="set")return zl(n.valueType,r);if(n.type==="lazy")return zl(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return zl(n.innerType,r);if(n.type==="intersection")return zl(n.left,r)||zl(n.right,r);if(n.type==="record"||n.type==="map")return zl(n.keyType,r)||zl(n.valueType,r);if(n.type==="pipe")return zl(n.in,r)||zl(n.out,r);if(n.type==="object"){for(const i in n.shape)if(zl(n.shape[i],r))return!0;return!1}if(n.type==="union"){for(const i of n.options)if(zl(i,r))return!0;return!1}if(n.type==="tuple"){for(const i of n.items)if(zl(i,r))return!0;return!!(n.rest&&zl(n.rest,r))}return!1}const Vee=(e,t={})=>r=>{const n=R1({...r,processors:t});return ha(e,n),P1(n,e),Q1(n,e)},Uv=(e,t)=>r=>{const{libraryOptions:n,target:i}=r??{},s=R1({...n??{},target:i,io:t,processors:{}});return ha(e,s),P1(s,e),Q1(s,e)},oze={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Wee=(e,t,r,n)=>{const i=r;i.type="string";const{minimum:s,maximum:o,format:l,patterns:c,contentEncoding:d}=e._zod.bag;if(typeof s=="number"&&(i.minLength=s),typeof o=="number"&&(i.maxLength=o),l&&(i.format=oze[l]??l,i.format===""&&delete i.format),d&&(i.contentEncoding=d),c&&c.size>0){const u=[...c];u.length===1?i.pattern=u[0].source:u.length>1&&(i.allOf=[...u.map(h=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:h.source}))])}},Kee=(e,t,r,n)=>{const i=r,{minimum:s,maximum:o,format:l,multipleOf:c,exclusiveMaximum:d,exclusiveMinimum:u}=e._zod.bag;typeof l=="string"&&l.includes("int")?i.type="integer":i.type="number",typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof s=="number"&&(i.minimum=s,typeof u=="number"&&t.target!=="draft-04"&&(u>=s?delete i.minimum:delete i.exclusiveMinimum)),typeof d=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.maximum=d,i.exclusiveMaximum=!0):i.exclusiveMaximum=d),typeof o=="number"&&(i.maximum=o,typeof d=="number"&&t.target!=="draft-04"&&(d<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c=="number"&&(i.multipleOf=c)},Yee=(e,t,r,n)=>{r.type="boolean"},Zee=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Jee=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Xee=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},ete=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},tte=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},rte=(e,t,r,n)=>{r.not={}},nte=(e,t,r,n)=>{},ite=(e,t,r,n)=>{},ate=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},ste=(e,t,r,n)=>{const i=e._zod.def,s=L8(i.entries);s.every(o=>typeof o=="number")&&(r.type="number"),s.every(o=>typeof o=="string")&&(r.type="string"),r.enum=s},ote=(e,t,r,n)=>{const i=e._zod.def,s=[];for(const o of i.values)if(o===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(o))}else s.push(o);if(s.length!==0)if(s.length===1){const o=s[0];r.type=o===null?"null":typeof o,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[o]:r.const=o}else s.every(o=>typeof o=="number")&&(r.type="number"),s.every(o=>typeof o=="string")&&(r.type="string"),s.every(o=>typeof o=="boolean")&&(r.type="boolean"),s.every(o=>o===null)&&(r.type="null"),r.enum=s},lte=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},cte=(e,t,r,n)=>{const i=r,s=e._zod.pattern;if(!s)throw new Error("Pattern not found in template literal");i.type="string",i.pattern=s.source},ute=(e,t,r,n)=>{const i=r,s={type:"string",format:"binary",contentEncoding:"binary"},{minimum:o,maximum:l,mime:c}=e._zod.bag;o!==void 0&&(s.minLength=o),l!==void 0&&(s.maxLength=l),c?c.length===1?(s.contentMediaType=c[0],Object.assign(i,s)):i.anyOf=c.map(d=>({...s,contentMediaType:d})):Object.assign(i,s)},dte=(e,t,r,n)=>{r.type="boolean"},fte=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},hte=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},mte=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},pte=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},gte=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Ate=(e,t,r,n)=>{const i=r,s=e._zod.def,{minimum:o,maximum:l}=e._zod.bag;typeof o=="number"&&(i.minItems=o),typeof l=="number"&&(i.maxItems=l),i.type="array",i.items=ha(s.element,t,{...n,path:[...n.path,"items"]})},xte=(e,t,r,n)=>{const i=r,s=e._zod.def;i.type="object",i.properties={};const o=s.shape;for(const d in o)i.properties[d]=ha(o[d],t,{...n,path:[...n.path,"properties",d]});const l=new Set(Object.keys(o)),c=new Set([...l].filter(d=>{const u=s.shape[d]._zod;return t.io==="input"?u.optin===void 0:u.optout===void 0}));c.size>0&&(i.required=Array.from(c)),s.catchall?._zod.def.type==="never"?i.additionalProperties=!1:s.catchall?s.catchall&&(i.additionalProperties=ha(s.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(i.additionalProperties=!1)},Rk=(e,t,r,n)=>{const i=e._zod.def,s=i.inclusive===!1,o=i.options.map((l,c)=>ha(l,t,{...n,path:[...n.path,s?"oneOf":"anyOf",c]}));s?r.oneOf=o:r.anyOf=o},vte=(e,t,r,n)=>{const i=e._zod.def,s=ha(i.left,t,{...n,path:[...n.path,"allOf",0]}),o=ha(i.right,t,{...n,path:[...n.path,"allOf",1]}),l=d=>"allOf"in d&&Object.keys(d).length===1,c=[...l(s)?s.allOf:[s],...l(o)?o.allOf:[o]];r.allOf=c},yte=(e,t,r,n)=>{const i=r,s=e._zod.def;i.type="array";const o=t.target==="draft-2020-12"?"prefixItems":"items",l=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=s.items.map((p,A)=>ha(p,t,{...n,path:[...n.path,o,A]})),d=s.rest?ha(s.rest,t,{...n,path:[...n.path,l,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null;t.target==="draft-2020-12"?(i.prefixItems=c,d&&(i.items=d)):t.target==="openapi-3.0"?(i.items={anyOf:c},d&&i.items.anyOf.push(d),i.minItems=c.length,d||(i.maxItems=c.length)):(i.items=c,d&&(i.additionalItems=d));const{minimum:u,maximum:h}=e._zod.bag;typeof u=="number"&&(i.minItems=u),typeof h=="number"&&(i.maxItems=h)},bte=(e,t,r,n)=>{const i=r,s=e._zod.def;i.type="object",(t.target==="draft-07"||t.target==="draft-2020-12")&&(i.propertyNames=ha(s.keyType,t,{...n,path:[...n.path,"propertyNames"]})),i.additionalProperties=ha(s.valueType,t,{...n,path:[...n.path,"additionalProperties"]})},wte=(e,t,r,n)=>{const i=e._zod.def,s=ha(i.innerType,t,n),o=t.seen.get(e);t.target==="openapi-3.0"?(o.ref=i.innerType,r.nullable=!0):r.anyOf=[s,{type:"null"}]},Ete=(e,t,r,n)=>{const i=e._zod.def;ha(i.innerType,t,n);const s=t.seen.get(e);s.ref=i.innerType},Cte=(e,t,r,n)=>{const i=e._zod.def;ha(i.innerType,t,n);const s=t.seen.get(e);s.ref=i.innerType,r.default=JSON.parse(JSON.stringify(i.defaultValue))},Ite=(e,t,r,n)=>{const i=e._zod.def;ha(i.innerType,t,n);const s=t.seen.get(e);s.ref=i.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},jte=(e,t,r,n)=>{const i=e._zod.def;ha(i.innerType,t,n);const s=t.seen.get(e);s.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=o},Nte=(e,t,r,n)=>{const i=e._zod.def,s=t.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;ha(s,t,n);const o=t.seen.get(e);o.ref=s},Ste=(e,t,r,n)=>{const i=e._zod.def;ha(i.innerType,t,n);const s=t.seen.get(e);s.ref=i.innerType,r.readOnly=!0},Bte=(e,t,r,n)=>{const i=e._zod.def;ha(i.innerType,t,n);const s=t.seen.get(e);s.ref=i.innerType},kte=(e,t,r,n)=>{const i=e._zod.def;ha(i.innerType,t,n);const s=t.seen.get(e);s.ref=i.innerType},_te=(e,t,r,n)=>{const i=e._zod.innerType;ha(i,t,n);const s=t.seen.get(e);s.ref=i},A6={string:Wee,number:Kee,boolean:Yee,bigint:Zee,symbol:Jee,null:Xee,undefined:ete,void:tte,never:rte,any:nte,unknown:ite,date:ate,enum:ste,literal:ote,nan:lte,template_literal:cte,file:ute,success:dte,custom:fte,function:hte,transform:mte,map:pte,set:gte,array:Ate,object:xte,union:Rk,intersection:vte,tuple:yte,record:bte,nullable:wte,nonoptional:Ete,default:Cte,prefault:Ite,catch:jte,pipe:Nte,readonly:Ste,promise:Bte,optional:kte,lazy:_te};function Dte(e,t){if("_idmap"in e){const n=e,i=R1({...t,processors:A6}),s={};for(const c of n._idmap.entries()){const[d,u]=c;ha(u,i)}const o={},l={registry:n,uri:t?.uri,defs:s};i.external=l;for(const c of n._idmap.entries()){const[d,u]=c;P1(i,u),o[d]=Q1(i,u)}if(Object.keys(s).length>0){const c=i.target==="draft-2020-12"?"$defs":"definitions";o.__shared={[c]:s}}return{schemas:o}}const r=R1({...t,processors:A6});return ha(e,r),P1(r,e),Q1(r,e)}class lze{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(t){this.ctx.counter=t}get seen(){return this.ctx.seen}constructor(t){let r=t?.target??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=R1({processors:A6,target:r,...t?.metadata&&{metadata:t.metadata},...t?.unrepresentable&&{unrepresentable:t.unrepresentable},...t?.override&&{override:t.override},...t?.io&&{io:t.io}})}process(t,r={path:[],schemaPath:[]}){return ha(t,this.ctx,r)}emit(t,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),P1(this.ctx,t);const n=Q1(this.ctx,t),{"~standard":i,...s}=n;return s}}const cze=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),uze=Object.freeze(Object.defineProperty({__proto__:null,$ZodAny:vX,$ZodArray:CX,$ZodAsyncError:dg,$ZodBase64:oX,$ZodBase64URL:cX,$ZodBigInt:ak,$ZodBigIntFormat:pX,$ZodBoolean:ik,$ZodCIDRv4:aX,$ZodCIDRv6:sX,$ZodCUID:VJ,$ZodCUID2:WJ,$ZodCatch:qX,$ZodCheck:Ja,$ZodCheckBigIntFormat:EJ,$ZodCheckEndsWith:PJ,$ZodCheckGreaterThan:tk,$ZodCheckIncludes:TJ,$ZodCheckLengthEquals:BJ,$ZodCheckLessThan:ek,$ZodCheckLowerCase:_J,$ZodCheckMaxLength:NJ,$ZodCheckMaxSize:CJ,$ZodCheckMimeType:FJ,$ZodCheckMinLength:SJ,$ZodCheckMinSize:IJ,$ZodCheckMultipleOf:bJ,$ZodCheckNumberFormat:wJ,$ZodCheckOverwrite:OJ,$ZodCheckProperty:QJ,$ZodCheckRegex:kJ,$ZodCheckSizeEquals:jJ,$ZodCheckStartsWith:RJ,$ZodCheckStringFormat:Zy,$ZodCheckUpperCase:DJ,$ZodCodec:ok,$ZodCustom:XX,$ZodCustomStringFormat:hX,$ZodDate:EX,$ZodDefault:UX,$ZodDiscriminatedUnion:kX,$ZodE164:uX,$ZodEmail:$J,$ZodEmoji:qJ,$ZodEncodeError:$E,$ZodEnum:PX,$ZodError:U8,$ZodFile:FX,$ZodFunction:YX,$ZodGUID:UJ,$ZodIPv4:rX,$ZodIPv6:nX,$ZodISODate:XJ,$ZodISODateTime:JJ,$ZodISODuration:tX,$ZodISOTime:eX,$ZodIntersection:_X,$ZodJWT:fX,$ZodKSUID:ZJ,$ZodLazy:JX,$ZodLiteral:QX,$ZodMAC:iX,$ZodMap:TX,$ZodNaN:GX,$ZodNanoID:GJ,$ZodNever:bX,$ZodNonOptional:$X,$ZodNull:xX,$ZodNullable:MX,$ZodNumber:nk,$ZodNumberFormat:mX,$ZodObject:NX,$ZodObjectJIT:SX,$ZodOptional:LX,$ZodPipe:VX,$ZodPrefault:zX,$ZodPromise:ZX,$ZodReadonly:WX,$ZodRealError:pu,$ZodRecord:DX,$ZodRegistry:see,$ZodSet:RX,$ZodString:Jy,$ZodStringFormat:ga,$ZodSuccess:HX,$ZodSymbol:gX,$ZodTemplateLiteral:KX,$ZodTransform:OX,$ZodTuple:sk,$ZodType:Dn,$ZodULID:KJ,$ZodURL:HJ,$ZodUUID:zJ,$ZodUndefined:AX,$ZodUnion:WE,$ZodUnknown:yX,$ZodVoid:wX,$ZodXID:YJ,$ZodXor:BX,$brand:pZ,$constructor:at,$input:aee,$output:iee,Doc:LJ,JSONSchema:cze,JSONSchemaGenerator:lze,NEVER:mZ,TimePrecision:uee,_any:_ee,_array:Oee,_base64:Ik,_base64url:jk,_bigint:Cee,_boolean:wee,_catch:tze,_check:$ee,_cidrv4:Ek,_cidrv6:Ck,_coercedBigint:Iee,_coercedBoolean:Eee,_coercedDate:Qee,_coercedNumber:gee,_coercedString:lee,_cuid:gk,_cuid2:Ak,_custom:Mee,_date:Pee,_decode:q8,_decodeAsync:V8,_default:JUe,_discriminatedUnion:MUe,_e164:Nk,_email:ck,_emoji:mk,_encode:H8,_encodeAsync:G8,_endsWith:rC,_enum:GUe,_file:Lee,_float32:xee,_float64:vee,_gt:Um,_gte:Ac,_guid:t4,_includes:eC,_int:Aee,_int32:yee,_int64:jee,_intersection:UUe,_ipv4:bk,_ipv6:wk,_isoDate:fee,_isoDateTime:dee,_isoDuration:mee,_isoTime:hee,_jwt:Sk,_ksuid:yk,_lazy:aze,_length:t2,_literal:WUe,_lowercase:JE,_lt:Mm,_lte:i0,_mac:cee,_map:HUe,_max:i0,_maxLength:e2,_maxSize:Xy,_mime:nC,_min:Ac,_minLength:Bg,_minSize:T1,_multipleOf:D1,_nan:Fee,_nanoid:pk,_nativeEnum:VUe,_negative:kk,_never:Tee,_nonnegative:Dk,_nonoptional:XUe,_nonpositive:_k,_normalize:iC,_null:kee,_nullable:ZUe,_number:pee,_optional:YUe,_overwrite:dh,_parse:qy,_parseAsync:Gy,_pipe:rze,_positive:Bk,_promise:sze,_property:Tk,_readonly:nze,_record:$Ue,_refine:Uee,_regex:ZE,_safeDecode:K8,_safeDecodeAsync:Z8,_safeEncode:W8,_safeEncodeAsync:Y8,_safeParse:Vy,_safeParseAsync:Wy,_set:qUe,_size:YE,_slugify:lC,_startsWith:tC,_string:oee,_stringFormat:r2,_stringbool:Gee,_success:eze,_superRefine:zee,_symbol:See,_templateLiteral:ize,_toLowerCase:sC,_toUpperCase:oC,_transform:KUe,_trim:aC,_tuple:zUe,_uint32:bee,_uint64:Nee,_ulid:xk,_undefined:Bee,_union:OUe,_unknown:Dee,_uppercase:XE,_url:KE,_uuid:uk,_uuidv4:dk,_uuidv6:fk,_uuidv7:hk,_void:Ree,_xid:vk,_xor:LUe,clone:d0,config:_l,createStandardJSONSchemaMethod:Uv,createToJSONSchemaMethod:Vee,decode:vLe,decodeAsync:bLe,describe:Hee,encode:xLe,encodeAsync:yLe,extractDefs:P1,finalize:Q1,flattenError:z8,formatError:$8,globalConfig:Zw,globalRegistry:Q0,initializeContext:R1,isValidBase64:rk,isValidBase64URL:lX,isValidJWT:dX,locales:nee,meta:qee,parse:m6,parseAsync:p6,prettifyError:QZ,process:ha,regexes:X8,registry:lk,safeDecode:ELe,safeDecodeAsync:ILe,safeEncode:wLe,safeEncodeAsync:CLe,safeParse:FZ,safeParseAsync:OZ,toDotPath:PZ,toJSONSchema:Dte,treeifyError:RZ,util:DZ,version:MJ},Symbol.toStringTag,{value:"Module"})),dze=Object.freeze(Object.defineProperty({__proto__:null,endsWith:rC,gt:Um,gte:Ac,includes:eC,length:t2,lowercase:JE,lt:Mm,lte:i0,maxLength:e2,maxSize:Xy,mime:nC,minLength:Bg,minSize:T1,multipleOf:D1,negative:kk,nonnegative:Dk,nonpositive:_k,normalize:iC,overwrite:dh,positive:Bk,property:Tk,regex:ZE,size:YE,slugify:lC,startsWith:tC,toLowerCase:sC,toUpperCase:oC,trim:aC,uppercase:XE},Symbol.toStringTag,{value:"Module"})),Pk=at("ZodISODateTime",(e,t)=>{JJ.init(e,t),Aa.init(e,t)});function Tte(e){return dee(Pk,e)}const Qk=at("ZodISODate",(e,t)=>{XJ.init(e,t),Aa.init(e,t)});function Rte(e){return fee(Qk,e)}const Fk=at("ZodISOTime",(e,t)=>{eX.init(e,t),Aa.init(e,t)});function Pte(e){return hee(Fk,e)}const Ok=at("ZodISODuration",(e,t)=>{tX.init(e,t),Aa.init(e,t)});function Qte(e){return mee(Ok,e)}const Fte=Object.freeze(Object.defineProperty({__proto__:null,ZodISODate:Qk,ZodISODateTime:Pk,ZodISODuration:Ok,ZodISOTime:Fk,date:Rte,datetime:Tte,duration:Qte,time:Pte},Symbol.toStringTag,{value:"Module"})),Ote=(e,t)=>{U8.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>$8(e,r)},flatten:{value:r=>z8(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Jw,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Jw,2)}},isEmpty:{get(){return e.issues.length===0}}})},fze=at("ZodError",Ote),gu=at("ZodError",Ote,{Parent:Error}),Lte=qy(gu),Mte=Gy(gu),Ute=Vy(gu),zte=Wy(gu),$te=H8(gu),Hte=q8(gu),qte=G8(gu),Gte=V8(gu),Vte=W8(gu),Wte=K8(gu),Kte=Y8(gu),Yte=Z8(gu),Ln=at("ZodType",(e,t)=>(Dn.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Uv(e,"input"),output:Uv(e,"output")}}),e.toJSONSchema=Vee(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(uh(t,{checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]})),e.clone=(r,n)=>d0(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>Lte(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Ute(e,r,n),e.parseAsync=async(r,n)=>Mte(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>zte(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>$te(e,r,n),e.decode=(r,n)=>Hte(e,r,n),e.encodeAsync=async(r,n)=>qte(e,r,n),e.decodeAsync=async(r,n)=>Gte(e,r,n),e.safeEncode=(r,n)=>Vte(e,r,n),e.safeDecode=(r,n)=>Wte(e,r,n),e.safeEncodeAsync=async(r,n)=>Kte(e,r,n),e.safeDecodeAsync=async(r,n)=>Yte(e,r,n),e.refine=(r,n)=>e.check(I_(r,n)),e.superRefine=r=>e.check(j_(r)),e.overwrite=r=>e.check(dh(r)),e.optional=()=>Hv(e),e.nullable=()=>qv(e),e.nullish=()=>Hv(qv(e)),e.nonoptional=r=>f_(e,r),e.array=()=>tp(e),e.or=r=>cx([e,r]),e.and=r=>Jk(e,r),e.transform=r=>Gv(e,DC(r)),e.default=r=>c_(e,r),e.prefault=r=>d_(e,r),e.catch=r=>p_(e,r),e.pipe=r=>Gv(e,r),e.readonly=()=>x_(e),e.describe=r=>{const n=e.clone();return Q0.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Q0.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Q0.get(e);const n=e.clone();return Q0.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),cC=at("_ZodString",(e,t)=>{Jy.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(n,i,s)=>Wee(e,n,i);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(ZE(...n)),e.includes=(...n)=>e.check(eC(...n)),e.startsWith=(...n)=>e.check(tC(...n)),e.endsWith=(...n)=>e.check(rC(...n)),e.min=(...n)=>e.check(Bg(...n)),e.max=(...n)=>e.check(e2(...n)),e.length=(...n)=>e.check(t2(...n)),e.nonempty=(...n)=>e.check(Bg(1,...n)),e.lowercase=n=>e.check(JE(n)),e.uppercase=n=>e.check(XE(n)),e.trim=()=>e.check(aC()),e.normalize=(...n)=>e.check(iC(...n)),e.toLowerCase=()=>e.check(sC()),e.toUpperCase=()=>e.check(oC()),e.slugify=()=>e.check(lC())}),n2=at("ZodString",(e,t)=>{Jy.init(e,t),cC.init(e,t),e.email=r=>e.check(ck(uC,r)),e.url=r=>e.check(KE(i2,r)),e.jwt=r=>e.check(Sk(IC,r)),e.emoji=r=>e.check(mk(dC,r)),e.guid=r=>e.check(t4(zv,r)),e.uuid=r=>e.check(uk(zd,r)),e.uuidv4=r=>e.check(dk(zd,r)),e.uuidv6=r=>e.check(fk(zd,r)),e.uuidv7=r=>e.check(hk(zd,r)),e.nanoid=r=>e.check(pk(fC,r)),e.guid=r=>e.check(t4(zv,r)),e.cuid=r=>e.check(gk(hC,r)),e.cuid2=r=>e.check(Ak(mC,r)),e.ulid=r=>e.check(xk(pC,r)),e.base64=r=>e.check(Ik(wC,r)),e.base64url=r=>e.check(jk(EC,r)),e.xid=r=>e.check(vk(gC,r)),e.ksuid=r=>e.check(yk(AC,r)),e.ipv4=r=>e.check(bk(xC,r)),e.ipv6=r=>e.check(wk(vC,r)),e.cidrv4=r=>e.check(Ek(yC,r)),e.cidrv6=r=>e.check(Ck(bC,r)),e.e164=r=>e.check(Nk(CC,r)),e.datetime=r=>e.check(Tte(r)),e.date=r=>e.check(Rte(r)),e.time=r=>e.check(Pte(r)),e.duration=r=>e.check(Qte(r))});function Kl(e){return oee(n2,e)}const Aa=at("ZodStringFormat",(e,t)=>{ga.init(e,t),cC.init(e,t)}),uC=at("ZodEmail",(e,t)=>{$J.init(e,t),Aa.init(e,t)});function Zte(e){return ck(uC,e)}const zv=at("ZodGUID",(e,t)=>{UJ.init(e,t),Aa.init(e,t)});function Jte(e){return t4(zv,e)}const zd=at("ZodUUID",(e,t)=>{zJ.init(e,t),Aa.init(e,t)});function Xte(e){return uk(zd,e)}function ere(e){return dk(zd,e)}function tre(e){return fk(zd,e)}function rre(e){return hk(zd,e)}const i2=at("ZodURL",(e,t)=>{HJ.init(e,t),Aa.init(e,t)});function nre(e){return KE(i2,e)}function ire(e){return KE(i2,{protocol:/^https?$/,hostname:nJ,...Ut(e)})}const dC=at("ZodEmoji",(e,t)=>{qJ.init(e,t),Aa.init(e,t)});function are(e){return mk(dC,e)}const fC=at("ZodNanoID",(e,t)=>{GJ.init(e,t),Aa.init(e,t)});function sre(e){return pk(fC,e)}const hC=at("ZodCUID",(e,t)=>{VJ.init(e,t),Aa.init(e,t)});function ore(e){return gk(hC,e)}const mC=at("ZodCUID2",(e,t)=>{WJ.init(e,t),Aa.init(e,t)});function lre(e){return Ak(mC,e)}const pC=at("ZodULID",(e,t)=>{KJ.init(e,t),Aa.init(e,t)});function cre(e){return xk(pC,e)}const gC=at("ZodXID",(e,t)=>{YJ.init(e,t),Aa.init(e,t)});function ure(e){return vk(gC,e)}const AC=at("ZodKSUID",(e,t)=>{ZJ.init(e,t),Aa.init(e,t)});function dre(e){return yk(AC,e)}const xC=at("ZodIPv4",(e,t)=>{rX.init(e,t),Aa.init(e,t)});function fre(e){return bk(xC,e)}const Lk=at("ZodMAC",(e,t)=>{iX.init(e,t),Aa.init(e,t)});function hre(e){return cee(Lk,e)}const vC=at("ZodIPv6",(e,t)=>{nX.init(e,t),Aa.init(e,t)});function mre(e){return wk(vC,e)}const yC=at("ZodCIDRv4",(e,t)=>{aX.init(e,t),Aa.init(e,t)});function pre(e){return Ek(yC,e)}const bC=at("ZodCIDRv6",(e,t)=>{sX.init(e,t),Aa.init(e,t)});function gre(e){return Ck(bC,e)}const wC=at("ZodBase64",(e,t)=>{oX.init(e,t),Aa.init(e,t)});function Are(e){return Ik(wC,e)}const EC=at("ZodBase64URL",(e,t)=>{cX.init(e,t),Aa.init(e,t)});function xre(e){return jk(EC,e)}const CC=at("ZodE164",(e,t)=>{uX.init(e,t),Aa.init(e,t)});function vre(e){return Nk(CC,e)}const IC=at("ZodJWT",(e,t)=>{fX.init(e,t),Aa.init(e,t)});function yre(e){return Sk(IC,e)}const lx=at("ZodCustomStringFormat",(e,t)=>{hX.init(e,t),Aa.init(e,t)});function bre(e,t,r={}){return r2(lx,e,t,r)}function wre(e){return r2(lx,"hostname",rJ,e)}function Ere(e){return r2(lx,"hex",vJ,e)}function Cre(e,t){const r=t?.enc??"hex",n=`${e}_${r}`,i=X8[n];if(!i)throw new Error(`Unrecognized hash format: ${n}`);return r2(lx,n,i,t)}const a2=at("ZodNumber",(e,t)=>{nk.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(n,i,s)=>Kee(e,n,i),e.gt=(n,i)=>e.check(Um(n,i)),e.gte=(n,i)=>e.check(Ac(n,i)),e.min=(n,i)=>e.check(Ac(n,i)),e.lt=(n,i)=>e.check(Mm(n,i)),e.lte=(n,i)=>e.check(i0(n,i)),e.max=(n,i)=>e.check(i0(n,i)),e.int=n=>e.check(r4(n)),e.safe=n=>e.check(r4(n)),e.positive=n=>e.check(Um(0,n)),e.nonnegative=n=>e.check(Ac(0,n)),e.negative=n=>e.check(Mm(0,n)),e.nonpositive=n=>e.check(i0(0,n)),e.multipleOf=(n,i)=>e.check(D1(n,i)),e.step=(n,i)=>e.check(D1(n,i)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function xc(e){return pee(a2,e)}const Wg=at("ZodNumberFormat",(e,t)=>{mX.init(e,t),a2.init(e,t)});function r4(e){return Aee(Wg,e)}function Ire(e){return xee(Wg,e)}function jre(e){return vee(Wg,e)}function Nre(e){return yee(Wg,e)}function Sre(e){return bee(Wg,e)}const s2=at("ZodBoolean",(e,t)=>{ik.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Yee(e,r,n)});function jC(e){return wee(s2,e)}const o2=at("ZodBigInt",(e,t)=>{ak.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(n,i,s)=>Zee(e,n),e.gte=(n,i)=>e.check(Ac(n,i)),e.min=(n,i)=>e.check(Ac(n,i)),e.gt=(n,i)=>e.check(Um(n,i)),e.gte=(n,i)=>e.check(Ac(n,i)),e.min=(n,i)=>e.check(Ac(n,i)),e.lt=(n,i)=>e.check(Mm(n,i)),e.lte=(n,i)=>e.check(i0(n,i)),e.max=(n,i)=>e.check(i0(n,i)),e.positive=n=>e.check(Um(BigInt(0),n)),e.negative=n=>e.check(Mm(BigInt(0),n)),e.nonpositive=n=>e.check(i0(BigInt(0),n)),e.nonnegative=n=>e.check(Ac(BigInt(0),n)),e.multipleOf=(n,i)=>e.check(D1(n,i));const r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null});function Bre(e){return Cee(o2,e)}const NC=at("ZodBigIntFormat",(e,t)=>{pX.init(e,t),o2.init(e,t)});function kre(e){return jee(NC,e)}function _re(e){return Nee(NC,e)}const Mk=at("ZodSymbol",(e,t)=>{gX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Jee(e,r)});function Dre(e){return See(Mk,e)}const Uk=at("ZodUndefined",(e,t)=>{AX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>ete(e,r)});function Tre(e){return Bee(Uk,e)}const zk=at("ZodNull",(e,t)=>{xX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Xee(e,r,n)});function SC(e){return kee(zk,e)}const $k=at("ZodAny",(e,t)=>{vX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>nte()});function $v(){return _ee($k)}const Hk=at("ZodUnknown",(e,t)=>{yX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>ite()});function kg(){return Dee(Hk)}const qk=at("ZodNever",(e,t)=>{bX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>rte(e,r,n)});function BC(e){return Tee(qk,e)}const Gk=at("ZodVoid",(e,t)=>{wX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>tte(e,r)});function Rre(e){return Ree(Gk,e)}const kC=at("ZodDate",(e,t)=>{EX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(n,i,s)=>ate(e,n),e.min=(n,i)=>e.check(Ac(n,i)),e.max=(n,i)=>e.check(i0(n,i));const r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null});function Pre(e){return Pee(kC,e)}const Vk=at("ZodArray",(e,t)=>{CX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Ate(e,r,n,i),e.element=t.element,e.min=(r,n)=>e.check(Bg(r,n)),e.nonempty=r=>e.check(Bg(1,r)),e.max=(r,n)=>e.check(e2(r,n)),e.length=(r,n)=>e.check(t2(r,n)),e.unwrap=()=>e.element});function tp(e,t){return Oee(Vk,e,t)}function Qre(e){const t=e._zod.def.shape;return Xl(Object.keys(t))}const l2=at("ZodObject",(e,t)=>{SX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>xte(e,r,n,i),ti(e,"shape",()=>t.shape),e.keyof=()=>Xl(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:kg()}),e.loose=()=>e.clone({...e._zod.def,catchall:kg()}),e.strict=()=>e.clone({...e._zod.def,catchall:BC()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>IZ(e,r),e.safeExtend=r=>jZ(e,r),e.merge=r=>NZ(e,r),e.pick=r=>EZ(e,r),e.omit=r=>CZ(e,r),e.partial=(...r)=>SZ(TC,e,r[0]),e.required=(...r)=>BZ(RC,e,r[0])});function Wk(e,t){const r={type:"object",shape:e??{},...Ut(t)};return new l2(r)}function Fre(e,t){return new l2({type:"object",shape:e,catchall:BC(),...Ut(t)})}function Ore(e,t){return new l2({type:"object",shape:e,catchall:kg(),...Ut(t)})}const c2=at("ZodUnion",(e,t)=>{WE.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Rk(e,r,n,i),e.options=t.options});function cx(e,t){return new c2({type:"union",options:e,...Ut(t)})}const Kk=at("ZodXor",(e,t)=>{c2.init(e,t),BX.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Rk(e,r,n,i),e.options=t.options});function Lre(e,t){return new Kk({type:"union",options:e,inclusive:!1,...Ut(t)})}const Yk=at("ZodDiscriminatedUnion",(e,t)=>{c2.init(e,t),kX.init(e,t)});function Mre(e,t,r){return new Yk({type:"union",options:t,discriminator:e,...Ut(r)})}const Zk=at("ZodIntersection",(e,t)=>{_X.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>vte(e,r,n,i)});function Jk(e,t){return new Zk({type:"intersection",left:e,right:t})}const Xk=at("ZodTuple",(e,t)=>{sk.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>yte(e,r,n,i),e.rest=r=>e.clone({...e._zod.def,rest:r})});function e_(e,t,r){const n=t instanceof Dn,i=n?r:t,s=n?t:null;return new Xk({type:"tuple",items:e,rest:s,...Ut(i)})}const u2=at("ZodRecord",(e,t)=>{DX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>bte(e,r,n,i),e.keyType=t.keyType,e.valueType=t.valueType});function _C(e,t,r){return new u2({type:"record",keyType:e,valueType:t,...Ut(r)})}function Ure(e,t,r){const n=d0(e);return n._zod.values=void 0,new u2({type:"record",keyType:n,valueType:t,...Ut(r)})}function zre(e,t,r){return new u2({type:"record",keyType:e,valueType:t,mode:"loose",...Ut(r)})}const t_=at("ZodMap",(e,t)=>{TX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>pte(e,r),e.keyType=t.keyType,e.valueType=t.valueType});function $re(e,t,r){return new t_({type:"map",keyType:e,valueType:t,...Ut(r)})}const r_=at("ZodSet",(e,t)=>{RX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>gte(e,r),e.min=(...r)=>e.check(T1(...r)),e.nonempty=r=>e.check(T1(1,r)),e.max=(...r)=>e.check(Xy(...r)),e.size=(...r)=>e.check(YE(...r))});function Hre(e,t){return new r_({type:"set",valueType:e,...Ut(t)})}const F1=at("ZodEnum",(e,t)=>{PX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(n,i,s)=>ste(e,n,i),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(n,i)=>{const s={};for(const o of n)if(r.has(o))s[o]=t.entries[o];else throw new Error(`Key ${o} not found in enum`);return new F1({...t,checks:[],...Ut(i),entries:s})},e.exclude=(n,i)=>{const s={...t.entries};for(const o of n)if(r.has(o))delete s[o];else throw new Error(`Key ${o} not found in enum`);return new F1({...t,checks:[],...Ut(i),entries:s})}});function Xl(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new F1({type:"enum",entries:r,...Ut(t)})}function qre(e,t){return new F1({type:"enum",entries:e,...Ut(t)})}const n_=at("ZodLiteral",(e,t)=>{QX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>ote(e,r,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function i_(e,t){return new n_({type:"literal",values:Array.isArray(e)?e:[e],...Ut(t)})}const a_=at("ZodFile",(e,t)=>{FX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>ute(e,r,n),e.min=(r,n)=>e.check(T1(r,n)),e.max=(r,n)=>e.check(Xy(r,n)),e.mime=(r,n)=>e.check(nC(Array.isArray(r)?r:[r],n))});function Gre(e){return Lee(a_,e)}const s_=at("ZodTransform",(e,t)=>{OX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>mte(e,r),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new $E(e.constructor.name);r.addIssue=s=>{if(typeof s=="string")r.issues.push(k1(s,r.value,t));else{const o=s;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),r.issues.push(k1(o))}};const i=t.transform(r.value,r);return i instanceof Promise?i.then(s=>(r.value=s,r)):(r.value=i,r)}});function DC(e){return new s_({type:"transform",transform:e})}const TC=at("ZodOptional",(e,t)=>{LX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>kte(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function Hv(e){return new TC({type:"optional",innerType:e})}const o_=at("ZodNullable",(e,t)=>{MX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>wte(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function qv(e){return new o_({type:"nullable",innerType:e})}function Vre(e){return Hv(qv(e))}const l_=at("ZodDefault",(e,t)=>{UX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Cte(e,r,n,i),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function c_(e,t){return new l_({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():qE(t)}})}const u_=at("ZodPrefault",(e,t)=>{zX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Ite(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function d_(e,t){return new u_({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():qE(t)}})}const RC=at("ZodNonOptional",(e,t)=>{$X.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Ete(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function f_(e,t){return new RC({type:"nonoptional",innerType:e,...Ut(t)})}const h_=at("ZodSuccess",(e,t)=>{HX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>dte(e,r,n),e.unwrap=()=>e._zod.def.innerType});function Wre(e){return new h_({type:"success",innerType:e})}const m_=at("ZodCatch",(e,t)=>{qX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>jte(e,r,n,i),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function p_(e,t){return new m_({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const g_=at("ZodNaN",(e,t)=>{GX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>lte(e,r)});function Kre(e){return Fee(g_,e)}const PC=at("ZodPipe",(e,t)=>{VX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Nte(e,r,n,i),e.in=t.in,e.out=t.out});function Gv(e,t){return new PC({type:"pipe",in:e,out:t})}const QC=at("ZodCodec",(e,t)=>{PC.init(e,t),ok.init(e,t)});function Yre(e,t,r){return new QC({type:"pipe",in:e,out:t,transform:r.decode,reverseTransform:r.encode})}const A_=at("ZodReadonly",(e,t)=>{WX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Ste(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function x_(e){return new A_({type:"readonly",innerType:e})}const v_=at("ZodTemplateLiteral",(e,t)=>{KX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>cte(e,r,n)});function Zre(e,t){return new v_({type:"template_literal",parts:e,...Ut(t)})}const y_=at("ZodLazy",(e,t)=>{JX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>_te(e,r,n,i),e.unwrap=()=>e._zod.def.getter()});function b_(e){return new y_({type:"lazy",getter:e})}const w_=at("ZodPromise",(e,t)=>{ZX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Bte(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function Jre(e){return new w_({type:"promise",innerType:e})}const E_=at("ZodFunction",(e,t)=>{YX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>hte(e,r)});function n4(e){return new E_({type:"function",input:Array.isArray(e?.input)?e_(e?.input):e?.input??tp(kg()),output:e?.output??kg()})}const d2=at("ZodCustom",(e,t)=>{XX.init(e,t),Ln.init(e,t),e._zod.processJSONSchema=(r,n,i)=>fte(e,r)});function Xre(e){const t=new Ja({check:"custom"});return t._zod.check=e,t}function C_(e,t){return Mee(d2,e??(()=>!0),t)}function I_(e,t={}){return Uee(d2,e,t)}function j_(e){return zee(e)}const ene=Hee,tne=qee;function rne(e,t={error:`Input not instance of ${e.name}`}){const r=new d2({type:"custom",check:"custom",fn:n=>n instanceof e,abort:!0,...Ut(t)});return r._zod.bag.Class=e,r}const nne=(...e)=>Gee({Codec:QC,Boolean:s2,String:n2},...e);function ine(e){const t=b_(()=>cx([Kl(e),xc(),jC(),SC(),tp(t),_C(Kl(),t)]));return t}function ane(e,t){return Gv(DC(e),t)}const hze=Object.freeze(Object.defineProperty({__proto__:null,ZodAny:$k,ZodArray:Vk,ZodBase64:wC,ZodBase64URL:EC,ZodBigInt:o2,ZodBigIntFormat:NC,ZodBoolean:s2,ZodCIDRv4:yC,ZodCIDRv6:bC,ZodCUID:hC,ZodCUID2:mC,ZodCatch:m_,ZodCodec:QC,ZodCustom:d2,ZodCustomStringFormat:lx,ZodDate:kC,ZodDefault:l_,ZodDiscriminatedUnion:Yk,ZodE164:CC,ZodEmail:uC,ZodEmoji:dC,ZodEnum:F1,ZodFile:a_,ZodFunction:E_,ZodGUID:zv,ZodIPv4:xC,ZodIPv6:vC,ZodIntersection:Zk,ZodJWT:IC,ZodKSUID:AC,ZodLazy:y_,ZodLiteral:n_,ZodMAC:Lk,ZodMap:t_,ZodNaN:g_,ZodNanoID:fC,ZodNever:qk,ZodNonOptional:RC,ZodNull:zk,ZodNullable:o_,ZodNumber:a2,ZodNumberFormat:Wg,ZodObject:l2,ZodOptional:TC,ZodPipe:PC,ZodPrefault:u_,ZodPromise:w_,ZodReadonly:A_,ZodRecord:u2,ZodSet:r_,ZodString:n2,ZodStringFormat:Aa,ZodSuccess:h_,ZodSymbol:Mk,ZodTemplateLiteral:v_,ZodTransform:s_,ZodTuple:Xk,ZodType:Ln,ZodULID:pC,ZodURL:i2,ZodUUID:zd,ZodUndefined:Uk,ZodUnion:c2,ZodUnknown:Hk,ZodVoid:Gk,ZodXID:gC,ZodXor:Kk,_ZodString:cC,_default:c_,_function:n4,any:$v,array:tp,base64:Are,base64url:xre,bigint:Bre,boolean:jC,catch:p_,check:Xre,cidrv4:pre,cidrv6:gre,codec:Yre,cuid:ore,cuid2:lre,custom:C_,date:Pre,describe:ene,discriminatedUnion:Mre,e164:vre,email:Zte,emoji:are,enum:Xl,file:Gre,float32:Ire,float64:jre,function:n4,guid:Jte,hash:Cre,hex:Ere,hostname:wre,httpUrl:ire,instanceof:rne,int:r4,int32:Nre,int64:kre,intersection:Jk,ipv4:fre,ipv6:mre,json:ine,jwt:yre,keyof:Qre,ksuid:dre,lazy:b_,literal:i_,looseObject:Ore,looseRecord:zre,mac:hre,map:$re,meta:tne,nan:Kre,nanoid:sre,nativeEnum:qre,never:BC,nonoptional:f_,null:SC,nullable:qv,nullish:Vre,number:xc,object:Wk,optional:Hv,partialRecord:Ure,pipe:Gv,prefault:d_,preprocess:ane,promise:Jre,readonly:x_,record:_C,refine:I_,set:Hre,strictObject:Fre,string:Kl,stringFormat:bre,stringbool:nne,success:Wre,superRefine:j_,symbol:Dre,templateLiteral:Zre,transform:DC,tuple:e_,uint32:Sre,uint64:_re,ulid:cre,undefined:Tre,union:cx,unknown:kg,url:nre,uuid:Xte,uuidv4:ere,uuidv6:tre,uuidv7:rre,void:Rre,xid:ure,xor:Lre},Symbol.toStringTag,{value:"Module"})),mze={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function pze(e){_l({customError:e})}function gze(){return _l().customError}var x6;x6||(x6={});const Ir={...hze,...dze,iso:Fte};function Aze(e,t){const r=e.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":t??"draft-2020-12"}function xze(e,t){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");const r=e.slice(1).split("/").filter(Boolean);if(r.length===0)return t.rootSchema;const n=t.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===n){const i=r[1];if(!i||!t.defs[i])throw new Error(`Reference not found: ${e}`);return t.defs[i]}throw new Error(`Reference not found: ${e}`)}function sne(e,t){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return Ir.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){const i=e.$ref;if(t.refs.has(i))return t.refs.get(i);if(t.processing.has(i))return Ir.lazy(()=>{if(!t.refs.has(i))throw new Error(`Circular reference not resolved: ${i}`);return t.refs.get(i)});t.processing.add(i);const s=xze(i,t),o=El(s,t);return t.refs.set(i,o),t.processing.delete(i),o}if(e.enum!==void 0){const i=e.enum;if(t.version==="openapi-3.0"&&e.nullable===!0&&i.length===1&&i[0]===null)return Ir.null();if(i.length===0)return Ir.never();if(i.length===1)return Ir.literal(i[0]);if(i.every(o=>typeof o=="string"))return Ir.enum(i);const s=i.map(o=>Ir.literal(o));return s.length<2?s[0]:Ir.union([s[0],s[1],...s.slice(2)])}if(e.const!==void 0)return Ir.literal(e.const);const r=e.type;if(Array.isArray(r)){const i=r.map(s=>{const o={...e,type:s};return sne(o,t)});return i.length===0?Ir.never():i.length===1?i[0]:Ir.union(i)}if(!r)return Ir.any();let n;switch(r){case"string":{let i=Ir.string();if(e.format){const s=e.format;s==="email"?i=i.check(Ir.email()):s==="uri"||s==="uri-reference"?i=i.check(Ir.url()):s==="uuid"||s==="guid"?i=i.check(Ir.uuid()):s==="date-time"?i=i.check(Ir.iso.datetime()):s==="date"?i=i.check(Ir.iso.date()):s==="time"?i=i.check(Ir.iso.time()):s==="duration"?i=i.check(Ir.iso.duration()):s==="ipv4"?i=i.check(Ir.ipv4()):s==="ipv6"?i=i.check(Ir.ipv6()):s==="mac"?i=i.check(Ir.mac()):s==="cidr"?i=i.check(Ir.cidrv4()):s==="cidr-v6"?i=i.check(Ir.cidrv6()):s==="base64"?i=i.check(Ir.base64()):s==="base64url"?i=i.check(Ir.base64url()):s==="e164"?i=i.check(Ir.e164()):s==="jwt"?i=i.check(Ir.jwt()):s==="emoji"?i=i.check(Ir.emoji()):s==="nanoid"?i=i.check(Ir.nanoid()):s==="cuid"?i=i.check(Ir.cuid()):s==="cuid2"?i=i.check(Ir.cuid2()):s==="ulid"?i=i.check(Ir.ulid()):s==="xid"?i=i.check(Ir.xid()):s==="ksuid"&&(i=i.check(Ir.ksuid()))}typeof e.minLength=="number"&&(i=i.min(e.minLength)),typeof e.maxLength=="number"&&(i=i.max(e.maxLength)),e.pattern&&(i=i.regex(new RegExp(e.pattern))),n=i;break}case"number":case"integer":{let i=r==="integer"?Ir.number().int():Ir.number();typeof e.minimum=="number"&&(i=i.min(e.minimum)),typeof e.maximum=="number"&&(i=i.max(e.maximum)),typeof e.exclusiveMinimum=="number"?i=i.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(i=i.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?i=i.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(i=i.lt(e.maximum)),typeof e.multipleOf=="number"&&(i=i.multipleOf(e.multipleOf)),n=i;break}case"boolean":{n=Ir.boolean();break}case"null":{n=Ir.null();break}case"object":{const i={},s=e.properties||{},o=new Set(e.required||[]);for(const[c,d]of Object.entries(s)){const u=El(d,t);i[c]=o.has(c)?u:u.optional()}if(e.propertyNames){const c=El(e.propertyNames,t),d=e.additionalProperties&&typeof e.additionalProperties=="object"?El(e.additionalProperties,t):Ir.any();if(Object.keys(i).length===0){n=Ir.record(c,d);break}const u=Ir.object(i).passthrough(),h=Ir.looseRecord(c,d);n=Ir.intersection(u,h);break}if(e.patternProperties){const c=e.patternProperties,d=Object.keys(c),u=[];for(const p of d){const A=El(c[p],t),y=Ir.string().regex(new RegExp(p));u.push(Ir.looseRecord(y,A))}const h=[];if(Object.keys(i).length>0&&h.push(Ir.object(i).passthrough()),h.push(...u),h.length===0)n=Ir.object({}).passthrough();else if(h.length===1)n=h[0];else{let p=Ir.intersection(h[0],h[1]);for(let A=2;AEl(c,t)),l=s&&typeof s=="object"&&!Array.isArray(s)?El(s,t):void 0;l?n=Ir.tuple(o).rest(l):n=Ir.tuple(o),typeof e.minItems=="number"&&(n=n.check(Ir.minLength(e.minItems))),typeof e.maxItems=="number"&&(n=n.check(Ir.maxLength(e.maxItems)))}else if(Array.isArray(s)){const o=s.map(c=>El(c,t)),l=e.additionalItems&&typeof e.additionalItems=="object"?El(e.additionalItems,t):void 0;l?n=Ir.tuple(o).rest(l):n=Ir.tuple(o),typeof e.minItems=="number"&&(n=n.check(Ir.minLength(e.minItems))),typeof e.maxItems=="number"&&(n=n.check(Ir.maxLength(e.maxItems)))}else if(s!==void 0){const o=El(s,t);let l=Ir.array(o);typeof e.minItems=="number"&&(l=l.min(e.minItems)),typeof e.maxItems=="number"&&(l=l.max(e.maxItems)),n=l}else n=Ir.array(Ir.any());break}default:throw new Error(`Unsupported type: ${r}`)}return e.description&&(n=n.describe(e.description)),e.default!==void 0&&(n=n.default(e.default)),n}function El(e,t){if(typeof e=="boolean")return e?Ir.any():Ir.never();let r=sne(e,t);const n=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){const i=e.anyOf.map(o=>El(o,t)),s=Ir.union(i);r=n?Ir.intersection(r,s):s}if(e.oneOf&&Array.isArray(e.oneOf)){const i=e.oneOf.map(o=>El(o,t)),s=Ir.xor(i);r=n?Ir.intersection(r,s):s}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)r=n?r:Ir.any();else{let i=n?r:El(e.allOf[0],t);const s=n?0:1;for(let o=s;o0}const Nze=cx([Kl(),xc(),jC(),SC()]),Sze=cx([Nze,_C(Kl(),$v()),tp($v())]),Bze=C_(e=>e instanceof Buffer);function one(e,t){const r=Ize,n={};let i;return jze(e)&&(i=e.enumValues.length?r.enum(e.enumValues):r.string()),i||(Us(e,["PgGeometry","PgPointTuple"])?i=r.tuple([r.number(),r.number()]):Us(e,["PgGeometryObject","PgPointObject"])?i=r.object({x:r.number(),y:r.number()}):Us(e,["PgHalfVector","PgVector"])?(i=r.array(r.number()),i=e.dimensions?i.length(e.dimensions):i):Us(e,["PgLine"])?i=r.tuple([r.number(),r.number(),r.number()]):Us(e,["PgLineABC"])?i=r.object({a:r.number(),b:r.number(),c:r.number()}):Us(e,["PgArray"])?(i=r.array(one(e.baseColumn)),i=e.size?i.length(e.size):i):e.dataType==="array"?i=r.array(r.any()):e.dataType==="number"?i=kze(e,r,n):e.dataType==="bigint"?i=_ze(e,r,n):e.dataType==="boolean"?i=n===!0||n.boolean?r.coerce.boolean():r.boolean():e.dataType==="date"?i=n===!0||n.date?r.coerce.date():r.date():e.dataType==="string"?i=Dze(e,r,n):e.dataType==="json"?i=Sze:e.dataType==="custom"?i=r.any():e.dataType==="buffer"&&(i=Bze)),i||(i=r.any()),i}function kze(e,t,r){let n=e.getSQLType().includes("unsigned"),i,s,o=!1;Us(e,["MySqlTinyInt","SingleStoreTinyInt"])?(i=n?0:us.INT8_MIN,s=n?us.INT8_UNSIGNED_MAX:us.INT8_MAX,o=!0):Us(e,["PgSmallInt","PgSmallSerial","MySqlSmallInt","SingleStoreSmallInt"])?(i=n?0:us.INT16_MIN,s=n?us.INT16_UNSIGNED_MAX:us.INT16_MAX,o=!0):Us(e,["PgReal","MySqlFloat","MySqlMediumInt","SingleStoreMediumInt","SingleStoreFloat"])?(i=n?0:us.INT24_MIN,s=n?us.INT24_UNSIGNED_MAX:us.INT24_MAX,o=Us(e,["MySqlMediumInt","SingleStoreMediumInt"])):Us(e,["PgInteger","PgSerial","MySqlInt","SingleStoreInt"])?(i=n?0:us.INT32_MIN,s=n?us.INT32_UNSIGNED_MAX:us.INT32_MAX,o=!0):Us(e,["PgDoublePrecision","MySqlReal","MySqlDouble","SingleStoreReal","SingleStoreDouble","SQLiteReal"])?(i=n?0:us.INT48_MIN,s=n?us.INT48_UNSIGNED_MAX:us.INT48_MAX):Us(e,["PgBigInt53","PgBigSerial53","MySqlBigInt53","MySqlSerial","SingleStoreBigInt53","SingleStoreSerial","SQLiteInteger"])?(n=n||Us(e,["MySqlSerial","SingleStoreSerial"]),i=n?0:Number.MIN_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER,o=!0):Us(e,["MySqlYear","SingleStoreYear"])?(i=1901,s=2155,o=!0):(i=Number.MIN_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER);let l=r===!0||r?.number?o?t.coerce.number():t.coerce.number().int():o?t.int():t.number();return l=l.gte(i).lte(s),l}function _ze(e,t,r){const n=e.getSQLType().includes("unsigned"),i=n?0n:us.INT64_MIN,s=n?us.INT64_UNSIGNED_MAX:us.INT64_MAX;return(r===!0||r?.bigint?t.coerce.bigint():t.bigint()).gte(i).lte(s)}function Dze(e,t,r){if(Us(e,["PgUUID"]))return t.uuid();let n,i,s=!1;Us(e,["PgVarchar","SQLiteText"])?n=e.length:Us(e,["MySqlVarChar","SingleStoreVarChar"])?n=e.length??us.INT16_UNSIGNED_MAX:Us(e,["MySqlText","SingleStoreText"])&&(e.textType==="longtext"?n=us.INT32_UNSIGNED_MAX:e.textType==="mediumtext"?n=us.INT24_UNSIGNED_MAX:e.textType==="text"?n=us.INT16_UNSIGNED_MAX:n=us.INT8_UNSIGNED_MAX),Us(e,["PgChar","MySqlChar","SingleStoreChar"])&&(n=e.length,s=!0),Us(e,["PgBinaryVector"])&&(i=/^[01]+$/,n=e.dimensions);let o=r===!0||r?.string?t.coerce.string():t.string();return o=i?o.regex(i):o,n&&s?o.length(n):n?o.max(n):o}function lne(e){return lZ(e)?YQe(e):ZQe(e)}function cne(e,t,r,n){const i={};for(const[s,o]of Object.entries(e)){if(!ko(o,Lv)&&!ko(o,js)&&!ko(o,js.Aliased)&&typeof o=="object"){const h=lZ(o)||KQe(o)?lne(o):o;i[s]=cne(h,t[s]??{},r);continue}const l=t[s];if(l!==void 0&&typeof l!="function"){i[s]=l;continue}const c=ko(o,Lv)?o:void 0,d=c?one(c):$v(),u=typeof l=="function"?l(d):d;r.never(c)||(i[s]=u,c&&(r.nullable(c)&&(i[s]=i[s].nullable()),r.optional(c)&&(i[s]=i[s].optional())))}return Wk(i)}const Tze={never:e=>e?.generated?.type==="always"||e?.generatedIdentity?.type==="always",optional:e=>!e.notNull||e.notNull&&e.hasDefault,nullable:e=>!e.notNull},hs=(e,t)=>{const r=lne(e);return cne(r,t??{},Tze)},Rze=["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable","atelier","chauffeur","apprenti"],f2=La("users",{id:ox("id").primaryKey().default(Mv`gen_random_uuid()`),username:_t("username").notNull().unique(),password:_t("password").notNull(),role:_t("role").notNull().default("apprenti")});hs(f2).pick({username:!0,password:!0,role:!0}).extend({role:Xl(Rze).optional()});const Pze=["actif","maintenance","hors_service"],N_=["plateau","citerne","benne","frigorifique","autre"],S_=["chauffeur","apprenti"],une=["scheduled","in_transit","completed","cancelled"],Qze=["planned","in_progress","completed","cancelled"],FC=["carburant","peage","douane","reparation","consommables","main_oeuvre","autre"],B_=["vidange","filtres","pneus","liquide_frein","adblue","autre"],Fze=["pending","in_progress","resolved"],rp=La("vehicles",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),immatriculation:_t("immatriculation").notNull().unique(),nom:_t("nom"),couleur:_t("couleur"),marque:_t("marque"),modele:_t("modele"),annee:Nr("annee"),photoUrl:_t("photo_url"),plaquePhotoUrl:_t("plaque_photo_url"),photoCloudinaryPublicId:_t("photo_cloudinary_public_id"),plaquePhotoCloudinaryPublicId:_t("plaque_photo_cloudinary_public_id"),status:_t("status").notNull().default("actif"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),h2=La("trailers",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),numeroChassis:_t("numero_chassis").notNull().unique(),nom:_t("nom"),couleur:_t("couleur"),type:_t("type").notNull(),capacite:fa("capacite"),photoUrl:_t("photo_url"),photoCloudinaryPublicId:_t("photo_cloudinary_public_id"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),dne=La("vehicle_trailer_couplings",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),vehicleId:Nr("vehicle_id").notNull().references(()=>rp.id,{onDelete:"cascade"}),trailerId:Nr("trailer_id").references(()=>h2.id,{onDelete:"set null"}),chauffeurId:Nr("chauffeur_id").references(()=>ux.id,{onDelete:"set null"}),startAt:Mr("start_at").notNull().defaultNow(),endAt:Mr("end_at"),active:Ju("active").notNull().default(!0),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()});La("coupling_apprentis",{couplingId:Nr("coupling_id").notNull().references(()=>dne.id,{onDelete:"cascade"}),apprentiId:Nr("apprenti_id").notNull().references(()=>ux.id,{onDelete:"cascade"}),createdAt:Mr("created_at").notNull().defaultNow()});const ux=La("crew_members",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),nom:_t("nom").notNull(),prenom:_t("prenom").notNull(),role:_t("role").notNull(),telephone:_t("telephone"),photoUrl:_t("photo_url"),photoCloudinaryPublicId:_t("photo_cloudinary_public_id"),documents:Lm("documents"),userId:ox("user_id").references(()=>f2.id,{onDelete:"set null"}),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),Vv=La("locations",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),name:_t("name").notNull(),type:_t("type").notNull(),country:_t("country"),latitude:fa("latitude"),longitude:fa("longitude"),imageUrl:_t("image_url"),isActive:Ju("is_active").notNull().default(!0),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),fne=La("mission_types",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),name:_t("name").notNull(),code:_t("code").notNull().unique(),description:_t("description"),loadingType:_t("loading_type").notNull(),defaultClient:_t("default_client"),defaultClientName:_t("default_client_name"),defaultCargo:_t("default_cargo"),isRoundTrip:Ju("is_round_trip").notNull().default(!0),defaultLoadingLocationId:Nr("default_loading_location_id").references(()=>Vv.id,{onDelete:"set null"}),defaultUnloadingLocationId:Nr("default_unloading_location_id").references(()=>Vv.id,{onDelete:"set null"}),expectedToursDefault:Nr("expected_tours_default"),standardDurationDays:Nr("standard_duration_days"),isActive:Ju("is_active").notNull().default(!0),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),m2=La("missions",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),code:_t("code").notNull().unique(),title:_t("title").notNull(),description:_t("description"),missionTypeId:Nr("mission_type_id").references(()=>fne.id,{onDelete:"set null"}),vehicleId:Nr("vehicle_id").notNull().references(()=>rp.id,{onDelete:"cascade"}),trailerId:Nr("trailer_id").references(()=>h2.id,{onDelete:"set null"}),mainDriverId:Nr("main_driver_id").references(()=>ux.id,{onDelete:"set null"}),clientName:_t("client_name").notNull(),clientReference:_t("client_reference"),loadingSite:_t("loading_site").notNull(),unloadingSite:_t("unloading_site").notNull(),loadingLocationId:Nr("loading_location_id").references(()=>Vv.id,{onDelete:"set null"}),unloadingLocationId:Nr("unloading_location_id").references(()=>Vv.id,{onDelete:"set null"}),loadingType:_t("loading_type").notNull(),loadingOrderNumber:_t("loading_order_number").notNull(),loadingOrderDate:Ng("loading_order_date").notNull(),loadingBonImageUrl:_t("loading_bon_image_url"),loadingBonImageCloudinaryPublicId:_t("loading_bon_image_cloudinary_public_id"),expectedTours:Nr("expected_tours").default(1),status:_t("status").notNull().default("planned"),plannedStartAt:Mr("planned_start_at"),plannedEndAt:Mr("planned_end_at"),startAt:Mr("start_at"),endAt:Mr("end_at"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),Oze=La("mission_crew",{missionId:Nr("mission_id").notNull().references(()=>m2.id,{onDelete:"cascade"}),crewMemberId:Nr("crew_member_id").notNull().references(()=>ux.id,{onDelete:"cascade"}),createdAt:Mr("created_at").notNull().defaultNow()}),p2=La("trips",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),missionId:Nr("mission_id").references(()=>m2.id,{onDelete:"set null"}),vehicleId:Nr("vehicle_id").notNull().references(()=>rp.id,{onDelete:"cascade"}),trailerId:Nr("trailer_id").references(()=>h2.id,{onDelete:"set null"}),origine:_t("origine").notNull(),destination:_t("destination").notNull(),dateDepart:Mr("date_depart").notNull(),dateArrivee:Mr("date_arrivee"),status:_t("status").notNull().default("scheduled"),typeChargement:_t("type_chargement"),poidsChargement:fa("poids_chargement"),distance:fa("distance"),contratClientId:_t("contrat_client_id"),loadingCompletedAt:Mr("loading_completed_at"),unloadingCompletedAt:Mr("unloading_completed_at"),departureOdometerKm:Nr("departure_odometer_km"),arrivalOdometerKm:Nr("arrival_odometer_km"),fuelFillAmountL:fa("fuel_fill_amount_l"),fuelFillCostFcfa:Nr("fuel_fill_cost_fcfa"),fuelReceiptUrl:_t("fuel_receipt_url"),fuelReceiptCloudinaryPublicId:_t("fuel_receipt_cloudinary_public_id"),loadingWeighingTicketUrl:_t("loading_weighing_ticket_url"),loadingWeighingTicketCloudinaryPublicId:_t("loading_weighing_ticket_cloudinary_public_id"),unloadingWeighingTicketUrl:_t("unloading_weighing_ticket_url"),unloadingWeighingTicketCloudinaryPublicId:_t("unloading_weighing_ticket_cloudinary_public_id"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),Lze=La("trip_crew",{tripId:Nr("trip_id").notNull().references(()=>p2.id,{onDelete:"cascade"}),crewMemberId:Nr("crew_member_id").notNull().references(()=>ux.id,{onDelete:"cascade"})}),Mze=La("trip_expenses",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),tripId:Nr("trip_id").notNull().references(()=>p2.id,{onDelete:"cascade"}),categorie:_t("categorie").notNull(),montant:fa("montant").notNull(),date:Ng("date").notNull(),description:_t("description"),justificatifUrl:_t("justificatif_url"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),Uze=La("trip_revenues",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),tripId:Nr("trip_id").notNull().references(()=>p2.id,{onDelete:"cascade"}),montantPrevu:fa("montant_prevu"),montantRecu:fa("montant_recu"),origineContrat:_t("origine_contrat"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),zze=La("mission_revenues",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),missionId:Nr("mission_id").notNull().references(()=>m2.id,{onDelete:"cascade"}),montantPrevu:fa("montant_prevu"),montantRecu:fa("montant_recu"),origineContrat:_t("origine_contrat"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),$ze=La("mission_expenses",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),missionId:Nr("mission_id").notNull().references(()=>m2.id,{onDelete:"cascade"}),categorie:_t("categorie").notNull(),montant:fa("montant").notNull(),date:Ng("date").notNull(),description:_t("description"),justificatifUrl:_t("justificatif_url"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),Hze=La("maintenances",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),vehicleId:Nr("vehicle_id").references(()=>rp.id,{onDelete:"cascade"}),trailerId:Nr("trailer_id").references(()=>h2.id,{onDelete:"cascade"}),type:_t("type").notNull(),datePrevue:Ng("date_prevue"),kilometragePrevu:Nr("kilometrage_prevu"),dateEffectuee:Ng("date_effectuee"),kilometrageEffectue:Nr("kilometrage_effectue"),cout:fa("cout"),notes:_t("notes"),status:_t("status").notNull().default("planned"),photoUrl:_t("photo_url"),photoCloudinaryPublicId:_t("photo_cloudinary_public_id"),audioUrl:_t("audio_url"),audioCloudinaryPublicId:_t("audio_cloudinary_public_id"),replacedParts:Lm("replaced_parts"),laborCost:fa("labor_cost"),totalCost:fa("total_cost"),justificatifUrl:_t("justificatif_url"),justificatifCloudinaryPublicId:_t("justificatif_cloudinary_public_id"),treatedBy:ox("treated_by").references(()=>f2.id,{onDelete:"set null"}),treatedAt:Mr("treated_at"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),qze=La("breakdowns",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),vehicleId:Nr("vehicle_id").notNull().references(()=>rp.id,{onDelete:"cascade"}),type:_t("type").notNull(),date:Ng("date").notNull(),lieu:_t("lieu"),description:_t("description"),audioUrl:_t("audio_url"),audioCloudinaryPublicId:_t("audio_cloudinary_public_id"),photoUrl:_t("photo_url"),photoCloudinaryPublicId:_t("photo_cloudinary_public_id"),videoUrl:_t("video_url"),videoCloudinaryPublicId:_t("video_cloudinary_public_id"),actionReparative:_t("action_reparative"),cout:fa("cout"),status:_t("status").notNull().default("pending"),responseAudioUrl:_t("response_audio_url"),responseCreatedAt:Mr("response_created_at"),responseAuthorId:ox("response_author_id").references(()=>f2.id,{onDelete:"set null"}),replacedParts:Lm("replaced_parts"),laborCost:fa("labor_cost"),totalRepairCost:fa("total_repair_cost"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()});hs(rp).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({status:Xl(Pze).optional()});hs(h2).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({type:Xl(N_),nom:Kl().optional(),couleur:Kl().optional()});hs(dne).omit({id:!0,createdAt:!0,updatedAt:!0,active:!0}).extend({startAt:sl(),endAt:sl().optional(),apprentiIds:tp(xc()).optional()});hs(ux).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({role:Xl(S_),userId:Kl().nullable().optional()});hs(p2).omit({id:!0,createdAt:!0,updatedAt:!0,status:!0}).extend({dateDepart:sl(),dateArrivee:sl().optional(),status:Xl(une).optional(),missionId:xc().min(1,"Chaque voyage doit être rattaché à une mission. Créez d'abord une mission, puis ajoutez des voyages à cette mission."),loadingCompletedAt:sl().optional().nullable(),unloadingCompletedAt:sl().optional().nullable(),departureOdometerKm:xc().int().positive().optional().nullable(),arrivalOdometerKm:xc().int().positive().optional().nullable(),fuelFillAmountL:xc().positive().optional().nullable(),fuelFillCostFcfa:xc().int().positive().optional().nullable(),fuelReceiptUrl:Kl().url().optional().nullable()});hs(Lze);hs(Mze).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({date:sl(),categorie:Xl(FC)});hs(Uze).omit({id:!0,createdAt:!0,updatedAt:!0});hs(zze).omit({id:!0,createdAt:!0,updatedAt:!0});hs($ze).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({date:sl(),categorie:Xl(FC)});hs(Hze).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({datePrevue:sl().optional(),dateEffectuee:sl().optional(),type:Xl(B_),vehicleId:xc().int().positive().optional().nullable(),trailerId:xc().int().positive().optional().nullable()}).refine(e=>e.vehicleId!==null&&e.vehicleId!==void 0||e.trailerId!==null&&e.trailerId!==void 0,{message:"Un véhicule ou une remorque doit être sélectionné",path:["vehicleId"]});hs(qze).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({date:sl(),status:Xl(Fze).optional(),responseAudioUrl:Kl().url().optional().nullable(),responseCreatedAt:sl().optional().nullable(),responseAuthorId:Kl().optional().nullable()});hs(m2).omit({id:!0,createdAt:!0,updatedAt:!0,code:!0}).extend({status:Xl(Qze).optional(),loadingOrderDate:sl(),startAt:sl().optional(),endAt:sl().optional(),additionalCrewIds:tp(xc()).optional(),expectedTours:xc().int().min(1).default(1).optional()});hs(Vv).omit({id:!0,createdAt:!0,updatedAt:!0});hs(fne).omit({id:!0,createdAt:!0,updatedAt:!0});hs(Oze).omit({createdAt:!0});const Gze=La("organization_settings",{id:Nr("id").primaryKey().default(1),companyName:_t("company_name").notNull(),legalName:_t("legal_name"),addressLine:_t("address_line"),city:_t("city"),country:_t("country"),phone:_t("phone"),email:_t("email"),website:_t("website"),taxId:_t("tax_id"),logoUrl:_t("logo_url"),logoCloudinaryPublicId:_t("logo_cloudinary_public_id"),cloudinaryCloudName:_t("cloudinary_cloud_name"),cloudinaryApiKey:_t("cloudinary_api_key"),cloudinaryApiSecret:_t("cloudinary_api_secret"),dispatchPhone:_t("dispatch_phone"),mechanicPhone:_t("mechanic_phone"),videoEnabled:Ju("video_enabled"),videoMaxDurationSec:Nr("video_max_duration_sec"),videoResolutionPreset:_t("video_resolution_preset"),videoMaxSizeBytes:Nr("video_max_size_bytes"),videoPreferredCaptureMode:_t("video_preferred_capture_mode"),videoPreferredMimeTypes:Lm("video_preferred_mime_types"),videoThumbnailEnabled:Ju("video_thumbnail_enabled"),videoThumbnailMaxSize:Nr("video_thumbnail_max_size"),videoThumbnailQuality:fa("video_thumbnail_quality"),videoRequireExactOrLower:Ju("video_require_exact_or_lower"),audioEnabled:Ju("audio_enabled"),audioMaxDurationSec:Nr("audio_max_duration_sec"),audioBitrateKbps:Nr("audio_bitrate_kbps"),audioChannels:Nr("audio_channels"),audioPreferredMimeTypes:Lm("audio_preferred_mime_types"),audioMaxSizeBytes:Nr("audio_max_size_bytes"),audioThumbnailWaveformEnabled:Ju("audio_thumbnail_waveform_enabled"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()});La("sessions",{id:_t("id").primaryKey(),userId:ox("user_id").notNull().references(()=>f2.id,{onDelete:"cascade"}),username:_t("username").notNull(),role:_t("role").notNull(),expiresAt:Mr("expires_at").notNull(),createdAt:Mr("created_at").notNull().defaultNow()});const Vze=hs(Gze,{email:Kl().email("Format d'email invalide").optional().or(i_("")),companyName:Kl().min(1,"La dénomination commerciale est obligatoire")}).pick({companyName:!0,legalName:!0,addressLine:!0,city:!0,country:!0,phone:!0,email:!0,website:!0,taxId:!0,logoUrl:!0,cloudinaryCloudName:!0,cloudinaryApiKey:!0,cloudinaryApiSecret:!0,dispatchPhone:!0,mechanicPhone:!0});Vze.partial().extend({companyName:Kl().min(1,"La dénomination commerciale est obligatoire").optional()});const Wze=["uploaded","parsed","failed"],hne=La("tracksolid_imports",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),fileName:_t("file_name").notNull(),fileHash:_t("file_hash").notNull().unique(),periodStart:Mr("period_start"),periodEnd:Mr("period_end"),status:_t("status").notNull().default("uploaded"),errorMessage:_t("error_message"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),mne=La("tracksolid_trips",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),importId:Nr("import_id").notNull().references(()=>hne.id,{onDelete:"cascade"}),vehicleExternalName:_t("vehicle_external_name").notNull(),vehiclePlateGuess:_t("vehicle_plate_guess"),startAt:Mr("start_at"),endAt:Mr("end_at"),startLocation:_t("start_location"),endLocation:_t("end_location"),distanceKm:fa("distance_km"),durationMinutes:Nr("duration_minutes"),maxSpeedKmh:fa("max_speed_kmh"),avgSpeedKmh:fa("avg_speed_kmh"),raw:Lm("raw"),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),Kze=La("tracksolid_vehicle_map",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),externalName:_t("external_name").notNull().unique(),vehicleId:Nr("vehicle_id").references(()=>rp.id,{onDelete:"set null"}),createdAt:Mr("created_at").notNull().defaultNow(),updatedAt:Mr("updated_at").notNull().defaultNow()}),Yze=La("tracksolid_trip_links",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),tracksolidTripId:Nr("tracksolid_trip_id").notNull().references(()=>mne.id,{onDelete:"cascade"}).unique(),tripId:Nr("trip_id").notNull().references(()=>p2.id,{onDelete:"cascade"}).unique(),matchConfidence:Nr("match_confidence").notNull(),matchReason:_t("match_reason"),linkedBy:_t("linked_by").notNull().default("manual"),linkedAt:Mr("linked_at").notNull().defaultNow(),createdAt:Mr("created_at").notNull().defaultNow()});hs(hne).omit({id:!0,createdAt:!0,updatedAt:!0}).extend({status:Xl(Wze).optional()});hs(mne).omit({id:!0,createdAt:!0,updatedAt:!0});hs(Kze).omit({id:!0,createdAt:!0,updatedAt:!0});hs(Yze).omit({id:!0,createdAt:!0});const Zze=La("track_points",{id:Nr("id").primaryKey().generatedAlwaysAsIdentity(),vehicleId:Nr("vehicle_id").notNull().references(()=>rp.id,{onDelete:"cascade"}),ts:Mr("ts",{withTimezone:!0}).notNull(),lat:fa("lat").notNull(),lon:fa("lon").notNull(),speedKmh:fa("speed_kmh"),engineOn:Ju("engine_on"),moving:Ju("moving"),mileageKm:fa("mileage_km"),raw:Lm("raw"),sourceFile:_t("source_file").notNull(),importedAt:Mr("imported_at",{withTimezone:!0}).notNull().defaultNow()});hs(Zze).omit({id:!0,importedAt:!0}).extend({ts:sl()});const Jze={scheduled:"Programmé",in_transit:"En cours",completed:"Terminé",cancelled:"Annulé"};function Xze({trip:e,vehicles:t=[],trailers:r=[],crewMembers:n=[],open:i,onOpenChange:s,onUpdate:o}){const[l,c]=I.useState({vehicleId:"",trailerId:"",crewMemberIds:[],origine:"",destination:"",dateDepart:"",dateArrivee:"",status:"scheduled"}),{data:d=[]}=cr({queryKey:e?["/api/trips",e.id.toString(),"crew"]:[],queryFn:um({on401:"throw"}),enabled:!!e&&i});I.useEffect(()=>{if(e&&i){const p=A=>{if(!A)return"";const y=new Date(A),v=y.getFullYear(),w=String(y.getMonth()+1).padStart(2,"0"),j=String(y.getDate()).padStart(2,"0"),E=String(y.getHours()).padStart(2,"0"),S=String(y.getMinutes()).padStart(2,"0");return`${v}-${w}-${j}T${E}:${S}`};c({vehicleId:e.vehicleId.toString(),trailerId:e.trailerId?.toString()||"",crewMemberIds:d.map(A=>A.id),origine:e.origine,destination:e.destination,dateDepart:p(e.dateDepart),dateArrivee:p(e.dateArrivee),status:e.status})}},[e,i,d]);const u=async p=>{if(p.preventDefault(),!e)return;const A={vehicleId:parseInt(l.vehicleId),trailerId:l.trailerId&&l.trailerId!=="none"?parseInt(l.trailerId):void 0,origine:l.origine,destination:l.destination,dateDepart:new Date(l.dateDepart),dateArrivee:l.dateArrivee?new Date(l.dateArrivee):void 0,status:l.status};o?.(e.id,{trip:A,crewMemberIds:l.crewMemberIds.length>0?l.crewMemberIds:void 0}),s(!1)},h=p=>{c(A=>({...A,crewMemberIds:A.crewMemberIds.includes(p)?A.crewMemberIds.filter(y=>y!==p):[...A.crewMemberIds,p]}))};return e?a.jsx(En,{open:i,onOpenChange:s,children:a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Modifier le voyage"}),a.jsxs(Mn,{children:["Modifiez les détails du voyage ",e.origine," → ",e.destination,"."]})]}),a.jsxs("form",{onSubmit:u,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"vehicle",children:["Véhicule ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:l.vehicleId,onValueChange:p=>c({...l,vehicleId:p}),required:!0,children:[a.jsx(Xr,{id:"vehicle","data-testid":"select-vehicle",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un véhicule"})}),a.jsx(en,{children:t.map(p=>a.jsx(Qt,{value:p.id.toString(),children:p.immatriculation},p.id))})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"origine",children:["Départ ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"origine",placeholder:"Ouagadougou",value:l.origine,onChange:p=>c({...l,origine:p.target.value}),required:!0,className:"h-12","data-testid":"input-origin"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"destination",children:["Destination ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"destination",placeholder:"Lomé",value:l.destination,onChange:p=>c({...l,destination:p.target.value}),required:!0,className:"h-12","data-testid":"input-destination"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"trailer",children:"Remorque"}),a.jsxs(rn,{value:l.trailerId||"none",onValueChange:p=>c({...l,trailerId:p==="none"?"":p}),children:[a.jsx(Xr,{id:"trailer","data-testid":"select-trailer",className:"h-12",children:a.jsx(nn,{placeholder:"Aucune remorque"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"none",children:"Aucune remorque"}),r.map(p=>a.jsxs(Qt,{value:p.id.toString(),children:[p.numeroChassis," (",p.type,")"]},p.id))]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Chauffeurs"}),a.jsx("div",{className:"border rounded-md p-3 max-h-48 overflow-y-auto space-y-2",children:n.length===0?a.jsx("p",{className:"text-sm text-muted-foreground",children:"Aucun chauffeur disponible"}):n.map(p=>a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(S1,{id:`crew-${p.id}`,checked:l.crewMemberIds.includes(p.id),onCheckedChange:()=>h(p.id),"data-testid":`checkbox-crew-${p.id}`}),a.jsxs(Se,{htmlFor:`crew-${p.id}`,className:"text-sm font-normal cursor-pointer flex-1",children:[p.prenom," ",p.nom," (",p.role==="chauffeur"?"Chauffeur":"Apprenti",")"]})]},p.id))})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"dateDepart",children:["Départ ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"dateDepart",type:"datetime-local",value:l.dateDepart,onChange:p=>c({...l,dateDepart:p.target.value}),required:!0,className:"h-12","data-testid":"input-departure"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"dateArrivee",children:"Arrivée prévue"}),a.jsx(Xe,{id:"dateArrivee",type:"datetime-local",value:l.dateArrivee,onChange:p=>c({...l,dateArrivee:p.target.value}),className:"h-12","data-testid":"input-arrival"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"status",children:"Statut"}),a.jsxs(rn,{value:l.status,onValueChange:p=>c({...l,status:p}),children:[a.jsx(Xr,{id:"status","data-testid":"select-status",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un statut"})}),a.jsx(en,{children:une.map(p=>a.jsx(Qt,{value:p,children:Jze[p]||p},p))})]})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>s(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",children:"Enregistrer"})]})]})]})}):null}function np({onClick:e,label:t,className:r}){return a.jsx(vm,{children:a.jsxs(iy,{children:[a.jsx(ay,{asChild:!0,children:a.jsx(ge,{onClick:e,size:"lg",className:nr("fixed bottom-20 md:bottom-8 right-4 md:right-8 z-40","h-16 w-16 md:h-14 md:w-14 rounded-full shadow-lg","hover:shadow-xl transition-all hover:scale-110 active:scale-95",r),"data-testid":"fab-button","aria-label":t,children:a.jsx(Ti,{className:"h-7 w-7 md:h-6 md:w-6"})})}),t&&a.jsx(V1,{side:"left",className:"md:block hidden",children:a.jsx("p",{children:t})})]})})}function e$e(){const[e,t]=I.useState(""),[r,n]=I.useState("all"),[i,s]=I.useState(null),[o,l]=I.useState(!1),[c,d]=I.useState(null),{toast:u}=Er(),{data:h=[],isLoading:p}=cr({queryKey:["/api/vehicles"]}),{data:A=[]}=cr({queryKey:["/api/trailers"]}),{data:y=[]}=cr({queryKey:["/api/crew-members"]}),{data:v=[],isLoading:w}=cr({queryKey:["/api/trips"]}),{data:j=[],isLoading:E}=cr({queryKey:["/api/breakdowns"],queryFn:()=>T8()}),S=I.useMemo(()=>new Set(j.map(W=>W.vehicleId)),[j]),_=kO({queries:v.map(W=>({queryKey:["/api/trips",W.id.toString(),"crew"],queryFn:um({on401:"throw"}),enabled:v.length>0}))}),C=I.useMemo(()=>{const W=new Map;return _.forEach((G,J)=>{G.data&&v[J]&&W.set(v[J].id,G.data)}),W},[_,v]),Q=_r({mutationFn:async({id:W,data:G})=>{await $t(`/api/trips/${W}`,{method:"PATCH",body:G.trip}),G.crewMemberIds!==void 0&&await $t(`/api/trips/${W}/crew`,{method:"POST",body:{crewMemberIds:G.crewMemberIds||[]}})},onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/trips"]}),u({title:"Succès",description:"Le voyage a été modifié avec succès"}),l(!1),s(null)},onError:W=>{u({variant:"destructive",title:"Erreur",description:W.message||"Impossible de modifier le voyage"})}}),R=_r({mutationFn:async W=>await $t(`/api/trips/${W}`,{method:"DELETE"}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/trips"]}),u({title:"Succès",description:"Le voyage a été supprimé avec succès"}),d(null)},onError:W=>{u({variant:"destructive",title:"Erreur",description:W.message||"Impossible de supprimer le voyage"})}}),M=I.useMemo(()=>v.map(W=>{const G=h.find(V=>V.id===W.vehicleId),q=(C.get(W.id)||[]).find(V=>V.role==="chauffeur"),ee=q,ne=G?S.has(G.id):!1;return{...W,vehicleRegistration:G?.immatriculation||"",vehiclePhotoUrl:G?.photoUrl||null,driverPhotoUrl:ee?.photoUrl||null,driverName:q?`${q.prenom} ${q.nom}`:void 0,hasBreakdown:ne}}),[v,h,C,S]).filter(W=>{const G=W.vehicleRegistration.toLowerCase().includes(e.toLowerCase())||W.origine.toLowerCase().includes(e.toLowerCase())||W.destination.toLowerCase().includes(e.toLowerCase()),J=r==="all"||W.status===r;return G&&J}),O=W=>{const G=v.find(J=>J.id===W);G&&(s(G),l(!0))},$=(W,G)=>{Q.mutate({id:W,data:G})},P=W=>{d(W)},L=()=>{c&&R.mutate(c)},X=p||w||E;return a.jsxs("div",{className:"space-y-4 md:space-y-6 pb-20 md:pb-0",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-xl md:text-2xl font-semibold","data-testid":"text-page-title",children:"Voyages"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Suivez et gérez vos voyages"})]}),a.jsx(jm,{href:"/trajets/new",children:a.jsxs(ge,{"data-testid":"button-add-trip",className:"w-full md:w-auto",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter un trajet"]})})]}),a.jsxs("div",{className:"flex flex-col md:flex-row items-stretch md:items-center gap-3",children:[a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:W=>t(W.target.value),className:"pl-9 h-12","data-testid":"input-search"})]}),a.jsx(ge,{size:"icon",variant:"outline",className:"h-12 w-12 flex-shrink-0 hidden md:flex","data-testid":"button-view-grid",children:a.jsx(pL,{className:"h-5 w-5"})})]}),X?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs(a.Fragment,{children:[a.jsxs(ul,{value:r,onValueChange:n,className:"space-y-4",children:[a.jsxs(Ro,{className:"w-full grid grid-cols-4",children:[a.jsx(hn,{value:"all","data-testid":"filter-all",className:"text-xs md:text-sm",children:"Tous"}),a.jsx(hn,{value:"scheduled","data-testid":"filter-scheduled",className:"text-xs md:text-sm",children:"Programmé"}),a.jsx(hn,{value:"in_transit","data-testid":"filter-in-transit",className:"text-xs md:text-sm",children:"En cours"}),a.jsx(hn,{value:"completed","data-testid":"filter-completed",className:"text-xs md:text-sm",children:"Terminé"})]}),a.jsx(dn,{value:r,className:"mt-0",children:a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:M.map(W=>a.jsx(KPe,{...W,dateArrivee:W.dateArrivee??void 0,vehiclePhotoUrl:W.vehiclePhotoUrl,driverPhotoUrl:W.driverPhotoUrl,driverName:W.driverName,onEdit:O,onDelete:P},W.id))})})]}),M.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucun voyage trouvé"})})]}),a.jsx(np,{onClick:()=>{window.location.href="/trajets/new"},label:"Ajouter un voyage"}),a.jsx(Xze,{trip:i,vehicles:h,trailers:A,crewMembers:y,open:o,onOpenChange:l,onUpdate:$}),a.jsx(du,{open:c!==null,onOpenChange:()=>d(null),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Confirmer la suppression"}),a.jsx(Cc,{children:"Êtes-vous sûr de vouloir supprimer ce voyage ? Cette action est irréversible."})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:L,children:"Supprimer"})]})]})})]})}async function t$e(){return await $t("/api/couplings")}async function r$e(e){try{return await $t(`/api/couplings/vehicle/${e}`)}catch(t){if(t instanceof Error&&(t.message.includes("404")||t.message.includes("Not Found")))return null;throw t}}async function n$e(e){return await $t("/api/couplings",{method:"POST",body:e})}async function i$e(e,t){return await $t(`/api/couplings/${e}`,{method:"PATCH",body:t?{endAt:t.toISOString()}:{}})}function pne(){return cr({queryKey:["/api/couplings"],queryFn:t$e})}function k_(e){return cr({queryKey:e?["/api/couplings/vehicle",e.toString()]:[],queryFn:()=>e?r$e(e):Promise.resolve(null),enabled:!!e})}function a$e(){const{toast:e}=Er();return _r({mutationFn:t=>n$e(t),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/couplings"]}),jt.invalidateQueries({queryKey:["/api/couplings/history"]}),e({title:"Succès",description:"L'attelage a été créé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de créer l'attelage"})}})}function s$e(){const{toast:e}=Er();return _r({mutationFn:({id:t,endAt:r})=>i$e(t,r),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/couplings"]}),jt.invalidateQueries({queryKey:["/api/couplings/history"]}),jt.invalidateQueries({queryKey:["/api/couplings"]}),e({title:"Succès",description:"L'attelage a été détaché avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de détacher l'attelage"})}})}const o$e={plateau:"Plateau",citerne:"Citerne",benne:"Benne",frigorifique:"Frigorifique",autre:"Autre"};function __({vehicle:e,trailer:t,isFromCoupling:r=!1}){const n=t?.photoUrl||(t?.type?tf[t.type]:tf.autre);return a.jsx(it,{className:"p-4 bg-muted/30 border-2",children:a.jsxs("div",{className:"flex flex-col items-center gap-3",children:[a.jsx("h3",{className:"text-sm font-semibold w-full text-center",children:"Attelage pour ce voyage"}),a.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-4 w-full",children:[a.jsx("div",{className:"flex-1 w-full md:w-auto min-w-0",children:e?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-muted border-2 border-border",children:[e.photoUrl?a.jsx("img",{src:Sr(e.photoUrl)||void 0,alt:`Véhicule ${e.immatriculation}`,className:"w-full h-full object-cover",onError:i=>{i.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-4xl mb-2",children:"🚚"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Pas de photo"})]})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2 py-1 bg-background/95 backdrop-blur-sm shadow-md border",children:e.immatriculation})})]}),a.jsxs("div",{className:"mt-2 text-center",children:[a.jsx("p",{className:"text-sm font-semibold truncate",children:e.immatriculation}),(e.marque||e.modele)&&a.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:[e.marque," ",e.modele]})]})]}):a.jsx("div",{className:"w-full aspect-video rounded-lg bg-muted/50 border-2 border-dashed border-muted-foreground/30 flex items-center justify-center",children:a.jsx("p",{className:"text-xs text-muted-foreground text-center px-2",children:"Sélectionnez un véhicule"})})}),a.jsx("div",{className:"flex-shrink-0 flex items-center justify-center",children:a.jsxs("div",{className:"relative flex items-center justify-center",children:[a.jsx("div",{className:"hidden md:block w-16 h-2 bg-primary/40 rounded-full"}),a.jsx("div",{className:"block md:hidden w-2 h-16 bg-primary/40 rounded-full"}),a.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10",children:e&&t?a.jsx(yt,{variant:"default",className:"bg-primary text-primary-foreground px-3 py-1.5 text-xs font-semibold shadow-lg border-2 border-background",children:"🔗 Attelé"}):a.jsx(yt,{variant:"outline",className:"bg-background text-muted-foreground px-3 py-1.5 text-xs font-semibold border-2",children:"—"})})]})}),a.jsx("div",{className:"flex-1 w-full md:w-auto min-w-0",children:t?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-muted border-2 border-border",children:[a.jsx("img",{src:Sr(n)||void 0,alt:`Remorque ${t.numeroChassis}`,className:"w-full h-full object-cover",onError:i=>{i.target.style.display="none"}}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2 py-1 bg-background/95 backdrop-blur-sm shadow-md border",children:t.numeroChassis})})]}),a.jsxs("div",{className:"mt-2 text-center",children:[a.jsx("p",{className:"text-sm font-semibold truncate",children:t.numeroChassis}),a.jsxs("div",{className:"flex items-center justify-center gap-2 mt-1",children:[a.jsx(yt,{variant:"outline",className:"text-xs",children:o$e[t.type]||t.type}),t.capacite&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:[t.capacite,"t"]})]})]})]}):a.jsxs("div",{className:"w-full aspect-video rounded-lg bg-muted/50 border-2 border-dashed border-muted-foreground/30 flex flex-col items-center justify-center",children:[a.jsx("p",{className:"text-3xl mb-2 opacity-50",children:"🚛"}),a.jsx("p",{className:"text-xs text-muted-foreground text-center px-2",children:e?"Aucune remorque attelée — sélectionnez-en une ci-dessous":"Aucune remorque"})]})})]}),r&&e&&t&&a.jsx(vm,{children:a.jsxs(iy,{children:[a.jsx(ay,{asChild:!0,children:a.jsx("div",{className:"w-full mt-2",children:a.jsx(yt,{variant:"secondary",className:"text-xs w-full justify-center bg-[#8B5CF6]/20 text-[#8B5CF6] border-[#8B5CF6]/30 hover:bg-[#8B5CF6]/30 cursor-help",children:"💜 Remorque attelée automatiquement"})})}),a.jsx(V1,{children:a.jsx("p",{children:"Pour changer de remorque, modifiez l'attelage depuis la page Attelages."})})]})})]})})}const l$e={chauffeur:"Chauffeur",apprenti:"Apprenti"},c$e=e=>{const t=(e.nom||"").toLowerCase(),r=(e.modele||"").toLowerCase();return t.includes("tracteur")||t.includes("tractor")||r.includes("tracteur")||r.includes("tractor")};function u$e(){const[,e]=Gi(),{toast:t}=Er(),[r,n]=I.useState({missionId:null,vehicleId:null,trailerId:null,crewMemberIds:[],origine:"",destination:"",dateDepart:"",dateArrivee:""}),[i,s]=I.useState(!1),o=I.useRef(null),{data:l=[],isLoading:c}=Vw(),{data:d,isLoading:u}=D8(r.missionId||0),{data:h=[],isLoading:p}=cr({queryKey:["/api/vehicles"]}),{data:A=[]}=cr({queryKey:["/api/trips"]}),{data:y=[],isLoading:v}=cr({queryKey:["/api/crew-members"]});cr({queryKey:["/api/trips"],enabled:A.length>0&&r.vehicleId!==null});const{data:w,isLoading:j}=k_(r.vehicleId),E=I.useMemo(()=>{if(!h.length||!A.length)return h;const G=new Map;return A.forEach(J=>{const q=G.get(J.vehicleId)||{count:0,lastUsed:null};G.set(J.vehicleId,{count:q.count+1,lastUsed:q.lastUsed?new Date(J.dateDepart)>q.lastUsed?new Date(J.dateDepart):q.lastUsed:new Date(J.dateDepart)})}),[...h].sort((J,q)=>{const ee=G.get(J.id),ne=G.get(q.id);if(!ee&&ne)return-1;if(ee&&!ne)return 1;if(!ee&&!ne)return 0;if(ee&&ne){if(ee.lastUsed&&ne.lastUsed)return ne.lastUsed.getTime()-ee.lastUsed.getTime();if(ee.lastUsed)return-1;if(ne.lastUsed)return 1}return 0})},[h,A]),S=I.useMemo(()=>{if(!r.vehicleId||!y.length||!A.length)return y;const G=A.filter(ee=>ee.vehicleId===r.vehicleId),J=[],q=[];return y.forEach(ee=>{G.length>0?J.push(ee):q.push(ee)}),[...J,...q]},[y,A,r.vehicleId]),_=I.useMemo(()=>{const G=new Set;return A.forEach(J=>{J.origine&&G.add(J.origine),J.destination&&G.add(J.destination)}),Array.from(G).sort()},[A]);I.useEffect(()=>{if(selectedMission&&r.missionId){selectedMission.vehicleId&&!r.vehicleId&&n(J=>({...J,vehicleId:selectedMission.vehicleId})),selectedMission.trailerId&&!r.trailerId&&n(J=>({...J,trailerId:selectedMission.trailerId||null}));const G=[];selectedMission.mainDriver?.id&&G.push(selectedMission.mainDriver.id),selectedMission.additionalCrew&&selectedMission.additionalCrew.length>0&&selectedMission.additionalCrew.forEach(J=>{J.id&&!G.includes(J.id)&&G.push(J.id)}),G.length>0&&JSON.stringify(r.crewMemberIds.sort())!==JSON.stringify(G.sort())&&n(J=>({...J,crewMemberIds:G})),selectedMission.loadingSite&&!r.origine&&n(J=>({...J,origine:selectedMission.loadingSite})),selectedMission.unloadingSite&&!r.destination&&n(J=>({...J,destination:selectedMission.unloadingSite}))}},[selectedMission,r.missionId]),I.useEffect(()=>{const G=r.vehicleId!==o.current,J=r.vehicleId;if(G&&(o.current=J),!r.missionId&&J&&w){w.trailer?.id&&(r.trailerId!==w.trailer.id||G)&&(n(ee=>({...ee,trailerId:w.trailer.id})),s(!0));const q=[];w.chauffeur?.id&&q.push(w.chauffeur.id),w.apprentis&&Array.isArray(w.apprentis)&&w.apprentis.forEach(ee=>{ee?.id&&q.push(ee.id)}),(G||JSON.stringify(r.crewMemberIds.sort())!==JSON.stringify(q.sort()))&&n(ee=>({...ee,crewMemberIds:q}))}else J&&!w&&G?j===!1&&(n(q=>({...q,trailerId:null,crewMemberIds:[]})),s(!1)):J||(n(q=>({...q,trailerId:null,crewMemberIds:[]})),s(!1))},[r.vehicleId,w,j]);const C=I.useMemo(()=>{const G=[];if(r.missionId||G.push("MISSION_REQUIRED"),r.vehicleId||G.push("Véhicule requis"),r.origine?.trim()||G.push("Départ requis"),r.destination?.trim()||G.push("Destination requise"),!r.dateDepart)G.push("Date de départ requise");else{const J=new Date(r.dateDepart);isNaN(J.getTime())&&G.push("Date de départ invalide")}if(r.dateArrivee){const J=new Date(r.dateArrivee),q=new Date(r.dateDepart);!isNaN(J.getTime())&&!isNaN(q.getTime())&&Jq.id===r.vehicleId);J&&c$e(J)&&!w?.trailer&&!r.trailerId&&G.push("TRACTEUR_SANS_REMORQUE")}return G},[r,h,w]),Q=C.length===0,R=_r({mutationFn:async G=>{const q=await $t("/api/trips",{method:"POST",body:G.trip});return G.crewMemberIds&&G.crewMemberIds.length>0&&await $t(`/api/trips/${q.id}/crew`,{method:"POST",body:{crewMemberIds:G.crewMemberIds}}),q},onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/trips"]}),t({title:"Succès",description:"Le voyage a été créé avec succès"}),e("/trajets")},onError:G=>{t({variant:"destructive",title:"Erreur",description:G.message||"Impossible de créer le voyage"})}}),T=G=>{n(J=>({...J,vehicleId:G})),s(!1)},M=G=>{n(J=>({...J,crewMemberIds:J.crewMemberIds.includes(G)?J.crewMemberIds.filter(q=>q!==G):[...J.crewMemberIds,G]}))},O=G=>{if(G.preventDefault(),!Q){const ee=C.find(V=>V==="MISSION_REQUIRED"),ne=C.find(V=>V==="TRACTEUR_SANS_REMORQUE");t(ee?{variant:"destructive",title:"Erreur",description:"Chaque voyage doit être rattaché à une mission. Créez d'abord une mission, puis ajoutez des voyages à cette mission."}:ne?{variant:"destructive",title:"Erreur",description:"Ce véhicule nécessite une remorque. Allez dans Attelages pour en atteler une."}:{variant:"destructive",title:"Erreur",description:C[0]||"Veuillez remplir tous les champs obligatoires"});return}const J=w?.trailer?.id||r.trailerId||void 0,q={missionId:r.missionId,vehicleId:r.vehicleId,trailerId:J,origine:r.origine,destination:r.destination,dateDepart:new Date(r.dateDepart),dateArrivee:r.dateArrivee?new Date(r.dateArrivee):void 0};R.mutate({trip:q,crewMemberIds:r.crewMemberIds.length>0?r.crewMemberIds:void 0})},$=h.find(G=>G.id===r.vehicleId)||null,P=w?.trailer&&r.vehicleId?w.trailer:null,L=p||v||j||c||u,X=R.isPending,W=!r.missionId;return a.jsxs("div",{className:"space-y-6 pb-20 md:pb-0 relative",children:[$&&a.jsx(it,{className:"fixed top-20 right-4 md:right-8 z-50 p-3 shadow-lg border-2 border-primary/20 bg-background/95 backdrop-blur-sm max-w-[200px]",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-2xl",children:"🚛"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-mono font-semibold text-sm truncate",children:$.immatriculation}),($.marque||$.modele||$.annee)&&a.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:[$.marque," ",$.modele,$.annee&&` – ${$.annee}`]})]})]})}),a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>e("/trajets"),className:"h-10 w-10",children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-semibold",children:"Créer un voyage"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Planifiez un nouveau voyage pour un de vos véhicules"})]})]}),L?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs("form",{onSubmit:O,children:[a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs(Se,{className:"text-base font-semibold",children:["Voyage ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(ge,{type:"button",variant:"outline",size:"sm",onClick:()=>e("/voyages/nouveau"),className:"text-xs",children:[a.jsx(Ti,{className:"h-3 w-3 mr-1"}),"Nouveau voyage"]})]}),r.missionId?a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 max-h-64 overflow-y-auto p-2 border rounded-lg",children:l.map(G=>{const J=r.missionId===G.id;return a.jsxs("button",{type:"button",onClick:()=>n(q=>({...q,missionId:G.id})),className:`relative p-3 rounded-lg border-2 transition-all text-left ${J?"border-primary bg-primary/5 shadow-md":"border-border hover:border-primary/50 hover:bg-accent"}`,children:[J&&a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-4 w-4 text-primary"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold text-sm truncate",children:G.title}),a.jsx("p",{className:"text-xs text-muted-foreground font-mono",children:G.code})]}),a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a.jsx(ei,{className:"h-3 w-3"}),a.jsx("span",{className:"truncate",children:G.loadingSite}),a.jsx("span",{children:"→"}),a.jsx("span",{className:"truncate",children:G.unloadingSite})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(yt,{variant:"outline",className:"text-xs",children:G.clientName}),G.tripCount!==void 0&&G.tripCount>0&&a.jsxs(yt,{variant:"secondary",className:"text-xs",children:[G.tripCount," trajet",G.tripCount>1?"s":""]})]})]})]},G.id)})}):a.jsx(it,{className:"p-6 border-dashed bg-muted/30",children:a.jsxs("div",{className:"text-center space-y-3",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"Sélectionnez ou créez d'abord un voyage pour créer un trajet."}),a.jsxs(ge,{type:"button",variant:"default",onClick:()=>e("/voyages/nouveau"),children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Créer un nouveau voyage"]})]})})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs(Se,{className:"text-base font-semibold",children:["Véhicule ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 max-h-96 overflow-y-auto p-2 border rounded-lg",children:E.map(G=>{const J=r.vehicleId===G.id;return a.jsxs("button",{type:"button",onClick:()=>T(G.id),disabled:W,className:`relative p-3 rounded-lg border-2 transition-all duration-150 text-left ${J?"border-[#8B5CF6] bg-primary/5 shadow-[0_0_8px_rgba(139,92,246,0.3)]":"border-border hover:border-primary/50 hover:bg-accent cursor-pointer"} ${W?"opacity-50 cursor-not-allowed":""}`,style:J?{boxShadow:"0 0 12px rgba(139, 92, 246, 0.4)"}:{},children:[J&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-5 w-5 text-[#8B5CF6]"})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-[#8B5CF6]/20 text-[#8B5CF6] border-[#8B5CF6]/30",children:"✔️ Sélectionné"})})]}),a.jsxs("div",{className:"space-y-2",children:[G.photoUrl?a.jsx("div",{className:"relative w-full aspect-video rounded overflow-hidden bg-muted",children:a.jsx("img",{src:Sr(G.photoUrl)||void 0,alt:G.immatriculation,className:"w-full h-full object-cover",onError:q=>{q.target.style.display="none"}})}):a.jsx("div",{className:"w-full aspect-video rounded bg-muted flex items-center justify-center",children:a.jsx("span",{className:"text-3xl",children:"🚚"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono font-semibold text-sm",children:G.immatriculation}),(G.marque||G.modele)&&a.jsxs("p",{className:"text-xs text-muted-foreground",children:[G.marque," ",G.modele]})]})]})]},G.id)})})]}),a.jsx(__,{vehicle:$,trailer:P,isFromCoupling:i||!!w?.trailer&&!!r.vehicleId}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs(Se,{className:"text-base font-semibold",children:["Chauffeurs ",a.jsx("span",{className:"text-destructive",children:"*"})]}),y.length===0?a.jsx(it,{className:"p-4 border-dashed",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"Aucun chauffeur disponible"})}):a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 max-h-96 overflow-y-auto p-2 border rounded-lg",children:S.map(G=>{const J=r.crewMemberIds.includes(G.id),q=Ww[G.role]||Ww.chauffeur;return a.jsxs("button",{type:"button",onClick:()=>M(G.id),disabled:W,className:`relative p-3 rounded-lg border-2 transition-all duration-150 text-left ${J?"border-green-500 bg-green-50 dark:bg-green-950/20 shadow-[0_0_8px_rgba(34,197,94,0.3)]":"border-border hover:border-primary/50 hover:bg-accent cursor-pointer"} ${W?"opacity-50 cursor-not-allowed":""}`,style:J?{boxShadow:"0 0 12px rgba(34, 197, 94, 0.4)"}:{},children:[J&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-5 w-5 text-green-600"})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-green-500/20 text-green-700 dark:text-green-400 border-green-500/30",children:"Sélectionné"})})]}),a.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[a.jsx("div",{className:"relative w-16 h-16 rounded-full overflow-hidden border-2 border-border",children:G.photoUrl?a.jsx("img",{src:Sr(G.photoUrl)||void 0,alt:`${G.prenom} ${G.nom}`,className:"w-full h-full object-cover",onError:ee=>{ee.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsx("span",{className:"text-2xl",children:"👤"})})}),a.jsxs("div",{className:"text-center",children:[a.jsxs("p",{className:"text-sm font-semibold",children:[G.prenom," ",G.nom]}),a.jsx(yt,{variant:"outline",className:`text-xs mt-1 ${q.badge}`,children:l$e[G.role]||G.role})]})]})]},G.id)})})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"origine",className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-4 w-4 text-primary"}),"Départ ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"origine",list:"origine-suggestions",placeholder:"Ouagadougou",value:r.origine,onChange:G=>n({...r,origine:G.target.value}),required:!0,disabled:W,className:"h-12"}),a.jsx("datalist",{id:"origine-suggestions",children:_.map((G,J)=>a.jsx("option",{value:G},J))})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"destination",className:"flex items-center gap-2",children:[a.jsx(MD,{className:"h-4 w-4 text-primary"}),"Destination ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"destination",list:"destination-suggestions",placeholder:"Lomé",value:r.destination,onChange:G=>n({...r,destination:G.target.value}),required:!0,disabled:W,className:"h-12"}),a.jsx("datalist",{id:"destination-suggestions",children:_.map((G,J)=>a.jsx("option",{value:G},J))})]})]}),a.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[a.jsx(ei,{className:"h-4 w-4"}),a.jsx("div",{className:"flex-1 h-0.5 bg-primary/40 rounded-full"}),a.jsx("span",{className:"text-lg",children:"→"}),a.jsx("div",{className:"flex-1 h-0.5 bg-primary/40 rounded-full"}),a.jsx(MD,{className:"h-4 w-4"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"dateDepart",children:["Date de départ ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"dateDepart",type:"datetime-local",value:r.dateDepart,onChange:G=>n({...r,dateDepart:G.target.value}),required:!0,disabled:W,className:"h-12"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"dateArrivee",children:"Date d'arrivée prévue"}),a.jsx(Xe,{id:"dateArrivee",type:"datetime-local",value:r.dateArrivee,disabled:W,onChange:G=>n({...r,dateArrivee:G.target.value}),className:"h-12"})]})]}),C.includes("TRACTEUR_SANS_REMORQUE")&&$&&a.jsxs(it,{className:"p-4 border-2 border-destructive/50 bg-destructive/5",children:[a.jsx("p",{className:"text-sm font-medium text-destructive mb-2",children:"⚠️ Remorque requise"}),a.jsxs("p",{className:"text-xs text-muted-foreground mb-3",children:["Ce véhicule est un tracteur et nécessite une remorque. Allez dans la page ",a.jsx("strong",{children:"Attelages"})," pour en atteler une avant de créer le voyage."]})]})]}),a.jsxs("div",{className:"flex items-center justify-end gap-4 mt-8 pt-6 border-t",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>e("/trajets"),className:"h-12",children:"Annuler"}),a.jsx(ge,{type:"submit",disabled:X||!Q||W,className:`h-12 ${Q&&!X&&!W?"bg-[#8B5CF6] hover:bg-[#7C3AED] text-white shadow-lg hover:shadow-xl":""}`,children:X?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"En cours..."]}):"Créer le voyage"})]})]})]})}async function d$e(e){return await $t("/api/maintenances")}async function f$e(e,t){return await $t(`/api/maintenances/${e}`,{method:"PATCH",body:t})}async function h$e(e,t){return await $t(`/api/maintenances/${e}/treat`,{method:"POST",body:t})}function m$e(){const{toast:e}=Er(),t=eo(),r=_r({mutationFn:({maintenanceId:n,data:i})=>h$e(n,i),onSuccess:()=>{t.invalidateQueries({queryKey:["/api/maintenances"]}),e({title:"Entretien traité",description:"L'entretien a été traité avec succès."})},onError:n=>{e({variant:"destructive",title:"Erreur",description:n.message||"Impossible de traiter l'entretien"})}});return{treat:r.mutate,isTreating:r.isPending}}async function gne(e){const t=new FormData;t.append("photo",e);const r=localStorage.getItem("parcapp_token"),n={};r&&(n.Authorization=`Bearer ${r}`);const i=await fetch($s("/api/upload/loading-bon"),{method:"POST",headers:n,body:t,credentials:"include"});if(!i.ok){const s=await i.text();throw new Error(`${i.status}: ${s||i.statusText}`)}return await i.json()}async function p$e(e){const t=new FormData;t.append("logo",e);const r=localStorage.getItem("parcapp_token"),n={};r&&(n.Authorization=`Bearer ${r}`);const i=await fetch($s("/api/upload/organization-logo"),{method:"POST",headers:n,body:t,credentials:"include"});if(!i.ok){const s=await i.text();throw new Error(`${i.status}: ${s||i.statusText}`)}return await i.json()}async function g$e(e){const t=new FormData;t.append("justificatif",e);const r=await fetch($s("/api/upload/expense-justificatif"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}async function Ane(e){const t=new FormData;t.append("audio",e);const r=await fetch($s("/api/upload/breakdown-audio"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}async function A$e(e){const t=new FormData;t.append("photo",e);const r=await fetch($s("/api/upload/breakdown-photo"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}async function x$e(e){const t=new FormData;t.append("video",e);const r=await fetch($s("/api/upload/breakdown-video"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}async function v$e(e){const t=new FormData;t.append("photo",e);const r=await fetch($s("/api/upload/unloading-weighing-ticket"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}async function y$e(e){const t=new FormData;t.append("photo",e);const r=await fetch($s("/api/upload/maintenance-photo"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}async function b$e(e){const t=new FormData;t.append("audio",e);const r=await fetch($s("/api/upload/maintenance-audio"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}async function w$e(e){const t=new FormData;t.append("justificatif",e);const r=await fetch($s("/api/upload/maintenance-justificatif"),{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();throw new Error(`${r.status}: ${n||r.statusText}`)}return await r.json()}const E$e={vidange:"Vidange",filtres:"Filtres",pneus:"Pneus",liquide_frein:"Freins",adblue:"AdBlue",autre:"Autre"};function Wv({type:e,data:t}){const n=(()=>{switch(e){case"vehicle":return{icon:a.jsx(Fa,{className:"h-3 w-3"}),text:t.kilometrage?`${(t.kilometrage/1e3).toFixed(0)}k km`:"—"};case"trailer":return{icon:a.jsx(il,{className:"h-3 w-3"}),text:t.capacite?`${t.capacite} t`:"—"};case"maintenance":return{icon:a.jsx(Fa,{className:"h-3 w-3"}),text:t.immatriculation||(t.maintenanceType?E$e[t.maintenanceType]||t.maintenanceType:"Entretien")};case"breakdown":return{icon:a.jsx(Fa,{className:"h-3 w-3"}),text:t.immatriculation||t.breakdownType||"Panne"};default:return null}})();return n?e==="vehicle"||e==="trailer"?a.jsxs(yt,{variant:"secondary",className:"inline-flex items-center gap-1.5 px-2.5 py-1 bg-background/95 backdrop-blur-sm border shadow-md text-xs font-medium w-fit max-w-full",children:[n.icon,a.jsx("span",{className:"whitespace-nowrap",children:n.text})]}):a.jsxs(yt,{variant:"secondary",className:"absolute bottom-10 left-3 inline-flex items-center gap-1.5 px-2.5 py-1 bg-background/95 backdrop-blur-sm border shadow-md text-xs font-medium z-10 w-fit max-w-full",children:[n.icon,a.jsx("span",{className:"whitespace-nowrap",children:n.text})]}):null}const C$e={"Problème moteur":"bg-red-100 text-red-800 border-red-300","Panne moteur":"bg-red-100 text-red-800 border-red-300","Problème électrique":"bg-yellow-100 text-yellow-800 border-yellow-300","Pneu crevé":"bg-orange-100 text-orange-800 border-orange-300",Pneu:"bg-orange-100 text-orange-800 border-orange-300",Surchauffe:"bg-red-100 text-red-800 border-red-300",Carburant:"bg-yellow-100 text-yellow-800 border-yellow-300","Panne sèche":"bg-yellow-100 text-yellow-800 border-yellow-300"},I$e={vidange:"bg-blue-100 text-blue-800 border-blue-300",filtres:"bg-green-100 text-green-800 border-green-300",pneus:"bg-orange-100 text-orange-800 border-orange-300",liquide_frein:"bg-red-100 text-red-800 border-red-300",adblue:"bg-purple-100 text-purple-800 border-purple-300",autre:"bg-gray-100 text-gray-800 border-gray-300"};function v6({type:e,variant:t="maintenance",size:r="sm"}){const n=t==="maintenance"?zA:$A,i=n[e]||n.autre||"⚙️",o=(t==="maintenance"?I$e:C$e)[e]||(t==="breakdown"?"bg-red-100 text-red-800 border-red-300":"bg-gray-100 text-gray-800 border-gray-300"),l={sm:"text-xs px-2 py-0.5",md:"text-sm px-2.5 py-1"};return a.jsxs(yt,{variant:"secondary",className:`${o} border font-semibold ${l[r]} flex items-center gap-1`,children:[a.jsx("span",{className:"text-xs",children:i}),a.jsx("span",{children:e})]})}function j$e({vehicleId:e,onAdd:t,trigger:r,open:n,onOpenChange:i}){const[s,o]=I.useState(!1),l=n!==void 0?n:s,c=i||o,{data:d=[]}=cr({queryKey:["/api/vehicles"]}),{data:u=[]}=cr({queryKey:["/api/trailers"]}),[h,p]=I.useState("vehicle"),[A,y]=I.useState(e||null),[v,w]=I.useState(null),[j,E]=I.useState({type:"vidange",datePrevue:void 0,kilometragePrevu:void 0,dateEffectuee:void 0,kilometrageEffectue:void 0,cout:void 0,notes:void 0}),S=C=>{if(C.preventDefault(),h==="vehicle"&&(!A||A<=0)||h==="trailer"&&(!v||v<=0))return;const Q={...j,vehicleId:h==="vehicle"?A:null,trailerId:h==="trailer"?v:null};t?.(Q),c(!1),E({type:"vidange",datePrevue:void 0,kilometragePrevu:void 0,dateEffectuee:void 0,kilometrageEffectue:void 0,cout:void 0,notes:void 0}),p("vehicle"),y(null),w(null)},_=a.jsxs("form",{onSubmit:S,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"maintenance-target",children:["Véhicule ou Remorque ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:h,onValueChange:C=>{p(C),y(null),w(null)},required:!0,children:[a.jsx(Xr,{id:"maintenance-target",className:"h-12",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"vehicle",children:"Véhicule"}),a.jsx(Qt,{value:"trailer",children:"Remorque"})]})]})]}),h==="vehicle"&&a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"vehicle-select",children:["Véhicule ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:A?.toString()||"",onValueChange:C=>y(parseInt(C)),required:!0,children:[a.jsx(Xr,{id:"vehicle-select",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un véhicule"})}),a.jsx(en,{children:d.map(C=>a.jsx(Qt,{value:C.id.toString(),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Fa,{className:"h-4 w-4"}),a.jsx("span",{children:C.immatriculation})]})},C.id))})]})]}),h==="trailer"&&a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"trailer-select",children:["Remorque ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:v?.toString()||"",onValueChange:C=>w(parseInt(C)),required:!0,children:[a.jsx(Xr,{id:"trailer-select",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner une remorque"})}),a.jsx(en,{children:u.map(C=>a.jsx(Qt,{value:C.id.toString(),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(il,{className:"h-4 w-4"}),a.jsxs("span",{children:[C.numeroChassis," ",C.nom?`- ${C.nom}`:""]})]})},C.id))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"type",children:["Type ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:j.type,onValueChange:C=>E({...j,type:C}),required:!0,children:[a.jsx(Xr,{id:"type","data-testid":"select-type",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un type"})}),a.jsx(en,{children:B_.map(C=>a.jsx(Qt,{value:C,children:C.charAt(0).toUpperCase()+C.slice(1).replace("_"," ")},C))})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"datePrevue",children:"Date prévue"}),a.jsx(Xe,{id:"datePrevue",type:"date",value:j.datePrevue?new Date(j.datePrevue).toISOString().split("T")[0]:"",onChange:C=>E({...j,datePrevue:C.target.value?new Date(C.target.value):void 0}),className:"h-12","data-testid":"input-scheduled-date"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"kilometragePrevu",children:"Kilométrage prévu"}),a.jsx(Xe,{id:"kilometragePrevu",type:"number",placeholder:"50000",value:j.kilometragePrevu||"",onChange:C=>E({...j,kilometragePrevu:C.target.value?parseInt(C.target.value):void 0}),min:"0",className:"h-12","data-testid":"input-scheduled-km"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"dateEffectuee",children:"Date effectuée"}),a.jsx(Xe,{id:"dateEffectuee",type:"date",value:j.dateEffectuee?new Date(j.dateEffectuee).toISOString().split("T")[0]:"",onChange:C=>E({...j,dateEffectuee:C.target.value?new Date(C.target.value):void 0}),className:"h-12","data-testid":"input-done-date"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"kilometrageEffectue",children:"Kilométrage effectué"}),a.jsx(Xe,{id:"kilometrageEffectue",type:"number",placeholder:"50000",value:j.kilometrageEffectue||"",onChange:C=>E({...j,kilometrageEffectue:C.target.value?parseInt(C.target.value):void 0}),min:"0",className:"h-12","data-testid":"input-done-km"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"cout",children:"Coût (FCFA)"}),a.jsx(Xe,{id:"cout",type:"number",step:"0.01",placeholder:"50000",value:j.cout||"",onChange:C=>E({...j,cout:C.target.value?parseFloat(C.target.value):void 0}),min:"0",className:"h-12","data-testid":"input-cost"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"notes",children:"Notes"}),a.jsx(K0,{id:"notes",placeholder:"Notes sur la maintenance...",value:j.notes||"",onChange:C=>E({...j,notes:C.target.value||void 0}),rows:3,"data-testid":"textarea-notes"})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>c(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",children:"Ajouter"})]})]});return n!==void 0?a.jsx(En,{open:l,onOpenChange:c,children:a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Ajouter une maintenance"}),a.jsx(Mn,{children:"Planifiez ou enregistrez une maintenance pour un véhicule ou une remorque."})]}),_]})}):a.jsxs(En,{open:l,onOpenChange:c,children:[a.jsx(ah,{asChild:!0,children:r||a.jsxs(ge,{"data-testid":"button-add-maintenance",className:"w-full md:w-auto",size:"sm",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter une maintenance"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Ajouter une maintenance"}),a.jsx(Mn,{children:"Planifiez ou enregistrez une maintenance pour un véhicule ou une remorque."})]}),_]})]})}function N$e({maintenance:e,onUpdate:t,open:r,onOpenChange:n}){const{data:i=[]}=cr({queryKey:["/api/vehicles"]}),{data:s=[]}=cr({queryKey:["/api/trailers"]}),[o,l]=I.useState({type:e.type,datePrevue:e.datePrevue?new Date(e.datePrevue):void 0,kilometragePrevu:e.kilometragePrevu||void 0,dateEffectuee:e.dateEffectuee?new Date(e.dateEffectuee):void 0,kilometrageEffectue:e.kilometrageEffectue||void 0,cout:e.cout||void 0,notes:e.notes||void 0,status:e.status||"planned"});I.useEffect(()=>{l({type:e.type,datePrevue:e.datePrevue?new Date(e.datePrevue):void 0,kilometragePrevu:e.kilometragePrevu||void 0,dateEffectuee:e.dateEffectuee?new Date(e.dateEffectuee):void 0,kilometrageEffectue:e.kilometrageEffectue||void 0,cout:e.cout||void 0,notes:e.notes||void 0,status:e.status||"planned"})},[e]);const c=A=>{A.preventDefault();const y={...o,status:o.dateEffectuee&&o.status==="planned"?"completed":o.status};t?.(y),n(!1)},d=!!e.vehicleId,u=!!e.trailerId,h=d?i.find(A=>A.id===e.vehicleId):null,p=u?s.find(A=>A.id===e.trailerId):null;return a.jsx(En,{open:r,onOpenChange:n,children:a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Modifier la maintenance"}),a.jsx(Mn,{children:"Mettez à jour les informations de cette maintenance."})]}),a.jsxs("form",{onSubmit:c,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:d?"Véhicule":"Remorque"}),a.jsx("div",{className:"flex items-center gap-2 p-3 bg-muted rounded-md",children:d?a.jsxs(a.Fragment,{children:[a.jsx(Fa,{className:"h-4 w-4"}),a.jsx("span",{children:h?.immatriculation||"Véhicule inconnu"})]}):a.jsxs(a.Fragment,{children:[a.jsx(il,{className:"h-4 w-4"}),a.jsxs("span",{children:[p?.numeroChassis," ",p?.nom?`- ${p.nom}`:""]})]})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"type",children:["Type ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:o.type,onValueChange:A=>l({...o,type:A}),required:!0,children:[a.jsx(Xr,{id:"type",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un type"})}),a.jsx(en,{children:B_.map(A=>a.jsx(Qt,{value:A,children:A.charAt(0).toUpperCase()+A.slice(1).replace("_"," ")},A))})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"datePrevue",children:"Date prévue"}),a.jsx(Xe,{id:"datePrevue",type:"date",value:o.datePrevue?new Date(o.datePrevue).toISOString().split("T")[0]:"",onChange:A=>l({...o,datePrevue:A.target.value?new Date(A.target.value):void 0}),className:"h-12"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"kilometragePrevu",children:"Kilométrage prévu"}),a.jsx(Xe,{id:"kilometragePrevu",type:"number",placeholder:"50000",value:o.kilometragePrevu||"",onChange:A=>l({...o,kilometragePrevu:A.target.value?parseInt(A.target.value):void 0}),min:"0",className:"h-12"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"dateEffectuee",children:"Date effectuée"}),a.jsx(Xe,{id:"dateEffectuee",type:"date",value:o.dateEffectuee?new Date(o.dateEffectuee).toISOString().split("T")[0]:"",onChange:A=>l({...o,dateEffectuee:A.target.value?new Date(A.target.value):void 0}),className:"h-12"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"kilometrageEffectue",children:"Kilométrage effectué"}),a.jsx(Xe,{id:"kilometrageEffectue",type:"number",placeholder:"50000",value:o.kilometrageEffectue||"",onChange:A=>l({...o,kilometrageEffectue:A.target.value?parseInt(A.target.value):void 0}),min:"0",className:"h-12"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"cout",children:"Coût (FCFA)"}),a.jsx(Xe,{id:"cout",type:"number",step:"0.01",placeholder:"50000",value:o.cout||"",onChange:A=>l({...o,cout:A.target.value?parseFloat(A.target.value):void 0}),min:"0",className:"h-12"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"status",children:"Statut"}),a.jsxs(rn,{value:o.status||"planned",onValueChange:A=>l({...o,status:A}),children:[a.jsx(Xr,{id:"status",className:"h-12",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"planned",children:"Planifié"}),a.jsx(Qt,{value:"in_progress",children:"En cours"}),a.jsx(Qt,{value:"completed",children:"Terminé"}),a.jsx(Qt,{value:"overdue",children:"En retard"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"notes",children:"Notes"}),a.jsx(K0,{id:"notes",placeholder:"Notes sur la maintenance...",value:o.notes||"",onChange:A=>l({...o,notes:A.target.value||void 0}),rows:3})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>n(!1),className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit",className:"w-full sm:w-auto h-12",children:"Enregistrer"})]})]})]})})}function S$e(){const[e,t]=I.useState(""),[r,n]=I.useState("all"),[i,s]=I.useState("all"),[o,l]=I.useState(null),[c,d]=I.useState(!1),[u,h]=I.useState(null),[p,A]=I.useState(!1),[y,v]=I.useState(null),{toast:w}=Er(),j=m$e(),[E,S]=I.useState("planned"),[_,C]=I.useState(null),[Q,R]=I.useState(null),[T,M]=I.useState(null),[O,$]=I.useState(null),[P,L]=I.useState(null),[X,W]=I.useState(null),[G,J]=I.useState(!1),[q,ee]=I.useState(null),[ne,V]=I.useState(0),[ue,de]=I.useState(null),[xe,_e]=I.useState([]),[Ce,we]=I.useState(""),[ve,Ne]=I.useState(""),[Ie,be]=I.useState(""),[Re,Pe]=I.useState(""),[Ke,tt]=I.useState(""),[pt,dt]=I.useState(""),[Oe,Pt]=I.useState(""),{data:Kt=[]}=cr({queryKey:["/api/vehicles"]}),{data:gt=[]}=cr({queryKey:["/api/trailers"]}),{data:Jt=[]}=cr({queryKey:["/api/trips"]}),{data:Bt=[],isLoading:tr}=cr({queryKey:["/api/maintenances"],queryFn:()=>d$e()}),sr=tr,xt=_r({mutationFn:async Te=>await $t("/api/maintenances",{method:"POST",body:Te}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/maintenances"]}),w({title:"Succès",description:"La maintenance a été ajoutée avec succès"})},onError:Te=>{w({variant:"destructive",title:"Erreur",description:Te.message||"Impossible d'ajouter la maintenance"})}}),wt=_r({mutationFn:async Te=>await $t(`/api/maintenances/${Te}`,{method:"DELETE"}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/maintenances"]}),w({title:"Succès",description:"La maintenance a été supprimée avec succès"}),l(null)},onError:Te=>{w({variant:"destructive",title:"Erreur",description:Te.message||"Impossible de supprimer la maintenance"})}}),Lt=I.useMemo(()=>{const Te=new Map;return Kt.forEach(zt=>{const qr=Jt.filter(Zr=>Zr.vehicleId===zt.id&&Zr.arrivalOdometerKm),kr=qr.length>0?Math.max(...qr.map(Zr=>Zr.arrivalOdometerKm||0)):0,fr=(Bt||[]).filter(Zr=>Zr.vehicleId!==null&&Zr.vehicleId===zt.id&&Zr.kilometrageEffectue),Ft=fr.length>0?Math.max(...fr.map(Zr=>Zr.kilometrageEffectue||0)):0,Gr=Math.max(kr,Ft);Gr>0&&Te.set(zt.id,Gr)}),Te},[Kt,Jt,Bt]),ir=I.useMemo(()=>(Bt||[]).map(Te=>{if(Te.status&&Te.status!=="planned")return Te;const zt=Te.vehicleId&&Lt.get(Te.vehicleId)||0,qr=Te.kilometragePrevu&&zt>=Te.kilometragePrevu||Te.datePrevue&&new Date(Te.datePrevue){const Te=new Map,zt=new Map;(ir||[]).forEach(fr=>{if(fr.vehicleId){const Ft=Kt.find(Gr=>Gr.id===fr.vehicleId);if(!Ft)return;Te.has(Ft.id)||Te.set(Ft.id,{vehicle:Ft,currentMileage:Lt.get(Ft.id)||null,maintenances:[]}),Te.get(Ft.id).maintenances.push(fr)}else if(fr.trailerId){const Ft=gt.find(Gr=>Gr.id===fr.trailerId);if(!Ft)return;zt.has(Ft.id)||zt.set(Ft.id,{trailer:Ft,currentMileage:null,maintenances:[]}),zt.get(Ft.id).maintenances.push(fr)}});const qr=Array.from(Te.values()).sort((fr,Ft)=>(fr.vehicle?.immatriculation||"").localeCompare(Ft.vehicle?.immatriculation||"")),kr=Array.from(zt.values()).sort((fr,Ft)=>(fr.trailer?.numeroChassis||"").localeCompare(Ft.trailer?.numeroChassis||""));return[...qr,...kr]},[ir,Kt,gt,Lt]),ce=I.useMemo(()=>He.map(Te=>({...Te,maintenances:Te.maintenances.filter(zt=>{const qr=i==="all"||zt.status===i,kr=!e||zt.type.toLowerCase().includes(e.toLowerCase())||Te.vehicle?.immatriculation.toLowerCase().includes(e.toLowerCase())||Te.trailer?.numeroChassis.toLowerCase().includes(e.toLowerCase())||Te.trailer?.nom?.toLowerCase().includes(e.toLowerCase())||!1||zt.notes?.toLowerCase().includes(e.toLowerCase()),fr=r==="all"||Te.vehicle&&Te.vehicle.id.toString()===r||Te.trailer&&Te.trailer.id.toString()===r;return qr&&kr&&fr})})).filter(Te=>Te.maintenances.length>0),[He,i,e,r]),Le=_r({mutationFn:({id:Te,data:zt})=>f$e(Te,zt),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/maintenances"]}),w({title:"Maintenance mise à jour",description:"La maintenance a été mise à jour avec succès."}),A(!1),h(null)},onError:Te=>{w({variant:"destructive",title:"Erreur",description:Te.message||"Impossible de mettre à jour la maintenance"})}}),rt=Te=>{u&&Le.mutate({id:u.id,data:Te})},ie=Te=>{h(Te),A(!0)},ae=Te=>{const zt=Te;if(!zt.vehicleId||zt.vehicleId<=0){w({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un véhicule valide"});return}xt.mutate(zt)},Ee=Te=>{l(Te)},re=()=>{o&&wt.mutate(o)},We=Te=>{v(Te),S(Te.status||"planned"),R(Te.photoUrl||null),$(Te.audioUrl||null),W(Te.justificatifUrl||null);const zt=Te.replacedParts?typeof Te.replacedParts=="string"?JSON.parse(Te.replacedParts):Te.replacedParts:[];_e(Array.isArray(zt)?zt:[]),we(Te.laborCost?.toString()||""),tt(Te.dateEffectuee?new Date(Te.dateEffectuee).toISOString().split("T")[0]:""),dt(Te.kilometrageEffectue?.toString()||""),Pt(Te.notes||""),Ne(""),be(""),Pe("")},Tt=()=>{v(null),C(null),R(null),M(null),O&&(URL.revokeObjectURL(O),$(null)),L(null),W(null),_e([]),we(""),tt(""),dt(""),Pt(""),Ne(""),be(""),Pe(""),q&&G&&(q.stop(),ee(null)),ue&&(clearInterval(ue),de(null)),J(!1),V(0)},H=()=>{if(!ve.trim()||!Ie||!Re){w({variant:"destructive",title:"Erreur",description:"Veuillez remplir tous les champs de la pièce"});return}const Te=parseFloat(Ie),zt=parseFloat(Re);if(isNaN(Te)||Te<=0||isNaN(zt)||zt<0){w({variant:"destructive",title:"Erreur",description:"La quantité et le coût unitaire doivent être des nombres valides"});return}_e([...xe,{name:ve.trim(),quantity:Te,unitCost:zt}]),Ne(""),be(""),Pe("")},ze=Te=>{_e(xe.filter((zt,qr)=>qr!==Te))},Ze=I.useMemo(()=>xe.reduce((Te,zt)=>Te+zt.quantity*zt.unitCost,0),[xe]),he=I.useMemo(()=>{const Te=parseFloat(Ce)||0;return Ze+Te},[Ze,Ce]),De=async()=>{if(!y)return;let Te=Q,zt=O,qr=X;if(_)try{Te=(await y$e(_)).url}catch{w({variant:"destructive",title:"Erreur",description:"Impossible d'uploader la photo"});return}if(T)try{const kr=new File([T],"maintenance-audio.webm",{type:T.type});zt=(await b$e(kr)).url}catch{w({variant:"destructive",title:"Erreur",description:"Impossible d'uploader l'audio"});return}if(P)try{qr=(await w$e(P)).url}catch{w({variant:"destructive",title:"Erreur",description:"Impossible d'uploader le justificatif"});return}j.treat({maintenanceId:y.id,data:{status:E,photoUrl:Te,audioUrl:zt,replacedParts:xe.length>0?xe:null,laborCost:Ce?parseFloat(Ce):null,totalCost:he>0?he:null,justificatifUrl:qr,dateEffectuee:Ke?new Date(Ke):null,kilometrageEffectue:pt?parseInt(pt):null}}),Tt()},qe={vidange:"Vidange",filtres:"Filtres",pneus:"Pneus",liquide_frein:"Liquide de frein",adblue:"AdBlue",autre:"Autre"},dr={planned:"Planifié",in_progress:"En cours",completed:"Terminé",overdue:"En retard"},Xt={planned:"bg-blue-100 text-blue-800 border-blue-300",in_progress:"bg-yellow-100 text-yellow-800 border-yellow-300",completed:"bg-green-100 text-green-800 border-green-300",overdue:"bg-red-100 text-red-800 border-red-300"};return a.jsxs("div",{className:"space-y-4 md:space-y-6 pb-20 md:pb-0",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-xl md:text-2xl font-semibold","data-testid":"text-page-title",children:"Entretiens"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez les entretiens de vos véhicules"})]}),a.jsxs(ge,{"data-testid":"button-add-maintenance",className:"w-full md:w-auto",size:"sm",onClick:()=>d(!0),children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter une maintenance"]}),a.jsx(j$e,{onAdd:ae,open:c,onOpenChange:d})]}),a.jsxs("div",{className:"flex flex-col md:flex-row items-stretch md:items-center gap-3",children:[a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:Te=>t(Te.target.value),className:"pl-9 h-12","data-testid":"input-search"})]}),a.jsxs(rn,{value:r,onValueChange:n,children:[a.jsx(Xr,{className:"h-12 w-full md:w-[200px]",children:a.jsx(nn,{placeholder:"Tous les véhicules/remorques"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Tous les véhicules/remorques"}),Kt.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"px-2 py-1.5 text-xs font-semibold text-muted-foreground",children:"Véhicules"}),Kt.map(Te=>a.jsx(Qt,{value:Te.id.toString(),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Fa,{className:"h-4 w-4"}),a.jsx("span",{children:Te.immatriculation})]})},`vehicle-${Te.id}`))]}),gt.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"px-2 py-1.5 text-xs font-semibold text-muted-foreground",children:"Remorques"}),gt.map(Te=>a.jsx(Qt,{value:Te.id.toString(),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(il,{className:"h-4 w-4"}),a.jsxs("span",{children:[Te.numeroChassis," ",Te.nom?`- ${Te.nom}`:""]})]})},`trailer-${Te.id}`))]})]})]})]}),sr?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsx(a.Fragment,{children:a.jsxs(ul,{value:i,onValueChange:s,className:"space-y-4",children:[a.jsxs(Ro,{className:"w-full grid grid-cols-5",children:[a.jsx(hn,{value:"all",className:"text-xs md:text-sm",children:"Tous"}),a.jsx(hn,{value:"planned",className:"text-xs md:text-sm",children:"Planifiés"}),a.jsx(hn,{value:"in_progress",className:"text-xs md:text-sm",children:"En cours"}),a.jsx(hn,{value:"completed",className:"text-xs md:text-sm",children:"Terminés"}),a.jsx(hn,{value:"overdue",className:"text-xs md:text-sm",children:"En retard"})]}),a.jsx(dn,{value:i,className:"mt-0",children:a.jsxs("div",{className:"space-y-6",children:[ce.map(Te=>{const zt=Te.maintenances.filter(Ft=>Ft.status==="overdue").length,qr=!!Te.vehicle;Te.trailer;const kr=qr?Te.vehicle.immatriculation:Te.trailer.numeroChassis+(Te.trailer.nom?` - ${Te.trailer.nom}`:""),fr=qr?Te.vehicle.photoUrl:Te.trailer.photoUrl;return a.jsxs(it,{className:"overflow-hidden",children:[a.jsx(br,{className:"pb-4",children:a.jsxs("div",{className:"flex items-start gap-4",children:[fr&&a.jsx("img",{src:Sr(fr)||void 0,alt:kr,className:"w-20 h-20 object-cover rounded-lg border flex-shrink-0",onError:Ft=>{Ft.target.style.display="none"}}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs(jr,{className:"text-lg mb-1 flex items-center gap-2",children:[qr?a.jsx(Fa,{className:"h-5 w-5"}):a.jsx(il,{className:"h-5 w-5"}),qr?"Véhicule":"Remorque",": ",kr]}),a.jsx(wn,{className:"mb-2",children:qr&&Te.currentMileage?`Kilométrage actuel: ${Te.currentMileage.toLocaleString()} km`:qr?"Kilométrage non disponible":"Remorque (pas de kilométrage)"}),zt>0&&a.jsxs(yt,{variant:"destructive",className:"text-xs",children:["⚠️ ",zt," entretien",zt>1?"s":""," en retard"]})]})]})}),a.jsx(Et,{children:a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:Te.maintenances.map(Ft=>{const Gr=Ft;return a.jsxs(it,{className:"overflow-hidden border-blue-200",children:[Gr.photoUrl&&a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-t-xl bg-muted mb-3",children:[a.jsx("img",{src:Sr(Gr.photoUrl)||void 0,alt:qe[Ft.type]||Ft.type,className:"w-full h-full object-cover",onError:Zr=>{Zr.target.style.display="none"}}),a.jsx("div",{className:"absolute top-3 left-3 z-10",children:a.jsx(ge,{size:"icon",variant:"secondary",className:"h-12 w-12 rounded-full bg-background/90 backdrop-blur-sm border shadow-sm hover:bg-background/95 cursor-pointer p-0",onClick:Zr=>{Zr.stopPropagation(),We(Ft)},title:"Traiter l'entretien",children:a.jsx("span",{className:"text-2xl",children:zA[Ft.type]||zA.autre})})}),a.jsx(Wv,{type:"maintenance",data:{immatriculation:qr?Te.vehicle.immatriculation:Te.trailer.numeroChassis+(Te.trailer.nom?` - ${Te.trailer.nom}`:"")}})]}),a.jsx(br,{className:"pb-3",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1",children:[!Gr.photoUrl&&a.jsx("div",{className:"flex items-center gap-3 mb-2",children:a.jsx(ge,{size:"icon",variant:"secondary",className:"h-12 w-12 rounded-full bg-background/90 backdrop-blur-sm border shadow-sm hover:bg-background/95 cursor-pointer p-0",onClick:Zr=>{Zr.stopPropagation(),We(Ft)},title:"Traiter l'entretien",children:a.jsx("span",{className:"text-2xl",children:zA[Ft.type]||zA.autre})})}),a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(v6,{type:qe[Ft.type]||Ft.type,variant:"maintenance",size:"sm"}),a.jsx(yt,{variant:"outline",className:`text-xs ${Xt[Ft.status||"planned"]}`,children:dr[Ft.status||"planned"]})]}),a.jsx(jr,{className:"text-base",children:qe[Ft.type]||Ft.type})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(N1,{cardData:{type:"maintenance",title:qe[Ft.type]||Ft.type,details:{type:qe[Ft.type]||Ft.type,vehicule:qr?Te.vehicle.immatriculation:Te.trailer.numeroChassis+(Te.trailer.nom?` - ${Te.trailer.nom}`:""),date:Ft.datePrevue?Wr(new Date(Ft.datePrevue),"dd/MM/yyyy",{locale:Hr}):void 0,dateEffectuee:Ft.dateEffectuee?Wr(new Date(Ft.dateEffectuee),"dd/MM/yyyy",{locale:Hr}):void 0,cout:Ft.cout?`${Ft.cout.toLocaleString()} FCFA`:void 0}},size:"sm"}),a.jsx(ge,{size:"icon",variant:"ghost",onClick:()=>ie(Ft),className:"h-8 w-8 flex-shrink-0",title:"Modifier la maintenance",children:a.jsx(zm,{className:"h-4 w-4"})}),a.jsx(ge,{size:"icon",variant:"ghost",onClick:()=>Ee(Ft.id),className:"h-8 w-8 flex-shrink-0",children:a.jsx(Ns,{className:"h-4 w-4"})})]})]})}),a.jsxs(Et,{className:"space-y-2 text-sm md:space-y-3",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-2 md:gap-3",children:[Ft.datePrevue&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Date prévue: "}),a.jsx("span",{className:"font-medium",children:Wr(new Date(Ft.datePrevue),"dd/MM/yyyy",{locale:Hr})})]}),Ft.kilometragePrevu&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Km prévu: "}),a.jsxs("span",{className:"font-medium",children:[Ft.kilometragePrevu.toLocaleString()," km"]})]}),Ft.dateEffectuee&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Date effectuée: "}),a.jsx("span",{className:"font-medium",children:Wr(new Date(Ft.dateEffectuee),"dd/MM/yyyy",{locale:Hr})})]}),Ft.kilometrageEffectue&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Km effectué: "}),a.jsxs("span",{className:"font-medium",children:[Ft.kilometrageEffectue.toLocaleString()," km"]})]})]}),(Ft.cout||Ft.totalCost)&&a.jsxs("div",{className:"pt-2 border-t",children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Coût: "}),a.jsxs("span",{className:"font-semibold text-base",children:[(Ft.totalCost||Ft.cout||0).toLocaleString()," FCFA"]})]}),Ft.notes&&a.jsx("div",{className:"pt-2 border-t",children:a.jsx("p",{className:"text-muted-foreground text-xs md:text-sm",children:Ft.notes})})]})]},Ft.id)})})})]},qr?`vehicle-${Te.vehicle.id}`:`trailer-${Te.trailer.id}`)}),ce.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucun entretien trouvé"})})]})})]})}),a.jsx(du,{open:o!==null,onOpenChange:()=>l(null),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Confirmer la suppression"}),a.jsx(Cc,{children:"Êtes-vous sûr de vouloir supprimer cette maintenance ? Cette action est irréversible."})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:re,children:"Supprimer"})]})]})}),a.jsx(En,{open:y!==null,onOpenChange:Te=>!Te&&Tt(),children:a.jsxs(yn,{className:"sm:max-w-[600px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Traiter l'entretien"}),a.jsx(Mn,{children:y&&`${qe[y.type]||y.type} - ${Kt.find(Te=>Te.id===y.vehicleId)?.immatriculation}`})]}),y&&a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"treatment-status",children:"Statut"}),a.jsxs(rn,{value:E,onValueChange:Te=>S(Te),children:[a.jsx(Xr,{id:"treatment-status",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"planned",children:"Planifié"}),a.jsx(Qt,{value:"in_progress",children:"En cours"}),a.jsx(Qt,{value:"completed",children:"Terminé"}),a.jsx(Qt,{value:"overdue",children:"En retard"})]})]})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"treatment-date-effectuee",children:"Date effectuée"}),a.jsx(Xe,{id:"treatment-date-effectuee",type:"date",value:Ke,onChange:Te=>tt(Te.target.value),className:"h-12"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"treatment-km-effectue",children:"Kilométrage effectué"}),a.jsx(Xe,{id:"treatment-km-effectue",type:"number",placeholder:"125000",value:pt,onChange:Te=>dt(Te.target.value),className:"h-12"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Pièces remplacées"}),a.jsxs("div",{className:"space-y-2",children:[xe.map((Te,zt)=>a.jsxs("div",{className:"flex items-center gap-2 p-2 border rounded",children:[a.jsxs("div",{className:"flex-1 text-sm",children:[a.jsx("span",{className:"font-medium",children:Te.name})," × ",Te.quantity," = ",(Te.quantity*Te.unitCost).toLocaleString()," FCFA"]}),a.jsx(ge,{size:"icon",variant:"ghost",onClick:()=>ze(zt),className:"h-8 w-8",children:a.jsx(U1,{className:"h-4 w-4"})})]},zt)),a.jsxs("div",{className:"grid grid-cols-4 gap-2",children:[a.jsx(Xe,{placeholder:"Nom",value:ve,onChange:Te=>Ne(Te.target.value),className:"h-10"}),a.jsx(Xe,{placeholder:"Qté",type:"number",value:Ie,onChange:Te=>be(Te.target.value),className:"h-10"}),a.jsx(Xe,{placeholder:"Prix unit.",type:"number",value:Re,onChange:Te=>Pe(Te.target.value),className:"h-10"}),a.jsx(ge,{onClick:H,className:"h-10",children:a.jsx(Ti,{className:"h-4 w-4"})})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"labor-cost",children:"Main d'œuvre (FCFA)"}),a.jsx(Xe,{id:"labor-cost",type:"number",placeholder:"0",value:Ce,onChange:Te=>we(Te.target.value),className:"h-12"})]}),a.jsx("div",{className:"p-3 bg-muted rounded-lg",children:a.jsxs("div",{className:"flex justify-between text-sm",children:[a.jsx("span",{className:"text-muted-foreground",children:"Coût total:"}),a.jsxs("span",{className:"font-semibold text-base",children:[he.toLocaleString()," FCFA"]})]})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo"}),Q&&a.jsx("div",{className:"relative w-full aspect-video mb-2",children:a.jsx("img",{src:Q,alt:"Photo entretien",className:"w-full h-full object-cover rounded-lg border"})}),a.jsx(Xe,{type:"file",accept:"image/*",onChange:Te=>{const zt=Te.target.files?.[0];zt&&(C(zt),R(URL.createObjectURL(zt)))},className:"h-12"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Justificatif (facture/reçu)"}),X&&a.jsx("div",{className:"mb-2",children:a.jsx("a",{href:X,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-primary hover:underline",children:"Voir le justificatif"})}),a.jsx(Xe,{type:"file",accept:"image/*,.pdf",onChange:Te=>{const zt=Te.target.files?.[0];zt&&L(zt)},className:"h-12"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"treatment-notes",children:"Notes"}),a.jsx(K0,{id:"treatment-notes",placeholder:"Notes sur l'entretien...",value:Oe,onChange:Te=>Pt(Te.target.value),rows:3})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:Tt,className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"button",onClick:De,disabled:j.isTreating,className:"w-full sm:w-auto h-12",children:j.isTreating?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Enregistrement..."]}):"Enregistrer"})]})]})}),a.jsx(np,{onClick:()=>d(!0),label:"Ajouter un entretien"}),u&&a.jsx(N$e,{maintenance:u,onUpdate:rt,open:p,onOpenChange:A})]})}function B$e(){const{cachedOfflineProfile:e,unlockOffline:t,resetOfflineProfile:r,authMode:n,offlineUnlocked:i}=dy(),[s,o]=I.useState(""),[l,c]=I.useState(null),[d,u]=I.useState(!1),[h,p]=I.useState(null),[A,y]=I.useState(null);I.useEffect(()=>{if(!h){y(null);return}const _=()=>{const Q=Date.now(),R=Math.max(0,Math.ceil((h-Q)/1e3));y(R>0?R:null),R<=0&&p(null)};_();const C=setInterval(_,1e3);return()=>clearInterval(C)},[h]);const v=async _=>{_.preventDefault(),c(null),u(!0);try{const C=await nz(s);if(C.success)console.log("[OfflineUnlockScreen] PIN correct, appel unlockOffline()"),t(),o(""),await new Promise(Q=>setTimeout(Q,50)),console.log("[OfflineUnlockScreen] Après unlockOffline(), authMode devrait être offline-unlocked");else{if(C.lockedUntil)p(C.lockedUntil),c(`Trop de tentatives échouées. Verrouillé jusqu'à ${Wr(new Date(C.lockedUntil),"HH:mm:ss",{locale:Hr})}`);else if(C.profile){const Q=C.profile.failedAttempts,R=An.MAX_ATTEMPTS-Q;c(`PIN incorrect. ${R>0?`${R} tentative${R>1?"s":""} restante${R>1?"s":""}.`:"Compte verrouillé."}`)}else c("PIN incorrect ou profil expiré.");o("")}}catch{c("Erreur lors de la vérification du PIN."),o("")}finally{u(!1)}},w=async()=>{if(confirm("Êtes-vous sûr de vouloir réinitialiser le profil offline ? Vous devrez vous reconnecter en ligne."))try{await r()}catch{c("Erreur lors de la réinitialisation.")}},j=e?.displayName||"Utilisateur",E=e?.lastOnlineAt?Wr(new Date(e.lastOnlineAt),"dd/MM/yyyy à HH:mm",{locale:Hr}):"Jamais",S=h!==null&&A!==null&&A>0;return I.useEffect(()=>{i&&n==="offline-unlocked"&&(console.log("[OfflineUnlockScreen] ===== DÉVERROUILLÉ, ÉMISSION ÉVÉNEMENT ====="),console.log("[OfflineUnlockScreen] État:",{offlineUnlocked:i,authMode:n}),window.dispatchEvent(new CustomEvent("offline-unlock")),console.log("[OfflineUnlockScreen] Événement 'offline-unlock' émis, RouteGuard devrait se re-rendre"))},[i,n]),i&&n==="offline-unlocked"?(console.log("[OfflineUnlockScreen] ===== DÉVERROUILLÉ, RETOUR FRAGMENT VIDE ====="),console.log("[OfflineUnlockScreen] État:",{offlineUnlocked:i,authMode:n}),console.log("[OfflineUnlockScreen] Retour fragment vide - RouteGuard devrait se re-rendre et détecter offline-unlocked"),a.jsx(a.Fragment,{})):a.jsxs("div",{className:"min-h-screen flex flex-col items-center justify-center bg-gradient-to-br from-background to-muted p-4",children:[a.jsx("div",{className:"mb-4 w-full max-w-md",children:a.jsxs(lu,{className:"bg-yellow-50 dark:bg-yellow-900/20 border-yellow-200 dark:border-yellow-800",children:[a.jsx(qd,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-400"}),a.jsx(cu,{className:"text-yellow-800 dark:text-yellow-200",children:"Mode hors ligne activé"})]})}),a.jsxs("div",{className:"mb-2 text-xs text-muted-foreground bg-muted p-2 rounded",children:["Debug: authMode=",n,", unlocked=",i?"true":"false"]}),a.jsxs("div",{className:"flex flex-col items-center mb-8",children:[a.jsx("img",{src:"/logo-parc-app.png",alt:"Parc'App Logo",className:"h-16 md:h-20 w-auto mb-4"}),a.jsx("h1",{className:"text-2xl md:text-3xl font-bold",children:"Parc'App"}),a.jsx("p",{className:"text-sm md:text-base text-muted-foreground mt-1",children:"Déverrouillage hors ligne"})]}),a.jsxs(it,{className:"w-full max-w-md",children:[a.jsxs(br,{className:"space-y-1",children:[a.jsxs(jr,{className:"text-2xl font-bold text-center flex items-center justify-center gap-2",children:[a.jsx(Hd,{className:"h-5 w-5"}),"Déverrouiller"]}),a.jsx(wn,{className:"text-center",children:"Entrez votre PIN pour accéder à l'application"})]}),a.jsxs(Et,{children:[a.jsxs("div",{className:"mb-6 p-4 bg-muted rounded-lg",children:[a.jsx("p",{className:"text-sm font-medium mb-1",children:j}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:["Dernière connexion: ",E]})]}),a.jsxs("form",{onSubmit:v,className:"space-y-4",children:[l&&a.jsxs(lu,{variant:"destructive",children:[a.jsx(Kn,{className:"h-4 w-4"}),a.jsx(cu,{children:l})]}),S&&A!==null&&a.jsxs(lu,{variant:"destructive",children:[a.jsx(Kn,{className:"h-4 w-4"}),a.jsxs(cu,{children:["Compte verrouillé. Réessayez dans ",Math.floor(A/60),":",(A%60).toString().padStart(2,"0")]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"pin",children:"Code PIN"}),a.jsx(Xe,{id:"pin",type:"password",inputMode:"numeric",pattern:"[0-9]*",placeholder:`${An.PIN_LENGTH_MIN}-${An.PIN_LENGTH_MAX} chiffres`,value:s,onChange:_=>{const C=_.target.value.replace(/\D/g,"");C.length<=An.PIN_LENGTH_MAX&&(o(C),c(null))},required:!0,disabled:d||S,autoComplete:"off",autoFocus:!0,className:"text-center text-2xl tracking-widest"})]}),a.jsx(ge,{type:"submit",className:"w-full",disabled:d||S||s.lengthnavigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&window.MediaRecorder&&(window.location.protocol==="https:"||window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),J=_e=>{const Ce=Math.floor(_e/60),we=_e%60;return`${Ce.toString().padStart(2,"0")}:${we.toString().padStart(2,"0")}`},q=async()=>{try{if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){s({variant:"destructive",title:"Erreur",description:"Votre navigateur ne supporte pas l'enregistrement audio."});return}if(!window.MediaRecorder){s({variant:"destructive",title:"Erreur",description:"Votre navigateur ne supporte pas l'enregistrement audio."});return}const _e=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),Ce=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/mpeg"];let we="";for(const Re of Ce)if(MediaRecorder.isTypeSupported(Re)){we=Re;break}const ve=we?{mimeType:we}:{},Ne=new MediaRecorder(_e,ve),Ie=[];Ne.ondataavailable=Re=>{Re.data.size>0&&Ie.push(Re.data)},Ne.onstop=()=>{const Re=new Blob(Ie,{type:Ne.mimeType||"audio/webm"});v(Re);const Pe=URL.createObjectURL(Re);M(Pe),_e.getTracks().forEach(Ke=>Ke.stop()),P&&(clearInterval(P),L(null)),$(0)},Ne.onerror=Re=>{console.error("MediaRecorder error:",Re),s({variant:"destructive",title:"Erreur d'enregistrement",description:"Une erreur s'est produite pendant l'enregistrement."}),_e.getTracks().forEach(Pe=>Pe.stop()),C(!1),R(null)},Ne.start(),R(Ne),C(!0),$(0);const be=setInterval(()=>{$(Re=>Re+1)},1e3);L(be)}catch(_e){console.error("Error starting recording:",_e);let Ce="Impossible d'accéder au microphone";_e.name==="NotAllowedError"||_e.name==="PermissionDeniedError"?Ce="Permission refusée. Veuillez autoriser l'accès au microphone.":_e.name==="NotFoundError"||_e.name==="DevicesNotFoundError"?Ce="Aucun microphone trouvé.":(_e.name==="NotReadableError"||_e.name==="TrackStartError")&&(Ce="Le microphone est déjà utilisé par une autre application."),s({variant:"destructive",title:"Erreur d'accès au microphone",description:Ce})}},ee=()=>{Q&&_&&(Q.stop(),C(!1),R(null),P&&(clearInterval(P),L(null)))},ne=()=>{T&&(URL.revokeObjectURL(T),M(null)),v(null)},V=async _e=>{const Ce=_e.target.files?.[0];if(Ce){if(!Ce.type.startsWith("video/")){s({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un fichier vidéo"});return}if(Ce.size>20*1024*1024){s({variant:"destructive",title:"Erreur",description:"La vidéo est trop volumineuse (max 20MB)"});return}try{const we=document.createElement("video");we.preload="metadata",we.src=URL.createObjectURL(Ce),we.onloadedmetadata=()=>{window.URL.revokeObjectURL(we.src);const ve=we.duration;if(ve>15){s({variant:"destructive",title:"Erreur",description:`La vidéo est trop longue (${Math.ceil(ve)}s). Durée maximum : 15 secondes`});return}if(we.videoWidth>1280||we.videoHeight>720){s({variant:"destructive",title:"Erreur",description:`La résolution est trop élevée (${we.videoWidth}x${we.videoHeight}). Maximum : 1280x720 (720p)`});return}j(Ce),S(URL.createObjectURL(Ce))},we.onerror=()=>{window.URL.revokeObjectURL(we.src),s({variant:"destructive",title:"Erreur",description:"Impossible de lire le fichier vidéo"})}}catch{s({variant:"destructive",title:"Erreur",description:"Erreur lors de la validation de la vidéo"})}}},ue=()=>{j(null),E&&(URL.revokeObjectURL(E),S(null))},de=_e=>{d(_e),_e||(h(""),A(null),v(null),j(null),$(0),T&&(URL.revokeObjectURL(T),M(null)),E&&(URL.revokeObjectURL(E),S(null)),_&&Q&&(Q.stop(),C(!1),R(null)),P&&(clearInterval(P),L(null)))},xe=async _e=>{if(_e.preventDefault(),!u){s({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un type de problème"});return}W(!0);try{let Ce,we,ve,Ne,Ie,be;if(p){const Pe=await A$e(p);Ce=Pe.url,Ne=Pe.publicId}if(y){const Pe=new File([y],"recording.webm",{type:"audio/webm"}),Ke=await Ane(Pe);we=Ke.url,Ie=Ke.publicId}if(w){const Pe=await x$e(w);ve=Pe.url,be=Pe.publicId}const Re={vehicleId:e,type:u,date:new Date().toISOString().split("T")[0],description:void 0,photoUrl:Ce,audioUrl:we,videoUrl:ve,photoCloudinaryPublicId:Ne,audioCloudinaryPublicId:Ie,videoCloudinaryPublicId:be,lieu:void 0};t?.(Re),de(!1)}catch(Ce){console.error("Error uploading files:",Ce),s({variant:"destructive",title:"Erreur",description:"Erreur lors de l'upload des fichiers"})}finally{W(!1)}};return a.jsxs(En,{open:c,onOpenChange:de,children:[a.jsx(ah,{asChild:!0,children:r||a.jsxs(ge,{"data-testid":"button-add-breakdown",className:"w-full md:w-auto",size:"sm",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Enregistrer une panne"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] mx-4 max-h-[90vh] overflow-y-auto",children:[a.jsx(Cn,{children:a.jsx(In,{className:"text-xl md:text-2xl text-center",children:"Signaler un problème"})}),a.jsxs("form",{onSubmit:xe,children:[a.jsxs("div",{className:"space-y-6 py-4",children:[a.jsx("div",{children:a.jsx("div",{className:"grid grid-cols-2 gap-3 md:gap-4",children:_$e.map(_e=>{const Ce=_e.icon,we=u===_e.value;return a.jsxs(ge,{type:"button",variant:we?"default":"outline",className:`h-24 md:h-28 flex-col gap-2 rounded-xl transition-all ${we?"ring-4 ring-primary/30 shadow-lg scale-105":"hover:scale-105"}`,onClick:()=>h(_e.value),children:[a.jsx(Ce,{className:`h-8 w-8 md:h-10 md:w-10 ${we?"text-primary-foreground":"text-primary"}`}),a.jsx("span",{className:`text-xs md:text-sm font-semibold ${we?"text-primary-foreground":""}`,children:_e.label})]},_e.value)})})}),a.jsx("div",{children:p?a.jsxs("div",{className:"space-y-3",children:[a.jsx("img",{src:URL.createObjectURL(p),alt:"Aperçu",className:"w-full h-48 md:h-64 object-cover rounded-xl border-2"}),a.jsxs(ge,{type:"button",variant:"outline",size:"lg",onClick:()=>A(null),className:"w-full",children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer la photo"]})]}):a.jsxs("label",{htmlFor:"breakdown-photo",className:"block w-full border-2 border-dashed border-muted-foreground/30 rounded-xl p-8 md:p-12 text-center cursor-pointer hover:border-primary/50 transition-colors",children:[a.jsx(mo,{className:"h-12 w-12 md:h-16 md:w-16 text-muted-foreground mx-auto mb-3"}),a.jsx("p",{className:"text-sm md:text-base font-medium",children:"Prendre une photo"}),a.jsx(Xe,{id:"breakdown-photo",type:"file",accept:"image/*",capture:"environment",onChange:_e=>{const Ce=_e.target.files?.[0];Ce&&A(Ce)},className:"hidden"})]})}),a.jsxs("div",{className:"space-y-4",children:[!T&&!_&&a.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[a.jsx("button",{type:"button",onClick:q,disabled:!G(),className:"w-24 h-24 md:w-28 md:h-28 rounded-full bg-white dark:bg-background border-4 border-primary/30 flex items-center justify-center cursor-pointer hover:border-primary/50 transition-all hover:scale-105 active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed animate-pulse",children:a.jsx(F0,{className:"h-10 w-10 md:h-12 md:w-12 text-primary"})}),a.jsx("p",{className:"text-sm md:text-base font-medium",children:"Appuie pour parler"}),!G()&&a.jsx("p",{className:"text-xs text-orange-600 dark:text-orange-400 text-center",children:"⚠️ HTTPS requis pour l'enregistrement"})]}),_&&a.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[a.jsx("button",{type:"button",onClick:ee,className:"w-28 h-28 md:w-32 md:h-32 rounded-full bg-red-600 flex items-center justify-center cursor-pointer hover:bg-red-700 transition-all hover:scale-105 active:scale-95 shadow-lg ring-4 ring-red-200 dark:ring-red-900/50 animate-pulse",children:a.jsx(pg,{className:"h-12 w-12 md:h-14 md:w-14 text-white"})}),a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-lg md:text-xl font-bold text-red-600 mb-1",children:J(O)}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Enregistrement en cours..."})]})]}),T&&!_&&a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"bg-muted/50 rounded-xl p-4",children:a.jsxs("audio",{controls:!0,className:"w-full h-12",children:[a.jsx("source",{src:T,type:"audio/webm"}),a.jsx("source",{src:T,type:"audio/mpeg"})]})}),a.jsxs("div",{className:"flex gap-3",children:[a.jsxs(ge,{type:"button",variant:"outline",size:"lg",onClick:ne,className:"flex-1",children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer"]}),a.jsxs(ge,{type:"button",variant:"outline",size:"lg",onClick:q,className:"flex-1",disabled:!G(),children:[a.jsx(F0,{className:"h-4 w-4 mr-2"}),"Réenregistrer"]})]})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium mb-2 text-center",children:"Vidéo (optionnel - max 15s, 720p)"}),w?a.jsxs("div",{className:"space-y-3",children:[a.jsx("video",{src:E||void 0,controls:!0,className:"w-full h-48 md:h-64 object-cover rounded-xl border-2"}),a.jsxs(ge,{type:"button",variant:"outline",size:"lg",onClick:ue,className:"w-full",children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer la vidéo"]})]}):a.jsxs("label",{htmlFor:"breakdown-video",className:"block w-full border-2 border-dashed border-muted-foreground/30 rounded-xl p-8 md:p-12 text-center cursor-pointer hover:border-primary/50 transition-colors",children:[a.jsx(Xu,{className:"h-12 w-12 md:h-16 md:w-16 text-muted-foreground mx-auto mb-3"}),a.jsx("p",{className:"text-sm md:text-base font-medium",children:"Ajouter une vidéo"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Max 15 secondes, résolution 720p"}),a.jsx(Xe,{id:"breakdown-video",type:"file",accept:"video/*",capture:"environment",onChange:V,className:"hidden"})]})]})]}),a.jsxs(Na,{className:"gap-3 flex-col sm:flex-row pt-4 border-t",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>de(!1),className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit",className:"bg-orange-600 hover:bg-orange-700 w-full sm:w-auto h-12 text-base font-semibold",disabled:!u||X,children:X?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Envoi..."]}):"Signaler"})]})]})]})]})}function T$e(){const{toast:e}=Er(),t=eo(),r=_r({mutationFn:({breakdownId:n,data:i})=>GPe(n,i),onSuccess:()=>{t.invalidateQueries({queryKey:["/api/breakdowns"]}),t.invalidateQueries({queryKey:["/api/driver/mission"]}),e({title:"Message vocal envoyé au chauffeur",description:"La réponse a été envoyée avec succès."})},onError:n=>{e({variant:"destructive",title:"Erreur",description:n.message||"Impossible d'envoyer la réponse"})}});return{respond:r.mutate,isResponding:r.isPending}}function R$e(){const[e,t]=I.useState(""),[r,n]=I.useState("all"),[i,s]=I.useState(null),[o,l]=I.useState(!1),{toast:c}=Er(),{data:d}=ih(),[u,h]=I.useState(null),[p,A]=I.useState("pending"),[y,v]=I.useState(null),[w,j]=I.useState(null),[E,S]=I.useState(!1),[_,C]=I.useState(null),[Q,R]=I.useState(0),[T,M]=I.useState(null),[O,$]=I.useState([]),[P,L]=I.useState(""),[X,W]=I.useState(""),[G,J]=I.useState(""),[q,ee]=I.useState(""),ne=T$e(),{data:V=[]}=cr({queryKey:["/api/vehicles"]}),{data:ue=[],isLoading:de}=cr({queryKey:["/api/breakdowns",r!=="all"?{vehicleId:parseInt(r)}:{}],queryFn:async()=>{const ie=r!=="all"?`/api/breakdowns?vehicleId=${r}`:"/api/breakdowns";return await $t(ie)}}),{data:xe=[],isLoading:_e}=cr({queryKey:["/api/voyages"],queryFn:()=>vy()}),{data:Ce=[],isLoading:we}=cr({queryKey:["/api/trips"]}),{data:ve=[]}=cr({queryKey:["/api/crew-members"]}),Ne=de||_e||we,Ie=_r({mutationFn:async ie=>await $t("/api/breakdowns",{method:"POST",body:ie}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/breakdowns"]}),c({title:"Succès",description:"La panne a été enregistrée avec succès"})},onError:ie=>{c({variant:"destructive",title:"Erreur",description:ie.message||"Impossible d'enregistrer la panne"})}}),be=_r({mutationFn:async ie=>{try{return await $t(`/api/breakdowns/${ie}`,{method:"DELETE"})}catch(ae){throw console.error("Error deleting breakdown:",ae),ae}},onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/breakdowns"]}),c({title:"Succès",description:"La panne a été supprimée avec succès"}),s(null)},onError:ie=>{console.error("Delete breakdown error:",ie),c({variant:"destructive",title:"Erreur",description:ie.message||"Impossible de supprimer la panne. Vérifiez vos permissions."}),s(null)}});I.useMemo(()=>{const ie=new Map;return Ce.forEach(ae=>{if(ae.vehicleId){const Ee=ie.get(ae.vehicleId)||[];ie.set(ae.vehicleId,[...Ee,ae])}}),ie},[Ce]);const Re=I.useMemo(()=>{const ie=new Map;return Ce.forEach(ae=>{if(ae.vehicleId&&ae.missionId){const Ee=xe.find(re=>re.id===ae.missionId);if(Ee){const re=ie.get(ae.vehicleId)||[];re.find(We=>We.id===Ee.id)||ie.set(ae.vehicleId,[...re,Ee])}}}),ie},[Ce,xe]),Pe=I.useMemo(()=>{const ie=new Map;return ue.forEach(ae=>{const Ee=V.find(We=>We.id===ae.vehicleId);if(!Ee)return;const re=Re.get(ae.vehicleId)||[];if(re.length>0){const We=re[0],Tt=We.mainDriver||null;ie.has(We.id)||ie.set(We.id,{voyage:We,vehicle:Ee,driver:Tt,breakdowns:[]}),ie.get(We.id).breakdowns.push(ae)}}),Array.from(ie.values())},[ue,V,Re]),Ke=I.useMemo(()=>ue.filter(ie=>(Re.get(ie.vehicleId)||[]).length===0),[ue,Re]),tt=I.useMemo(()=>e?Pe.map(ie=>({...ie,breakdowns:ie.breakdowns.filter(ae=>ae.type.toLowerCase().includes(e.toLowerCase())||ie.vehicle.immatriculation.toLowerCase().includes(e.toLowerCase())||ae.description?.toLowerCase().includes(e.toLowerCase())||ae.lieu?.toLowerCase().includes(e.toLowerCase())||ie.voyage.title?.toLowerCase().includes(e.toLowerCase()))})).filter(ie=>ie.breakdowns.length>0):Pe,[Pe,e]),pt=I.useMemo(()=>e?Ke.filter(ie=>{const ae=V.find(Ee=>Ee.id===ie.vehicleId);return ie.type.toLowerCase().includes(e.toLowerCase())||ae?.immatriculation.toLowerCase().includes(e.toLowerCase())||ie.description?.toLowerCase().includes(e.toLowerCase())||ie.lieu?.toLowerCase().includes(e.toLowerCase())}):Ke,[Ke,e,V]),dt=ie=>{if(!ie)return null;try{const ae=typeof ie=="string"?JSON.parse(ie):ie;if(!Array.isArray(ae)||ae.length===0)return null;const Ee=ae.reduce((re,We)=>re+We.quantity*We.unitCost,0);return a.jsxs("div",{className:"space-y-1",children:[ae.map((re,We)=>a.jsxs("div",{className:"text-xs",children:[a.jsx("span",{className:"font-medium",children:re.name})," ","× ",re.quantity," = ",(re.quantity*re.unitCost).toLocaleString()," FCFA"]},We)),a.jsxs("div",{className:"text-xs font-medium",children:["Total pièces: ",Ee.toLocaleString()," FCFA"]})]})}catch{return null}},Oe=ie=>{Ie.mutate(ie)},Pt=ie=>{s(ie)},Kt=()=>{i&&be.mutate(i)},gt=d&&typeof d=="object"&&d!==null&&"role"in d&&(d.role==="admin"||d.role==="gestionnaire_parc"||d.role==="atelier"),Jt=ie=>{h(ie);const ae=ie.status||"pending";A(ae==="pending"?"in_progress":ae),v(null),j(ie.responseAudioUrl||null),S(!1),C(null),R(0);const re=ie.replacedParts?typeof ie.replacedParts=="string"?JSON.parse(ie.replacedParts):ie.replacedParts:[];$(Array.isArray(re)?re:[]),L(ie.laborCost?.toString()||""),W(""),J(""),ee("")},Bt=()=>{h(null),A("pending"),v(null),w&&(URL.revokeObjectURL(w),j(null)),S(!1),_&&(_.stop(),C(null)),T&&(clearInterval(T),M(null)),R(0),$([]),L(""),W(""),J(""),ee("")},tr=()=>{if(!X.trim()||!G||!q){c({variant:"destructive",title:"Erreur",description:"Veuillez remplir tous les champs de la pièce"});return}const ie=parseFloat(G),ae=parseFloat(q);if(isNaN(ie)||ie<=0||isNaN(ae)||ae<0){c({variant:"destructive",title:"Erreur",description:"La quantité et le coût unitaire doivent être des nombres valides"});return}$([...O,{name:X.trim(),quantity:ie,unitCost:ae}]),W(""),J(""),ee("")},sr=ie=>{$(O.filter((ae,Ee)=>Ee!==ie))},xt=I.useMemo(()=>O.reduce((ie,ae)=>ie+ae.quantity*ae.unitCost,0),[O]),wt=I.useMemo(()=>{const ie=parseFloat(P)||0;return xt+ie},[xt,P]),Lt=ie=>{const ae=Math.floor(ie/60),Ee=ie%60;return`${ae.toString().padStart(2,"0")}:${Ee.toString().padStart(2,"0")}`},ir=I.useMemo(()=>!!(typeof navigator<"u"&&navigator.mediaDevices&&typeof navigator.mediaDevices.getUserMedia=="function"&&typeof window<"u"&&typeof window.MediaRecorder<"u"&&(window.location.protocol==="https:"||window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1")),[]),He=async()=>{try{if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){c({variant:"destructive",title:"Erreur",description:"Votre navigateur ne supporte pas l'enregistrement audio."});return}if(!window.MediaRecorder){c({variant:"destructive",title:"Erreur",description:"Votre navigateur ne supporte pas l'enregistrement audio."});return}const ie=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),ae=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/mpeg"];let Ee="";for(const ze of ae)if(MediaRecorder.isTypeSupported(ze)){Ee=ze;break}const re=Ee?{mimeType:Ee}:{},We=new MediaRecorder(ie,re),Tt=[];We.ondataavailable=ze=>{ze.data.size>0&&Tt.push(ze.data)},We.onstop=()=>{const ze=new Blob(Tt,{type:We.mimeType||"audio/webm"});v(ze);const Ze=URL.createObjectURL(ze);j(Ze),ie.getTracks().forEach(he=>he.stop()),T&&(clearInterval(T),M(null)),R(0)},We.onerror=ze=>{console.error("MediaRecorder error:",ze),c({variant:"destructive",title:"Erreur d'enregistrement",description:"Une erreur s'est produite pendant l'enregistrement."}),ie.getTracks().forEach(Ze=>Ze.stop()),S(!1),C(null)},We.start(),C(We),S(!0),R(0);const H=setInterval(()=>{R(ze=>ze+1)},1e3);M(H)}catch(ie){console.error("Error starting recording:",ie),c({variant:"destructive",title:"Erreur",description:"Impossible d'accéder au microphone. Vérifiez les permissions."})}},ce=()=>{_&&E&&(_.stop(),S(!1),C(null),T&&(clearInterval(T),M(null)))},Le=()=>{w&&(URL.revokeObjectURL(w),j(null)),v(null)},rt=async()=>{if(!u)return;let ie=null;if(y)try{const H=new File([y],"response-audio.webm",{type:y.type});ie=(await Ane(H)).url}catch(H){console.error("Error uploading response audio:",H),c({variant:"destructive",title:"Erreur",description:"Impossible d'uploader l'enregistrement audio"});return}else u.responseAudioUrl&&(ie=u.responseAudioUrl);let ae=p;(u.status||"pending")==="pending"&&(ie||p!=="pending")&&p==="pending"?ae="in_progress":ae=p;const re=O.length>0?O:null,We=P?parseFloat(P):null,Tt=wt>0?wt:null;ne.respond({breakdownId:u.id,data:{status:ae,responseAudioUrl:ie,replacedParts:re,laborCost:We,totalRepairCost:Tt}}),Bt()};return a.jsxs("div",{className:"space-y-4 md:space-y-6 pb-20 md:pb-0",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-xl md:text-2xl font-semibold","data-testid":"text-page-title",children:"Pannes et alertes"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Consultez les problèmes signalés par les chauffeurs et répondez-leur"})]}),r!=="all"&&a.jsx(D$e,{vehicleId:parseInt(r),onAdd:Oe,open:o,onOpenChange:l})]}),a.jsxs("div",{className:"flex flex-col md:flex-row items-stretch md:items-center gap-3",children:[a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:ie=>t(ie.target.value),className:"pl-9 h-12","data-testid":"input-search"})]}),a.jsxs(rn,{value:r,onValueChange:n,children:[a.jsx(Xr,{className:"h-12 w-full md:w-[200px]",children:a.jsx(nn,{placeholder:"Tous les véhicules"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Tous les véhicules"}),V.map(ie=>a.jsx(Qt,{value:ie.id.toString(),children:ie.immatriculation},ie.id))]})]})]}),Ne?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs(a.Fragment,{children:[tt.length>0&&a.jsx("div",{className:"space-y-6",children:tt.map(ie=>a.jsxs(it,{className:"overflow-hidden",children:[a.jsx(br,{className:"pb-3",children:a.jsxs("div",{className:"flex items-start gap-4",children:[a.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[a.jsx("div",{className:"relative w-16 h-16 rounded-lg overflow-hidden border-2 border-primary/20 bg-muted",children:ie.vehicle.photoUrl?a.jsx("img",{src:Sr(ie.vehicle.photoUrl)||void 0,alt:ie.vehicle.immatriculation,className:"w-full h-full object-cover"}):a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx(Fa,{className:"h-6 w-6 text-muted-foreground"})})}),ie.driver&&a.jsx("div",{className:"relative w-16 h-16 rounded-lg overflow-hidden border-2 border-primary/20 bg-muted",children:ie.driver.photoUrl?a.jsx("img",{src:Sr(ie.driver.photoUrl)||void 0,alt:`${ie.driver.prenom} ${ie.driver.nom}`,className:"w-full h-full object-cover"}):a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx(nh,{className:"h-6 w-6 text-muted-foreground"})})})]}),a.jsx("div",{className:"flex-1 min-w-0",children:a.jsx("div",{className:"flex items-start justify-between gap-2",children:a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx(jm,{href:`/voyages/${ie.voyage.id}`,children:a.jsx(jr,{className:"text-lg hover:text-primary cursor-pointer",children:ie.voyage.title})}),a.jsxs(wn,{className:"mt-1",children:[ie.voyage.code," • ",ie.vehicle.immatriculation,ie.driver&&` • ${ie.driver.prenom} ${ie.driver.nom}`]}),a.jsx("div",{className:"mt-2",children:a.jsxs(yt,{variant:"outline",className:"text-xs",children:[ie.breakdowns.length," panne",ie.breakdowns.length>1?"s":""]})})]})})})]})}),a.jsx(Et,{children:a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:ie.breakdowns.map(ae=>{const Ee=ae;return a.jsxs(it,{className:"overflow-hidden border-red-200",children:[Ee.photoUrl&&a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-t-xl bg-muted mb-3",children:[a.jsx("img",{src:Sr(Ee.photoUrl)||void 0,alt:ae.type,className:"w-full h-full object-cover",onError:re=>{re.target.style.display="none"}}),a.jsx("div",{className:"absolute top-3 left-3 z-10",children:a.jsx(ge,{size:"icon",variant:"secondary",className:"h-12 w-12 rounded-full bg-background/90 backdrop-blur-sm border shadow-sm border-red-300 bg-red-50/90 hover:bg-red-100/90 cursor-pointer p-0",onClick:re=>{re.stopPropagation(),Jt(ae)},title:"Traiter la panne",children:a.jsx("span",{className:"text-2xl",children:$A[ae.type]||$A.Autre})})}),a.jsx(Wv,{type:"breakdown",data:{immatriculation:ie.vehicle.immatriculation}})]}),ae.videoUrl&&a.jsxs("div",{className:"px-4 pb-3",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(Xu,{className:"h-4 w-4 text-primary"}),a.jsx("p",{className:"text-sm font-medium",children:"Vidéo du problème"})]}),a.jsxs("video",{controls:!0,className:"w-full rounded-lg",children:[a.jsx("source",{src:ae.videoUrl,type:"video/mp4"}),a.jsx("source",{src:ae.videoUrl,type:"video/webm"}),a.jsx("source",{src:ae.videoUrl,type:"video/quicktime"}),"Votre navigateur ne supporte pas l'élément vidéo."]})]}),ae.audioUrl&&a.jsxs("div",{className:"px-4 pb-3",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(F0,{className:"h-4 w-4 text-primary"}),a.jsx("p",{className:"text-sm font-medium",children:"Message audio du chauffeur"})]}),a.jsxs("audio",{controls:!0,className:"w-full h-10",children:[a.jsx("source",{src:ae.audioUrl,type:"audio/webm"}),a.jsx("source",{src:ae.audioUrl,type:"audio/mpeg"}),"Votre navigateur ne supporte pas l'élément audio."]})]}),a.jsx(br,{className:"pb-3",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1",children:[!Ee.photoUrl&&a.jsx("div",{className:"flex items-center gap-3 mb-2",children:a.jsx(XF,{type:ae.type,variant:"breakdown",size:"md"})}),a.jsx("div",{className:"flex items-center gap-2 mb-2",children:a.jsx(v6,{type:ae.type,variant:"breakdown",size:"sm"})}),a.jsx(jr,{className:"text-base text-red-900",children:ae.type})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(N1,{cardData:{type:"breakdown",title:ae.type,details:{type:ae.type,vehicule:ie.vehicle.immatriculation,date:Wr(new Date(ae.date),"dd/MM/yyyy",{locale:Hr}),lieu:ae.lieu||void 0,cout:ae.cout?`${ae.cout.toLocaleString()} FCFA`:void 0,description:ae.description||void 0}},size:"sm"}),gt&&a.jsxs(ge,{size:"sm",variant:"default",onClick:()=>Jt(ae),className:"flex items-center gap-2",title:"Traiter la panne",children:[a.jsx(xm,{className:"h-4 w-4"}),a.jsx("span",{className:"hidden sm:inline",children:"Traiter"})]}),a.jsx(ge,{size:"icon",variant:"ghost",onClick:()=>Pt(ae.id),className:"h-8 w-8 flex-shrink-0",children:a.jsx(Ns,{className:"h-4 w-4"})})]})]})}),a.jsxs(Et,{className:"space-y-2 text-sm md:space-y-3",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-2 md:gap-3",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Date: "}),a.jsx("span",{className:"font-medium",children:Wr(new Date(ae.date),"dd/MM/yyyy",{locale:Hr})})]}),ae.cout&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Coût: "}),a.jsxs("span",{className:"font-semibold text-base",children:[ae.cout.toLocaleString()," FCFA"]})]})]}),ae.lieu&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Lieu: "}),a.jsx("span",{className:"font-medium",children:ae.lieu})]}),ae.description&&a.jsx("div",{className:"pt-2 border-t",children:a.jsx("p",{className:"text-muted-foreground text-xs md:text-sm",children:ae.description})}),ae.actionReparative&&a.jsx("div",{className:"pt-2 border-t",children:a.jsxs("p",{className:"text-muted-foreground text-xs md:text-sm",children:[a.jsx("span",{className:"font-medium",children:"Action réparative: "}),ae.actionReparative]})}),a.jsxs("div",{className:"pt-2 border-t space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Statut: "}),a.jsx(yt,{variant:"outline",className:ae.status==="resolved"?"bg-green-100 text-green-800 border-green-300":ae.status==="in_progress"?"bg-blue-100 text-blue-800 border-blue-300":"bg-orange-100 text-orange-800 border-orange-300",children:ae.status==="resolved"?"Pris en charge":ae.status==="in_progress"?"En cours":"En attente"})]}),ae.responseAudioUrl&&a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-muted-foreground text-xs font-medium",children:"Réponse du bureau:"}),a.jsxs("audio",{controls:!0,className:"w-full h-8",children:[a.jsx("source",{src:ae.responseAudioUrl,type:"audio/webm"}),a.jsx("source",{src:ae.responseAudioUrl,type:"audio/mpeg"}),"Votre navigateur ne supporte pas l'élément audio."]}),ae.responseCreatedAt&&a.jsx("p",{className:"text-xs text-muted-foreground",children:Wr(new Date(ae.responseCreatedAt),"dd/MM/yyyy HH:mm",{locale:Hr})})]})]})]})]},ae.id)})})})]},ie.voyage.id))}),pt.length>0&&a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Pannes non liées à une mission"}),a.jsx(yt,{variant:"outline",className:"text-xs",children:pt.length})]}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:pt.map(ie=>{const ae=V.find(re=>re.id===ie.vehicleId),Ee=ie;return a.jsxs(it,{className:"overflow-hidden border-red-200",children:[Ee.photoUrl&&a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-t-xl bg-muted mb-3",children:[a.jsx("img",{src:Sr(Ee.photoUrl)||void 0,alt:ie.type,className:"w-full h-full object-cover",onError:re=>{re.target.style.display="none"}}),a.jsx("div",{className:"absolute top-3 left-3 z-10",children:a.jsx(ge,{size:"icon",variant:"secondary",className:"h-12 w-12 rounded-full bg-background/90 backdrop-blur-sm border shadow-sm border-red-300 bg-red-50/90 hover:bg-red-100/90 cursor-pointer p-0",onClick:re=>{re.stopPropagation(),Jt(ie)},title:"Traiter la panne",children:a.jsx("span",{className:"text-2xl",children:$A[ie.type]||$A.Autre})})}),a.jsx(Wv,{type:"breakdown",data:{immatriculation:ae?.immatriculation}})]}),ie.videoUrl&&a.jsxs("div",{className:"px-4 pb-3",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(Xu,{className:"h-4 w-4 text-primary"}),a.jsx("p",{className:"text-sm font-medium",children:"Vidéo du problème"})]}),a.jsxs("video",{controls:!0,className:"w-full rounded-lg",children:[a.jsx("source",{src:ie.videoUrl,type:"video/mp4"}),a.jsx("source",{src:ie.videoUrl,type:"video/webm"}),a.jsx("source",{src:ie.videoUrl,type:"video/quicktime"}),"Votre navigateur ne supporte pas l'élément vidéo."]})]}),ie.audioUrl&&a.jsxs("div",{className:"px-4 pb-3",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(F0,{className:"h-4 w-4 text-primary"}),a.jsx("p",{className:"text-sm font-medium",children:"Message audio du chauffeur"})]}),a.jsxs("audio",{controls:!0,className:"w-full h-10",children:[a.jsx("source",{src:ie.audioUrl,type:"audio/webm"}),a.jsx("source",{src:ie.audioUrl,type:"audio/mpeg"}),"Votre navigateur ne supporte pas l'élément audio."]})]}),a.jsx(br,{children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1",children:[!Ee.photoUrl&&a.jsx("div",{className:"flex items-center gap-3 mb-2",children:a.jsx(XF,{type:ie.type,variant:"breakdown",size:"md"})}),a.jsx("div",{className:"flex items-center gap-2 mb-2",children:a.jsx(v6,{type:ie.type,variant:"breakdown",size:"sm"})}),a.jsx(jr,{className:"text-base text-red-900",children:ie.type}),a.jsx(wn,{className:"mt-1",children:ae?.immatriculation||`Véhicule #${ie.vehicleId}`})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(N1,{cardData:{type:"breakdown",title:ie.type,details:{type:ie.type,vehicule:ae?.immatriculation||`Véhicule #${ie.vehicleId}`,date:Wr(new Date(ie.date),"dd/MM/yyyy",{locale:Hr}),lieu:ie.lieu||void 0,cout:ie.cout?`${ie.cout.toLocaleString()} FCFA`:void 0,description:ie.description||void 0}},size:"sm"}),gt&&a.jsxs(ge,{size:"sm",variant:"default",onClick:()=>Jt(ie),className:"flex items-center gap-2",title:"Traiter la panne",children:[a.jsx(xm,{className:"h-4 w-4"}),a.jsx("span",{className:"hidden sm:inline",children:"Traiter"})]}),a.jsx(ge,{size:"icon",variant:"ghost",onClick:()=>Pt(ie.id),className:"h-8 w-8 flex-shrink-0",children:a.jsx(Ns,{className:"h-4 w-4"})})]})]})}),a.jsxs(Et,{className:"space-y-2 text-sm md:space-y-3",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-2 md:gap-3",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Date: "}),a.jsx("span",{className:"font-medium",children:Wr(new Date(ie.date),"dd/MM/yyyy",{locale:Hr})})]}),ie.cout&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Coût: "}),a.jsxs("span",{className:"font-semibold text-base",children:[ie.cout.toLocaleString()," FCFA"]})]})]}),ie.lieu&&a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Lieu: "}),a.jsx("span",{className:"font-medium",children:ie.lieu})]}),ie.description&&a.jsx("div",{className:"pt-2 border-t",children:a.jsx("p",{className:"text-muted-foreground text-xs md:text-sm",children:ie.description})}),ie.actionReparative&&a.jsx("div",{className:"pt-2 border-t",children:a.jsxs("p",{className:"text-muted-foreground text-xs md:text-sm",children:[a.jsx("span",{className:"font-medium",children:"Action réparative: "}),ie.actionReparative]})}),a.jsxs("div",{className:"pt-2 border-t space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"Statut: "}),a.jsx(yt,{variant:"outline",className:ie.status==="resolved"?"bg-green-100 text-green-800 border-green-300":ie.status==="in_progress"?"bg-blue-100 text-blue-800 border-blue-300":"bg-orange-100 text-orange-800 border-orange-300",children:ie.status==="resolved"?"Pris en charge":ie.status==="in_progress"?"En cours":"En attente"})]}),ie.responseAudioUrl&&a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-muted-foreground text-xs font-medium",children:"Réponse du bureau:"}),a.jsxs("audio",{controls:!0,className:"w-full h-8",children:[a.jsx("source",{src:ie.responseAudioUrl,type:"audio/webm"}),a.jsx("source",{src:ie.responseAudioUrl,type:"audio/mpeg"}),"Votre navigateur ne supporte pas l'élément audio."]}),ie.responseCreatedAt&&a.jsx("p",{className:"text-xs text-muted-foreground",children:Wr(new Date(ie.responseCreatedAt),"dd/MM/yyyy HH:mm",{locale:Hr})})]}),(ie.replacedParts||ie.laborCost||ie.totalRepairCost)&&a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx("p",{className:"text-muted-foreground text-xs font-medium",children:"Détails de la réparation:"}),dt(ie.replacedParts),ie.laborCost&&a.jsxs("div",{className:"text-xs",children:[a.jsx("span",{className:"font-medium",children:"Main d'œuvre:"})," ",ie.laborCost.toLocaleString()," FCFA"]}),ie.totalRepairCost&&a.jsxs("div",{className:"text-xs font-semibold text-primary pt-1 border-t",children:["Coût total: ",ie.totalRepairCost.toLocaleString()," FCFA"]})]})]})]})]},ie.id)})})]}),tt.length===0&&pt.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucune panne trouvée"})})]}),a.jsx(du,{open:i!==null,onOpenChange:()=>s(null),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Confirmer la suppression"}),a.jsx(Cc,{children:"Êtes-vous sûr de vouloir supprimer cette panne ? Cette action est irréversible."})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:Kt,children:"Supprimer"})]})]})}),r!=="all"&&a.jsx(np,{onClick:()=>l(!0),label:"Ajouter une panne"}),a.jsx(En,{open:u!==null,onOpenChange:ie=>!ie&&Bt(),children:a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Traiter la panne"}),a.jsx(Mn,{children:"Répondez au chauffeur, mettez à jour le statut et enregistrez les détails de la réparation (pièces remplacées, main d'œuvre)."})]}),a.jsxs("div",{className:"space-y-6 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"response-status",children:"Statut"}),a.jsxs(rn,{value:p,onValueChange:ie=>A(ie),children:[a.jsx(Xr,{id:"response-status",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"pending",children:"En attente"}),a.jsx(Qt,{value:"in_progress",children:"En cours"}),a.jsx(Qt,{value:"resolved",children:"Pris en charge"})]})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx(Se,{children:"Message vocal (optionnel)"}),!w&&!E&&a.jsxs("div",{className:"flex flex-col items-center justify-center space-y-3 p-6 border-2 border-dashed border-muted-foreground/30 rounded-xl",children:[a.jsx("button",{type:"button",onClick:He,disabled:!ir,className:"relative w-24 h-24 rounded-full bg-white dark:bg-background border-4 border-primary text-primary flex items-center justify-center shadow-md hover:scale-105 transition-all duration-300 ease-in-out animate-pulse",children:a.jsx(F0,{className:"h-12 w-12"})}),a.jsx("p",{className:"text-sm font-semibold text-primary",children:"Appuie pour parler"}),!ir&&a.jsx("p",{className:"text-xs text-orange-600 dark:text-orange-400 text-center",children:"⚠️ L'enregistrement audio nécessite HTTPS ou localhost."})]}),E&&a.jsxs("div",{className:"flex flex-col items-center justify-center space-y-3 p-6 border-2 border-red-500 rounded-xl bg-red-50 dark:bg-red-950/20",children:[a.jsx("button",{type:"button",onClick:ce,className:"relative w-28 h-28 rounded-full bg-red-600 text-white flex items-center justify-center shadow-lg ring-4 ring-red-300 dark:ring-red-700 animate-pulse",children:a.jsx(pg,{className:"h-12 w-12"})}),a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-lg font-bold text-red-600 mb-1",children:Lt(Q)}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Enregistrement en cours..."})]})]}),w&&!E&&a.jsxs("div",{className:"space-y-3 p-4 border rounded-xl bg-muted/50",children:[a.jsxs("audio",{controls:!0,className:"w-full h-12",children:[a.jsx("source",{src:w,type:"audio/webm"}),a.jsx("source",{src:w,type:"audio/mpeg"}),"Votre navigateur ne supporte pas l'élément audio."]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:Le,className:"flex-1",children:[a.jsx(U1,{className:"h-4 w-4 mr-2"}),"Supprimer"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:He,className:"flex-1",disabled:!ir,children:[a.jsx(gL,{className:"h-4 w-4 mr-2"}),"Réenregistrer"]})]})]})]}),(p==="in_progress"||p==="resolved")&&a.jsxs("div",{className:"space-y-4 pt-4 border-t",children:[a.jsx(Se,{className:"text-base font-semibold",children:"Traitement de la panne"}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(Se,{className:"text-sm",children:"Pièces remplacées"}),O.length>0&&a.jsx("div",{className:"space-y-2",children:O.map((ie,ae)=>a.jsxs("div",{className:"flex items-center gap-2 p-2 border rounded-lg bg-muted/50",children:[a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"font-medium text-sm",children:ie.name}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[ie.quantity," × ",ie.unitCost.toLocaleString()," FCFA = ",(ie.quantity*ie.unitCost).toLocaleString()," FCFA"]})]}),a.jsx(ge,{type:"button",variant:"ghost",size:"icon",onClick:()=>sr(ae),className:"h-8 w-8",children:a.jsx(Ns,{className:"h-4 w-4"})})]},ae))}),a.jsxs("div",{className:"grid grid-cols-12 gap-2",children:[a.jsx(Xe,{placeholder:"Nom de la pièce",value:X,onChange:ie=>W(ie.target.value),className:"col-span-5"}),a.jsx(Xe,{type:"number",placeholder:"Qté",value:G,onChange:ie=>J(ie.target.value),className:"col-span-2",min:"1",step:"1"}),a.jsx(Xe,{type:"number",placeholder:"Coût unitaire (FCFA)",value:q,onChange:ie=>ee(ie.target.value),className:"col-span-4",min:"0",step:"0.01"}),a.jsx(ge,{type:"button",variant:"outline",size:"icon",onClick:tr,className:"col-span-1",children:a.jsx(Ti,{className:"h-4 w-4"})})]}),O.length>0&&a.jsxs("div",{className:"text-sm font-medium text-right",children:["Total pièces: ",xt.toLocaleString()," FCFA"]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"labor-cost",children:"Coût de la main d'œuvre (FCFA)"}),a.jsx(Xe,{id:"labor-cost",type:"number",placeholder:"0",value:P,onChange:ie=>L(ie.target.value),min:"0",step:"0.01"})]}),wt>0&&a.jsxs("div",{className:"p-3 bg-primary/10 rounded-lg border border-primary/20",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"font-semibold",children:"Coût total de la réparation:"}),a.jsxs("span",{className:"text-lg font-bold text-primary",children:[wt.toLocaleString()," FCFA"]})]}),a.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[xt>0&&a.jsxs("span",{children:["Pièces: ",xt.toLocaleString()," FCFA"]}),xt>0&&parseFloat(P)>0&&a.jsx("span",{children:" + "}),parseFloat(P)>0&&a.jsxs("span",{children:["Main d'œuvre: ",parseFloat(P).toLocaleString()," FCFA"]})]})]})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{variant:"outline",onClick:Bt,className:"w-full sm:w-auto",children:"Annuler"}),a.jsx(ge,{onClick:rt,disabled:ne.isResponding,className:"w-full sm:w-auto",children:ne.isResponding?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Envoi..."]}):a.jsxs(a.Fragment,{children:[a.jsx(xm,{className:"h-4 w-4 mr-2"}),"Envoyer la réponse"]})})]})]})})]})}const P$e={plateau:"Plateau",citerne:"Citerne",benne:"Benne",frigorifique:"Frigorifique",autre:"Autre"};function Q$e({coupling:e,onDetach:t}){const r=e.vehicle,n=e.trailer,i=n?.photoUrl||(n?.type?tf[n.type]:tf.autre),s=e.startAt?new Date(e.startAt):null,o=s?Wr(s,"dd MMM yyyy",{locale:Hr}):null;return a.jsx(it,{"data-testid":`card-coupling-${e.id}`,className:"hover-elevate transition-all duration-200 overflow-hidden",children:a.jsx(Et,{className:"p-4 md:p-6",children:a.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-4 md:gap-6",children:[a.jsxs("div",{className:"flex-1 w-full md:w-auto min-w-0",children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-muted border-2 border-border",children:[r?.photoUrl?a.jsx("img",{src:Sr(r.photoUrl)||void 0,alt:`Véhicule ${r.immatriculation}`,className:"w-full h-full object-cover",onError:l=>{l.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-4xl mb-2",children:"🚚"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Pas de photo"})]})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2 py-1 bg-background/95 backdrop-blur-sm shadow-md border",children:r?.immatriculation||"N/A"})}),(e.chauffeur||e.apprentis&&e.apprentis.length>0)&&a.jsxs("div",{className:"absolute top-2 right-2 z-10 flex flex-col gap-1.5 items-end",children:[e.chauffeur&&a.jsxs("div",{className:"flex items-center gap-1.5 bg-background/95 backdrop-blur-sm rounded-full px-1.5 py-0.5 border border-primary/30 shadow-md",children:[a.jsx("div",{className:"relative w-6 h-6 rounded-full overflow-hidden border border-primary/40 flex-shrink-0",children:e.chauffeur.photoUrl?a.jsx("img",{src:Sr(e.chauffeur.photoUrl)||void 0,alt:`${e.chauffeur.prenom} ${e.chauffeur.nom}`,className:"w-full h-full object-cover",onError:l=>{l.target.style.display="none"}}):a.jsxs("div",{className:"w-full h-full bg-primary/20 flex items-center justify-center text-[10px] font-semibold text-primary",children:[e.chauffeur.prenom.charAt(0),e.chauffeur.nom.charAt(0)]})}),a.jsx("span",{className:"text-[10px] font-semibold text-primary pr-0.5 hidden sm:inline",children:e.chauffeur.prenom.split(" ")[0]})]}),e.apprentis&&e.apprentis.length>0&&a.jsx("div",{className:"flex flex-wrap gap-1.5 justify-end max-w-[120px]",children:e.apprentis.map(l=>a.jsxs("div",{className:"flex items-center gap-1.5 bg-background/95 backdrop-blur-sm rounded-full px-1.5 py-0.5 border border-border shadow-md",title:`${l.prenom} ${l.nom}`,children:[a.jsx("div",{className:"relative w-6 h-6 rounded-full overflow-hidden border border-border flex-shrink-0",children:l.photoUrl?a.jsx("img",{src:Sr(l.photoUrl)||void 0,alt:`${l.prenom} ${l.nom}`,className:"w-full h-full object-cover",onError:c=>{c.target.style.display="none"}}):a.jsxs("div",{className:"w-full h-full bg-muted flex items-center justify-center text-[10px] font-semibold text-muted-foreground",children:[l.prenom.charAt(0),l.nom.charAt(0)]})}),a.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground pr-0.5 hidden sm:inline",children:l.prenom.split(" ")[0]})]},l.id))})]})]}),a.jsxs("div",{className:"mt-2 text-center md:text-left",children:[a.jsx("p",{className:"text-sm font-semibold truncate","data-testid":`text-vehicle-${e.id}`,children:r?.immatriculation}),(r?.marque||r?.modele)&&a.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:[r?.marque," ",r?.modele]})]})]}),a.jsx("div",{className:"flex-shrink-0 flex items-center justify-center w-full md:w-auto",children:a.jsxs("div",{className:"relative w-full md:w-32 flex items-center justify-center",children:[a.jsx("div",{className:"hidden md:block w-full h-2 bg-primary/40 rounded-full"}),a.jsx("div",{className:"block md:hidden w-2 h-24 bg-primary/40 rounded-full"}),a.jsxs("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10 flex flex-col items-center gap-2",children:[t?a.jsx("button",{onClick:()=>t(e.id),className:"focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 rounded-md transition-all hover:scale-105 active:scale-95","data-testid":`button-detach-${e.id}`,title:"Cliquer pour détacher l'attelage",children:a.jsx(yt,{variant:"default",className:"bg-primary text-primary-foreground px-3 py-1.5 text-xs font-semibold shadow-lg border-2 border-background whitespace-nowrap cursor-pointer hover:bg-primary/90 transition-colors",children:"🔗 Attelé"})}):a.jsx(yt,{variant:"default",className:"bg-primary text-primary-foreground px-3 py-1.5 text-xs font-semibold shadow-lg border-2 border-background whitespace-nowrap","data-testid":`badge-coupled-${e.id}`,children:"🔗 Attelé"}),o&&a.jsxs(yt,{variant:"outline",className:"bg-background/95 backdrop-blur-sm text-xs px-2 py-1 shadow-md border border-border flex items-center gap-1 whitespace-nowrap","data-testid":`badge-start-date-${e.id}`,children:[a.jsx(Sl,{className:"h-3 w-3"}),o]})]})]})}),a.jsx("div",{className:"flex-1 w-full md:w-auto min-w-0",children:n?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-muted border-2 border-border",children:[a.jsx("img",{src:Sr(i)||void 0,alt:`Remorque ${n.numeroChassis}`,className:"w-full h-full object-cover",onError:l=>{l.target.style.display="none"}}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2 py-1 bg-background/95 backdrop-blur-sm shadow-md border",children:n.numeroChassis})})]}),a.jsxs("div",{className:"mt-2 text-center md:text-left",children:[a.jsx("p",{className:"text-sm font-semibold truncate","data-testid":`text-trailer-${e.id}`,children:n.numeroChassis}),a.jsxs("div",{className:"flex items-center justify-center md:justify-start gap-2 mt-1",children:[a.jsx(yt,{variant:"outline",className:"text-xs",children:P$e[n.type]||n.type}),n.capacite&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:[n.capacite,"t"]})]})]})]}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-muted/50 border-2 border-dashed border-muted-foreground/30",children:a.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center",children:[a.jsx("p",{className:"text-4xl mb-2 opacity-50",children:"🚛"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Aucune remorque"})]})}),a.jsx("div",{className:"mt-2 text-center md:text-left",children:a.jsx("p",{className:"text-sm text-muted-foreground",children:"Aucune remorque"})})]})})]})})})}const F$e={plateau:"Plateau",citerne:"Citerne",benne:"Benne",frigorifique:"Frigorifique",autre:"Autre"};function O$e({open:e,onOpenChange:t,onCreate:r,preselectedVehicleId:n}){const[i,s]=I.useState(n||null),[o,l]=I.useState(null),[c,d]=I.useState(null),[u,h]=I.useState([]),[p,A]=I.useState(""),[y,v]=I.useState(""),{data:w=[],isLoading:j}=cr({queryKey:["/api/vehicles"]}),{data:E=[],isLoading:S}=cr({queryKey:["/api/trailers"]}),{data:_=[],isLoading:C}=cr({queryKey:["/api/crew-members"]}),{data:Q=[]}=pne(),R=_.filter(W=>W.role==="chauffeur"),T=_.filter(W=>W.role==="apprenti");I.useEffect(()=>{if(e){s(n||null),l(null),d(null),h([]);const W=new Date,G=W.getFullYear(),J=String(W.getMonth()+1).padStart(2,"0"),q=String(W.getDate()).padStart(2,"0"),ee=String(W.getHours()).padStart(2,"0"),ne=String(W.getMinutes()).padStart(2,"0");A(`${G}-${J}-${q}`),v(`${ee}:${ne}`)}},[e,n]);const M=new Set(Q.map(W=>W.vehicleId)),O=new Set(Q.map(W=>W.trailerId).filter(W=>W!=null)),$=new Set(Q.map(W=>W.chauffeurId).filter(W=>W!=null)),P=new Set(Q.flatMap(W=>W.apprentis||[]).map(W=>W.id).filter(W=>W!=null)),L=W=>{if(W.preventDefault(),!i)return;const G=y?`${p}T${y}`:`${p}T00:00`,J=new Date(G),q={vehicleId:i,trailerId:o||void 0,chauffeurId:c||void 0,apprentiIds:u.length>0?u:void 0,startAt:J};r?.(q),t(!1)},X=j||S||C;return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-[700px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Créer un attelage"}),a.jsx(Mn,{children:"Sélectionnez un véhicule et une remorque à atteler ensemble."})]}),a.jsxs("form",{onSubmit:L,children:[a.jsxs("div",{className:"space-y-6 py-4",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsxs("h3",{className:"text-sm font-semibold",children:["Véhicule ",a.jsx("span",{className:"text-destructive",children:"*"})]}),j?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-64 overflow-y-auto p-2 border rounded-lg",children:w.map(W=>{const G=M.has(W.id),J=i===W.id,q=G;return a.jsxs("button",{type:"button",onClick:()=>!q&&s(W.id),disabled:q,className:`relative p-3 rounded-lg border-2 transition-all text-left ${J?"border-primary bg-primary/5":q?"border-muted bg-muted/50 opacity-60 cursor-not-allowed":"border-border hover:border-primary/50 hover:bg-accent cursor-pointer"}`,"data-testid":`vehicle-option-${W.id}`,children:[J&&a.jsx("div",{className:"absolute top-2 right-2",children:a.jsx(na,{className:"h-5 w-5 text-primary"})}),G&&a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-orange-100 text-orange-800 border-orange-300",children:"Déjà attelé"})}),a.jsxs("div",{className:"space-y-2",children:[W.photoUrl?a.jsx("div",{className:"relative w-full aspect-video rounded overflow-hidden bg-muted",children:a.jsx("img",{src:Sr(W.photoUrl),alt:W.immatriculation,className:"w-full h-full object-cover",onError:ee=>{ee.target.style.display="none"}})}):a.jsx("div",{className:"w-full aspect-video rounded bg-muted flex items-center justify-center",children:a.jsx("span",{className:"text-3xl",children:"🚚"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono font-semibold text-sm",children:W.immatriculation}),(W.marque||W.modele)&&a.jsxs("p",{className:"text-xs text-muted-foreground",children:[W.marque," ",W.modele]})]})]})]},W.id)})})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx("h3",{className:"text-sm font-semibold",children:"Remorque (optionnel)"}),S?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-64 overflow-y-auto p-2 border rounded-lg",children:[a.jsxs("button",{type:"button",onClick:()=>l(null),className:`relative p-3 rounded-lg border-2 transition-all text-left ${o===null?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-accent cursor-pointer"}`,"data-testid":"trailer-option-none",children:[o===null&&a.jsx("div",{className:"absolute top-2 right-2",children:a.jsx(na,{className:"h-5 w-5 text-primary"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"w-full aspect-video rounded bg-muted/50 border-2 border-dashed border-muted-foreground/30 flex items-center justify-center",children:a.jsx("span",{className:"text-3xl opacity-50",children:"🚛"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold text-sm",children:"Aucune remorque"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Véhicule seul"})]})]})]}),E.map(W=>{const G=O.has(W.id),J=o===W.id,q=G,ee=W.photoUrl||tf[W.type]||tf.autre;return a.jsxs("button",{type:"button",onClick:()=>!q&&l(W.id),disabled:q,className:`relative p-3 rounded-lg border-2 transition-all text-left ${J?"border-primary bg-primary/5":q?"border-muted bg-muted/50 opacity-60 cursor-not-allowed":"border-border hover:border-primary/50 hover:bg-accent cursor-pointer"}`,"data-testid":`trailer-option-${W.id}`,children:[J&&a.jsx("div",{className:"absolute top-2 right-2",children:a.jsx(na,{className:"h-5 w-5 text-primary"})}),G&&a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-orange-100 text-orange-800 border-orange-300",children:"Déjà attelée"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"relative w-full aspect-video rounded overflow-hidden bg-muted",children:a.jsx("img",{src:Sr(ee),alt:W.numeroChassis,className:"w-full h-full object-cover",onError:ne=>{ne.target.style.display="none"}})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono font-semibold text-sm",children:W.numeroChassis}),a.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[a.jsx(yt,{variant:"outline",className:"text-xs",children:F$e[W.type]||W.type}),W.capacite&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:[W.capacite,"t"]})]})]})]})]},W.id)})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("h3",{className:"text-sm font-semibold",children:["Chauffeur ",a.jsx("span",{className:"text-destructive",children:"*"})]}),C?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):R.length===0?a.jsx(it,{className:"p-4 border-dashed",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"Aucun chauffeur disponible"})}):a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-48 overflow-y-auto p-2 border rounded-lg",children:R.map(W=>{const G=c===W.id,J=$.has(W.id),q=J;return a.jsxs("button",{type:"button",onClick:()=>!q&&d(W.id),disabled:q,className:`relative p-3 rounded-lg border-2 transition-all text-left ${G?"border-primary bg-primary/5":q?"border-muted bg-muted/50 opacity-60 cursor-not-allowed":"border-border hover:border-primary/50 hover:bg-accent cursor-pointer"}`,children:[G&&a.jsx("div",{className:"absolute top-2 right-2",children:a.jsx(na,{className:"h-5 w-5 text-primary"})}),J&&a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-orange-100 text-orange-800 border-orange-300",children:"Déjà assigné"})}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-12 h-12 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:W.photoUrl?a.jsx("img",{src:Sr(W.photoUrl),alt:`${W.prenom} ${W.nom}`,className:"w-full h-full object-cover",onError:ee=>{ee.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsx("span",{className:"text-xl",children:"👤"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[W.prenom," ",W.nom]}),W.telephone&&a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:W.telephone})]})]})]},W.id)})})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("h3",{className:"text-sm font-semibold",children:["Apprentis ",a.jsx("span",{className:"text-destructive",children:"*"}),a.jsx("span",{className:"text-xs text-muted-foreground font-normal ml-2",children:"(Au moins un requis)"})]}),C?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):T.length===0?a.jsx(it,{className:"p-4 border-dashed",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"Aucun apprenti disponible"})}):a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-48 overflow-y-auto p-2 border rounded-lg",children:T.map(W=>{const G=u.includes(W.id),J=P.has(W.id),q=J;return a.jsxs("button",{type:"button",onClick:()=>{q||h(G?u.filter(ee=>ee!==W.id):[...u,W.id])},disabled:q,className:`relative p-3 rounded-lg border-2 transition-all text-left ${G?"border-primary bg-primary/5":q?"border-muted bg-muted/50 opacity-60 cursor-not-allowed":"border-border hover:border-primary/50 hover:bg-accent cursor-pointer"}`,children:[G&&a.jsx("div",{className:"absolute top-2 right-2",children:a.jsx(na,{className:"h-5 w-5 text-primary"})}),J&&a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-orange-100 text-orange-800 border-orange-300",children:"Déjà assigné"})}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-12 h-12 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:W.photoUrl?a.jsx("img",{src:Sr(W.photoUrl),alt:`${W.prenom} ${W.nom}`,className:"w-full h-full object-cover",onError:ee=>{ee.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsx("span",{className:"text-xl",children:"👤"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[W.prenom," ",W.nom]}),W.telephone&&a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:W.telephone})]})]})]},W.id)})})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("h3",{className:"text-sm font-semibold flex items-center gap-2",children:[a.jsx(Sl,{className:"h-4 w-4 text-primary"}),"Date de début de l'attelage"]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"startDate",className:"text-sm",children:["Date ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"startDate",type:"date",value:p,onChange:W=>A(W.target.value),required:!0,className:"h-12","data-testid":"input-start-date"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"startTime",className:"text-sm",children:["Heure ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"startTime",type:"time",value:y,onChange:W=>v(W.target.value),required:!0,className:"h-12","data-testid":"input-start-time"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Par défaut, la date et l'heure actuelles sont sélectionnées. Vous pouvez les modifier si l'attelage a été créé dans le passé."})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>t(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",disabled:!i||!c||u.length===0||X,children:X?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Chargement..."]}):"Créer l'attelage"})]})]})]})})}const L$e={plateau:"Plateau",citerne:"Citerne",benne:"Benne",frigorifique:"Frigorifique",autre:"Autre"};function M$e({open:e,onOpenChange:t,coupling:r}){const[n,i]=I.useState(""),[s,o]=I.useState(""),[l,c]=I.useState(!1),d=s$e(),u=I.useMemo(()=>{if(!r)return{formattedStartDate:null,formattedEndDate:null,durationDays:0};const w=r.startAt?new Date(r.startAt):null,j=r.endAt?new Date(r.endAt):null,E=new Date,S=w?Wr(w,"dd MMM yyyy à HH:mm",{locale:Hr}):null,_=j?Wr(j,"dd MMM yyyy à HH:mm",{locale:Hr}):null,C=w?ohe(E,w):0;return{formattedStartDate:S,formattedEndDate:_,durationDays:C}},[r?.startAt,r?.endAt]);I.useEffect(()=>{e&&r&&(i(""),o(""),c(!1))},[e,r]);const h=()=>{if(!r)return;let w;if(l&&n){const j=s?`${n}T${s}`:`${n}T00:00`;w=new Date(j),w>new Date&&(w=void 0)}d.mutate({id:r.id,endAt:w},{onSuccess:()=>{t(!1)}})};if(!r)return null;const p=r.vehicle,A=r.trailer,y=A?.photoUrl||(A?.type?tf[A.type]:tf.autre),v=d.isPending;return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-[500px]",children:[a.jsxs(Cn,{children:[a.jsxs(In,{className:"flex items-center gap-2",children:[a.jsx(UD,{className:"h-5 w-5 text-destructive"}),"Détacher l'attelage"]}),a.jsx(Mn,{children:"Confirmez le détachement de cet attelage. Vous pouvez optionnellement spécifier une date de fin."})]}),a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"p-4 bg-muted/50 rounded-lg border",children:[a.jsx("p",{className:"text-sm font-semibold mb-3",children:"Attelage à détacher :"}),a.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-4",children:[a.jsxs("div",{className:"flex-1 w-full md:w-auto min-w-0",children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-background border-2 border-border",children:[p?.photoUrl?a.jsx("img",{src:Sr(p.photoUrl),alt:`Véhicule ${p.immatriculation}`,className:"w-full h-full object-cover",onError:w=>{w.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-3xl mb-1",children:"🚚"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Pas de photo"})]})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2 py-0.5 bg-background/95 backdrop-blur-sm shadow-md border",children:p?.immatriculation||"N/A"})})]}),a.jsxs("div",{className:"mt-2 text-center md:text-left",children:[a.jsx("p",{className:"text-xs font-semibold truncate",children:p?.immatriculation}),(p?.marque||p?.modele)&&a.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:[p?.marque," ",p?.modele]})]})]}),a.jsx("div",{className:"flex-shrink-0 text-2xl text-muted-foreground",children:"→"}),a.jsx("div",{className:"flex-1 w-full md:w-auto min-w-0",children:A?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-background border-2 border-border",children:[a.jsx("img",{src:Sr(y),alt:`Remorque ${A.numeroChassis}`,className:"w-full h-full object-cover",onError:w=>{w.target.style.display="none"}}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2 py-0.5 bg-background/95 backdrop-blur-sm shadow-md border",children:A.numeroChassis})})]}),a.jsxs("div",{className:"mt-2 text-center md:text-left",children:[a.jsx("p",{className:"text-xs font-semibold truncate",children:A.numeroChassis}),a.jsxs("div",{className:"flex items-center justify-center md:justify-start gap-1 mt-1",children:[a.jsx(yt,{variant:"outline",className:"text-xs",children:L$e[A.type]||A.type}),A.capacite&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:[A.capacite,"t"]})]})]})]}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"relative w-full aspect-video overflow-hidden rounded-lg bg-muted/50 border-2 border-dashed border-muted-foreground/30",children:a.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center",children:[a.jsx("p",{className:"text-3xl mb-1 opacity-50",children:"🚛"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Aucune remorque"})]})}),a.jsx("div",{className:"mt-2 text-center md:text-left",children:a.jsx("p",{className:"text-xs text-muted-foreground",children:"Aucune remorque"})})]})})]})]}),(r.chauffeur||r.apprentis?.length>0||r.chauffeurId)&&a.jsxs("div",{className:"p-4 bg-muted/30 rounded-lg border space-y-3",children:[a.jsxs("p",{className:"text-sm font-semibold mb-3 flex items-center gap-2",children:[a.jsx(Sm,{className:"h-4 w-4 text-primary"}),"Équipage affecté"]}),a.jsxs("div",{className:"space-y-3",children:[(r.chauffeur||r.chauffeurId)&&a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-background rounded-lg border",children:[a.jsx("div",{className:"w-12 h-12 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:r.chauffeur?.photoUrl?a.jsx("img",{src:Sr(r.chauffeur.photoUrl),alt:`${r.chauffeur.prenom} ${r.chauffeur.nom}`,className:"w-full h-full object-cover",onError:w=>{w.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsx("span",{className:"text-xl",children:"👤"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Chauffeur"}),r.chauffeur?a.jsxs(a.Fragment,{children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[r.chauffeur.prenom," ",r.chauffeur.nom]}),r.chauffeur.telephone&&a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:r.chauffeur.telephone})]}):a.jsxs("p",{className:"text-xs text-muted-foreground",children:["ID: ",r.chauffeurId]})]})]}),r.apprentis&&r.apprentis.length>0&&a.jsxs("div",{className:"space-y-2",children:[a.jsxs("p",{className:"text-xs text-muted-foreground font-medium",children:["Apprentis (",r.apprentis.length,")"]}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-2",children:r.apprentis.map(w=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-background rounded-lg border",children:[a.jsx("div",{className:"w-10 h-10 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:w.photoUrl?a.jsx("img",{src:Sr(w.photoUrl),alt:`${w.prenom} ${w.nom}`,className:"w-full h-full object-cover",onError:j=>{j.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsx("span",{className:"text-lg",children:"👤"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[w.prenom," ",w.nom]}),w.telephone&&a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:w.telephone})]})]},w.id))})]})]})]}),a.jsxs("div",{className:"p-4 bg-muted/30 rounded-lg border space-y-3",children:[a.jsxs("p",{className:"text-sm font-semibold mb-3 flex items-center gap-2",children:[a.jsx(Bl,{className:"h-4 w-4 text-primary"}),"Informations sur la liaison"]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsxs("p",{className:"text-xs text-muted-foreground flex items-center gap-1",children:[a.jsx(Sl,{className:"h-3 w-3"}),"Date de création"]}),a.jsx("p",{className:"font-medium",children:u.formattedStartDate||"Non disponible"})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs text-muted-foreground",children:"Durée totale"}),a.jsx("p",{className:"font-medium",children:u.durationDays===0?"Moins d'un jour":u.durationDays===1?"1 jour":`${u.durationDays} jours`})]}),u.formattedEndDate&&a.jsxs("div",{className:"space-y-1 md:col-span-2",children:[a.jsx("p",{className:"text-xs text-muted-foreground",children:"Date prévisionnelle de fin"}),a.jsx("p",{className:"font-medium",children:u.formattedEndDate})]})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx("input",{type:"checkbox",id:"useCustomDate",checked:l,onChange:w=>c(w.target.checked),className:"h-4 w-4 rounded border-gray-300"}),a.jsx(Se,{htmlFor:"useCustomDate",className:"text-sm font-medium cursor-pointer",children:"Spécifier une date de fin (optionnel)"})]}),l&&a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 pl-6",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"endDate",className:"text-sm",children:"Date de fin"}),a.jsx(Xe,{id:"endDate",type:"date",value:n,onChange:w=>i(w.target.value),max:new Date().toISOString().split("T")[0],className:"h-10","data-testid":"input-end-date"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"endTime",className:"text-sm",children:"Heure de fin"}),a.jsx(Xe,{id:"endTime",type:"time",value:s,onChange:w=>o(w.target.value),className:"h-10","data-testid":"input-end-time"})]})]}),!l&&a.jsx("p",{className:"text-xs text-muted-foreground pl-6",children:"Le détachement sera enregistré avec la date et l'heure actuelles."})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{variant:"outline",onClick:()=>t(!1),disabled:v,className:"w-full sm:w-auto",children:"Annuler"}),a.jsx(ge,{variant:"destructive",onClick:h,disabled:v,className:"w-full sm:w-auto","data-testid":"button-confirm-detach",children:v?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Détachement..."]}):a.jsxs(a.Fragment,{children:[a.jsx(UD,{className:"h-4 w-4 mr-2"}),"Confirmer le détachement"]})})]})]})})}function U$e(){const[e,t]=I.useState(""),[r,n]=I.useState(!1),[i,s]=I.useState(null),[o,l]=I.useState(!1),{data:c=[],isLoading:d}=pne(),u=a$e(),h=c.filter(y=>{if(!e)return!0;const v=y.vehicle?.immatriculation.toLowerCase().includes(e.toLowerCase())||y.vehicle?.marque?.toLowerCase().includes(e.toLowerCase())||y.vehicle?.modele?.toLowerCase().includes(e.toLowerCase()),w=y.trailer?.numeroChassis.toLowerCase().includes(e.toLowerCase())||y.trailer?.type.toLowerCase().includes(e.toLowerCase());return v||w}),p=y=>{u.mutate(y)},A=y=>{const v=c.find(w=>w.id===y);v&&(s(v),l(!0))};return a.jsxs("div",{className:"space-y-4 md:space-y-6 pb-20 md:pb-0",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-xl md:text-2xl font-semibold","data-testid":"text-page-title",children:"Attelages"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez les attelages entre vos véhicules et vos remorques"})]}),a.jsx(O$e,{open:r,onOpenChange:n,onCreate:p}),a.jsxs(ge,{"data-testid":"button-add-coupling",className:"w-full md:w-auto",onClick:()=>n(!0),children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Créer un attelage"]})]}),a.jsx("div",{className:"flex items-center gap-3",children:a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:y=>t(y.target.value),className:"pl-9 h-12","data-testid":"input-search"})]})}),d?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"space-y-4",children:h.map(y=>a.jsx(Q$e,{coupling:y,onDetach:A},y.id))}),h.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucun attelage trouvé"})})]}),a.jsx(np,{onClick:()=>n(!0),label:"Créer un attelage"}),a.jsx(M$e,{open:o,onOpenChange:l,coupling:i})]})}const z$e={planned:"Planifiée",in_progress:"En cours",completed:"Terminée",cancelled:"Annulée"},eO={planned:"bg-blue-100 text-blue-800 border-blue-300",in_progress:"bg-yellow-100 text-yellow-800 border-yellow-300",completed:"bg-green-100 text-green-800 border-green-300",cancelled:"bg-red-100 text-red-800 border-red-300"};function $$e({voyage:e,onClick:t,hasBreakdown:r=!1}){const n=e.vehicle,i=e.trailer,s=e.mainDriver,o=e.tripCount||0,l=e.startAt?new Date(e.startAt):null,c=e.endAt?new Date(e.endAt):null,d=l?Wr(l,"dd MMM yyyy",{locale:Hr}):null,u=c?Wr(c,"dd MMM yyyy",{locale:Hr}):null;return a.jsx(it,{"data-testid":`card-voyage-${e.id}`,className:"hover-elevate transition-all duration-200 overflow-hidden cursor-pointer",onClick:()=>t?.(e.id),children:a.jsxs(Et,{className:"p-0",children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden bg-muted border-b",children:[n?.photoUrl?a.jsx("img",{src:Sr(n.photoUrl)||void 0,alt:`Véhicule ${n.immatriculation}`,className:"w-full h-full object-cover",onError:h=>{h.target.style.display="none"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-4xl mb-2",children:"🚚"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Pas de photo"})]})}),n&&a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2 py-1 bg-background/95 backdrop-blur-sm shadow-md border",children:n.immatriculation})}),a.jsxs("div",{className:"absolute top-2 right-2 z-10 flex flex-col gap-1.5 items-end",children:[e.isArchived&&a.jsx(yt,{variant:"secondary",className:"text-xs px-2 py-1 border shadow-md bg-gray-500/10 text-gray-700 dark:text-gray-400 border-gray-300",children:"Archivé"}),a.jsx(yt,{className:`text-xs px-2 py-1 border shadow-md ${eO[e.status]||eO.planned}`,children:z$e[e.status]||e.status}),r&&a.jsxs(yt,{variant:"destructive",className:"text-xs px-2 py-1 border shadow-md flex items-center gap-1",children:[a.jsx(uv,{className:"h-3 w-3"}),"Panne"]})]}),i&&a.jsx("div",{className:"absolute bottom-2 left-2 z-10",children:a.jsxs(yt,{variant:"secondary",className:"text-xs px-2 py-1 bg-background/95 backdrop-blur-sm shadow-md border flex items-center gap-1",children:[a.jsx(il,{className:"h-3 w-3"}),"Remorque attelée"]})})]}),a.jsxs("div",{className:"p-4 space-y-3",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"font-semibold text-base mb-1 line-clamp-1","data-testid":`text-title-${e.id}`,children:e.title}),a.jsx("p",{className:"text-xs text-muted-foreground font-mono","data-testid":`text-code-${e.id}`,children:e.code}),e.currentHeadsign||e.headsignOutbound?a.jsxs(yt,{variant:"outline",className:"text-xs mt-1.5",children:["Direction: ",e.currentHeadsign||e.headsignOutbound||"-"]}):null]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Client"}),a.jsx("p",{className:"text-sm font-medium","data-testid":`text-client-${e.id}`,children:e.clientName}),e.clientReference&&a.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["Ref: ",e.clientReference]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:"Itinéraire"}),a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsxs("div",{className:"flex items-center gap-1.5 flex-1 min-w-0",children:[a.jsx(ei,{className:"h-4 w-4 text-primary flex-shrink-0"}),a.jsx("span",{className:"truncate","data-testid":`text-loading-${e.id}`,children:e.loadingSite})]}),a.jsx(ov,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),a.jsxs("div",{className:"flex items-center gap-1.5 flex-1 min-w-0",children:[a.jsx(ei,{className:"h-4 w-4 text-primary flex-shrink-0"}),a.jsx("span",{className:"truncate","data-testid":`text-unloading-${e.id}`,children:e.unloadingSite})]})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Chargement"}),a.jsxs(yt,{variant:"outline",className:"text-xs",children:[a.jsx(il,{className:"h-3 w-3 mr-1"}),e.loadingType]})]}),a.jsxs("div",{className:"flex items-center justify-between pt-2 border-t text-xs text-muted-foreground",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[s&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx(nh,{className:"h-3 w-3"}),a.jsxs("span",{className:"truncate max-w-[100px]",children:[s.prenom," ",s.nom]})]}),o>0&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx(Fa,{className:"h-3 w-3"}),a.jsxs("span",{children:[o," trajet",o>1?"s":""]})]})]}),(d||u)&&a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx(Sl,{className:"h-3 w-3"}),d&&a.jsx("span",{children:d}),d&&u&&a.jsx("span",{children:"-"}),u&&a.jsx("span",{children:u})]})]})]})]})})}function H$e(){const[,e]=Gi(),[t,r]=I.useState(""),[n,i]=I.useState("all"),s=n==="all"?void 0:n,{data:o=[],isLoading:l}=Vw(s),{data:c=[],isLoading:d}=cr({queryKey:["/api/breakdowns"],queryFn:()=>T8()}),u=I.useMemo(()=>new Set(c.map(v=>v.vehicleId)),[c]),h=I.useMemo(()=>new Set(o.filter(v=>v.vehicle&&u.has(v.vehicle.id)).map(v=>v.id)),[o,u]),p=l||d,A=o.filter(v=>{if(!t)return!0;const w=t.toLowerCase(),j=v.title?.toLowerCase().includes(w),E=v.code?.toLowerCase().includes(w),S=v.clientName?.toLowerCase().includes(w),_=v.clientReference?.toLowerCase().includes(w),C=v.vehicle?.immatriculation.toLowerCase().includes(w),Q=v.loadingType?.toLowerCase().includes(w),R=v.loadingSite?.toLowerCase().includes(w),T=v.unloadingSite?.toLowerCase().includes(w);return j||E||S||_||C||Q||R||T}),y=v=>{e(`/voyages/${v}`)};return a.jsxs("div",{className:"space-y-4 md:space-y-6 pb-20 md:pb-0",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-xl md:text-2xl font-semibold","data-testid":"text-page-title",children:"Voyages"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez vos voyages et leurs trajets associés"})]}),a.jsxs(ge,{"data-testid":"button-add-voyage",className:"w-full md:w-auto",onClick:()=>e("/voyages/new"),children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Créer un voyage"]})]}),a.jsx("div",{className:"flex flex-col md:flex-row items-stretch md:items-center gap-3",children:a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher par titre, code, client, véhicule...",value:t,onChange:v=>r(v.target.value),className:"pl-9 h-12","data-testid":"input-search"})]})}),p?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs(a.Fragment,{children:[a.jsxs(ul,{value:n,onValueChange:i,className:"space-y-4",children:[a.jsxs(Ro,{className:"w-full grid grid-cols-5",children:[a.jsx(hn,{value:"all",className:"text-xs md:text-sm",children:"Toutes"}),a.jsx(hn,{value:"planned",className:"text-xs md:text-sm",children:"Planifiées"}),a.jsx(hn,{value:"in_progress",className:"text-xs md:text-sm",children:"En cours"}),a.jsx(hn,{value:"completed",className:"text-xs md:text-sm",children:"Terminées"}),a.jsx(hn,{value:"cancelled",className:"text-xs md:text-sm",children:"Annulées"})]}),a.jsx(dn,{value:n,className:"mt-0",children:a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:A.map(v=>a.jsx($$e,{voyage:v,onClick:y,hasBreakdown:h.has(v.id)},v.id))})})]}),A.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:t?"Aucun voyage ne correspond à votre recherche":"Aucun voyage trouvé"})})]}),a.jsx(np,{onClick:()=>e("/voyages/new"),label:"Créer un voyage"})]})}async function q$e(e=!1){return await $t(`/api/voyage-types${e?"?active=true":""}`)}async function _A(e){return await $t(`/api/voyage-types/${e}`)}async function G$e(e){return await $t("/api/voyage-types",{method:"POST",body:e})}async function y6(e,t){return await $t(`/api/voyage-types/${e}`,{method:"PATCH",body:t})}async function V$e(e){await $t(`/api/voyage-types/${e}`,{method:"DELETE"})}async function W$e(e,t){return await $t(`/api/voyage-types/${e}/steps/reorder`,{method:"POST",body:{stepIds:t}})}function D_(e=!1){return cr({queryKey:["/api/voyage-types",e],queryFn:()=>q$e(e),retry:1,retryDelay:1e3,staleTime:300*1e3})}function K$e(){const{toast:e}=Er();return _r({mutationFn:t=>G$e(t),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/voyage-types"]}),e({title:"Succès",description:"Le type de voyage a été créé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de créer le type de voyage"})}})}function Y$e(){const{toast:e}=Er();return _r({mutationFn:({id:t,data:r})=>y6(t,r),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/voyage-types"]}),e({title:"Succès",description:"Le type de voyage a été mis à jour avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de mettre à jour le type de voyage"})}})}function Z$e(){const{toast:e}=Er();return _r({mutationFn:t=>V$e(t),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/voyage-types"]}),e({title:"Succès",description:"Le type de voyage a été supprimé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de supprimer le type de voyage"})}})}async function J$e(e=!1){return await $t(`/api/locations${e?"?active=true":""}`)}async function X$e(e){return await $t("/api/locations",{method:"POST",body:e})}async function eHe(e,t){return await $t(`/api/locations/${e}`,{method:"PATCH",body:t})}async function tHe(e){await $t(`/api/locations/${e}`,{method:"DELETE"})}function OC(e=!1){return cr({queryKey:["/api/locations",e],queryFn:()=>J$e(e)})}function rHe(){const{toast:e}=Er();return _r({mutationFn:t=>X$e(t),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/locations"]}),e({title:"Succès",description:"Le lieu a été créé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de créer le lieu"})}})}function nHe(){const{toast:e}=Er();return _r({mutationFn:({id:t,data:r})=>eHe(t,r),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/locations"]}),e({title:"Succès",description:"Le lieu a été mis à jour avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de mettre à jour le lieu"})}})}function iHe(){const{toast:e}=Er();return _r({mutationFn:t=>tHe(t),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/locations"]}),e({title:"Succès",description:"Le lieu a été supprimé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de supprimer le lieu"})}})}function xne({voyageTypes:e,selectedId:t,onSelect:r,isLoading:n=!1}){return n?a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:[1,2,3].map(i=>a.jsx(it,{className:"p-4 animate-pulse",children:a.jsx("div",{className:"h-20 bg-muted rounded"})},i))}):a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:e.map(i=>{const s=t===i.id;return a.jsx(it,{className:`p-4 cursor-pointer transition-all hover:shadow-md ${s?"border-2 border-primary bg-primary/5 shadow-md":"border hover:border-primary/50"}`,onClick:()=>r(s?null:i),children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-base truncate",children:i.name}),a.jsxs("div",{className:"flex flex-wrap gap-1 mt-2",children:[a.jsx(yt,{variant:"secondary",className:"text-xs",children:i.loadingType}),i.defaultClientName&&a.jsx(yt,{variant:"outline",className:"text-xs",children:i.defaultClientName})]})]}),s&&a.jsx("div",{className:"flex-shrink-0 text-primary text-xl",children:"✓"})]})},i.id)})}),a.jsx(it,{className:`p-4 cursor-pointer transition-all hover:shadow-md ${t===null?"border-2 border-primary bg-primary/5 shadow-md":"border hover:border-primary/50"}`,onClick:()=>r(null),children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("div",{className:"flex-1",children:[a.jsx("h3",{className:"font-semibold text-base",children:"Voyage personnalisé"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Créer un voyage avec des paramètres personnalisés"})]}),t===null&&a.jsx("div",{className:"flex-shrink-0 text-primary text-xl",children:"✓"})]})})]})}const tO={factory:"🏭",port:"⚓",border:"🚧",warehouse:"🏢",city:"🏙️"},rO={factory:"Usine",port:"Port",border:"Frontière",warehouse:"Entrepôt",city:"Ville"};function i4({locations:e,selectedId:t,onSelect:r,isLoading:n=!1,label:i="Sélectionner un lieu",placeholder:s="Rechercher un lieu..."}){const[o,l]=I.useState(""),[c,d]=I.useState(null),u=I.useMemo(()=>e.filter(p=>{const A=o===""||p.name.toLowerCase().includes(o.toLowerCase())||p.country?.toLowerCase().includes(o.toLowerCase()),y=!c||p.type===c;return A&&y}),[e,o,c]),h=I.useMemo(()=>{const p=new Set(e.map(A=>A.type));return Array.from(p)},[e]);return n?a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"h-10 bg-muted rounded animate-pulse"}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[1,2,3,4].map(p=>a.jsx(it,{className:"p-4 animate-pulse",children:a.jsx("div",{className:"h-20 bg-muted rounded"})},p))})]}):a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Xe,{placeholder:s,value:o,onChange:p=>l(p.target.value),className:"w-full"}),h.length>0&&a.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.jsx("button",{type:"button",onClick:()=>d(null),className:`px-3 py-1 text-sm rounded-full border transition-colors ${c===null?"bg-primary text-primary-foreground border-primary":"bg-background hover:bg-accent"}`,children:"Tous"}),h.map(p=>a.jsxs("button",{type:"button",onClick:()=>d(p),className:`px-3 py-1 text-sm rounded-full border transition-colors flex items-center gap-1 ${c===p?"bg-primary text-primary-foreground border-primary":"bg-background hover:bg-accent"}`,children:[a.jsx("span",{children:tO[p]||"📍"}),a.jsx("span",{children:rO[p]||p})]},p))]})]}),u.length===0?a.jsx(it,{className:"p-4 border-dashed",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"Aucun lieu trouvé"})}):a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-64 overflow-y-auto",children:u.map(p=>{const A=t===p.id;return a.jsx(it,{className:`p-3 cursor-pointer transition-all hover:shadow-md ${A?"border-2 border-primary bg-primary/5 shadow-md":"border hover:border-primary/50"}`,onClick:()=>r(A?null:p),children:a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("span",{className:"text-2xl flex-shrink-0",children:tO[p.type]||"📍"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h4",{className:"font-semibold text-sm truncate",children:p.name}),a.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[a.jsx(yt,{variant:"secondary",className:"text-xs",children:rO[p.type]||p.type}),p.country&&a.jsx("span",{className:"text-xs text-muted-foreground",children:p.country})]})]}),A&&a.jsx("div",{className:"flex-shrink-0 text-primary text-lg",children:"✓"})]})},p.id)})})]})}function vne({value:e,onChange:t,label:r="Nombre de tours"}){const[n,i]=I.useState(""),[s,o]=I.useState(!1);I.useEffect(()=>{e&&![1,2,3,4].includes(e)&&(o(!0),i(e.toString()))},[e]);const l=d=>{o(!1),i(""),t(d)},c=d=>{const u=d.target.value;i(u);const h=parseInt(u,10);!isNaN(h)&&h>0?t(h):u===""&&t(1)};return a.jsxs("div",{className:"space-y-3",children:[a.jsx(Se,{className:"text-base font-semibold",children:r}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"1 tour = un aller + un retour"}),a.jsxs("div",{className:"flex flex-wrap gap-2",children:[[1,2,3,4].map(d=>a.jsx(ge,{type:"button",variant:e===d?"default":"outline",size:"lg",className:`min-w-[60px] ${e===d?"bg-primary text-primary-foreground":""}`,onClick:()=>l(d),children:d},d)),a.jsx(ge,{type:"button",variant:s?"default":"outline",size:"lg",className:`min-w-[80px] ${s?"bg-primary text-primary-foreground":""}`,onClick:()=>{o(!0),n||i(e.toString())},children:"Autre"})]}),s&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"custom-tours",className:"text-sm",children:"Nombre de tours personnalisé"}),a.jsx(Xe,{id:"custom-tours",type:"number",min:"1",value:n,onChange:c,placeholder:"Entrez le nombre de tours",className:"w-full max-w-xs"})]})]})}function yne({imageUrl:e,onImageChange:t,isLoading:r=!1}){const[n,i]=I.useState(!1),[s,o]=I.useState(!1),l=I.useRef(null),c=I.useRef(null),{toast:d}=Er(),u=async y=>{if(y){if(!y.type.startsWith("image/")){alert("Veuillez sélectionner une image");return}if(y.size>5*1024*1024){alert("L'image est trop grande (maximum 5MB)");return}o(!0);try{const v=await Hm(y,{preset:"pod"}),w=((1-v.optimizedSize/v.originalSize)*100).toFixed(0);v.originalSize>v.optimizedSize&&d({title:"Image optimisée",description:`${ol(v.originalSize)} → ${ol(v.optimizedSize)} (-${w}%)`,duration:3e3}),i(!0);const j=await gne(v.file);t(j.url)}catch(v){console.error("Error uploading photo:",v),d({variant:"destructive",title:"Erreur",description:v instanceof Error?v.message:"Erreur lors de l'upload de la photo"})}finally{o(!1),i(!1)}}},h=()=>{c.current?.click()},p=()=>{l.current?.click()},A=()=>{t(null),l.current&&(l.current.value=""),c.current&&(c.current.value="")};return a.jsxs("div",{className:"space-y-3",children:[a.jsx(Se,{className:"text-base font-semibold",children:"Photo du bon de chargement"}),e?a.jsxs(it,{className:"p-4",children:[a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:e,alt:"Bon de chargement",className:"w-full h-auto max-h-64 object-contain rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:A,disabled:n||r||s,children:a.jsx(Nn,{className:"h-4 w-4"})})]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-2 text-center",children:"Cliquez sur la croix pour supprimer la photo"})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:h,disabled:n||r||s,className:"flex-1",children:[n||s?a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}):a.jsx(mo,{className:"h-4 w-4 mr-2"}),"Prendre une photo"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:p,disabled:n||r||s,className:"flex-1",children:[n||s?a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}):a.jsx(Nm,{className:"h-4 w-4 mr-2"}),"Importer depuis la galerie"]})]}),a.jsx("input",{ref:c,type:"file",accept:"image/*",capture:"environment",className:"hidden",onChange:y=>u(y.target.files?.[0]||null)}),a.jsx("input",{ref:l,type:"file",accept:"image/*",className:"hidden",onChange:y=>u(y.target.files?.[0]||null)})]})]})}const nO={chauffeur:"Chauffeur",apprenti:"Apprenti"};function aHe(){const[,e]=Gi(),{toast:t}=Er(),r=MPe(),n=$Pe(),[i,s]=I.useState({voyageTypeId:null,vehicleId:null,trailerId:null,mainDriverId:null,additionalCrewIds:[],title:"",description:"",clientName:"",clientReference:"",loadingSite:"",unloadingSite:"",loadingLocationId:null,unloadingLocationId:null,loadingType:"",loadingOrderNumber:"",loadingOrderDate:"",loadingBonImageUrl:null,expectedTours:1,plannedStartAt:"",status:"planned",createTripsNow:!0,tripMode:"round_trip"}),{data:o=[],isLoading:l}=cr({queryKey:["/api/vehicles"]}),{data:c=[],isLoading:d}=cr({queryKey:["/api/trailers"]}),{data:u=[],isLoading:h}=cr({queryKey:["/api/crew-members"]}),{data:p=[],isLoading:A}=D_(!0),{data:y=[],isLoading:v}=OC(!0),{data:w,isLoading:j}=k_(i.vehicleId),E=p.find(q=>q.id===i.voyageTypeId)||null,S=I.useRef(null),_=I.useRef(!1);I.useEffect(()=>{if(p.length>0&&i.voyageTypeId===null&&!A&&!_.current){const q=p[0];q&&(_.current=!0,s(ee=>({...ee,voyageTypeId:q.id})))}},[p,A,i.voyageTypeId]);const C=o.find(q=>q.id===i.vehicleId)||null,R=c.find(q=>q.id===i.trailerId)||null||w?.trailer||null,T=I.useMemo(()=>[...o].sort((q,ee)=>0),[o]),M=I.useMemo(()=>u.filter(q=>q.role==="chauffeur"),[u]),O=I.useMemo(()=>u.filter(q=>q.role==="apprenti"),[u]);I.useEffect(()=>{w?.trailer?.id&&!i.trailerId&&s(q=>({...q,trailerId:w.trailer.id}))},[w,i.trailerId]),I.useEffect(()=>{!w||!i.vehicleId||j||s(q=>{let ee={...q},ne=!1;w.chauffeur?.id&&!q.mainDriverId&&(ee.mainDriverId=w.chauffeur.id,ne=!0);const V=w.apprentis;if(V&&Array.isArray(V)&&V.length>0){const ue=V.map(de=>de?.id).filter(de=>de!=null);if(ue.length>0){const de=q.additionalCrewIds,xe=ue.filter(_e=>!de.includes(_e));xe.length>0&&(ee.additionalCrewIds=[...de,...xe],ne=!0)}}return ne?ee:q})},[w,i.vehicleId,j]),I.useEffect(()=>{E&&i.voyageTypeId&&i.voyageTypeId!==S.current&&!v&&y.length>=0&&(S.current=i.voyageTypeId,s(q=>{const ee={};if(ee.title=E.name,ee.loadingType=E.loadingType,E.defaultClientName&&(ee.clientName=E.defaultClientName),E.defaultLoadingLocationId){ee.loadingLocationId=E.defaultLoadingLocationId;const ne=y.find(V=>V.id===E.defaultLoadingLocationId);ne&&(ee.loadingSite=ne.name)}if(E.defaultUnloadingLocationId){ee.unloadingLocationId=E.defaultUnloadingLocationId;const ne=y.find(V=>V.id===E.defaultUnloadingLocationId);ne&&(ee.unloadingSite=ne.name)}return E.expectedToursDefault&&(ee.expectedTours=E.expectedToursDefault),{...q,...ee}})),i.voyageTypeId||(S.current=null)},[i.voyageTypeId,E,y,v]);const $=q=>{s(ee=>({...ee,vehicleId:q,trailerId:null}))},P=q=>{s(ee=>({...ee,trailerId:q}))},L=q=>{s(ee=>({...ee,mainDriverId:q}))},X=q=>{s(ee=>{const ne=ee.additionalCrewIds.includes(q);return{...ee,additionalCrewIds:ne?ee.additionalCrewIds.filter(V=>V!==q):[...ee.additionalCrewIds,q]}})},W=async q=>{if(q.preventDefault(),!J){if(!i.vehicleId){t({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un véhicule"});return}if(!i.title.trim()){t({variant:"destructive",title:"Erreur",description:"Le titre du voyage est obligatoire"});return}if(!i.clientName.trim()){t({variant:"destructive",title:"Erreur",description:"Le nom du client est obligatoire"});return}if(!i.loadingLocationId&&!i.loadingSite.trim()){t({variant:"destructive",title:"Erreur",description:"Le lieu de chargement est obligatoire"});return}if(!i.unloadingLocationId&&!i.unloadingSite.trim()){t({variant:"destructive",title:"Erreur",description:"Le lieu de déchargement est obligatoire"});return}if(!i.loadingType.trim()){t({variant:"destructive",title:"Erreur",description:"Le type de chargement est obligatoire"});return}if(!i.loadingOrderNumber.trim()){t({variant:"destructive",title:"Erreur",description:"Le numéro de bon de chargement est obligatoire"});return}if(!i.loadingOrderDate){t({variant:"destructive",title:"Erreur",description:"La date du bon de chargement est obligatoire"});return}if(!i.mainDriverId){t({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un chauffeur principal"});return}try{const ee=i.plannedStartAt?new Date(i.plannedStartAt):new Date;let ne;E?.standardDurationDays&&(ne=new Date(ee),ne.setDate(ne.getDate()+E.standardDurationDays));const V=ee.toISOString(),ue=ne?.toISOString(),de={vehicleId:i.vehicleId,trailerId:i.trailerId||void 0,mainDriverId:i.mainDriverId,additionalCrewIds:i.additionalCrewIds.length>0?i.additionalCrewIds:void 0,title:i.title.trim(),description:i.description.trim()||void 0,clientName:i.clientName.trim(),clientReference:i.clientReference.trim()||void 0,loadingSite:i.loadingLocationId&&y.find(_e=>_e.id===i.loadingLocationId)?.name||i.loadingSite.trim(),unloadingSite:i.unloadingLocationId&&y.find(_e=>_e.id===i.unloadingLocationId)?.name||i.unloadingSite.trim(),loadingType:i.loadingType.trim(),loadingOrderNumber:i.loadingOrderNumber.trim(),loadingOrderDate:new Date(i.loadingOrderDate),expectedTours:i.expectedTours||1,voyageTypeId:i.voyageTypeId||void 0,loadingLocationId:i.loadingLocationId||void 0,unloadingLocationId:i.unloadingLocationId||void 0,loadingBonImageUrl:i.loadingBonImageUrl||void 0,plannedStartAt:V,plannedEndAt:ue,status:i.status},xe=await r.mutateAsync(de);i.createTripsNow&&await n.mutateAsync({voyageId:xe.id,mode:i.tripMode}),e("/voyages")}catch(ee){console.error("Error creating mission:",ee)}}},G=l||d||h||j||A||v,J=r.isPending||n.isPending;return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>e("/voyages"),className:"flex-shrink-0",children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-semibold",children:"Créer un voyage"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Remplissez les informations pour créer un nouveau voyage"})]})]}),G?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs("form",{onSubmit:W,className:"space-y-8",children:[a.jsxs(it,{className:"p-6",children:[a.jsx(Se,{className:"text-lg font-semibold mb-4 block",children:"Type de voyage"}),a.jsx(xne,{voyageTypes:p,selectedId:i.voyageTypeId,onSelect:q=>{s(ee=>({...ee,voyageTypeId:q?.id||null}))},isLoading:A})]}),a.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsxs(Se,{className:"text-base font-semibold",children:["Véhicule ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3 max-h-96 overflow-y-auto p-2 border rounded-lg",children:T.map(q=>{const ee=i.vehicleId===q.id;return a.jsxs("button",{type:"button",onClick:()=>$(q.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${ee?"border-[#8B5CF6] bg-[#8B5CF6]/5 shadow-[0_0_8px_rgba(139,92,246,0.3)]":"border-border hover:border-primary/50 hover:bg-accent"}`,children:[ee&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-5 w-5 text-[#8B5CF6]"})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-[#8B5CF6]/20 text-[#8B5CF6] border-[#8B5CF6]/30",children:"✔️ Sélectionné"})})]}),a.jsxs("div",{className:"space-y-2",children:[q.photoUrl?a.jsx("div",{className:"relative w-full aspect-video rounded overflow-hidden bg-muted",children:a.jsx("img",{src:Sr(q.photoUrl)||void 0,alt:q.immatriculation,className:"w-full h-full object-cover",onError:ne=>{ne.target.style.display="none"}})}):a.jsx("div",{className:"w-full aspect-video rounded bg-muted flex items-center justify-center",children:a.jsx("span",{className:"text-3xl",children:"🚚"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono font-semibold text-sm",children:q.immatriculation}),(q.marque||q.modele)&&a.jsxs("p",{className:"text-xs text-muted-foreground",children:[q.marque," ",q.modele]})]})]})]},q.id)})})]}),C&&a.jsxs("div",{className:"space-y-3",children:[a.jsx(Se,{className:"text-base font-semibold",children:"Remorque"}),a.jsx(__,{vehicle:C,trailer:R,isFromCoupling:!!w?.trailer&&!i.trailerId}),!w?.trailer&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{className:"text-sm text-muted-foreground",children:"Sélectionner une remorque (optionnel)"}),a.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3 max-h-48 overflow-y-auto p-2 border rounded-lg",children:[a.jsx("button",{type:"button",onClick:()=>P(null),className:`p-3 rounded-lg border-2 transition-all text-center ${i.trailerId?"border-border hover:border-primary/50":"border-primary bg-primary/5"}`,children:a.jsx("p",{className:"text-sm font-medium",children:"Sans remorque"})}),c.map(q=>{const ee=i.trailerId===q.id;return a.jsxs("button",{type:"button",onClick:()=>P(q.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${ee?"border-primary bg-primary/5":"border-border hover:border-primary/50"}`,children:[ee&&a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-4 w-4 text-primary"})}),a.jsxs("div",{className:"space-y-2",children:[q.photoUrl?a.jsx("div",{className:"relative w-full aspect-video rounded overflow-hidden bg-muted",children:a.jsx("img",{src:Sr(q.photoUrl)||void 0,alt:q.numeroChassis,className:"w-full h-full object-cover"})}):a.jsx("div",{className:"w-full aspect-video rounded bg-muted flex items-center justify-center",children:a.jsx(il,{className:"h-6 w-6 text-muted-foreground"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono font-semibold text-xs",children:q.numeroChassis}),a.jsx("p",{className:"text-xs text-muted-foreground",children:q.type})]})]})]},q.id)})]})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs(Se,{className:"text-base font-semibold",children:["Chauffeur principal ",a.jsx("span",{className:"text-destructive",children:"*"})]}),M.length===0?a.jsx(it,{className:"p-4 border-dashed",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"Aucun chauffeur disponible"})}):a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-64 overflow-y-auto p-2 border rounded-lg",children:M.map(q=>{const ee=i.mainDriverId===q.id;return a.jsxs("button",{type:"button",onClick:()=>L(q.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${ee?"border-green-500 bg-green-500/5 shadow-[0_0_8px_rgba(34,197,94,0.3)]":"border-border hover:border-primary/50 hover:bg-accent"}`,children:[ee&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-5 w-5 text-green-500"})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-green-500/20 text-green-700 border-green-500/30",children:"✔️ Sélectionné"})})]}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-12 h-12 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:q.photoUrl?a.jsx("img",{src:Sr(q.photoUrl)||void 0,alt:`${q.prenom} ${q.nom}`,className:"w-full h-full object-cover",onError:ne=>{ne.target.style.display="none"}}):a.jsxs("div",{className:"w-full h-full bg-muted flex items-center justify-center text-xs font-semibold",children:[q.prenom.charAt(0),q.nom.charAt(0)]})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[q.prenom," ",q.nom]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:nO[q.role]||q.role})]})]})]},q.id)})})]}),O.length>0&&a.jsxs("div",{className:"space-y-3",children:[a.jsx(Se,{className:"text-base font-semibold",children:"Autres membres d'équipage (optionnel)"}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-64 overflow-y-auto p-2 border rounded-lg",children:O.map(q=>{const ee=i.additionalCrewIds.includes(q.id);return a.jsxs("button",{type:"button",onClick:()=>X(q.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${ee?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-accent"}`,children:[ee&&a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-4 w-4 text-primary"})}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-10 h-10 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:q.photoUrl?a.jsx("img",{src:Sr(q.photoUrl)||void 0,alt:`${q.prenom} ${q.nom}`,className:"w-full h-full object-cover",onError:ne=>{ne.target.style.display="none"}}):a.jsxs("div",{className:"w-full h-full bg-muted flex items-center justify-center text-xs font-semibold",children:[q.prenom.charAt(0),q.nom.charAt(0)]})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[q.prenom," ",q.nom]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:nO[q.role]||q.role})]})]})]},q.id)})})]})]}),a.jsx("div",{className:"space-y-6",children:a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"title",className:"text-base font-semibold",children:["Titre du voyage ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"title",value:i.title,onChange:q=>s(ee=>({...ee,title:q.target.value})),placeholder:"Ex: Ouaga – Lomé – Clinker",className:"mt-1",required:!0})]}),a.jsxs("div",{children:[a.jsx(Se,{htmlFor:"description",className:"text-base font-semibold",children:"Description (optionnel)"}),a.jsx("textarea",{id:"description",value:i.description,onChange:q=>s(ee=>({...ee,description:q.target.value})),placeholder:"Détails supplémentaires sur la mission...",className:"mt-1 w-full min-h-[100px] px-3 py-2 rounded-md border border-input bg-background text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"clientName",className:"text-base font-semibold",children:["Client ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"clientName",value:i.clientName,onChange:q=>s(ee=>({...ee,clientName:q.target.value})),placeholder:"Nom du client",className:"mt-1",required:!0})]}),a.jsxs("div",{children:[a.jsx(Se,{htmlFor:"clientReference",className:"text-base font-semibold",children:"Référence client (optionnel)"}),a.jsx(Xe,{id:"clientReference",value:i.clientReference,onChange:q=>s(ee=>({...ee,clientReference:q.target.value})),placeholder:"Ref. client",className:"mt-1"})]})]}),a.jsx("div",{children:a.jsx(i4,{locations:y,selectedId:i.loadingLocationId,onSelect:q=>{s(ee=>({...ee,loadingLocationId:q?.id||null,loadingSite:q?.name||""}))},isLoading:v,label:"Lieu de chargement",placeholder:"Rechercher un lieu de chargement..."})}),a.jsx("div",{children:a.jsx(i4,{locations:y,selectedId:i.unloadingLocationId,onSelect:q=>{s(ee=>({...ee,unloadingLocationId:q?.id||null,unloadingSite:q?.name||""}))},isLoading:v,label:"Lieu de déchargement",placeholder:"Rechercher un lieu de déchargement..."})}),a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"loadingType",className:"text-base font-semibold",children:["Type de chargement ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"loadingType",value:i.loadingType,onChange:q=>s(ee=>({...ee,loadingType:q.target.value})),placeholder:"Ex: Clinker, Ciment ensaché",className:"mt-1",required:!0})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"loadingOrderNumber",className:"text-base font-semibold",children:["N° bon de chargement ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"loadingOrderNumber",value:i.loadingOrderNumber,onChange:q=>s(ee=>({...ee,loadingOrderNumber:q.target.value})),placeholder:"N° bon",className:"mt-1",required:!0})]}),a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"loadingOrderDate",className:"text-base font-semibold",children:["Date bon de chargement ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"loadingOrderDate",type:"date",value:i.loadingOrderDate,onChange:q=>s(ee=>({...ee,loadingOrderDate:q.target.value})),className:"mt-1",required:!0})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"plannedStartAt",className:"text-base font-semibold",children:"Date de départ prévue"}),a.jsx(Xe,{id:"plannedStartAt",type:"datetime-local",value:i.plannedStartAt,onChange:q=>s(ee=>({...ee,plannedStartAt:q.target.value})),className:"mt-1"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:i.plannedStartAt?"Date de départ définie par l'utilisateur":"Si non définie, la date de création du voyage sera utilisée"}),E?.standardDurationDays&&a.jsxs("div",{className:"mt-2 p-3 bg-muted/50 rounded-lg",children:[a.jsxs("p",{className:"text-sm font-medium text-muted-foreground",children:["Durée standard du type de voyage : ",E.standardDurationDays," jour",E.standardDurationDays>1?"s":""]}),i.plannedStartAt&&a.jsxs("p",{className:"text-sm text-muted-foreground mt-1",children:["Date de retour prévue : ",new Date(new Date(i.plannedStartAt).getTime()+E.standardDurationDays*24*60*60*1e3).toLocaleString("fr-FR",{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"})]})]})]}),a.jsx("div",{children:a.jsx(yne,{imageUrl:i.loadingBonImageUrl,onImageChange:q=>s(ee=>({...ee,loadingBonImageUrl:q})),isLoading:J})}),a.jsx("div",{children:a.jsx(vne,{value:i.expectedTours,onChange:q=>s(ee=>({...ee,expectedTours:q}))})})]})})]}),a.jsx(it,{className:"p-4 bg-muted/30",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(S1,{id:"createTripsNow",checked:i.createTripsNow,onCheckedChange:q=>s(ee=>({...ee,createTripsNow:q}))}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx(Se,{htmlFor:"createTripsNow",className:"text-base font-semibold cursor-pointer",children:"Créer tout de suite les trajets"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Si coché, les trajets seront créés automatiquement à partir de ce voyage."}),a.jsxs("div",{className:"flex items-center gap-4 mt-2",children:[a.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[a.jsx("input",{type:"radio",name:"tripMode",value:"one_way",checked:i.tripMode==="one_way",onChange:()=>s(q=>({...q,tripMode:"one_way"})),className:"cursor-pointer"}),a.jsx("span",{className:"text-sm",children:"Aller simple"})]}),a.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[a.jsx("input",{type:"radio",name:"tripMode",value:"round_trip",checked:i.tripMode==="round_trip",onChange:()=>s(q=>({...q,tripMode:"round_trip"})),className:"cursor-pointer"}),a.jsx("span",{className:"text-sm",children:"Aller-retour"})]})]})]})]})}),a.jsxs("div",{className:"flex items-center justify-end gap-4 pt-4 border-t",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>e("/voyages"),disabled:J,children:"Annuler"}),a.jsx(ge,{type:"submit",disabled:J,className:"bg-[#8B5CF6] hover:bg-[#7C3AED]",children:J?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Création en cours..."]}):"Créer le voyage"})]})]})]})}const iO={chauffeur:"Chauffeur",apprenti:"Apprenti"};function sHe(){const[,e]=mg("/voyages/:id/edit"),[,t]=Gi(),{toast:r}=Er(),n=e?.id?parseInt(e.id):null,i=UPe(),{data:s,isLoading:o}=D8(n||0),[l,c]=I.useState({voyageTypeId:null,vehicleId:null,trailerId:null,mainDriverId:null,additionalCrewIds:[],title:"",description:"",clientName:"",clientReference:"",loadingSite:"",unloadingSite:"",loadingLocationId:null,unloadingLocationId:null,loadingType:"",loadingOrderNumber:"",loadingOrderDate:"",loadingBonImageUrl:null,expectedTours:1,plannedStartAt:"",status:"planned"});I.useEffect(()=>{if(s){const ne=ue=>{if(!ue)return"";const de=new Date(ue),xe=de.getFullYear(),_e=String(de.getMonth()+1).padStart(2,"0"),Ce=String(de.getDate()).padStart(2,"0");return`${xe}-${_e}-${Ce}`},V=ue=>{if(!ue)return"";const de=new Date(ue),xe=de.getFullYear(),_e=String(de.getMonth()+1).padStart(2,"0"),Ce=String(de.getDate()).padStart(2,"0"),we=String(de.getHours()).padStart(2,"0"),ve=String(de.getMinutes()).padStart(2,"0");return`${xe}-${_e}-${Ce}T${we}:${ve}`};c({voyageTypeId:s.voyageTypeId||null,vehicleId:s.vehicleId||null,trailerId:s.trailerId||null,mainDriverId:s.mainDriverId||null,additionalCrewIds:s.additionalCrew?.map(ue=>ue.id)||[],title:s.title||"",description:s.description||"",clientName:s.clientName||"",clientReference:s.clientReference||"",loadingSite:s.loadingSite||"",unloadingSite:s.unloadingSite||"",loadingLocationId:s.loadingLocationId||null,unloadingLocationId:s.unloadingLocationId||null,loadingType:s.loadingType||"",loadingOrderNumber:s.loadingOrderNumber||"",loadingOrderDate:ne(s.loadingOrderDate),loadingBonImageUrl:s.loadingBonImageUrl||null,expectedTours:s.expectedTours||1,plannedStartAt:V(s.plannedStartAt),status:s.status||"planned"})}},[s]);const{data:d=[],isLoading:u}=cr({queryKey:["/api/vehicles"]}),{data:h=[],isLoading:p}=cr({queryKey:["/api/trailers"]}),{data:A=[],isLoading:y}=cr({queryKey:["/api/crew-members"]}),{data:v=[],isLoading:w}=D_(!0),{data:j=[],isLoading:E}=OC(!0),{data:S,isLoading:_}=k_(l.vehicleId),C=v.find(ne=>ne.id===l.voyageTypeId)||null,Q=I.useRef(null),R=d.find(ne=>ne.id===l.vehicleId)||null,M=h.find(ne=>ne.id===l.trailerId)||null||S?.trailer||null,O=I.useMemo(()=>[...d].sort((ne,V)=>0),[d]),$=I.useMemo(()=>A.filter(ne=>ne.role==="chauffeur"),[A]),P=I.useMemo(()=>A.filter(ne=>ne.role==="apprenti"),[A]);I.useEffect(()=>{S?.trailer?.id&&!l.trailerId&&c(ne=>({...ne,trailerId:S.trailer.id}))},[S,l.trailerId]),I.useEffect(()=>{!S||!l.vehicleId||_||c(ne=>{let V={...ne},ue=!1;S.chauffeur?.id&&!ne.mainDriverId&&(V.mainDriverId=S.chauffeur.id,ue=!0);const de=S.apprentis;if(de&&Array.isArray(de)&&de.length>0){const xe=de.map(_e=>_e?.id).filter(_e=>_e!=null);if(xe.length>0){const _e=ne.additionalCrewIds,Ce=xe.filter(we=>!_e.includes(we));Ce.length>0&&(V.additionalCrewIds=[..._e,...Ce],ue=!0)}}return ue?V:ne})},[S,l.vehicleId,_]),I.useEffect(()=>{C&&l.voyageTypeId&&l.voyageTypeId!==Q.current&&!E&&j.length>=0&&(Q.current=l.voyageTypeId,c(ne=>{const V={};if(V.title=C.name,V.loadingType=C.loadingType,C.defaultClientName&&(V.clientName=C.defaultClientName),C.defaultLoadingLocationId){V.loadingLocationId=C.defaultLoadingLocationId;const ue=j.find(de=>de.id===C.defaultLoadingLocationId);ue&&(V.loadingSite=ue.name)}if(C.defaultUnloadingLocationId){V.unloadingLocationId=C.defaultUnloadingLocationId;const ue=j.find(de=>de.id===C.defaultUnloadingLocationId);ue&&(V.unloadingSite=ue.name)}return C.expectedToursDefault&&(V.expectedTours=C.expectedToursDefault),{...ne,...V}})),l.voyageTypeId||(Q.current=null)},[l.voyageTypeId,C,j,E]);const L=ne=>{c(V=>({...V,vehicleId:ne,trailerId:null}))},X=ne=>{c(V=>({...V,trailerId:ne}))},W=ne=>{c(V=>({...V,mainDriverId:ne}))},G=ne=>{c(V=>{const ue=V.additionalCrewIds.includes(ne);return{...V,additionalCrewIds:ue?V.additionalCrewIds.filter(de=>de!==ne):[...V.additionalCrewIds,ne]}})},J=async ne=>{if(ne.preventDefault(),!ee){if(!l.vehicleId){r({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un véhicule"});return}if(!l.title.trim()){r({variant:"destructive",title:"Erreur",description:"Le titre du voyage est obligatoire"});return}if(!l.clientName.trim()){r({variant:"destructive",title:"Erreur",description:"Le nom du client est obligatoire"});return}if(!l.loadingLocationId&&!l.loadingSite.trim()){r({variant:"destructive",title:"Erreur",description:"Le lieu de chargement est obligatoire"});return}if(!l.unloadingLocationId&&!l.unloadingSite.trim()){r({variant:"destructive",title:"Erreur",description:"Le lieu de déchargement est obligatoire"});return}if(!l.loadingType.trim()){r({variant:"destructive",title:"Erreur",description:"Le type de chargement est obligatoire"});return}if(!l.loadingOrderNumber.trim()){r({variant:"destructive",title:"Erreur",description:"Le numéro de bon de chargement est obligatoire"});return}if(!l.loadingOrderDate){r({variant:"destructive",title:"Erreur",description:"La date du bon de chargement est obligatoire"});return}if(!l.mainDriverId){r({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un chauffeur principal"});return}try{const V=l.plannedStartAt?new Date(l.plannedStartAt):new Date;let ue;C?.standardDurationDays&&(ue=new Date(V),ue.setDate(ue.getDate()+C.standardDurationDays));const de=V.toISOString(),xe=ue?.toISOString(),_e={vehicleId:l.vehicleId,trailerId:l.trailerId||void 0,mainDriverId:l.mainDriverId,additionalCrewIds:l.additionalCrewIds.length>0?l.additionalCrewIds:void 0,title:l.title.trim(),description:l.description.trim()||void 0,clientName:l.clientName.trim(),clientReference:l.clientReference.trim()||void 0,loadingSite:l.loadingLocationId&&j.find(Ce=>Ce.id===l.loadingLocationId)?.name||l.loadingSite.trim(),unloadingSite:l.unloadingLocationId&&j.find(Ce=>Ce.id===l.unloadingLocationId)?.name||l.unloadingSite.trim(),loadingType:l.loadingType.trim(),loadingOrderNumber:l.loadingOrderNumber.trim(),loadingOrderDate:new Date(l.loadingOrderDate),expectedTours:l.expectedTours||1,voyageTypeId:l.voyageTypeId||void 0,loadingLocationId:l.loadingLocationId||void 0,unloadingLocationId:l.unloadingLocationId||void 0,loadingBonImageUrl:l.loadingBonImageUrl||void 0,plannedStartAt:de,plannedEndAt:xe,status:l.status};if(!n){r({variant:"destructive",title:"Erreur",description:"ID du voyage manquant"});return}await i.mutateAsync({id:n,data:_e}),t(`/voyages/${n}`)}catch(V){console.error("Error creating mission:",V)}}},q=u||p||y||_||w||E||o,ee=i.isPending;return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t("/voyages"),className:"flex-shrink-0",children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-semibold",children:"Modifier le voyage"}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Modifiez les informations du voyage ",s?.code||""]})]})]}),q?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs("form",{onSubmit:J,className:"space-y-8",children:[a.jsxs(it,{className:"p-6",children:[a.jsx(Se,{className:"text-lg font-semibold mb-4 block",children:"Type de voyage"}),a.jsx(xne,{voyageTypes:v,selectedId:l.voyageTypeId,onSelect:ne=>{c(V=>({...V,voyageTypeId:ne?.id||null}))},isLoading:w})]}),a.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsxs(Se,{className:"text-base font-semibold",children:["Véhicule ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3 max-h-96 overflow-y-auto p-2 border rounded-lg",children:O.map(ne=>{const V=l.vehicleId===ne.id;return a.jsxs("button",{type:"button",onClick:()=>L(ne.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${V?"border-[#8B5CF6] bg-[#8B5CF6]/5 shadow-[0_0_8px_rgba(139,92,246,0.3)]":"border-border hover:border-primary/50 hover:bg-accent"}`,children:[V&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-5 w-5 text-[#8B5CF6]"})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-[#8B5CF6]/20 text-[#8B5CF6] border-[#8B5CF6]/30",children:"✔️ Sélectionné"})})]}),a.jsxs("div",{className:"space-y-2",children:[ne.photoUrl?a.jsx("div",{className:"relative w-full aspect-video rounded overflow-hidden bg-muted",children:a.jsx("img",{src:Sr(ne.photoUrl)||void 0,alt:ne.immatriculation,className:"w-full h-full object-cover",onError:ue=>{ue.target.style.display="none"}})}):a.jsx("div",{className:"w-full aspect-video rounded bg-muted flex items-center justify-center",children:a.jsx("span",{className:"text-3xl",children:"🚚"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono font-semibold text-sm",children:ne.immatriculation}),(ne.marque||ne.modele)&&a.jsxs("p",{className:"text-xs text-muted-foreground",children:[ne.marque," ",ne.modele]})]})]})]},ne.id)})})]}),R&&a.jsxs("div",{className:"space-y-3",children:[a.jsx(Se,{className:"text-base font-semibold",children:"Remorque"}),a.jsx(__,{vehicle:R,trailer:M,isFromCoupling:!!S?.trailer&&!l.trailerId}),!S?.trailer&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{className:"text-sm text-muted-foreground",children:"Sélectionner une remorque (optionnel)"}),a.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3 max-h-48 overflow-y-auto p-2 border rounded-lg",children:[a.jsx("button",{type:"button",onClick:()=>X(null),className:`p-3 rounded-lg border-2 transition-all text-center ${l.trailerId?"border-border hover:border-primary/50":"border-primary bg-primary/5"}`,children:a.jsx("p",{className:"text-sm font-medium",children:"Sans remorque"})}),h.map(ne=>{const V=l.trailerId===ne.id;return a.jsxs("button",{type:"button",onClick:()=>X(ne.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${V?"border-primary bg-primary/5":"border-border hover:border-primary/50"}`,children:[V&&a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-4 w-4 text-primary"})}),a.jsxs("div",{className:"space-y-2",children:[ne.photoUrl?a.jsx("div",{className:"relative w-full aspect-video rounded overflow-hidden bg-muted",children:a.jsx("img",{src:Sr(ne.photoUrl)||void 0,alt:ne.numeroChassis,className:"w-full h-full object-cover"})}):a.jsx("div",{className:"w-full aspect-video rounded bg-muted flex items-center justify-center",children:a.jsx(il,{className:"h-6 w-6 text-muted-foreground"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono font-semibold text-xs",children:ne.numeroChassis}),a.jsx("p",{className:"text-xs text-muted-foreground",children:ne.type})]})]})]},ne.id)})]})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs(Se,{className:"text-base font-semibold",children:["Chauffeur principal ",a.jsx("span",{className:"text-destructive",children:"*"})]}),$.length===0?a.jsx(it,{className:"p-4 border-dashed",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"Aucun chauffeur disponible"})}):a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-64 overflow-y-auto p-2 border rounded-lg",children:$.map(ne=>{const V=l.mainDriverId===ne.id;return a.jsxs("button",{type:"button",onClick:()=>W(ne.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${V?"border-green-500 bg-green-500/5 shadow-[0_0_8px_rgba(34,197,94,0.3)]":"border-border hover:border-primary/50 hover:bg-accent"}`,children:[V&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-5 w-5 text-green-500"})}),a.jsx("div",{className:"absolute top-2 left-2 z-10",children:a.jsx(yt,{variant:"secondary",className:"text-xs bg-green-500/20 text-green-700 border-green-500/30",children:"✔️ Sélectionné"})})]}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-12 h-12 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:ne.photoUrl?a.jsx("img",{src:Sr(ne.photoUrl)||void 0,alt:`${ne.prenom} ${ne.nom}`,className:"w-full h-full object-cover",onError:ue=>{ue.target.style.display="none"}}):a.jsxs("div",{className:"w-full h-full bg-muted flex items-center justify-center text-xs font-semibold",children:[ne.prenom.charAt(0),ne.nom.charAt(0)]})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[ne.prenom," ",ne.nom]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:iO[ne.role]||ne.role})]})]})]},ne.id)})})]}),P.length>0&&a.jsxs("div",{className:"space-y-3",children:[a.jsx(Se,{className:"text-base font-semibold",children:"Autres membres d'équipage (optionnel)"}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-64 overflow-y-auto p-2 border rounded-lg",children:P.map(ne=>{const V=l.additionalCrewIds.includes(ne.id);return a.jsxs("button",{type:"button",onClick:()=>G(ne.id),className:`relative p-3 rounded-lg border-2 transition-all text-left ${V?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-accent"}`,children:[V&&a.jsx("div",{className:"absolute top-2 right-2 z-10",children:a.jsx(na,{className:"h-4 w-4 text-primary"})}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-10 h-10 rounded-full overflow-hidden border-2 border-border flex-shrink-0",children:ne.photoUrl?a.jsx("img",{src:Sr(ne.photoUrl)||void 0,alt:`${ne.prenom} ${ne.nom}`,className:"w-full h-full object-cover",onError:ue=>{ue.target.style.display="none"}}):a.jsxs("div",{className:"w-full h-full bg-muted flex items-center justify-center text-xs font-semibold",children:[ne.prenom.charAt(0),ne.nom.charAt(0)]})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("p",{className:"font-semibold text-sm truncate",children:[ne.prenom," ",ne.nom]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:iO[ne.role]||ne.role})]})]})]},ne.id)})})]})]}),a.jsx("div",{className:"space-y-6",children:a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"title",className:"text-base font-semibold",children:["Titre du voyage ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"title",value:l.title,onChange:ne=>c(V=>({...V,title:ne.target.value})),placeholder:"Ex: Ouaga – Lomé – Clinker",className:"mt-1",required:!0})]}),a.jsxs("div",{children:[a.jsx(Se,{htmlFor:"description",className:"text-base font-semibold",children:"Description (optionnel)"}),a.jsx("textarea",{id:"description",value:l.description,onChange:ne=>c(V=>({...V,description:ne.target.value})),placeholder:"Détails supplémentaires sur la mission...",className:"mt-1 w-full min-h-[100px] px-3 py-2 rounded-md border border-input bg-background text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"clientName",className:"text-base font-semibold",children:["Client ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"clientName",value:l.clientName,onChange:ne=>c(V=>({...V,clientName:ne.target.value})),placeholder:"Nom du client",className:"mt-1",required:!0})]}),a.jsxs("div",{children:[a.jsx(Se,{htmlFor:"clientReference",className:"text-base font-semibold",children:"Référence client (optionnel)"}),a.jsx(Xe,{id:"clientReference",value:l.clientReference,onChange:ne=>c(V=>({...V,clientReference:ne.target.value})),placeholder:"Ref. client",className:"mt-1"})]})]}),a.jsx("div",{children:a.jsx(i4,{locations:j,selectedId:l.loadingLocationId,onSelect:ne=>{c(V=>({...V,loadingLocationId:ne?.id||null,loadingSite:ne?.name||""}))},isLoading:E,label:"Lieu de chargement",placeholder:"Rechercher un lieu de chargement..."})}),a.jsx("div",{children:a.jsx(i4,{locations:j,selectedId:l.unloadingLocationId,onSelect:ne=>{c(V=>({...V,unloadingLocationId:ne?.id||null,unloadingSite:ne?.name||""}))},isLoading:E,label:"Lieu de déchargement",placeholder:"Rechercher un lieu de déchargement..."})}),a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"loadingType",className:"text-base font-semibold",children:["Type de chargement ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"loadingType",value:l.loadingType,onChange:ne=>c(V=>({...V,loadingType:ne.target.value})),placeholder:"Ex: Clinker, Ciment ensaché",className:"mt-1",required:!0})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"loadingOrderNumber",className:"text-base font-semibold",children:["N° bon de chargement ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"loadingOrderNumber",value:l.loadingOrderNumber,onChange:ne=>c(V=>({...V,loadingOrderNumber:ne.target.value})),placeholder:"N° bon",className:"mt-1",required:!0})]}),a.jsxs("div",{children:[a.jsxs(Se,{htmlFor:"loadingOrderDate",className:"text-base font-semibold",children:["Date bon de chargement ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"loadingOrderDate",type:"date",value:l.loadingOrderDate,onChange:ne=>c(V=>({...V,loadingOrderDate:ne.target.value})),className:"mt-1",required:!0})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"plannedStartAt",className:"text-base font-semibold",children:"Date de départ prévue"}),a.jsx(Xe,{id:"plannedStartAt",type:"datetime-local",value:l.plannedStartAt,onChange:ne=>c(V=>({...V,plannedStartAt:ne.target.value})),className:"mt-1"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:l.plannedStartAt?"Date de départ définie par l'utilisateur":"Si non définie, la date de création du voyage sera utilisée"}),C?.standardDurationDays&&a.jsxs("div",{className:"mt-2 p-3 bg-muted/50 rounded-lg",children:[a.jsxs("p",{className:"text-sm font-medium text-muted-foreground",children:["Durée standard du type de voyage : ",C.standardDurationDays," jour",C.standardDurationDays>1?"s":""]}),l.plannedStartAt&&a.jsxs("p",{className:"text-sm text-muted-foreground mt-1",children:["Date de retour prévue : ",new Date(new Date(l.plannedStartAt).getTime()+C.standardDurationDays*24*60*60*1e3).toLocaleString("fr-FR",{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"})]})]})]}),a.jsx("div",{children:a.jsx(yne,{imageUrl:l.loadingBonImageUrl,onImageChange:ne=>c(V=>({...V,loadingBonImageUrl:ne})),isLoading:ee})}),a.jsx("div",{children:a.jsx(vne,{value:l.expectedTours,onChange:ne=>c(V=>({...V,expectedTours:ne}))})})]})})]}),a.jsxs("div",{className:"flex items-center justify-end gap-4 pt-4 border-t",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>t(n?`/voyages/${n}`:"/voyages"),disabled:ee,children:"Annuler"}),a.jsx(ge,{type:"submit",disabled:ee,className:"bg-[#8B5CF6] hover:bg-[#7C3AED]",children:ee?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Mise à jour en cours..."]}):"Enregistrer les modifications"})]})]})]})}function oHe(e,t){return cr({queryKey:["/api/voyages",e,"incidents",t],queryFn:()=>T$(e),enabled:!!e})}function lHe(e,t){return cr({queryKey:["/api/voyages",e,"incidents",t],queryFn:()=>R$(e,t),enabled:!!e&&!!t})}function cHe(){const{toast:e}=Er();return _r({mutationFn:({voyageId:t,incidentId:r,data:n})=>Q$(t,r,n),onSuccess:(t,r)=>{jt.invalidateQueries({queryKey:["/api/voyages",r.voyageId,"incidents"]}),jt.invalidateQueries({queryKey:["/api/voyages",r.voyageId,"incidents",r.incidentId]}),jt.invalidateQueries({queryKey:["/api/incidents"]}),jt.invalidateQueries({queryKey:["/api/voyages",r.voyageId,"events"]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"L'incident a été mis à jour avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de mettre à jour l'incident"})}})}function uHe(){const{toast:e}=Er();return _r({mutationFn:({voyageId:t,incidentId:r,data:n})=>xg(t,r,n),onSuccess:(t,r)=>{jt.invalidateQueries({queryKey:["/api/voyages",r.voyageId,"incidents",r.incidentId]}),jt.invalidateQueries({queryKey:["/api/voyages",r.voyageId,"events"]}),jt.invalidateQueries({queryKey:["/api/incidents"]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"Le message a été envoyé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible d'envoyer le message"})}})}function dHe(e){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.substring(0,2).toUpperCase()}function fHe({event:e,onViewIncident:t,onEditIncident:r,onReplyToIncident:n}){const i=D$();I.useEffect(()=>{if(e.senderRole==="chauffeur"&&!e.isRead&&e.id&&e.voyageId){const h=setTimeout(()=>{i.mutate({voyageId:e.voyageId,eventId:e.id})},500);return()=>clearTimeout(h)}},[e.id,e.voyageId,e.senderRole,e.isRead]);const s=()=>{if(e.type==="media")switch(e.mediaKind){case"photo":return"Photo";case"video":return"Vidéo";case"audio":return"Audio";default:return"Média"}return e.type==="message"?"Message":e.type==="incident"?"Incident":"Note"},o=e.senderRole==="chauffeur",l=e.senderRole==="backoffice",c=e.creator?.name||"Utilisateur",d=dHe(c),u=e.creator?.avatar||null;return a.jsx(it,{className:"hover:shadow-md transition-shadow",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsxs(Dm,{className:"h-10 w-10 flex-shrink-0 border-2 border-border",children:[u?a.jsx(Tm,{src:Sr(u),alt:c,onError:h=>{const p=h.target;p.style.display="none"}}):null,a.jsx(Rm,{className:`${o?"bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300":l?"bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300":"bg-muted"}`,children:d})]}),a.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx(yt,{variant:"outline",className:"text-xs",children:s()}),e.etape&&a.jsxs(yt,{variant:"secondary",className:"text-xs",children:[a.jsx(ei,{className:"h-3 w-3 mr-1"}),e.etape.label]}),(e.incidentId||e.incident)&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs(yt,{variant:"outline",className:"text-xs cursor-pointer hover:bg-primary/10 border-primary/30 bg-primary/5",onClick:()=>t?.(e.incidentId||e.incident.id),children:[a.jsx(Kn,{className:"h-3 w-3 mr-1"}),"Incident #",e.incidentId||e.incident.id]}),r&&(e.incidentId||e.incident)&&a.jsx(ge,{variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",onClick:()=>r(e.incidentId||e.incident.id),title:"Modifier l'incident",children:a.jsx($m,{className:"h-3 w-3"})}),n&&(e.incidentId||e.incident)&&a.jsx(ge,{variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",onClick:()=>n(e.incidentId||e.incident.id),title:"Répondre à ce message",children:a.jsx(xm,{className:"h-3 w-3"})})]})]}),a.jsx("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:Wr(new Date(e.occurredAt),"HH:mm",{locale:Hr})})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:c}),e.senderRole&&a.jsx(yt,{variant:o?"default":"secondary",className:"text-xs",children:o?"Chauffeur":"Backoffice"}),!e.isRead&&e.senderRole==="chauffeur"&&a.jsx(yt,{variant:"outline",className:"text-xs bg-blue-100 dark:bg-blue-900",children:"Non lu"})]}),e.description&&a.jsx("p",{className:"text-sm text-foreground whitespace-pre-wrap",children:e.description}),e.media&&a.jsxs("div",{className:"mt-3",children:[e.mediaKind==="photo"&&e.media.url&&a.jsx("div",{className:"relative group",children:a.jsx("img",{src:e.media.url,alt:e.description||"Photo",className:"max-w-full h-auto rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>window.open(e.media.url,"_blank")})}),e.mediaKind==="video"&&e.media.url&&a.jsx("div",{className:"relative",children:a.jsx("video",{src:e.media.url,controls:!0,className:"max-w-full h-auto rounded-lg border",children:"Votre navigateur ne supporte pas la lecture de vidéos."})}),e.mediaKind==="audio"&&e.media.url&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("audio",{controls:!0,className:"max-w-full",children:[a.jsx("source",{src:e.media.url,type:e.media.mime||"audio/mpeg"}),"Votre navigateur ne supporte pas la lecture audio."]}),e.media.durationSec&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:[Math.floor(e.media.durationSec/60),":",(e.media.durationSec%60).toString().padStart(2,"0")]})]})]}),n&&(e.incidentId||e.incident)&&a.jsx("div",{className:"flex justify-end mt-2 pt-2 border-t",children:a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>n(e.incidentId||e.incident.id),className:"h-8 w-8 rounded-full bg-blue-500 hover:bg-blue-600 text-white p-0","aria-label":"Répondre",title:"Répondre à ce message",children:a.jsx(g4,{className:"h-5 w-5",fill:"currentColor"})})})]})]})})})}new Date().toISOString(),new Date().toISOString(),new Date().toISOString(),new Date().toISOString();async function T_(e){const t=new URLSearchParams;return e?.search&&t.append("search",e.search),e?.role&&t.append("role",e.role),e?.is_active!==void 0&&t.append("is_active",String(e.is_active)),e?.page&&t.append("page",String(e.page)),e?.per_page&&t.append("per_page",String(e.per_page)),await $t(`/api/users?${t.toString()}`)}async function hHe(e){return await $t(`/api/users/${e}`)}async function mHe(e){return await $t("/api/users",{method:"POST",body:e})}async function pHe(e,t,r,n){return await $t("/api/users/from-crew-member",{method:"POST",body:{crew_member_id:e,email:t,password:r,role:n}})}async function gHe(e,t){return await $t(`/api/users/${e}`,{method:"PATCH",body:t})}async function AHe(e){await $t(`/api/users/${e}`,{method:"DELETE"})}async function xHe(e,t){const r=new FormData;return r.append("avatar",t),await $t(`/api/users/${e}/avatar`,{method:"POST",body:r})}async function vHe(e,t){const r=new FormData;return t.id_type&&r.append("id_type",t.id_type),t.id_number&&r.append("id_number",t.id_number),t.id_front&&r.append("id_front",t.id_front),t.id_back&&r.append("id_back",t.id_back),t.selfie&&r.append("selfie",t.selfie),await $t(`/api/users/${e}/documents`,{method:"POST",body:r})}async function yHe(e,t){return await $t(`/api/users/${e}/password`,{method:"PATCH",body:{password:t}})}async function bHe(e,t){return await $t(`/api/users/${e}/status`,{method:"PATCH",body:{is_active:t}})}async function wHe(){return(await $t("/api/crew-members")).filter(t=>!t.userId)}function EHe({voyageId:e,incidentId:t,open:r,onOpenChange:n}){const[i,s]=I.useState("ouvert"),[o,l]=I.useState("normale"),[c,d]=I.useState(null),{data:u,isLoading:h}=lHe(e,t),{data:p,isLoading:A}=cr({queryKey:["/api/users"],queryFn:()=>T_({per_page:100,is_active:!0}),enabled:r}),v=(p?.data||[]).filter(S=>S.role!=="chauffeur"&&S.role!=="apprenti");I.useEffect(()=>{u&&(s(u.status),l(u.priority),d(u.assignedTo||null))},[u]);const w=cHe(),j=async S=>{S.preventDefault(),t&&w.mutate({voyageId:e,incidentId:t,data:{status:i,priority:o,assignedTo:c}},{onSuccess:()=>{n(!1)}})},E=h||A;return a.jsx(En,{open:r,onOpenChange:n,children:a.jsxs(yn,{className:"sm:max-w-[500px]",children:[a.jsx(Cn,{children:a.jsx(In,{children:"Modifier l'incident"})}),E?a.jsx("div",{className:"flex justify-center items-center py-8",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):u?a.jsxs("form",{onSubmit:j,className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2 p-3 bg-muted rounded-lg",children:[a.jsxs("div",{className:"text-sm",children:[a.jsx("span",{className:"font-medium",children:"Type :"})," ",a.jsx("span",{className:"capitalize",children:u.type})]}),u.etape&&a.jsxs("div",{className:"text-sm",children:[a.jsx("span",{className:"font-medium",children:"Étape :"})," ",u.etape.label]}),u.creator&&a.jsxs("div",{className:"text-sm",children:[a.jsx("span",{className:"font-medium",children:"Créé par :"})," ",u.creator.name]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"status",children:"Statut"}),a.jsxs(rn,{value:i,onValueChange:S=>s(S),children:[a.jsx(Xr,{id:"status",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"ouvert",children:"Ouvert"}),a.jsx(Qt,{value:"en_cours",children:"En cours"}),a.jsx(Qt,{value:"resolu",children:"Résolu"}),a.jsx(Qt,{value:"ferme",children:"Fermé"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"priority",children:"Priorité"}),a.jsxs(rn,{value:o,onValueChange:S=>l(S),children:[a.jsx(Xr,{id:"priority",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"basse",children:"Basse"}),a.jsx(Qt,{value:"normale",children:"Normale"}),a.jsx(Qt,{value:"haute",children:"Haute"}),a.jsx(Qt,{value:"urgente",children:"Urgente"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"assignedTo",children:"Assigner à"}),a.jsxs(rn,{value:c?c.toString():"none",onValueChange:S=>d(S==="none"?null:parseInt(S)),children:[a.jsx(Xr,{id:"assignedTo",children:a.jsx(nn,{placeholder:"Non assigné"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"none",children:"Non assigné"}),v.map(S=>a.jsxs(Qt,{value:parseInt(S.id).toString(),children:[S.name," (",S.role,")"]},S.id))]})]})]}),u.status==="resolu"&&u.resolver&&a.jsxs("div",{className:"space-y-2 p-3 bg-green-50 dark:bg-green-950/20 rounded-lg",children:[a.jsxs("div",{className:"text-sm",children:[a.jsx("span",{className:"font-medium",children:"Résolu par :"})," ",u.resolver.name]}),u.resolvedAt&&a.jsxs("div",{className:"text-sm",children:[a.jsx("span",{className:"font-medium",children:"Le :"})," ",new Date(u.resolvedAt).toLocaleDateString("fr-FR",{day:"numeric",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit"})]})]}),a.jsxs(Na,{children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>n(!1),children:"Annuler"}),a.jsx(ge,{type:"submit",disabled:w.isPending,children:w.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Enregistrement..."]}):"Enregistrer"})]})]}):a.jsx("div",{className:"py-8 text-center text-muted-foreground",children:"Incident non trouvé"})]})})}function CHe({voyageId:e,incidentId:t,open:r,onOpenChange:n,replyingToEvent:i}){const{toast:s}=Er(),[o,l]=I.useState(null),[c,d]=I.useState(""),[u,h]=I.useState(null),[p,A]=I.useState(null),[y,v]=I.useState(null),[w,j]=I.useState(!1),[E,S]=I.useState(null),[_,C]=I.useState(0),[Q,R]=I.useState(null),[T,M]=I.useState(null),[O,$]=I.useState(!1),[P,L]=I.useState(null),[X,W]=I.useState(null),G=I.useRef(null),J=I.useRef(null),q=I.useRef(null),ee=uHe();I.useEffect(()=>{r||(l(null),d(""),h(null),A(null),v(null),j(!1),E&&(E.stop(),S(null)),Q&&(clearInterval(Q),R(null)),C(0),$(!1),P&&(P.stop(),L(null)),X&&(X.getTracks().forEach(ve=>ve.stop()),W(null)),T&&(URL.revokeObjectURL(T),M(null)))},[r]),I.useEffect(()=>{X&&G.current&&(G.current.srcObject=X)},[X]);const ne=async()=>{try{const ve=await navigator.mediaDevices.getUserMedia({audio:!0}),Ne=new MediaRecorder(ve),Ie=[];Ne.ondataavailable=Re=>{Re.data.size>0&&Ie.push(Re.data)},Ne.onstop=()=>{const Re=new Blob(Ie,{type:"audio/webm"});v(Re),ve.getTracks().forEach(Pe=>Pe.stop())},Ne.start(),S(Ne),j(!0),l("audio"),C(0);const be=setInterval(()=>{C(Re=>Re+1)},1e3);R(be)}catch{s({variant:"destructive",title:"Erreur",description:"Impossible d'accéder au microphone"})}},V=()=>{E&&(E.stop(),S(null),j(!1)),Q&&(clearInterval(Q),R(null))},ue=async()=>{try{const ve=await navigator.mediaDevices.getUserMedia({video:!0,audio:!0});W(ve),setTimeout(()=>{G.current&&(G.current.srcObject=ve,G.current.play());const Ne=new MediaRecorder(ve),Ie=[];Ne.ondataavailable=be=>{be.data.size>0&&Ie.push(be.data)},Ne.onstop=()=>{const be=new Blob(Ie,{type:"video/webm"});A(be),ve.getTracks().forEach(Re=>Re.stop()),W(null),G.current&&(G.current.srcObject=null)},Ne.start(),L(Ne),$(!0),l("video")},100)}catch{s({variant:"destructive",title:"Erreur",description:"Impossible d'accéder à la caméra"})}},de=()=>{P&&(P.stop(),L(null),$(!1))},xe=ve=>{const Ne=ve.target.files?.[0];Ne&&(h(Ne),l("photo"))},_e=ve=>{const Ne=ve.target.files?.[0];Ne&&(A(Ne),l("video"))},Ce=async()=>{if(!o){s({variant:"destructive",title:"Erreur",description:"Veuillez ajouter un message (texte, audio, photo ou vidéo)"});return}try{if(o==="text"&&c.trim())await ee.mutateAsync({voyageId:e,incidentId:t,data:{type:"message",description:c,senderRole:"backoffice"}});else if(o==="audio"&&y){const ve=new File([y],"recording.webm",{type:"audio/webm"});await ee.mutateAsync({voyageId:e,incidentId:t,data:{type:"media",mediaKind:"audio",file:ve,senderRole:"backoffice"}})}else if(o==="photo"&&u)await ee.mutateAsync({voyageId:e,incidentId:t,data:{type:"media",mediaKind:"photo",file:u,senderRole:"backoffice"}});else if(o==="video"&&p){const ve=p instanceof File?p:new File([p],"recording.webm",{type:"video/webm"});await ee.mutateAsync({voyageId:e,incidentId:t,data:{type:"media",mediaKind:"video",file:ve,senderRole:"backoffice"}})}n(!1)}catch{}},we=ve=>{const Ne=Math.floor(ve/60),Ie=ve%60;return`${Ne}:${Ie.toString().padStart(2,"0")}`};return a.jsx(En,{open:r,onOpenChange:n,children:a.jsxs(yn,{className:"sm:max-w-[600px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsxs(In,{children:["Répondre à l'incident #",t]}),a.jsx(Mn,{children:i?"Répondre à un message spécifique de cet incident":"Ajoutez un message, une photo, un audio ou une vidéo à cet incident"})]}),i&&a.jsxs("div",{className:"p-3 bg-muted/50 rounded-lg border space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[a.jsx("span",{children:i.creator?.name||"Utilisateur"}),a.jsx("span",{children:Wr(new Date(i.occurredAt),"dd/MM/yyyy HH:mm",{locale:Hr})})]}),i.description&&a.jsx("p",{className:"text-sm whitespace-pre-wrap",children:i.description}),i.media&&i.mediaKind==="photo"&&i.media.url&&a.jsx("img",{src:i.media.url,alt:"Photo",className:"max-w-full h-auto rounded-lg border max-h-32 object-cover"}),i.media&&i.mediaKind==="audio"&&i.media.url&&a.jsx("audio",{controls:!0,className:"max-w-full",src:i.media.url}),i.media&&i.mediaKind==="video"&&i.media.url&&a.jsx("video",{controls:!0,className:"max-w-full rounded-lg border max-h-32",src:i.media.url})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Type de message"}),a.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[a.jsxs(ge,{type:"button",variant:o==="text"?"default":"outline",onClick:()=>{l("text"),h(null),A(null),v(null),w&&V(),O&&de()},className:"flex items-center gap-2",children:[a.jsx(po,{className:"h-4 w-4"}),"Texte"]}),a.jsxs(ge,{type:"button",variant:o==="audio"?"default":"outline",onClick:()=>{w?V():ne()},className:"flex items-center gap-2",children:[a.jsx(F0,{className:"h-4 w-4"}),w?`Arrêter (${we(_)})`:"Audio"]}),a.jsxs(ge,{type:"button",variant:o==="photo"?"default":"outline",onClick:()=>{J.current?.click(),l("photo")},className:"flex items-center gap-2",children:[a.jsx(mo,{className:"h-4 w-4"}),"Photo"]}),a.jsxs(ge,{type:"button",variant:o==="video"?"default":"outline",onClick:()=>{O?de():ue()},className:"flex items-center gap-2",children:[a.jsx(Xu,{className:"h-4 w-4"}),O?"Arrêter":"Vidéo"]})]})]}),o==="text"&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"messageText",children:"Message"}),a.jsx(K0,{id:"messageText",placeholder:"Tapez votre message...",value:c,onChange:ve=>d(ve.target.value),rows:4})]}),o==="audio"&&y&&!w&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Enregistrement audio"}),a.jsxs("div",{className:"flex items-center gap-2 p-3 border rounded-lg",children:[a.jsx("audio",{controls:!0,src:URL.createObjectURL(y),className:"flex-1"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",onClick:()=>{v(null),l(null)},children:a.jsx(Nn,{className:"h-4 w-4"})})]})]}),o==="photo"&&u&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo sélectionnée"}),a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:URL.createObjectURL(u),alt:"Aperçu",className:"max-w-full h-auto rounded-lg border"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{h(null),l(null),J.current&&(J.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]})]}),o==="video"&&a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{children:["Vidéo ",O?"(enregistrement en cours...)":"sélectionnée"]}),O?a.jsxs("div",{className:"relative border rounded-lg overflow-hidden bg-black",children:[a.jsx("video",{ref:G,autoPlay:!0,muted:!0,playsInline:!0,className:"w-full max-h-[300px]"}),a.jsx("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2",children:a.jsx(ge,{type:"button",variant:"destructive",size:"lg",onClick:de,className:"rounded-full",children:a.jsx(f4,{className:"h-6 w-6"})})})]}):p?a.jsxs("div",{className:"relative",children:[a.jsx("video",{src:URL.createObjectURL(p),controls:!0,className:"max-w-full h-auto rounded-lg border"}),a.jsx(ge,{type:"button",variant:"ghost",size:"sm",className:"absolute top-2 right-2",onClick:()=>{A(null),l(null),q.current&&(q.current.value="")},children:a.jsx(Nn,{className:"h-4 w-4"})})]}):null]}),a.jsx("input",{ref:J,type:"file",accept:"image/*",onChange:xe,className:"hidden"}),a.jsx("input",{ref:q,type:"file",accept:"video/*",onChange:_e,className:"hidden"})]}),a.jsxs(Na,{children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>n(!1),children:"Annuler"}),a.jsx(ge,{type:"button",onClick:Ce,disabled:ee.isPending||!o||w||O,children:ee.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Envoi..."]}):"Envoyer"})]})]})})}function IHe(e){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.substring(0,2).toUpperCase()}function jHe({incidentId:e,events:t,onEditIncident:r,onReplyToIncident:n}){const i=D$(),s=I.useMemo(()=>[...t].sort((c,d)=>new Date(c.occurredAt).getTime()-new Date(d.occurredAt).getTime()),[t]);if(I.useEffect(()=>{const c=s.filter(d=>d.senderRole==="chauffeur"&&!d.isRead&&d.id&&d.voyageId);if(c.length>0){const d=setTimeout(()=>{c.forEach(u=>{i.mutate({voyageId:u.voyageId,eventId:u.id})})},500);return()=>clearTimeout(d)}},[s,i]),s.length===0)return null;const l=s[0].incident;return a.jsxs("div",{className:"space-y-4 mb-6",children:[a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-muted/50 rounded-lg border",children:[a.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[a.jsx(Kn,{className:"h-5 w-5 text-destructive"}),a.jsxs("div",{children:[a.jsxs("div",{className:"font-semibold text-sm",children:["Incident #",e,l&&a.jsxs("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:[l.type," • ",l.status]})]}),a.jsxs("div",{className:"text-xs text-muted-foreground",children:[s.length," message",s.length>1?"s":""]})]})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[r&&a.jsx(ge,{variant:"ghost",size:"sm",className:"h-8 px-2",onClick:()=>r(e),title:"Modifier l'incident",children:a.jsx($m,{className:"h-4 w-4"})}),n&&a.jsx(ge,{variant:"ghost",size:"sm",className:"h-8 px-2",onClick:()=>n(e),title:"Répondre à l'incident",children:a.jsx(xm,{className:"h-4 w-4"})})]})]}),a.jsx("div",{className:"space-y-2 pl-4 border-l-2 border-primary/20",children:s.map((c,d)=>{const u=c.senderRole==="chauffeur",h=c.senderRole==="backoffice",p=c.creator?.name||"Utilisateur",A=IHe(p),y=c.creator?.avatar||null,v=d>0?s[d-1]:null,w=v?.senderRole===c.senderRole&&v?.creator?.id===c.creator?.id,j=v&&xN(new Date(v.occurredAt),new Date(c.occurredAt));return a.jsxs("div",{className:"space-y-1",children:[!j&&a.jsxs("div",{className:"flex items-center gap-2 my-3",children:[a.jsx("div",{className:"h-px flex-1 bg-border"}),a.jsx(yt,{variant:"outline",className:"text-xs",children:Wr(new Date(c.occurredAt),"EEEE d MMMM yyyy",{locale:Hr})}),a.jsx("div",{className:"h-px flex-1 bg-border"})]}),a.jsxs("div",{className:`flex items-start gap-2 ${u?"justify-start":"justify-end"}`,children:[!w&&a.jsxs(Dm,{className:"h-8 w-8 flex-shrink-0 border-2 border-border",children:[y?a.jsx(Tm,{src:Sr(y),alt:p,onError:E=>{const S=E.target;S.style.display="none"}}):null,a.jsx(Rm,{className:`text-xs ${u?"bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300":h?"bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300":"bg-muted"}`,children:A})]}),w&&a.jsx("div",{className:"w-8"})," ",a.jsxs("div",{className:`flex flex-col gap-1 max-w-[70%] ${u?"items-start":"items-end"}`,children:[!w&&a.jsxs("div",{className:`flex items-center gap-2 flex-wrap text-xs ${u?"text-blue-600 dark:text-blue-400":"text-green-600 dark:text-green-400"}`,children:[a.jsx("span",{className:"font-medium",children:p}),(c.incidentId||c.incident)&&a.jsxs(yt,{variant:"outline",className:"text-xs bg-red-500/10 text-red-600 border-red-500/20",children:[a.jsx(J3,{className:"h-3 w-3 mr-1"}),"Incident #",c.incidentId||c.incident.id]}),a.jsx("span",{className:"text-muted-foreground",children:Wr(new Date(c.occurredAt),"HH:mm",{locale:Hr})})]}),a.jsxs("div",{className:`rounded-2xl px-4 py-2 ${u?"bg-blue-100 dark:bg-blue-900/30 text-blue-900 dark:text-blue-100 rounded-tl-sm":"bg-green-100 dark:bg-green-900/30 text-green-900 dark:text-green-100 rounded-tr-sm"}`,children:[c.description&&a.jsx("p",{className:"text-sm whitespace-pre-wrap break-words",children:c.description}),c.media&&a.jsxs("div",{className:"mt-2",children:[c.mediaKind==="photo"&&c.media.url&&a.jsx("img",{src:c.media.url,alt:c.description||"Photo",className:"max-w-full h-auto rounded-lg cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>window.open(c.media.url,"_blank")}),c.mediaKind==="video"&&c.media.url&&a.jsx("video",{src:c.media.url,controls:!0,className:"max-w-full h-auto rounded-lg",children:"Votre navigateur ne supporte pas la lecture de vidéos."}),c.mediaKind==="audio"&&c.media.url&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("audio",{controls:!0,className:"max-w-full",children:[a.jsx("source",{src:c.media.url,type:c.media.mime||"audio/mpeg"}),"Votre navigateur ne supporte pas la lecture audio."]}),c.media.durationSec&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:[Math.floor(c.media.durationSec/60),":",(c.media.durationSec%60).toString().padStart(2,"0")]})]})]}),!c.isRead&&c.senderRole==="chauffeur"&&a.jsx("div",{className:"mt-1",children:a.jsx(yt,{variant:"outline",className:"text-xs bg-blue-200 dark:bg-blue-800",children:"Non lu"})})]}),w&&a.jsxs("div",{className:"flex items-center gap-2 px-1",children:[(c.incidentId||c.incident)&&a.jsxs(yt,{variant:"outline",className:"text-xs bg-red-500/10 text-red-600 border-red-500/20",children:[a.jsx(J3,{className:"h-3 w-3 mr-1"}),"Incident #",c.incidentId||c.incident.id]}),a.jsx("span",{className:"text-xs text-muted-foreground",children:Wr(new Date(c.occurredAt),"HH:mm",{locale:Hr})})]}),n&&c.senderRole==="chauffeur"&&a.jsx("div",{className:`mt-1 ${u?"flex justify-start":"flex justify-end"}`,children:a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>n(e),className:"h-8 w-8 rounded-full bg-blue-500 hover:bg-blue-600 text-white p-0","aria-label":"Répondre",title:"Répondre à ce message",children:a.jsx(g4,{className:"h-5 w-5",fill:"currentColor"})})})]})]})]},c.id)})})]})}function NHe({voyageId:e,incidentId:t,onViewIncident:r,onCreateIncident:n}){const[i,s]=I.useState({}),[o,l]=I.useState(!!t),[c,d]=I.useState(null),[u,h]=I.useState(null),p=I.useRef(null),A=t?{...i,incidentId:t}:i,{data:y,isLoading:v}=LS(e,A),{data:w,isLoading:j}=oHe(e),E=t||A.incidentId?y:o?y?.filter(R=>R.incidentId!==null):y;I.useEffect(()=>{!v&&E&&E.length>0&&setTimeout(()=>{p.current?p.current.scrollIntoView({behavior:"smooth",block:"end"}):window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},500)},[v,E?.length]);const{incidentEvents:S,otherEvents:_}=I.useMemo(()=>{const R={},T=[];return(E||[]).forEach(M=>{M.incidentId?(R[M.incidentId]||(R[M.incidentId]=[]),R[M.incidentId].push(M)):T.push(M)}),{incidentEvents:R,otherEvents:T}},[E]),C=I.useMemo(()=>_.reduce((R,T)=>{const M=new Date(T.occurredAt).toLocaleDateString("fr-FR",{year:"numeric",month:"long",day:"numeric"});return R[M]||(R[M]=[]),R[M].push(T),R},{}),[_]),Q=I.useMemo(()=>{const R=C||{},T=[];return Object.keys(S).forEach(M=>{const O=parseInt(M),$=S[O];$.length>0&&T.push({type:"incident",incidentId:O,date:new Date($[0].occurredAt),events:$})}),Object.keys(R).forEach(M=>{const O=R[M];O.length>0&&T.push({type:"other",date:new Date(O[0].occurredAt),dateKey:M,dateEvents:O})}),T.sort((M,O)=>M.date.getTime()-O.date.getTime())},[S,C]);return v||j?a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"flex justify-center items-center",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})})}):a.jsxs("div",{className:"space-y-6 relative pb-20",style:{position:"relative"},children:[a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(Wf,{className:"h-5 w-5"}),"Journal d'activité"]}),a.jsx(wn,{children:"Historique chronologique des événements et échanges du voyage"})]}),w&&w.length>0&&a.jsxs(yt,{variant:"outline",className:"flex items-center gap-1",children:[a.jsx(Kn,{className:"h-4 w-4"}),w.length," incident",w.length>1?"s":""]})]})}),a.jsx(Et,{children:a.jsxs("div",{className:"flex flex-wrap items-center gap-4",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(pse,{className:"h-4 w-4 text-muted-foreground"}),a.jsxs(rn,{value:i.type||"all",onValueChange:R=>s(T=>({...T,type:R==="all"?void 0:R})),children:[a.jsx(Xr,{className:"w-[150px]",children:a.jsx(nn,{placeholder:"Type"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Tous les types"}),a.jsx(Qt,{value:"note",children:"Notes"}),a.jsx(Qt,{value:"media",children:"Médias"}),a.jsx(Qt,{value:"message",children:"Messages"})]})]})]}),a.jsxs(rn,{value:i.phase||"all",onValueChange:R=>s(T=>({...T,phase:R==="all"?void 0:R})),children:[a.jsx(Xr,{className:"w-[150px]",children:a.jsx(nn,{placeholder:"Phase"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Toutes les phases"}),a.jsx(Qt,{value:"outbound",children:"Aller"}),a.jsx(Qt,{value:"inbound",children:"Retour"})]})]}),a.jsxs(rn,{value:i.mediaKind||"all",onValueChange:R=>s(T=>({...T,mediaKind:R==="all"?void 0:R})),children:[a.jsx(Xr,{className:"w-[150px]",children:a.jsx(nn,{placeholder:"Type média"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Tous les médias"}),a.jsx(Qt,{value:"photo",children:"Photos"}),a.jsx(Qt,{value:"audio",children:"Audio"}),a.jsx(Qt,{value:"video",children:"Vidéos"})]})]}),!t&&w&&w.length>0&&a.jsxs(rn,{value:i.incidentId?i.incidentId.toString():"all",onValueChange:R=>{s(T=>({...T,incidentId:R==="all"?void 0:parseInt(R)})),R!=="all"&&l(!1)},children:[a.jsx(Xr,{className:"w-[200px]",children:a.jsx(nn,{placeholder:"Filtrer par incident"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Tous les incidents"}),w.map(R=>{const T={roue:"Roue",electricite:"Électricité",moteur:"Moteur",frein:"Frein",autre:"Autre"},M={ouvert:"Ouvert",en_cours:"En cours",resolu:"Résolu",ferme:"Fermé"},O=T[R.type]||R.type,$=M[R.status]||R.status;return a.jsxs(Qt,{value:R.id.toString(),children:["#",R.id," - ",O," (",$,")"]},R.id)})]})]}),!t&&w&&w.length>0&&a.jsxs(rn,{value:i.incidentStatus||"all",onValueChange:R=>s(T=>({...T,incidentStatus:R==="all"?void 0:R})),children:[a.jsx(Xr,{className:"w-[180px]",children:a.jsx(nn,{placeholder:"Statut incident"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Tous les statuts"}),a.jsx(Qt,{value:"ouvert",children:"Ouvert"}),a.jsx(Qt,{value:"en_cours",children:"En cours"}),a.jsx(Qt,{value:"resolu",children:"Résolu"}),a.jsx(Qt,{value:"ferme",children:"Fermé"})]})]}),!t&&a.jsxs(ge,{variant:o?"default":"outline",size:"sm",onClick:()=>{l(!o),o||s(R=>({...R,incidentId:void 0}))},children:[a.jsx(Kn,{className:"h-4 w-4 mr-2"}),o?"Tous les événements":"Incidents uniquement"]}),t&&a.jsxs(yt,{variant:"outline",className:"flex items-center gap-1",children:[a.jsx(Kn,{className:"h-4 w-4"}),"Affichage de l'incident #",t]})]})})]}),Q.length===0?a.jsx(it,{children:a.jsxs(Et,{className:"py-12 text-center text-muted-foreground",children:[a.jsx(Wf,{className:"h-12 w-12 mx-auto mb-4 opacity-50"}),a.jsx("p",{className:"text-lg font-medium mb-2",children:"Aucun événement"}),a.jsx("p",{className:"text-sm",children:o?"Aucun incident enregistré pour ce voyage":"Aucun événement enregistré pour ce voyage"})]})}):a.jsxs("div",{className:"space-y-6",children:[Q.map((R,T)=>{if(R.type==="incident"&&R.incidentId&&R.events)return a.jsx(jHe,{incidentId:R.incidentId,events:R.events,onEditIncident:M=>d(M),onReplyToIncident:M=>h(M)},`incident-${R.incidentId}`);if(R.type==="other"&&R.dateKey&&R.dateEvents){const M=[...R.dateEvents].sort((O,$)=>new Date(O.occurredAt).getTime()-new Date($.occurredAt).getTime());return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"h-px flex-1 bg-border"}),a.jsx(yt,{variant:"outline",className:"text-sm font-medium",children:R.dateKey}),a.jsx("div",{className:"h-px flex-1 bg-border"})]}),a.jsx("div",{className:"space-y-3",children:M.map(O=>a.jsx(fHe,{event:O,onViewIncident:r,onEditIncident:$=>d($),onReplyToIncident:$=>h($)},O.id))})]},`date-${R.dateKey}`)}return null}),a.jsx("div",{ref:p})]}),n&&a.jsx(ge,{size:"lg",style:{position:"fixed",bottom:"24px",right:"24px",zIndex:50,height:"56px",width:"56px",borderRadius:"9999px"},className:"shadow-lg",onClick:n,"aria-label":"Ajouter un incident",children:a.jsx(Ti,{className:"h-6 w-6"})}),a.jsx(EHe,{voyageId:e,incidentId:c,open:c!==null,onOpenChange:R=>{R||d(null)}}),a.jsx(CHe,{voyageId:e,incidentId:u||0,open:u!==null,onOpenChange:R=>{R||h(null)}})]})}const aO=[{value:"roue",label:"Roue",icon:Tg},{value:"electricite",label:"Électricité",icon:ry},{value:"moteur",label:"Moteur",icon:zm},{value:"frein",label:"Frein",icon:f4},{value:"autre",label:"Autre",icon:Gl}];function SHe({voyageId:e,open:t,onOpenChange:r}){const{toast:n}=Er(),[i,s]=I.useState(""),[o,l]=I.useState(null),[c,d]=I.useState("normale"),[u,h]=I.useState(null),[p,A]=I.useState(""),[y,v]=I.useState(null),[w,j]=I.useState(null),[E,S]=I.useState(null),[_,C]=I.useState(!1),[Q,R]=I.useState(null),[T,M]=I.useState(0),[O,$]=I.useState(null),[P,L]=I.useState(null),[X,W]=I.useState(!1),[G,J]=I.useState(null),[q,ee]=I.useState(null),[ne,V]=I.useState(null),ue=I.useRef(null),de=I.useRef(null),xe=I.useRef(null),_e=I.useRef(null),Ce=_r({mutationFn:({voyageId:xt,data:wt})=>P$(xt,wt),onSuccess:(xt,wt)=>{jt.invalidateQueries({queryKey:["/api/voyages",wt.voyageId,"incidents"]}),jt.invalidateQueries({queryKey:["/api/voyages",wt.voyageId,"events"]})}}),we=_r({mutationFn:({voyageId:xt,incidentId:wt,data:Lt})=>xg(xt,wt,Lt),onSuccess:(xt,wt)=>{jt.invalidateQueries({queryKey:["/api/voyages",wt.voyageId,"incidents",wt.incidentId]}),jt.invalidateQueries({queryKey:["/api/voyages",wt.voyageId,"events"]})}}),{data:ve}=dw(e),Ne=[...ve?.outbound?.steps||[],...ve?.inbound?.steps||[]];I.useEffect(()=>{if(X&&q&&ue.current){const xt=ue.current;xt.srcObject!==q&&(xt.srcObject=q,xt.play().catch(wt=>{console.error("Erreur lors de la lecture vidéo:",wt)}))}},[X,q]);const Ie=xt=>{const wt=Math.floor(xt/60),Lt=xt%60;return`${wt.toString().padStart(2,"0")}:${Lt.toString().padStart(2,"0")}`},be=async()=>{try{if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){n({variant:"destructive",title:"Erreur",description:"Votre navigateur ne supporte pas l'enregistrement audio."});return}const xt=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),wt=["audio/webm","audio/ogg","audio/mp4","audio/wav"];let Lt="audio/webm";for(const Le of wt)if(MediaRecorder.isTypeSupported(Le)){Lt=Le;break}const ir=new MediaRecorder(xt,{mimeType:Lt}),He=[];ir.ondataavailable=Le=>{Le.data.size>0&&He.push(Le.data)},ir.onstop=()=>{const Le=new Blob(He,{type:Lt});S(Le),xt.getTracks().forEach(rt=>rt.stop())},ir.start(),R(ir),C(!0),M(0);const ce=setInterval(()=>{M(Le=>Le+1)},1e3);$(ce)}catch(xt){console.error("Erreur lors de l'enregistrement:",xt),n({variant:"destructive",title:"Erreur",description:"Impossible de démarrer l'enregistrement audio."})}},Re=()=>{Q&&_&&(Q.stop(),C(!1),O&&(clearInterval(O),$(null)))},Pe=xt=>{const wt=xt.target.files?.[0];if(wt){if(wt.size>10*1024*1024){n({variant:"destructive",title:"Erreur",description:"La photo ne doit pas dépasser 10 MB"});return}v(wt),j(null),S(null),A("")}xe.current&&(xe.current.value="")},Ke=xt=>{const wt=xt.target.files?.[0];if(wt){if(wt.size>25*1024*1024){n({variant:"destructive",title:"Erreur",description:"La vidéo ne doit pas dépasser 25 MB"});return}j(wt),v(null),S(null),A(""),L(URL.createObjectURL(wt))}_e.current&&(_e.current.value="")},[tt,pt]=I.useState(!1),dt=I.useRef(null),Oe=I.useRef(null),Pt=async()=>{try{if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){n({variant:"destructive",title:"Erreur",description:"Votre navigateur ne supporte pas l'accès à la caméra."});return}const xt=await navigator.mediaDevices.getUserMedia({video:!0});dt.current=xt,pt(!0),setTimeout(()=>{Oe.current&&(Oe.current.srcObject=xt,Oe.current.play())},100)}catch(xt){console.error("Erreur lors de l'accès à la caméra:",xt),n({variant:"destructive",title:"Erreur",description:"Impossible d'accéder à la caméra."})}},Kt=async()=>{if(!Oe.current)return;const xt=Oe.current,wt=document.createElement("canvas"),Lt=wt.getContext("2d");wt.width=xt.videoWidth,wt.height=xt.videoHeight,Lt?.drawImage(xt,0,0),wt.toBlob(async ir=>{if(ir)try{const He=new File([ir],`photo_${Date.now()}.jpg`,{type:"image/jpeg"}),{optimizeImage:ce}=await On(async()=>{const{optimizeImage:rt}=await Promise.resolve().then(()=>N7);return{optimizeImage:rt}},void 0),Le=await ce(He,{preset:"incident"});v(Le.file),j(null),S(null),A("")}catch(He){console.error("Erreur lors de l'optimisation:",He);const ce=new File([ir],`photo_${Date.now()}.jpg`,{type:"image/jpeg"});v(ce),j(null),S(null),A("")}dt.current&&(dt.current.getTracks().forEach(He=>He.stop()),dt.current=null),pt(!1)},"image/jpeg",.9)},gt=()=>{dt.current&&(dt.current.getTracks().forEach(xt=>xt.stop()),dt.current=null),pt(!1)},Jt=async()=>{try{if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){n({variant:"destructive",title:"Erreur",description:"Votre navigateur ne supporte pas l'accès à la caméra."});return}const{getVideoOptimizationConfig:xt}=await On(async()=>{const{getVideoOptimizationConfig:Le}=await Promise.resolve().then(()=>$$);return{getVideoOptimizationConfig:Le}},void 0),{captureVideo:wt}=await On(async()=>{const{captureVideo:Le}=await Promise.resolve().then(()=>fpe);return{captureVideo:Le}},void 0),{formatFileSize:Lt}=await On(async()=>{const{formatFileSize:Le}=await Promise.resolve().then(()=>N7);return{formatFileSize:Le}},void 0),ir=await xt();if(!ir.enabled){n({variant:"destructive",title:"Vidéo désactivée",description:"L'optimisation vidéo est désactivée dans les paramètres."});return}if(!(ir.preferredCaptureMode==="auto"||ir.preferredCaptureMode==="mediaRecorder")&&ir.preferredCaptureMode==="fileInput"){n({variant:"destructive",title:"Mode fichier requis",description:"Veuillez utiliser le sélecteur de fichier pour capturer la vidéo."});return}V({maxDurationSec:ir.maxDurationSec}),W(!0),M(0);const ce=await wt(ir,Le=>{M(Math.floor(Le))});de.current=ce,J(ce.recorder),ee(ce.stream),ue.current&&ce.stream&&(ue.current.srcObject=ce.stream,ue.current.play().catch(Le=>{console.error("Erreur lors de la lecture vidéo:",Le)})),ce.promise.then(Le=>{W(!1),ce.stream.getTracks().forEach(rt=>rt.stop()),ue.current&&(ue.current.srcObject=null),ee(null),V(null),de.current=null,j(Le.file),v(null),S(null),A(""),L(URL.createObjectURL(Le.blob)),n({title:"Vidéo capturée",description:`Qualité ${Le.metadata.preset}, ${Le.metadata.duration.toFixed(1)}s, ${Lt(Le.metadata.size)}`,duration:3e3})}).catch(Le=>{W(!1),ee(null),V(null),de.current=null,console.error("Erreur lors de l'enregistrement vidéo:",Le),n({variant:"destructive",title:"Erreur",description:Le instanceof Error?Le.message:"Impossible d'accéder à la caméra."})})}catch(xt){W(!1),ee(null),V(null),de.current=null,console.error("Erreur lors de l'enregistrement vidéo:",xt),n({variant:"destructive",title:"Erreur",description:xt instanceof Error?xt.message:"Impossible d'accéder à la caméra."})}},Bt=()=>{de.current&&X&&de.current.stop()},tr=async()=>{if(!i){n({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un type d'incident"});return}if(!u){n({variant:"destructive",title:"Erreur",description:"Veuillez ajouter un message (texte, audio, photo ou vidéo)"});return}try{const xt=await Ce.mutateAsync({voyageId:e,data:{type:i,priority:c,voyageEtapeId:o}});if(u==="text"&&p.trim())await we.mutateAsync({voyageId:e,incidentId:xt.id,data:{type:"message",description:p,senderRole:"backoffice"}});else if(u==="audio"&&E){const wt=new File([E],"recording.webm",{type:E.type});await we.mutateAsync({voyageId:e,incidentId:xt.id,data:{type:"media",mediaKind:"audio",file:wt,senderRole:"backoffice"}})}else u==="photo"&&y?await we.mutateAsync({voyageId:e,incidentId:xt.id,data:{type:"media",mediaKind:"photo",file:y,senderRole:"backoffice"}}):u==="video"&&w&&await we.mutateAsync({voyageId:e,incidentId:xt.id,data:{type:"media",mediaKind:"video",file:w,senderRole:"backoffice"}});s(""),l(null),d("normale"),h(null),A(""),v(null),j(null),S(null),L(null),r(!1),n({title:"Succès",description:"L'incident a été créé avec succès"})}catch(xt){console.error("Erreur lors de la création de l'incident:",xt),n({variant:"destructive",title:"Erreur",description:"Impossible de créer l'incident"})}},sr=()=>{_&&Re(),X&&Bt(),q&&(q.getTracks().forEach(xt=>xt.stop()),ee(null)),dt.current&&(dt.current.getTracks().forEach(xt=>xt.stop()),dt.current=null),P&&(URL.revokeObjectURL(P),L(null)),s(""),l(null),d("normale"),h(null),A(""),v(null),j(null),S(null),W(!1),J(null),pt(!1),r(!1)};return i&&aO.find(xt=>xt.value===i)?.icon,a.jsx(En,{open:t,onOpenChange:sr,children:a.jsxs(yn,{className:"sm:max-w-[600px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Créer un incident"}),a.jsx(Mn,{children:"Signalez un problème et ajoutez un premier message (texte, audio, photo ou vidéo)"})]}),a.jsxs("div",{className:"space-y-6 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Type d'incident *"}),a.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:aO.map(xt=>{const wt=xt.icon,Lt=i===xt.value;return a.jsxs("button",{type:"button",onClick:()=>s(xt.value),className:`p-4 rounded-lg border-2 transition-all ${Lt?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[a.jsx(wt,{className:`h-6 w-6 mx-auto mb-2 ${Lt?"text-primary":"text-muted-foreground"}`}),a.jsx("p",{className:`text-xs font-medium ${Lt?"text-primary":"text-muted-foreground"}`,children:xt.label})]},xt.value)})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"priority",children:"Priorité"}),a.jsxs(rn,{value:c,onValueChange:xt=>d(xt),children:[a.jsx(Xr,{id:"priority",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"basse",children:"Basse"}),a.jsx(Qt,{value:"normale",children:"Normale"}),a.jsx(Qt,{value:"haute",children:"Haute"}),a.jsx(Qt,{value:"urgente",children:"Urgente"})]})]})]}),Ne.length>0&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"etape",children:"Étape associée (optionnel)"}),a.jsxs(rn,{value:o?o.toString():"none",onValueChange:xt=>l(xt==="none"?null:parseInt(xt)),children:[a.jsx(Xr,{id:"etape",children:a.jsx(nn,{placeholder:"Sélectionner une étape"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"none",children:"Aucune étape"}),Ne.map(xt=>{const wt=xt.id?.toString();return wt?a.jsxs(Qt,{value:wt,children:[xt.label," (",xt.category,")"]},xt.id):null})]})]})]}),i&&a.jsxs("div",{className:"space-y-4 border-t pt-4",children:[a.jsx(Se,{children:"Premier message *"}),a.jsxs("div",{className:"grid grid-cols-4 gap-2",children:[a.jsxs("button",{type:"button",onClick:()=>{h("text"),v(null),j(null),S(null)},className:`p-3 rounded-lg border-2 transition-all ${u==="text"?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[a.jsx(po,{className:`h-5 w-5 mx-auto mb-1 ${u==="text"?"text-primary":"text-muted-foreground"}`}),a.jsx("p",{className:"text-xs",children:"Texte"})]}),a.jsxs("button",{type:"button",onClick:()=>{h("audio"),A(""),v(null),j(null)},className:`p-3 rounded-lg border-2 transition-all ${u==="audio"?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[a.jsx(F0,{className:`h-5 w-5 mx-auto mb-1 ${u==="audio"?"text-primary":"text-muted-foreground"}`}),a.jsx("p",{className:"text-xs",children:"Audio"})]}),a.jsxs("button",{type:"button",onClick:()=>{h("photo"),A(""),j(null),S(null)},className:`p-3 rounded-lg border-2 transition-all ${u==="photo"?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[a.jsx(mo,{className:`h-5 w-5 mx-auto mb-1 ${u==="photo"?"text-primary":"text-muted-foreground"}`}),a.jsx("p",{className:"text-xs",children:"Photo"})]}),a.jsxs("button",{type:"button",onClick:()=>{h("video"),A(""),v(null),S(null)},className:`p-3 rounded-lg border-2 transition-all ${u==="video"?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[a.jsx(Xu,{className:`h-5 w-5 mx-auto mb-1 ${u==="video"?"text-primary":"text-muted-foreground"}`}),a.jsx("p",{className:"text-xs",children:"Vidéo"})]})]}),u==="text"&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"message-text",children:"Message"}),a.jsx(K0,{id:"message-text",placeholder:"Décrivez l'incident...",value:p,onChange:xt=>A(xt.target.value),rows:4})]}),u==="audio"&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Enregistrement audio"}),!E&&!_?a.jsxs(ge,{type:"button",variant:"outline",onClick:be,className:"w-full",children:[a.jsx(F0,{className:"h-4 w-4 mr-2"}),"Démarrer l'enregistrement"]}):_?a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-center gap-2 p-4 border rounded-lg",children:[a.jsx("div",{className:"w-3 h-3 bg-red-500 rounded-full animate-pulse"}),a.jsx("span",{className:"font-mono text-lg",children:Ie(T)})]}),a.jsx(ge,{type:"button",variant:"destructive",onClick:Re,className:"w-full",children:"Arrêter l'enregistrement"})]}):E&&a.jsxs("div",{className:"space-y-2",children:[a.jsx("audio",{controls:!0,className:"w-full",children:a.jsx("source",{src:URL.createObjectURL(E),type:E.type})}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>{S(null),h(null)},className:"w-full",children:[a.jsx(Nn,{className:"h-4 w-4 mr-2"}),"Supprimer l'enregistrement"]})]})]}),a.jsx("input",{type:"file",accept:"image/*",ref:xe,onChange:Pe,className:"hidden"}),u==="photo"&&a.jsx("div",{className:"space-y-2",children:y?a.jsxs("div",{className:"space-y-2",children:[a.jsx("img",{src:URL.createObjectURL(y),alt:"Preview",className:"w-full h-48 object-cover rounded-lg border"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>{v(null)},className:"w-full",children:[a.jsx(Nn,{className:"h-4 w-4 mr-2"}),"Supprimer la photo"]})]}):tt?a.jsxs("div",{className:"space-y-2",children:[a.jsx("video",{ref:Oe,autoPlay:!0,playsInline:!0,className:"w-full h-48 object-cover rounded-lg border bg-black"}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs(ge,{type:"button",variant:"default",onClick:Kt,className:"w-full",children:[a.jsx(mo,{className:"h-4 w-4 mr-2"}),"Capturer"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:gt,className:"w-full",children:[a.jsx(Nn,{className:"h-4 w-4 mr-2"}),"Annuler"]})]})]}):a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:Pt,className:"w-full",children:[a.jsx(mo,{className:"h-4 w-4 mr-2"}),"Prendre une photo"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>xe.current?.click(),className:"w-full",children:[a.jsx(po,{className:"h-4 w-4 mr-2"}),"Choisir un fichier"]})]}),a.jsxs("div",{className:"border-2 border-dashed rounded-lg p-4 text-center",children:[a.jsx(mo,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Aucune photo sélectionnée"})]})]})}),a.jsx("input",{type:"file",accept:"video/*",ref:_e,onChange:Ke,className:"hidden"}),u==="video"&&a.jsx("div",{className:"space-y-2",children:X?a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"relative w-full h-48 rounded-lg border bg-black overflow-hidden",children:[a.jsx("video",{ref:ue,autoPlay:!0,playsInline:!0,muted:!0,className:"w-full h-full object-cover"}),a.jsxs("div",{className:"absolute top-2 right-2 flex items-center gap-2 bg-red-500 text-white px-3 py-1 rounded-full",children:[a.jsx("div",{className:"w-2 h-2 bg-white rounded-full animate-pulse"}),a.jsx("span",{className:"text-xs font-medium",children:"Enregistrement..."})]})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"text-sm text-muted-foreground",children:[Ie(T)," / ",Ie(ne?.maxDurationSec||10),"s"]}),a.jsxs(ge,{type:"button",variant:"destructive",onClick:Bt,size:"sm",children:[a.jsx(pg,{className:"h-4 w-4 mr-2"}),"Arrêter"]})]})]}):w?a.jsxs("div",{className:"space-y-2",children:[a.jsx("video",{src:P||void 0,controls:!0,className:"w-full h-48 object-contain rounded-lg border"}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>{P&&URL.revokeObjectURL(P),j(null),L(null)},className:"w-full",children:[a.jsx(Nn,{className:"h-4 w-4 mr-2"}),"Supprimer la vidéo"]})]}):a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:Jt,className:"w-full",children:[a.jsx(Xu,{className:"h-4 w-4 mr-2"}),"Enregistrer une vidéo"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>_e.current?.click(),className:"w-full",children:[a.jsx(po,{className:"h-4 w-4 mr-2"}),"Choisir un fichier"]})]}),a.jsxs("div",{className:"border-2 border-dashed rounded-lg p-4 text-center",children:[a.jsx(Xu,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Aucune vidéo sélectionnée"})]})]})})]})]}),a.jsxs(Na,{children:[a.jsx(ge,{variant:"outline",onClick:sr,children:"Annuler"}),a.jsx(ge,{onClick:tr,disabled:!i||!u||u==="text"&&!p.trim()||u==="audio"&&!E||u==="photo"&&!y||u==="video"&&!w||Ce.isPending||we.isPending,children:Ce.isPending||we.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Création..."]}):"Créer l'incident"})]})]})})}function Oi(e){return e?String(e):"—"}function zb(e){if(!e)return"—";try{const t=e instanceof Date?e:new Date(e);return Wr(t,"dd/MM/yyyy",{locale:Hr})}catch{return"—"}}function T3(e){if(!e)return"—";try{const t=e instanceof Date?e:new Date(e);return Wr(t,"dd/MM/yyyy HH:mm",{locale:Hr})}catch{return"—"}}function $b(e){return e?e.replace(/_/g," ").replace(/-/g," ").replace(/\s+/g," ").trim():"—"}function wl({label:e,value:t,styles:r}){return a.jsxs(Rn,{style:r.row,children:[a.jsx(rr,{style:r.label,children:e}),a.jsx(rr,{style:r.value,children:t})]})}const xr=uY.create({page:{padding:24,fontSize:11,fontFamily:"Helvetica"},h1:{fontSize:18,fontWeight:"bold",marginBottom:8},h2:{fontSize:12,fontWeight:"bold",marginTop:8,marginBottom:6,paddingBottom:3,borderBottomWidth:1,borderBottomColor:"#E5E7EB"},label:{color:"#666",width:140,fontSize:10,fontWeight:"bold"},value:{fontSize:11,color:"#111",flex:1},section:{marginTop:8,paddingTop:6,borderTopWidth:1,borderTopColor:"#E5E7EB"},card:{backgroundColor:"#F6F7FB",borderWidth:1,borderColor:"#E5E7EB",borderRadius:6,padding:10,marginBottom:12},row:{flexDirection:"row",alignItems:"flex-start",marginBottom:4},small:{fontSize:9,color:"#666"},header:{flexDirection:"row",justifyContent:"space-between",marginBottom:10,paddingBottom:6,borderBottomWidth:1,borderBottomColor:"#000"},headerLeft:{width:"50%"},headerRight:{width:"45%",textAlign:"right"},logoContainer:{marginBottom:6,alignItems:"flex-start",maxWidth:80},logo:{width:60,maxHeight:50,objectFit:"contain"},companyName:{fontSize:12,fontWeight:"bold",marginBottom:3},headerTitle:{fontSize:16,fontWeight:"bold",textTransform:"uppercase",marginBottom:4},badge:{backgroundColor:"#E5E7EB",padding:"2 6",borderRadius:4,fontSize:9},summaryCard:{backgroundColor:"#F6F7FB",borderWidth:1,borderColor:"#E5E7EB",borderRadius:6,padding:10,marginBottom:12},summaryRow:{flexDirection:"row",marginBottom:5,alignItems:"flex-start"},summaryLabel:{fontSize:10,fontWeight:"bold",width:120,color:"#111",paddingLeft:0,paddingRight:8,flexShrink:0},summaryValue:{fontSize:10,color:"#111",flex:1,paddingLeft:0},twoColumns:{flexDirection:"row",justifyContent:"space-between",marginTop:6},column:{width:"48%"},table:{marginTop:8,borderWidth:1,borderColor:"#E5E7EB"},tableHeader:{flexDirection:"row",backgroundColor:"#F3F4F6",borderBottomWidth:1,borderBottomColor:"#E5E7EB",paddingVertical:6,paddingHorizontal:4},tableRow:{flexDirection:"row",borderBottomWidth:1,borderBottomColor:"#E5E7EB",paddingVertical:6,paddingHorizontal:4},tableCell:{fontSize:9,paddingHorizontal:4},colNumber:{width:"8%"},colSens:{width:"32%"},colDepart:{width:"20%"},colArrivee:{width:"20%"},colStatut:{width:"20%"},consignesCard:{backgroundColor:"#F6F7FB",borderWidth:1,borderColor:"#E5E7EB",borderRadius:6,padding:10,marginTop:8},signatures:{flexDirection:"row",justifyContent:"space-between",marginTop:12,paddingTop:8,borderTopWidth:1,borderTopColor:"#000"},signatureBox:{width:"48%"},signatureText:{fontSize:9,marginBottom:4,lineHeight:1.4},signatureLine:{borderBottomWidth:1,borderBottomColor:"#000",height:30,marginTop:8},footer:{position:"absolute",bottom:20,left:24,right:24,fontSize:8,color:"#666",textAlign:"center",borderTopWidth:1,borderTopColor:"#E5E7EB",paddingTop:4}});function b6({data:e}){const{organization:t,voyage:r,trips:n}=e,i=new Date,s=[...n].sort((o,l)=>o.dateDepart&&l.dateDepart?new Date(o.dateDepart).getTime()-new Date(l.dateDepart).getTime():0);return s[0]?.dateDepart?T3(s[0].dateDepart):r.loadingOrderDate?zb(r.loadingOrderDate):T3(i),a.jsx(XS,{children:a.jsxs(H4,{size:"A4",style:xr.page,children:[a.jsxs(Rn,{style:xr.header,children:[a.jsxs(Rn,{style:xr.headerLeft,children:[t.logoUrl?a.jsx(Rn,{style:xr.logoContainer,children:a.jsx(Gm,{src:t.logoUrl,style:xr.logo})}):null,a.jsx(rr,{style:xr.companyName,children:Oi(t.companyName)}),a.jsx(rr,{style:xr.small,children:[t.addressLine,t.city&&t.country?`${Oi(t.city)}, ${Oi(t.country)}`:Oi(t.city||t.country)].filter(Boolean).join(" | ")}),a.jsx(rr,{style:xr.small,children:[t.phone&&`Tél: ${Oi(t.phone)}`,t.email&&`Email: ${Oi(t.email)}`,t.website&&`Web: ${Oi(t.website)}`].filter(Boolean).join(" | ")})]}),a.jsxs(Rn,{style:xr.headerRight,children:[a.jsx(rr,{style:xr.headerTitle,children:"ORDRE DE MISSION"}),a.jsxs(rr,{style:xr.small,children:["Code: ",Oi(r.code)]})]})]}),a.jsxs(Rn,{style:xr.summaryCard,children:[a.jsxs(Rn,{style:xr.summaryRow,children:[a.jsx(rr,{style:xr.summaryLabel,children:"TRAJET"}),a.jsxs(rr,{style:xr.summaryValue,children:[$b(r.loadingSite)," → ",$b(r.unloadingSite)]})]}),a.jsxs(Rn,{style:xr.summaryRow,children:[a.jsx(rr,{style:xr.summaryLabel,children:"MARCHANDISE"}),a.jsx(rr,{style:xr.summaryValue,children:Oi(r.loadingType)})]}),a.jsxs(Rn,{style:xr.summaryRow,children:[a.jsx(rr,{style:xr.summaryLabel,children:"CLIENT"}),a.jsxs(rr,{style:xr.summaryValue,children:[Oi(r.clientName),r.clientReference&&` (réf: ${Oi(r.clientReference)})`]})]}),a.jsxs(Rn,{style:xr.summaryRow,children:[a.jsx(rr,{style:xr.summaryLabel,children:"CHAUFFEUR"}),a.jsxs(rr,{style:xr.summaryValue,children:[r.mainDriver?`${Oi(r.mainDriver.prenom)} ${Oi(r.mainDriver.nom)}`:"—",r.mainDriver?.telephone&&` (tel: ${Oi(r.mainDriver.telephone)})`]})]}),a.jsxs(Rn,{style:xr.summaryRow,children:[a.jsx(rr,{style:xr.summaryLabel,children:"DATES"}),a.jsx(rr,{style:xr.summaryValue,children:(()=>{const o=r.loadingOrderDate?new Date(r.loadingOrderDate):s[0]?.dateDepart?new Date(s[0].dateDepart):i,l=zb(o),c=new Date(o);return c.setDate(c.getDate()+7),`DÉPART PRÉVU: ${l} | RETOUR PRÉVU: ${zb(c)}`})()})]})]}),a.jsx(Rn,{style:xr.section,children:a.jsxs(Rn,{style:xr.twoColumns,children:[a.jsxs(Rn,{style:xr.column,children:[a.jsx(rr,{style:xr.h2,children:"1. IDENTIFICATION DU VOYAGE"}),a.jsx(wl,{label:"N° bon de chargement",value:Oi(r.loadingOrderNumber),styles:xr}),a.jsx(wl,{label:"Date du bon",value:zb(r.loadingOrderDate),styles:xr}),a.jsx(wl,{label:"Nombre de tours",value:r.expectedTours===1?"1 tour aller + retour":`${r.expectedTours||1} tour${(r.expectedTours||1)>1?"s":""}`,styles:xr})]}),a.jsxs(Rn,{style:xr.column,children:[a.jsx(rr,{style:xr.h2,children:"2. DÉTAILS DE LA MISSION"}),a.jsx(wl,{label:"Client",value:Oi(r.clientName),styles:xr}),a.jsx(wl,{label:"Référence client",value:Oi(r.clientReference),styles:xr}),a.jsx(wl,{label:"Lieu de chargement",value:$b(r.loadingSite),styles:xr}),a.jsx(wl,{label:"Lieu de déchargement",value:$b(r.unloadingSite),styles:xr}),a.jsx(wl,{label:"Type de chargement",value:Oi(r.loadingType),styles:xr})]})]})}),a.jsxs(Rn,{style:xr.section,children:[a.jsx(rr,{style:xr.h2,children:"3. MOYENS DE TRANSPORT"}),a.jsxs(Rn,{style:xr.twoColumns,children:[a.jsxs(Rn,{style:xr.column,children:[a.jsx(rr,{style:xr.label,children:"Véhicule"}),r.vehicle?a.jsxs(a.Fragment,{children:[a.jsx(wl,{label:"Immatriculation",value:Oi(r.vehicle.immatriculation),styles:xr}),(r.vehicle.marque||r.vehicle.modele)&&a.jsx(wl,{label:"Marque/Modèle",value:`${Oi(r.vehicle.marque)} ${Oi(r.vehicle.modele)}`,styles:xr}),r.vehicle.annee&&a.jsx(wl,{label:"Année",value:Oi(r.vehicle.annee),styles:xr})]}):a.jsx(rr,{style:xr.value,children:"—"})]}),a.jsxs(Rn,{style:xr.column,children:[a.jsx(rr,{style:xr.label,children:"Remorque"}),r.trailer?a.jsxs(a.Fragment,{children:[a.jsx(wl,{label:"Immatriculation",value:Oi(r.trailer.numeroChassis),styles:xr}),a.jsx(wl,{label:"Type",value:Oi(r.trailer.type),styles:xr}),r.trailer.capacite&&a.jsx(wl,{label:"Capacité",value:`${Oi(r.trailer.capacite)} tonnes`,styles:xr})]}):a.jsx(rr,{style:xr.value,children:"Sans remorque"})]})]})]}),a.jsxs(Rn,{style:xr.section,children:[a.jsx(rr,{style:xr.h2,children:"4. ÉQUIPAGE"}),a.jsxs(Rn,{style:xr.twoColumns,children:[a.jsxs(Rn,{style:xr.column,children:[a.jsx(rr,{style:xr.label,children:"Chauffeur principal"}),r.mainDriver?a.jsxs(a.Fragment,{children:[a.jsx(wl,{label:"Nom",value:`${Oi(r.mainDriver.prenom)} ${Oi(r.mainDriver.nom)}`,styles:xr}),r.mainDriver.telephone&&a.jsx(wl,{label:"Téléphone",value:Oi(r.mainDriver.telephone),styles:xr})]}):a.jsx(rr,{style:xr.value,children:"—"})]}),a.jsxs(Rn,{style:xr.column,children:[a.jsx(rr,{style:xr.label,children:"Autres membres"}),r.additionalCrew&&r.additionalCrew.length>0?a.jsx(a.Fragment,{children:r.additionalCrew.map(o=>a.jsxs(rr,{style:xr.value,children:["• ",Oi(o.prenom)," ",Oi(o.nom)," -"," ",o.role==="chauffeur"?"Chauffeur":o.role==="apprenti"?"Aide-chauffeur":"Apprenti"]},o.id))}):a.jsx(rr,{style:xr.value,children:"—"})]})]})]}),a.jsxs(Rn,{style:xr.section,children:[a.jsx(rr,{style:xr.h2,children:"5. SIGNATURES"}),a.jsxs(Rn,{style:xr.signatures,children:[a.jsxs(Rn,{style:xr.signatureBox,children:[a.jsx(rr,{style:xr.signatureText,children:"Fait à : ____________"}),a.jsx(rr,{style:xr.signatureText,children:"Le : ___ / ___ / ____"}),a.jsx(rr,{style:xr.signatureText,children:"L'entreprise certifie confier la mission ci-dessus au chauffeur désigné."}),a.jsx(rr,{style:xr.signatureText,children:"Nom / fonction : ____________"}),a.jsx(Rn,{style:xr.signatureLine}),a.jsx(rr,{style:[xr.signatureText,{marginTop:4}],children:"Signature & cachet"})]}),a.jsxs(Rn,{style:xr.signatureBox,children:[a.jsx(rr,{style:xr.signatureText,children:"Je soussigné, chauffeur, reconnais avoir pris connaissance de la mission et m'engage à l'exécuter conformément aux instructions."}),a.jsx(Rn,{style:xr.signatureLine}),a.jsx(rr,{style:[xr.signatureText,{marginTop:4}],children:"Signature du chauffeur"})]})]})]}),a.jsxs(rr,{fixed:!0,style:xr.footer,children:["Document généré par ParcApp – ",T3(i)," – Code voyage ",Oi(r.code)]})]})})}async function BHe(e){try{if(e.startsWith("data:"))return e;let t=e;if(e.includes("/storage/organization-logos/")){const{apiUrl:o}=await On(async()=>{const{apiUrl:l}=await Promise.resolve().then(()=>Bie);return{apiUrl:l}},void 0);t=o("/api/settings/organization/logo")}const r=localStorage.getItem("parcapp_token"),n={};r&&(n.Authorization=`Bearer ${r}`);const i=await fetch(t,{headers:n,credentials:"include"});if(!i.ok){const o=await i.text().catch(()=>"Unknown error");throw new Error(`Failed to fetch image: ${i.status} - ${o}`)}const s=await i.blob();return new Promise((o,l)=>{const c=new FileReader;c.onloadend=()=>{typeof c.result=="string"?o(c.result):l(new Error("Failed to convert image to base64"))},c.onerror=d=>{l(d)},c.readAsDataURL(s)})}catch(t){throw console.error("Error converting image to base64:",t),t}}function kHe({voyageId:e}){const{data:t,isLoading:r,error:n}=fY(e),[i,s]=I.useState(!1),[o,l]=I.useState(!1),[c,d]=I.useState(null),[u,h]=I.useState(null),{toast:p}=Er();I.useEffect(()=>{t&&t.organization.logoUrl?BHe(t.organization.logoUrl).then(E=>{h({...t,organization:{...t.organization,logoUrl:E}})}).catch(E=>{console.error("Failed to convert logo to base64:",E),h(t)}):t&&h(t)},[t]);const A=async()=>{if(u){if(u.organization.logoUrl&&!u.organization.logoUrl.startsWith("data:")){p({variant:"destructive",title:"Erreur",description:"Le logo n'a pas pu être chargé. Veuillez réessayer."});return}s(!0);try{const E=await Gw(a.jsx(b6,{data:u})).toBlob(),S=URL.createObjectURL(E),_=document.createElement("a");_.href=S,_.download=`ordre-de-mission-${u.voyage.code}.pdf`,document.body.appendChild(_),_.click(),document.body.removeChild(_),URL.revokeObjectURL(S),p({title:"Succès",description:"L'ordre de mission a été téléchargé avec succès"})}catch(E){console.error("Erreur lors de la génération du PDF:",E),p({variant:"destructive",title:"Erreur",description:"Impossible de générer le PDF. Veuillez réessayer."})}finally{s(!1)}}},y=async()=>{if(u){if(u.organization.logoUrl&&!u.organization.logoUrl.startsWith("data:")){p({variant:"destructive",title:"Erreur",description:"Le logo n'a pas pu être chargé. Veuillez réessayer."});return}s(!0);try{const E=await Gw(a.jsx(b6,{data:u})).toBlob(),S=URL.createObjectURL(E);d(S),l(!0)}catch(E){console.error("Erreur lors de la génération du PDF:",E),p({variant:"destructive",title:"Erreur",description:"Impossible de générer la prévisualisation. Veuillez réessayer."})}finally{s(!1)}}};if(r)return a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"flex justify-center items-center",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})})});if(n||!t)return a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"text-center space-y-4",children:a.jsx("p",{className:"text-destructive",children:n instanceof Error?n.message:"Erreur lors du chargement de l'ordre de mission"})})})});const v=u||t,{organization:w,voyage:j}=v;return a.jsxs("div",{className:"space-y-6",children:[a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Ordre de mission"}),a.jsxs(wn,{children:["Générer et télécharger l'ordre de mission pour le voyage ",j.code]})]}),a.jsx(Et,{children:a.jsxs("div",{className:"flex flex-wrap gap-3",children:[a.jsx(ge,{onClick:y,disabled:i||!u,variant:"outline",children:i?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Génération..."]}):u?a.jsxs(a.Fragment,{children:[a.jsx(O6,{className:"h-4 w-4 mr-2"}),"Prévisualiser"]}):a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Préparation..."]})}),a.jsx(ge,{onClick:A,disabled:i||!u,children:i?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Génération..."]}):u?a.jsxs(a.Fragment,{children:[a.jsx(Y3,{className:"h-4 w-4 mr-2"}),"Télécharger le PDF"]}):a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Préparation..."]})})]})})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[a.jsxs(it,{children:[a.jsx(br,{children:a.jsx(jr,{children:"Informations de l'entreprise"})}),a.jsxs(Et,{className:"space-y-3",children:[w.logoUrl?a.jsx("div",{className:"mb-4",children:a.jsx("img",{src:Sr(w.logoUrl)||w.logoUrl,alt:"Logo",className:"h-16 w-auto object-contain"})}):a.jsx("div",{className:"mb-4 text-xs text-muted-foreground",children:"Aucun logo configuré"}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Dénomination commerciale"}),a.jsx("p",{className:"text-base font-semibold",children:w.companyName})]}),w.legalName&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Raison sociale"}),a.jsx("p",{className:"text-base",children:w.legalName})]}),(w.addressLine||w.city||w.country)&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Adresse"}),a.jsx("p",{className:"text-base",children:[w.addressLine,w.city,w.country].filter(Boolean).join(", ")})]}),w.phone&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Téléphone"}),a.jsx("p",{className:"text-base",children:w.phone})]}),w.email&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Email"}),a.jsx("p",{className:"text-base",children:w.email})]}),w.website&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Site web"}),a.jsx("p",{className:"text-base",children:w.website})]}),w.taxId&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"N° RCCM / IFU"}),a.jsx("p",{className:"text-base",children:w.taxId})]})]})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsx(jr,{children:"Informations du voyage"})}),a.jsxs(Et,{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Code du voyage"}),a.jsx("p",{className:"text-base font-semibold",children:j.code})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Titre"}),a.jsx("p",{className:"text-base",children:j.title})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Client"}),a.jsx("p",{className:"text-base",children:j.clientName})]}),j.clientReference&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Référence client"}),a.jsx("p",{className:"text-base",children:j.clientReference})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Itinéraire"}),a.jsxs("p",{className:"text-base",children:[j.loadingSite," → ",j.unloadingSite]})]}),j.loadingOrderNumber&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"N° Bon de chargement"}),a.jsx("p",{className:"text-base",children:j.loadingOrderNumber})]}),j.loadingOrderDate&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Date du bon de chargement"}),a.jsx("p",{className:"text-base",children:new Date(j.loadingOrderDate).toLocaleDateString("fr-FR")})]}),j.vehicle&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Véhicule"}),a.jsx("p",{className:"text-base",children:j.vehicle.immatriculation})]}),j.trailer&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Remorque"}),a.jsx("p",{className:"text-base",children:j.trailer.numeroChassis})]}),j.mainDriver&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Chauffeur"}),a.jsxs("p",{className:"text-base",children:[j.mainDriver.prenom," ",j.mainDriver.nom]})]})]})]})]}),a.jsx(En,{open:o,onOpenChange:l,children:a.jsxs(yn,{className:"max-w-[95vw] w-full h-[95vh] p-0 flex flex-col",children:[a.jsxs(Cn,{className:"p-4 pb-2 flex-shrink-0",children:[a.jsx(In,{children:"Prévisualisation de l'ordre de mission"}),a.jsxs(Mn,{children:["Ordre de mission pour le voyage ",j.code]})]}),a.jsx("div",{className:"flex-1 overflow-auto p-4",children:c&&a.jsx("iframe",{src:c,className:"w-full h-full min-h-[600px] border rounded",title:"Prévisualisation PDF"})}),a.jsxs("div",{className:"flex justify-end gap-3 p-4 border-t flex-shrink-0",children:[a.jsx(ge,{variant:"outline",onClick:()=>l(!1),children:"Fermer"}),a.jsxs(ge,{onClick:()=>{if(c){const E=document.createElement("a");E.href=c,E.download=`ordre-de-mission-${j.code}.pdf`,document.body.appendChild(E),E.click(),document.body.removeChild(E)}},children:[a.jsx(Y3,{className:"h-4 w-4 mr-2"}),"Télécharger"]})]})]})})]})}async function _He(){return await $t("/api/mission-revenues")}async function DHe(e){return await $t(`/api/voyages/${e}/revenues`)}async function THe(e){if(e.receiptFile){const t=new FormData;return t.append("mission_id",e.missionId.toString()),e.montantPrevu!=null&&t.append("montant_prevu",e.montantPrevu.toString()),e.montantRecu!=null&&t.append("montant_recu",e.montantRecu.toString()),e.origineContrat&&t.append("origine_contrat",e.origineContrat),t.append("receipt",e.receiptFile),await $t("/api/mission-revenues",{method:"POST",body:t})}return await $t("/api/mission-revenues",{method:"POST",body:e})}async function RHe(e,t){return await $t(`/api/mission-revenues/${e}`,{method:"PATCH",body:t})}async function PHe(e){await $t(`/api/mission-revenues/${e}`,{method:"DELETE"})}function QHe(e){return cr({queryKey:["/api/voyages",e,"revenues"],queryFn:()=>DHe(e),enabled:!!e})}function FHe(){const{toast:e}=Er();return _r({mutationFn:t=>THe(t),onSuccess:(t,r)=>{jt.invalidateQueries({queryKey:["/api/voyages",r.voyageId||r.missionId,"revenues"]}),jt.invalidateQueries({queryKey:["/api/voyages",r.voyageId||r.missionId]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"Le revenu a été ajouté avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible d'ajouter le revenu"})}})}function OHe(){const{toast:e}=Er();return _r({mutationFn:({id:t,data:r})=>RHe(t,r),onSuccess:t=>{jt.invalidateQueries({queryKey:["/api/voyage-revenues",t.id]});const r=t.voyageId||t.missionId;jt.invalidateQueries({queryKey:["/api/voyages",r,"revenues"]}),jt.invalidateQueries({queryKey:["/api/voyages",r]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"Le revenu a été modifié avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de modifier le revenu"})}})}function LHe(){const{toast:e}=Er();return _r({mutationFn:t=>PHe(t),onSuccess:(t,r)=>{jt.invalidateQueries({queryKey:["/api/voyage-revenues",r]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"Le revenu a été supprimé avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de supprimer le revenu"})}})}async function MHe(){return await $t("/api/mission-expenses")}async function UHe(e){return await $t(`/api/voyages/${e}/expenses`)}async function zHe(e){if(e.receiptFile){const t=new FormData;return t.append("mission_id",e.missionId.toString()),t.append("categorie",e.categorie),t.append("montant",e.montant.toString()),t.append("date",e.date instanceof Date?e.date.toISOString().split("T")[0]:e.date),e.description&&t.append("description",e.description),t.append("receipt",e.receiptFile),await $t("/api/mission-expenses",{method:"POST",body:t})}return await $t("/api/mission-expenses",{method:"POST",body:e})}async function $He(e){await $t(`/api/mission-expenses/${e}`,{method:"DELETE"})}function HHe(e){return cr({queryKey:["/api/voyages",e,"general-expenses"],queryFn:()=>UHe(e),enabled:!!e,staleTime:0})}function qHe(){const{toast:e}=Er();return _r({mutationFn:t=>zHe(t),onSuccess:async(t,r)=>{const n=r.voyageId||r.missionId;jt.setQueryData(["/api/voyages",n,"general-expenses"],(i=[])=>i.some(s=>s.id===t.id)?i:[...i,t]),await jt.invalidateQueries({queryKey:["/api/voyages",n,"general-expenses"],refetchType:"active"}),await jt.invalidateQueries({queryKey:["/api/voyages",n]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"La dépense a été ajoutée avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible d'ajouter la dépense"})}})}function GHe(){const{toast:e}=Er();return _r({mutationFn:t=>$He(t),onSuccess:async(t,r)=>{const n=await jt.getQueryData(["/api/voyage-general-expenses",r]);if(n){const i=n.voyageId||n.missionId;i&&(jt.invalidateQueries({queryKey:["/api/voyages",i,"general-expenses"]}),jt.invalidateQueries({queryKey:["/api/voyages",i]}))}jt.invalidateQueries({queryKey:["/api/voyage-general-expenses",r]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),e({title:"Succès",description:"La dépense a été supprimée avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de supprimer la dépense"})}})}function VHe({revenue:e,onEdit:t,onDelete:r}){const n=i=>i?new Intl.NumberFormat("fr-FR",{style:"currency",currency:"XOF",minimumFractionDigits:0,maximumFractionDigits:0}).format(i):"—";return e.montantPrevu&&e.montantRecu&&(e.montantPrevu,e.montantRecu),a.jsx(it,{className:"hover:shadow-md transition-shadow",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-start gap-4",children:[a.jsx("div",{className:"p-3 rounded-lg border bg-green-100 text-green-800 border-green-300 dark:bg-green-900/20 dark:text-green-400 flex-shrink-0",children:a.jsx(ew,{className:"h-6 w-6"})}),a.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[a.jsx("div",{className:"flex items-start justify-between gap-2",children:a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx(yt,{variant:"secondary",className:"bg-green-100 text-green-800 border-green-300 dark:bg-green-900/20 dark:text-green-400 mb-2",children:"Revenu de mission"}),a.jsxs("div",{className:"space-y-1",children:[e.montantRecu?a.jsx("p",{className:"text-2xl font-bold text-green-600 dark:text-green-400",children:n(e.montantRecu)}):e.montantPrevu?a.jsx("p",{className:"text-2xl font-bold text-muted-foreground",children:n(e.montantPrevu)}):a.jsx("p",{className:"text-lg text-muted-foreground",children:"—"}),e.montantPrevu&&e.montantRecu&&e.montantPrevu!==e.montantRecu&&a.jsx("div",{className:"flex items-center gap-1 text-xs",children:e.montantRecut(e),className:"h-8 w-8",children:a.jsx(z1,{className:"h-4 w-4"})}),r&&a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>r(e.id),className:"h-8 w-8 text-destructive hover:text-destructive",children:a.jsx(Ns,{className:"h-4 w-4"})})]})]})})})}function R3({missionId:e,onAdd:t,trigger:r,revenue:n,mode:i="create",open:s,onOpenChange:o}){const[l,c]=I.useState(!1),d=s!==void 0,u=d?s:l,h=d?o||(()=>{}):c,[p,A]=I.useState({montantPrevu:n?.montantPrevu,montantRecu:n?.montantRecu,origineContrat:n?.origineContrat}),[y,v]=I.useState(null),[w,j]=I.useState(null),E=I.useRef(null),S=I.useRef(null);I.useEffect(()=>{n&&A({montantPrevu:n.montantPrevu,montantRecu:n.montantRecu,origineContrat:n.origineContrat})},[n]);const _=R=>{const T=R.target.files?.[0];if(T){v(T);const M=new FileReader;M.onloadend=()=>{j(M.result)},M.readAsDataURL(T)}},C=()=>{v(null),j(null),E.current&&(E.current.value=""),S.current&&(S.current.value="")},Q=R=>{R.preventDefault(),t?.({...p,missionId:e,receiptFile:y}),h(!1),i==="create"&&(A({montantPrevu:void 0,montantRecu:void 0,origineContrat:void 0}),v(null),j(null),E.current&&(E.current.value=""),S.current&&(S.current.value=""))};return a.jsxs(En,{open:u,onOpenChange:h,children:[!d&&a.jsx(ah,{asChild:!0,children:r||a.jsxs(ge,{"data-testid":"button-add-revenue",className:"w-full md:w-auto",size:"sm",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),i==="edit"?"Modifier le revenu":"Ajouter un revenu"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:i==="edit"?"Modifier le revenu":"Ajouter un revenu"}),a.jsx(Mn,{children:i==="edit"?"Modifiez les informations du revenu de cette mission.":"Enregistrez un revenu pour cette mission (tour)."})]}),a.jsxs("form",{onSubmit:Q,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"montantPrevu",children:"Montant prévu (FCFA)"}),a.jsx(Xe,{id:"montantPrevu",type:"number",step:"0.01",placeholder:"100000",value:p.montantPrevu||"",onChange:R=>A({...p,montantPrevu:R.target.value?parseFloat(R.target.value):void 0}),min:"0",className:"h-12","data-testid":"input-expected-amount"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"montantRecu",children:"Montant reçu (FCFA)"}),a.jsx(Xe,{id:"montantRecu",type:"number",step:"0.01",placeholder:"100000",value:p.montantRecu||"",onChange:R=>A({...p,montantRecu:R.target.value?parseFloat(R.target.value):void 0}),min:"0",className:"h-12","data-testid":"input-received-amount"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"origineContrat",children:"Origine du contrat"}),a.jsx(Xe,{id:"origineContrat",placeholder:"Client, entreprise, etc.",value:p.origineContrat||"",onChange:R=>A({...p,origineContrat:R.target.value||void 0}),className:"h-12","data-testid":"input-contract-origin"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"receipt",children:"Photo de la pièce justificative (optionnel)"}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex gap-2",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>S.current?.click(),className:"flex-1",children:[a.jsx(mo,{className:"h-4 w-4 mr-2"}),"Prendre une photo"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>E.current?.click(),className:"flex-1",children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Galerie"]})]}),a.jsx("input",{ref:E,type:"file",accept:"image/*",onChange:_,className:"hidden"}),a.jsx("input",{ref:S,type:"file",accept:"image/*",capture:"environment",onChange:_,className:"hidden"}),w&&a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:w,alt:"Aperçu de la pièce justificative",className:"w-full h-auto rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:C,children:a.jsx(Nn,{className:"h-4 w-4"})})]})]})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>h(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",children:i==="edit"?"Modifier":"Ajouter"})]})]})]})]})}function sO({missionId:e,onAdd:t,trigger:r,expense:n,mode:i="create"}){const[s,o]=I.useState(!1),[l,c]=I.useState({categorie:n?.categorie||"autre",montant:n?.montant||0,date:n?.date?n.date instanceof Date?n.date.toISOString().split("T")[0]:Wr(new Date(n.date),"yyyy-MM-dd"):new Date().toISOString().split("T")[0],description:n?.description||"",justificatifUrl:n?.justificatifUrl||""}),[d,u]=I.useState(null),[h,p]=I.useState(null),A=I.useRef(null),y=I.useRef(null),v=E=>{const S=E.target.files?.[0];if(S){u(S);const _=new FileReader;_.onloadend=()=>{p(_.result)},_.readAsDataURL(S)}},w=()=>{u(null),p(null),A.current&&(A.current.value=""),y.current&&(y.current.value="")},j=E=>{E.preventDefault(),t?.({...l,missionId:e,receiptFile:d}),o(!1),i==="create"&&(c({categorie:"autre",montant:0,date:new Date().toISOString().split("T")[0],description:"",justificatifUrl:""}),u(null),p(null),A.current&&(A.current.value=""),y.current&&(y.current.value=""))};return a.jsxs(En,{open:s,onOpenChange:o,children:[a.jsx(ah,{asChild:!0,children:r||a.jsxs(ge,{"data-testid":"button-add-expense",className:"w-full md:w-auto",size:"sm",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),i==="edit"?"Modifier la dépense":"Ajouter une dépense"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:i==="edit"?"Modifier la dépense":"Ajouter une dépense"}),a.jsx(Mn,{children:i==="edit"?"Modifiez les informations de la dépense de cette mission.":"Enregistrez une dépense pour cette mission (frais administratifs, documentation, etc.)."})]}),a.jsxs("form",{onSubmit:j,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"categorie",children:"Catégorie"}),a.jsxs(rn,{value:l.categorie,onValueChange:E=>c({...l,categorie:E}),children:[a.jsx(Xr,{id:"categorie",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner une catégorie"})}),a.jsx(en,{children:FC.map(E=>a.jsxs(Qt,{value:E,children:[E==="carburant"&&"Carburant",E==="peage"&&"Péage",E==="douane"&&"Douane",E==="reparation"&&"Réparation",E==="consommables"&&"Consommables",E==="main_oeuvre"&&"Main d'œuvre",E==="autre"&&"Autre"]},E))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"montant",children:"Montant (FCFA)"}),a.jsx(Xe,{id:"montant",type:"number",step:"0.01",placeholder:"10000",value:l.montant||"",onChange:E=>c({...l,montant:E.target.value?parseFloat(E.target.value):0}),min:"0",required:!0,className:"h-12","data-testid":"input-amount"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"date",children:"Date"}),a.jsx(Xe,{id:"date",type:"date",value:l.date,onChange:E=>c({...l,date:E.target.value}),required:!0,className:"h-12","data-testid":"input-date"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"description",children:"Description"}),a.jsx(Xe,{id:"description",placeholder:"Description de la dépense",value:l.description||"",onChange:E=>c({...l,description:E.target.value||void 0}),className:"h-12","data-testid":"input-description"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"receipt",children:"Photo de la pièce justificative (optionnel)"}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex gap-2",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>y.current?.click(),className:"flex-1",children:[a.jsx(mo,{className:"h-4 w-4 mr-2"}),"Prendre une photo"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:()=>A.current?.click(),className:"flex-1",children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Galerie"]})]}),a.jsx("input",{ref:A,type:"file",accept:"image/*",onChange:v,className:"hidden"}),a.jsx("input",{ref:y,type:"file",accept:"image/*",capture:"environment",onChange:v,className:"hidden"}),h&&a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:h,alt:"Aperçu de la pièce justificative",className:"w-full h-auto rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:w,children:a.jsx(Nn,{className:"h-4 w-4"})})]})]})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>o(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",children:i==="edit"?"Modifier":"Ajouter"})]})]})]})]})}const a4={carburant:cv,peage:ei,douane:dm,reparation:ty,consommables:il,main_oeuvre:Sm,autre:Gl},s4={carburant:"bg-yellow-100 text-yellow-800 border-yellow-300 dark:bg-yellow-900/20 dark:text-yellow-400",peage:"bg-blue-100 text-blue-800 border-blue-300 dark:bg-blue-900/20 dark:text-blue-400",douane:"bg-purple-100 text-purple-800 border-purple-300 dark:bg-purple-900/20 dark:text-purple-400",reparation:"bg-red-100 text-red-800 border-red-300 dark:bg-red-900/20 dark:text-red-400",consommables:"bg-green-100 text-green-800 border-green-300 dark:bg-green-900/20 dark:text-green-400",main_oeuvre:"bg-orange-100 text-orange-800 border-orange-300 dark:bg-orange-900/20 dark:text-orange-400",autre:"bg-gray-100 text-gray-800 border-gray-300 dark:bg-gray-900/20 dark:text-gray-400"},bne={carburant:"Carburant",peage:"Péage",douane:"Douane",reparation:"Réparation",consommables:"Consommables",main_oeuvre:"Main d'œuvre",autre:"Autre"};function w6({expense:e,onEdit:t,onDelete:r,onViewJustificatif:n}){const i=e.categorie||e.category||"autre",s=a4[i]||a4.autre,o=s4[i]||s4.autre,l=bne[i]||i,c=e.montant??e.amountFcfa??null,d=c!=null?Number(c):0,u=isNaN(d)||!isFinite(d)?0:d,h=new Intl.NumberFormat("fr-FR",{style:"currency",currency:"XOF",minimumFractionDigits:0,maximumFractionDigits:0}).format(u),p=e.date??e.expenseAt??null,A=e.justificatifUrl??e.receiptUrl??null;return a.jsx(it,{className:"hover:shadow-md transition-shadow",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-start gap-4",children:[a.jsx("div",{className:`p-3 rounded-lg border ${o} flex-shrink-0`,children:a.jsx(s,{className:"h-6 w-6"})}),a.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx(yt,{variant:"secondary",className:`${o} mb-2`,children:l}),a.jsx("p",{className:"text-2xl font-bold text-foreground",children:h})]}),A&&a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>n?.(A),className:"flex-shrink-0",children:a.jsx(ey,{className:"h-5 w-5"})})]}),e.description&&a.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:e.description}),a.jsx("div",{className:"flex items-center gap-4 text-xs text-muted-foreground",children:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Sl,{className:"h-3 w-3"}),a.jsx("span",{children:p?(()=>{try{const y=new Date(p);return isNaN(y.getTime())?"Date invalide":Wr(y,"d MMM yyyy",{locale:Hr})}catch{return"Date invalide"}})():"Date non disponible"})]})})]}),a.jsxs("div",{className:"flex flex-col gap-2 flex-shrink-0",children:[t&&a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t(e),className:"h-8 w-8",children:a.jsx(z1,{className:"h-4 w-4"})}),r&&a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>r(e.id),className:"h-8 w-8 text-destructive hover:text-destructive",children:a.jsx(Ns,{className:"h-4 w-4"})})]})]})})})}const WHe={planned:"En préparation",in_progress:"En cours",completed:"Terminée",cancelled:"Annulée"},KHe={planned:Kn,in_progress:Bl,completed:na,cancelled:U1},oO={planned:"bg-purple-500/10 text-purple-700 dark:text-purple-400 border-purple-300",in_progress:"bg-green-500/10 text-green-700 dark:text-green-400 border-green-300",completed:"bg-green-500/10 text-green-700 dark:text-green-400 border-green-300",cancelled:"bg-gray-500/10 text-gray-700 dark:text-gray-400 border-gray-300"};function YHe(){const[,e]=mg("/voyages/:id"),[t,r]=Gi(),n=e?.id?parseInt(e.id):null,i=new URLSearchParams(window.location.search),s=i.get("incident")?parseInt(i.get("incident")):null,o=i.get("tab"),l=s,[c,d]=I.useState(o||(l?"journal":"resume"));I.useEffect(()=>{const ie=new URLSearchParams(window.location.search),ae=ie.get("tab"),Ee=ie.get("incident");ae?d(ae):Ee&&d("journal")},[t]),I.useEffect(()=>{const ie=new URLSearchParams(window.location.search),ae=ie.get("tab"),Ee=ie.get("incident");ae?d(ae):Ee&&d("journal")},[]),I.useEffect(()=>{c==="journal"&&o==="journal"&&setTimeout(()=>{const ie=document.querySelector('[data-tab="journal"]');ie?ie.scrollTop=ie.scrollHeight:window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},1e3)},[c,o]);const{data:u,isLoading:h,error:p}=D8(n||0),{data:A,isLoading:y}=dw(n),{toast:v}=Er(),{data:w}=ih(),{data:j=[]}=LS(n||0),E=j.length>0,S=zPe(),[_,C]=I.useState(!1),[Q,R]=I.useState(null),[T,M]=I.useState(null),[O,$]=I.useState(null),[P,L]=I.useState(null),[X,W]=I.useState(null),[G,J]=I.useState(!1),[q,ee]=I.useState(!1),[ne,V]=I.useState(!1),ue=w&&(w.role==="admin"||w.role==="gestionnaire_parc"||w.role==="gestionnaire_mobile"||w.role==="secretaire"),de=_r({mutationFn:async({tripId:ie,data:ae})=>await $t(`/api/trips/${ie}`,{method:"PATCH",body:ae}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/trips"]}),jt.invalidateQueries({queryKey:["/api/voyages"]}),v({title:"Succès",description:"Informations mises à jour avec succès"}),$(null),M(null),L(null),W(null)},onError:ie=>{v({variant:"destructive",title:"Erreur",description:ie.message||"Impossible de mettre à jour les informations"})}}),xe=async()=>{if(!O)return;let ie=O.loadingWeighingTicketUrl||void 0,ae=O.unloadingWeighingTicketUrl||void 0,Ee=O.loadingWeighingTicketCloudinaryPublicId||void 0,re=O.unloadingWeighingTicketCloudinaryPublicId||void 0;if(P)try{const We=await gne(P);ie=We.url,Ee=We.publicId}catch{v({variant:"destructive",title:"Erreur",description:"Impossible d'uploader le ticket de pesée de chargement"});return}if(X)try{const We=await v$e(X);ae=We.url,re=We.publicId}catch{v({variant:"destructive",title:"Erreur",description:"Impossible d'uploader le ticket de pesée de déchargement"});return}de.mutate({tripId:O.id,data:{loadingWeighingTicketUrl:ie||null,unloadingWeighingTicketUrl:ae||null,loadingWeighingTicketCloudinaryPublicId:Ee||null,unloadingWeighingTicketCloudinaryPublicId:re||null}})},{data:_e=[]}=cr({queryKey:["/api/vehicles"]}),Ce=u?.trips||[],we=I.useMemo(()=>(Array.isArray(Ce)?Ce:[]).map(ae=>{const Ee=_e.find(Tt=>Tt.id===ae.vehicleId);let re;ae.startedAt?re=new Date(ae.startedAt):ae.dateDepart?re=new Date(ae.dateDepart):re=new Date,isNaN(re.getTime())&&(re=new Date);let We=null;if(ae.endedAt){const Tt=new Date(ae.endedAt);isNaN(Tt.getTime())||(We=Tt)}else if(ae.dateArrivee){const Tt=new Date(ae.dateArrivee);isNaN(Tt.getTime())||(We=Tt)}return{...ae,vehicleRegistration:Ee?.immatriculation||"",vehiclePhotoUrl:Ee?.photoUrl||null,origine:ae.fromLabel||ae.origine||"",destination:ae.toLabel||ae.destination||"",dateDepart:re,dateArrivee:We}}),[Ce,_e]),ve=I.useMemo(()=>Array.from(new Set(we.map(ie=>ie.vehicleId).filter(Boolean))),[we]),{data:Ne=[]}=cr({queryKey:["/api/breakdowns",ve],queryFn:async()=>{const ie=ve.map(Ee=>T8(Ee));return(await Promise.all(ie)).flat()},enabled:ve.length>0});I.useMemo(()=>{const ie=new Set;return Ne.forEach(ae=>{we.forEach(Ee=>{Ee.vehicleId===ae.vehicleId&&ie.add(Ee.id)})}),ie},[Ne,we]),I.useMemo(()=>{const ie=new Map;return ve.forEach(ae=>{const Ee=Ne.filter(re=>re.vehicleId===ae);Ee.length>0&&ie.set(ae,Ee)}),ie},[Ne,ve]);const{data:Ie=[],isLoading:be}=QHe(n||0),{data:Re=[],isLoading:Pe}=HHe(n||0),{data:Ke=[],isLoading:tt}=cr({queryKey:["/api/voyages",n,"expenses"],queryFn:async()=>{if(!n)return[];const{fetchVoyageExpenses:ie}=await On(async()=>{const{fetchVoyageExpenses:ae}=await Promise.resolve().then(()=>y$);return{fetchVoyageExpenses:ae}},void 0);return ie(n)},enabled:!!n}),{data:pt=[],isLoading:dt}=cr({queryKey:["/api/voyages",n,"trip-expenses"],queryFn:async()=>[],enabled:!1}),Oe=FHe(),Pt=OHe(),Kt=LHe(),gt=qHe(),Jt=GHe(),Bt=I.useMemo(()=>{const ie=Ie.reduce((H,ze)=>{const Ze=ze.montantRecu!=null?Number(ze.montantRecu):0,he=ze.montantPrevu!=null?Number(ze.montantPrevu):0;return H+(Ze||he||0)},0),ae=pt.reduce((H,ze)=>{const Ze=ze.montant!=null?Number(ze.montant):0;return H+(isNaN(Ze)?0:Ze)},0),Ee=Re.reduce((H,ze)=>{const Ze=ze.montant??ze.amountFcfa??null,he=Ze!=null?Number(Ze):0;return H+(isNaN(he)?0:he)},0),re=Ke.reduce((H,ze)=>{const Ze=ze.amountFcfa!=null?Number(ze.amountFcfa):0;return H+(isNaN(Ze)?0:Ze)},0),We=ae+Ee+re,Tt=ie-We;return{totalRevenues:isNaN(ie)?0:ie,totalExpenses:isNaN(We)?0:We,profit:isNaN(Tt)?0:Tt,voyageExpensesTotal:isNaN(re)?0:re}},[Ie,pt,Re,Ke]),tr=ie=>{Oe.mutate(ie)},sr=ie=>{R(ie)},xt=ie=>{Q?.id&&(Pt.mutate({id:Q.id,data:ie}),R(null))},wt=ie=>{confirm("Êtes-vous sûr de vouloir supprimer ce revenu ?")&&Kt.mutate(ie)},Lt=ie=>{gt.mutate(ie)},ir=ie=>{confirm("Êtes-vous sûr de vouloir supprimer cette dépense ?")&&Jt.mutate(ie)},He=ie=>{const ae=ie!=null?Number(ie):0;return isNaN(ae)||!isFinite(ae)?"0 F CFA":new Intl.NumberFormat("fr-FR",{style:"currency",currency:"XOF",minimumFractionDigits:0,maximumFractionDigits:0}).format(ae)},ce=I.useMemo(()=>{if(!u?.expectedTours||u.expectedTours===0)return{completed:0,total:1,percentage:0};const ae=(Array.isArray(Ce)?Ce:[]).filter(We=>We.status==="completed").length,Ee=u.expectedTours,re=Ee>0?Math.min(ae/(Ee*2)*100,100):0;return{completed:ae,total:Ee*2,percentage:re}},[Ce,u?.expectedTours]),Le=I.useMemo(()=>{const ie={};return Re.forEach(ae=>{const Ee=ae.categorie||ae.category||"autre";ie[Ee]||(ie[Ee]=[]),ie[Ee].push(ae)}),ie},[Re]);if(!n)return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>r("/voyages"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsx(it,{className:"p-8",children:a.jsx("p",{className:"text-center text-muted-foreground",children:"ID de voyage invalide"})})]});if(h)return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>r("/voyages"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})]});if(p||!u)return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>r("/voyages"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsx(it,{className:"p-8",children:a.jsx("p",{className:"text-center text-destructive",children:"Voyage non trouvé"})})]});const rt=KHe[u.status]||na;return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>r("/voyages"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsxs("div",{className:"space-y-4",children:[a.jsx(it,{className:"border-2",children:a.jsx(Et,{className:"p-6",children:a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{className:"flex-1",children:[a.jsx("h1",{className:"text-3xl font-bold mb-2",children:u.title}),a.jsx("p",{className:"text-lg text-muted-foreground font-medium",children:u.code})]}),a.jsxs("div",{className:"flex flex-col md:flex-row gap-4 md:gap-6",children:[a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(dm,{className:"h-5 w-5 text-muted-foreground mt-1 flex-shrink-0"}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"Client"}),a.jsx("p",{className:"font-semibold text-base",children:u.clientName})]})]}),a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(ei,{className:"h-5 w-5 text-primary mt-1 flex-shrink-0"}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"Itinéraire"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"font-semibold text-base",children:u.loadingSite}),a.jsx(ov,{className:"h-4 w-4 text-muted-foreground"}),a.jsx("span",{className:"font-semibold text-base",children:u.unloadingSite})]})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(rt,{className:`h-6 w-6 ${oO[u.status]?.split(" ")[1]||"text-gray-500"}`}),a.jsx(yt,{className:`${oO[u.status]} text-base px-4 py-2`,children:WHe[u.status]||u.status})]})]})]})})}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsx(it,{className:"border-2 hover:shadow-md transition-shadow",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex flex-col items-center text-center space-y-3",children:[a.jsxs("div",{className:"relative w-full aspect-video rounded-lg overflow-hidden border-2 bg-muted",children:[u.vehicle?.photoUrl?a.jsx("img",{src:Sr(u.vehicle.photoUrl)||void 0,alt:u.vehicle.immatriculation,className:"w-full h-full object-cover"}):a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx(Fa,{className:"h-16 w-16 text-muted-foreground"})}),a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{className:"bg-primary text-primary-foreground text-sm font-bold px-3 py-1",children:"CAMION"})})]}),a.jsx("p",{className:"font-bold text-lg text-foreground",children:u.vehicle?.immatriculation||"—"})]})})}),a.jsx(it,{className:"border-2 hover:shadow-md transition-shadow",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex flex-col items-center text-center space-y-3",children:[a.jsxs("div",{className:"relative w-full aspect-video rounded-lg overflow-hidden border-2 bg-muted",children:[u.trailer?.photoUrl?a.jsx("img",{src:Sr(u.trailer.photoUrl)||void 0,alt:u.trailer.numeroChassis,className:"w-full h-full object-cover"}):a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx(il,{className:"h-16 w-16 text-muted-foreground"})}),a.jsx("div",{className:"absolute top-2 left-2",children:a.jsx(yt,{className:"bg-secondary text-secondary-foreground text-sm font-bold px-3 py-1",children:"REMORQUE"})})]}),a.jsx("p",{className:"font-bold text-lg text-foreground",children:u.trailer?.numeroChassis||"—"})]})})})]}),a.jsx(it,{className:"border-2",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex flex-col md:flex-row gap-4 md:gap-6",children:[u.mainDriver&&a.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[a.jsx("div",{className:"relative flex-shrink-0",children:u.mainDriver.photoUrl?a.jsx("img",{src:Sr(u.mainDriver.photoUrl)||void 0,alt:`${u.mainDriver.prenom} ${u.mainDriver.nom}`,className:"w-16 h-16 rounded-full object-cover border-2 border-primary/20"}):a.jsx("div",{className:"w-16 h-16 rounded-full bg-muted flex items-center justify-center border-2 border-primary/20",children:a.jsx(Sm,{className:"h-8 w-8 text-muted-foreground"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx(yt,{className:"bg-primary text-primary-foreground text-sm font-bold px-3 py-1 mb-1",children:"CHAUFFEUR"}),a.jsx("p",{className:"text-sm text-muted-foreground font-medium",children:u.mainDriver.prenom})]})]}),u.additionalCrew&&u.additionalCrew.length>0&&a.jsx(a.Fragment,{children:u.additionalCrew.map(ie=>a.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[a.jsx("div",{className:"relative flex-shrink-0",children:ie.photoUrl?a.jsx("img",{src:Sr(ie.photoUrl)||void 0,alt:`${ie.prenom} ${ie.nom}`,className:"w-16 h-16 rounded-full object-cover border-2 border-secondary/20"}):a.jsx("div",{className:"w-16 h-16 rounded-full bg-muted flex items-center justify-center border-2 border-secondary/20",children:a.jsx(Sm,{className:"h-8 w-8 text-muted-foreground"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx(yt,{className:"bg-secondary text-secondary-foreground text-sm font-bold px-3 py-1 mb-1",children:"APPRENTI"}),a.jsx("p",{className:"text-sm text-muted-foreground font-medium",children:ie.prenom})]})]},ie.id))})]})})}),a.jsx(it,{className:"border-2",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-6",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Sl,{className:"h-5 w-5 text-muted-foreground flex-shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Date de départ prévue"}),u.plannedStartAt?a.jsxs("div",{className:"flex items-baseline gap-2",children:[a.jsx("p",{className:"text-base font-bold text-foreground",children:Wr(new Date(u.plannedStartAt),"dd MMM yyyy",{locale:Hr})}),a.jsx("p",{className:"text-sm text-muted-foreground",children:Wr(new Date(u.plannedStartAt),"HH:mm",{locale:Hr})})]}):a.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Non définie"})]})]}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Sl,{className:"h-5 w-5 text-muted-foreground flex-shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Date de retour prévue"}),u.plannedEndAt?a.jsxs("div",{className:"flex items-baseline gap-2",children:[a.jsx("p",{className:"text-base font-bold text-foreground",children:Wr(new Date(u.plannedEndAt),"dd MMM yyyy",{locale:Hr})}),a.jsx("p",{className:"text-sm text-muted-foreground",children:Wr(new Date(u.plannedEndAt),"HH:mm",{locale:Hr})})]}):a.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Non définie"})]})]})]})})}),a.jsxs("div",{className:"flex flex-wrap gap-2 justify-end",children:[a.jsxs(ge,{variant:"outline",onClick:()=>V(!0),children:[a.jsx(Nse,{className:"h-4 w-4 mr-2"}),"Ordre de mission"]}),ue&&a.jsxs(ge,{variant:"outline",onClick:()=>r(`/voyages/${u.id}/edit`),children:[a.jsx($m,{className:"h-4 w-4 mr-2"}),"Modifier"]}),a.jsxs(ge,{onClick:()=>r(`/trajets/new?missionId=${u.id}`),children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter un trajet"]}),ue&&a.jsx(ge,{variant:"outline",onClick:()=>C(!0),className:"text-destructive hover:text-destructive hover:bg-destructive/10",children:E?a.jsxs(a.Fragment,{children:[a.jsx(ise,{className:"h-4 w-4 mr-2"}),"Archiver"]}):a.jsxs(a.Fragment,{children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer"]})})]})]}),a.jsxs(ul,{value:c,onValueChange:d,className:"space-y-6",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-5",children:[a.jsxs(hn,{value:"resume",className:"flex items-center gap-2",children:[a.jsx(po,{className:"h-4 w-4"}),"Résumé"]}),a.jsxs(hn,{value:"trajets",className:"flex items-center gap-2",children:[a.jsx(Fa,{className:"h-4 w-4"}),"Trajets"]}),a.jsxs(hn,{value:"journal",className:"flex items-center gap-2",children:[a.jsx(Wf,{className:"h-4 w-4"}),"Journal"]}),a.jsxs(hn,{value:"carte",className:"flex items-center gap-2",children:[a.jsx(u1,{className:"h-4 w-4"}),"Carte"]}),a.jsxs(hn,{value:"argent",className:"flex items-center gap-2",children:[a.jsx(_se,{className:"h-4 w-4"}),"Argent"]})]}),a.jsx(dn,{value:"resume",className:"space-y-6",children:a.jsx("div",{className:"space-y-6",children:a.jsxs("div",{className:"space-y-6",children:[a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Informations générales"}),a.jsx(wn,{children:"Détails du voyage et du chargement"})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsxs("p",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[a.jsx(il,{className:"h-4 w-4"}),"Type de chargement"]}),a.jsx(yt,{variant:"secondary",className:"text-base px-3 py-1",children:u.loadingType})]}),a.jsx(Wb,{}),a.jsxs("div",{children:[a.jsxs("p",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[a.jsx(dm,{className:"h-4 w-4"}),"Client"]}),a.jsx("p",{className:"text-base",children:u.clientName}),u.clientReference&&a.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Ref: ",u.clientReference]})]}),a.jsx(Wb,{}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium mb-2",children:"Itinéraire"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-5 w-5 text-primary"}),a.jsx("span",{className:"font-semibold",children:u.loadingSite}),a.jsx(ov,{className:"h-4 w-4 text-muted-foreground"}),a.jsx(ei,{className:"h-5 w-5 text-primary"}),a.jsx("span",{className:"font-semibold",children:u.unloadingSite})]})]}),a.jsx(Wb,{}),a.jsxs("div",{children:[a.jsxs("p",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[a.jsx(ey,{className:"h-4 w-4"}),"Bon de chargement"]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("p",{className:"text-base",children:["N° ",u.loadingOrderNumber]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:u.loadingOrderDate&&Wr(new Date(u.loadingOrderDate),"PPP",{locale:Hr})}),u.loadingBonImageUrl?a.jsxs("div",{className:"mt-3 relative group",children:[a.jsx("img",{src:Sr(u.loadingBonImageUrl)||u.loadingBonImageUrl,alt:"Bon de chargement",className:"w-full max-w-md h-auto rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>J(!0)}),a.jsx(ge,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity bg-background/80",onClick:()=>J(!0),children:a.jsx(hI,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"mt-3 p-8 border-2 border-dashed rounded-lg text-center",children:[a.jsx(po,{className:"h-12 w-12 mx-auto text-muted-foreground mb-2"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Photo du bon non ajoutée"})]})]})]})]})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Nombre de tours prévus"}),a.jsx(wn,{children:"Suivi de la progression des tours"})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsx("p",{className:"text-base",children:"1 tour = aller + retour complet"}),u.expectedTours&&u.expectedTours>0&&a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between text-sm",children:[a.jsx("span",{className:"text-muted-foreground",children:"Tours réalisés"}),a.jsxs("span",{className:"font-semibold",children:[ce.completed," / ",ce.total," voyages"]})]}),a.jsx(QS,{value:ce.percentage,className:"h-3"})]})]})]})]})})}),a.jsx(dn,{value:"trajets",className:"space-y-6",children:y?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):A?a.jsxs("div",{className:"space-y-6",children:[A.outbound&&A.outbound.steps.length>0&&a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(Fa,{className:"h-5 w-5"}),"Trajet ALLER"]}),A.outbound.currentStepId!==null?a.jsx(yt,{variant:"outline",className:"bg-blue-500/10 text-blue-700 dark:text-blue-400 border-blue-300",children:"En cours"}):A.outbound.steps.every(ie=>ie.reachedAt)?a.jsx(yt,{variant:"outline",className:"bg-green-500/10 text-green-700 dark:text-green-400 border-green-300",children:"Terminé"}):a.jsx(yt,{variant:"outline",className:"bg-gray-500/10 text-gray-700 dark:text-gray-400 border-gray-300",children:"Planifié"})]})}),a.jsx(Et,{children:a.jsx("div",{className:"space-y-0",children:A.outbound.steps.map((ie,ae)=>{const Ee=!!ie.reachedAt,re=ie.id===A.outbound.currentStepId&&!Ee,We={usine:dm,douane:Kn,dépôt:il,autre:ei},Tt={usine:"Usine",douane:"Douane",dépôt:"Dépôt",autre:"Autre"},H=We[ie.category]||ei,ze=re?"border-blue-500":Ee?"border-green-500":"border-blue-300",Ze=Ee?"bg-green-300":"bg-blue-300",he=Ee?"bg-green-500":"bg-blue-500";return a.jsxs("div",{className:"relative flex items-start gap-3 py-3",children:[a.jsx("div",{className:"flex-shrink-0 relative z-10",children:re?a.jsx("div",{className:"w-6 h-6 rounded-full bg-blue-500 flex items-center justify-center",children:a.jsx(Bl,{className:"h-4 w-4 text-white"})}):Ee?a.jsx("div",{className:"w-6 h-6 rounded-full bg-green-500 border-2 border-green-500"}):a.jsx("div",{className:`w-6 h-6 rounded-full border-2 ${ze} bg-white dark:bg-gray-800`})}),a.jsx("div",{className:`flex-shrink-0 w-8 h-8 ${he} rounded flex items-center justify-center`,children:a.jsx(H,{className:"h-5 w-5 text-white"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("h4",{className:"font-semibold text-base",children:ie.label}),a.jsx(yt,{variant:"outline",className:"text-xs bg-gray-100 dark:bg-gray-800",children:Tt[ie.category]||ie.category})]}),re&&!Ee&&a.jsx("p",{className:"text-sm text-blue-600 dark:text-blue-400 font-medium",children:"Étape en cours"}),Ee&&ie.reachedAt&&a.jsxs("p",{className:"text-xs text-green-600 dark:text-green-400",children:["Atteint le ",Wr(new Date(ie.reachedAt),"dd MMM yyyy à HH:mm",{locale:Hr})]})]}),a.jsx(ge,{variant:"ghost",size:"icon",className:"flex-shrink-0 w-6 h-6 rounded-full",children:a.jsx(Gl,{className:"h-4 w-4 text-muted-foreground"})}),ae0&&a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(Fa,{className:"h-5 w-5"}),"Trajet RETOUR"]}),A.inbound.currentStepId!==null?a.jsx(yt,{variant:"outline",className:"bg-blue-500/10 text-blue-700 dark:text-blue-400 border-blue-300",children:"En cours"}):A.inbound.steps.every(ie=>ie.reachedAt)?a.jsx(yt,{variant:"outline",className:"bg-green-500/10 text-green-700 dark:text-green-400 border-green-300",children:"Terminé"}):a.jsx(yt,{variant:"outline",className:"bg-gray-500/10 text-gray-700 dark:text-gray-400 border-gray-300",children:"Planifié"})]})}),a.jsx(Et,{children:a.jsx("div",{className:"space-y-0",children:A.inbound.steps.map((ie,ae)=>{const Ee=!!ie.reachedAt,re=ie.id===A.inbound.currentStepId&&!Ee,We={usine:dm,douane:Kn,dépôt:il,autre:ei},Tt={usine:"Usine",douane:"Douane",dépôt:"Dépôt",autre:"Autre"},H=We[ie.category]||ei,ze=re?"border-blue-500":Ee?"border-green-500":"border-blue-300",Ze=Ee?"bg-green-300":"bg-blue-300",he=Ee?"bg-green-500":"bg-blue-500";return a.jsxs("div",{className:"relative flex items-start gap-3 py-3",children:[a.jsx("div",{className:"flex-shrink-0 relative z-10",children:re?a.jsx("div",{className:"w-6 h-6 rounded-full bg-blue-500 flex items-center justify-center",children:a.jsx(Bl,{className:"h-4 w-4 text-white"})}):Ee?a.jsx("div",{className:"w-6 h-6 rounded-full bg-green-500 border-2 border-green-500"}):a.jsx("div",{className:`w-6 h-6 rounded-full border-2 ${ze} bg-white dark:bg-gray-800`})}),a.jsx("div",{className:`flex-shrink-0 w-8 h-8 ${he} rounded flex items-center justify-center`,children:a.jsx(H,{className:"h-5 w-5 text-white"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("h4",{className:"font-semibold text-base",children:ie.label}),a.jsx(yt,{variant:"outline",className:"text-xs bg-gray-100 dark:bg-gray-800",children:Tt[ie.category]||ie.category})]}),re&&!Ee&&a.jsx("p",{className:"text-sm text-blue-600 dark:text-blue-400 font-medium",children:"Étape en cours"}),Ee&&ie.reachedAt&&a.jsxs("p",{className:"text-xs text-green-600 dark:text-green-400",children:["Atteint le ",Wr(new Date(ie.reachedAt),"dd MMM yyyy à HH:mm",{locale:Hr})]})]}),a.jsx(ge,{variant:"ghost",size:"icon",className:"flex-shrink-0 w-6 h-6 rounded-full",children:a.jsx(Gl,{className:"h-4 w-4 text-muted-foreground"})}),ae{console.log("Voir incident",ie)},onCreateIncident:()=>{ee(!0)}}),a.jsx(SHe,{voyageId:n||0,open:q,onOpenChange:ee})]}),a.jsx(dn,{value:"carte",className:"space-y-6",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Visualisation cartographique"}),a.jsx(wn,{children:"Suivi géographique des trajets du voyage"})]}),a.jsx(Et,{children:a.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[a.jsx(u1,{className:"h-12 w-12 mx-auto mb-4 opacity-50"}),a.jsx("p",{className:"text-lg font-medium mb-2",children:"En développement"}),a.jsx("p",{className:"text-sm",children:"La visualisation cartographique sera bientôt disponible."})]})})]})}),a.jsxs(dn,{value:"argent",className:"space-y-6",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[a.jsxs(it,{className:"border-green-200 dark:border-green-900",children:[a.jsx(br,{className:"pb-3",children:a.jsxs(jr,{className:"text-sm font-medium text-muted-foreground flex items-center gap-2",children:[a.jsx(fI,{className:"h-5 w-5 text-green-500"}),"Ce que le client paye"]})}),a.jsxs(Et,{className:"space-y-2",children:[a.jsx("p",{className:"text-3xl font-bold text-green-600 dark:text-green-400",children:He(Bt.totalRevenues)}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Total payé par le client"})]})]}),a.jsxs(it,{className:"border-red-200 dark:border-red-900",children:[a.jsx(br,{className:"pb-3",children:a.jsxs(jr,{className:"text-sm font-medium text-muted-foreground flex items-center gap-2",children:[a.jsx(fI,{className:"h-5 w-5 text-red-500"}),"Ce que le voyage coûte"]})}),a.jsxs(Et,{className:"space-y-2",children:[a.jsx("p",{className:"text-3xl font-bold text-red-600 dark:text-red-400",children:He(Bt.totalExpenses)}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Total des dépenses"})]})]}),a.jsxs(it,{className:`${Bt.profit>=0?"border-violet-200 dark:border-violet-900":"border-red-200 dark:border-red-900"}`,children:[a.jsx(br,{className:"pb-3",children:a.jsxs(jr,{className:"text-sm font-medium text-muted-foreground flex items-center gap-2",children:[a.jsx(fI,{className:`h-5 w-5 ${Bt.profit>=0?"text-violet-500":"text-red-500"}`}),Bt.profit>=0?"Bénéfice":"Perte estimée"]})}),a.jsxs(Et,{className:"space-y-2",children:[a.jsx("p",{className:`text-3xl font-bold ${Bt.profit>=0?"text-violet-600 dark:text-violet-400":"text-red-600 dark:text-red-400"}`,children:He(Math.abs(Bt.profit))}),a.jsx("p",{className:"text-xs text-muted-foreground",children:Bt.profit>=0?"Bénéfice pour ce voyage":"Perte estimée pour ce voyage"})]})]})]}),Bt.totalRevenues>0&&a.jsxs(it,{children:[a.jsx(br,{children:a.jsx(jr,{className:"text-sm",children:"Répartition des montants"})}),a.jsxs(Et,{className:"space-y-3",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between text-xs",children:[a.jsx("span",{className:"text-green-600 dark:text-green-400",children:"Revenus"}),a.jsx("span",{className:"font-semibold",children:He(Bt.totalRevenues)})]}),a.jsx("div",{className:"h-4 bg-green-200 dark:bg-green-900 rounded-full overflow-hidden",children:a.jsx("div",{className:"h-full bg-green-500",style:{width:"100%"}})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between text-xs",children:[a.jsx("span",{className:"text-red-600 dark:text-red-400",children:"Dépenses"}),a.jsx("span",{className:"font-semibold",children:He(Bt.totalExpenses)})]}),a.jsx("div",{className:"h-4 bg-red-200 dark:bg-red-900 rounded-full overflow-hidden",children:a.jsx("div",{className:"h-full bg-red-500",style:{width:`${Bt.totalRevenues>0?Bt.totalExpenses/Bt.totalRevenues*100:0}%`}})})]})]})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx(jr,{children:"Revenus du voyage"}),a.jsx(wn,{children:"Ce que le client paye"})]}),Ie.length===0&&a.jsx(R3,{missionId:n,onAdd:tr})]})}),a.jsx(Et,{children:be?a.jsx("div",{className:"flex justify-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):Ie.length===0?a.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[a.jsx("p",{className:"mb-4",children:"Aucun revenu enregistré pour ce voyage"}),a.jsx(R3,{missionId:n,onAdd:tr})]}):a.jsx("div",{className:"space-y-4",children:Ie.map(ie=>a.jsx(VHe,{revenue:ie,onEdit:sr,onDelete:wt},ie.id))})})]}),Q&&a.jsx(R3,{missionId:n||0,revenue:Q,mode:"edit",onAdd:xt,open:!!Q,onOpenChange:ie=>{ie||R(null)}}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx(jr,{children:"Dépenses générales du voyage"}),a.jsxs(wn,{children:["Dépenses générales du voyage",Bt.voyageExpensesTotal>0&&a.jsxs("span",{className:"ml-2 text-xs",children:["(+ ",He(Bt.voyageExpensesTotal)," enregistrées par le chauffeur)"]})]})]}),a.jsx(sO,{missionId:n,onAdd:Lt})]})}),a.jsx(Et,{children:Pe?a.jsx("div",{className:"flex justify-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):Re.length===0?a.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[a.jsx("p",{className:"mb-4",children:"Aucune dépense générale enregistrée pour ce voyage"}),a.jsx(sO,{missionId:n,onAdd:Lt})]}):a.jsx("div",{className:"space-y-6",children:Object.entries(Le).map(([ie,ae])=>{const Ee=a4[ie]||a4.autre,re=s4[ie]||s4.autre,We=bne[ie]||ie,Tt=ae.reduce((H,ze)=>{const Ze=ze.montant??ze.amountFcfa??null,he=Ze!=null?Number(Ze):0;return H+(isNaN(he)?0:he)},0);return a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:`p-2 rounded-lg ${re}`,children:a.jsx(Ee,{className:"h-4 w-4"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold",children:We}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[ae.length," dépense",ae.length>1?"s":""]})]})]}),a.jsx("p",{className:"text-lg font-bold",children:He(Tt)})]}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 pl-4 border-l-2 border-muted",children:ae.map(H=>a.jsx(w6,{expense:H,onDelete:ir,onViewJustificatif:ze=>window.open(ze,"_blank")},H.id))})]},ie)})})})]}),Ke.length>0&&a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Dépenses enregistrées par le chauffeur"}),a.jsx(wn,{children:"Frais enregistrés via l'application PWA"})]}),a.jsx(Et,{children:tt?a.jsx("div",{className:"flex justify-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs("div",{className:"space-y-3",children:[Ke.map(ie=>{const Ee={fuel:"Carburant",toll:"Péage",parking:"Stationnement",meal:"Repas",accommodation:"Hébergement",other:"Autre"}[ie.category]||ie.category;return a.jsxs("div",{className:"flex items-start gap-3 p-3 border rounded-lg",children:[a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:"flex items-center justify-between mb-1",children:[a.jsx("span",{className:"font-semibold",children:Ee}),a.jsx("span",{className:"text-lg font-bold text-red-600",children:He(ie.amountFcfa)})]}),ie.description&&a.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:ie.description}),a.jsx("p",{className:"text-xs text-muted-foreground",children:Wr(new Date(ie.expenseAt||ie.createdAt),"PPP 'à' HH:mm",{locale:Hr})})]}),ie.receiptUrl&&a.jsx(ge,{variant:"outline",size:"sm",onClick:()=>window.open(Sr(ie.receiptUrl)||ie.receiptUrl,"_blank"),children:a.jsx(po,{className:"h-4 w-4"})})]},ie.id)}),a.jsx("div",{className:"pt-2 border-t",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"font-semibold",children:"Total des dépenses chauffeur"}),a.jsx("span",{className:"text-xl font-bold text-red-600",children:He(Bt.voyageExpensesTotal)})]})})]})})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Dépenses par tour"}),a.jsx(wn,{children:"Dépenses regroupées par tour (aller / retour)"})]}),a.jsx(Et,{children:we.length===0?a.jsx("div",{className:"text-center py-12 text-muted-foreground",children:a.jsx("p",{children:"Aucun voyage associé à cette mission"})}):a.jsx("div",{className:"space-y-6",children:Array.isArray(we)&&we.map(ie=>{const ae=pt.filter(We=>We.tripId===ie.id),Ee=ae.reduce((We,Tt)=>{const H=Tt.montant!=null?Number(Tt.montant):0;return We+(isNaN(H)?0:H)},0),re=ie.origine&&ie.destination?`${ie.origine} → ${ie.destination}`:`Voyage #${ie.id}`;return a.jsx(it,{className:"border-l-4 border-l-primary",children:a.jsxs(Et,{className:"p-4",children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"font-semibold text-lg",children:re}),a.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[a.jsx(yt,{variant:"outline",className:"text-xs",children:ie.status==="scheduled"?"Programmé":ie.status==="in_transit"?"En cours":ie.status==="completed"?"Terminé":"Annulé"}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:[ae.length," dépense",ae.length>1?"s":""]})]})]}),a.jsxs("div",{className:"text-right",children:[a.jsx("p",{className:"text-2xl font-bold",children:He(Ee)}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Total du voyage"})]})]}),ae.length>0?a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:ae.map(We=>a.jsx(w6,{expense:We,onViewJustificatif:Tt=>window.open(Tt,"_blank")},We.id))}):a.jsx("p",{className:"text-sm text-muted-foreground",children:"Aucune dépense pour ce voyage"}),a.jsx(ge,{variant:"outline",size:"sm",className:"mt-4 w-full",onClick:()=>r(`/trajets/${ie.id}`),children:"Voir le détail du voyage"})]})},ie.id)})})})]})]})]}),a.jsx(En,{open:G,onOpenChange:J,children:a.jsxs(yn,{className:"max-w-[98vw] w-full p-0 max-h-[98vh] overflow-hidden flex flex-col",children:[a.jsxs(Cn,{className:"p-4 pb-2 flex-shrink-0",children:[a.jsx(In,{children:"Bon de chargement"}),a.jsxs(Mn,{children:["N° ",u.loadingOrderNumber," - ",u.loadingOrderDate&&Wr(new Date(u.loadingOrderDate),"PPP",{locale:Hr})]})]}),a.jsx("div",{className:"p-2 flex-1 overflow-auto flex items-center justify-center min-h-0",children:u.loadingBonImageUrl&&a.jsx("img",{src:Sr(u.loadingBonImageUrl)||u.loadingBonImageUrl,alt:"Bon de chargement",className:"max-w-[95vw] max-h-[90vh] w-auto h-auto rounded-lg border object-contain"})})]})}),a.jsx(En,{open:T!==null,onOpenChange:ie=>{ie||($(null),M(null),L(null),W(null))},children:a.jsxs(yn,{className:"sm:max-w-[500px] mx-4 max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Modifier les informations du chauffeur"}),a.jsx(Mn,{children:"Modifiez les tickets de pesée et autres informations renseignées par le chauffeur"})]}),O&&a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{children:[a.jsx(Se,{className:"text-sm font-medium mb-2 block",children:"Ticket de pesée de chargement"}),O.loadingWeighingTicketUrl&&!P&&a.jsxs("div",{className:"mb-2 relative group",children:[a.jsx("img",{src:O.loadingWeighingTicketUrl,alt:"Ticket actuel",className:"w-full h-32 object-cover rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>window.open(O.loadingWeighingTicketUrl,"_blank")}),a.jsx(ge,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity bg-background/80",onClick:()=>window.open(O.loadingWeighingTicketUrl,"_blank"),children:a.jsx(hI,{className:"h-4 w-4"})}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:"Ticket actuel"})]}),a.jsx("input",{type:"file",accept:"image/*",id:"edit-loading-ticket",onChange:ie=>{const ae=ie.target.files?.[0];ae&&L(ae)},className:"hidden"}),P?a.jsxs("div",{className:"space-y-2",children:[a.jsx("img",{src:URL.createObjectURL(P),alt:"Nouveau ticket",className:"w-full h-32 object-cover rounded-lg border"}),a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>L(null),className:"w-full",children:"Supprimer"})]}):a.jsxs(ge,{variant:"outline",onClick:()=>document.getElementById("edit-loading-ticket")?.click(),className:"w-full",children:[a.jsx(mo,{className:"h-4 w-4 mr-2"}),O.loadingWeighingTicketUrl?"Remplacer le ticket":"Ajouter un ticket"]})]}),a.jsxs("div",{children:[a.jsx(Se,{className:"text-sm font-medium mb-2 block",children:"Ticket de pesée de déchargement"}),O.unloadingWeighingTicketUrl&&!X&&a.jsxs("div",{className:"mb-2 relative group",children:[a.jsx("img",{src:O.unloadingWeighingTicketUrl,alt:"Ticket actuel",className:"w-full h-32 object-cover rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>window.open(O.unloadingWeighingTicketUrl,"_blank")}),a.jsx(ge,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity bg-background/80",onClick:()=>window.open(O.unloadingWeighingTicketUrl,"_blank"),children:a.jsx(hI,{className:"h-4 w-4"})}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:"Ticket actuel"})]}),a.jsx("input",{type:"file",accept:"image/*",id:"edit-unloading-ticket",onChange:ie=>{const ae=ie.target.files?.[0];ae&&W(ae)},className:"hidden"}),X?a.jsxs("div",{className:"space-y-2",children:[a.jsx("img",{src:URL.createObjectURL(X),alt:"Nouveau ticket",className:"w-full h-32 object-cover rounded-lg border"}),a.jsx(ge,{variant:"ghost",size:"sm",onClick:()=>W(null),className:"w-full",children:"Supprimer"})]}):a.jsxs(ge,{variant:"outline",onClick:()=>document.getElementById("edit-unloading-ticket")?.click(),className:"w-full",children:[a.jsx(mo,{className:"h-4 w-4 mr-2"}),O.unloadingWeighingTicketUrl?"Remplacer le ticket":"Ajouter un ticket"]})]})]}),a.jsxs(Na,{children:[a.jsx(ge,{variant:"outline",onClick:()=>{$(null),M(null),L(null),W(null)},children:"Annuler"}),a.jsx(ge,{onClick:xe,disabled:de.isPending,children:de.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Enregistrement..."]}):"Enregistrer"})]})]})}),a.jsx(du,{open:_,onOpenChange:C,children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:E?"Archiver ce voyage ?":"Supprimer ce voyage ?"}),a.jsx(Cc,{children:E?a.jsx(a.Fragment,{children:"Ce voyage a commencé (il contient des événements dans le journal). Il sera archivé et ne s'affichera plus dans la liste des voyages actifs, mais restera accessible pour consultation."}):a.jsx(a.Fragment,{children:"Cette action est irréversible. Le voyage sera définitivement supprimé."})})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:async()=>{if(n)try{const ie=await S.mutateAsync(n);C(!1),v({title:ie.archived?"Voyage archivé":"Voyage supprimé",description:ie.archived?"Le voyage a été archivé avec succès.":"Le voyage a été supprimé avec succès."}),r("/voyages")}catch{}},className:E?"bg-orange-600 hover:bg-orange-700":"bg-destructive text-destructive-foreground hover:bg-destructive/90",disabled:S.isPending,children:S.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),E?"Archivage...":"Suppression..."]}):E?"Archiver":"Supprimer"})]})]})}),a.jsx(En,{open:ne,onOpenChange:V,children:a.jsxs(yn,{className:"max-w-6xl w-full max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Ordre de mission"}),a.jsxs(Mn,{children:["Voyage ",u.code," - ",u.title]})]}),a.jsx(kHe,{voyageId:n||0})]})})]})}function ZHe(){const[,e]=mg("/voyages/:id/ordre-de-mission"),[,t]=Gi(),r=e?.id?parseInt(e.id):null,{data:n,isLoading:i,error:s}=fY(r||0),[o,l]=I.useState(!1);return I.useEffect(()=>{n&&!o&&(l(!0),(async()=>{try{const d=await Gw(a.jsx(b6,{data:n})).toBlob(),u=URL.createObjectURL(d),h=document.createElement("a");h.href=u,h.download=`ordre-de-mission-${n.voyage.code}.pdf`,document.body.appendChild(h),h.click(),document.body.removeChild(h),URL.revokeObjectURL(u),setTimeout(()=>{t(`/voyages/${r}`)},500)}catch(d){console.error("Erreur lors de la génération du PDF:",d),alert("Erreur lors de la génération du PDF. Veuillez réessayer."),l(!1)}})())},[n,r,t,o]),r?i||o?a.jsx("div",{className:"max-w-4xl mx-auto p-8",children:a.jsxs("div",{className:"flex flex-col justify-center items-center py-12 space-y-4",children:[a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"}),a.jsx("p",{className:"text-muted-foreground",children:i?"Chargement des données...":"Génération du PDF..."})]})}):s||!n?a.jsx("div",{className:"max-w-4xl mx-auto p-8",children:a.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[a.jsx("p",{className:"text-center text-destructive",children:s instanceof Error?s.message:"Erreur lors du chargement de l'ordre de mission"}),a.jsxs(ge,{variant:"outline",onClick:()=>t(`/voyages/${r}`),children:[a.jsx(iu,{className:"h-4 w-4 mr-2"}),"Retour au voyage"]})]})}):a.jsx("div",{className:"max-w-4xl mx-auto p-8",children:a.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[a.jsx("p",{className:"text-muted-foreground",children:"Génération du PDF en cours..."}),a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})]})}):a.jsxs("div",{className:"max-w-4xl mx-auto p-8",children:[a.jsx("p",{className:"text-center text-muted-foreground",children:"ID de voyage invalide"}),a.jsx("div",{className:"flex justify-center mt-4",children:a.jsxs(ge,{variant:"outline",onClick:()=>t("/voyages"),children:[a.jsx(iu,{className:"h-4 w-4 mr-2"}),"Retour aux voyages"]})})]})}function JHe({imageUrl:e,onImageChange:t,isLoading:r=!1}){const[n,i]=I.useState(!1),[s,o]=I.useState(!1),l=I.useRef(null),c=I.useRef(null),{toast:d}=Er(),u=async y=>{if(y){if(!y.type.startsWith("image/")){alert("Veuillez sélectionner une image");return}if(y.size>5*1024*1024){alert("L'image est trop grande (maximum 5MB)");return}o(!0);try{const v=await Hm(y,{preset:"pod"}),w=((1-v.optimizedSize/v.originalSize)*100).toFixed(0);v.originalSize>v.optimizedSize&&d({title:"Image optimisée",description:`${ol(v.originalSize)} → ${ol(v.optimizedSize)} (-${w}%)`,duration:3e3}),i(!0);const j=await g$e(v.file);t(j.url)}catch(v){console.error("Error uploading justificatif:",v),d({variant:"destructive",title:"Erreur",description:v instanceof Error?v.message:"Erreur lors de l'upload du justificatif"})}finally{o(!1),i(!1)}}},h=()=>{c.current?.click()},p=()=>{l.current?.click()},A=()=>{t(null),l.current&&(l.current.value=""),c.current&&(c.current.value="")};return a.jsxs("div",{className:"space-y-3",children:[e?a.jsx(it,{className:"p-4",children:a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:e,alt:"Justificatif",className:"w-full h-auto max-h-64 object-contain rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:A,disabled:n||r||s,children:a.jsx(Nn,{className:"h-4 w-4"})})]})}):a.jsxs("div",{className:"flex gap-2",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:h,disabled:n||r||s,className:"flex-1",children:[n||s?a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}):a.jsx(mo,{className:"h-4 w-4 mr-2"}),"Photo"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:p,disabled:n||r||s,className:"flex-1",children:[n||s?a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}):a.jsx(Nm,{className:"h-4 w-4 mr-2"}),"Galerie"]})]}),a.jsx("input",{ref:l,type:"file",accept:"image/*",className:"hidden",onChange:y=>u(y.target.files?.[0]||null)}),a.jsx("input",{ref:c,type:"file",accept:"image/*",capture:"environment",className:"hidden",onChange:y=>u(y.target.files?.[0]||null)})]})}function XHe({tripId:e,onAdd:t,trigger:r}){const[n,i]=I.useState(!1),[s,o]=I.useState({categorie:"carburant",montant:0,date:new Date().toISOString().split("T")[0],description:void 0,justificatifUrl:void 0}),l=c=>{c.preventDefault(),t?.({...s,tripId:e}),i(!1),o({categorie:"carburant",montant:0,date:new Date().toISOString().split("T")[0],description:void 0,justificatifUrl:void 0})};return a.jsxs(En,{open:n,onOpenChange:i,children:[a.jsx(ah,{asChild:!0,children:r||a.jsxs(ge,{"data-testid":"button-add-expense",className:"w-full md:w-auto",size:"sm",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter une dépense"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Ajouter une dépense"}),a.jsx(Mn,{children:"Enregistrez une dépense pour ce voyage."})]}),a.jsxs("form",{onSubmit:l,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"categorie",children:["Catégorie ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:s.categorie,onValueChange:c=>o({...s,categorie:c}),required:!0,children:[a.jsx(Xr,{id:"categorie","data-testid":"select-category",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner une catégorie"})}),a.jsx(en,{children:FC.map(c=>a.jsx(Qt,{value:c,children:c.charAt(0).toUpperCase()+c.slice(1).replace("_"," ")},c))})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"montant",children:["Montant (FCFA) ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"montant",type:"number",step:"0.01",placeholder:"50000",value:s.montant,onChange:c=>o({...s,montant:parseFloat(c.target.value)||0}),required:!0,min:"0",className:"h-12","data-testid":"input-amount"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"date",children:["Date ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"date",type:"date",value:s.date,onChange:c=>o({...s,date:c.target.value}),required:!0,className:"h-12","data-testid":"input-date"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"description",children:"Description"}),a.jsx(K0,{id:"description",placeholder:"Détails de la dépense...",value:s.description||"",onChange:c=>o({...s,description:c.target.value||void 0}),rows:3,"data-testid":"textarea-description"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Justificatif (photo du ticket)"}),a.jsx(JHe,{imageUrl:s.justificatifUrl,onImageChange:c=>o({...s,justificatifUrl:c||void 0})})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>i(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",children:"Ajouter"})]})]})]})]})}async function eqe(e){return await $t(`/api/trips/${e}/expenses`)}async function tqe(e){return await $t("/api/trip-expenses",{method:"POST",body:e})}async function rqe(e){await $t(`/api/trip-expenses/${e}`,{method:"DELETE"})}function nqe(e){return cr({queryKey:["/api/trips",e,"expenses"],queryFn:()=>eqe(e),enabled:!!e})}function iqe(){const{toast:e}=Er();return _r({mutationFn:t=>tqe(t),onSuccess:(t,r)=>{jt.invalidateQueries({queryKey:["/api/trips",r.tripId,"expenses"]}),jt.invalidateQueries({queryKey:["/api/trip-expenses"]}),jt.invalidateQueries({queryKey:["/api/trips",r.tripId]}),e({title:"Succès",description:"La dépense a été ajoutée avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible d'ajouter la dépense"})}})}function aqe(){const{toast:e}=Er();return _r({mutationFn:t=>rqe(t),onSuccess:(t,r)=>{jt.invalidateQueries({queryKey:["/api/trip-expenses"]}),jt.invalidateQueries({queryKey:["/api/trip-expenses",r]}),jt.invalidateQueries({queryKey:["/api/trips"]}),e({title:"Succès",description:"La dépense a été supprimée avec succès"})},onError:t=>{e({variant:"destructive",title:"Erreur",description:t.message||"Impossible de supprimer la dépense"})}})}async function sqe(e,t=5e3){return await $t(`/api/trips/${e}/track-points?limit=${t}`)}function oqe(e,t=5e3){return cr({queryKey:["/api/trips",e,"track-points",t],queryFn:()=>sqe(e,t),enabled:e!==null})}const P3=(e,t)=>{if(!e)return"—";try{const r=e instanceof Date?e:new Date(e);return isNaN(r.getTime())?"—":Wr(r,t,{locale:Hr})}catch{return"—"}};function lqe(){const[,e]=mg("/trajets/:id"),[,t]=Gi(),r=e?.id?parseInt(e.id):null,{toast:n}=Er(),[i,s]=I.useState(null),{data:o,isLoading:l}=cr({queryKey:["/api/trips",r],queryFn:um({on401:"throw"}),enabled:!!r}),{data:c}=cr({queryKey:["/api/vehicles",o?.vehicleId],queryFn:um({on401:"throw"}),enabled:!!o?.vehicleId}),{data:d}=cr({queryKey:["/api/trailers",o?.trailerId],queryFn:um({on401:"throw"}),enabled:!!o?.trailerId}),{data:u=[]}=cr({queryKey:["/api/trips",r,"crew"],queryFn:um({on401:"throw"}),enabled:!!r}),{data:h=[],isLoading:p}=nqe(r||0),A=iqe(),y=aqe(),v=I.useMemo(()=>({totalExpenses:h.reduce((S,_)=>S+_.montant,0),totalRevenues:0}),[h]);if(!r)return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t("/trajets"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsx(it,{className:"p-8",children:a.jsx("p",{className:"text-center text-muted-foreground",children:"ID de voyage invalide"})})]});if(l)return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t("/trajets"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})]});if(!o)return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t("/trajets"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsx(it,{className:"p-8",children:a.jsx("p",{className:"text-center text-destructive",children:"Voyage non trouvé"})})]});const w=E=>{A.mutate(E,{onSuccess:()=>{n({title:"Succès",description:"La dépense a été ajoutée avec succès"})}})},j=E=>{confirm("Êtes-vous sûr de vouloir supprimer cette dépense ?")&&y.mutate(E)};return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>t("/trajets"),children:a.jsx(iu,{className:"h-5 w-5"})}),a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[a.jsx("h1",{className:"text-2xl font-semibold",children:"Détails du voyage"}),a.jsx(R8,{status:o.status})]}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:P3(o.dateDepart,"d MMMM yyyy 'à' HH:mm")})]})]}),a.jsxs(ul,{defaultValue:"info",className:"space-y-4",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-4",children:[a.jsx(hn,{value:"info",children:"Infos"}),a.jsxs(hn,{value:"expenses",children:["Dépenses ",h.length>0&&`(${h.length})`]}),a.jsxs(hn,{value:"tracking",className:"flex items-center gap-2",children:[a.jsx(u1,{className:"h-4 w-4"}),"Points GPS"]}),a.jsx(hn,{value:"summary",children:"Résumé"})]}),a.jsxs(dn,{value:"info",className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(Fa,{className:"h-5 w-5"}),"Véhicule"]})}),a.jsx(Et,{children:c?a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"font-mono font-semibold text-lg",children:c.immatriculation}),c.marque&&c.modele&&a.jsxs("p",{className:"text-sm text-muted-foreground",children:[c.marque," ",c.modele]})]}):a.jsx("p",{className:"text-muted-foreground",children:"Chargement..."})})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(ey,{className:"h-5 w-5"}),"Remorque"]})}),a.jsx(Et,{children:d?a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"font-mono font-semibold text-lg",children:d.immatriculation}),a.jsx("p",{className:"text-sm text-muted-foreground",children:d.type})]}):a.jsx("p",{className:"text-muted-foreground",children:"Aucune remorque"})})]})]}),a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-5 w-5"}),"Itinéraire"]})}),a.jsx(Et,{className:"space-y-4",children:a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"Départ"}),a.jsx("p",{className:"font-semibold",children:o.origine}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:P3(o.dateDepart,"d MMMM yyyy 'à' HH:mm")})]}),a.jsx("div",{className:"text-2xl",children:"→"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"Arrivée"}),a.jsx("p",{className:"font-semibold",children:o.destination}),o.dateArrivee&&a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:P3(o.dateArrivee,"d MMMM yyyy 'à' HH:mm")})]})]})})]}),u.length>0&&a.jsxs(it,{children:[a.jsx(br,{children:a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(Sm,{className:"h-5 w-5"}),"Équipage"]})}),a.jsx(Et,{children:a.jsx("div",{className:"flex flex-wrap gap-3",children:u.map(E=>a.jsxs("div",{className:"flex items-center gap-2",children:[E.photoUrl&&a.jsx("img",{src:Sr(E.photoUrl)||void 0,alt:E.nom,className:"w-10 h-10 rounded-full object-cover border"}),a.jsxs("div",{children:[a.jsx("p",{className:"font-semibold",children:E.nom}),a.jsx("p",{className:"text-xs text-muted-foreground",children:E.role==="chauffeur"?"Chauffeur":"Aide-chauffeur"})]})]},E.id))})})]})]}),a.jsxs(dn,{value:"expenses",className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-xl font-semibold",children:"Dépenses"}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Total: ",new Intl.NumberFormat("fr-FR",{style:"currency",currency:"XOF",minimumFractionDigits:0}).format(v.totalExpenses)]})]}),a.jsx(XHe,{tripId:r,onAdd:w})]}),p?a.jsx("div",{className:"flex justify-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):h.length===0?a.jsx(it,{children:a.jsx(Et,{className:"py-12 text-center",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucune dépense enregistrée"})})}):a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:h.map(E=>a.jsx(w6,{expense:E,onDelete:j,onViewJustificatif:S=>s(S)},E.id))})]}),a.jsx(dn,{value:"tracking",className:"space-y-4",children:a.jsx(cqe,{tripId:r})}),a.jsx(dn,{value:"summary",className:"space-y-4",children:a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-xl font-semibold",children:"Résumé financier"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Dépenses de ce voyage uniquement"})]}),o.missionId&&a.jsxs(lu,{children:[a.jsx(xse,{className:"h-4 w-4"}),a.jsx(kS,{children:"Revenu au niveau mission"}),a.jsxs(cu,{className:"flex items-center justify-between",children:[a.jsx("span",{children:"Le revenu est géré au niveau de la mission (tour complet), pas au niveau du voyage individuel."}),a.jsxs(ge,{variant:"outline",size:"sm",onClick:()=>t(`/voyages/${o.missionId}`),className:"ml-4",children:[a.jsx(Id,{className:"h-4 w-4 mr-2"}),"Voir la mission"]})]})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Dépenses du voyage"}),a.jsx(wn,{children:"Total des dépenses pour ce voyage uniquement"})]}),a.jsx(Et,{children:a.jsxs("div",{className:"text-center py-6",children:[a.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"Total des dépenses"}),a.jsx("p",{className:"text-3xl font-bold text-red-600 dark:text-red-400",children:new Intl.NumberFormat("fr-FR",{style:"currency",currency:"XOF",minimumFractionDigits:0}).format(v.totalExpenses)})]})})]}),o.missionId&&a.jsxs(it,{className:"border-blue-200 dark:border-blue-900",children:[a.jsx(br,{children:a.jsx(jr,{className:"text-sm",children:"Calcul du profit"})}),a.jsx(Et,{children:a.jsx("p",{className:"text-sm text-muted-foreground",children:"Pour calculer le profit de cette mission (revenu - dépenses totales), consultez la page de la mission qui affiche le revenu et les dépenses de tous les voyages."})})]})]})})]}),a.jsx(En,{open:!!i,onOpenChange:E=>!E&&s(null),children:a.jsxs(yn,{className:"max-w-4xl",children:[a.jsx(Cn,{children:a.jsx(In,{children:"Justificatif"})}),i&&a.jsx("img",{src:i,alt:"Justificatif",className:"w-full h-auto rounded-lg"})]})})]})}function cqe({tripId:e}){const{data:t,isLoading:r}=oqe(e,5e3);if(!e)return a.jsx(it,{children:a.jsx(Et,{className:"py-8 text-center text-muted-foreground",children:"ID de voyage invalide"})});if(r)return a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"flex justify-center items-center",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})})});if(!t||t.points.length===0)return a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(u1,{className:"h-5 w-5"}),"Points GPS Track-Detail"]}),a.jsx(wn,{children:"Aucun point GPS disponible pour ce voyage"})]}),a.jsx(Et,{children:a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Importez un fichier Track-Detail pour ce véhicule dans"," ",a.jsx("a",{href:"/settings?tab=tracking&subtab=track-detail",className:"text-primary underline",children:"Paramètres > Tracking > Track-Detail"})]})})]});const{points:n,meta:i}=t;return a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(u1,{className:"h-5 w-5"}),"Points GPS Track-Detail"]}),a.jsxs(wn,{children:[n.length," point",n.length>1?"s":""," GPS",i.sourceFiles.length>0&&` depuis ${i.sourceFiles.length} fichier${i.sourceFiles.length>1?"s":""}`]})]}),a.jsxs(Et,{children:[a.jsx("div",{className:"overflow-x-auto max-h-[600px] overflow-y-auto",children:a.jsxs(nx,{children:[a.jsx(ix,{children:a.jsxs(n0,{children:[a.jsx(bi,{children:"Date/Heure"}),a.jsx(bi,{children:"Latitude"}),a.jsx(bi,{children:"Longitude"}),a.jsx(bi,{children:"Vitesse"}),a.jsx(bi,{children:"Mouvement"}),a.jsx(bi,{children:"Adresse"}),a.jsx(bi,{children:"Source"})]})}),a.jsx(ax,{children:n.map(s=>a.jsxs(n0,{children:[a.jsx(mi,{children:a.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[a.jsx(Sl,{className:"h-3 w-3"}),Wr(new Date(s.ts),"dd/MM/yyyy HH:mm:ss",{locale:Hr})]})}),a.jsx(mi,{className:"font-mono text-sm",children:s.lat.toFixed(6)}),a.jsx(mi,{className:"font-mono text-sm",children:s.lon.toFixed(6)}),a.jsx(mi,{children:s.speedKmh!==null?a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(L6,{className:"h-3 w-3"}),s.speedKmh.toFixed(1)," km/h"]}):a.jsx("span",{className:"text-muted-foreground",children:"—"})}),a.jsx(mi,{children:s.moving!==null&&s.moving!==void 0?a.jsx(yt,{variant:s.moving?"default":"secondary",children:s.moving?"MOVING":"STOPPED"}):s.speedKmh!==null?a.jsx(yt,{variant:s.speedKmh>3?"default":"secondary",children:s.speedKmh>3?"MOVING":"STOPPED"}):a.jsx("span",{className:"text-muted-foreground",children:"—"})}),a.jsx(mi,{children:s.raw&&typeof s.raw=="object"&&"Address"in s.raw?a.jsx("span",{className:"text-xs text-muted-foreground truncate max-w-[200px] block",children:String(s.raw.Address||"")}):a.jsx("span",{className:"text-muted-foreground",children:"—"})}),a.jsx(mi,{children:a.jsx("span",{className:"text-xs text-muted-foreground truncate max-w-[150px] block",children:s.sourceFile})})]},s.id))})]})}),n.length>=5e3&&a.jsx("div",{className:"mt-4 p-3 border-t text-sm text-muted-foreground text-center",children:"Affichage limité à 5000 points. Augmentez la limite pour voir plus."})]})]})}function uqe({open:e,onOpenChange:t,user:r,onSuccess:n}){const[i,s]=I.useState(""),[o,l]=I.useState(""),[c,d]=I.useState(null),[u,h]=I.useState(!1),p=async y=>{if(y.preventDefault(),d(null),i.lengthAn.PIN_LENGTH_MAX){d(`Le PIN doit contenir entre ${An.PIN_LENGTH_MIN} et ${An.PIN_LENGTH_MAX} chiffres`);return}if(!/^\d+$/.test(i)){d("Le PIN ne doit contenir que des chiffres");return}if(i!==o){d("Les PIN ne correspondent pas");return}h(!0);try{const v=r.name||r.email||`Utilisateur ${r.id}`,w=r.role?[r.role]:[];await BS(r.id,v,w,i),s(""),l(""),n(),t(!1)}catch(v){const w=v instanceof Error?v.message:"Erreur lors de la création du profil offline";d(w)}finally{h(!1)}},A=()=>{s(""),l(""),d(null),t(!1)};return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"sm:max-w-md",children:[a.jsxs(Cn,{children:[a.jsxs(In,{className:"flex items-center gap-2",children:[a.jsx(Hd,{className:"h-5 w-5"}),"Activer l'accès hors ligne"]}),a.jsx(Mn,{children:"Configurez un code PIN pour accéder à l'application en mode hors ligne. Ce PIN sera requis à chaque démarrage hors ligne."})]}),a.jsxs("form",{onSubmit:p,className:"space-y-4",children:[c&&a.jsxs(lu,{variant:"destructive",children:[a.jsx(Kn,{className:"h-4 w-4"}),a.jsx(cu,{children:c})]}),a.jsxs(lu,{children:[a.jsx(Kn,{className:"h-4 w-4"}),a.jsx(cu,{className:"text-sm",children:"Recommandé pour un usage terrain. Vous pourrez utiliser l'application même sans connexion Internet."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"pin",children:["Code PIN (",An.PIN_LENGTH_MIN,"-",An.PIN_LENGTH_MAX," chiffres)"]}),a.jsx(Xe,{id:"pin",type:"password",inputMode:"numeric",pattern:"[0-9]*",placeholder:"Entrez votre PIN",value:i,onChange:y=>{const v=y.target.value.replace(/\D/g,"");v.length<=An.PIN_LENGTH_MAX&&(s(v),d(null))},required:!0,disabled:u,autoComplete:"off",autoFocus:!0,className:"text-center text-xl tracking-widest"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"confirmPin",children:"Confirmer le PIN"}),a.jsx(Xe,{id:"confirmPin",type:"password",inputMode:"numeric",pattern:"[0-9]*",placeholder:"Confirmez votre PIN",value:o,onChange:y=>{const v=y.target.value.replace(/\D/g,"");v.length<=An.PIN_LENGTH_MAX&&(l(v),d(null))},required:!0,disabled:u,autoComplete:"off",className:"text-center text-xl tracking-widest"})]}),a.jsxs("div",{className:"flex gap-2 pt-2",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:A,disabled:u,className:"flex-1",children:"Plus tard"}),a.jsx(ge,{type:"submit",disabled:u||i.length{if(t&&!p){console.log("[Login] Utilisateur déjà connecté, redirection automatique");const v=Rx(t.role);e(v)}},[t,e,p]),I.useEffect(()=>{(async()=>{if(t&&p&&!u){console.log("[Login] Vérification de secours du profil offline pour user:",t.id);try{const w=await cN();if(console.log("[Login] Profil offline existe (vérification de secours):",w),!w)console.log("[Login] Affichage du dialogue de configuration PIN (secours)"),h(!0);else{console.log("[Login] Profil offline existe déjà, redirection (secours)");const j=Rx(t.role);e(j),A(!1)}}catch(w){console.error("[Login] Erreur lors de la vérification du profil offline (secours):",w),console.log("[Login] Erreur détectée, affichage du dialogue PIN par sécurité (secours)"),h(!0)}}})()},[t,p,u,e]);const y=async v=>{v.preventDefault(),d(null);try{const j=/^\+?[0-9\s-]+$/.test(i)?{phone:i.replace(/\s+/g,""),password:o}:{email:i,password:o},E=await r(j);console.log("[Login] Login réussi pour user:",E.user.id);try{const S=await cN();if(console.log("[Login] Vérification immédiate du profil offline:",S),!S)console.log("[Login] Aucun profil offline, affichage du dialogue PIN"),h(!0),A(!0);else{console.log("[Login] Profil offline existe déjà, redirection immédiate");const _=Rx(E.user.role);e(_)}}catch(S){console.error("[Login] Erreur lors de la vérification du profil offline:",S),console.log("[Login] Erreur détectée, affichage du dialogue PIN par sécurité"),h(!0),A(!0)}}catch(w){d(w.message||"Erreur lors de la connexion")}};return a.jsxs("div",{className:"min-h-screen flex flex-col items-center justify-center bg-gradient-to-br from-background to-muted p-4",children:[a.jsxs("div",{className:"flex flex-col items-center mb-8",children:[a.jsx("img",{src:"/logo-parc-app.png",alt:"Parc'App Logo",className:"h-16 md:h-20 w-auto mb-4"}),a.jsx("h1",{className:"text-2xl md:text-3xl font-bold",children:"Parc'App"}),a.jsx("p",{className:"text-sm md:text-base text-muted-foreground mt-1",children:"Application de gestion du transport"})]}),a.jsxs(it,{className:"w-full max-w-md",children:[a.jsxs(br,{className:"space-y-1",children:[a.jsx(jr,{className:"text-2xl font-bold text-center",children:"Connexion"}),a.jsx(wn,{className:"text-center",children:"Connectez-vous à votre compte Parc'App"})]}),a.jsx(Et,{children:a.jsxs("form",{onSubmit:y,className:"space-y-4",children:[c&&a.jsx(lu,{variant:"destructive",children:a.jsx(cu,{children:c})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"username",children:"Email ou Téléphone"}),a.jsx(Xe,{id:"username",type:"text",placeholder:"email@example.com ou +22670123456",value:i,onChange:v=>s(v.target.value),required:!0,disabled:n,autoComplete:"username"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Vous pouvez vous connecter avec votre email ou votre numéro de téléphone"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"password",children:"Mot de passe"}),a.jsx(Xe,{id:"password",type:"password",placeholder:"Entrez votre mot de passe",value:o,onChange:v=>l(v.target.value),required:!0,disabled:n,autoComplete:"current-password"})]}),a.jsx(ge,{type:"submit",className:"w-full",disabled:n,children:n?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"mr-2 h-4 w-4 animate-spin"}),"Connexion..."]}):a.jsxs(a.Fragment,{children:[a.jsx(bse,{className:"mr-2 h-4 w-4"}),"Se connecter"]})})]})})]}),t&&a.jsx(uqe,{open:u,onOpenChange:v=>{if(h(v),!v&&p){const w=Rx(t.role);e(w),A(!1)}},user:t,onSuccess:()=>{A(!1);const v=Rx(t.role);e(v)}})]})}function dqe(){return a.jsx("div",{className:"min-h-screen w-full flex items-center justify-center bg-gray-50",children:a.jsx(it,{className:"w-full max-w-md mx-4",children:a.jsxs(Et,{className:"pt-6",children:[a.jsxs("div",{className:"flex mb-4 gap-2",children:[a.jsx(Kn,{className:"h-8 w-8 text-red-500"}),a.jsx("h1",{className:"text-2xl font-bold text-gray-900",children:"404 Page Not Found"})]}),a.jsx("p",{className:"mt-4 text-sm text-gray-600",children:"Did you forget to add the page to the router?"})]})})})}function fqe(){const[e,t]=I.useState(""),[,r]=Gi(),{data:n=[],isLoading:i}=cr({queryKey:["/api/voyages","in_progress","with_unread_count"],queryFn:()=>vy("in_progress",!0)}),{data:s=[],isLoading:o}=cr({queryKey:["/api/incidents"],queryFn:()=>MS()}),l=I.useMemo(()=>{const y=new Map;return s.forEach(v=>{const w=v.voyageId;y.has(w)||y.set(w,[]),y.get(w).push(v)}),y},[s]),c=I.useMemo(()=>n.map(y=>{const v=l.get(y.id)||[],w=v.filter(_=>_.status==="ouvert"||_.status==="en_cours"),j=w.length>0,E=v.filter(_=>_.priority==="urgente"||_.priority==="haute"),S=E.length>0;return{...y,incidents:v,openIncidents:w,hasOpenIncident:j,urgentIncidents:E,hasUrgentIncident:S,incidentCount:v.length}}),[n,l]),d=i||o,h=[...c.filter(y=>{if(!e)return!0;const v=e.toLowerCase();return y.title?.toLowerCase().includes(v)||y.code?.toLowerCase().includes(v)||y.clientName?.toLowerCase().includes(v)||y.loadingSite?.toLowerCase().includes(v)||y.unloadingSite?.toLowerCase().includes(v)})].sort((y,v)=>{const w=y.unreadMessagesCount||0,j=v.unreadMessagesCount||0;if(y.hasUrgentIncident&&!v.hasUrgentIncident)return-1;if(!y.hasUrgentIncident&&v.hasUrgentIncident)return 1;if(y.hasOpenIncident&&!v.hasOpenIncident)return-1;if(!y.hasOpenIncident&&v.hasOpenIncident)return 1;if(w>0&&j===0)return-1;if(w===0&&j>0)return 1;const E=new Date(y.createdAt||0).getTime();return new Date(v.createdAt||0).getTime()-E}),p=y=>{r(`/voyages/${y}?tab=journal`),setTimeout(()=>{const v=document.querySelector('[data-tab="journal"]');v&&v.scrollIntoView({behavior:"smooth",block:"end"})},500)},A=I.useMemo(()=>{const y=c.reduce((j,E)=>j+(E.unreadMessagesCount||0),0),v=s.filter(j=>j.status==="ouvert"||j.status==="en_cours").length,w=s.filter(j=>(j.status==="ouvert"||j.status==="en_cours")&&(j.priority==="urgente"||j.priority==="haute")).length;return{totalUnread:y,totalOpenIncidents:v,totalUrgentIncidents:w}},[c,s]);return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs("div",{children:[a.jsxs("h1",{className:"text-3xl font-bold flex items-center gap-3",children:[a.jsx(Kn,{className:"h-8 w-8 text-primary"}),"Pannes/Incidents"]}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Voyages en cours avec incidents signalés"})]})}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mt-4",children:[a.jsx(it,{className:"border-l-4 border-l-blue-500",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Messages non lus"}),a.jsx("p",{className:"text-2xl font-bold",children:A.totalUnread})]}),a.jsx(xm,{className:"h-8 w-8 text-blue-500 opacity-50"})]})})}),a.jsx(it,{className:"border-l-4 border-l-orange-500",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Incidents ouverts"}),a.jsx("p",{className:"text-2xl font-bold",children:A.totalOpenIncidents})]}),a.jsx(Bl,{className:"h-8 w-8 text-orange-500 opacity-50"})]})})}),a.jsx(it,{className:"border-l-4 border-l-red-500",children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Incidents urgents"}),a.jsx("p",{className:"text-2xl font-bold",children:A.totalUrgentIncidents})]}),a.jsx(Kn,{className:"h-8 w-8 text-red-500 opacity-50"})]})})})]})]}),a.jsx(it,{children:a.jsx(Et,{className:"p-4",children:a.jsxs("div",{className:"relative",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher un voyage...",value:e,onChange:y=>t(y.target.value),className:"pl-9"})]})})}),d?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):h.length===0?a.jsx(it,{children:a.jsxs(Et,{className:"py-12 text-center text-muted-foreground",children:[a.jsx(xm,{className:"h-12 w-12 mx-auto mb-4 opacity-50"}),a.jsx("p",{className:"text-lg font-medium mb-2",children:"Aucun voyage en cours"}),a.jsx("p",{className:"text-sm",children:e?"Aucun voyage ne correspond à votre recherche":"Aucun voyage en cours pour le moment"})]})}):a.jsx("div",{className:"space-y-3",children:h.map(y=>{const v=y.unreadMessagesCount||0,w=v>0,j=y.incidents?.reduce((_,C)=>_+(C.messageCount||0),0)||0,E=j-v;let S="";return y.hasUrgentIncident?S="border-l-red-500 bg-red-50/50 dark:bg-red-950/20":y.hasOpenIncident?S="border-l-orange-500 bg-orange-50/50 dark:bg-orange-950/20":w&&(S="border-l-blue-500 bg-blue-50/50 dark:bg-blue-950/20"),a.jsx(it,{className:`cursor-pointer hover:shadow-lg transition-all border-l-4 ${S||"border-l-gray-300"}`,onClick:()=>p(y.id),children:a.jsx(Et,{className:"p-5",children:a.jsxs("div",{className:"flex items-start justify-between gap-4",children:[a.jsxs("div",{className:"flex-1 min-w-0 space-y-3",children:[a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(Fa,{className:"h-5 w-5 text-muted-foreground flex-shrink-0"}),a.jsx("h3",{className:"font-semibold text-lg truncate",children:y.title||y.code}),y.hasUrgentIncident&&a.jsxs(yt,{variant:"destructive",className:"flex items-center gap-1",children:[a.jsx(Kn,{className:"h-3 w-3"}),"Urgent"]}),y.hasOpenIncident&&!y.hasUrgentIncident&&a.jsxs(yt,{variant:"outline",className:"border-orange-500 text-orange-700 dark:text-orange-400 bg-orange-50 dark:bg-orange-950/30",children:[a.jsx(Bl,{className:"h-3 w-3 mr-1"}),"En cours"]})]}),y.code&&a.jsx("p",{className:"text-xs font-mono text-muted-foreground mb-2",children:y.code})]}),w&&a.jsx(yt,{variant:"destructive",className:"flex items-center justify-center min-w-[28px] h-7 px-2.5 rounded-full text-sm font-semibold",children:v>99?"99+":v})]}),a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx(ei,{className:"h-4 w-4 text-primary flex-shrink-0"}),a.jsx("span",{className:"font-medium",children:y.loadingSite}),a.jsx(ov,{className:"h-3 w-3 text-muted-foreground flex-shrink-0"}),a.jsx("span",{className:"font-medium",children:y.unloadingSite})]}),a.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[a.jsx(dm,{className:"h-4 w-4 flex-shrink-0"}),a.jsx("span",{children:y.clientName})]}),a.jsxs("div",{className:"flex items-center gap-4 pt-2 border-t",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(xm,{className:"h-4 w-4 text-muted-foreground"}),a.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[w&&a.jsxs("span",{className:"font-semibold text-blue-600 dark:text-blue-400",children:[v," non lu",v>1?"s":""]}),E>0&&a.jsxs(a.Fragment,{children:[w&&a.jsx("span",{className:"text-muted-foreground",children:"•"}),a.jsxs("span",{className:"text-muted-foreground",children:[E," lu",E>1?"s":""]})]}),j===0&&a.jsx("span",{className:"text-muted-foreground",children:"Aucun message"})]})]}),y.incidentCount>0&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Kn,{className:"h-4 w-4 text-muted-foreground"}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[y.incidentCount," incident",y.incidentCount>1?"s":""]})]})]})]}),y.mainDriver&&a.jsxs("div",{className:"flex flex-col items-end gap-2 flex-shrink-0",children:[a.jsx(Dm,{className:"h-10 w-10 border-2 border-primary/20",children:y.mainDriver.profile?.avatar?a.jsx(Tm,{src:Sr(y.mainDriver.profile.avatar)||void 0,alt:y.mainDriver.name||"Chauffeur"}):a.jsx(Rm,{className:"bg-primary/10 text-primary text-sm",children:y.mainDriver.name?.split(" ").map(_=>_[0]).join("").toUpperCase().substring(0,2)||"DR"})}),y.createdAt&&a.jsx("span",{className:"text-xs text-muted-foreground text-right",children:Wr(new Date(y.createdAt),"dd/MM/yyyy",{locale:Hr})})]})]})})},y.id)})})]})}function Q3({message:e="Vous n'avez pas les permissions nécessaires pour accéder à cette page.",actionLabel:t,actionPath:r,showBackButton:n=!0}){const i=k4(),s=()=>{i.mutate()};return a.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:a.jsxs(it,{className:"w-full max-w-md",children:[a.jsxs(br,{className:"text-center",children:[a.jsx("div",{className:"flex justify-center mb-4",children:a.jsx("div",{className:"rounded-full bg-destructive/10 p-4",children:a.jsx(uv,{className:"h-12 w-12 text-destructive"})})}),a.jsx(jr,{className:"text-2xl",children:"Accès interdit"}),a.jsx(wn,{className:"text-base mt-2",children:e})]}),a.jsx(Et,{children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"Si vous pensez qu'il s'agit d'une erreur, veuillez contacter votre administrateur."})}),a.jsxs(_m,{className:"flex flex-col gap-2",children:[r&&t&&a.jsx(ge,{asChild:!0,className:"w-full",children:a.jsx(jm,{href:r,to:r,children:t})}),n&&a.jsx(ge,{variant:"outline",asChild:!0,className:"w-full",children:a.jsxs(jm,{href:"/",to:"/",children:[a.jsx(Ase,{className:"mr-2 h-4 w-4"}),"Retour au tableau de bord"]})}),a.jsxs(ge,{variant:"outline",onClick:s,disabled:i.isPending,className:"w-full",children:[a.jsx(m4,{className:"mr-2 h-4 w-4"}),i.isPending?"Déconnexion...":"Se déconnecter"]})]})]})})}function hqe(){return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Vue générale"}),a.jsx("p",{className:"text-muted-foreground",children:"Contenu à définir"})]})}function mqe(){return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Exploitation transport"}),a.jsx("p",{className:"text-muted-foreground",children:"Contenu à définir"})]})}function pqe(){return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Parc & Véhicules"}),a.jsx("p",{className:"text-muted-foreground",children:"Contenu à définir"})]})}function gqe(){return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Ressources humaines"}),a.jsx("p",{className:"text-muted-foreground",children:"Contenu à définir"})]})}function Aqe(){return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h2",{className:"text-lg font-semibold",children:"Incidents & Qualité"}),a.jsx("p",{className:"text-muted-foreground",children:"Contenu à définir"})]})}function Ed(e){return new Intl.NumberFormat("fr-FR",{style:"currency",currency:"XOF",minimumFractionDigits:0,maximumFractionDigits:0}).format(e)}function xqe(){const{data:e=[],isLoading:t}=cr({queryKey:["/api/voyages"],queryFn:()=>vy()}),{data:r=[],isLoading:n}=cr({queryKey:["/api/mission-revenues"],queryFn:()=>_He()}),{data:i=[],isLoading:s}=cr({queryKey:["/api/mission-expenses"],queryFn:async()=>{try{return await MHe()}catch(p){return console.warn("Endpoint /api/mission-expenses non disponible:",p),[]}}}),{data:o=[],isLoading:l}=cr({queryKey:["/api/voyage-expenses"],queryFn:()=>A$()}),c=t||n||s||l,d=I.useMemo(()=>{const p=r.reduce((E,S)=>E+(S.montantRecu||S.montantPrevu||0),0),A=i.reduce((E,S)=>E+(S.montant||0),0),y=o.reduce((E,S)=>E+(S.amountFcfa||0),0),v=A+y,w=p-v,j=p>0?w/p*100:0;return{totalRevenues:p,totalVoyageGeneralExpenses:A,totalVoyageExpenses:y,totalExpenses:v,profit:w,margin:j}},[r,i,o]),u=I.useMemo(()=>e.map(p=>{const A=r.filter(Q=>Q.missionId===p.id||Q.voyageId===p.id),y=A.reduce((Q,R)=>Q+(R.montantRecu||R.montantPrevu||0),0),v=i.filter(Q=>Q.missionId===p.id||Q.voyageId===p.id),w=v.reduce((Q,R)=>Q+(R.montant||0),0),j=o.filter(Q=>Q.voyageId===p.id),E=j.reduce((Q,R)=>Q+(R.amountFcfa||0),0),S=w+E,_=y-S,C=y>0?_/y*100:0;return{voyage:p,revenues:y,expenses:S,profit:_,margin:C,revenueCount:A.length,expenseCount:v.length+j.length}}),[e,r,i,o]),h=I.useMemo(()=>[...u].sort((p,A)=>{const y=p.voyage.createdAt?new Date(p.voyage.createdAt).getTime():0;return(A.voyage.createdAt?new Date(A.voyage.createdAt).getTime():0)-y}),[u]);return c?a.jsx("div",{className:"flex items-center justify-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[a.jsxs(it,{children:[a.jsxs(br,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(jr,{className:"text-sm font-medium",children:"Revenus Totaux"}),a.jsx(l1,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(Et,{children:[a.jsx("div",{className:"text-2xl font-bold text-green-600",children:Ed(d.totalRevenues)}),a.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[a.jsx(ew,{className:"inline h-3 w-3 mr-1"}),"Total payé par les clients"]})]})]}),a.jsxs(it,{children:[a.jsxs(br,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(jr,{className:"text-sm font-medium",children:"Coûts Totaux"}),a.jsx(ey,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(Et,{children:[a.jsx("div",{className:"text-2xl font-bold text-red-600",children:Ed(d.totalExpenses)}),a.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Dépenses générales: ",Ed(d.totalVoyageGeneralExpenses),a.jsx("br",{}),"Dépenses voyages: ",Ed(d.totalVoyageExpenses)]})]})]}),a.jsxs(it,{children:[a.jsxs(br,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(jr,{className:"text-sm font-medium",children:"Bénéfice Net"}),a.jsx(ew,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(Et,{children:[a.jsx("div",{className:`text-2xl font-bold ${d.profit>=0?"text-green-600":"text-red-600"}`,children:Ed(Math.abs(d.profit))}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:d.profit>=0?a.jsxs("span",{className:"text-green-600",children:[a.jsx(ose,{className:"inline h-3 w-3 mr-1"}),"Bénéfice"]}):a.jsxs("span",{className:"text-red-600",children:[a.jsx(ase,{className:"inline h-3 w-3 mr-1"}),"Perte"]})})]})]}),a.jsxs(it,{children:[a.jsxs(br,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(jr,{className:"text-sm font-medium",children:"Marge (%)"}),a.jsx(po,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(Et,{children:[a.jsxs("div",{className:`text-2xl font-bold ${d.margin>=0?"text-green-600":"text-red-600"}`,children:[d.margin.toFixed(1),"%"]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Taux de marge globale"})]})]})]}),d.totalRevenues>0&&a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{className:"text-sm",children:"Répartition des montants"}),a.jsx(wn,{children:"Visualisation des revenus et dépenses"})]}),a.jsxs(Et,{className:"space-y-3",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between text-xs",children:[a.jsx("span",{className:"text-green-600 dark:text-green-400",children:"Revenus"}),a.jsx("span",{className:"font-semibold",children:Ed(d.totalRevenues)})]}),a.jsx("div",{className:"h-4 bg-green-200 dark:bg-green-900 rounded-full overflow-hidden",children:a.jsx("div",{className:"h-full bg-green-500",style:{width:"100%"}})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between text-xs",children:[a.jsx("span",{className:"text-red-600 dark:text-red-400",children:"Dépenses"}),a.jsx("span",{className:"font-semibold",children:Ed(d.totalExpenses)})]}),a.jsx("div",{className:"h-4 bg-red-200 dark:bg-red-900 rounded-full overflow-hidden",children:a.jsx("div",{className:"h-full bg-red-500",style:{width:`${d.totalRevenues>0?d.totalExpenses/d.totalRevenues*100:0}%`}})})]})]})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Détail par voyage"}),a.jsx(wn,{children:"Revenus et dépenses de chaque voyage"})]}),a.jsx(Et,{children:h.length===0?a.jsx("div",{className:"text-center py-12 text-muted-foreground",children:a.jsx("p",{children:"Aucun voyage trouvé"})}):a.jsx("div",{className:"space-y-4",children:h.map(({voyage:p,revenues:A,expenses:y,profit:v,margin:w,revenueCount:j,expenseCount:E})=>a.jsx(jm,{href:`/voyages/${p.id}?tab=argent`,children:a.jsx(it,{className:"hover:bg-muted/50 transition-colors cursor-pointer",children:a.jsx(Et,{className:"p-4",children:a.jsx("div",{className:"flex items-start justify-between",children:a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsxs("h3",{className:"font-semibold",children:["Voyage #",p.id]}),p.code&&a.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",p.code,")"]})]}),p.createdAt&&a.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:Wr(new Date(p.createdAt),"PPP",{locale:Hr})}),a.jsxs("div",{className:"grid grid-cols-4 gap-4 text-sm",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-muted-foreground text-xs",children:"Revenus"}),a.jsx("p",{className:"font-semibold text-green-600",children:Ed(A)}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[j," entrée(s)"]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-muted-foreground text-xs",children:"Dépenses"}),a.jsx("p",{className:"font-semibold text-red-600",children:Ed(y)}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[E," entrée(s)"]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-muted-foreground text-xs",children:"Bénéfice"}),a.jsx("p",{className:`font-semibold ${v>=0?"text-green-600":"text-red-600"}`,children:Ed(Math.abs(v))}),a.jsx("p",{className:"text-xs text-muted-foreground",children:v>=0?"Bénéfice":"Perte"})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-muted-foreground text-xs",children:"Marge"}),a.jsxs("p",{className:`font-semibold ${w>=0?"text-green-600":"text-red-600"}`,children:[w.toFixed(1),"%"]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:w>=0?"Positive":"Négative"})]})]})]})})})})},p.id))})})]})]})}const F3=[{id:"vue-generale",label:"Vue générale",path:"/statistiques/vue-generale",icon:h4},{id:"exploitation",label:"Exploitation transport",path:"/statistiques/exploitation",icon:Jv},{id:"parc-vehicules",label:"Parc & Véhicules",path:"/statistiques/parc-vehicules",icon:Fa},{id:"ressources-humaines",label:"Ressources humaines",path:"/statistiques/ressources-humaines",icon:Sm},{id:"incidents-qualite",label:"Incidents & Qualité",path:"/statistiques/incidents-qualite",icon:Kn},{id:"finance",label:"Finance",path:"/statistiques/finance",icon:l1}];function lO(){const[e,t]=Gi(),n=F3.find(s=>e===s.path)?.id||"vue-generale";I.useEffect(()=>{e==="/statistiques"&&t("/statistiques/vue-generale",{replace:!0})},[e,t]);const i=s=>{const o=F3.find(l=>l.id===s);o&&t(o.path)};return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(Jv,{className:"h-8 w-8 text-primary"}),a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-semibold",children:"Statistiques"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Analyse et suivi des performances"})]})]}),a.jsxs(ul,{value:n,onValueChange:i,className:"space-y-6",children:[a.jsx(Ro,{className:"grid w-full grid-cols-2 md:grid-cols-3 lg:grid-cols-6",children:F3.map(s=>{const o=s.icon;return a.jsxs(hn,{value:s.id,className:"flex items-center gap-2",children:[a.jsx(o,{className:"h-4 w-4"}),a.jsx("span",{className:"hidden sm:inline",children:s.label}),a.jsx("span",{className:"sm:hidden",children:s.label.split(" ")[0]})]},s.id)})}),a.jsx(dn,{value:"vue-generale",className:"space-y-4",children:a.jsx(hqe,{})}),a.jsx(dn,{value:"exploitation",className:"space-y-4",children:a.jsx(mqe,{})}),a.jsx(dn,{value:"parc-vehicules",className:"space-y-4",children:a.jsx(pqe,{})}),a.jsx(dn,{value:"ressources-humaines",className:"space-y-4",children:a.jsx(gqe,{})}),a.jsx(dn,{value:"incidents-qualite",className:"space-y-4",children:a.jsx(Aqe,{})}),a.jsx(dn,{value:"finance",className:"space-y-4",children:a.jsx(xqe,{})})]})]})}function vqe(){const{data:e,isLoading:t,error:r}=WS(),n=lH(),[i,s]=I.useState({companyName:"",legalName:"",addressLine:"",city:"",country:"",phone:"",email:"",website:"",taxId:"",logoUrl:"",cloudinaryCloudName:"",cloudinaryApiKey:"",cloudinaryApiSecret:"",dispatchPhone:"",mechanicPhone:""}),[o,l]=I.useState({});I.useEffect(()=>{e&&s({companyName:e.companyName||"",legalName:e.legalName||"",addressLine:e.addressLine||"",city:e.city||"",country:e.country||"",phone:e.phone||"",email:e.email||"",website:e.website||"",taxId:e.taxId||"",logoUrl:e.logoUrl||"",dispatchPhone:e.dispatchPhone||"",mechanicPhone:e.mechanicPhone||""})},[e]);const c=()=>{const p={};return(!i.companyName||i.companyName.trim()==="")&&(p.companyName="La dénomination commerciale est obligatoire"),i.email&&i.email.trim()!==""&&(/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i.email)||(p.email="Format d'email invalide")),l(p),Object.keys(p).length===0},d=async p=>{if(p.preventDefault(),!c())return;const A={companyName:i.companyName||void 0,legalName:i.legalName||void 0,addressLine:i.addressLine||void 0,city:i.city||void 0,country:i.country||void 0,phone:i.phone||void 0,email:i.email||void 0,website:i.website||void 0,taxId:i.taxId||void 0,logoUrl:i.logoUrl||void 0,dispatchPhone:i.dispatchPhone||void 0,mechanicPhone:i.mechanicPhone||void 0};await n.mutateAsync(A)},u=()=>{e&&s({companyName:e.companyName||"",legalName:e.legalName||"",addressLine:e.addressLine||"",city:e.city||"",country:e.country||"",phone:e.phone||"",email:e.email||"",website:e.website||"",taxId:e.taxId||"",logoUrl:e.logoUrl||"",dispatchPhone:e.dispatchPhone||"",mechanicPhone:e.mechanicPhone||""}),l({})},h=(p,A)=>{s(y=>({...y,[p]:A})),o[p]&&l(y=>{const v={...y};return delete v[p],v})};return t?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):r?(r instanceof Error&&r.message,a.jsxs("div",{className:"text-center py-12 space-y-2",children:[a.jsx("p",{className:"text-destructive font-medium",children:"Erreur lors du chargement des paramètres"}),!1,a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Vérifiez que la table ",a.jsx("code",{className:"bg-muted px-1 rounded",children:"organization_settings"})," existe dans la base de données."]})]})):a.jsxs("form",{onSubmit:d,className:"space-y-6",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"companyName",children:["Dénomination commerciale ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"companyName",value:i.companyName,onChange:p=>h("companyName",p.target.value),placeholder:"Ex: TRANSPORTS DIALLO",className:o.companyName?"border-destructive":""}),o.companyName&&a.jsx("p",{className:"text-sm text-destructive",children:o.companyName})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"legalName",children:"Raison sociale"}),a.jsx(Xe,{id:"legalName",value:i.legalName,onChange:p=>h("legalName",p.target.value),placeholder:"Ex: TRANSPORTS DIALLO SARL"})]}),a.jsxs("div",{className:"space-y-2 md:col-span-2",children:[a.jsx(Se,{htmlFor:"addressLine",children:"Adresse"}),a.jsx(Xe,{id:"addressLine",value:i.addressLine,onChange:p=>h("addressLine",p.target.value),placeholder:"Ex: Secteur 21, Karpala"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"city",children:"Ville"}),a.jsx(Xe,{id:"city",value:i.city,onChange:p=>h("city",p.target.value),placeholder:"Ex: Ouagadougou"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"country",children:"Pays"}),a.jsx(Xe,{id:"country",value:i.country,onChange:p=>h("country",p.target.value),placeholder:"Ex: Burkina Faso"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"phone",children:"Téléphone"}),a.jsx(Xe,{id:"phone",value:i.phone,onChange:p=>h("phone",p.target.value),placeholder:"Ex: +226 70 00 00 00"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"email",children:"Email"}),a.jsx(Xe,{id:"email",type:"email",value:i.email,onChange:p=>h("email",p.target.value),placeholder:"Ex: contact@transportsdiallo.com",className:o.email?"border-destructive":""}),o.email&&a.jsx("p",{className:"text-sm text-destructive",children:o.email})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"website",children:"Site web"}),a.jsx(Xe,{id:"website",value:i.website,onChange:p=>h("website",p.target.value),placeholder:"Ex: https://www.transportsdiallo.com"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"taxId",children:"N° RCCM / IFU / N° contribuable"}),a.jsx(Xe,{id:"taxId",value:i.taxId,onChange:p=>h("taxId",p.target.value),placeholder:"Ex: RCCM-OUAGA-2024-A-12345"})]})]}),a.jsxs("div",{className:"space-y-4 pt-6 border-t",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Contacts d'urgence (PWA Chauffeur)"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Ces numéros seront affichés dans la page d'aide de l'application PWA pour les chauffeurs."})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"dispatchPhone",children:"Téléphone Dispatch"}),a.jsx(Xe,{id:"dispatchPhone",value:i.dispatchPhone,onChange:p=>h("dispatchPhone",p.target.value),placeholder:"Ex: +226 70 00 00 00"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Numéro de téléphone du dispatch pour les urgences"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"mechanicPhone",children:"Téléphone Mécanicien"}),a.jsx(Xe,{id:"mechanicPhone",value:i.mechanicPhone,onChange:p=>h("mechanicPhone",p.target.value),placeholder:"Ex: +226 70 00 00 01"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Numéro de téléphone du mécanicien pour les urgences"})]})]})]}),a.jsx("div",{className:"pt-6 border-t",children:a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Logo de l'organisation"}),a.jsx(yqe,{logoUrl:i.logoUrl||null,onLogoChange:p=>h("logoUrl",p||"")})]})}),a.jsxs("div",{className:"flex justify-end gap-3 pt-4 border-t",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:u,disabled:n.isPending,children:"Annuler"}),a.jsxs(ge,{type:"submit",disabled:n.isPending,children:[n.isPending&&a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Enregistrer"]})]})]})}function yqe({logoUrl:e,onLogoChange:t}){const[r,n]=I.useState(!1),i=I.useRef(null),s=I.useRef(null),o=async u=>{if(u){if(!u.type.startsWith("image/")){alert("Veuillez sélectionner une image");return}if(u.size>5*1024*1024){alert("L'image est trop grande (maximum 5MB)");return}n(!0);try{const h=await p$e(u);t(h.url)}catch(h){console.error("Error uploading logo:",h),alert(h instanceof Error?h.message:"Erreur lors de l'upload du logo")}finally{n(!1)}}},l=()=>{s.current?.click()},c=()=>{i.current?.click()},d=()=>{t(null),i.current&&(i.current.value=""),s.current&&(s.current.value="")};return a.jsx("div",{className:"space-y-3",children:e?a.jsxs(it,{className:"p-4",children:[a.jsxs("div",{className:"relative inline-block",children:[a.jsx("img",{src:Sr(e)||e,alt:"Logo de l'organisation",className:"h-24 w-auto max-w-full object-contain rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-0 right-0",onClick:d,disabled:r,children:a.jsx(Nn,{className:"h-4 w-4"})})]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Cliquez sur la croix pour supprimer le logo"})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[a.jsxs(ge,{type:"button",variant:"outline",onClick:l,disabled:r,className:"flex-1",children:[r?a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}):a.jsx(mo,{className:"h-4 w-4 mr-2"}),"Prendre une photo"]}),a.jsxs(ge,{type:"button",variant:"outline",onClick:c,disabled:r,className:"flex-1",children:[r?a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}):a.jsx(Nm,{className:"h-4 w-4 mr-2"}),"Importer depuis la galerie"]})]}),a.jsx("input",{ref:s,type:"file",accept:"image/*",capture:"environment",className:"hidden",onChange:u=>o(u.target.files?.[0]||null)}),a.jsx("input",{ref:i,type:"file",accept:"image/*",className:"hidden",onChange:u=>o(u.target.files?.[0]||null)})]})})}function bqe({open:e,onOpenChange:t,step:r,voyageTypeId:n,onSave:i,isCreating:s}){const[o,l]=I.useState({label:"",category:"usine",direction:"outbound",orderIndex:0,latitude:null,longitude:null,radiusMeters:null,requiresControl:!0}),[c,d]=I.useState(!1);I.useEffect(()=>{l(r||{label:"",category:"usine",direction:"outbound",orderIndex:0,latitude:null,longitude:null,radiusMeters:null,requiresControl:!0})},[r,e]);const u=async h=>{if(h.preventDefault(),!!o.label.trim()){d(!0);try{await i({...o,voyageTypeId:n}),t(!1)}catch{}finally{d(!1)}}};return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"max-w-2xl",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:s?"Créer une étape":"Modifier l'étape"}),a.jsx(Mn,{children:s?"Ajoutez une nouvelle étape à l'itinéraire standard de ce type de voyage.":"Modifiez les informations de cette étape."})]}),a.jsxs("form",{onSubmit:u,className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"label",children:["Label de l'étape ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"label",value:o.label,onChange:h=>l(p=>({...p,label:h.target.value})),placeholder:"Ex: Douane Cinkansé",required:!0})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"category",children:"Catégorie"}),a.jsxs(rn,{value:o.category,onValueChange:h=>l(p=>({...p,category:h})),children:[a.jsx(Xr,{children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"usine",children:"Usine"}),a.jsx(Qt,{value:"douane",children:"Douane"}),a.jsx(Qt,{value:"dépôt",children:"Dépôt"}),a.jsx(Qt,{value:"autre",children:"Autre"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"direction",children:"Sens"}),a.jsxs(rn,{value:o.direction,onValueChange:h=>l(p=>({...p,direction:h})),children:[a.jsx(Xr,{children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"outbound",children:"Aller"}),a.jsx(Qt,{value:"inbound",children:"Retour"}),a.jsx(Qt,{value:"both",children:"Les deux"})]})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx("input",{type:"checkbox",id:"requiresControl",checked:o.requiresControl??!0,onChange:h=>l(p=>({...p,requiresControl:h.target.checked})),className:"h-4 w-4 rounded border-gray-300"}),a.jsx(Se,{htmlFor:"requiresControl",className:"text-sm font-normal cursor-pointer",children:"Contrôle obligatoire (arrêt requis)"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Décochez si cette étape est un simple passage sans arrêt (suivi GPS uniquement)"})]}),a.jsxs("div",{className:"space-y-2 pt-2 border-t",children:[a.jsx(Se,{className:"text-sm text-muted-foreground",children:"Zone GPS (optionnel)"}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx(Se,{className:"text-xs",children:"Latitude"}),a.jsx(Xe,{type:"number",step:"any",placeholder:"Ex: 6.1304",value:o.latitude?.toString()||"",onChange:h=>l(p=>({...p,latitude:h.target.value?parseFloat(h.target.value):null}))})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx(Se,{className:"text-xs",children:"Longitude"}),a.jsx(Xe,{type:"number",step:"any",placeholder:"Ex: 1.2153",value:o.longitude?.toString()||"",onChange:h=>l(p=>({...p,longitude:h.target.value?parseFloat(h.target.value):null}))})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx(Se,{className:"text-xs",children:"Rayon (mètres)"}),a.jsx(Xe,{type:"number",min:"0",placeholder:"Ex: 100",value:o.radiusMeters?.toString()||"",onChange:h=>l(p=>({...p,radiusMeters:h.target.value?parseInt(h.target.value):null}))})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Définissez une zone GPS pour cette étape (pour validation automatique future)"})]}),a.jsxs(Na,{children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>t(!1),disabled:c,children:"Annuler"}),a.jsxs(ge,{type:"submit",disabled:c||!o.label.trim(),children:[c&&a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),s?"Créer":"Enregistrer"]})]})]})]})})}function wqe({open:e,onOpenChange:t,voyageType:r,onVoyageTypeCreated:n}){const{data:i=[]}=OC(!0),s=K$e(),o=Y$e(),{toast:l}=Er(),[c,d]=I.useState(null),[u,h]=I.useState(!1),[p,A]=I.useState(!1),[y,v]=I.useState(r),[w,j]=I.useState({name:"",code:"",loadingType:"",defaultClientName:"",defaultClient:"",defaultCargo:"",isRoundTrip:!0,description:"",defaultLoadingLocationId:void 0,defaultUnloadingLocationId:void 0,expectedToursDefault:1,standardDurationDays:void 0,isActive:!0,steps:[]});I.useEffect(()=>{v(r)},[r]),I.useEffect(()=>{e&&y?_A(y.id).then($=>{j({name:$.name,code:$.code,loadingType:$.loadingType||"",defaultClientName:$.defaultClientName||"",defaultClient:$.defaultClient||$.defaultClientName||"",defaultCargo:$.defaultCargo||"",isRoundTrip:$.isRoundTrip??!0,description:$.description||"",defaultLoadingLocationId:$.defaultLoadingLocationId||void 0,defaultUnloadingLocationId:$.defaultUnloadingLocationId||void 0,expectedToursDefault:$.expectedToursDefault||1,standardDurationDays:$.standardDurationDays||void 0,isActive:$.isActive,steps:($.steps||[]).map(P=>({id:P.id,label:P.label,category:P.category,direction:P.direction,orderIndex:P.orderIndex,latitude:P.latitude,longitude:P.longitude,radiusMeters:P.radiusMeters,requiresControl:P.requiresControl??!0}))})}).catch(()=>{y&&j({name:y.name,code:y.code,loadingType:y.loadingType||"",defaultClientName:y.defaultClientName||"",defaultClient:y.defaultClient||y.defaultClientName||"",defaultCargo:y.defaultCargo||"",isRoundTrip:y.isRoundTrip??!0,description:y.description||"",defaultLoadingLocationId:y.defaultLoadingLocationId||void 0,defaultUnloadingLocationId:y.defaultUnloadingLocationId||void 0,expectedToursDefault:y.expectedToursDefault||1,standardDurationDays:y.standardDurationDays||void 0,isActive:y.isActive,steps:[]})}):e&&j({name:"",code:"",loadingType:"",defaultClientName:"",defaultClient:"",defaultCargo:"",isRoundTrip:!0,description:"",defaultLoadingLocationId:void 0,defaultUnloadingLocationId:void 0,expectedToursDefault:1,standardDurationDays:void 0,isActive:!0,steps:[]})},[y,e]);const E=async $=>{if($.preventDefault(),!(!w.name||!w.code))try{const P={name:w.name,code:w.code,description:w.description,defaultClient:w.defaultClient||w.defaultClientName,defaultClientName:w.defaultClientName||w.defaultClient,defaultCargo:w.defaultCargo,isRoundTrip:w.isRoundTrip??!0,loadingType:w.loadingType||"",defaultLoadingLocationId:w.defaultLoadingLocationId,defaultUnloadingLocationId:w.defaultUnloadingLocationId,expectedToursDefault:w.expectedToursDefault||1,standardDurationDays:w.standardDurationDays||void 0,isActive:w.isActive};if(y)await o.mutateAsync({id:y.id,data:P});else{const L=await s.mutateAsync(P);if(L&&L.id){const W=await _A(L.id);v(W),j(G=>({...G,steps:(W.steps||[]).map(J=>({id:J.id,label:J.label,category:J.category,direction:J.direction,orderIndex:J.orderIndex,latitude:J.latitude,longitude:J.longitude,radiusMeters:J.radiusMeters}))})),n&&n(W)}}y&&t(!1)}catch{}},S=async()=>{if(!y){if(!w.name||!w.code){l({variant:"destructive",title:"Erreur",description:"Veuillez d'abord créer le type de voyage (nom et code requis)"});return}try{const $={name:w.name,code:w.code,description:w.description,defaultClient:w.defaultClient||w.defaultClientName,defaultClientName:w.defaultClientName||w.defaultClient,defaultCargo:w.defaultCargo,isRoundTrip:w.isRoundTrip??!0,loadingType:w.loadingType||"",defaultLoadingLocationId:w.defaultLoadingLocationId,defaultUnloadingLocationId:w.defaultUnloadingLocationId,expectedToursDefault:w.expectedToursDefault||1,standardDurationDays:w.standardDurationDays||void 0,isActive:w.isActive},P=await s.mutateAsync($);if(P&&P.id){const X=await _A(P.id);v(X),j(W=>({...W,steps:(X.steps||[]).map(G=>({id:G.id,label:G.label,category:G.category,direction:G.direction,orderIndex:G.orderIndex,latitude:G.latitude,longitude:G.longitude,radiusMeters:G.radiusMeters}))})),n&&n(X)}}catch{return}}d(null),h(!0)},_=$=>{const P={id:$.id,label:$.label,category:$.category,direction:$.direction,orderIndex:$.orderIndex,latitude:$.latitude,longitude:$.longitude,radiusMeters:$.radiusMeters,requiresControl:$.requiresControl??!0};d(P),h(!0)},C=async $=>{if(!y){l({variant:"destructive",title:"Erreur",description:"Le type de voyage doit être créé avant d'ajouter des étapes"});return}A(!0);try{const P=w.steps||[];let L;const X=c&&c.id!==void 0&&c.id!==null;if(console.log("handleSaveStep - editingStep:",c,"isEditing:",X,"currentSteps:",P),X&&c.id!==void 0){const J=c.id;L=P.map(q=>q.id===J?{...$,id:J,orderIndex:q.orderIndex}:q),console.log("Updated steps after edit:",L)}else L=[...P,{...$,orderIndex:P.length}],console.log("Updated steps after create:",L);await y6(y.id,{steps:L.map((J,q)=>({id:J.id,label:J.label,category:J.category,direction:J.direction,orderIndex:q,latitude:J.latitude,longitude:J.longitude,radiusMeters:J.radiusMeters,requiresControl:J.requiresControl??!0}))});const G=((await _A(y.id)).steps||[]).map(J=>({id:J.id,label:J.label,category:J.category,direction:J.direction,orderIndex:J.orderIndex,latitude:J.latitude,longitude:J.longitude,radiusMeters:J.radiusMeters})).sort((J,q)=>J.orderIndex-q.orderIndex);j(J=>({...J,steps:G})),jt.invalidateQueries({queryKey:["/api/voyage-types"]}),l({title:"Succès",description:c&&c.id!==void 0&&c.id!==null?"L'étape a été modifiée avec succès":"L'étape a été créée avec succès"}),h(!1),d(null)}catch(P){throw l({variant:"destructive",title:"Erreur",description:P instanceof Error?P.message:"Impossible de sauvegarder l'étape"}),P}finally{A(!1)}},Q=async($,P)=>{if(!y||!w.steps)return;const L=[...w.steps],X=P==="up"?$-1:$+1;if(X<0||X>=L.length)return;if([L[$],L[X]]=[L[X],L[$]],j(G=>({...G,steps:L.map((J,q)=>({...J,orderIndex:q}))})),L.every(G=>G.id!==void 0&&G.id!==null)&&y.id)try{const G=L.map(ee=>ee.id),J=await W$e(y.id,G),q=await _A(y.id);v(q),j(ee=>({...ee,steps:(q.steps||[]).map(ne=>({id:ne.id,label:ne.label,category:ne.category,direction:ne.direction,orderIndex:ne.orderIndex,latitude:ne.latitude,longitude:ne.longitude,radiusMeters:ne.radiusMeters,requiresControl:ne.requiresControl??!0}))})),jt.invalidateQueries({queryKey:["/api/voyage-types"]}),l({title:"Succès",description:"L'ordre des étapes a été mis à jour"})}catch(G){l({variant:"destructive",title:"Erreur",description:G instanceof Error?G.message:"Impossible de réordonner les étapes"}),j(J=>({...J,steps:w.steps}))}},R=async $=>{if(y&&confirm("Êtes-vous sûr de vouloir supprimer cette étape ?"))try{const P=(w.steps||[]).filter(W=>W.id!==$);await y6(y.id,{steps:P.map((W,G)=>({id:W.id,label:W.label,category:W.category,direction:W.direction,orderIndex:G,latitude:W.latitude,longitude:W.longitude,radiusMeters:W.radiusMeters,requiresControl:W.requiresControl??!0}))});const X=((await _A(y.id)).steps||[]).map(W=>({id:W.id,label:W.label,category:W.category,direction:W.direction,orderIndex:W.orderIndex,latitude:W.latitude,longitude:W.longitude,radiusMeters:W.radiusMeters})).sort((W,G)=>W.orderIndex-G.orderIndex);j(W=>({...W,steps:X})),jt.invalidateQueries({queryKey:["/api/voyage-types"]}),l({title:"Succès",description:"L'étape a été supprimée avec succès"})}catch(P){l({variant:"destructive",title:"Erreur",description:P instanceof Error?P.message:"Impossible de supprimer l'étape"})}},T=s.isPending||o.isPending,M={usine:"Usine",douane:"Douane",dépôt:"Dépôt",autre:"Autre"},O={outbound:"Aller",inbound:"Retour",both:"Les deux"};return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:r?"Modifier le type de voyage":"Créer un type de voyage"}),a.jsx(Mn,{children:r?"Modifiez les informations du type de voyage et son itinéraire standard.":"Créez un nouveau type de voyage qui pourra être sélectionné lors de la création d'un voyage. Les trajets et étapes seront générés automatiquement."})]}),a.jsxs("form",{onSubmit:E,className:"space-y-4",children:[a.jsxs(ul,{defaultValue:"info",className:"w-full",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-2",children:[a.jsx(hn,{value:"info",children:"Informations"}),a.jsx(hn,{value:"itinerary",children:"Itinéraire standard"})]}),a.jsxs(dn,{value:"info",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"name",children:["Nom ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"name",value:w.name,onChange:$=>j(P=>({...P,name:$.target.value})),placeholder:"Ex: CIMFASO — Clinker Lomé",required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"code",children:["Code ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"code",value:w.code,onChange:$=>j(P=>({...P,code:$.target.value.toUpperCase().replace(/\s+/g,"_")})),placeholder:"Ex: CIMFASO_CLINKER_LOME",required:!0}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Code unique (sera converti en majuscules)"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"description",children:"Description"}),a.jsx(K0,{id:"description",value:w.description||"",onChange:$=>j(P=>({...P,description:$.target.value})),placeholder:"Description du type de voyage...",rows:3})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"defaultClient",children:"Client par défaut"}),a.jsx(Xe,{id:"defaultClient",value:w.defaultClient||"",onChange:$=>j(P=>({...P,defaultClient:$.target.value,defaultClientName:$.target.value||P.defaultClientName})),placeholder:"Ex: CIMFASO"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"defaultCargo",children:"Chargement par défaut"}),a.jsx(Xe,{id:"defaultCargo",value:w.defaultCargo||"",onChange:$=>j(P=>({...P,defaultCargo:$.target.value})),placeholder:"Ex: Clinker"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"loadingType",children:"Type de chargement"}),a.jsx(Xe,{id:"loadingType",value:w.loadingType||"",onChange:$=>j(P=>({...P,loadingType:$.target.value})),placeholder:"Ex: Clinker"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"expectedToursDefault",children:"Nombre de tours par défaut"}),a.jsx(Xe,{id:"expectedToursDefault",type:"number",min:"1",value:w.expectedToursDefault||1,onChange:$=>j(P=>({...P,expectedToursDefault:parseInt($.target.value)||1}))}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"1 tour = un aller + un retour"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"standardDurationDays",children:"Durée standard du voyage (en jours)"}),a.jsx(Xe,{id:"standardDurationDays",type:"number",min:"1",value:w.standardDurationDays||"",onChange:$=>j(P=>({...P,standardDurationDays:$.target.value?parseInt($.target.value):void 0})),placeholder:"Ex: 3"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Durée standard utilisée pour calculer la date de retour prévue à partir de la date de départ"})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"defaultLoadingLocationId",children:"Lieu de chargement par défaut"}),a.jsxs(rn,{value:w.defaultLoadingLocationId?.toString()||"none",onValueChange:$=>j(P=>({...P,defaultLoadingLocationId:$&&$!=="none"?parseInt($):void 0})),children:[a.jsx(Xr,{children:a.jsx(nn,{placeholder:"Sélectionner un lieu"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"none",children:"Aucun"}),i.map($=>a.jsx(Qt,{value:$.id.toString(),children:$.name},$.id))]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"defaultUnloadingLocationId",children:"Lieu de déchargement par défaut"}),a.jsxs(rn,{value:w.defaultUnloadingLocationId?.toString()||"none",onValueChange:$=>j(P=>({...P,defaultUnloadingLocationId:$&&$!=="none"?parseInt($):void 0})),children:[a.jsx(Xr,{children:a.jsx(nn,{placeholder:"Sélectionner un lieu"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"none",children:"Aucun"}),i.map($=>a.jsx(Qt,{value:$.id.toString(),children:$.name},$.id))]})]})]})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(S1,{id:"isRoundTrip",checked:w.isRoundTrip??!0,onCheckedChange:$=>j(P=>({...P,isRoundTrip:$}))}),a.jsx(Se,{htmlFor:"isRoundTrip",className:"cursor-pointer",children:"Aller-retour (A/R)"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(S1,{id:"isActive",checked:w.isActive,onCheckedChange:$=>j(P=>({...P,isActive:$}))}),a.jsx(Se,{htmlFor:"isActive",className:"cursor-pointer",children:"Type de voyage actif (visible dans la liste)"})]})]}),a.jsxs(dn,{value:"itinerary",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"flex justify-between items-center",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"Définissez l'itinéraire standard avec les étapes (usine, douane, dépôt, etc.)"}),y&&a.jsxs(ge,{type:"button",onClick:S,variant:"outline",size:"sm",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter une étape"]})]}),y?w.steps&&w.steps.length===0?a.jsx(it,{className:"p-8 border-dashed",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-muted-foreground mb-4",children:"Aucune étape définie"}),a.jsxs(ge,{type:"button",onClick:S,variant:"outline",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter la première étape"]})]})}):a.jsx("div",{className:"space-y-2",children:w.steps?.map(($,P)=>a.jsx(it,{className:"p-4",children:a.jsxs("div",{className:"flex items-center justify-between gap-4",children:[a.jsx("div",{className:"flex-1",children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsxs(yt,{variant:"outline",className:"text-xs",children:["Étape ",P+1]}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"font-medium",children:$.label||"Étape sans nom"}),a.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[a.jsx(yt,{variant:"secondary",className:"text-xs",children:M[$.category]}),a.jsx(yt,{variant:"outline",className:"text-xs",children:O[$.direction]}),$.latitude&&$.longitude&&a.jsx(yt,{variant:"outline",className:"text-xs",children:"GPS"}),$.requiresControl===!1&&a.jsx(yt,{variant:"outline",className:"text-xs text-muted-foreground",children:"Passage sans contrôle"})]})]})]})}),a.jsxs("div",{className:"flex gap-2",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx(ge,{type:"button",variant:"outline",size:"sm",className:"h-8 px-2",onClick:()=>Q(P,"up"),disabled:p||P===0,title:"Déplacer vers le haut",children:a.jsx(lse,{className:"h-3 w-3"})}),a.jsx(ge,{type:"button",variant:"outline",size:"sm",className:"h-8 px-2",onClick:()=>Q(P,"down"),disabled:p||P===(w.steps?.length??0)-1,title:"Déplacer vers le bas",children:a.jsx(sse,{className:"h-3 w-3"})})]}),a.jsxs(ge,{type:"button",variant:"outline",size:"sm",onClick:()=>_($),disabled:p,children:[a.jsx($m,{className:"h-4 w-4 mr-2"}),"Éditer"]}),a.jsx(ge,{type:"button",variant:"outline",size:"sm",className:"text-destructive hover:text-destructive",onClick:()=>{$.id!==void 0&&$.id!==null?R($.id):l({variant:"destructive",title:"Erreur",description:"Impossible de supprimer : l'étape n'a pas d'ID. Veuillez recharger la page."})},disabled:p||$.id===void 0||$.id===null,children:a.jsx(Ns,{className:"h-4 w-4"})})]})]})},$.id?`step-${$.id}`:`step-temp-${P}`))}):a.jsx(it,{className:"p-8 border-dashed",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-muted-foreground mb-2",children:"Créez d'abord le type de voyage pour ajouter des étapes"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Les étapes peuvent être ajoutées après la création du type de voyage"})]})})]})]}),a.jsxs(Na,{children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>t(!1),children:"Annuler"}),a.jsxs(ge,{type:"submit",disabled:T,children:[T&&a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),r?"Enregistrer les modifications":"Créer le type de voyage"]})]})]}),y&&a.jsx(bqe,{open:u,onOpenChange:$=>{h($),$||d(null)},step:c,voyageTypeId:y.id,onSave:C,isCreating:!c})]})})}function R_({title:e,description:t,onConfirm:r,trigger:n,open:i,onOpenChange:s,isLoading:o=!1}){return i!==void 0&&s!==void 0?a.jsx(du,{open:i,onOpenChange:s,children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:e}),a.jsx(Cc,{children:t})]}),a.jsxs(wc,{children:[a.jsx(jc,{disabled:o,children:"Annuler"}),a.jsx(Ic,{onClick:r,disabled:o,children:o?"Suppression...":"Continuer"})]})]})}):n?a.jsxs(du,{children:[a.jsx(Qfe,{asChild:!0,children:n}),a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:e}),a.jsx(Cc,{children:t})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:r,children:"Continuer"})]})]})]}):null}function Eqe(){const{data:e=[],isLoading:t,error:r}=D_(!1),n=Z$e(),[i,s]=I.useState(null),[o,l]=I.useState(!1),[c,d]=I.useState(null),u=p=>{s(p),l(!0)},h=async p=>{try{await n.mutateAsync(p),d(null)}catch{}};return t?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):r?a.jsx(it,{className:"p-8 border-dashed",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-destructive font-medium mb-2",children:"Erreur de chargement"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:r instanceof Error?r.message:"Impossible de charger les types de voyages"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Vérifiez votre connexion réseau et réessayez."})]})}):a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex justify-between items-center",children:[a.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.length," type",e.length>1?"s":""," de voyage"]}),a.jsxs(ge,{onClick:()=>{s(null),l(!0)},children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter un type de voyage"]})]}),e.length===0?a.jsx(it,{className:"p-8 border-dashed",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-muted-foreground mb-4",children:"Aucun type de voyage défini"}),a.jsxs(ge,{onClick:()=>{s(null),l(!0)},children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Créer le premier type de voyage"]})]})}):a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:e.map(p=>a.jsxs(it,{className:"p-4",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2 mb-3",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-base truncate",children:p.name}),a.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Code: ",p.code]})]}),!p.isActive&&a.jsx(yt,{variant:"secondary",className:"text-xs",children:"Inactif"})]}),p.description&&a.jsx("p",{className:"text-sm text-muted-foreground mb-3 line-clamp-2",children:p.description}),a.jsxs("div",{className:"space-y-2 mb-4",children:[a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[p.loadingType&&a.jsx(yt,{variant:"outline",className:"text-xs",children:p.loadingType}),p.defaultClientName&&a.jsx(yt,{variant:"secondary",className:"text-xs",children:p.defaultClientName}),p.defaultCargo&&a.jsx(yt,{variant:"outline",className:"text-xs",children:p.defaultCargo})]}),a.jsxs("div",{className:"flex items-center gap-4 text-xs text-muted-foreground",children:[p.expectedToursDefault&&a.jsxs("span",{children:["Tours: ",p.expectedToursDefault]}),p.standardDurationDays&&a.jsxs("span",{children:["Durée: ",p.standardDurationDays," jour",p.standardDurationDays>1?"s":""]}),p.isRoundTrip!==!1&&a.jsx("span",{children:"Aller-retour"})]})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsxs(ge,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>u(p),children:[a.jsx($m,{className:"h-3 w-3 mr-1"}),"Modifier"]}),a.jsxs(ge,{variant:"outline",size:"sm",className:"flex-1 text-destructive hover:text-destructive",onClick:()=>d(p.id),children:[a.jsx(Ns,{className:"h-3 w-3 mr-1"}),"Supprimer"]})]})]},p.id))}),a.jsx(wqe,{open:o,onOpenChange:p=>{l(p),p||s(null)},voyageType:i,onVoyageTypeCreated:p=>{s(p)}}),a.jsx(R_,{open:c!==null,onOpenChange:p=>d(p?c:null),onConfirm:()=>c&&h(c),title:"Supprimer le type de voyage",description:`Êtes-vous sûr de vouloir supprimer "${e.find(p=>p.id===c)?.name}" ? Cette action est irréversible.`,isLoading:n.isPending})]})}const Cqe=[{value:"factory",label:"Usine",icon:"🏭"},{value:"port",label:"Port",icon:"⚓"},{value:"border",label:"Frontière",icon:"🚧"},{value:"warehouse",label:"Entrepôt",icon:"🏢"},{value:"city",label:"Ville",icon:"🏙️"}];function Iqe({open:e,onOpenChange:t,location:r}){const n=rHe(),i=nHe(),[s,o]=I.useState({name:"",type:"city",country:"",latitude:void 0,longitude:void 0,imageUrl:void 0,isActive:!0});I.useEffect(()=>{o(r?{name:r.name,type:r.type,country:r.country||"",latitude:r.latitude||void 0,longitude:r.longitude||void 0,imageUrl:r.imageUrl||void 0,isActive:r.isActive}:{name:"",type:"city",country:"",latitude:void 0,longitude:void 0,imageUrl:void 0,isActive:!0})},[r,e]);const l=async d=>{if(d.preventDefault(),!(!s.name||!s.type))try{r?await i.mutateAsync({id:r.id,data:s}):await n.mutateAsync(s),t(!1)}catch{}},c=n.isPending||i.isPending;return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"max-w-2xl max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:r?"Modifier le lieu":"Créer un lieu"}),a.jsx(Mn,{children:r?"Modifiez les informations du lieu.":"Créez un nouveau lieu qui pourra être utilisé lors de la création de missions."})]}),a.jsxs("form",{onSubmit:l,className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"name",children:["Nom ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"name",value:s.name,onChange:d=>o(u=>({...u,name:d.target.value})),placeholder:"Ex: CIMFASO Ouagadougou",required:!0})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"type",children:["Type ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:s.type,onValueChange:d=>o(u=>({...u,type:d})),children:[a.jsx(Xr,{children:a.jsx(nn,{placeholder:"Sélectionner un type"})}),a.jsx(en,{children:Cqe.map(d=>a.jsx(Qt,{value:d.value,children:a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx("span",{children:d.icon}),a.jsx("span",{children:d.label})]})},d.value))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"country",children:"Pays"}),a.jsx(Xe,{id:"country",value:s.country||"",onChange:d=>o(u=>({...u,country:d.target.value||void 0})),placeholder:"Ex: Burkina Faso"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"latitude",children:"Latitude"}),a.jsx(Xe,{id:"latitude",type:"number",step:"any",value:s.latitude||"",onChange:d=>o(u=>({...u,latitude:d.target.value?parseFloat(d.target.value):void 0})),placeholder:"Ex: 12.3657"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"longitude",children:"Longitude"}),a.jsx(Xe,{id:"longitude",type:"number",step:"any",value:s.longitude||"",onChange:d=>o(u=>({...u,longitude:d.target.value?parseFloat(d.target.value):void 0})),placeholder:"Ex: -1.5339"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"imageUrl",children:"URL de l'image (optionnel)"}),a.jsx(Xe,{id:"imageUrl",value:s.imageUrl||"",onChange:d=>o(u=>({...u,imageUrl:d.target.value||void 0})),placeholder:"https://..."})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(S1,{id:"isActive",checked:s.isActive,onCheckedChange:d=>o(u=>({...u,isActive:d}))}),a.jsx(Se,{htmlFor:"isActive",className:"cursor-pointer",children:"Lieu actif (visible dans la liste)"})]}),a.jsxs(Na,{children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>t(!1),children:"Annuler"}),a.jsxs(ge,{type:"submit",disabled:c,children:[c&&a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),r?"Modifier":"Créer"]})]})]})]})})}const jqe={factory:"🏭",port:"⚓",border:"🚧",warehouse:"🏢",city:"🏙️"},Nqe={factory:"Usine",port:"Port",border:"Frontière",warehouse:"Entrepôt",city:"Ville"};function Sqe(){const{data:e=[],isLoading:t}=OC(!1),r=iHe(),[n,i]=I.useState(null),[s,o]=I.useState(!1),[l,c]=I.useState(null),d=h=>{i(h),o(!0)},u=async h=>{try{await r.mutateAsync(h),c(null)}catch{}};return t?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex justify-between items-center",children:[a.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.length," lieu",e.length>1?"x":""]}),a.jsxs(ge,{onClick:()=>{i(null),o(!0)},children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter un lieu"]})]}),e.length===0?a.jsx(it,{className:"p-8 border-dashed",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-muted-foreground mb-4",children:"Aucun lieu défini"}),a.jsxs(ge,{onClick:()=>{i(null),o(!0)},children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Créer le premier lieu"]})]})}):a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:e.map(h=>a.jsxs(it,{className:"p-4",children:[a.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[a.jsx("span",{className:"text-3xl flex-shrink-0",children:jqe[h.type]||"📍"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-base truncate",children:h.name}),a.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[a.jsx(yt,{variant:"secondary",className:"text-xs",children:Nqe[h.type]||h.type}),!h.isActive&&a.jsx(yt,{variant:"outline",className:"text-xs",children:"Inactif"})]}),h.country&&a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:h.country})]})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsxs(ge,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>d(h),children:[a.jsx($m,{className:"h-3 w-3 mr-1"}),"Modifier"]}),a.jsxs(ge,{variant:"outline",size:"sm",className:"flex-1 text-destructive hover:text-destructive",onClick:()=>c(h.id),children:[a.jsx(Ns,{className:"h-3 w-3 mr-1"}),"Supprimer"]})]})]},h.id))}),a.jsx(Iqe,{open:s,onOpenChange:h=>{o(h),h||i(null)},location:n}),a.jsx(R_,{open:l!==null,onOpenChange:h=>c(h?l:null),onConfirm:()=>l&&u(l),title:"Supprimer le lieu",description:`Êtes-vous sûr de vouloir supprimer "${e.find(h=>h.id===l)?.name}" ? Cette action est irréversible.`,isLoading:r.isPending})]})}function Bqe(){const{data:e,isLoading:t,error:r}=WS(),n=lH(),{toast:i}=Er(),[s,o]=I.useState({cloudinaryCloudName:"",cloudinaryApiKey:"",cloudinaryApiSecret:""}),[l,c]=I.useState({}),[d,u]=I.useState(!1),[h,p]=I.useState(null);I.useEffect(()=>{e&&o({cloudinaryCloudName:e.cloudinaryCloudName||"",cloudinaryApiKey:e.cloudinaryApiKey||"",cloudinaryApiSecret:e.cloudinaryApiSecret||""})},[e]);const A=(j,E)=>{o(S=>({...S,[j]:E})),l[j]&&c(S=>({...S,[j]:void 0})),p(null)},y=()=>{const j={};return s.cloudinaryCloudName.trim()||(j.cloudinaryCloudName="Le Cloud Name est obligatoire"),s.cloudinaryApiKey.trim()||(j.cloudinaryApiKey="L'API Key est obligatoire"),s.cloudinaryApiSecret.trim()||(j.cloudinaryApiSecret="L'API Secret est obligatoire"),c(j),Object.keys(j).length===0},v=async()=>{if(y()){u(!0),p(null);try{const j=await fetch("/api/cloudinary/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cloudName:s.cloudinaryCloudName,apiKey:s.cloudinaryApiKey,apiSecret:s.cloudinaryApiSecret})});if(j.ok)p("success"),i({title:"Test réussi",description:"La connexion à Cloudinary fonctionne correctement."});else{const E=await j.json();p("error"),i({title:"Test échoué",description:E.message||"Impossible de se connecter à Cloudinary.",variant:"destructive"})}}catch{p("error"),i({title:"Erreur",description:"Une erreur est survenue lors du test de connexion.",variant:"destructive"})}finally{u(!1)}}},w=async j=>{if(j.preventDefault(),!y())return;const E={cloudinaryCloudName:s.cloudinaryCloudName.trim()||void 0,cloudinaryApiKey:s.cloudinaryApiKey.trim()||void 0,cloudinaryApiSecret:s.cloudinaryApiSecret.trim()||void 0};try{await n.mutateAsync(E),i({title:"Configuration enregistrée",description:"La configuration Cloudinary a été enregistrée avec succès."}),p(null)}catch(S){i({title:"Erreur",description:S instanceof Error?S.message:"Erreur lors de l'enregistrement.",variant:"destructive"})}};return t?a.jsx("div",{className:"flex items-center justify-center p-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):r?a.jsx("div",{className:"p-4 text-center text-destructive",children:"Erreur lors du chargement de la configuration Cloudinary."}):a.jsx("form",{onSubmit:w,className:"space-y-6",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(lv,{className:"h-5 w-5"}),"Configuration Cloudinary"]}),a.jsxs(wn,{children:["Configurez vos identifiants Cloudinary pour le stockage persistant des images et fichiers audio. Ces identifiants peuvent être obtenus depuis votre"," ",a.jsx("a",{href:"https://cloudinary.com/console",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"dashboard Cloudinary"}),"."]})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"cloudinaryCloudName",children:["Cloud Name ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"cloudinaryCloudName",type:"text",value:s.cloudinaryCloudName,onChange:j=>A("cloudinaryCloudName",j.target.value),placeholder:"Ex: dxyz123456",className:l.cloudinaryCloudName?"border-destructive":""}),l.cloudinaryCloudName&&a.jsx("p",{className:"text-sm text-destructive",children:l.cloudinaryCloudName}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Le Cloud Name se trouve dans votre dashboard Cloudinary (en haut à droite)."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"cloudinaryApiKey",children:["API Key ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"cloudinaryApiKey",type:"text",value:s.cloudinaryApiKey,onChange:j=>A("cloudinaryApiKey",j.target.value),placeholder:"Ex: 123456789012345",className:l.cloudinaryApiKey?"border-destructive":""}),l.cloudinaryApiKey&&a.jsx("p",{className:"text-sm text-destructive",children:l.cloudinaryApiKey}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"L'API Key se trouve dans votre dashboard Cloudinary."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"cloudinaryApiSecret",children:["API Secret ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"cloudinaryApiSecret",type:"password",value:s.cloudinaryApiSecret,onChange:j=>A("cloudinaryApiSecret",j.target.value),placeholder:"Ex: abcdefghijklmnopqrstuvwxyz123456",className:l.cloudinaryApiSecret?"border-destructive":""}),l.cloudinaryApiSecret&&a.jsx("p",{className:"text-sm text-destructive",children:l.cloudinaryApiSecret}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"L'API Secret se trouve dans votre dashboard Cloudinary. Gardez-le secret."})]}),h&&a.jsxs("div",{className:`flex items-center gap-2 p-3 rounded-md ${h==="success"?"bg-green-50 text-green-800 dark:bg-green-900/20 dark:text-green-400":"bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-400"}`,children:[h==="success"?a.jsx(na,{className:"h-5 w-5"}):a.jsx(U1,{className:"h-5 w-5"}),a.jsx("span",{className:"text-sm font-medium",children:h==="success"?"Connexion à Cloudinary réussie":"Échec de la connexion à Cloudinary"})]}),!s.cloudinaryCloudName&&!s.cloudinaryApiKey&&!s.cloudinaryApiSecret&&a.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-md bg-yellow-50 text-yellow-800 dark:bg-yellow-900/20 dark:text-yellow-400",children:[a.jsx(Kn,{className:"h-5 w-5 mt-0.5"}),a.jsxs("div",{className:"text-sm",children:[a.jsx("p",{className:"font-medium",children:"Configuration requise"}),a.jsx("p",{children:"Les uploads d'images et fichiers audio ne fonctionneront pas correctement sans configuration Cloudinary."})]})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:v,disabled:d||n.isPending,children:d?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"mr-2 h-4 w-4 animate-spin"}),"Test en cours..."]}):"Tester la connexion"}),a.jsx(ge,{type:"submit",disabled:n.isPending||d,children:n.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"mr-2 h-4 w-4 animate-spin"}),"Enregistrement..."]}):"Enregistrer"})]})]})]})})}async function kqe(e){const t=new FormData;t.append("file",e);const r=await fetch("/api/tracksolid/import",{method:"POST",body:t,credentials:"include"});if(!r.ok){const n=await r.text();let i=`${r.status}: ${n||r.statusText}`;try{i=JSON.parse(n).message||i}catch{}throw new Error(i)}return await r.json()}async function _qe(e=50){return await $t(`/api/tracksolid/imports?limit=${e}`)}async function wne(e,t){const r=t?`/api/tracksolid/imports/${e}/trips?vehicleExternal=${encodeURIComponent(t)}`:`/api/tracksolid/imports/${e}/trips`;return await $t(r)}async function Dqe(e){return await $t("/api/tracksolid/vehicle-map",{method:"POST",body:e})}async function Tqe(){return await $t("/api/tracksolid/vehicle-maps")}function Rqe(){const{toast:e}=Er();return _r({mutationFn:kqe,onSuccess:t=>{e({title:"Import réussi",description:`${t.stats.tripCount} trajets détectés dans ${t.stats.sheetCount} feuille(s)`}),jt.invalidateQueries({queryKey:["/api/tracksolid/imports"]})},onError:t=>{e({title:"Erreur lors de l'import",description:t.message,variant:"destructive"})}})}function Ene(e=50){return cr({queryKey:["/api/tracksolid/imports",e],queryFn:()=>_qe(e)})}function Pqe(e,t){return cr({queryKey:["/api/tracksolid/imports",e,"trips",t],queryFn:()=>wne(e,t),enabled:!!e})}function Qqe(){return cr({queryKey:["/api/tracksolid/vehicle-maps"],queryFn:Tqe})}function Fqe(){const{toast:e}=Er();return _r({mutationFn:Dqe,onSuccess:()=>{e({title:"Mapping enregistré",description:"Le mapping véhicule a été enregistré avec succès"}),jt.invalidateQueries({queryKey:["/api/tracksolid/vehicle-maps"]})},onError:t=>{e({title:"Erreur",description:t.message,variant:"destructive"})}})}function Oqe(){const[e,t]=I.useState(!1),[r,n]=I.useState(null),i=Rqe(),{toast:s}=Er(),o=I.useCallback(h=>{h.preventDefault(),h.stopPropagation(),h.type==="dragenter"||h.type==="dragover"?t(!0):h.type==="dragleave"&&t(!1)},[]),l=I.useCallback(h=>{if(h.preventDefault(),h.stopPropagation(),t(!1),h.dataTransfer.files&&h.dataTransfer.files[0]){const p=h.dataTransfer.files[0];p.name.endsWith(".xls")||p.name.endsWith(".xlsx")?n(p):s({title:"Format invalide",description:"Seuls les fichiers .xls et .xlsx sont acceptés",variant:"destructive"})}},[s]),c=I.useCallback(h=>{if(h.target.files&&h.target.files[0]){const p=h.target.files[0];p.name.endsWith(".xls")||p.name.endsWith(".xlsx")?n(p):s({title:"Format invalide",description:"Seuls les fichiers .xls et .xlsx sont acceptés",variant:"destructive"})}},[s]),d=async()=>{if(r)try{const h=await i.mutateAsync(r);n(null)}catch{}},u=()=>{n(null)};return a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Importer un rapport XLS TrackSolid"}),a.jsx(wn,{children:"Importez un fichier Excel exporté depuis TrackSolidPro. Le fichier sera analysé et les trajets seront extraits automatiquement."})]}),a.jsxs(Et,{className:"space-y-4",children:[r?a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center gap-3 p-4 border rounded-lg",children:[a.jsx(Z3,{className:"h-8 w-8 text-primary"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"font-medium",children:r.name}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:[(r.size/1024/1024).toFixed(2)," MB"]})]})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ge,{onClick:d,disabled:i.isPending,className:"flex-1",children:i.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Import en cours..."]}):a.jsxs(a.Fragment,{children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Importer"]})}),a.jsx(ge,{onClick:u,variant:"outline",disabled:i.isPending,children:"Annuler"})]})]}):a.jsxs("div",{onDragEnter:o,onDragLeave:o,onDragOver:o,onDrop:l,className:` border-2 border-dashed rounded-lg p-12 text-center transition-colors ${e?"border-primary bg-primary/5":"border-muted-foreground/25"} hover:border-primary/50 cursor-pointer `,children:[a.jsx("input",{type:"file",id:"file-upload",accept:".xls,.xlsx",onChange:c,className:"hidden"}),a.jsxs("label",{htmlFor:"file-upload",className:"cursor-pointer",children:[a.jsx(Z3,{className:"h-12 w-12 mx-auto mb-4 text-muted-foreground"}),a.jsx("p",{className:"text-lg font-medium mb-2",children:"Glissez-déposez un fichier XLS ici"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"ou cliquez pour sélectionner un fichier"}),a.jsxs(ge,{type:"button",variant:"outline",children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Sélectionner un fichier"]})]})]}),i.isSuccess&&i.data&&a.jsx("div",{className:"p-4 bg-green-50 dark:bg-green-950 border border-green-200 dark:border-green-800 rounded-lg",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(na,{className:"h-5 w-5 text-green-600 dark:text-green-400 mt-0.5"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"font-medium text-green-900 dark:text-green-100 mb-2",children:"Import réussi !"}),a.jsxs("div",{className:"space-y-1 text-sm text-green-800 dark:text-green-200",children:[a.jsxs("p",{children:[a.jsx("strong",{children:"Fichier :"})," ",i.data.import.fileName]}),a.jsxs("p",{children:[a.jsx("strong",{children:"Date d'import :"})," ",Wr(new Date(i.data.import.createdAt),"PPpp",{locale:Hr})]}),a.jsxs("p",{children:[a.jsx("strong",{children:"Trajets détectés :"})," ",a.jsx(yt,{variant:"secondary",children:i.data.stats.tripCount})]}),a.jsxs("p",{children:[a.jsx("strong",{children:"Feuilles détectées :"})," ",a.jsx(yt,{variant:"secondary",children:i.data.stats.sheetCount})]}),i.data.stats.sheets.length>0&&a.jsxs("div",{className:"mt-2",children:[a.jsx("p",{className:"font-medium mb-1",children:"Feuilles :"}),a.jsx("div",{className:"flex flex-wrap gap-1",children:i.data.stats.sheets.map((h,p)=>a.jsxs(yt,{variant:"outline",children:[h.name," (",h.tripCount," trajets)"]},p))})]})]})]})]})}),i.isError&&a.jsx("div",{className:"p-4 bg-red-50 dark:bg-red-950 border border-red-200 dark:border-red-800 rounded-lg",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(U1,{className:"h-5 w-5 text-red-600 dark:text-red-400 mt-0.5"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"font-medium text-red-900 dark:text-red-100 mb-1",children:"Erreur lors de l'import"}),a.jsx("p",{className:"text-sm text-red-800 dark:text-red-200",children:i.error instanceof Error?i.error.message:"Une erreur est survenue"})]})]})})]})]})}function Lqe(){const{data:e=[],isLoading:t}=Ene(),{data:r=[]}=cr({queryKey:["/api/vehicles"]}),{data:n=[],isLoading:i}=Qqe(),s=Fqe(),{toast:o}=Er(),{data:l=[]}=cr({queryKey:["/api/tracksolid/all-trips-for-mapping",e.map(j=>j.id)],queryFn:async()=>{if(e.length===0)return[];const j=e.map(S=>wne(S.id));return(await Promise.all(j)).flat()},enabled:e.length>0}),c=Array.from(new Set(l.map(j=>j.vehicleExternalName))),[d,u]=I.useState({}),[h,p]=I.useState(!1);I.useEffect(()=>{if(!h&&c.length>0){const j={};c.forEach(E=>{j[E]=null}),n.forEach(E=>{j[E.externalName]=E.vehicleId??null}),u(j),p(!0)}else h&&u(j=>{const E={...j};let S=!1;return c.forEach(_=>{_ in E||(E[_]=null,S=!0)}),S?E:j})},[c.join(","),h]);const A=Array.from(new Set([...n.map(j=>j.externalName),...c])),y=(j,E)=>{const S=E==="none"?null:parseInt(E,10);u(_=>({..._,[j]:S}))},v=j=>{const E=d[j];return E==null?"none":String(E)},w=async()=>{try{await Promise.all(Object.entries(d).map(([j,E])=>s.mutateAsync({externalName:j,vehicleId:E}))),o({title:"Mappings enregistrés",description:"Les mappings ont été enregistrés avec succès"})}catch{}};return t||i?a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"flex justify-center items-center",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})})}):A.length===0?a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Mapper les feuilles aux véhicules"}),a.jsx(wn,{children:"Associez les identifiants TrackSolid aux véhicules de votre parc"})]}),a.jsx(Et,{children:a.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:[a.jsx("p",{children:"Aucune feuille TrackSolid détectée."}),a.jsx("p",{className:"text-sm mt-2",children:"Importez d'abord un fichier XLS TrackSolid."})]})})]}):a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Mapper les feuilles aux véhicules"}),a.jsx(wn,{children:"Associez les identifiants TrackSolid (noms de feuilles) aux véhicules de votre parc. Cela permettra de lier automatiquement les trajets TrackSolid aux voyages Parc'App."})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsx("div",{className:"space-y-3",children:A.map(j=>{const E=v(j);return a.jsxs("div",{className:"flex items-center gap-4 p-4 border rounded-lg",children:[a.jsx(Fa,{className:"h-5 w-5 text-muted-foreground"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-medium truncate",children:j}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Identifiant TrackSolid"})]}),a.jsxs(rn,{value:E,onValueChange:S=>y(j,S),children:[a.jsx(Xr,{className:"w-[250px]",children:a.jsx(nn,{placeholder:"Sélectionner un véhicule"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"none",children:"Aucun véhicule"}),r.map(S=>a.jsx(Qt,{value:S.id.toString(),children:a.jsxs("div",{className:"flex items-center gap-2",children:[S.photoUrl&&a.jsx("img",{src:Sr(S.photoUrl)||void 0,alt:S.immatriculation,className:"h-6 w-6 rounded object-cover"}),a.jsx("span",{children:S.immatriculation}),S.nom&&a.jsx(yt,{variant:"outline",className:"text-xs",children:S.nom})]})},S.id))]})]},`select-${j}-${E}`)]},j)})}),a.jsx("div",{className:"flex justify-end pt-4 border-t",children:a.jsx(ge,{onClick:w,disabled:s.isPending,children:s.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Enregistrement..."]}):a.jsxs(a.Fragment,{children:[a.jsx(A4,{className:"h-4 w-4 mr-2"}),"Enregistrer le mapping"]})})})]})]})}function Mqe(){const{data:e=[],isLoading:t}=Ene(),[r,n]=I.useState(e[0]?.id??null),[i,s]=I.useState("all"),{data:o=[],isLoading:l}=Pqe(r,i!=="all"?i:void 0),c=Array.from(new Set(o.map(d=>d.vehicleExternalName)));return t?a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"flex justify-center items-center",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})})}):e.length===0?a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Aperçu des trajets TrackSolid"}),a.jsx(wn,{children:"Consultez les trajets importés depuis TrackSolidPro"})]}),a.jsx(Et,{children:a.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:[a.jsx("p",{children:"Aucun import disponible."}),a.jsx("p",{className:"text-sm mt-2",children:"Importez d'abord un fichier XLS TrackSolid."})]})})]}):a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Aperçu des trajets TrackSolid"}),a.jsx(wn,{children:"Consultez les trajets importés depuis TrackSolidPro. Vous pouvez filtrer par import et par véhicule."})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"flex gap-4 flex-wrap",children:[a.jsxs("div",{className:"flex-1 min-w-[200px]",children:[a.jsx("label",{className:"text-sm font-medium mb-2 block",children:"Import"}),a.jsxs(rn,{value:r?.toString()??"",onValueChange:d=>n(parseInt(d)),children:[a.jsx(Xr,{children:a.jsx(nn,{placeholder:"Sélectionner un import"})}),a.jsx(en,{children:e.map(d=>a.jsxs(Qt,{value:d.id.toString(),children:[d.fileName," (",d.tripCount," trajets)"]},d.id))})]})]}),r&&c.length>0&&a.jsxs("div",{className:"flex-1 min-w-[200px]",children:[a.jsx("label",{className:"text-sm font-medium mb-2 block",children:"Véhicule"}),a.jsxs(rn,{value:i,onValueChange:s,children:[a.jsx(Xr,{children:a.jsx(nn,{placeholder:"Tous les véhicules"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"all",children:"Tous les véhicules"}),c.map(d=>a.jsx(Qt,{value:d,children:d},d))]})]})]})]}),l?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):o.length===0?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a.jsx("p",{children:"Aucun trajet trouvé pour cet import."})}):a.jsx("div",{className:"border rounded-lg overflow-hidden",children:a.jsxs(nx,{children:[a.jsx(ix,{children:a.jsxs(n0,{children:[a.jsx(bi,{children:"Véhicule"}),a.jsx(bi,{children:"Départ"}),a.jsx(bi,{children:"Arrivée"}),a.jsx(bi,{children:"Lieu départ"}),a.jsx(bi,{children:"Lieu arrivée"}),a.jsx(bi,{children:"Distance"}),a.jsx(bi,{children:"Durée"}),a.jsx(bi,{children:"Vitesse moy."})]})}),a.jsx(ax,{children:o.map(d=>a.jsxs(n0,{children:[a.jsx(mi,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(yt,{variant:"outline",children:d.vehicleExternalName}),d.vehiclePlateGuess&&a.jsx(yt,{variant:"secondary",className:"text-xs",children:d.vehiclePlateGuess})]})}),a.jsx(mi,{children:d.startAt?a.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[a.jsx(Sl,{className:"h-3 w-3"}),Wr(new Date(d.startAt),"dd/MM/yyyy HH:mm",{locale:Hr})]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(mi,{children:d.endAt?a.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[a.jsx(Sl,{className:"h-3 w-3"}),Wr(new Date(d.endAt),"dd/MM/yyyy HH:mm",{locale:Hr})]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(mi,{children:d.startLocation?a.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[a.jsx(ei,{className:"h-3 w-3"}),d.startLocation]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(mi,{children:d.endLocation?a.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[a.jsx(ei,{className:"h-3 w-3"}),d.endLocation]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(mi,{children:d.distanceKm!==null?a.jsxs("span",{className:"font-medium",children:[d.distanceKm.toFixed(1)," km"]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(mi,{children:d.durationMinutes!==null?a.jsxs("span",{className:"text-sm",children:[Math.floor(d.durationMinutes/60),"h",(d.durationMinutes%60).toString().padStart(2,"0")]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(mi,{children:d.avgSpeedKmh!==null?a.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[a.jsx(L6,{className:"h-3 w-3"}),d.avgSpeedKmh.toFixed(0)," km/h"]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})})]},d.id))})]})}),o.length>0&&a.jsxs("div",{className:"text-sm text-muted-foreground text-center",children:[o.length," trajet",o.length>1?"s":""," affiché",o.length>1?"s":""]})]})]})}function Uqe(){const[e,t]=I.useState(!1),[r,n]=I.useState(null),[i,s]=I.useState(null),[o,l]=I.useState(!1),[c,d]=I.useState(null),{toast:u}=Er(),{data:h=[],isLoading:p}=cr({queryKey:["/api/vehicles"]}),A=I.useCallback(E=>{E.preventDefault(),E.stopPropagation(),E.type==="dragenter"||E.type==="dragover"?t(!0):E.type==="dragleave"&&t(!1)},[]),y=I.useCallback(E=>{if(E.preventDefault(),E.stopPropagation(),t(!1),E.dataTransfer.files&&E.dataTransfer.files[0]){const S=E.dataTransfer.files[0];S.name.endsWith(".xls")||S.name.endsWith(".xlsx")?n(S):u({title:"Format invalide",description:"Seuls les fichiers .xls et .xlsx sont acceptés",variant:"destructive"})}},[u]),v=I.useCallback(E=>{if(E.target.files&&E.target.files[0]){const S=E.target.files[0];S.name.endsWith(".xls")||S.name.endsWith(".xlsx")?n(S):u({title:"Format invalide",description:"Seuls les fichiers .xls et .xlsx sont acceptés",variant:"destructive"})}},[u]),w=async()=>{if(r){if(!i){u({title:"Véhicule requis",description:"Veuillez sélectionner un véhicule",variant:"destructive"});return}l(!0),d(null);try{const E=new FormData;E.append("file",r),E.append("vehicleId",String(i));const S=await fetch("/api/tracksolid/track-detail/import",{method:"POST",body:E});if(!S.ok){const C=await S.json();throw new Error(C.message||"Erreur lors de l'import")}const _=await S.json();d(_),n(null),s(null),u({title:"Import réussi",description:`${_.insertedRows} points GPS importés avec succès`,variant:"default"})}catch(E){console.error("Erreur import Track-Detail:",E),u({title:"Erreur d'import",description:E instanceof Error?E.message:"Une erreur est survenue",variant:"destructive"})}finally{l(!1)}}},j=()=>{n(null),s(null),d(null)};return a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-5 w-5"}),"Importer un fichier Track-Detail"]}),a.jsx(wn,{children:"Importez un fichier Excel Track-Detail (un fichier par camion) contenant les points GPS détaillés. Les points seront associés au véhicule sélectionné."})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("label",{className:"text-sm font-medium",children:"Véhicule"}),a.jsxs(rn,{value:i?String(i):void 0,onValueChange:E=>s(parseInt(E)),disabled:p||o,children:[a.jsx(Xr,{children:a.jsx(nn,{placeholder:"Sélectionner un véhicule"})}),a.jsx(en,{children:h.map(E=>a.jsxs(Qt,{value:String(E.id),children:[E.immatriculation," ",E.marque&&`- ${E.marque}`]},E.id))})]})]}),r?a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center gap-3 p-4 border rounded-lg bg-muted/50",children:[a.jsx(Z3,{className:"h-8 w-8 text-primary"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"font-medium",children:r.name}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:[(r.size/1024).toFixed(2)," KB"]})]})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ge,{onClick:w,disabled:!i||o,className:"flex-1",children:o?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Import en cours..."]}):a.jsxs(a.Fragment,{children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Importer"]})}),a.jsx(ge,{variant:"outline",onClick:j,disabled:o,children:"Annuler"})]})]}):a.jsxs("div",{onDragEnter:A,onDragLeave:A,onDragOver:A,onDrop:y,className:` border-2 border-dashed rounded-lg p-12 text-center transition-colors ${e?"border-primary bg-primary/5":"border-muted-foreground/25"} hover:border-primary/50 cursor-pointer `,children:[a.jsx("input",{type:"file",id:"track-detail-file-input",accept:".xls,.xlsx",onChange:v,className:"hidden"}),a.jsxs("label",{htmlFor:"track-detail-file-input",className:"cursor-pointer",children:[a.jsx(ja,{className:"h-12 w-12 mx-auto mb-4 text-muted-foreground"}),a.jsx("p",{className:"text-lg font-medium mb-2",children:"Glissez-déposez un fichier Track-Detail ici"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"ou cliquez pour sélectionner un fichier"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Formats acceptés: .xls, .xlsx"})]})]}),c&&a.jsxs("div",{className:"mt-6 p-4 border rounded-lg bg-muted/30 space-y-3",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(na,{className:"h-5 w-5 text-green-600"}),a.jsx("h3",{className:"font-semibold",children:"Import terminé"})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Véhicule:"}),a.jsx("p",{className:"font-medium",children:c.vehicleName})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Fichier:"}),a.jsx("p",{className:"font-medium truncate",children:c.sourceFile})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Feuille:"}),a.jsx("p",{className:"font-medium",children:c.sheetName})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Lignes totales:"}),a.jsx("p",{className:"font-medium",children:c.totalRows})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Lignes parsées:"}),a.jsx("p",{className:"font-medium",children:c.parsedRows})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Points insérés:"}),a.jsx(yt,{variant:"default",className:"ml-2",children:c.insertedRows})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Lignes ignorées:"}),a.jsx(yt,{variant:"secondary",className:"ml-2",children:c.skippedRows})]})]}),c.errors.length>0&&a.jsxs("div",{className:"mt-3",children:[a.jsxs("p",{className:"text-sm font-medium text-destructive mb-2",children:["Erreurs (",c.errors.length,"):"]}),a.jsx("div",{className:"max-h-32 overflow-y-auto space-y-1 text-xs",children:c.errors.map((E,S)=>a.jsxs("div",{className:"flex items-start gap-2 text-muted-foreground",children:[a.jsx(U1,{className:"h-3 w-3 mt-0.5 text-destructive"}),a.jsxs("span",{children:["Ligne ",E.row,": ",E.message]})]},S))})]})]})]})]})}async function zqe(e={}){const t=new URLSearchParams;e.vehicleId&&t.append("vehicleId",String(e.vehicleId)),e.startDate&&t.append("startDate",e.startDate),e.endDate&&t.append("endDate",e.endDate),e.limit&&t.append("limit",String(e.limit));const r=`/api/track-points${t.toString()?`?${t.toString()}`:""}`;return await $t(r)}function $qe(e={}){return cr({queryKey:["/api/track-points",e],queryFn:()=>zqe(e),enabled:e.vehicleId!==void 0})}function Hqe(){const[e,t]=I.useState(null),[r,n]=I.useState(""),[i,s]=I.useState(""),[o,l]=I.useState(1e3),{data:c=[],isLoading:d}=cr({queryKey:["/api/vehicles"]}),{data:u=[],isLoading:h}=$qe({vehicleId:e??void 0,startDate:r||void 0,endDate:i||void 0,limit:o}),p={total:u.length,withSpeed:u.filter(A=>A.speedKmh!==null).length,moving:u.filter(A=>A.moving===!0?!0:A.moving===!1?!1:A.speedKmh!==null&&A.speedKmh>3).length,dateRange:u.length>0?{start:u[0]?.ts,end:u[u.length-1]?.ts}:null};return d?a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"flex justify-center items-center",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})})}):c.length===0?a.jsx(it,{children:a.jsx(Et,{className:"py-12 text-center",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucun véhicule disponible"})})}):a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs(jr,{className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-5 w-5"}),"Points GPS Track-Detail"]}),a.jsx(wn,{children:"Visualisez les points GPS importés depuis les fichiers Track-Detail"})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("label",{className:"text-sm font-medium",children:"Véhicule"}),a.jsxs(rn,{value:e?String(e):void 0,onValueChange:A=>t(A?parseInt(A):null),children:[a.jsx(Xr,{children:a.jsx(nn,{placeholder:"Sélectionner un véhicule"})}),a.jsx(en,{children:c.map(A=>a.jsxs(Qt,{value:String(A.id),children:[A.immatriculation," ",A.marque&&`- ${A.marque}`]},A.id))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("label",{className:"text-sm font-medium",children:"Date début"}),a.jsx(Xe,{type:"date",value:r,onChange:A=>n(A.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("label",{className:"text-sm font-medium",children:"Date fin"}),a.jsx(Xe,{type:"date",value:i,onChange:A=>s(A.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("label",{className:"text-sm font-medium",children:"Limite"}),a.jsx(Xe,{type:"number",value:o,onChange:A=>l(parseInt(A.target.value)||1e3),min:1,max:1e4})]})]}),e&&p.total>0&&a.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:[a.jsx(it,{children:a.jsxs(Et,{className:"p-4",children:[a.jsx("div",{className:"text-2xl font-bold",children:p.total}),a.jsx("div",{className:"text-sm text-muted-foreground",children:"Points total"})]})}),a.jsx(it,{children:a.jsxs(Et,{className:"p-4",children:[a.jsx("div",{className:"text-2xl font-bold",children:p.withSpeed}),a.jsx("div",{className:"text-sm text-muted-foreground",children:"Avec vitesse"})]})}),a.jsx(it,{children:a.jsxs(Et,{className:"p-4",children:[a.jsx("div",{className:"text-sm font-bold",children:p.dateRange?.start?Wr(new Date(p.dateRange.start),"dd/MM/yyyy",{locale:Hr}):"-"}),a.jsx("div",{className:"text-xs text-muted-foreground",children:"Période"}),a.jsx("div",{className:"text-sm font-bold",children:p.dateRange?.end?Wr(new Date(p.dateRange.end),"dd/MM/yyyy",{locale:Hr}):"-"})]})})]}),e?h?a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsx("div",{className:"flex justify-center items-center",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})})})}):u.length===0?a.jsx(it,{children:a.jsx(Et,{className:"py-12 text-center",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucun point GPS trouvé pour ce véhicule"})})}):a.jsxs("div",{className:"border rounded-lg",children:[a.jsx("div",{className:"overflow-x-auto max-h-[600px] overflow-y-auto",children:a.jsxs(nx,{children:[a.jsx(ix,{children:a.jsxs(n0,{children:[a.jsx(bi,{children:"Date/Heure"}),a.jsx(bi,{children:"Latitude"}),a.jsx(bi,{children:"Longitude"}),a.jsx(bi,{children:"Vitesse"}),a.jsx(bi,{children:"Mouvement"}),a.jsx(bi,{children:"Adresse"}),a.jsx(bi,{children:"Source"})]})}),a.jsx(ax,{children:u.map(A=>a.jsxs(n0,{children:[a.jsx(mi,{children:a.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[a.jsx(Sl,{className:"h-3 w-3"}),Wr(new Date(A.ts),"dd/MM/yyyy HH:mm:ss",{locale:Hr})]})}),a.jsx(mi,{className:"font-mono text-sm",children:A.lat.toFixed(6)}),a.jsx(mi,{className:"font-mono text-sm",children:A.lon.toFixed(6)}),a.jsx(mi,{children:A.speedKmh!==null?a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(L6,{className:"h-3 w-3"}),A.speedKmh.toFixed(1)," km/h"]}):a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(mi,{children:A.moving!==null&&A.moving!==void 0?a.jsx(yt,{variant:A.moving?"default":"secondary",children:A.moving?"MOVING":"STOPPED"}):A.speedKmh!==null?a.jsx(yt,{variant:A.speedKmh>3?"default":"secondary",children:A.speedKmh>3?"MOVING":"STOPPED"}):a.jsx("span",{className:"text-muted-foreground",children:"—"})}),a.jsx(mi,{children:A.raw&&typeof A.raw=="object"&&"Address"in A.raw?a.jsx("span",{className:"text-xs text-muted-foreground truncate max-w-[200px] block",children:String(A.raw.Address||"")}):a.jsx("span",{className:"text-muted-foreground",children:"—"})}),a.jsx(mi,{children:a.jsx("span",{className:"text-xs text-muted-foreground truncate max-w-[150px] block",children:A.sourceFile})})]},A.id))})]})}),u.length>=o&&a.jsxs("div",{className:"p-4 border-t text-sm text-muted-foreground text-center",children:["Affichage limité à ",o," points. Augmentez la limite pour voir plus."]})]}):a.jsx(it,{children:a.jsx(Et,{className:"py-12 text-center",children:a.jsx("p",{className:"text-muted-foreground",children:"Sélectionnez un véhicule pour voir ses points GPS"})})})]})]})}function qqe(){return a.jsxs(ul,{defaultValue:"import",className:"space-y-6",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-5",children:[a.jsxs(hn,{value:"import",className:"flex items-center gap-2",children:[a.jsx(ja,{className:"h-4 w-4"}),"Importer"]}),a.jsxs(hn,{value:"track-detail",className:"flex items-center gap-2",children:[a.jsx(ei,{className:"h-4 w-4"}),"Track-Detail"]}),a.jsxs(hn,{value:"points-viewer",className:"flex items-center gap-2",children:[a.jsx(yse,{className:"h-4 w-4"}),"Points GPS"]}),a.jsxs(hn,{value:"mapping",className:"flex items-center gap-2",children:[a.jsx(Xv,{className:"h-4 w-4"}),"Mapping"]}),a.jsxs(hn,{value:"preview",className:"flex items-center gap-2",children:[a.jsx(O6,{className:"h-4 w-4"}),"Aperçu"]})]}),a.jsx(dn,{value:"import",className:"space-y-4",children:a.jsx(Oqe,{})}),a.jsx(dn,{value:"track-detail",className:"space-y-4",children:a.jsx(Uqe,{})}),a.jsx(dn,{value:"points-viewer",className:"space-y-4",children:a.jsx(Hqe,{})}),a.jsx(dn,{value:"mapping",className:"space-y-4",children:a.jsx(Lqe,{})}),a.jsx(dn,{value:"preview",className:"space-y-4",children:a.jsx(Mqe,{})})]})}const Cd={imageMaxSizePod:1024,imageMaxSizeIncident:1024,imageMaxSizeDefault:1280};function Gqe(){const{toast:e}=Er(),t=eo(),{data:r,isLoading:n}=cr({queryKey:["/api/settings/organization"],queryFn:async()=>await vg(),select:d=>({imageMaxSizePod:d?.imageMaxSizePod??Cd.imageMaxSizePod,imageMaxSizeIncident:d?.imageMaxSizeIncident??Cd.imageMaxSizeIncident,imageMaxSizeDefault:d?.imageMaxSizeDefault??Cd.imageMaxSizeDefault})}),[i,s]=I.useState(Cd);I.useEffect(()=>{r&&s({imageMaxSizePod:r.imageMaxSizePod??Cd.imageMaxSizePod,imageMaxSizeIncident:r.imageMaxSizeIncident??Cd.imageMaxSizeIncident,imageMaxSizeDefault:r.imageMaxSizeDefault??Cd.imageMaxSizeDefault})},[r]);const o=_r({mutationFn:async d=>{const u=await vg(),p={companyName:u.companyName||"Organisation",legalName:u.legalName||void 0,addressLine:u.addressLine||void 0,city:u.city||void 0,country:u.country||void 0,phone:u.phone||void 0,email:u.email||void 0,website:u.website||void 0,taxId:u.taxId||void 0,logoUrl:u.logoUrl||void 0,cloudinaryCloudName:u.cloudinaryCloudName||void 0,cloudinaryApiKey:u.cloudinaryApiKey||void 0,cloudinaryApiSecret:u.cloudinaryApiSecret||void 0,dispatchPhone:u.dispatchPhone||void 0,mechanicPhone:u.mechanicPhone||void 0,imageMaxSizePod:d.imageMaxSizePod,imageMaxSizeIncident:d.imageMaxSizeIncident,imageMaxSizeDefault:d.imageMaxSizeDefault};return await $4(p)},onSuccess:async()=>{e({title:"Paramètres sauvegardés",description:"Les paramètres d'optimisation d'images ont été mis à jour avec succès."}),t.invalidateQueries({queryKey:["/api/settings/organization"]});const{invalidateImageOptimizationCache:d}=await On(async()=>{const{invalidateImageOptimizationCache:u}=await import("./image-optimization-config-36ZLt28A.js");return{invalidateImageOptimizationCache:u}},[]);d()},onError:d=>{e({variant:"destructive",title:"Erreur",description:d.message||"Impossible de sauvegarder les paramètres"})}}),l=d=>{d.preventDefault(),o.mutate(i)},c=(d,u)=>{const h=Math.max(256,Math.min(2048,u));s(p=>({...p,[d]:h}))};return n?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-sm font-medium mb-2",children:"Taille maximale des images"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Configurez la taille maximale (en pixels) pour le côté le plus long des images selon leur type. Les images seront automatiquement redimensionnées pour réduire la consommation de données."})]}),a.jsx("div",{children:a.jsxs("form",{onSubmit:l,className:"space-y-6",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"imageMaxSizePod",children:'Taille max - Preuve de livraison / Documents (preset "pod")'}),a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(Xe,{id:"imageMaxSizePod",type:"number",min:"256",max:"2048",step:"64",value:i.imageMaxSizePod??Cd.imageMaxSizePod,onChange:d=>{const u=parseInt(d.target.value);isNaN(u)||c("imageMaxSizePod",u)},className:"w-32"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"px (256-2048)"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Utilisé pour : justificatifs, bons de chargement, tickets de pesée, reçus de carburant, justificatifs de dépenses"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"imageMaxSizeIncident",children:`Taille max - Photos d'incidents (preset "incident")`}),a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(Xe,{id:"imageMaxSizeIncident",type:"number",min:"256",max:"2048",step:"64",value:i.imageMaxSizeIncident??Cd.imageMaxSizeIncident,onChange:d=>{const u=parseInt(d.target.value);isNaN(u)||c("imageMaxSizeIncident",u)},className:"w-32"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"px (256-2048)"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Utilisé pour : photos d'incidents, réponses aux incidents"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"imageMaxSizeDefault",children:'Taille max - Autres images (preset "default")'}),a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(Xe,{id:"imageMaxSizeDefault",type:"number",min:"256",max:"2048",step:"64",value:i.imageMaxSizeDefault??Cd.imageMaxSizeDefault,onChange:d=>{const u=parseInt(d.target.value);isNaN(u)||c("imageMaxSizeDefault",u)},className:"w-32"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"px (256-2048)"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Utilisé pour : autres types d'images (photos de véhicules, etc.)"})]}),a.jsx("div",{className:"flex justify-end gap-2 pt-4 border-t",children:a.jsx(ge,{type:"submit",disabled:o.isPending,children:o.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Sauvegarde..."]}):a.jsxs(a.Fragment,{children:[a.jsx(A4,{className:"h-4 w-4 mr-2"}),"Sauvegarder"]})})})]})})]})}const Zn={videoEnabled:!0,videoMaxDurationSec:10,videoResolutionPreset:"360p",videoMaxSizeBytes:8*1024*1024,videoPreferredCaptureMode:"auto",videoThumbnailEnabled:!0,videoThumbnailMaxSize:240,videoThumbnailQuality:.5,videoRequireExactOrLower:!0};function Vqe(){const{toast:e}=Er(),t=eo(),r=(u,h)=>{if(u==null)return h;const p=typeof u=="string"?parseFloat(u):Number(u);return isNaN(p)?h:p},n=(u,h)=>u==null?h:typeof u=="boolean"?u:typeof u=="string"?u==="true"||u==="1":!!u,{data:i,isLoading:s}=cr({queryKey:["/api/settings/organization"],queryFn:async()=>await vg(),select:u=>{const h=u;return{videoEnabled:n(h.videoEnabled,Zn.videoEnabled),videoMaxDurationSec:r(h.videoMaxDurationSec,Zn.videoMaxDurationSec),videoResolutionPreset:h.videoResolutionPreset&&(h.videoResolutionPreset==="144p"||h.videoResolutionPreset==="240p"||h.videoResolutionPreset==="360p"||h.videoResolutionPreset==="480p"||h.videoResolutionPreset==="720p"||h.videoResolutionPreset==="1080p")?h.videoResolutionPreset:Zn.videoResolutionPreset,videoMaxSizeBytes:r(h.videoMaxSizeBytes,Zn.videoMaxSizeBytes),videoPreferredCaptureMode:h.videoPreferredCaptureMode==="auto"||h.videoPreferredCaptureMode==="mediaRecorder"||h.videoPreferredCaptureMode==="fileInput"?h.videoPreferredCaptureMode:Zn.videoPreferredCaptureMode,videoThumbnailEnabled:n(h.videoThumbnailEnabled,Zn.videoThumbnailEnabled),videoThumbnailMaxSize:r(h.videoThumbnailMaxSize,Zn.videoThumbnailMaxSize),videoThumbnailQuality:r(h.videoThumbnailQuality,Zn.videoThumbnailQuality),videoRequireExactOrLower:n(h.videoRequireExactOrLower,Zn.videoRequireExactOrLower)}}}),[o,l]=I.useState(Zn);I.useEffect(()=>{i&&l({videoEnabled:i.videoEnabled??Zn.videoEnabled,videoMaxDurationSec:i.videoMaxDurationSec??Zn.videoMaxDurationSec,videoResolutionPreset:i.videoResolutionPreset||Zn.videoResolutionPreset,videoMaxSizeBytes:i.videoMaxSizeBytes??Zn.videoMaxSizeBytes,videoPreferredCaptureMode:i.videoPreferredCaptureMode||Zn.videoPreferredCaptureMode,videoThumbnailEnabled:i.videoThumbnailEnabled??Zn.videoThumbnailEnabled,videoThumbnailMaxSize:i.videoThumbnailMaxSize??Zn.videoThumbnailMaxSize,videoThumbnailQuality:i.videoThumbnailQuality??Zn.videoThumbnailQuality,videoRequireExactOrLower:i.videoRequireExactOrLower??Zn.videoRequireExactOrLower})},[i]);const c=_r({mutationFn:async u=>{const h=await vg(),A={companyName:h.companyName||"Organisation",legalName:h.legalName||void 0,addressLine:h.addressLine||void 0,city:h.city||void 0,country:h.country||void 0,phone:h.phone||void 0,email:h.email||void 0,website:h.website||void 0,taxId:h.taxId||void 0,logoUrl:h.logoUrl||void 0,cloudinaryCloudName:h.cloudinaryCloudName||void 0,cloudinaryApiKey:h.cloudinaryApiKey||void 0,cloudinaryApiSecret:h.cloudinaryApiSecret||void 0,dispatchPhone:h.dispatchPhone||void 0,mechanicPhone:h.mechanicPhone||void 0,videoEnabled:u.videoEnabled??Zn.videoEnabled,videoMaxDurationSec:u.videoMaxDurationSec??Zn.videoMaxDurationSec,videoResolutionPreset:u.videoResolutionPreset||Zn.videoResolutionPreset,videoMaxSizeBytes:u.videoMaxSizeBytes??Zn.videoMaxSizeBytes,videoPreferredCaptureMode:u.videoPreferredCaptureMode||Zn.videoPreferredCaptureMode,videoThumbnailEnabled:u.videoThumbnailEnabled??Zn.videoThumbnailEnabled,videoThumbnailMaxSize:u.videoThumbnailMaxSize??Zn.videoThumbnailMaxSize,videoThumbnailQuality:u.videoThumbnailQuality??Zn.videoThumbnailQuality,videoRequireExactOrLower:u.videoRequireExactOrLower??Zn.videoRequireExactOrLower};return await $4(A)},onSuccess:async()=>{e({title:"Paramètres sauvegardés",description:"Les paramètres d'optimisation vidéo ont été mis à jour avec succès."}),await t.invalidateQueries({queryKey:["/api/settings/organization"]}),await t.refetchQueries({queryKey:["/api/settings/organization"]});const{invalidateVideoOptimizationCache:u}=await On(async()=>{const{invalidateVideoOptimizationCache:h}=await Promise.resolve().then(()=>$$);return{invalidateVideoOptimizationCache:h}},void 0);u()},onError:u=>{e({variant:"destructive",title:"Erreur",description:u.message||"Impossible de sauvegarder les paramètres"})}}),d=u=>{u.preventDefault(),c.mutate(o)};return s?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-sm font-medium mb-2",children:"Paramètres de capture vidéo"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Configurez les paramètres d'optimisation vidéo pour réduire la consommation de données. Les vidéos seront capturées et validées selon ces paramètres."})]}),a.jsxs("form",{onSubmit:d,className:"space-y-6",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoEnabled",children:"Activer l'optimisation vidéo"}),a.jsxs(rn,{value:String(!!(o.videoEnabled??Zn.videoEnabled)),onValueChange:u=>l(h=>({...h,videoEnabled:u==="true"})),children:[a.jsx(Xr,{id:"videoEnabled",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"true",children:"Activé"}),a.jsx(Qt,{value:"false",children:"Désactivé"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoMaxDurationSec",children:"Durée maximale (secondes)"}),a.jsx(Xe,{id:"videoMaxDurationSec",type:"number",min:"1",max:"60",step:"1",value:o.videoMaxDurationSec||Zn.videoMaxDurationSec,onChange:u=>{const h=parseInt(u.target.value);isNaN(h)||l(p=>({...p,videoMaxDurationSec:h}))},className:"w-32"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Durée maximale d'enregistrement vidéo (1-60s)"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoResolutionPreset",children:"Résolution maximale"}),a.jsxs(rn,{value:o.videoResolutionPreset||Zn.videoResolutionPreset,onValueChange:u=>l(h=>({...h,videoResolutionPreset:u})),children:[a.jsx(Xr,{id:"videoResolutionPreset",children:a.jsx(nn,{})}),a.jsx(en,{children:Object.keys(vN).map(u=>{const{widthIdeal:h,heightIdeal:p}=vN[u];return a.jsxs(Qt,{value:u,children:[u," (",h,"x",p,")"]},u)})})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Plus bas = upload plus rapide. Par défaut: 360p"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoMaxSizeBytes",children:"Taille maximale (MB)"}),a.jsx(Xe,{id:"videoMaxSizeBytes",type:"number",min:"1",max:"100",step:"1",value:o.videoMaxSizeBytes?Math.round(o.videoMaxSizeBytes/(1024*1024)):Math.round(Zn.videoMaxSizeBytes/(1024*1024)),onChange:u=>{const h=parseInt(u.target.value);!isNaN(h)&&h>0&&l(p=>({...p,videoMaxSizeBytes:h*1024*1024}))},className:"w-32"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Taille maximale du fichier vidéo (1-100 MB)"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoPreferredCaptureMode",children:"Mode de capture préféré"}),a.jsxs(rn,{value:o.videoPreferredCaptureMode||Zn.videoPreferredCaptureMode,onValueChange:u=>l(h=>({...h,videoPreferredCaptureMode:u})),children:[a.jsx(Xr,{id:"videoPreferredCaptureMode",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"auto",children:"Auto (MediaRecorder si disponible)"}),a.jsx(Qt,{value:"mediaRecorder",children:"MediaRecorder uniquement"}),a.jsx(Qt,{value:"fileInput",children:"Input fichier uniquement"})]})]})]}),a.jsxs("div",{className:"space-y-4 border-t pt-4",children:[a.jsx("h5",{className:"text-sm font-medium",children:"Thumbnail"}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoThumbnailEnabled",children:"Activer les thumbnails"}),a.jsxs(rn,{value:String(!!(o.videoThumbnailEnabled??Zn.videoThumbnailEnabled)),onValueChange:u=>l(h=>({...h,videoThumbnailEnabled:u==="true"})),children:[a.jsx(Xr,{id:"videoThumbnailEnabled",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"true",children:"Activé"}),a.jsx(Qt,{value:"false",children:"Désactivé"})]})]})]}),o.videoThumbnailEnabled&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoThumbnailMaxSize",children:"Taille max thumbnail (px)"}),a.jsx(Xe,{id:"videoThumbnailMaxSize",type:"number",min:"64",max:"512",step:"16",value:o.videoThumbnailMaxSize??Zn.videoThumbnailMaxSize,onChange:u=>{const h=parseInt(u.target.value);isNaN(h)||l(p=>({...p,videoThumbnailMaxSize:h}))},className:"w-32"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoThumbnailQuality",children:"Qualité thumbnail (0-1)"}),a.jsx(Xe,{id:"videoThumbnailQuality",type:"number",min:"0.1",max:"1",step:"0.1",value:o.videoThumbnailQuality??Zn.videoThumbnailQuality,onChange:u=>{const h=parseFloat(u.target.value);isNaN(h)||l(p=>({...p,videoThumbnailQuality:h}))},className:"w-32"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"videoRequireExactOrLower",children:"Refuser les vidéos supérieures au preset"}),a.jsxs(rn,{value:String(!!(o.videoRequireExactOrLower??Zn.videoRequireExactOrLower)),onValueChange:u=>l(h=>({...h,videoRequireExactOrLower:u==="true"})),children:[a.jsx(Xr,{id:"videoRequireExactOrLower",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"true",children:"Oui (strict)"}),a.jsx(Qt,{value:"false",children:"Non (tolérant)"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Si activé, refuse toute vidéo dont la hauteur dépasse le preset sélectionné"})]}),a.jsx("div",{className:"flex justify-end gap-2 pt-4 border-t",children:a.jsx(ge,{type:"submit",disabled:c.isPending,children:c.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Sauvegarde..."]}):a.jsxs(a.Fragment,{children:[a.jsx(A4,{className:"h-4 w-4 mr-2"}),"Sauvegarder"]})})})]})]})}const ra={audioEnabled:!0,audioMaxDurationSec:30,audioBitrateKbps:24,audioChannels:1,audioPreferredMimeTypes:["audio/webm;codecs=opus","audio/webm"],audioMaxSizeBytes:2*1024*1024,audioThumbnailWaveformEnabled:!1};function Wqe(){const{toast:e}=Er(),t=eo(),r=(u,h)=>{if(u==null)return h;const p=typeof u=="string"?parseFloat(u):Number(u);return isNaN(p)?h:p},n=(u,h)=>u==null?h:typeof u=="boolean"?u:typeof u=="string"?u==="true"||u==="1":!!u,{data:i,isLoading:s}=cr({queryKey:["/api/settings/organization"],queryFn:async()=>await vg(),select:u=>{const h=u;return{audioEnabled:n(h.audioEnabled,ra.audioEnabled),audioMaxDurationSec:r(h.audioMaxDurationSec,ra.audioMaxDurationSec),audioBitrateKbps:r(h.audioBitrateKbps,ra.audioBitrateKbps),audioChannels:h.audioChannels===1||h.audioChannels===2?h.audioChannels:ra.audioChannels,audioPreferredMimeTypes:h.audioPreferredMimeTypes&&Array.isArray(h.audioPreferredMimeTypes)?h.audioPreferredMimeTypes:ra.audioPreferredMimeTypes,audioMaxSizeBytes:r(h.audioMaxSizeBytes,ra.audioMaxSizeBytes),audioThumbnailWaveformEnabled:n(h.audioThumbnailWaveformEnabled,ra.audioThumbnailWaveformEnabled)}}}),[o,l]=I.useState(ra);I.useEffect(()=>{i&&l({audioEnabled:i.audioEnabled??ra.audioEnabled,audioMaxDurationSec:i.audioMaxDurationSec??ra.audioMaxDurationSec,audioBitrateKbps:i.audioBitrateKbps??ra.audioBitrateKbps,audioChannels:i.audioChannels||ra.audioChannels,audioPreferredMimeTypes:i.audioPreferredMimeTypes||ra.audioPreferredMimeTypes,audioMaxSizeBytes:i.audioMaxSizeBytes??ra.audioMaxSizeBytes,audioThumbnailWaveformEnabled:i.audioThumbnailWaveformEnabled??ra.audioThumbnailWaveformEnabled})},[i]);const c=_r({mutationFn:async u=>{const h=await vg(),A={companyName:h.companyName||"Organisation",legalName:h.legalName||void 0,addressLine:h.addressLine||void 0,city:h.city||void 0,country:h.country||void 0,phone:h.phone||void 0,email:h.email||void 0,website:h.website||void 0,taxId:h.taxId||void 0,logoUrl:h.logoUrl||void 0,cloudinaryCloudName:h.cloudinaryCloudName||void 0,cloudinaryApiKey:h.cloudinaryApiKey||void 0,cloudinaryApiSecret:h.cloudinaryApiSecret||void 0,dispatchPhone:h.dispatchPhone||void 0,mechanicPhone:h.mechanicPhone||void 0,audioEnabled:u.audioEnabled??ra.audioEnabled,audioMaxDurationSec:u.audioMaxDurationSec??ra.audioMaxDurationSec,audioBitrateKbps:u.audioBitrateKbps??ra.audioBitrateKbps,audioChannels:u.audioChannels||ra.audioChannels,audioPreferredMimeTypes:u.audioPreferredMimeTypes||ra.audioPreferredMimeTypes,audioMaxSizeBytes:u.audioMaxSizeBytes??ra.audioMaxSizeBytes,audioThumbnailWaveformEnabled:u.audioThumbnailWaveformEnabled??ra.audioThumbnailWaveformEnabled};return await $4(A)},onSuccess:async()=>{e({title:"Paramètres sauvegardés",description:"Les paramètres d'optimisation audio ont été mis à jour avec succès."}),await t.invalidateQueries({queryKey:["/api/settings/organization"]}),await t.refetchQueries({queryKey:["/api/settings/organization"]});const{invalidateAudioOptimizationCache:u}=await On(async()=>{const{invalidateAudioOptimizationCache:h}=await import("./audio-optimization-config-ifi0onXr.js");return{invalidateAudioOptimizationCache:h}},[]);u()},onError:u=>{e({variant:"destructive",title:"Erreur",description:u.message||"Impossible de sauvegarder les paramètres"})}}),d=u=>{u.preventDefault(),c.mutate(o)};return s?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-sm font-medium mb-2",children:"Paramètres d'enregistrement audio"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Configurez les paramètres d'optimisation audio pour les notes vocales. Les enregistrements seront optimisés pour réduire la consommation de données et accélérer les uploads."})]}),a.jsxs("form",{onSubmit:d,className:"space-y-6",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"audioEnabled",children:"Activer l'optimisation audio"}),a.jsxs(rn,{value:String(!!(o.audioEnabled??ra.audioEnabled)),onValueChange:u=>l(h=>({...h,audioEnabled:u==="true"})),children:[a.jsx(Xr,{id:"audioEnabled",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"true",children:"Activé"}),a.jsx(Qt,{value:"false",children:"Désactivé"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"audioMaxDurationSec",children:"Durée maximale (secondes)"}),a.jsx(Xe,{id:"audioMaxDurationSec",type:"number",min:"5",max:"120",step:"1",value:o.audioMaxDurationSec??ra.audioMaxDurationSec,onChange:u=>{const h=parseInt(u.target.value);isNaN(h)||l(p=>({...p,audioMaxDurationSec:h}))},className:"w-32"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Durée maximale d'enregistrement audio (5-120s). Par défaut: 30s"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"audioBitrateKbps",children:"Débit binaire (kbps)"}),a.jsx(Xe,{id:"audioBitrateKbps",type:"number",min:"12",max:"96",step:"4",value:o.audioBitrateKbps??ra.audioBitrateKbps,onChange:u=>{const h=parseInt(u.target.value);isNaN(h)||l(p=>({...p,audioBitrateKbps:h}))},className:"w-32"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Débit binaire en kbps (12-96). Plus bas = fichier plus léger. Par défaut: 24 kbps"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"audioChannels",children:"Nombre de canaux"}),a.jsxs(rn,{value:String(o.audioChannels??ra.audioChannels),onValueChange:u=>l(h=>({...h,audioChannels:parseInt(u)})),children:[a.jsx(Xr,{id:"audioChannels",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"1",children:"Mono (1 canal) - Recommandé"}),a.jsx(Qt,{value:"2",children:"Stéréo (2 canaux)"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Mono est recommandé pour réduire la taille des fichiers"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"audioMaxSizeBytes",children:"Taille maximale (MB)"}),a.jsx(Xe,{id:"audioMaxSizeBytes",type:"number",min:"1",max:"10",step:"1",value:o.audioMaxSizeBytes?Math.round(o.audioMaxSizeBytes/(1024*1024)):Math.round(ra.audioMaxSizeBytes/(1024*1024)),onChange:u=>{const h=parseInt(u.target.value);!isNaN(h)&&h>0&&l(p=>({...p,audioMaxSizeBytes:h*1024*1024}))},className:"w-32"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Taille maximale du fichier audio (1-10 MB). Par défaut: 2 MB"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"audioThumbnailWaveformEnabled",children:"Activer la visualisation waveform"}),a.jsxs(rn,{value:String(!!(o.audioThumbnailWaveformEnabled??ra.audioThumbnailWaveformEnabled)),onValueChange:u=>l(h=>({...h,audioThumbnailWaveformEnabled:u==="true"})),children:[a.jsx(Xr,{id:"audioThumbnailWaveformEnabled",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"true",children:"Activé"}),a.jsx(Qt,{value:"false",children:"Désactivé"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Affiche une visualisation de la forme d'onde de l'audio (optionnel)"})]}),a.jsx("div",{className:"flex justify-end gap-2 pt-4 border-t",children:a.jsx(ge,{type:"submit",disabled:c.isPending,children:c.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Sauvegarde..."]}):a.jsxs(a.Fragment,{children:[a.jsx(A4,{className:"h-4 w-4 mr-2"}),"Sauvegarder"]})})})]})]})}function Kqe(){return a.jsx("div",{className:"space-y-6",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ry,{className:"h-5 w-5"}),a.jsx(jr,{children:"Optimisations médias"})]}),a.jsx(wn,{children:"Configurez les paramètres d'optimisation pour les images, vidéos et fichiers audio. Ces paramètres permettent de réduire la consommation de données et d'accélérer les uploads."})]}),a.jsxs(Et,{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Images"}),a.jsx(Gqe,{})]}),a.jsxs("div",{className:"border-t pt-6",children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Vidéos"}),a.jsx(Vqe,{})]}),a.jsxs("div",{className:"border-t pt-6",children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Audio"}),a.jsx(Wqe,{})]})]})]})})}const Yqe={admin:"Administrateur",gestionnaire_parc:"Gestionnaire Parc",gestionnaire_mobile:"Gestionnaire Mobile",secretaire:"Secrétaire",comptable:"Comptable",atelier:"Atelier",chauffeur:"Chauffeur",apprenti:"Apprenti"},Zqe=["admin","gestionnaire_parc","gestionnaire_mobile","secretaire","comptable","atelier","chauffeur","apprenti"];function Jqe({open:e,onOpenChange:t}){const[r,n]=I.useState("new"),[i,s]=I.useState({phone:"",name:"",role:"apprenti",password:"",email:""}),[o,l]=I.useState(null),{toast:c}=Er(),[,d]=Gi(),{data:u=[],isLoading:h}=cr({queryKey:["crew-members-for-conversion"],queryFn:wHe,enabled:r==="from-crew"&&e}),p=_r({mutationFn:async()=>{if(r==="new"){const v=i.phone.replace(/\s+/g,"");return await mHe({...i,phone:v})}else{if(!o)throw new Error("Veuillez sélectionner un membre d'équipage");return await pHe(o,i.email,i.password,i.role)}},onSuccess:v=>{jt.invalidateQueries({queryKey:["/api/users"]}),jt.invalidateQueries({queryKey:["/api/crew-members"]}),c({title:"Succès",description:"L'utilisateur a été créé avec succès",action:a.jsx(ge,{variant:"outline",size:"sm",onClick:()=>{t(!1),d(`/utilisateurs/${v.id}`)},children:"Compléter le profil"})}),t(!1),s({phone:"",name:"",role:"apprenti",password:"",email:""}),l(null)},onError:v=>{c({variant:"destructive",title:"Erreur",description:v.message||"Impossible de créer l'utilisateur"})}}),A=()=>{if(r==="new"){if(!i.phone||!i.name||!i.role){c({variant:"destructive",title:"Erreur",description:"Veuillez remplir tous les champs obligatoires"});return}}else if(!o){c({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un membre d'équipage"});return}p.mutate()},y=p.isPending;return a.jsx(En,{open:e,onOpenChange:t,children:a.jsxs(yn,{className:"max-w-2xl",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Créer un utilisateur"}),a.jsx(Mn,{children:"Créez un nouveau compte utilisateur. Le téléphone est l'identifiant principal."})]}),a.jsxs(ul,{value:r,onValueChange:v=>n(v),className:"mt-4",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-2",children:[a.jsx(hn,{value:"new",children:"Nouveau"}),a.jsx(hn,{value:"from-crew",children:"Depuis équipage"})]}),a.jsxs(dn,{value:"new",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"phone",children:["Téléphone ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"phone",value:i.phone,onChange:v=>s({...i,phone:v.target.value}),placeholder:"+22670123456",required:!0}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Identifiant principal. Doit être unique."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"name",children:["Nom ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"name",value:i.name,onChange:v=>s({...i,name:v.target.value}),placeholder:"Nom complet",required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"email",children:["Email ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"email",type:"email",value:i.email,onChange:v=>s({...i,email:v.target.value}),placeholder:"email@example.com",required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"role",children:["Rôle ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:i.role,onValueChange:v=>s({...i,role:v}),children:[a.jsx(Xr,{id:"role",children:a.jsx(nn,{})}),a.jsx(en,{children:Zqe.map(v=>a.jsx(Qt,{value:v,children:Yqe[v]},v))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"password",children:"Mot de passe (optionnel)"}),a.jsx(Xe,{id:"password",type:"password",value:i.password,onChange:v=>s({...i,password:v.target.value}),placeholder:"Laisser vide pour générer un mot de passe par défaut"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Si non fourni, un mot de passe par défaut sera généré."})]})]}),a.jsx(dn,{value:"from-crew",className:"space-y-4 mt-4",children:h?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(Nt,{className:"h-6 w-6 animate-spin text-primary"})}):u.length===0?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a.jsx("p",{children:"Aucun membre d'équipage disponible sans compte utilisateur."})}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"crew-member",children:["Membre d'équipage ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:o?.toString()||"",onValueChange:v=>l(parseInt(v)),children:[a.jsx(Xr,{id:"crew-member",children:a.jsx(nn,{placeholder:"Sélectionner un membre d'équipage"})}),a.jsx(en,{children:u.map(v=>a.jsxs(Qt,{value:v.id.toString(),children:[v.prenom," ",v.nom," (",v.role==="chauffeur"?"Chauffeur":"Apprenti",")"]},v.id))})]}),o&&a.jsx("p",{className:"text-xs text-muted-foreground",children:"Le nom et le téléphone seront pré-remplis depuis le membre d'équipage."})]}),o&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"crew-email",children:["Email ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"crew-email",type:"email",value:i.email,onChange:v=>s({...i,email:v.target.value}),placeholder:"email@example.com",required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"crew-role",children:"Rôle (optionnel)"}),a.jsxs(rn,{value:i.role,onValueChange:v=>s({...i,role:v}),children:[a.jsx(Xr,{id:"crew-role",children:a.jsx(nn,{})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"chauffeur",children:"Chauffeur"}),a.jsx(Qt,{value:"apprenti",children:"Apprenti"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Par défaut, le rôle du membre d'équipage sera utilisé."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"crew-password",children:"Mot de passe (optionnel)"}),a.jsx(Xe,{id:"crew-password",type:"password",value:i.password,onChange:v=>s({...i,password:v.target.value}),placeholder:"Laisser vide pour générer un mot de passe par défaut"})]})]})]})})]}),a.jsxs(Na,{children:[a.jsx(ge,{variant:"outline",onClick:()=>t(!1),disabled:y,children:"Annuler"}),a.jsx(ge,{onClick:A,disabled:y,children:y?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Création..."]}):"Créer"})]})]})})}const cO={admin:"Administrateur",gestionnaire_parc:"Gestionnaire Parc",gestionnaire_mobile:"Gestionnaire Mobile",secretaire:"Secrétaire",comptable:"Comptable",atelier:"Atelier",chauffeur:"Chauffeur",apprenti:"Apprenti"};function Xqe(){const[e,t]=I.useState(""),[r,n]=I.useState(!1),[i,s]=I.useState(null),{toast:o}=Er(),[,l]=Gi(),{data:c,isLoading:d,error:u}=cr({queryKey:["users"],queryFn:()=>T_({per_page:100})}),h=c?.data||[];u&&console.error("Erreur lors du chargement des utilisateurs:",u);const p=_r({mutationFn:AHe,onSuccess:()=>{jt.invalidateQueries({queryKey:["users"]}),o({title:"Succès",description:"L'utilisateur a été supprimé avec succès"}),s(null)},onError:E=>{o({variant:"destructive",title:"Erreur",description:E.message||"Impossible de supprimer l'utilisateur"})}}),A=h.filter(E=>E.name.toLowerCase().includes(e.toLowerCase())||E.email?.toLowerCase().includes(e.toLowerCase())||E.phone?.includes(e)||cO[E.role]?.toLowerCase().includes(e.toLowerCase())),y=E=>{l(`/parametres/utilisateurs/${E.id}`)},v=E=>{s(E)},w=()=>{i&&p.mutate(i)},j=d;return a.jsxs("div",{className:"space-y-4 md:space-y-6",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg md:text-xl font-semibold",children:"Utilisateurs"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez les comptes utilisateurs et leurs liens avec les membres d'équipage"})]}),a.jsxs(ge,{onClick:()=>n(!0),className:"h-12",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter un utilisateur"]})]}),a.jsx("div",{className:"flex items-center gap-3",children:a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:E=>t(E.target.value),className:"pl-9 h-12"})]})}),j?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):u?a.jsx(it,{children:a.jsx(Et,{className:"py-12",children:a.jsxs("div",{className:"text-center text-destructive",children:[a.jsx("p",{className:"font-semibold",children:"Erreur lors du chargement des utilisateurs"}),a.jsx("p",{className:"text-sm mt-2",children:u instanceof Error?u.message:"Une erreur est survenue"})]})})}):a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Liste des utilisateurs"}),a.jsxs(wn,{children:[A.length," utilisateur",A.length>1?"s":""]})]}),a.jsx(Et,{children:a.jsxs(nx,{children:[a.jsx(ix,{children:a.jsxs(n0,{children:[a.jsx(bi,{children:"Nom d'utilisateur"}),a.jsx(bi,{children:"Rôle"}),a.jsx(bi,{children:"Membre d'équipage"}),a.jsx(bi,{className:"text-right",children:"Actions"})]})}),a.jsx(ax,{children:A.length===0?a.jsx(n0,{children:a.jsx(mi,{colSpan:4,className:"text-center text-muted-foreground",children:"Aucun utilisateur trouvé"})}):A.map(E=>a.jsxs(n0,{children:[a.jsx(mi,{className:"font-medium",children:a.jsxs("div",{children:[a.jsx("div",{children:E.name}),E.phone&&a.jsx("div",{className:"text-xs text-muted-foreground",children:E.phone})]})}),a.jsx(mi,{children:cO[E.role]||E.role}),a.jsx(mi,{children:E.crew_member?a.jsxs("span",{className:"text-sm",children:[E.crew_member.prenom," ",E.crew_member.nom]}):a.jsx("span",{className:"text-sm text-muted-foreground",children:"Non lié"})}),a.jsx(mi,{className:"text-right",children:a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(ge,{variant:"outline",size:"sm",onClick:()=>y(E),title:"Éditer",children:a.jsx($m,{className:"h-4 w-4"})}),a.jsx(ge,{variant:"destructive",size:"sm",onClick:()=>v(E.id),children:a.jsx(Ns,{className:"h-4 w-4"})})]})})]},E.id))})]})})]}),a.jsx(Jqe,{open:r,onOpenChange:n}),a.jsx(du,{open:i!==null,onOpenChange:()=>s(null),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Confirmer la suppression"}),a.jsx(Cc,{children:"Êtes-vous sûr de vouloir supprimer cet utilisateur ? Cette action est irréversible."})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:w,children:"Supprimer"})]})]})})]})}const eGe={chauffeur:"Chauffeur",apprenti:"Apprenti",mecanique:"Mécanicien",superviseur:"Superviseur"};function tGe({crewMember:e,onEdit:t,onDelete:r}){const n=Ww[e.role]||Ww.chauffeur,i=eGe[e.role]||e.role;return a.jsxs(it,{"data-testid":`card-crew-member-${e.id}`,className:"hover-elevate transition-all duration-200 group",children:[a.jsx(br,{className:"space-y-4 pb-4 pt-6",children:a.jsxs("div",{className:"flex items-start gap-4",children:[a.jsx("div",{className:"flex-shrink-0 transition-transform duration-200 group-hover:scale-105",children:e.photoUrl?a.jsx("img",{src:Sr(e.photoUrl)||void 0,alt:`${e.prenom} ${e.nom}`,className:"w-20 h-20 md:w-24 md:h-24 rounded-full object-cover border-2 border-border shadow-md",onError:s=>{s.target.style.display="none";const o=s.target.parentElement;if(o){const l=document.createElement("div");l.className="w-20 h-20 md:w-24 md:h-24 rounded-full bg-muted flex items-center justify-center border-2 border-border text-2xl font-semibold text-muted-foreground",l.textContent=e.prenom.charAt(0).toUpperCase(),o.appendChild(l)}}}):a.jsx("div",{className:"w-20 h-20 md:w-24 md:h-24 rounded-full bg-muted flex items-center justify-center border-2 border-border text-2xl font-semibold text-muted-foreground",children:e.prenom.charAt(0).toUpperCase()})}),a.jsxs("div",{className:"flex-1 min-w-0 pt-2",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2 mb-2",children:[a.jsxs("h3",{className:"text-lg md:text-xl font-semibold truncate","data-testid":`text-name-${e.id}`,children:[e.prenom," ",e.nom]}),a.jsx(N1,{cardData:{type:"crew",title:`${e.prenom} ${e.nom}`,details:{role:i,telephone:e.telephone||void 0}},size:"sm"})]}),a.jsx(yt,{variant:"secondary",className:`${n.badge} border font-semibold text-xs px-2.5 py-1`,"data-testid":`badge-role-${e.id}`,children:i})]})]})}),a.jsxs(Et,{className:"pb-4 space-y-3",children:[e.linkedUsername&&a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Compte utilisateur"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(nh,{className:"h-4 w-4 text-muted-foreground"}),a.jsx("p",{className:"text-sm font-medium","data-testid":`text-user-${e.id}`,children:e.linkedUsername})]})]}),e.telephone&&a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Téléphone"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(M6,{className:"h-4 w-4 text-muted-foreground"}),a.jsx("p",{className:"text-sm font-medium","data-testid":`text-phone-${e.id}`,children:e.telephone})]})]})]}),a.jsxs(_m,{className:"gap-2 pt-4 border-t flex-wrap",children:[a.jsxs(ge,{size:"sm",variant:"outline",onClick:()=>t?.(e.id),"data-testid":`button-edit-${e.id}`,className:"flex-1 min-w-[100px] h-10",children:[a.jsx(z1,{className:"h-4 w-4 mr-2"}),"Modifier"]}),a.jsxs(ge,{size:"sm",variant:"outline",onClick:()=>r?.(e.id),"data-testid":`button-delete-${e.id}`,className:"flex-1 min-w-[100px] h-10 text-destructive hover:text-destructive",children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer"]})]})]})}const rGe={chauffeur:"Chauffeur",apprenti:"Apprenti"};function nGe({onAdd:e,trigger:t,open:r,onOpenChange:n}){const[i,s]=I.useState(!1),o=r!==void 0?r:i,l=n||s,{toast:c}=Er(),[d,u]=I.useState({nom:"",prenom:"",role:"chauffeur",telephone:void 0,photoUrl:void 0}),[h,p]=I.useState(null),[A,y]=I.useState(null),[v,w]=I.useState(!1),j=C=>{const Q=C.target.files?.[0];if(Q){if(!Q.type.startsWith("image/")){c({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un fichier image"});return}if(Q.size>5*1024*1024){c({variant:"destructive",title:"Erreur",description:"Le fichier est trop volumineux (max 5MB)"});return}p(Q);const R=new FileReader;R.onloadend=()=>{y(R.result)},R.readAsDataURL(Q),u({...d,photoUrl:void 0})}},E=()=>{p(null),y(null)},S=async()=>{if(!h)return null;w(!0);try{const C=new FormData;C.append("photo",h);const Q=$s("/api/upload/crew-member-photo");if(!Q.startsWith("http://")&&!Q.startsWith("https://"))throw new Error(`URL invalide: ${Q}. VITE_API_BASE_URL doit être défini.`);const R=Vd(),T={};R&&(T.Authorization=`Bearer ${R}`);const M=await fetch(Q,{method:"POST",headers:T,body:C,credentials:"include"});if(!M.ok){const $=await M.json().catch(()=>({message:"Erreur lors de l'upload"}));throw new Error($.message||"Erreur lors de l'upload")}const O=await M.json();return{url:O.url,publicId:O.publicId}}catch(C){return c({variant:"destructive",title:"Erreur",description:C instanceof Error?C.message:"Erreur lors de l'upload du fichier"}),null}finally{w(!1)}},_=async C=>{C.preventDefault();let Q=d.photoUrl?.trim()||void 0,R;if(h){const M=await S();if(M)Q=M.url,R=M.publicId;else return}const T={...d,photoUrl:Q,photoCloudinaryPublicId:R,nom:d.nom.trim(),prenom:d.prenom.trim(),telephone:d.telephone?.trim()||void 0};e?.(T),l(!1),u({nom:"",prenom:"",role:"chauffeur",telephone:void 0,photoUrl:void 0}),p(null),y(null)};return a.jsxs(En,{open:o,onOpenChange:l,children:[a.jsx(ah,{asChild:!0,children:t||a.jsxs(ge,{"data-testid":"button-add-crew-member",className:"w-full md:w-auto",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter un chauffeur"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Ajouter un chauffeur"}),a.jsx(Mn,{children:"Entrez les détails du chauffeur ou de l'apprenti à ajouter."})]}),a.jsxs("form",{onSubmit:_,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"prenom",children:["Prénom ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"prenom",placeholder:"Amadou",value:d.prenom,onChange:C=>u({...d,prenom:C.target.value}),className:"h-12",required:!0,"data-testid":"input-first-name"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"nom",children:["Nom ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"nom",placeholder:"Ouédraogo",value:d.nom,onChange:C=>u({...d,nom:C.target.value}),className:"h-12",required:!0,"data-testid":"input-last-name"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"role",children:["Rôle ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:d.role,onValueChange:C=>u({...d,role:C}),required:!0,children:[a.jsx(Xr,{id:"role","data-testid":"select-role",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un rôle"})}),a.jsx(en,{children:S_.map(C=>a.jsx(Qt,{value:C,children:rGe[C]||C},C))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"telephone",children:"Téléphone"}),a.jsx(Xe,{id:"telephone",placeholder:"+226 70 12 34 56",value:d.telephone||"",onChange:C=>u({...d,telephone:C.target.value||void 0}),className:"h-12","data-testid":"input-phone"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo du membre d'équipage"}),A?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:A,alt:"Aperçu",className:"w-full h-48 object-cover rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:E,children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Se,{htmlFor:"photo-upload",className:"flex-1 cursor-pointer",children:a.jsxs("div",{className:"flex items-center justify-center gap-2 h-12 border-2 border-dashed rounded-lg hover:bg-accent transition-colors",children:[a.jsx(ja,{className:"h-4 w-4"}),a.jsx("span",{className:"text-sm",children:"Téléverser une photo"})]})}),a.jsx(Xe,{id:"photo-upload",type:"file",accept:"image/*",onChange:j,className:"hidden","data-testid":"input-photo-upload"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"absolute inset-0 flex items-center",children:a.jsx("span",{className:"w-full border-t"})}),a.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:a.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"ou"})})]}),a.jsx(Xe,{id:"photoUrl",type:"url",placeholder:"https://example.com/photo.jpg",value:d.photoUrl||"",onChange:C=>{u({...d,photoUrl:C.target.value||void 0}),p(null),y(null)},className:"h-12","data-testid":"input-photo-url"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:h?`Fichier sélectionné : ${h.name} (${(h.size/1024/1024).toFixed(2)} MB)`:"Téléversez une photo ou entrez une URL (optionnel)"})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>l(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",disabled:v,children:v?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Upload en cours..."]}):"Ajouter"})]})]})]})]})}const iGe={chauffeur:"Chauffeur",apprenti:"Apprenti"};function aGe({crewMember:e,open:t,onOpenChange:r,onUpdate:n}){const{toast:i}=Er(),[s,o]=I.useState({nom:"",prenom:"",role:"chauffeur",telephone:void 0,photoUrl:void 0,userId:void 0,userEmail:void 0}),[l,c]=I.useState(null),[d,u]=I.useState(null),[h,p]=I.useState(!1),{data:A}=cr({queryKey:["/api/users"],queryFn:()=>T_({per_page:100}),enabled:t}),v=(A?.data||[]).filter(C=>C.role==="chauffeur"||C.role==="apprenti"),w=e?.userId?v.find(C=>String(C.id)===String(e.userId)):null;I.useEffect(()=>{if(e&&t){const C=e.userEmail||w?.email||"",Q=e.userId?String(e.userId):null;o({nom:e.nom,prenom:e.prenom,role:e.role,telephone:e.telephone||void 0,photoUrl:e.photoUrl||void 0,userId:Q,userEmail:C}),c(null),u(Sr(e.photoUrl)||null)}},[e,t,w]);const j=C=>{const Q=C.target.files?.[0];if(Q){if(!Q.type.startsWith("image/")){i({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un fichier image"});return}if(Q.size>5*1024*1024){i({variant:"destructive",title:"Erreur",description:"Le fichier est trop volumineux (max 5MB)"});return}c(Q);const R=new FileReader;R.onloadend=()=>{u(R.result)},R.readAsDataURL(Q),o({...s,photoUrl:void 0})}},E=()=>{c(null),u(e?.photoUrl||null)},S=async()=>{if(!l)return null;p(!0);try{const C=new FormData;C.append("photo",l);const Q=$s("/api/upload/crew-member-photo");if(!Q.startsWith("http://")&&!Q.startsWith("https://"))throw new Error(`URL invalide: ${Q}. VITE_API_BASE_URL doit être défini.`);const R=Vd(),T={};R&&(T.Authorization=`Bearer ${R}`);const M=await fetch(Q,{method:"POST",headers:T,body:C,credentials:"include"});if(!M.ok){const $=await M.json().catch(()=>({message:"Erreur lors de l'upload"}));throw new Error($.message||"Erreur lors de l'upload")}const O=await M.json();return{url:O.url,publicId:O.publicId}}catch(C){return i({variant:"destructive",title:"Erreur",description:C instanceof Error?C.message:"Erreur lors de l'upload du fichier"}),null}finally{p(!1)}},_=async C=>{if(C.preventDefault(),!e)return;let Q=s.photoUrl?.trim()||void 0,R;if(l){const M=await S();if(M)Q=M.url,R=M.publicId;else return}if(s.userId&&!s.userEmail){i({variant:"destructive",title:"Erreur",description:"L'email est obligatoire lorsque un compte utilisateur est associé"});return}const T={...s,photoUrl:Q,photoCloudinaryPublicId:R,nom:s.nom.trim()||void 0,prenom:s.prenom.trim()||void 0,telephone:s.telephone?.trim()||void 0,userId:s.userId||null,userEmail:s.userId?s.userEmail:void 0};n?.(e.id,T),r(!1)};return e?a.jsx(En,{open:t,onOpenChange:r,children:a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Modifier le chauffeur"}),a.jsxs(Mn,{children:["Modifiez les détails de ",e.prenom," ",e.nom,"."]})]}),a.jsxs("form",{onSubmit:_,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"prenom",children:["Prénom ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"prenom",placeholder:"Amadou",value:s.prenom,onChange:C=>o({...s,prenom:C.target.value}),className:"h-12",required:!0,"data-testid":"input-first-name"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"nom",children:["Nom ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"nom",placeholder:"Ouédraogo",value:s.nom,onChange:C=>o({...s,nom:C.target.value}),className:"h-12",required:!0,"data-testid":"input-last-name"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"role",children:["Rôle ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:s.role,onValueChange:C=>o({...s,role:C}),required:!0,children:[a.jsx(Xr,{id:"role","data-testid":"select-role",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un rôle"})}),a.jsx(en,{children:S_.map(C=>a.jsx(Qt,{value:C,children:iGe[C]||C},C))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"telephone",children:"Téléphone"}),a.jsx(Xe,{id:"telephone",placeholder:"+226 70 12 34 56",value:s.telephone||"",onChange:C=>o({...s,telephone:C.target.value||void 0}),className:"h-12","data-testid":"input-phone"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"userId",children:"Compte utilisateur associé"}),a.jsxs(rn,{value:s.userId||"none",onValueChange:C=>{const Q=C==="none"?null:C,R=Q?v.find(T=>T.id===Q):null;o({...s,userId:Q,userEmail:R?.email||""})},children:[a.jsx(Xr,{id:"userId",className:"h-12",children:a.jsx(nn,{placeholder:"Aucun compte associé"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"none",children:"Aucun compte associé"}),v.map(C=>a.jsxs(Qt,{value:C.id,children:[C.username," (",C.role==="chauffeur"?"Chauffeur":"Apprenti",")"]},C.id))]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Liez ce membre d'équipage à un compte utilisateur pour qu'il puisse se connecter et voir ses voyages assignés."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"userEmail",children:["Email de l'utilisateur ",s.userId||e?.userId?a.jsx("span",{className:"text-destructive",children:"*"}):null]}),a.jsx(Xe,{id:"userEmail",type:"email",value:s.userEmail||"",onChange:C=>o({...s,userEmail:C.target.value}),placeholder:"email@example.com",className:"h-12",required:!!(s.userId||e?.userId),disabled:!(s.userId||e?.userId)}),a.jsx("p",{className:"text-xs text-muted-foreground",children:s.userId||e?.userId?"Email du compte utilisateur associé. Ce champ est obligatoire.":"Sélectionnez d'abord un compte utilisateur pour modifier son email."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo du membre d'équipage"}),d?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:d,alt:"Aperçu",className:"w-full h-48 object-cover rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:E,children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Se,{htmlFor:"photo-upload-edit",className:"flex-1 cursor-pointer",children:a.jsxs("div",{className:"flex items-center justify-center gap-2 h-12 border-2 border-dashed rounded-lg hover:bg-accent transition-colors",children:[a.jsx(ja,{className:"h-4 w-4"}),a.jsx("span",{className:"text-sm",children:"Téléverser une photo"})]})}),a.jsx(Xe,{id:"photo-upload-edit",type:"file",accept:"image/*",onChange:j,className:"hidden","data-testid":"input-photo-upload"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"absolute inset-0 flex items-center",children:a.jsx("span",{className:"w-full border-t"})}),a.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:a.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"ou"})})]}),a.jsx(Xe,{id:"photoUrl",type:"url",placeholder:"https://example.com/photo.jpg",value:s.photoUrl||"",onChange:C=>{o({...s,photoUrl:C.target.value||void 0}),c(null),u(null)},className:"h-12","data-testid":"input-photo-url"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:l?`Fichier sélectionné : ${l.name} (${(l.size/1024/1024).toFixed(2)} MB)`:"Téléversez une photo ou entrez une URL (optionnel)"})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>r(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",disabled:h,children:h?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Upload en cours..."]}):"Enregistrer"})]})]})]})}):null}function sGe(){const[e,t]=I.useState(""),[r,n]=I.useState(null),[i,s]=I.useState(!1),[o,l]=I.useState(null),[c,d]=I.useState(!1),{toast:u}=Er(),{data:h=[],isLoading:p}=cr({queryKey:["/api/crew-members"]}),A=_r({mutationFn:async Q=>await $t("/api/crew-members",{method:"POST",body:Q}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/crew-members"]}),u({title:"Succès",description:"Le chauffeur a été ajouté avec succès"}),s(!1)},onError:Q=>{u({variant:"destructive",title:"Erreur",description:Q.message||"Impossible d'ajouter le chauffeur"})}}),y=_r({mutationFn:async({id:Q,data:R})=>await $t(`/api/crew-members/${Q}`,{method:"PATCH",body:R}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/crew-members"]}),u({title:"Succès",description:"Le chauffeur a été modifié avec succès"}),d(!1),l(null)},onError:Q=>{u({variant:"destructive",title:"Erreur",description:Q.message||"Impossible de modifier le chauffeur"})}}),v=_r({mutationFn:async Q=>await $t(`/api/crew-members/${Q}`,{method:"DELETE"}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/crew-members"]}),u({title:"Succès",description:"Le chauffeur a été supprimé avec succès"}),n(null)},onError:Q=>{u({variant:"destructive",title:"Erreur",description:Q.message||"Impossible de supprimer le chauffeur"})}}),w=h.filter(Q=>Q.nom.toLowerCase().includes(e.toLowerCase())||Q.prenom.toLowerCase().includes(e.toLowerCase())||Q.telephone?.toLowerCase().includes(e.toLowerCase())),j=Q=>{A.mutate(Q)},E=Q=>{const R=h.find(T=>T.id===Q);R&&(l(R),d(!0))},S=(Q,R)=>{y.mutate({id:Q,data:R})},_=Q=>{n(Q)},C=()=>{r&&v.mutate(r)};return a.jsxs("div",{className:"space-y-4 md:space-y-6",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg md:text-xl font-semibold","data-testid":"text-page-title",children:"Équipage"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez vos chauffeurs et apprentis"})]}),a.jsx(nGe,{onAdd:j,open:i,onOpenChange:s})]}),a.jsx("div",{className:"flex items-center gap-3",children:a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:Q=>t(Q.target.value),className:"pl-9 h-12","data-testid":"input-search"})]})}),p?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:w.map(Q=>a.jsx(tGe,{crewMember:Q,onEdit:E,onDelete:_},Q.id))}),w.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucun chauffeur trouvé"})})]}),a.jsx(np,{onClick:()=>s(!0),label:"Ajouter un chauffeur"}),a.jsx(aGe,{crewMember:o,open:c,onOpenChange:d,onUpdate:S}),a.jsx(du,{open:r!==null,onOpenChange:()=>n(null),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Confirmer la suppression"}),a.jsx(Cc,{children:"Êtes-vous sûr de vouloir supprimer ce chauffeur ? Cette action est irréversible."})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:C,children:"Supprimer"})]})]})})]})}function oGe({id:e,immatriculation:t,nom:r,couleur:n,marque:i,modele:s,annee:o,photoUrl:l,kilometrage:c,onEdit:d,onDelete:u,onViewTrips:h}){return a.jsxs(it,{"data-testid":`card-vehicle-${e}`,className:"hover-elevate overflow-hidden",children:[l&&a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-t-xl bg-muted mb-3",children:[a.jsx("img",{src:Sr(l)||void 0,alt:`Véhicule ${t}`,className:"w-full h-full object-cover",onError:p=>{p.target.style.display="none"}}),a.jsxs("div",{className:"absolute top-3 left-3 flex items-center gap-2 z-20",children:[a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2.5 py-1 bg-background/95 backdrop-blur-sm shadow-md border inline-flex items-center","data-testid":`text-registration-${e}`,children:t}),a.jsx(Wv,{type:"vehicle",data:{kilometrage:c||null}})]})]}),a.jsx(br,{className:l?"space-y-3 pb-4 pt-4":"space-y-3 pb-4",children:a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1",children:[r&&a.jsx("h3",{className:"text-base md:text-lg font-semibold","data-testid":`text-name-${e}`,children:r}),!l&&!r&&a.jsx("h3",{className:"text-base md:text-lg font-semibold font-mono","data-testid":`text-registration-${e}`,children:t}),n&&a.jsx("div",{className:"flex items-center gap-2 mt-1",children:a.jsx("span",{className:"text-xs text-muted-foreground","data-testid":`text-color-${e}`,children:n})}),status&&a.jsx("div",{className:"flex items-center gap-2 mt-2",children:a.jsx(R8,{status,size:"sm"})})]}),a.jsx(N1,{cardData:{type:"vehicle",title:r||t,details:{nom:r||void 0,couleur:n||void 0,immatriculation:t,marque:i||void 0,modele:s||void 0,annee:o||void 0,status:status||void 0}},size:"sm"})]})}),a.jsxs(Et,{className:"pb-4 space-y-3",children:[!r&&a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Immatriculation"}),a.jsx("p",{className:"font-mono font-semibold text-base","data-testid":`text-registration-${e}`,children:t})]}),r&&a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Immatriculation"}),a.jsx("p",{className:"font-mono text-sm","data-testid":`text-registration-${e}`,children:t})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Marque"}),a.jsx("p",{className:"font-semibold text-base","data-testid":`text-brand-${e}`,children:i||"—"})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Modèle"}),a.jsx("p",{className:"font-semibold text-base","data-testid":`text-model-${e}`,children:s||"—"})]})]}),o&&a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Année"}),a.jsx("p",{className:"font-medium text-sm","data-testid":`text-year-${e}`,children:o})]})]}),a.jsx(_m,{className:"gap-2 pt-4 border-t",children:a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 w-full",children:[a.jsxs(ge,{size:"sm",variant:"outline",onClick:()=>d?.(e),"data-testid":`button-edit-${e}`,className:"flex-1 h-10",children:[a.jsx(z1,{className:"h-4 w-4 mr-2"}),"Modifier"]}),a.jsxs(ge,{size:"sm",variant:"outline",onClick:()=>h?.(e),"data-testid":`button-view-trips-${e}`,className:"flex-1 h-10",children:[a.jsx(O6,{className:"h-4 w-4 mr-2"}),"Voyages"]}),u&&a.jsxs(ge,{size:"sm",variant:"destructive",onClick:()=>u(e),"data-testid":`button-delete-${e}`,className:"flex-1 h-10",children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer"]})]})})]})}function lGe({onAdd:e,trigger:t,open:r,onOpenChange:n}){const[i,s]=I.useState(!1),o=r!==void 0?r:i,l=n||s,{toast:c}=Er(),[d,u]=I.useState({immatriculation:"",nom:"",couleur:"",marque:"",modele:"",annee:new Date().getFullYear(),photoUrl:""}),[h,p]=I.useState(null),[A,y]=I.useState(null),[v,w]=I.useState(!1),j=C=>{const Q=C.target.files?.[0];if(Q){if(!Q.type.startsWith("image/")){c({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un fichier image"});return}if(Q.size>5*1024*1024){c({variant:"destructive",title:"Erreur",description:"Le fichier est trop volumineux (max 5MB)"});return}p(Q);const R=new FileReader;R.onloadend=()=>{y(R.result)},R.readAsDataURL(Q),u({...d,photoUrl:""})}},E=()=>{p(null),y(null)},S=async()=>{if(!h)return null;w(!0);try{const C=new FormData;C.append("photo",h);const Q=$s("/api/upload/vehicle-photo"),R=Vd(),T={};R&&(T.Authorization=`Bearer ${R}`);const M=await fetch(Q,{method:"POST",headers:T,body:C,credentials:"include"});if(!M.ok){const $=await M.json().catch(()=>({message:"Erreur lors de l'upload"}));throw new Error($.message||"Erreur lors de l'upload")}const O=await M.json();return{url:O.url,publicId:O.publicId}}catch(C){return c({variant:"destructive",title:"Erreur",description:C instanceof Error?C.message:"Erreur lors de l'upload du fichier"}),null}finally{w(!1)}},_=async C=>{C.preventDefault();let Q=d.photoUrl?.trim()||void 0,R;if(h){const M=await S();if(M)Q=M.url,R=M.publicId;else return}const T={...d,photoUrl:Q,photoCloudinaryPublicId:R,annee:d.annee&&!isNaN(d.annee)?d.annee:void 0,nom:d.nom?.trim()||void 0,couleur:d.couleur?.trim()||void 0,marque:d.marque?.trim()||void 0,modele:d.modele?.trim()||void 0};if(!T.immatriculation||!T.immatriculation.trim()){c({variant:"destructive",title:"Erreur",description:"L'immatriculation est obligatoire"});return}console.log("[AddVehicleDialog] Submitting vehicle:",T),e?.(T),l(!1),u({immatriculation:"",nom:"",couleur:"",marque:"",modele:"",annee:new Date().getFullYear(),photoUrl:""}),p(null),y(null)};return a.jsxs(En,{open:o,onOpenChange:l,children:[a.jsx(ah,{asChild:!0,children:t||a.jsxs(ge,{"data-testid":"button-add-vehicle",className:"w-full md:w-auto",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter un véhicule"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Ajouter un véhicule"}),a.jsx(Mn,{children:"Entrez les détails du véhicule à ajouter à votre parc."})]}),a.jsxs("form",{onSubmit:_,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"immatriculation",children:["Immatriculation ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"immatriculation",placeholder:"AB-123-CD",value:d.immatriculation,onChange:C=>u({...d,immatriculation:C.target.value}),className:"font-mono h-12",required:!0,"data-testid":"input-registration"})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"nom",children:"Nom du camion"}),a.jsx(Xe,{id:"nom",placeholder:"Ex: Le Rouge",value:d.nom||"",onChange:C=>u({...d,nom:C.target.value||void 0}),className:"h-12","data-testid":"input-name"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"couleur",children:"Couleur"}),a.jsx(Xe,{id:"couleur",placeholder:"Ex: Rouge, Bleu, Blanc",value:d.couleur||"",onChange:C=>u({...d,couleur:C.target.value||void 0}),className:"h-12","data-testid":"input-color"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"marque",children:"Marque"}),a.jsx(Xe,{id:"marque",placeholder:"Volvo",value:d.marque,onChange:C=>u({...d,marque:C.target.value}),className:"h-12","data-testid":"input-brand"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"modele",children:"Modèle"}),a.jsx(Xe,{id:"modele",placeholder:"FH16",value:d.modele,onChange:C=>u({...d,modele:C.target.value}),className:"h-12","data-testid":"input-model"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"annee",children:"Année"}),a.jsx(Xe,{id:"annee",type:"number",placeholder:"2023",value:d.annee||"",onChange:C=>{const Q=C.target.value,R=Q===""?void 0:parseInt(Q);u({...d,annee:isNaN(R)?void 0:R})},min:"1900",max:new Date().getFullYear()+1,className:"h-12","data-testid":"input-year"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo du véhicule"}),A?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:A,alt:"Aperçu",className:"w-full h-48 object-cover rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:E,children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Se,{htmlFor:"photo-upload",className:"flex-1 cursor-pointer",children:a.jsxs("div",{className:"flex items-center justify-center gap-2 h-12 border-2 border-dashed rounded-lg hover:bg-accent transition-colors",children:[a.jsx(ja,{className:"h-4 w-4"}),a.jsx("span",{className:"text-sm",children:"Téléverser une photo"})]})}),a.jsx(Xe,{id:"photo-upload",type:"file",accept:"image/*",onChange:j,className:"hidden","data-testid":"input-photo-upload"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"absolute inset-0 flex items-center",children:a.jsx("span",{className:"w-full border-t"})}),a.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:a.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"ou"})})]}),a.jsx(Xe,{id:"photoUrl",type:"url",placeholder:"https://example.com/photo.jpg",value:d.photoUrl||"",onChange:C=>{u({...d,photoUrl:C.target.value||void 0}),p(null),y(null)},className:"h-12","data-testid":"input-photo-url"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:h?`Fichier sélectionné : ${h.name} (${(h.size/1024/1024).toFixed(2)} MB)`:"Téléversez une photo ou entrez une URL (optionnel)"})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>l(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",disabled:v,children:v?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Upload en cours..."]}):"Ajouter"})]})]})]})]})}function cGe({vehicle:e,open:t,onOpenChange:r,onUpdate:n}){const{toast:i}=Er(),[s,o]=I.useState({immatriculation:"",nom:"",couleur:"",marque:"",modele:"",annee:new Date().getFullYear(),photoUrl:""}),[l,c]=I.useState(null),[d,u]=I.useState(null),[h,p]=I.useState(!1);I.useEffect(()=>{e&&t&&(o({immatriculation:e.immatriculation,nom:e.nom||"",couleur:e.couleur||"",marque:e.marque||"",modele:e.modele||"",annee:e.annee||new Date().getFullYear(),photoUrl:e.photoUrl||"",status:e.status||"actif"}),c(null),u(e.photoUrl?Sr(e.photoUrl):null))},[e,t]);const A=E=>{const S=E.target.files?.[0];if(S){if(!S.type.startsWith("image/")){i({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un fichier image"});return}if(S.size>5*1024*1024){i({variant:"destructive",title:"Erreur",description:"Le fichier est trop volumineux (max 5MB)"});return}c(S);const _=new FileReader;_.onloadend=()=>{u(_.result)},_.readAsDataURL(S),o({...s,photoUrl:""})}},y=()=>{c(null),u(e?.photoUrl?Sr(e.photoUrl):null)},v=()=>{o({...s,photoUrl:""}),c(null),u(null)},w=async()=>{if(!l)return null;p(!0);try{const E=new FormData;E.append("photo",l);const S=$s("/api/upload/vehicle-photo"),_=Vd(),C={};_&&(C.Authorization=`Bearer ${_}`);const Q=await fetch(S,{method:"POST",headers:C,body:E,credentials:"include"});if(!Q.ok){const T=await Q.json().catch(()=>({message:"Erreur lors de l'upload"}));throw new Error(T.message||"Erreur lors de l'upload")}const R=await Q.json();return{url:R.url,publicId:R.publicId}}catch(E){return i({variant:"destructive",title:"Erreur",description:E instanceof Error?E.message:"Erreur lors de l'upload du fichier"}),null}finally{p(!1)}},j=async E=>{if(E.preventDefault(),!e)return;let S=s.photoUrl?.trim()||void 0,_;if(l){const Q=await w();if(Q)S=Q.url,_=Q.publicId;else return}else!s.photoUrl&&!l&&e?.photoUrl&&(S=null,_=void 0);const C={...s,photoUrl:S,photoCloudinaryPublicId:_,annee:s.annee&&!isNaN(s.annee)?s.annee:void 0,nom:s.nom?.trim()||void 0,couleur:s.couleur?.trim()||void 0,marque:s.marque?.trim()||void 0,modele:s.modele?.trim()||void 0};n?.(e.id,C),r(!1)};return e?a.jsx(En,{open:t,onOpenChange:r,children:a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Modifier le véhicule"}),a.jsxs(Mn,{children:["Modifiez les détails du véhicule ",e.immatriculation,"."]})]}),a.jsxs("form",{onSubmit:j,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"immatriculation",children:["Immatriculation ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"immatriculation",placeholder:"AB-123-CD",value:s.immatriculation,onChange:E=>o({...s,immatriculation:E.target.value}),className:"font-mono h-12",required:!0,"data-testid":"input-registration"})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"nom",children:"Nom du camion"}),a.jsx(Xe,{id:"nom",placeholder:"Ex: Le Rouge",value:s.nom||"",onChange:E=>o({...s,nom:E.target.value||void 0}),className:"h-12","data-testid":"input-name"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"couleur",children:"Couleur"}),a.jsx(Xe,{id:"couleur",placeholder:"Ex: Rouge, Bleu, Blanc",value:s.couleur||"",onChange:E=>o({...s,couleur:E.target.value||void 0}),className:"h-12","data-testid":"input-color"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"marque",children:"Marque"}),a.jsx(Xe,{id:"marque",placeholder:"Volvo",value:s.marque,onChange:E=>o({...s,marque:E.target.value}),className:"h-12","data-testid":"input-brand"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"modele",children:"Modèle"}),a.jsx(Xe,{id:"modele",placeholder:"FH16",value:s.modele,onChange:E=>o({...s,modele:E.target.value}),className:"h-12","data-testid":"input-model"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"annee",children:"Année"}),a.jsx(Xe,{id:"annee",type:"number",placeholder:"2023",value:s.annee||"",onChange:E=>{const S=E.target.value,_=S===""?void 0:parseInt(S);o({...s,annee:isNaN(_)?void 0:_})},min:"1900",max:new Date().getFullYear()+1,className:"h-12","data-testid":"input-year"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"status",children:"Statut"}),a.jsxs(rn,{value:s.status||"actif",onValueChange:E=>o({...s,status:E}),children:[a.jsx(Xr,{id:"status",className:"h-12","data-testid":"select-status",children:a.jsx(nn,{placeholder:"Sélectionner un statut"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"actif",children:"Actif"}),a.jsx(Qt,{value:"maintenance",children:"En maintenance"}),a.jsx(Qt,{value:"hors_service",children:"Hors service"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo du véhicule"}),d?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:d.startsWith("data:")?d:Sr(d)||d,alt:"Aperçu",className:"w-full h-48 object-cover rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:l?y:v,title:l?"Annuler la sélection":"Supprimer la photo",children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Se,{htmlFor:"photo-upload-edit",className:"flex-1 cursor-pointer",children:a.jsxs("div",{className:"flex items-center justify-center gap-2 h-12 border-2 border-dashed rounded-lg hover:bg-accent transition-colors",children:[a.jsx(ja,{className:"h-4 w-4"}),a.jsx("span",{className:"text-sm",children:"Téléverser une photo"})]})}),a.jsx(Xe,{id:"photo-upload-edit",type:"file",accept:"image/*",onChange:A,className:"hidden","data-testid":"input-photo-upload"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"absolute inset-0 flex items-center",children:a.jsx("span",{className:"w-full border-t"})}),a.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:a.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"ou"})})]}),a.jsx(Xe,{id:"photoUrl",type:"url",placeholder:"https://example.com/photo.jpg",value:s.photoUrl||"",onChange:E=>{o({...s,photoUrl:E.target.value||void 0}),c(null),u(null)},className:"h-12","data-testid":"input-photo-url"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:l?`Fichier sélectionné : ${l.name} (${(l.size/1024/1024).toFixed(2)} MB)`:"Téléversez une photo ou entrez une URL (optionnel)"})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>r(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",disabled:h,children:h?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Upload en cours..."]}):"Enregistrer"})]})]})]})}):null}function uGe(){const[e,t]=I.useState(""),[r,n]=I.useState(!1),[i,s]=I.useState(null),[o,l]=I.useState(!1),[c,d]=I.useState(null),{toast:u}=Er(),{data:h=[],isLoading:p}=cr({queryKey:["/api/vehicles"]}),{data:A=[]}=cr({queryKey:["/api/maintenances"]}),y=I.useMemo(()=>h.map(T=>{const M=A.filter(O=>O.vehicleId===T.id&&O.kilometrageEffectue).sort((O,$)=>{const P=O.dateEffectuee?new Date(O.dateEffectuee).getTime():0;return($.dateEffectuee?new Date($.dateEffectuee).getTime():0)-P})[0];return{...T,kilometrage:M?.kilometrageEffectue||null}}),[h,A]),v=_r({mutationFn:async T=>{console.log("[Client] Creating vehicle:",T);try{const M=await $t("/api/vehicles",{method:"POST",body:T});return console.log("[Client] Vehicle created successfully:",M),M}catch(M){throw console.error("[Client] Error creating vehicle:",M),M}},onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/vehicles"]}),u({title:"Succès",description:"Le véhicule a été ajouté avec succès"})},onError:T=>{console.error("[Client] Mutation error:",T),u({variant:"destructive",title:"Erreur",description:T.message||"Impossible d'ajouter le véhicule"})}}),w=_r({mutationFn:async({id:T,data:M})=>await $t(`/api/vehicles/${T}`,{method:"PATCH",body:M}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/vehicles"]}),u({title:"Succès",description:"Le véhicule a été modifié avec succès"}),l(!1),s(null)},onError:T=>{u({variant:"destructive",title:"Erreur",description:T.message||"Impossible de modifier le véhicule"})}}),j=_r({mutationFn:async T=>await $t(`/api/vehicles/${T}`,{method:"DELETE"}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/vehicles"]}),u({title:"Succès",description:"Le véhicule a été supprimé avec succès"}),d(null)},onError:T=>{u({variant:"destructive",title:"Erreur",description:T.message||"Impossible de supprimer le véhicule"})}}),E=y.filter(T=>T.immatriculation.toLowerCase().includes(e.toLowerCase())||T.marque?.toLowerCase().includes(e.toLowerCase())||T.modele?.toLowerCase().includes(e.toLowerCase())),S=T=>{v.mutate(T)},_=T=>{const M=h.find(O=>O.id===T);M&&(s(M),l(!0))},C=(T,M)=>{w.mutate({id:T,data:M})},Q=T=>{d(T)},R=()=>{c&&j.mutate(c)};return a.jsxs("div",{className:"space-y-4 md:space-y-6",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg md:text-xl font-semibold","data-testid":"text-page-title",children:"Véhicules"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez votre parc de véhicules"})]}),a.jsx(lGe,{onAdd:S,open:r,onOpenChange:n})]}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:T=>t(T.target.value),className:"pl-9 h-12","data-testid":"input-search"})]}),a.jsx(ge,{size:"icon",variant:"outline",className:"h-12 w-12 flex-shrink-0","data-testid":"button-view-grid",children:a.jsx(pL,{className:"h-5 w-5"})})]}),p?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:E.map(T=>a.jsx(oGe,{...T,onEdit:_,onDelete:Q,onViewTrips:M=>console.log("Voir voyages pour véhicule",M)},T.id))}),E.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucun véhicule trouvé"})})]}),a.jsx(np,{onClick:()=>n(!0),label:"Ajouter un véhicule"}),a.jsx(cGe,{vehicle:i,open:o,onOpenChange:l,onUpdate:C}),a.jsx(du,{open:c!==null,onOpenChange:T=>!T&&d(null),children:a.jsxs(yc,{children:[a.jsxs(bc,{children:[a.jsx(Ec,{children:"Supprimer le véhicule"}),a.jsxs(Cc,{children:["Êtes-vous sûr de vouloir supprimer ce véhicule ? Cette action est irréversible.",c&&a.jsxs("span",{className:"block mt-2 font-semibold",children:["Véhicule : ",h.find(T=>T.id===c)?.immatriculation]})]})]}),a.jsxs(wc,{children:[a.jsx(jc,{children:"Annuler"}),a.jsx(Ic,{onClick:R,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Supprimer"})]})]})})]})}const dGe={plateau:"Plateau",citerne:"Citerne",benne:"Benne",frigorifique:"Frigorifique",autre:"Autre"};function fGe({trailer:e,onEdit:t,onDelete:r}){const n=e.photoUrl||tf[e.type]||tf.autre;return a.jsxs(it,{"data-testid":`card-trailer-${e.id}`,className:"hover-elevate overflow-hidden",children:[a.jsxs("div",{className:"relative w-full aspect-video overflow-hidden rounded-t-xl bg-muted mb-3",children:[a.jsx("img",{src:Sr(n)||void 0,alt:`Remorque ${e.numeroChassis}`,className:"w-full h-full object-cover",onError:i=>{i.target.style.display="none"}}),a.jsxs("div",{className:"absolute top-3 left-3 flex items-center gap-2 z-20",children:[a.jsx(yt,{variant:"secondary",className:"font-mono font-semibold text-xs px-2.5 py-1 bg-background/95 backdrop-blur-sm shadow-md border inline-flex items-center","data-testid":`text-chassis-${e.id}`,children:e.numeroChassis}),a.jsx(Wv,{type:"trailer",data:{capacite:e.capacite||null}})]})]}),a.jsx(br,{className:"space-y-3 pb-4 pt-4",children:a.jsx("div",{className:"flex items-start justify-between gap-2",children:a.jsxs("div",{className:"flex-1",children:[e.nom&&a.jsx("h3",{className:"text-base md:text-lg font-semibold","data-testid":`text-name-${e.id}`,children:e.nom}),!n,e.couleur&&a.jsx("div",{className:"flex items-center gap-2 mt-1",children:a.jsx("span",{className:"text-xs text-muted-foreground","data-testid":`text-color-${e.id}`,children:e.couleur})}),a.jsxs("div",{className:"mt-2",children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Type"}),a.jsx(yt,{variant:"secondary","data-testid":`badge-type-${e.id}`,className:"text-sm px-3 py-1",children:dGe[e.type]||e.type})]})]})})}),a.jsx(Et,{className:"pb-4 space-y-3",children:a.jsxs("div",{children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Capacité"}),a.jsx("p",{className:"text-base font-semibold","data-testid":`text-capacity-${e.id}`,children:e.capacite?`${e.capacite} tonnes`:"—"})]})}),a.jsxs(_m,{className:"gap-2 pt-4 border-t flex-wrap",children:[a.jsxs(ge,{size:"sm",variant:"outline",onClick:()=>t?.(e.id),"data-testid":`button-edit-${e.id}`,className:"flex-1 min-w-[100px] h-10",children:[a.jsx(z1,{className:"h-4 w-4 mr-2"}),"Modifier"]}),r&&a.jsx(R_,{onConfirm:()=>r(e.id),title:"Supprimer la remorque",description:`Êtes-vous sûr de vouloir supprimer la remorque ${e.numeroChassis} ? Cette action est irréversible.`,trigger:a.jsxs(ge,{size:"sm",variant:"destructive","data-testid":`button-delete-${e.id}`,className:"flex-1 min-w-[100px] h-10",children:[a.jsx(Ns,{className:"h-4 w-4 mr-2"}),"Supprimer"]})})]})]})}function hGe({onAdd:e,trigger:t,open:r,onOpenChange:n}){const[i,s]=I.useState(!1),o=r!==void 0?r:i,l=n||s,{toast:c}=Er(),[d,u]=I.useState({numeroChassis:"",nom:"",couleur:"",type:"plateau",capacite:void 0,photoUrl:""}),[h,p]=I.useState(null),[A,y]=I.useState(null),[v,w]=I.useState(!1),j=C=>{const Q=C.target.files?.[0];if(Q){if(!Q.type.startsWith("image/")){c({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un fichier image"});return}if(Q.size>5*1024*1024){c({variant:"destructive",title:"Erreur",description:"Le fichier est trop volumineux (max 5MB)"});return}p(Q);const R=new FileReader;R.onloadend=()=>{y(R.result)},R.readAsDataURL(Q),u({...d,photoUrl:""})}},E=()=>{p(null),y(null)},S=async()=>{if(!h)return null;w(!0);try{const C=new FormData;C.append("photo",h);const Q=$s("/api/upload/trailer-photo"),R=Vd(),T={};R&&(T.Authorization=`Bearer ${R}`);const M=await fetch(Q,{method:"POST",headers:T,body:C,credentials:"include"});if(!M.ok){const $=await M.json();throw new Error($.message||"Erreur lors de l'upload")}const O=await M.json();return{url:O.url,publicId:O.publicId}}catch(C){return c({variant:"destructive",title:"Erreur",description:C instanceof Error?C.message:"Erreur lors de l'upload du fichier"}),null}finally{w(!1)}},_=async C=>{C.preventDefault();let Q=d.photoUrl?.trim()||void 0,R;if(h){const M=await S();if(M)Q=M.url,R=M.publicId;else return}const T={...d,photoUrl:Q,photoCloudinaryPublicId:R,nom:d.nom?.trim()||void 0,couleur:d.couleur?.trim()||void 0,capacite:d.capacite&&!isNaN(d.capacite)?d.capacite:void 0};e?.(T),l(!1),u({numeroChassis:"",nom:"",couleur:"",type:"plateau",capacite:void 0,photoUrl:""}),p(null),y(null)};return a.jsxs(En,{open:o,onOpenChange:l,children:[a.jsx(ah,{asChild:!0,children:t||a.jsxs(ge,{"data-testid":"button-add-trailer",className:"w-full md:w-auto",children:[a.jsx(Ti,{className:"h-4 w-4 mr-2"}),"Ajouter une remorque"]})}),a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Ajouter une remorque"}),a.jsx(Mn,{children:"Entrez les détails de la remorque à ajouter à votre parc."})]}),a.jsxs("form",{onSubmit:_,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"numeroChassis",children:["Numéro de châssis ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"numeroChassis",placeholder:"CH-123456",value:d.numeroChassis,onChange:C=>u({...d,numeroChassis:C.target.value}),className:"font-mono h-12",required:!0,"data-testid":"input-chassis"})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"nom",children:"Nom de la remorque"}),a.jsx(Xe,{id:"nom",placeholder:"Ex: La Grande",value:d.nom||"",onChange:C=>u({...d,nom:C.target.value||void 0}),className:"h-12","data-testid":"input-name"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"couleur",children:"Couleur"}),a.jsx(Xe,{id:"couleur",placeholder:"Ex: Rouge, Bleu, Blanc",value:d.couleur||"",onChange:C=>u({...d,couleur:C.target.value||void 0}),className:"h-12","data-testid":"input-color"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"type",children:["Type ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:d.type,onValueChange:C=>u({...d,type:C}),required:!0,children:[a.jsx(Xr,{id:"type","data-testid":"select-type",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un type"})}),a.jsx(en,{children:N_.map(C=>a.jsx(Qt,{value:C,children:C.charAt(0).toUpperCase()+C.slice(1).replace("_"," ")},C))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"capacite",children:"Capacité (tonnes)"}),a.jsx(Xe,{id:"capacite",type:"number",step:"0.1",placeholder:"20",value:d.capacite||"",onChange:C=>{const Q=C.target.value,R=Q===""?void 0:parseFloat(Q);u({...d,capacite:isNaN(R)?void 0:R})},min:"0",className:"h-12","data-testid":"input-capacity"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo de la remorque"}),A?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:A,alt:"Aperçu",className:"w-full h-48 object-cover rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:E,children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Se,{htmlFor:"photo-upload",className:"flex-1 cursor-pointer",children:a.jsxs("div",{className:"flex items-center justify-center gap-2 h-12 border-2 border-dashed rounded-lg hover:bg-accent transition-colors",children:[a.jsx(ja,{className:"h-4 w-4"}),a.jsx("span",{className:"text-sm",children:"Téléverser une photo"})]})}),a.jsx(Xe,{id:"photo-upload",type:"file",accept:"image/*",onChange:j,className:"hidden","data-testid":"input-photo-upload"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"absolute inset-0 flex items-center",children:a.jsx("span",{className:"w-full border-t"})}),a.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:a.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"ou"})})]}),a.jsx(Xe,{id:"photoUrl",type:"url",placeholder:"https://example.com/photo.jpg",value:d.photoUrl||"",onChange:C=>{u({...d,photoUrl:C.target.value||void 0}),p(null),y(null)},className:"h-12","data-testid":"input-photo-url"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:h?`Fichier sélectionné : ${h.name} (${(h.size/1024/1024).toFixed(2)} MB)`:"Téléversez une photo ou entrez une URL (optionnel)"})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>l(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",disabled:v,children:v?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Upload en cours..."]}):"Ajouter"})]})]})]})]})}function mGe({trailer:e,open:t,onOpenChange:r,onUpdate:n}){const{toast:i}=Er(),[s,o]=I.useState({numeroChassis:"",nom:"",couleur:"",type:"plateau",capacite:void 0,photoUrl:""}),[l,c]=I.useState(null),[d,u]=I.useState(null),[h,p]=I.useState(!1),[A,y]=I.useState(!1);I.useEffect(()=>{e&&t&&(o({numeroChassis:e.numeroChassis,nom:e.nom||"",couleur:e.couleur||"",type:e.type||"plateau",capacite:e.capacite||void 0,photoUrl:e.photoUrl||""}),c(null),u(e.photoUrl||null),y(!1))},[e,t]);const v=S=>{const _=S.target.files?.[0];if(_){if(!_.type.startsWith("image/")){i({variant:"destructive",title:"Erreur",description:"Veuillez sélectionner un fichier image"});return}if(_.size>5*1024*1024){i({variant:"destructive",title:"Erreur",description:"Le fichier est trop volumineux (max 5MB)"});return}c(_);const C=new FileReader;C.onloadend=()=>{u(C.result)},C.readAsDataURL(_),o({...s,photoUrl:""})}},w=()=>{c(null),u(null),o({...s,photoUrl:""}),y(!0)},j=async()=>{if(!l)return null;p(!0);try{const S=new FormData;S.append("photo",l);const _=$s("/api/upload/trailer-photo"),C=Vd(),Q={};C&&(Q.Authorization=`Bearer ${C}`);const R=await fetch(_,{method:"POST",headers:Q,body:S,credentials:"include"});if(!R.ok){const M=await R.json();throw new Error(M.message||"Erreur lors de l'upload")}const T=await R.json();return{url:T.url,publicId:T.publicId}}catch(S){return i({variant:"destructive",title:"Erreur",description:S instanceof Error?S.message:"Erreur lors de l'upload du fichier"}),null}finally{p(!1)}},E=async S=>{if(S.preventDefault(),!e)return;let _=s.photoUrl?.trim()||void 0,C;if(A)_=null,C=null;else if(l){const R=await j();if(R)_=R.url,C=R.publicId;else return}const Q={...s,photoUrl:_,photoCloudinaryPublicId:C,nom:s.nom?.trim()||void 0,couleur:s.couleur?.trim()||void 0,capacite:s.capacite&&!isNaN(s.capacite)?s.capacite:void 0};n?.(e.id,Q),r(!1)};return e?a.jsx(En,{open:t,onOpenChange:r,children:a.jsxs(yn,{className:"sm:max-w-[500px] max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Modifier la remorque"}),a.jsxs(Mn,{children:["Modifiez les détails de la remorque ",e.numeroChassis,"."]})]}),a.jsxs("form",{onSubmit:E,children:[a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"numeroChassis",children:["Numéro de châssis ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Xe,{id:"numeroChassis",placeholder:"CH-123456",value:s.numeroChassis,onChange:S=>o({...s,numeroChassis:S.target.value}),className:"font-mono h-12",required:!0,"data-testid":"input-chassis"})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"nom",children:"Nom de la remorque"}),a.jsx(Xe,{id:"nom",placeholder:"Ex: La Grande",value:s.nom||"",onChange:S=>o({...s,nom:S.target.value||void 0}),className:"h-12","data-testid":"input-name"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"couleur",children:"Couleur"}),a.jsx(Xe,{id:"couleur",placeholder:"Ex: Rouge, Bleu, Blanc",value:s.couleur||"",onChange:S=>o({...s,couleur:S.target.value||void 0}),className:"h-12","data-testid":"input-color"})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Se,{htmlFor:"type",children:["Type ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsxs(rn,{value:s.type||"plateau",onValueChange:S=>o({...s,type:S}),required:!0,children:[a.jsx(Xr,{id:"type","data-testid":"select-type",className:"h-12",children:a.jsx(nn,{placeholder:"Sélectionner un type"})}),a.jsx(en,{children:N_.map(S=>a.jsx(Qt,{value:S,children:S.charAt(0).toUpperCase()+S.slice(1).replace("_"," ")},S))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"capacite",children:"Capacité (tonnes)"}),a.jsx(Xe,{id:"capacite",type:"number",step:"0.1",placeholder:"20",value:s.capacite||"",onChange:S=>{const _=S.target.value,C=_===""?void 0:parseFloat(_);o({...s,capacite:isNaN(C)?void 0:C})},min:"0",className:"h-12","data-testid":"input-capacity"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Photo de la remorque"}),d?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:d,alt:"Aperçu",className:"w-full h-48 object-cover rounded-lg border"}),a.jsx(ge,{type:"button",variant:"destructive",size:"icon",className:"absolute top-2 right-2",onClick:w,children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Se,{htmlFor:"photo-upload-edit",className:"flex-1 cursor-pointer",children:a.jsxs("div",{className:"flex items-center justify-center gap-2 h-12 border-2 border-dashed rounded-lg hover:bg-accent transition-colors",children:[a.jsx(ja,{className:"h-4 w-4"}),a.jsx("span",{className:"text-sm",children:"Téléverser une photo"})]})}),a.jsx(Xe,{id:"photo-upload-edit",type:"file",accept:"image/*",onChange:v,className:"hidden","data-testid":"input-photo-upload"})]}),a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"absolute inset-0 flex items-center",children:a.jsx("span",{className:"w-full border-t"})}),a.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:a.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"ou"})})]}),a.jsx(Xe,{id:"photoUrl",type:"url",placeholder:"https://example.com/photo.jpg",value:s.photoUrl||"",onChange:S=>{o({...s,photoUrl:S.target.value||void 0}),c(null),u(null)},className:"h-12","data-testid":"input-photo-url"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:l?`Fichier sélectionné : ${l.name} (${(l.size/1024/1024).toFixed(2)} MB)`:"Téléversez une photo ou entrez une URL (optionnel)"})]})]}),a.jsxs(Na,{className:"gap-2 flex-col sm:flex-row",children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>r(!1),"data-testid":"button-cancel",className:"w-full sm:w-auto h-12",children:"Annuler"}),a.jsx(ge,{type:"submit","data-testid":"button-submit",className:"w-full sm:w-auto h-12",disabled:h,children:h?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Upload en cours..."]}):"Enregistrer"})]})]})]})}):null}function pGe(){const[e,t]=I.useState(""),[r,n]=I.useState(null),[i,s]=I.useState(!1),{toast:o}=Er(),{data:l=[],isLoading:c}=cr({queryKey:["/api/trailers"]}),d=_r({mutationFn:async E=>await $t("/api/trailers",{method:"POST",body:E}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/trailers"]}),o({title:"Succès",description:"La remorque a été ajoutée avec succès"})},onError:E=>{o({variant:"destructive",title:"Erreur",description:E.message||"Impossible d'ajouter la remorque"})}}),u=_r({mutationFn:async({id:E,data:S})=>await $t(`/api/trailers/${E}`,{method:"PATCH",body:S}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/trailers"]}),o({title:"Succès",description:"La remorque a été modifiée avec succès"}),n(null)},onError:E=>{o({variant:"destructive",title:"Erreur",description:E.message||"Impossible de modifier la remorque"})}}),h=_r({mutationFn:async E=>await $t(`/api/trailers/${E}`,{method:"DELETE"}),onSuccess:()=>{jt.invalidateQueries({queryKey:["/api/trailers"]}),o({title:"Succès",description:"La remorque a été supprimée avec succès"})},onError:E=>{o({variant:"destructive",title:"Erreur",description:E.message||"Impossible de supprimer la remorque"})}}),p=l.filter(E=>E.numeroChassis.toLowerCase().includes(e.toLowerCase())||E.type.toLowerCase().includes(e.toLowerCase())||E.nom&&E.nom.toLowerCase().includes(e.toLowerCase())),A=E=>{d.mutate(E)},y=E=>{n(E)},v=(E,S)=>{u.mutate({id:E,data:S})},w=E=>{h.mutate(E)},j=l.find(E=>E.id===r)||null;return a.jsxs("div",{className:"space-y-4 md:space-y-6",children:[a.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg md:text-xl font-semibold","data-testid":"text-page-title",children:"Remorques"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez votre parc de remorques"})]}),a.jsx(hGe,{onAdd:A,open:i,onOpenChange:s})]}),a.jsx("div",{className:"flex items-center gap-3",children:a.jsxs("div",{className:"relative flex-1",children:[a.jsx(rf,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Xe,{placeholder:"Rechercher...",value:e,onChange:E=>t(E.target.value),className:"pl-9 h-12","data-testid":"input-search"})]})}),c?a.jsx("div",{className:"flex justify-center items-center py-12",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:p.map(E=>a.jsx(fGe,{trailer:E,onEdit:y,onDelete:w},E.id))}),p.length===0&&a.jsx("div",{className:"text-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Aucune remorque trouvée"})})]}),a.jsx(np,{onClick:()=>s(!0),label:"Ajouter une remorque"}),a.jsx(mGe,{trailer:j,open:r!==null,onOpenChange:E=>{E||n(null)},onUpdate:v})]})}function gGe(){return a.jsxs(ul,{defaultValue:"vehicules",className:"space-y-4",children:[a.jsxs(Ro,{children:[a.jsxs(hn,{value:"vehicules",className:"flex items-center gap-2",children:[a.jsx(Fa,{className:"h-4 w-4"}),"Véhicules"]}),a.jsxs(hn,{value:"remorques",className:"flex items-center gap-2",children:[a.jsx(il,{className:"h-4 w-4"}),"Remorques"]})]}),a.jsx(dn,{value:"vehicules",className:"space-y-4",children:a.jsx(uGe,{})}),a.jsx(dn,{value:"remorques",className:"space-y-4",children:a.jsx(pGe,{})})]})}const Hb=[{id:"organisation",label:"Organisation",icon:dm,pathPrefix:"/parametres/organisation",tabs:[{id:"organisation",label:"Organisation",path:"/parametres/organisation",icon:dm},{id:"utilisateurs",label:"Utilisateurs",path:"/parametres/utilisateurs",icon:nh}]},{id:"referentiels",label:"Référentiels",icon:gse,pathPrefix:"/parametres/referentiels",tabs:[{id:"equipements",label:"Équipements",path:"/parametres/referentiels/equipements",icon:Fa},{id:"equipage",label:"Équipage",path:"/parametres/referentiels/equipage",icon:Sm},{id:"types-voyages",label:"Types de voyages",path:"/parametres/referentiels/types-voyages",icon:po},{id:"lieux",label:"Lieux",path:"/parametres/referentiels/lieux",icon:ei}]},{id:"integrations",label:"Intégrations",icon:jse,pathPrefix:"/parametres/integrations",tabs:[{id:"tracking",label:"Tracking",path:"/parametres/integrations/tracking",icon:u1},{id:"cloudinary",label:"Cloudinary",path:"/parametres/integrations/cloudinary",icon:lv},{id:"optimisations",label:"Optimisations",path:"/parametres/integrations/optimisations",icon:ry}]}];function qb(){const[e,t]=Gi(),r=I.useMemo(()=>e.startsWith("/parametres/referentiels")?"referentiels":e.startsWith("/parametres/integrations")?"integrations":"organisation",[e]),n=Hb.find(l=>l.id===r)||Hb[0],i=I.useMemo(()=>n.tabs.find(c=>e===c.path)?.id||n.tabs[0]?.id||"organisation",[e,n]);I.useEffect(()=>{e==="/parametres"&&t("/parametres/organisation",{replace:!0})},[e,t]);const s=l=>{const c=Hb.find(d=>d.id===l);c&&c.tabs.length>0&&t(c.tabs[0].path)},o=l=>{const c=n.tabs.find(d=>d.id===l);c&&t(c.path)};return a.jsxs("div",{className:"space-y-6 pb-8",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(zm,{className:"h-8 w-8 text-primary"}),a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-semibold",children:"Paramètres"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Gérez les types de voyage, les lieux et autres configurations"})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx(ul,{value:r,onValueChange:s,children:a.jsx(Ro,{className:"grid w-full grid-cols-3",children:Hb.map(l=>{const c=l.icon;return a.jsxs(hn,{value:l.id,className:"flex items-center gap-2",children:[a.jsx(c,{className:"h-4 w-4"}),a.jsx("span",{children:l.label})]},l.id)})})}),a.jsxs(ul,{value:i,onValueChange:o,className:"space-y-6",children:[a.jsx(Ro,{className:"grid w-full grid-cols-2 md:grid-cols-3",children:n.tabs.map(l=>{const c=l.icon;return a.jsxs(hn,{value:l.id,className:"flex items-center gap-2",children:[a.jsx(c,{className:"h-4 w-4"}),a.jsx("span",{className:"hidden sm:inline",children:l.label}),a.jsx("span",{className:"sm:hidden",children:l.label.split(" ")[0]})]},l.id)})}),a.jsx(dn,{value:"organisation",className:"space-y-4",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Informations de la société"}),a.jsx(wn,{children:"Configurez les informations de votre organisation. Ces informations seront utilisées dans les documents (ordres de mission, impressions, etc.)."})]}),a.jsx(Et,{children:a.jsx(vqe,{})})]})}),a.jsx(dn,{value:"utilisateurs",className:"space-y-4",children:a.jsx(Xqe,{})}),a.jsx(dn,{value:"equipements",className:"space-y-4",children:a.jsx(gGe,{})}),a.jsx(dn,{value:"equipage",className:"space-y-4",children:a.jsx(sGe,{})}),a.jsx(dn,{value:"types-voyages",className:"space-y-4",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Types de voyage"}),a.jsx(wn,{children:"Gérez les types de voyages prédéfinis. La sélection d'un type pré-remplit automatiquement les informations lors de la création d'un voyage."})]}),a.jsx(Et,{children:a.jsx(Eqe,{})})]})}),a.jsx(dn,{value:"lieux",className:"space-y-4",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Lieux"}),a.jsx(wn,{children:"Gérez les lieux pré-définis pour le chargement et le déchargement. Ces lieux peuvent être associés aux types de voyage."})]}),a.jsx(Et,{children:a.jsx(Sqe,{})})]})}),a.jsx(dn,{value:"tracking",className:"space-y-4",children:a.jsx(qqe,{})}),a.jsx(dn,{value:"cloudinary",className:"space-y-4",children:a.jsx(Bqe,{})}),a.jsx(dn,{value:"optimisations",className:"space-y-4",children:a.jsx(Kqe,{})})]})]})]})}const AGe={admin:"Administrateur",gestionnaire_parc:"Gestionnaire Parc",gestionnaire_mobile:"Gestionnaire Mobile",secretaire:"Secrétaire",comptable:"Comptable",atelier:"Atelier",chauffeur:"Chauffeur",apprenti:"Apprenti"};function xGe(){const[,e]=mg("/utilisateurs/:id"),[,t]=mg("/parametres/utilisateurs/:id"),r=t?.id||e?.id||"",[,n]=Gi();I.useEffect(()=>{e?.id&&!t?.id&&n(`/parametres/utilisateurs/${e.id}`,{replace:!0})},[e,t,n]);const{toast:i}=Er(),[s,o]=I.useState("profil"),l=I.useRef(null),c=I.useRef(null),d=I.useRef(null),u=I.useRef(null),{data:h,isLoading:p}=cr({queryKey:["user",r],queryFn:()=>hHe(r),enabled:!!r}),[A,y]=I.useState({name:"",email:"",phone:"",role:"apprenti",is_active:!0,profile:{}});I.useEffect(()=>{h&&y({name:h.name,email:h.email||"",phone:h.phone||"",role:h.role,is_active:h.is_active,profile:h.profile||{}})},[h]);const v=_r({mutationFn:T=>gHe(r,T),onSuccess:()=>{jt.invalidateQueries({queryKey:["user",r]}),jt.invalidateQueries({queryKey:["/api/users"]}),i({title:"Succès",description:"L'utilisateur a été mis à jour"})},onError:T=>{i({variant:"destructive",title:"Erreur",description:T.message||"Impossible de mettre à jour l'utilisateur"})}}),w=_r({mutationFn:T=>xHe(r,T),onSuccess:()=>{jt.invalidateQueries({queryKey:["user",r]}),i({title:"Succès",description:"L'avatar a été mis à jour"})}}),j=_r({mutationFn:T=>vHe(r,T),onSuccess:()=>{jt.invalidateQueries({queryKey:["user",r]}),i({title:"Succès",description:"Les documents ont été mis à jour"})}}),E=_r({mutationFn:T=>yHe(r,T),onSuccess:()=>{i({title:"Succès",description:"Le mot de passe a été mis à jour"})}}),S=_r({mutationFn:T=>bHe(r,T),onSuccess:()=>{jt.invalidateQueries({queryKey:["user",r]}),i({title:"Succès",description:`L'utilisateur a été ${h?.is_active?"désactivé":"activé"}`})}}),_=()=>{v.mutate(A)},C=T=>{const M=T.target.files?.[0];M&&w.mutate(M)},Q=(T,M)=>{const O=M.target.files?.[0];O&&j.mutate({[T]:O})},R=()=>{const T=prompt("Nouveau mot de passe (min 8 caractères):");T&&T.length>=8?E.mutate(T):T&&i({variant:"destructive",title:"Erreur",description:"Le mot de passe doit contenir au moins 8 caractères"})};return p?a.jsx("div",{className:"flex justify-center items-center min-h-screen",children:a.jsx(Nt,{className:"h-8 w-8 animate-spin text-primary"})}):h?a.jsxs("div",{className:"space-y-6 pb-20 md:pb-0",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-semibold",children:h.name}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Édition du profil utilisateur"})]}),a.jsx(ge,{variant:"outline",onClick:()=>n("/utilisateurs"),children:"Retour"})]}),a.jsxs(ul,{value:s,onValueChange:o,className:"space-y-4",children:[a.jsxs(Ro,{className:"grid w-full grid-cols-4",children:[a.jsxs(hn,{value:"profil",children:[a.jsx(nh,{className:"h-4 w-4 mr-2"}),"Profil"]}),a.jsxs(hn,{value:"documents",children:[a.jsx(po,{className:"h-4 w-4 mr-2"}),"Documents"]}),a.jsxs(hn,{value:"securite",children:[a.jsx(U6,{className:"h-4 w-4 mr-2"}),"Sécurité"]}),a.jsxs(hn,{value:"liens",children:[a.jsx(Xv,{className:"h-4 w-4 mr-2"}),"Liens"]})]}),a.jsxs(dn,{value:"profil",className:"space-y-4",children:[a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Informations de base"}),a.jsx(wn,{children:"Nom, email, téléphone, rôle"})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"name",children:"Nom"}),a.jsx(Xe,{id:"name",value:A.name,onChange:T=>y({...A,name:T.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"phone",children:"Téléphone"}),a.jsx(Xe,{id:"phone",value:A.phone,onChange:T=>y({...A,phone:T.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"email",children:"Email"}),a.jsx(Xe,{id:"email",type:"email",value:A.email,onChange:T=>y({...A,email:T.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"role",children:"Rôle"}),a.jsxs(rn,{value:A.role,onValueChange:T=>y({...A,role:T}),children:[a.jsx(Xr,{id:"role",children:a.jsx(nn,{})}),a.jsx(en,{children:Object.entries(AGe).map(([T,M])=>a.jsx(Qt,{value:T,children:M},T))})]})]})]})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Avatar"}),a.jsx(wn,{children:"Photo de profil"})]}),a.jsx(Et,{className:"space-y-4",children:a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsxs(Dm,{className:"h-20 w-20",children:[a.jsx(Tm,{src:h.profile?.avatar||void 0}),a.jsx(Rm,{children:h.name.charAt(0).toUpperCase()})]}),a.jsxs("div",{children:[a.jsx(ge,{type:"button",variant:"outline",onClick:()=>l.current?.click(),disabled:w.isPending,children:w.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Upload..."]}):a.jsxs(a.Fragment,{children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Changer l'avatar"]})}),a.jsx("input",{ref:l,type:"file",accept:"image/*",className:"hidden",onChange:C})]})]})})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Contacts"}),a.jsx(wn,{children:"Contacts secondaires et d'urgence"})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"phone_secondary",children:"Téléphone secondaire"}),a.jsx(Xe,{id:"phone_secondary",value:A.profile?.phone_secondary||"",onChange:T=>y({...A,profile:{...A.profile,phone_secondary:T.target.value}})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"whatsapp",children:"WhatsApp"}),a.jsx(Xe,{id:"whatsapp",value:A.profile?.whatsapp||"",onChange:T=>y({...A,profile:{...A.profile,whatsapp:T.target.value}})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"emergency_name",children:"Nom du contact d'urgence"}),a.jsx(Xe,{id:"emergency_name",value:A.profile?.emergency_name||"",onChange:T=>y({...A,profile:{...A.profile,emergency_name:T.target.value}})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"emergency_phone",children:"Téléphone du contact d'urgence"}),a.jsx(Xe,{id:"emergency_phone",value:A.profile?.emergency_phone||"",onChange:T=>y({...A,profile:{...A.profile,emergency_phone:T.target.value}})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"city",children:"Ville"}),a.jsx(Xe,{id:"city",value:A.profile?.city||"",onChange:T=>y({...A,profile:{...A.profile,city:T.target.value}})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"notes",children:"Notes internes"}),a.jsx(K0,{id:"notes",value:A.profile?.notes||"",onChange:T=>y({...A,profile:{...A.profile,notes:T.target.value}}),rows:4})]})]})]}),a.jsx(ge,{onClick:_,disabled:v.isPending,children:v.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Enregistrement..."]}):"Enregistrer les modifications"})]}),a.jsx(dn,{value:"documents",className:"space-y-4",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Documents d'identité"}),a.jsx(wn,{children:"CNI, passeport, permis de conduire"})]}),a.jsxs(Et,{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"id_type",children:"Type de pièce"}),a.jsxs(rn,{value:h.documents?.[0]?.id_type||"",onValueChange:T=>j.mutate({id_type:T}),children:[a.jsx(Xr,{id:"id_type",children:a.jsx(nn,{placeholder:"Sélectionner un type"})}),a.jsxs(en,{children:[a.jsx(Qt,{value:"cni",children:"CNI"}),a.jsx(Qt,{value:"passeport",children:"Passeport"}),a.jsx(Qt,{value:"permis",children:"Permis de conduire"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{htmlFor:"id_number",children:"Numéro de pièce"}),a.jsx(Xe,{id:"id_number",value:h.documents?.[0]?.id_number||"",onChange:T=>j.mutate({id_number:T.target.value})})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Recto"}),h.documents?.[0]?.id_front?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:h.documents[0].id_front,alt:"Recto",className:"w-full h-32 object-cover rounded border"}),a.jsx(ge,{variant:"destructive",size:"sm",className:"absolute top-2 right-2",onClick:()=>j.mutate({id_front:void 0}),children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs(ge,{variant:"outline",className:"w-full h-32",onClick:()=>c.current?.click(),children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Upload recto"]}),a.jsx("input",{ref:c,type:"file",accept:"image/*",className:"hidden",onChange:T=>Q("id_front",T)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Verso"}),h.documents?.[0]?.id_back?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:h.documents[0].id_back,alt:"Verso",className:"w-full h-32 object-cover rounded border"}),a.jsx(ge,{variant:"destructive",size:"sm",className:"absolute top-2 right-2",onClick:()=>j.mutate({id_back:void 0}),children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs(ge,{variant:"outline",className:"w-full h-32",onClick:()=>d.current?.click(),children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Upload verso"]}),a.jsx("input",{ref:d,type:"file",accept:"image/*",className:"hidden",onChange:T=>Q("id_back",T)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(Se,{children:"Selfie (optionnel)"}),h.documents?.[0]?.selfie?a.jsxs("div",{className:"relative",children:[a.jsx("img",{src:h.documents[0].selfie,alt:"Selfie",className:"w-full h-32 object-cover rounded border"}),a.jsx(ge,{variant:"destructive",size:"sm",className:"absolute top-2 right-2",onClick:()=>j.mutate({selfie:void 0}),children:a.jsx(Nn,{className:"h-4 w-4"})})]}):a.jsxs(ge,{variant:"outline",className:"w-full h-32",onClick:()=>u.current?.click(),children:[a.jsx(ja,{className:"h-4 w-4 mr-2"}),"Upload selfie"]}),a.jsx("input",{ref:u,type:"file",accept:"image/*",className:"hidden",onChange:T=>Q("selfie",T)})]})]})]})]})}),a.jsxs(dn,{value:"securite",className:"space-y-4",children:[a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Mot de passe"}),a.jsx(wn,{children:"Réinitialiser le mot de passe de l'utilisateur"})]}),a.jsx(Et,{children:a.jsx(ge,{onClick:R,disabled:E.isPending,children:E.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"Réinitialisation..."]}):"Réinitialiser le mot de passe"})})]}),a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Statut du compte"}),a.jsx(wn,{children:"Activer ou désactiver le compte"})]}),a.jsx(Et,{className:"space-y-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("p",{className:"font-medium",children:"Statut actuel"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:h.is_active?"Compte actif":"Compte désactivé"})]}),a.jsx(ge,{variant:h.is_active?"destructive":"default",onClick:()=>S.mutate(!h.is_active),disabled:S.isPending,children:S.isPending?a.jsxs(a.Fragment,{children:[a.jsx(Nt,{className:"h-4 w-4 mr-2 animate-spin"}),"..."]}):h.is_active?"Désactiver":"Activer"})]})})]})]}),a.jsx(dn,{value:"liens",className:"space-y-4",children:a.jsxs(it,{children:[a.jsxs(br,{children:[a.jsx(jr,{children:"Membre d'équipage"}),a.jsx(wn,{children:"Lien avec un membre d'équipage"})]}),a.jsx(Et,{children:h.crew_member?a.jsxs("div",{className:"space-y-2",children:[a.jsxs("p",{className:"font-medium",children:[h.crew_member.prenom," ",h.crew_member.nom]}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Rôle: ",h.crew_member.role==="chauffeur"?"Chauffeur":"Apprenti"]}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Téléphone: ",h.crew_member.telephone||"N/A"]}),a.jsx(ge,{variant:"outline",size:"sm",className:"mt-4",children:"Voir le membre d'équipage"})]}):a.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:[a.jsx("p",{children:"Aucun membre d'équipage lié"}),a.jsx("p",{className:"text-xs mt-2",children:"Le lien se fait lors de la création depuis un membre d'équipage"})]})})]})})]})]}):a.jsxs("div",{className:"flex flex-col items-center justify-center min-h-screen",children:[a.jsx("p",{className:"text-muted-foreground mb-4",children:"Utilisateur non trouvé"}),a.jsx(ge,{onClick:()=>n("/utilisateurs"),children:"Retour à la liste"})]})}function vGe(){const{data:e}=ih(),t=k4(),[r]=Gi(),[n,i]=I.useState(!1),[s,o]=I.useState(!1),l=()=>{t.mutate()};let c;return r==="/"||r.startsWith("/dashboard")?c=[["/api/vehicles"],["/api/trailers"],["/api/voyages"],["/api/trips"],["/api/crew-members"],["/api/maintenances"],["/api/breakdowns"]]:r.startsWith("/voyages")?c=[["/api/voyages"]]:r.startsWith("/trajets")?c=[["/api/trips"]]:r.startsWith("/maintenances")?c=[["/api/maintenances"]]:r.startsWith("/pannes")?c=[["/api/breakdowns"]]:r.startsWith("/incidents")?c=[["/api/incidents"],["/api/voyages"]]:r.startsWith("/attelages")?c=[["/api/vehicles"],["/api/trailers"]]:r.startsWith("/statistiques")?c=[["/api/voyages"],["/api/vehicles"],["/api/trailers"],["/api/crew-members"],["/api/incidents"],["/api/mission-revenues"],["/api/mission-expenses"],["/api/voyage-expenses"]]:r.startsWith("/parametres")?c=[["/api/vehicles"],["/api/trailers"],["/api/crew-members"],["/api/voyage-types"],["/api/locations"],["users"],["/api/users"]]:c=void 0,a.jsxs("header",{className:"flex items-center justify-between gap-4 p-3 md:p-4 border-b",children:[a.jsx("div",{className:"hidden md:block",children:a.jsx(Tue,{"data-testid":"button-sidebar-toggle"})}),a.jsxs("div",{className:"flex items-center gap-2 flex-1 justify-center md:hidden",children:[a.jsx("img",{src:"/logo-parc-app.png",alt:"Parc'App Logo",className:"h-8 w-8 object-contain"}),a.jsx("h1",{className:"text-base font-semibold",children:"Parc'App"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs(En,{open:n,onOpenChange:i,children:[a.jsx(ah,{asChild:!0,children:a.jsx(ge,{variant:"ghost",size:"icon",className:"h-9 w-9",children:a.jsx(Gl,{className:"h-4 w-4"})})}),a.jsxs(yn,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cn,{children:[a.jsx(In,{children:"Aide & Documentation"}),a.jsx(Mn,{children:"Guide d'utilisation de Parc'App - Gestion de flotte"})]}),a.jsx(dY,{})]})]}),a.jsx(Hpe,{}),a.jsx($pe,{queriesToInvalidate:c}),e&&a.jsxs(ez,{children:[a.jsx(tz,{asChild:!0,children:a.jsxs(ge,{variant:"ghost",size:"sm",className:"gap-2",children:[a.jsx(nh,{className:"h-4 w-4"}),a.jsx("span",{className:"hidden sm:inline",children:e.username})]})}),a.jsxs(jS,{align:"end",children:[a.jsx(NS,{children:a.jsxs("div",{className:"flex flex-col space-y-1",children:[a.jsx("p",{className:"text-sm font-medium",children:e.username}),a.jsx("p",{className:"text-xs text-muted-foreground",children:e.role})]})}),a.jsx(xv,{}),a.jsxs(Av,{onClick:()=>o(!0),children:[a.jsx(Hd,{className:"mr-2 h-4 w-4"}),a.jsx("span",{children:"Configurer PIN offline"})]}),a.jsx(xv,{}),a.jsxs(Av,{onClick:l,disabled:t.isPending,children:[a.jsx(m4,{className:"mr-2 h-4 w-4"}),a.jsx("span",{children:t.isPending?"Déconnexion...":"Se déconnecter"})]})]})]}),a.jsx(Jue,{})]}),e&&a.jsx(oz,{open:s,onOpenChange:o,user:e,onSuccess:()=>{}})]})}function Gb({path:e}){const[,t]=Gi();return I.useEffect(()=>{t(e,{replace:!0})},[e,t]),null}function yGe(){const[,e]=mg("/utilisateurs/:id"),[,t]=Gi();return I.useEffect(()=>{e?.id&&t(`/parametres/utilisateurs/${e.id}`,{replace:!0})},[e?.id,t]),null}function bGe(){const{data:e,isLoading:t}=ih(),[r,n]=Gi();return I.useEffect(()=>{if(!t){if(e&&r==="/login"){n("/");return}if(!e&&r!=="/login"){n("/login");return}}},[e,t,r,n]),t?a.jsx("div",{className:"flex items-center justify-center min-h-screen",children:a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),a.jsx("p",{className:"text-muted-foreground",children:"Chargement..."})]})}):e?a.jsxs(Yie,{children:[a.jsx(ta,{path:"/",component:qPe}),a.jsx(ta,{path:"/attelages",component:U$e}),a.jsx(ta,{path:"/voyages",component:H$e}),a.jsx(ta,{path:"/voyages/new",component:aHe}),a.jsx(ta,{path:"/voyages/:id/edit",component:sHe}),a.jsx(ta,{path:"/voyages/:id/ordre-de-mission",component:ZHe}),a.jsx(ta,{path:"/voyages/:id",component:YHe}),a.jsx(ta,{path:"/trajets/new",component:u$e}),a.jsx(ta,{path:"/trajets/:id",component:lqe}),a.jsx(ta,{path:"/trajets",component:e$e}),a.jsx(ta,{path:"/maintenances",component:S$e}),a.jsx(ta,{path:"/pannes",component:R$e}),a.jsx(ta,{path:"/incidents",component:fqe}),a.jsx(ta,{path:"/statistiques",children:a.jsx(lO,{})}),a.jsx(ta,{path:"/statistiques/:tab",children:a.jsx(lO,{})}),a.jsx(ta,{path:"/parametres",children:a.jsx(qb,{})}),a.jsx(ta,{path:"/parametres/:tab",children:a.jsx(qb,{})}),a.jsx(ta,{path:"/parametres/referentiels/:tab",children:a.jsx(qb,{})}),a.jsx(ta,{path:"/parametres/integrations/:tab",children:a.jsx(qb,{})}),a.jsx(ta,{path:"/parametres/utilisateurs/:id",children:a.jsx(xGe,{})}),a.jsx(ta,{path:"/aide",component:dY}),a.jsx(ta,{path:"/vehicules",children:a.jsx(Gb,{path:"/parametres/referentiels/equipements"})}),a.jsx(ta,{path:"/remorques",children:a.jsx(Gb,{path:"/parametres/referentiels/equipements"})}),a.jsx(ta,{path:"/equipage",children:a.jsx(Gb,{path:"/parametres/referentiels/equipage"})}),a.jsx(ta,{path:"/utilisateurs",children:a.jsx(Gb,{path:"/parametres/utilisateurs"})}),a.jsx(ta,{path:"/utilisateurs/:id",children:a.jsx(yGe,{})}),a.jsx(ta,{path:"/login",component:E6}),a.jsx(ta,{component:dqe})]}):a.jsx(E6,{})}function uO({children:e}){const[t,r]=Gi(),{data:n,isLoading:i}=ih(),{isOnline:s,isOffline:o,hasOfflineProfile:l,offlineUnlocked:c,authMode:d}=dy(),[u,h]=I.useState(0),[p,A]=I.useState(!1);if(I.useEffect(()=>{const v=()=>{console.log("[RouteGuard] ⚡ ÉVÉNEMENT unlock détecté, marquer justUnlocked=true et forcer re-rendu IMMÉDIAT"),A(!0),console.log("[RouteGuard] justUnlocked mis à true, forcer re-rendu immédiat"),h(w=>{const j=w+1;return console.log("[RouteGuard] setForceRender(",j,") appelé immédiatement"),j}),setTimeout(()=>{console.log("[RouteGuard] Réinitialisation justUnlocked après délai"),A(!1)},1e4)};return window.addEventListener("offline-unlock",v),()=>window.removeEventListener("offline-unlock",v)},[]),console.log("[RouteGuard] ===== RENDU RouteGuard ====="),console.log("[RouteGuard] Props:",{location:t,authMode:d,isOffline:o,offlineUnlocked:c,hasUser:!!n,forceRender:u,justUnlocked:p}),console.log("[RouteGuard] Stack trace:",new Error().stack?.split(` `).slice(1,4).join(` `)),I.useEffect(()=>{console.log("[RouteGuard] ===== useEffect authMode changé ====="),console.log("[RouteGuard] Nouveaux valeurs:",{authMode:d,offlineUnlocked:c,isOffline:o}),d==="offline-unlocked"||c&&o?(console.log("[RouteGuard] ⚡ FORCER RE-RENDU: authMode=",d,"offlineUnlocked=",c),console.log("[RouteGuard] Appel setForceRender..."),h(v=>{const w=v+1;return console.log("[RouteGuard] setForceRender(",w,") appelé, React devrait déclencher un re-rendu"),w})):console.log("[RouteGuard] Pas de re-rendu forcé nécessaire")},[d,c,o]),I.useEffect(()=>{console.log("[RouteGuard] ===== useEffect offlineUnlocked changé ====="),console.log("[RouteGuard] offlineUnlocked:",c,"isOffline:",o,"hasOfflineProfile:",l),c===!0&&o===!0&&l===!0?(console.log("[RouteGuard] ⚡ offlineUnlocked est maintenant TRUE, forcer re-rendu immédiat"),h(v=>{const w=v+1;return console.log("[RouteGuard] setForceRender(",w,") depuis useEffect offlineUnlocked"),w})):console.log("[RouteGuard] offlineUnlocked n'est pas true ou conditions non remplies")},[c,o,l]),I.useEffect(()=>{if(d==="offline-unlocked"&&!t.startsWith("/driver")){console.log("[RouteGuard] Redirection vers /driver en cours...");const v=setTimeout(()=>{r("/driver")},0);return()=>clearTimeout(v)}},[d,t,r]),i&&s)return a.jsx("div",{className:"flex items-center justify-center min-h-screen",children:a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),a.jsx("p",{className:"text-muted-foreground",children:"Chargement..."})]})});if(console.log("[RouteGuard] Vérification offline:",{isOffline:o,authMode:d,hasOfflineProfile:l,offlineUnlocked:c}),o){if(console.log("[RouteGuard] Mode offline détecté, authMode:",d),d==="needs-online-login"&&!l)return console.log("[RouteGuard] Affichage OfflineLoginRequiredScreen"),a.jsx(k$e,{});const v=c===!0&&l===!0&&o===!0||d==="offline-unlocked"||p&&o&&l;return console.log("[RouteGuard] ===== VÉRIFICATION offline-unlocked ====="),console.log("[RouteGuard] Condition:",{"offlineUnlocked === true":c===!0,"hasOfflineProfile === true":l===!0,"isOffline === true":o===!0,"offlineUnlocked && hasOfflineProfile && isOffline":c&&l&&o,"authMode === 'offline-unlocked'":d==="offline-unlocked",justUnlocked:p,"justUnlocked && isOffline && hasOfflineProfile":p&&o&&l,isOfflineUnlocked:v}),v?(console.log("[RouteGuard] ✅ MODE OFFLINE-UNLOCKED DÉTECTÉ!"),console.log("[RouteGuard] location:",t,"offlineUnlocked:",c,"authMode:",d,"justUnlocked:",p),t.startsWith("/driver")?(console.log("[RouteGuard] ✅✅✅ RENDU DES CHILDREN (DriverLayout devrait apparaître) ✅✅✅"),a.jsx(a.Fragment,{children:e})):(console.log("[RouteGuard] Redirection vers /driver (loader)"),a.jsx("div",{className:"flex items-center justify-center min-h-screen",children:a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),a.jsx("p",{className:"text-muted-foreground",children:"Redirection vers l'espace Chauffeur..."})]})}))):d==="offline-locked"?(console.log("[RouteGuard] Affichage OfflineUnlockScreen (offline-locked)"),a.jsx(B$e,{})):(console.warn("[RouteGuard] Mode offline mais authMode inattendu:",d),a.jsx("div",{className:"flex items-center justify-center min-h-screen",children:a.jsxs("div",{className:"text-center",children:[a.jsx(Kn,{className:"h-8 w-8 text-destructive mx-auto mb-4"}),a.jsx("p",{className:"text-muted-foreground",children:"État d'authentification inattendu. Veuillez recharger la page."})]})}))}if(!n&&s)return a.jsx(a.Fragment,{children:e});if(!n)return a.jsx(a.Fragment,{children:e});const y=n.role;return t.startsWith("/driver")?MM(y)?a.jsx(a.Fragment,{children:e}):a.jsx(Q3,{message:"Vous n'avez pas accès à l'espace Chauffeur.",actionLabel:"Retour au tableau de bord",actionPath:"/",showBackButton:!1}):_4(y)?a.jsx(Q3,{message:"Votre rôle vous limite à l'espace Chauffeur uniquement.",actionLabel:"Aller à l'espace Chauffeur",actionPath:"/driver",showBackButton:!1}):hS(y,t)?a.jsx(a.Fragment,{children:e}):a.jsx(Q3,{message:"Vous n'avez pas les permissions nécessaires pour accéder à cette page.",actionLabel:"Retour au tableau de bord",actionPath:"/",showBackButton:!1})}function wGe(){const[e]=Gi(),{data:t}=ih(),r=e.startsWith("/driver"),n=e==="/login"&&!t,i={"--sidebar-width":"16rem"};return console.log("[App] Composant App rendu, location:",e,"isDriverMode:",r,"user:",t),n?a.jsx(vm,{children:a.jsx(E6,{})}):r?(console.log("[App] Mode driver détecté, rendu DriverPwaLayout"),a.jsx(vm,{children:a.jsx(uO,{children:a.jsx(zpe,{})})})):a.jsxs(vm,{children:[a.jsx(uO,{children:a.jsxs(_ue,{style:i,children:[a.jsxs("div",{className:"flex h-screen w-full",children:[a.jsx(Zue,{}),a.jsxs("div",{className:"flex flex-col flex-1 overflow-hidden",children:[a.jsx(vGe,{}),a.jsx("main",{className:"flex-1 overflow-auto p-4 md:p-8",children:a.jsx("div",{className:"max-w-7xl mx-auto",children:a.jsx(bGe,{})})})]})]}),a.jsx(t0e,{})]})}),a.jsx(NL,{})]})}const EGe=window.fetch.bind(window);window.fetch=async(e,t)=>{const r=typeof e=="string"?e:e instanceof URL?e.toString():e.url;if(r.startsWith("/api/"))throw console.error("❌ RELATIVE API CALL DETECTED:",r),console.trace("STACK TRACE for relative API call"),new Error(`Relative API call blocked: ${r}`);return EGe(e,t)};const CGe=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(e,t,r,n,i){const s=typeof t=="string"?t:t.toString();return(s.startsWith("/api/")||s.startsWith("api/"))&&(console.error("❌ RELATIVE API CALL (XHR) DETECTED:",e,s),console.trace("STACK TRACE for XHR relative API call")),CGe.call(this,e,t,r,n,i)};console.log("[main.tsx] Script chargé, initialisation de l'application...");const Cne=document.getElementById("root");if(!Cne)throw console.error("[main.tsx] ERREUR: Élément #root introuvable!"),new Error("Élément #root introuvable dans le DOM");Zne.createRoot(Cne).render(a.jsx(Eie,{client:jt,children:a.jsx(wGe,{})}));console.log("[main.tsx] Application React rendue");console.log("VITE_API_BASE_URL =","https://apiparcapp.jrbxsolutions.com");console.log("MODE =","production");export{$t as a};