diff --git a/docs/rover-peripherals.md b/docs/rover-peripherals.md index af68a901..900d62fc 100644 --- a/docs/rover-peripherals.md +++ b/docs/rover-peripherals.md @@ -495,6 +495,92 @@ The Firmata toggle backend converts the logical value using `activeLow` before s Peripheral authors should not write JSON, construct SysEx messages, or manually dispatch control IDs. The proposed `RoverPeripheralFirmata` Arduino library owns those tasks. +A long positional call such as `addRoverCameraServo(14, -15, 30, 0, 2, 900, 2100, false, false)` is deliberately not part of the API. Several adjacent numbers and booleans are too difficult to understand or review without repeatedly consulting the function signature. + +The public API uses named configuration structs. Field names include units where a bare number would otherwise be ambiguous, and enums replace booleans whose meaning would be unclear at the call site. + +### Proposed configuration types + +The core public types are: + +```cpp +enum class OutputPolarity { + ActiveHigh, + ActiveLow +}; + +enum class ButtonMode { + Toggle, + Momentary +}; + +struct FirmataServoOutput { + uint8_t pin; +}; + +struct FirmataPwmOutput { + uint8_t pin; +}; + +struct FirmataDigitalOutput { + uint8_t pin; + OutputPolarity polarity = OutputPolarity::ActiveHigh; +}; + +struct RoverCameraServoConfig { + uint8_t pin; + + float minimumAngleDegrees; + float maximumAngleDegrees; + float homeAngleDegrees = 0; + float nudgeDegrees = 2; + + uint16_t minimumPulseMicroseconds = 900; + uint16_t maximumPulseMicroseconds = 2100; + + bool allowRawPulse = false; + bool inverted = false; +}; + +struct RoverDigitalOutputConfig { + uint8_t pin; + OutputPolarity polarity = OutputPolarity::ActiveHigh; + bool initiallyOn = false; +}; + +struct SliderControlConfig { + String id; + String name; + int minimum; + int maximum; +}; + +struct ButtonControlConfig { + String id; + String name; + ButtonMode mode; +}; + +struct NumberControlConfig { + String id; + String name; + int minimum; + int maximum; +}; + +struct TextControlConfig { + String id; + String name; + size_t maximumLength; +}; +``` + +Defaults cover values that are commonly shared, but required hardware and display values remain explicit. The implementation must validate the completed struct when it is registered rather than assuming that every default-constructed object is usable. + +The API uses ordinary field assignments instead of C++ designated initializers. This keeps example sketches compatible with ESP32 Arduino toolchains that are not configured for C++20. + +### Generic-control registration + A complete sketch for one servo slider, one light-brightness slider, and one custom momentary button is: ```cpp @@ -508,9 +594,6 @@ A complete sketch for one servo slider, one light-brightness slider, and one cus */ RoverPeripheralFirmata peripheral("Example peripheral"); -constexpr uint8_t SERVO_PIN = 14; -constexpr uint8_t LIGHT_PWM_PIN = 18; - /* * This is ordinary application code rather than Firmata plumbing. A real * peripheral can replace it with any device-specific sequence or library call. @@ -526,34 +609,44 @@ void setup() { * roverd handles this control with standard Firmata SERVO commands. The * ESP32 application does not need a callback for each slider update. */ - peripheral.addServoSlider( - "servoPosition", - "Servo position", - SERVO_PIN, - 0, - 180 - ); + SliderControlConfig servoPosition; + servoPosition.id = "servoPosition"; + servoPosition.name = "Servo position"; + servoPosition.minimum = 0; + servoPosition.maximum = 180; + + FirmataServoOutput servoOutput; + servoOutput.pin = 14; + + peripheral.addServoSlider(servoPosition, servoOutput); /* * roverd handles this control with standard Firmata PWM commands. The range * is included in the generated description and displayed by the web UI. */ - peripheral.addPwmSlider( - "lightBrightness", - "Light brightness", - LIGHT_PWM_PIN, - 0, - 255 - ); + SliderControlConfig lightBrightness; + lightBrightness.id = "lightBrightness"; + lightBrightness.name = "Light brightness"; + lightBrightness.minimum = 0; + lightBrightness.maximum = 255; + + FirmataPwmOutput lightOutput; + lightOutput.pin = 18; + + peripheral.addPwmSlider(lightBrightness, lightOutput); /* * Custom controls are delivered through the rover-peripheral Firmata feature. * The library finds this registration by control ID and invokes the callback * with true on press and false on release. */ - peripheral.addMomentaryButton( - "specialAction", - "Run special action", + ButtonControlConfig specialAction; + specialAction.id = "specialAction"; + specialAction.name = "Run special action"; + specialAction.mode = ButtonMode::Momentary; + + peripheral.addButton( + specialAction, [](bool pressed) { if (pressed) { runSpecialAction(); @@ -576,40 +669,27 @@ void loop() { } ``` -The intended registration methods are: +The intended generic registration methods are: ```cpp -addServoSlider(id, name, pin, min, max) -addPwmSlider(id, name, pin, min, max) -addDigitalToggle(id, name, pin) -addDigitalMomentaryButton(id, name, pin) +addServoSlider(const SliderControlConfig&, const FirmataServoOutput&) +addPwmSlider(const SliderControlConfig&, const FirmataPwmOutput&) +addDigitalButton(const ButtonControlConfig&, const FirmataDigitalOutput&) -addCustomSlider(id, name, min, max, callback) -addToggle(id, name, callback) -addMomentaryButton(id, name, callback) -addNumber(id, name, min, max, callback) -addText(id, name, maxLength, callback) +addSlider(const SliderControlConfig&, SliderCallback) +addButton(const ButtonControlConfig&, ButtonCallback) +addNumber(const NumberControlConfig&, NumberCallback) +addText(const TextControlConfig&, TextCallback) ``` -These helpers all produce the same four UI types. Method names describe the Firmata mapping or callback type; they do not create additional UI control types. +These helpers still produce only the four agreed UI types. The overload or method name distinguishes a standard Firmata output from a custom callback; it does not create an additional UI type. The standardized built-in replacements use separate methods because they do not create generic UI controls: ```cpp -addRoverCameraServo( - pin, - minAngle, - maxAngle, - homeAngle, - nudgeDegrees, - minPulseUs, - maxPulseUs, - allowRawPulse, - invert -) - -addRoverHeadlight(pin, activeLow, initialOn) -addRoverLaser(pin, activeLow, initialOn) +addRoverCameraServo(const RoverCameraServoConfig&) +addRoverHeadlight(const RoverDigitalOutputConfig&) +addRoverLaser(const RoverDigitalOutputConfig&) ``` A laptop GPIO peripheral can combine built-in replacements and additional controls: @@ -628,29 +708,45 @@ void setup() { * These declarations satisfy existing rover roles. They retain the normal * camera, headlight, and laser UI instead of entering the generic column. */ - peripheral.addRoverCameraServo( - 14, - -15, - 30, - 0, - 2, - 900, - 2100, - false, - false - ); - peripheral.addRoverHeadlight(18, false, false); - peripheral.addRoverLaser(19, false, false); + RoverCameraServoConfig cameraServo; + cameraServo.pin = 14; + cameraServo.minimumAngleDegrees = -15; + cameraServo.maximumAngleDegrees = 30; + cameraServo.homeAngleDegrees = 0; + cameraServo.nudgeDegrees = 2; + cameraServo.minimumPulseMicroseconds = 900; + cameraServo.maximumPulseMicroseconds = 2100; + cameraServo.allowRawPulse = false; + cameraServo.inverted = false; + + peripheral.addRoverCameraServo(cameraServo); + + RoverDigitalOutputConfig headlight; + headlight.pin = 18; + headlight.polarity = OutputPolarity::ActiveHigh; + headlight.initiallyOn = false; + + peripheral.addRoverHeadlight(headlight); + + RoverDigitalOutputConfig laser; + laser.pin = 19; + laser.polarity = OutputPolarity::ActiveHigh; + laser.initiallyOn = false; + + peripheral.addRoverLaser(laser); /* * This is an additional feature, so it appears below the peripheral heading * in the ordered generic-control column. */ - peripheral.addCustomSlider( - "underglowBrightness", - "Underglow brightness", - 0, - 255, + SliderControlConfig underglowBrightness; + underglowBrightness.id = "underglowBrightness"; + underglowBrightness.name = "Underglow brightness"; + underglowBrightness.minimum = 0; + underglowBrightness.maximum = 255; + + peripheral.addSlider( + underglowBrightness, [](int brightness) { setUnderglowBrightness(brightness); } diff --git a/server/public/assets/FleetReportsApp-B3hwhwsD.js.map b/server/public/assets/FleetReportsApp-B3hwhwsD.js.map deleted file mode 100644 index e06f531c..00000000 --- a/server/public/assets/FleetReportsApp-B3hwhwsD.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FleetReportsApp-B3hwhwsD.js","sources":["../../../webui/node_modules/papaparse/papaparse.min.js","../../../webui/src/reports/FleetReportsApp.jsx"],"sourcesContent":["/* @license\nPapa Parse\nv5.5.4\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n((e,t)=>{\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&\"undefined\"!=typeof exports?module.exports=t():e.Papa=t()})(this,function r(){var n=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==n?n:{};var d,s=!n.document&&!!n.postMessage,a=n.IS_PAPA_WORKER||!1,o={},h=0,v={};function P(e){return 65279===e.charCodeAt(0)?e.slice(1):e}function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\"\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview);if(a)n.postMessage({results:r,workerId:v.WORKER_ID,finished:i});else if(q(this._config.chunk)&&!e){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r.data),this._completeResults.errors=this._completeResults.errors.concat(r.errors),this._completeResults.meta=r.meta),this._completed||!i||!q(this._config.complete)||r&&r.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||r&&r.meta.paused||this._nextChunk(),r}this._halted=!0},this._sendError=function(e){q(this._config.error)?this._config.error(e):a&&this._config.error&&n.postMessage({workerId:v.WORKER_ID,error:e,finished:!1})}}function f(e){var r;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),s||(r.onload=y(this._chunkLoaded,this),r.onerror=y(this._chunkError,this)),r.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!s),this._config.downloadRequestHeaders){var e,t=this._config.downloadRequestHeaders;for(e in t)r.setRequestHeader(e,t[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,r.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+i));try{r.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}s&&0===r.status&&this._chunkError()}},this._chunkLoaded=function(){4===r.readyState&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>null!==(e=e.getResponseHeader(\"Content-Range\"))?parseInt(e.substring(e.lastIndexOf(\"/\")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(e){e=r.statusText||e;this._sendError(new Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i,r,n=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(i.error)}}function c(e){var i;u.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){var e,t;if(!this._finished)return e=this._config.chunkSize,i=e?(t=i.substring(0,e),i.substring(e)):(t=i,\"\"),this._finished=!i,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=y(function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=y(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=y(function(){this._streamCleanUp(),r=!0,this._streamData(\"\")},this),this._streamCleanUp=y(function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)},this)}function i(m){var n,s,a,t,o=Math.pow(2,53),h=-o,u=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,d=/^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/,i=this,r=0,f=0,l=!1,e=!1,c=[],p={data:[],errors:[],meta:{}};function y(e){return\"greedy\"===m.skipEmptyLines?\"\"===e.join(\"\").trim():1===e.length&&0===e[0].length}function g(){if(p&&a&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+v.DefaultDelimiter+\"'\"),a=!1),m.skipEmptyLines&&(p.data=p.data.filter(function(e){return!y(e)})),_()){if(p)if(Array.isArray(p.data[0])){for(var e=0;_()&&e(e=>(m.dynamicTypingFunction&&void 0===m.dynamicTyping[e]&&(m.dynamicTyping[e]=m.dynamicTypingFunction(e)),!0===(m.dynamicTyping[e]||m.dynamicTyping)))(e)?\"true\"===t||\"TRUE\"===t||\"false\"!==t&&\"FALSE\"!==t&&((e=>{if(u.test(e)){e=parseFloat(e);if(h=c.length?\"__parsed_extra\":c[r]:n,s=m.transform?m.transform(s,n):s);\"__parsed_extra\"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s}return m.header&&(r>c.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+c.length+\" fields but parsed \"+r,f+t):rm.preview?s.abort():(p.data=p.data[0],t(p,i))))}),this.parse=function(e,t,i){var r=m.quoteChar||'\"',r=(m.newline||(m.newline=this.guessLineEndings(e,r)),a=!1,m.delimiter?q(m.delimiter)&&(m.delimiter=m.delimiter(e),p.meta.delimiter=m.delimiter):((r=((e,t,i,r,n)=>{var s,a,o,h;n=n||[\",\",\"\\t\",\"|\",\";\",v.RECORD_SEP,v.UNIT_SEP];for(var u=0;u=i.length/2?\"\\r\\n\":\"\\r\"}}function U(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function E(C){var S=(C=C||{}).delimiter,O=C.newline,x=C.comments,I=C.step,A=C.preview,T=C.fastMode,D=null,L=!1,F=null==C.quoteChar?'\"':C.quoteChar,j=F;if(void 0!==C.escapeChar&&(j=C.escapeChar),(\"string\"!=typeof S||-1=A)return w(!0);break}u.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:h.length,index:z}),m++}}else if(x&&0===d.length&&i.substring(z,z+a)===x){if(-1===g)return w();z=g+s,g=i.indexOf(O,z),p=i.indexOf(S,z)}else if(-1!==p&&(p=A)return w(!0)}return E();function k(e){h.push(e),f=z}function v(e){var t=0;return t=-1!==e&&(e=i.substring(m+1,e))&&\"\"===e.trim()?e.length:t}function E(e){return r||(void 0===e&&(e=i.substring(z)),d.push(e),z=n,k(d),o&&R()),w()}function b(e){z=e,k(d),d=[],g=i.indexOf(O,z)}function w(e){if(C.header&&!t&&h.length&&!L){var s=h[0],a=Object.create(null),o=new Set(s);let n=!1;for(let r=0;r{var e;return!!v.WORKERS_SUPPORTED&&(e=(()=>{var e=n.URL||n.webkitURL||null,t=r.toString();return v.BLOB_URL||(v.BLOB_URL=e.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \",\"(\",t,\")();\"],{type:\"text/javascript\"})))})(),(e=new n.Worker(e)).onmessage=g,e.id=h++,o[e.id]=e)})()).userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=q(t.step),t.chunk=q(t.chunk),t.complete=q(t.complete),t.error=q(t.error),delete t.worker,i.postMessage({input:e,config:t,workerId:i.id})},v.unparse=function(e,t){var s=!1,_=!0,m=\",\",y=\"\\r\\n\",a='\"',o=a+a,i=!1,r=null,h=!1,u=((()=>{if(\"object\"==typeof t){if(\"string\"!=typeof t.delimiter||v.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter),\"boolean\"!=typeof t.quotes&&\"function\"!=typeof t.quotes&&!Array.isArray(t.quotes)||(s=t.quotes),\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(i=t.skipEmptyLines),\"string\"==typeof t.newline&&(y=t.newline),\"string\"==typeof t.quoteChar&&(a=t.quoteChar,o=a+a),\"boolean\"==typeof t.header&&(_=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");r=t.columns}void 0!==t.escapeChar&&(o=t.escapeChar+a),t.escapeFormulae instanceof RegExp?h=t.escapeFormulae:\"boolean\"==typeof t.escapeFormulae&&t.escapeFormulae&&(h=/^[=+\\-@\\t\\r].*$/)}})(),new RegExp(U(a),\"g\"));\"string\"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return n(null,e,i);if(\"object\"==typeof e[0])return n(r||Object.keys(e[0]),e,i)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||r),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),n(e.fields||[],e.data||[],i);throw new Error(\"Unable to serialize unrecognized input\");function n(e,t,i){var r=\"\",n=(\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var i=0;i= 1e6 ? `${number(millimeters / 1e6)} km` : `${number(millimeters / 1000, 1)} m`;\n}\n\nfunction exportCsv(rows) {\n // Papa Parse owns quoting and escaping so new metric columns cannot silently\n // corrupt exports when rover names or confidence explanations contain commas.\n const csv = Papa.unparse(rows.map((rover) => ({\n ...rover,\n batteryHealth: JSON.stringify(rover.batteryHealth),\n })));\n const url = URL.createObjectURL(new Blob([csv], { type: 'text/csv;charset=utf-8' }));\n const anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = 'fleet-battery-efficiency.csv';\n anchor.click();\n URL.revokeObjectURL(url);\n}\n\nfunction Metric({ label, value, detail }) {\n return (\n
\n
{label}
\n
{value}
\n {detail ?
{detail}
: null}\n
\n );\n}\n\nfunction SortHeading({ field, sort, onSort, children }) {\n // Sorting is an explicit table interaction rather than hidden column state;\n // the arrow tells users which fleet comparison currently controls row order.\n return ;\n}\n\nfunction BatteryRegistry({ report, refresh }) {\n const socket = useSocket();\n const role = useSessionSelector((state) => state.session?.role || null);\n const canEdit = role === 'admin' || role === 'lockdown';\n const [draft, setDraft] = useState({\n roverId: report.rovers[0]?.roverId || '',\n chemistry: 'unknown',\n ratedCapacityMah: '',\n installedDate: new Date().toISOString().slice(0, 10),\n notes: '',\n });\n const [status, setStatus] = useState('');\n\n function submit(event) {\n event.preventDefault();\n setStatus('Saving…');\n socket.emit('fleetReports:replaceBattery', {\n ...draft,\n ratedCapacityMah: Number(draft.ratedCapacityMah),\n installedAt: new Date(`${draft.installedDate}T12:00:00`).getTime(),\n }, (response = {}) => {\n setStatus(response.error || `Registered ${response.battery?.batteryKey || 'battery'}`);\n if (!response.error) refresh();\n });\n }\n\n return (\n \n
\n \n \n {report.batteryRegistry.map((battery) => (\n \n \n \n \n \n ))}\n
RoverBatteryChemistryRated mAhInstalledRetiredLearned baseline mAhNotes
{battery.roverId}{battery.batteryKey}{battery.chemistry || '--'}{number(battery.ratedCapacityMah, 0)}{timestamp(battery.installedAt)}{timestamp(battery.retiredAt)}{number(battery.healthyBaselineMah, 0)}{battery.notes || '--'}
\n
\n {canEdit ? (\n
\n \n \n \n \n \n
{status}
\n
\n ) : null}\n
\n );\n}\n\nfunction FullReportContent() {\n const [rangeMs, setRangeMs] = useState(RANGE_OPTIONS[1].ms);\n const [rangeEnd, setRangeEnd] = useState(() => Date.now());\n const [query, setQuery] = useState('');\n const [sort, setSort] = useState({ key: 'name', descending: false });\n const { report, loading, error, refresh } = useFleetReport({\n since: rangeEnd - rangeMs,\n until: rangeEnd,\n includeEvents: false,\n });\n\n const rows = useMemo(() => {\n const filtered = (report?.rovers || []).filter((rover) =>\n `${rover.name} ${rover.roverId}`.toLowerCase().includes(query.trim().toLowerCase()),\n );\n return [...filtered].sort((left, right) => {\n const leftValue = sort.key.startsWith('batteryHealth.')\n ? left.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : left[sort.key];\n const rightValue = sort.key.startsWith('batteryHealth.')\n ? right.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : right[sort.key];\n const result = typeof leftValue === 'string'\n ? leftValue.localeCompare(String(rightValue ?? ''))\n : (Number(leftValue) || 0) - (Number(rightValue) || 0);\n return sort.descending ? -result : result;\n });\n }, [query, report, sort]);\n\n function sortBy(key) {\n setSort((current) => ({ key, descending: current.key === key ? !current.descending : false }));\n }\n\n return (\n <>\n \n
\n \n \n \n Back\n
\n {loading && !report ?

Loading fleet metrics…

: null}\n {error ?

{error}

: null}\n {report ? (\n
\n \n \n \n \n \n \n \n \n
\n ) : null}\n
\n\n {report ? (\n <>\n exportCsv(rows)}>Export CSV}\n bodyClassName=\"overflow-x-auto p-0.5\"\n >\n \n \n RoverState\n HealthUsable Ah\n Usable WhConfidence\n Wh/kmMoving Wh/km\n DistanceUsed Wh\n Moving WhStationary Wh\n Moving timeAverage speed\n Maximum speedCharge\n VoltageCurrent\n TemperatureLast data\n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n })}\n
{rover.name}{rover.online ? 'online' : 'offline'}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{health.measuredUsableMah == null ? '--' : number(health.measuredUsableMah / 1000, 3)}{number(health.measuredUsableWh)}{health.confidence}{rover.overallWhPerKm == null ? `need ${distance(rover.efficiencyDistanceRequiredMm)}` : number(rover.overallWhPerKm)}{number(rover.movingWhPerKm)}{distance(rover.distanceMm)}{number(rover.dischargedWh)}{number(rover.movingDischargedWh)}{number(rover.stationaryDischargedWh)}{duration(rover.movingMs)}{rover.averageSpeedMmPerSecond == null ? '--' : `${number(rover.averageSpeedMmPerSecond)} mm/s`}{rover.maximumSpeedMmPerSecond == null ? '--' : `${number(rover.maximumSpeedMmPerSecond)} mm/s`}{number(rover.latestChargeMah, 0)} mAh{number(rover.averageVoltageMv, 0)} mV{number(rover.averageCurrentMa, 0)} mA{number(rover.maximumTemperatureC, 1)} °C{timestamp(rover.lastSampleAt)}
\n \n\n \n \n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return ;\n })}\n
RoverBatteryReference mAhEstimated usable mAhObserved range floorRetentionObservationsAverage depthThroughputLatest evidenceConfidence basis
{rover.name}{health.batteryKey}{number(health.referenceMah, 0)}{number(health.measuredUsableMah, 0)}{number(health.observedUsableFloorMah, 0)}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{number(health.observationCount, 0)}{number(health.averageObservationDepthPercent, 1)}%{number(health.dischargedThroughputMah, 0)} mAh{timestamp(health.latestObservationAt)}{health.confidenceReason}
\n
\n\n {report.attention.length ? (\n \n {report.attention.map((item) => )}
RoverSeverityReason
{item.roverId}{item.severity}{item.title}
\n
\n ) : null}\n\n \n\n \n

Energy is integrated per sensor interval from OI voltage and signed current. Existing odometer distance and speed are consumed directly; reporting does not calculate a competing speed value.

\n

Capacity combines partial discharge current with packet 25 charge movement. Every usable observation contributes; deeper observations increase confidence without labeling cycles good or bad. Packet 26 is only a fixed reference.

\n

Wh/km appears after 25 m of selected-range odometer travel. Existing historical rows predate exact power integration, so their Wh fields remain zero rather than being backfilled with false precision.

\n
\n \n ) : null}\n \n );\n}\n\nexport default function FleetReportsApp() {\n useUserIdentitySync({ identitySurface: 'passive' });\n const enabled = useSessionSelector((state) => isFeatureEnabled(state, 'fleetReports'));\n const { value: pageSettings } = useSettingsNamespace('page', { backgroundTheme: DEFAULT_PAGE_THEME_KEY });\n return (\n
\n \n
\n {enabled ? : (\n \n

This server has not enabled fleet reporting.

\n Back to rover page\n
\n )}\n
\n
\n );\n}\n"],"names":["e","t","module","this","r","n","d","s","a","o","h","v","P","u","b","i","q","f","y","l","c","p","m","g","k","_","E","U","C","S","O","x","I","A","T","D","L","F","j","z","M","w","R","RANGE_OPTIONS","number","value","digits","timestamp","duration","minutes","distance","millimeters","exportCsv","rows","csv","Papa","rover","url","anchor","Metric","label","detail","jsxs","jsx","SortHeading","field","sort","onSort","children","BatteryRegistry","report","refresh","socket","useSocket","role","useSessionSelector","state","canEdit","draft","setDraft","useState","status","setStatus","submit","event","response","CardFrame","battery","FullReportContent","rangeMs","setRangeMs","rangeEnd","setRangeEnd","query","setQuery","setSort","loading","error","useFleetReport","useMemo","left","right","leftValue","rightValue","result","sortBy","key","current","Fragment","option","Link","health","item","FleetReportsApp","useUserIdentitySync","enabled","isFeatureEnabled","pageSettings","useSettingsNamespace","DEFAULT_PAGE_THEME_KEY","getPageThemeClass","SocketConnectionPill","themeGapClass"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/server/public/assets/FleetReportsApp-B3hwhwsD.js b/server/public/assets/FleetReportsApp-Bncmh1m-.js similarity index 80% rename from server/public/assets/FleetReportsApp-B3hwhwsD.js rename to server/public/assets/FleetReportsApp-Bncmh1m-.js index e4277fba..f70c9ae3 100644 --- a/server/public/assets/FleetReportsApp-B3hwhwsD.js +++ b/server/public/assets/FleetReportsApp-Bncmh1m-.js @@ -1,11 +1,11 @@ -import{g as Me,u as Ae,a as Ne,i as De,b as Ie,D as Le,j as e,c as Te,S as Fe,t as Pe,C as de,L as Oe,r as he,d as We,e as Ue}from"./index-D8T7esRs.js";var be={exports:{}};var He=be.exports,Ce;function $e(){return Ce||(Ce=1,(function(S,M){(($,v)=>{S.exports=v()})(He,function $(){var v=typeof self<"u"?self:typeof window<"u"?window:v!==void 0?v:{},B,z=!v.document&&!!v.postMessage,f=v.IS_PAPA_WORKER||!1,ie={},w=0,o={};function b(t){return t.charCodeAt(0)===65279?t.slice(1):t}function C(t){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(r){var s=je(r);s.chunkSize=parseInt(s.chunkSize),r.step||r.chunk||(s.chunkSize=null),this._handle=new pe(s),(this._handle.streamer=this)._config=s}).call(this,t),this.parseChunk=function(r,s){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview),f)v.postMessage({results:n,workerId:o.WORKER_ID,finished:i});else if(E(this._config.chunk)&&!s){if(this._config.chunk(n,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=n=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(n.data),this._completeResults.errors=this._completeResults.errors.concat(n.errors),this._completeResults.meta=n.meta),this._completed||!i||!E(this._config.complete)||n&&n.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||n&&n.meta.paused||this._nextChunk(),n}this._halted=!0},this._sendError=function(r){E(this._config.error)?this._config.error(r):f&&this._config.error&&v.postMessage({workerId:o.WORKER_ID,error:r,finished:!1})}}function re(t){var r;(t=t||{}).chunkSize||(t.chunkSize=o.RemoteChunkSize),C.call(this,t),this._nextChunk=z?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(s){this._input=s,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),z||(r.onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)),r.open(this._config.downloadRequestBody?"POST":"GET",this._input,!z),this._config.downloadRequestHeaders){var s,i=this._config.downloadRequestHeaders;for(s in i)r.setRequestHeader(s,i[s])}var n;this._config.chunkSize&&(n=this._start+this._config.chunkSize-1,r.setRequestHeader("Range","bytes="+this._start+"-"+n));try{r.send(this._config.downloadRequestBody)}catch(p){this._chunkError(p.message)}z&&r.status===0&&this._chunkError()}},this._chunkLoaded=function(){r.readyState===4&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(s=>(s=s.getResponseHeader("Content-Range"))!==null?parseInt(s.substring(s.lastIndexOf("/")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(s){s=r.statusText||s,this._sendError(new Error(s))}}function O(t){(t=t||{}).chunkSize||(t.chunkSize=o.LocalChunkSize),C.call(this,t);var r,s,i=typeof FileReader<"u";this.stream=function(n){this._input=n,s=n.slice||n.webkitSlice||n.mozSlice,i?((r=new FileReader).onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)):r=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(n.target.result)},this._chunkError=function(){this._sendError(r.error)}}function l(t){var r;C.call(this,t=t||{}),this.stream=function(s){return r=s,this._nextChunk()},this._nextChunk=function(){var s,i;if(!this._finished)return s=this._config.chunkSize,r=s?(i=r.substring(0,s),r.substring(s)):(i=r,""),this._finished=!r,this.parseChunk(i)}}function _(t){C.call(this,t=t||{});var r=[],s=!0,i=!1;this.pause=function(){C.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){C.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(n){this._input=n,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){i&&r.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),r.length?this.parseChunk(r.shift()):s=!0},this._streamData=ae(function(n){try{r.push(typeof n=="string"?n:n.toString(this._config.encoding)),s&&(s=!1,this._checkIsFinished(),this.parseChunk(r.shift()))}catch(p){this._streamError(p)}},this),this._streamError=ae(function(n){this._streamCleanUp(),this._sendError(n)},this),this._streamEnd=ae(function(){this._streamCleanUp(),i=!0,this._streamData("")},this),this._streamCleanUp=ae(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function pe(t){var r,s,i,n,p=Math.pow(2,53),L=-p,V=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,G=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,m=this,T=0,d=0,K=!1,c=!1,g=[],a={data:[],errors:[],meta:{}};function J(j){return t.skipEmptyLines==="greedy"?j.join("").trim()==="":j.length===1&&j[0].length===0}function A(){if(a&&i&&(Y("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),i=!1),t.skipEmptyLines&&(a.data=a.data.filter(function(h){return!J(h)})),P()){let h=function(D,U){D=b(D),E(t.transformHeader)&&(D=t.transformHeader(D,U)),g.push(D)};if(a)if(Array.isArray(a.data[0])){for(var j=0;P()&&j(I=>(t.dynamicTypingFunction&&t.dynamicTyping[I]===void 0&&(t.dynamicTyping[I]=t.dynamicTypingFunction(I)),(t.dynamicTyping[I]||t.dynamicTyping)===!0))(Z)?u==="true"||u==="TRUE"||u!=="false"&&u!=="FALSE"&&((I=>{if(V.test(I)&&(I=parseFloat(I),L=g.length?"__parsed_extra":g[R]:N,y=t.transform?t.transform(y,N):y);N==="__parsed_extra"?(U[N]=U[N]||[],U[N].push(y)):U[N]=y}return t.header&&(R>g.length?Y("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+R,d+D):Rt.preview?s.abort():(a.data=a.data[0],n(a,m))))}),this.parse=function(j,x,F){var h=t.quoteChar||'"',h=(t.newline||(t.newline=this.guessLineEndings(j,h)),i=!1,t.delimiter?E(t.delimiter)&&(t.delimiter=t.delimiter(j),a.meta.delimiter=t.delimiter):((h=((D,U,R,N,y)=>{var Z,u,I,le;y=y||[","," ","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var ue=0;ue{S.exports=b()})(He,function $(){var b=typeof self<"u"?self:typeof window<"u"?window:b!==void 0?b:{},B,z=!b.document&&!!b.postMessage,f=b.IS_PAPA_WORKER||!1,ie={},w=0,o={};function j(t){return t.charCodeAt(0)===65279?t.slice(1):t}function C(t){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(r){var s=je(r);s.chunkSize=parseInt(s.chunkSize),r.step||r.chunk||(s.chunkSize=null),this._handle=new pe(s),(this._handle.streamer=this)._config=s}).call(this,t),this.parseChunk=function(r,s){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview),f)b.postMessage({results:n,workerId:o.WORKER_ID,finished:i});else if(E(this._config.chunk)&&!s){if(this._config.chunk(n,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=n=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(n.data),this._completeResults.errors=this._completeResults.errors.concat(n.errors),this._completeResults.meta=n.meta),this._completed||!i||!E(this._config.complete)||n&&n.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||n&&n.meta.paused||this._nextChunk(),n}this._halted=!0},this._sendError=function(r){E(this._config.error)?this._config.error(r):f&&this._config.error&&b.postMessage({workerId:o.WORKER_ID,error:r,finished:!1})}}function re(t){var r;(t=t||{}).chunkSize||(t.chunkSize=o.RemoteChunkSize),C.call(this,t),this._nextChunk=z?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(s){this._input=s,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),z||(r.onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)),r.open(this._config.downloadRequestBody?"POST":"GET",this._input,!z),this._config.downloadRequestHeaders){var s,i=this._config.downloadRequestHeaders;for(s in i)r.setRequestHeader(s,i[s])}var n;this._config.chunkSize&&(n=this._start+this._config.chunkSize-1,r.setRequestHeader("Range","bytes="+this._start+"-"+n));try{r.send(this._config.downloadRequestBody)}catch(p){this._chunkError(p.message)}z&&r.status===0&&this._chunkError()}},this._chunkLoaded=function(){r.readyState===4&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(s=>(s=s.getResponseHeader("Content-Range"))!==null?parseInt(s.substring(s.lastIndexOf("/")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(s){s=r.statusText||s,this._sendError(new Error(s))}}function O(t){(t=t||{}).chunkSize||(t.chunkSize=o.LocalChunkSize),C.call(this,t);var r,s,i=typeof FileReader<"u";this.stream=function(n){this._input=n,s=n.slice||n.webkitSlice||n.mozSlice,i?((r=new FileReader).onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)):r=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(n.target.result)},this._chunkError=function(){this._sendError(r.error)}}function l(t){var r;C.call(this,t=t||{}),this.stream=function(s){return r=s,this._nextChunk()},this._nextChunk=function(){var s,i;if(!this._finished)return s=this._config.chunkSize,r=s?(i=r.substring(0,s),r.substring(s)):(i=r,""),this._finished=!r,this.parseChunk(i)}}function v(t){C.call(this,t=t||{});var r=[],s=!0,i=!1;this.pause=function(){C.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){C.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(n){this._input=n,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){i&&r.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),r.length?this.parseChunk(r.shift()):s=!0},this._streamData=ae(function(n){try{r.push(typeof n=="string"?n:n.toString(this._config.encoding)),s&&(s=!1,this._checkIsFinished(),this.parseChunk(r.shift()))}catch(p){this._streamError(p)}},this),this._streamError=ae(function(n){this._streamCleanUp(),this._sendError(n)},this),this._streamEnd=ae(function(){this._streamCleanUp(),i=!0,this._streamData("")},this),this._streamCleanUp=ae(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function pe(t){var r,s,i,n,p=Math.pow(2,53),L=-p,V=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,G=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,m=this,T=0,d=0,K=!1,c=!1,g=[],a={data:[],errors:[],meta:{}};function J(_){return t.skipEmptyLines==="greedy"?_.join("").trim()==="":_.length===1&&_[0].length===0}function A(){if(a&&i&&(Y("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),i=!1),t.skipEmptyLines&&(a.data=a.data.filter(function(h){return!J(h)})),P()){let h=function(D,U){D=j(D),E(t.transformHeader)&&(D=t.transformHeader(D,U)),g.push(D)};if(a)if(Array.isArray(a.data[0])){for(var _=0;P()&&_(I=>(t.dynamicTypingFunction&&t.dynamicTyping[I]===void 0&&(t.dynamicTyping[I]=t.dynamicTypingFunction(I)),(t.dynamicTyping[I]||t.dynamicTyping)===!0))(Z)?u==="true"||u==="TRUE"||u!=="false"&&u!=="FALSE"&&((I=>{if(V.test(I)&&(I=parseFloat(I),L=g.length?"__parsed_extra":g[R]:N,y=t.transform?t.transform(y,N):y);N==="__parsed_extra"?(U[N]=U[N]||[],U[N].push(y)):U[N]=y}return t.header&&(R>g.length?Y("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+R,d+D):Rt.preview?s.abort():(a.data=a.data[0],n(a,m))))}),this.parse=function(_,x,F){var h=t.quoteChar||'"',h=(t.newline||(t.newline=this.guessLineEndings(_,h)),i=!1,t.delimiter?E(t.delimiter)&&(t.delimiter=t.delimiter(_),a.meta.delimiter=t.delimiter):((h=((D,U,R,N,y)=>{var Z,u,I,le;y=y||[","," ","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var ue=0;ue=F.length/2?`\r `:"\r"}}function se(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ce(t){var r=(t=t||{}).delimiter,s=t.newline,i=t.comments,n=t.step,p=t.preview,L=t.fastMode,V=null,G=!1,m=t.quoteChar==null?'"':t.quoteChar,T=m;if(t.escapeChar!==void 0&&(T=t.escapeChar),(typeof r!="string"||-1=p)return q(!0);break}F.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:x.length,index:d}),u++}}else if(i&&h.length===0&&c.substring(d,d+Y)===i){if(y===-1)return q();d=y+P,y=c.indexOf(s,d),N=c.indexOf(r,d)}else if(N!==-1&&(N=p)return q(!0)}return X();function le(H){x.push(H),D=d}function ue(H){var Q=0;return Q=H!==-1&&(H=c.substring(u+1,H))&&H.trim()===""?H.length:Q}function X(H){return a||(H===void 0&&(H=c.substring(d)),h.push(H),d=J,le(h),j&&ee()),q()}function me(H){d=H,le(h),h=[],y=c.indexOf(s,d)}function q(H){if(t.header&&!g&&x.length&&!G){var Q=x[0],ne=Object.create(null),_e=new Set(Q);let we=!1;for(let fe=0;fe{var i;return!!o.WORKERS_SUPPORTED&&(i=(()=>{var n=v.URL||v.webkitURL||null,p=$.toString();return o.BLOB_URL||(o.BLOB_URL=n.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",p,")();"],{type:"text/javascript"})))})(),(i=new v.Worker(i)).onmessage=ye,i.id=w++,ie[i.id]=i)})()).userStep=r.step,s.userChunk=r.chunk,s.userComplete=r.complete,s.userError=r.error,r.step=E(r.step),r.chunk=E(r.chunk),r.complete=E(r.complete),r.error=E(r.error),delete r.worker,s.postMessage({input:t,config:r,workerId:s.id})},o.unparse=function(t,r){var s=!1,i=!0,n=",",p=`\r -`,L='"',V=L+L,G=!1,m=null,T=!1,d=((()=>{if(typeof r=="object"){if(typeof r.delimiter!="string"||o.BAD_DELIMITERS.filter(function(g){return r.delimiter.indexOf(g)!==-1}).length||(n=r.delimiter),typeof r.quotes!="boolean"&&typeof r.quotes!="function"&&!Array.isArray(r.quotes)||(s=r.quotes),typeof r.skipEmptyLines!="boolean"&&typeof r.skipEmptyLines!="string"||(G=r.skipEmptyLines),typeof r.newline=="string"&&(p=r.newline),typeof r.quoteChar=="string"&&(L=r.quoteChar,V=L+L),typeof r.header=="boolean"&&(i=r.header),Array.isArray(r.columns)){if(r.columns.length===0)throw new Error("Option columns is empty");m=r.columns}r.escapeChar!==void 0&&(V=r.escapeChar+L),r.escapeFormulae instanceof RegExp?T=r.escapeFormulae:typeof r.escapeFormulae=="boolean"&&r.escapeFormulae&&(T=/^[=+\-@\t\r].*$/)}})(),new RegExp(se(L),"g"));if(typeof t=="string"&&(t=JSON.parse(t)),Array.isArray(t)){if(!t.length||Array.isArray(t[0]))return K(null,t,G);if(typeof t[0]=="object")return K(m||Object.keys(t[0]),t,G)}else if(typeof t=="object")return typeof t.data=="string"&&(t.data=JSON.parse(t.data)),Array.isArray(t.data)&&(t.fields||(t.fields=t.meta&&t.meta.fields||m),t.fields||(t.fields=Array.isArray(t.data[0])?t.fields:typeof t.data[0]=="object"?Object.keys(t.data[0]):[]),Array.isArray(t.data[0])||typeof t.data[0]=="object"||(t.data=[t.data])),K(t.fields||[],t.data||[],G);throw new Error("Unable to serialize unrecognized input");function K(g,a,J){var A="",P=(typeof g=="string"&&(g=JSON.parse(g)),typeof a=="string"&&(a=JSON.parse(a)),Array.isArray(g)&&0{for(var x=0;x=1e6?`${k(M/1e6)} km`:`${k(M/1e3,1)} m`}function Be(S){const M=Ke.unparse(S.map(B=>({...B,batteryHealth:JSON.stringify(B.batteryHealth)}))),$=URL.createObjectURL(new Blob([M],{type:"text/csv;charset=utf-8"})),v=document.createElement("a");v.href=$,v.download="fleet-battery-efficiency.csv",v.click(),URL.revokeObjectURL($)}function oe({label:S,value:M,detail:$}){return e.jsxs("div",{className:"surface min-w-0 px-1 py-0.5",children:[e.jsx("div",{className:"text-[0.68rem] text-slate-400",children:S}),e.jsx("div",{className:"truncate text-sm font-semibold text-slate-100",children:M}),$?e.jsx("div",{className:"truncate text-[0.68rem] text-slate-500",children:$}):null]})}function W({field:S,sort:M,onSort:$,children:v}){return e.jsx("th",{children:e.jsxs("button",{type:"button",className:"whitespace-nowrap text-left",onClick:()=>$(S),children:[v,M.key===S?M.descending?" ↓":" ↑":""]})})}function Qe({report:S,refresh:M}){const $=Ue(),v=Ne(b=>b.session?.role||null),B=v==="admin"||v==="lockdown",[z,f]=he.useState({roverId:S.rovers[0]?.roverId||"",chemistry:"unknown",ratedCapacityMah:"",installedDate:new Date().toISOString().slice(0,10),notes:""}),[ie,w]=he.useState("");function o(b){b.preventDefault(),w("Saving…"),$.emit("fleetReports:replaceBattery",{...z,ratedCapacityMah:Number(z.ratedCapacityMah),installedAt:new Date(`${z.installedDate}T12:00:00`).getTime()},(C={})=>{w(C.error||`Registered ${C.battery?.batteryKey||"battery"}`),C.error||M()})}return e.jsxs(de,{title:"Battery identity and baselines",meta:`${S.batteryRegistry.length} records`,bodyClassName:"space-y-0.5 p-0.5",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Battery"}),e.jsx("th",{children:"Chemistry"}),e.jsx("th",{children:"Rated mAh"}),e.jsx("th",{children:"Installed"}),e.jsx("th",{children:"Retired"}),e.jsx("th",{children:"Learned baseline mAh"}),e.jsx("th",{children:"Notes"})]})}),e.jsx("tbody",{children:S.batteryRegistry.map(b=>e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{children:b.roverId}),e.jsx("td",{children:b.batteryKey}),e.jsx("td",{children:b.chemistry||"--"}),e.jsx("td",{children:k(b.ratedCapacityMah,0)}),e.jsx("td",{children:xe(b.installedAt)}),e.jsx("td",{children:xe(b.retiredAt)}),e.jsx("td",{children:k(b.healthyBaselineMah,0)}),e.jsx("td",{children:b.notes||"--"})]},b.batteryKey))})]})}),B?e.jsxs("form",{className:"surface grid gap-0.5 p-1 text-xs md:grid-cols-2 xl:grid-cols-6",onSubmit:o,children:[e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Rover"}),e.jsx("select",{className:"w-full bg-neutral-800 p-0.5",value:z.roverId,onChange:b=>f(C=>({...C,roverId:b.target.value})),children:S.rovers.map(b=>e.jsx("option",{value:b.roverId,children:b.name},b.roverId))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Chemistry"}),e.jsxs("select",{className:"w-full bg-neutral-800 p-0.5",value:z.chemistry,onChange:b=>f(C=>({...C,chemistry:b.target.value})),children:[e.jsx("option",{value:"unknown",children:"Unknown"}),e.jsx("option",{value:"NiMH",children:"NiMH"}),e.jsx("option",{value:"Li-ion",children:"Li-ion"})]})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Rated capacity mAh"}),e.jsx("input",{required:!0,min:"1",max:"65535",type:"number",className:"w-full bg-neutral-800 p-0.5",value:z.ratedCapacityMah,onChange:b=>f(C=>({...C,ratedCapacityMah:b.target.value}))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Installed"}),e.jsx("input",{required:!0,type:"date",className:"w-full bg-neutral-800 p-0.5",value:z.installedDate,onChange:b=>f(C=>({...C,installedDate:b.target.value}))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Notes"}),e.jsx("input",{className:"w-full bg-neutral-800 p-0.5",value:z.notes,onChange:b=>f(C=>({...C,notes:b.target.value}))})]}),e.jsxs("div",{className:"flex items-end gap-0.5",children:[e.jsx("button",{type:"submit",className:"button-dark px-1 py-0.5",children:"Install or replace"}),e.jsx("span",{className:"text-slate-400",children:ie})]})]}):null]})}function Ve(){const[S,M]=he.useState(Ee[1].ms),[$,v]=he.useState(()=>Date.now()),[B,z]=he.useState(""),[f,ie]=he.useState({key:"name",descending:!1}),{report:w,loading:o,error:b,refresh:C}=We({since:$-S,until:$,includeEvents:!1}),re=he.useMemo(()=>[...(w?.rovers||[]).filter(_=>`${_.name} ${_.roverId}`.toLowerCase().includes(B.trim().toLowerCase()))].sort((_,pe)=>{const se=f.key.startsWith("batteryHealth.")?_.batteryHealth?.[f.key.slice(14)]:_[f.key],ce=f.key.startsWith("batteryHealth.")?pe.batteryHealth?.[f.key.slice(14)]:pe[f.key],ye=typeof se=="string"?se.localeCompare(String(ce??"")):(Number(se)||0)-(Number(ce)||0);return f.descending?-ye:ye}),[B,w,f]);function O(l){ie(_=>({key:l,descending:_.key===l?!_.descending:!1}))}return e.jsxs(e.Fragment,{children:[e.jsxs(de,{title:"Fleet battery health and efficiency",meta:w?xe(w.generatedAt):"Loading",bodyClassName:"space-y-0.5 p-0.5",children:[e.jsxs("div",{className:"surface flex flex-wrap items-end gap-0.5 p-0.5 text-xs",children:[e.jsxs("label",{children:[e.jsx("span",{className:"mr-0.5 text-slate-400",children:"Range"}),e.jsx("select",{className:"bg-neutral-800 p-0.5",value:S,onChange:l=>M(Number(l.target.value)),children:Ee.map(l=>e.jsx("option",{value:l.ms,children:l.label},l.ms))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"mr-0.5 text-slate-400",children:"Find rover"}),e.jsx("input",{className:"bg-neutral-800 p-0.5",value:B,onChange:l=>z(l.target.value)})]}),e.jsx("button",{type:"button",className:"button-dark px-1 py-0.5",onClick:()=>{v(Date.now()),C()},children:"Refresh"}),e.jsx(Oe,{className:"button-dark px-1 py-0.5",to:"/",children:"Back"})]}),o&&!w?e.jsx("p",{className:"text-slate-400",children:"Loading fleet metrics…"}):null,b?e.jsx("p",{className:"text-red-300",children:b}):null,w?e.jsxs("div",{className:"grid grid-cols-2 gap-0.5 md:grid-cols-4 xl:grid-cols-8",children:[e.jsx(oe,{label:"Rovers online",value:`${w.totals.onlineRoverCount}/${w.totals.roverCount}`}),e.jsx(oe,{label:"Distance",value:ve(w.totals.distanceMm)}),e.jsx(oe,{label:"Energy used",value:`${k(w.totals.dischargedWh)} Wh`}),e.jsx(oe,{label:"Fleet Wh/km",value:w.totals.overallWhPerKm==null?"--":k(w.totals.overallWhPerKm)}),e.jsx(oe,{label:"Moving Wh/km",value:w.totals.movingWhPerKm==null?"--":k(w.totals.movingWhPerKm)}),e.jsx(oe,{label:"Moving energy",value:`${k(w.totals.movingDischargedWh)} Wh`}),e.jsx(oe,{label:"Stationary energy",value:`${k(w.totals.stationaryDischargedWh)} Wh`}),e.jsx(oe,{label:"Attention",value:k(w.totals.attentionCount,0)})]}):null]}),w?e.jsxs(e.Fragment,{children:[e.jsx(de,{title:"All rovers",meta:`${re.length} visible`,actions:e.jsx("button",{type:"button",className:"button-dark px-1 py-0.25 text-xs",onClick:()=>Be(re),children:"Export CSV"}),bodyClassName:"overflow-x-auto p-0.5",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"sticky top-0 bg-neutral-900 text-slate-400",children:e.jsxs("tr",{children:[e.jsx(W,{field:"name",sort:f,onSort:O,children:"Rover"}),e.jsx(W,{field:"online",sort:f,onSort:O,children:"State"}),e.jsx(W,{field:"batteryHealth.capacityRetentionPercent",sort:f,onSort:O,children:"Health"}),e.jsx(W,{field:"batteryHealth.measuredUsableMah",sort:f,onSort:O,children:"Usable Ah"}),e.jsx(W,{field:"batteryHealth.measuredUsableWh",sort:f,onSort:O,children:"Usable Wh"}),e.jsx(W,{field:"batteryHealth.confidence",sort:f,onSort:O,children:"Confidence"}),e.jsx(W,{field:"overallWhPerKm",sort:f,onSort:O,children:"Wh/km"}),e.jsx(W,{field:"movingWhPerKm",sort:f,onSort:O,children:"Moving Wh/km"}),e.jsx(W,{field:"distanceMm",sort:f,onSort:O,children:"Distance"}),e.jsx(W,{field:"dischargedWh",sort:f,onSort:O,children:"Used Wh"}),e.jsx(W,{field:"movingDischargedWh",sort:f,onSort:O,children:"Moving Wh"}),e.jsx(W,{field:"stationaryDischargedWh",sort:f,onSort:O,children:"Stationary Wh"}),e.jsx(W,{field:"movingMs",sort:f,onSort:O,children:"Moving time"}),e.jsx(W,{field:"averageSpeedMmPerSecond",sort:f,onSort:O,children:"Average speed"}),e.jsx(W,{field:"maximumSpeedMmPerSecond",sort:f,onSort:O,children:"Maximum speed"}),e.jsx(W,{field:"latestChargeMah",sort:f,onSort:O,children:"Charge"}),e.jsx(W,{field:"averageVoltageMv",sort:f,onSort:O,children:"Voltage"}),e.jsx(W,{field:"averageCurrentMa",sort:f,onSort:O,children:"Current"}),e.jsx(W,{field:"maximumTemperatureC",sort:f,onSort:O,children:"Temperature"}),e.jsx(W,{field:"lastSampleAt",sort:f,onSort:O,children:"Last data"})]})}),e.jsx("tbody",{children:re.map(l=>{const _=l.batteryHealth;return e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{className:"sticky left-0 bg-neutral-900 font-semibold",children:l.name}),e.jsx("td",{children:l.online?"online":"offline"}),e.jsx("td",{children:_.capacityRetentionPercent==null?"--":`${k(_.capacityRetentionPercent,1)}%`}),e.jsx("td",{children:_.measuredUsableMah==null?"--":k(_.measuredUsableMah/1e3,3)}),e.jsx("td",{children:k(_.measuredUsableWh)}),e.jsx("td",{title:_.confidenceReason,children:_.confidence}),e.jsx("td",{children:l.overallWhPerKm==null?`need ${ve(l.efficiencyDistanceRequiredMm)}`:k(l.overallWhPerKm)}),e.jsx("td",{children:k(l.movingWhPerKm)}),e.jsx("td",{children:ve(l.distanceMm)}),e.jsx("td",{children:k(l.dischargedWh)}),e.jsx("td",{children:k(l.movingDischargedWh)}),e.jsx("td",{children:k(l.stationaryDischargedWh)}),e.jsx("td",{children:qe(l.movingMs)}),e.jsx("td",{children:l.averageSpeedMmPerSecond==null?"--":`${k(l.averageSpeedMmPerSecond)} mm/s`}),e.jsx("td",{children:l.maximumSpeedMmPerSecond==null?"--":`${k(l.maximumSpeedMmPerSecond)} mm/s`}),e.jsxs("td",{children:[k(l.latestChargeMah,0)," mAh"]}),e.jsxs("td",{children:[k(l.averageVoltageMv,0)," mV"]}),e.jsxs("td",{children:[k(l.averageCurrentMa,0)," mA"]}),e.jsxs("td",{children:[k(l.maximumTemperatureC,1)," °C"]}),e.jsx("td",{children:xe(l.lastSampleAt)})]},l.roverId)})})]})}),e.jsx(de,{title:"Battery-health evidence",meta:"All rovers",bodyClassName:"overflow-x-auto p-0.5",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Battery"}),e.jsx("th",{children:"Reference mAh"}),e.jsx("th",{children:"Estimated usable mAh"}),e.jsx("th",{children:"Observed range floor"}),e.jsx("th",{children:"Retention"}),e.jsx("th",{children:"Observations"}),e.jsx("th",{children:"Average depth"}),e.jsx("th",{children:"Throughput"}),e.jsx("th",{children:"Latest evidence"}),e.jsx("th",{children:"Confidence basis"})]})}),e.jsx("tbody",{children:re.map(l=>{const _=l.batteryHealth;return e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{children:l.name}),e.jsx("td",{children:_.batteryKey}),e.jsx("td",{children:k(_.referenceMah,0)}),e.jsx("td",{children:k(_.measuredUsableMah,0)}),e.jsx("td",{children:k(_.observedUsableFloorMah,0)}),e.jsx("td",{children:_.capacityRetentionPercent==null?"--":`${k(_.capacityRetentionPercent,1)}%`}),e.jsx("td",{children:k(_.observationCount,0)}),e.jsxs("td",{children:[k(_.averageObservationDepthPercent,1),"%"]}),e.jsxs("td",{children:[k(_.dischargedThroughputMah,0)," mAh"]}),e.jsx("td",{children:xe(_.latestObservationAt)}),e.jsx("td",{children:_.confidenceReason})]},l.roverId)})})]})}),w.attention.length?e.jsx(de,{title:"Attention",meta:w.attention.length,bodyClassName:"p-0.5 text-xs",children:e.jsxs("table",{className:"w-full text-left",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Severity"}),e.jsx("th",{children:"Reason"})]})}),e.jsx("tbody",{children:w.attention.map(l=>e.jsxs("tr",{className:"border-t border-neutral-700/70",children:[e.jsx("td",{children:l.roverId}),e.jsx("td",{children:l.severity}),e.jsx("td",{children:l.title})]},l.key))})]})}):null,e.jsx(Qe,{report:w,refresh:C}),e.jsxs(de,{title:"Methodology",bodyClassName:"space-y-0.5 p-1 text-xs text-slate-300",children:[e.jsx("p",{children:"Energy is integrated per sensor interval from OI voltage and signed current. Existing odometer distance and speed are consumed directly; reporting does not calculate a competing speed value."}),e.jsx("p",{children:"Capacity combines partial discharge current with packet 25 charge movement. Every usable observation contributes; deeper observations increase confidence without labeling cycles good or bad. Packet 26 is only a fixed reference."}),e.jsx("p",{children:"Wh/km appears after 25 m of selected-range odometer travel. Existing historical rows predate exact power integration, so their Wh fields remain zero rather than being backfilled with false precision."})]})]}):null]})}function Ge(){Ae({identitySurface:"passive"});const S=Ne($=>De($,"fleetReports")),{value:M}=Ie("page",{backgroundTheme:Le});return e.jsxs("div",{className:`${Te(M?.backgroundTheme)} min-h-screen text-slate-100`,children:[e.jsx(Fe,{}),e.jsx("main",{className:`mx-auto flex min-h-screen w-full max-w-[120rem] flex-col ${Pe} p-1`,children:S?e.jsx(Ve,{}):e.jsxs(de,{title:"Fleet reports unavailable",bodyClassName:"space-y-0.5 p-1 text-sm text-slate-300",children:[e.jsx("p",{children:"This server has not enabled fleet reporting."}),e.jsx(Oe,{className:"button-dark inline-block px-1 py-0.5 text-xs",to:"/",children:"Back to rover page"})]})})]})}export{Ge as default}; -//# sourceMappingURL=FleetReportsApp-B3hwhwsD.js.map +`);var d=0,K=!1;this.parse=function(c,g,a){if(typeof c!="string")throw new Error("Input must be a string");var J=c.length,A=r.length,P=s.length,Y=i.length,_=E(n),x=[],F=[],h=[],D=d=0;if(!c)return q();if(L||L!==!1&&c.indexOf(m)===-1){for(var U=c.split(s),R=0;R=p)return q(!0);break}F.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:x.length,index:d}),u++}}else if(i&&h.length===0&&c.substring(d,d+Y)===i){if(y===-1)return q();d=y+P,y=c.indexOf(s,d),N=c.indexOf(r,d)}else if(N!==-1&&(N=p)return q(!0)}return X();function le(H){x.push(H),D=d}function ue(H){var Q=0;return Q=H!==-1&&(H=c.substring(u+1,H))&&H.trim()===""?H.length:Q}function X(H){return a||(H===void 0&&(H=c.substring(d)),h.push(H),d=J,le(h),_&&ee()),q()}function me(H){d=H,le(h),h=[],y=c.indexOf(s,d)}function q(H){if(t.header&&!g&&x.length&&!G){var Q=x[0],ne=Object.create(null),_e=new Set(Q);let we=!1;for(let fe=0;fe{var i;return!!o.WORKERS_SUPPORTED&&(i=(()=>{var n=b.URL||b.webkitURL||null,p=$.toString();return o.BLOB_URL||(o.BLOB_URL=n.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",p,")();"],{type:"text/javascript"})))})(),(i=new b.Worker(i)).onmessage=ye,i.id=w++,ie[i.id]=i)})()).userStep=r.step,s.userChunk=r.chunk,s.userComplete=r.complete,s.userError=r.error,r.step=E(r.step),r.chunk=E(r.chunk),r.complete=E(r.complete),r.error=E(r.error),delete r.worker,s.postMessage({input:t,config:r,workerId:s.id})},o.unparse=function(t,r){var s=!1,i=!0,n=",",p=`\r +`,L='"',V=L+L,G=!1,m=null,T=!1,d=((()=>{if(typeof r=="object"){if(typeof r.delimiter!="string"||o.BAD_DELIMITERS.filter(function(g){return r.delimiter.indexOf(g)!==-1}).length||(n=r.delimiter),typeof r.quotes!="boolean"&&typeof r.quotes!="function"&&!Array.isArray(r.quotes)||(s=r.quotes),typeof r.skipEmptyLines!="boolean"&&typeof r.skipEmptyLines!="string"||(G=r.skipEmptyLines),typeof r.newline=="string"&&(p=r.newline),typeof r.quoteChar=="string"&&(L=r.quoteChar,V=L+L),typeof r.header=="boolean"&&(i=r.header),Array.isArray(r.columns)){if(r.columns.length===0)throw new Error("Option columns is empty");m=r.columns}r.escapeChar!==void 0&&(V=r.escapeChar+L),r.escapeFormulae instanceof RegExp?T=r.escapeFormulae:typeof r.escapeFormulae=="boolean"&&r.escapeFormulae&&(T=/^[=+\-@\t\r].*$/)}})(),new RegExp(se(L),"g"));if(typeof t=="string"&&(t=JSON.parse(t)),Array.isArray(t)){if(!t.length||Array.isArray(t[0]))return K(null,t,G);if(typeof t[0]=="object")return K(m||Object.keys(t[0]),t,G)}else if(typeof t=="object")return typeof t.data=="string"&&(t.data=JSON.parse(t.data)),Array.isArray(t.data)&&(t.fields||(t.fields=t.meta&&t.meta.fields||m),t.fields||(t.fields=Array.isArray(t.data[0])?t.fields:typeof t.data[0]=="object"?Object.keys(t.data[0]):[]),Array.isArray(t.data[0])||typeof t.data[0]=="object"||(t.data=[t.data])),K(t.fields||[],t.data||[],G);throw new Error("Unable to serialize unrecognized input");function K(g,a,J){var A="",P=(typeof g=="string"&&(g=JSON.parse(g)),typeof a=="string"&&(a=JSON.parse(a)),Array.isArray(g)&&0{for(var x=0;x<_.length;x++)if(-1=1e6?`${k(M/1e6)} km`:`${k(M/1e3,1)} m`}function Be(S){const M=Ke.unparse(S.map(B=>({...B,batteryHealth:JSON.stringify(B.batteryHealth)}))),$=URL.createObjectURL(new Blob([M],{type:"text/csv;charset=utf-8"})),b=document.createElement("a");b.href=$,b.download="fleet-battery-efficiency.csv",b.click(),URL.revokeObjectURL($)}function oe({label:S,value:M,detail:$}){return e.jsxs("div",{className:"surface min-w-0 px-1 py-0.5",children:[e.jsx("div",{className:"text-[0.68rem] text-slate-400",children:S}),e.jsx("div",{className:"truncate text-sm font-semibold text-slate-100",children:M}),$?e.jsx("div",{className:"truncate text-[0.68rem] text-slate-500",children:$}):null]})}function W({field:S,sort:M,onSort:$,children:b}){return e.jsx("th",{children:e.jsxs("button",{type:"button",className:"whitespace-nowrap text-left",onClick:()=>$(S),children:[b,M.key===S?M.descending?" ↓":" ↑":""]})})}function Qe({report:S,refresh:M}){const $=Ue(),b=Ne(j=>j.session?.role||null),B=b==="admin"||b==="lockdown",[z,f]=he.useState({roverId:S.rovers[0]?.roverId||"",chemistry:"unknown",ratedCapacityMah:"",installedDate:new Date().toISOString().slice(0,10),notes:""}),[ie,w]=he.useState("");function o(j){j.preventDefault(),w("Saving…"),$.emit("fleetReports:replaceBattery",{...z,ratedCapacityMah:Number(z.ratedCapacityMah),installedAt:new Date(`${z.installedDate}T12:00:00`).getTime()},(C={})=>{w(C.error||`Registered ${C.battery?.batteryKey||"battery"}`),C.error||M()})}return e.jsxs(de,{title:"Battery identity and baselines",meta:`${S.batteryRegistry.length} records`,bodyClassName:"space-y-0.5 p-0.5",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Battery"}),e.jsx("th",{children:"Chemistry"}),e.jsx("th",{children:"Rated mAh"}),e.jsx("th",{children:"Installed"}),e.jsx("th",{children:"Retired"}),e.jsx("th",{children:"Learned baseline mAh"}),e.jsx("th",{children:"Notes"})]})}),e.jsx("tbody",{children:S.batteryRegistry.map(j=>e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{children:j.roverId}),e.jsx("td",{children:j.batteryKey}),e.jsx("td",{children:j.chemistry||"--"}),e.jsx("td",{children:k(j.ratedCapacityMah,0)}),e.jsx("td",{children:xe(j.installedAt)}),e.jsx("td",{children:xe(j.retiredAt)}),e.jsx("td",{children:k(j.healthyBaselineMah,0)}),e.jsx("td",{children:j.notes||"--"})]},j.batteryKey))})]})}),B?e.jsxs("form",{className:"surface grid gap-0.5 p-1 text-xs md:grid-cols-2 xl:grid-cols-6",onSubmit:o,children:[e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Rover"}),e.jsx("select",{className:"w-full bg-neutral-800 p-0.5",value:z.roverId,onChange:j=>f(C=>({...C,roverId:j.target.value})),children:S.rovers.map(j=>e.jsx("option",{value:j.roverId,children:j.name},j.roverId))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Chemistry"}),e.jsxs("select",{className:"w-full bg-neutral-800 p-0.5",value:z.chemistry,onChange:j=>f(C=>({...C,chemistry:j.target.value})),children:[e.jsx("option",{value:"unknown",children:"Unknown"}),e.jsx("option",{value:"NiMH",children:"NiMH"}),e.jsx("option",{value:"Li-ion",children:"Li-ion"})]})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Rated capacity mAh"}),e.jsx("input",{required:!0,min:"1",max:"65535",type:"number",className:"w-full bg-neutral-800 p-0.5",value:z.ratedCapacityMah,onChange:j=>f(C=>({...C,ratedCapacityMah:j.target.value}))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Installed"}),e.jsx("input",{required:!0,type:"date",className:"w-full bg-neutral-800 p-0.5",value:z.installedDate,onChange:j=>f(C=>({...C,installedDate:j.target.value}))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Notes"}),e.jsx("input",{className:"w-full bg-neutral-800 p-0.5",value:z.notes,onChange:j=>f(C=>({...C,notes:j.target.value}))})]}),e.jsxs("div",{className:"flex items-end gap-0.5",children:[e.jsx("button",{type:"submit",className:"button-dark px-1 py-0.5",children:"Install or replace"}),e.jsx("span",{className:"text-slate-400",children:ie})]})]}):null]})}function Ve(){const[S,M]=he.useState(Ee[1].ms),[$,b]=he.useState(()=>Date.now()),[B,z]=he.useState(""),[f,ie]=he.useState({key:"name",descending:!1}),{report:w,loading:o,error:j,refresh:C}=We({since:$-S,until:$,includeEvents:!1}),re=he.useMemo(()=>[...(w?.rovers||[]).filter(v=>`${v.name} ${v.roverId}`.toLowerCase().includes(B.trim().toLowerCase()))].sort((v,pe)=>{const se=f.key.startsWith("batteryHealth.")?v.batteryHealth?.[f.key.slice(14)]:v[f.key],ce=f.key.startsWith("batteryHealth.")?pe.batteryHealth?.[f.key.slice(14)]:pe[f.key],ye=typeof se=="string"?se.localeCompare(String(ce??"")):(Number(se)||0)-(Number(ce)||0);return f.descending?-ye:ye}),[B,w,f]);function O(l){ie(v=>({key:l,descending:v.key===l?!v.descending:!1}))}return e.jsxs(e.Fragment,{children:[e.jsxs(de,{title:"Fleet battery health and efficiency",meta:w?xe(w.generatedAt):"Loading",bodyClassName:"space-y-0.5 p-0.5",children:[e.jsxs("div",{className:"surface flex flex-wrap items-end gap-0.5 p-0.5 text-xs",children:[e.jsxs("label",{children:[e.jsx("span",{className:"mr-0.5 text-slate-400",children:"Range"}),e.jsx("select",{className:"bg-neutral-800 p-0.5",value:S,onChange:l=>M(Number(l.target.value)),children:Ee.map(l=>e.jsx("option",{value:l.ms,children:l.label},l.ms))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"mr-0.5 text-slate-400",children:"Find rover"}),e.jsx("input",{className:"bg-neutral-800 p-0.5",value:B,onChange:l=>z(l.target.value)})]}),e.jsx("button",{type:"button",className:"button-dark px-1 py-0.5",onClick:()=>{b(Date.now()),C()},children:"Refresh"}),e.jsx(Oe,{className:"button-dark px-1 py-0.5",to:"/",children:"Back"})]}),o&&!w?e.jsx("p",{className:"text-slate-400",children:"Loading fleet metrics…"}):null,j?e.jsx("p",{className:"text-red-300",children:j}):null,w?e.jsxs("div",{className:"grid grid-cols-2 gap-0.5 md:grid-cols-4 xl:grid-cols-8",children:[e.jsx(oe,{label:"Rovers online",value:`${w.totals.onlineRoverCount}/${w.totals.roverCount}`}),e.jsx(oe,{label:"Distance",value:ve(w.totals.distanceMm)}),e.jsx(oe,{label:"Energy used",value:`${k(w.totals.dischargedWh)} Wh`}),e.jsx(oe,{label:"Fleet Wh/km",value:w.totals.overallWhPerKm==null?"--":k(w.totals.overallWhPerKm)}),e.jsx(oe,{label:"Moving Wh/km",value:w.totals.movingWhPerKm==null?"--":k(w.totals.movingWhPerKm)}),e.jsx(oe,{label:"Moving energy",value:`${k(w.totals.movingDischargedWh)} Wh`}),e.jsx(oe,{label:"Stationary energy",value:`${k(w.totals.stationaryDischargedWh)} Wh`}),e.jsx(oe,{label:"Attention",value:k(w.totals.attentionCount,0)})]}):null]}),w?e.jsxs(e.Fragment,{children:[e.jsx(de,{title:"All rovers",meta:`${re.length} visible`,actions:e.jsx("button",{type:"button",className:"button-dark px-1 py-0.25 text-xs",onClick:()=>Be(re),children:"Export CSV"}),bodyClassName:"overflow-x-auto p-0.5",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"sticky top-0 bg-neutral-900 text-slate-400",children:e.jsxs("tr",{children:[e.jsx(W,{field:"name",sort:f,onSort:O,children:"Rover"}),e.jsx(W,{field:"online",sort:f,onSort:O,children:"State"}),e.jsx(W,{field:"batteryHealth.capacityRetentionPercent",sort:f,onSort:O,children:"Health"}),e.jsx(W,{field:"batteryHealth.measuredUsableMah",sort:f,onSort:O,children:"Usable Ah"}),e.jsx(W,{field:"batteryHealth.measuredUsableWh",sort:f,onSort:O,children:"Usable Wh"}),e.jsx(W,{field:"batteryHealth.confidence",sort:f,onSort:O,children:"Confidence"}),e.jsx(W,{field:"overallWhPerKm",sort:f,onSort:O,children:"Wh/km"}),e.jsx(W,{field:"movingWhPerKm",sort:f,onSort:O,children:"Moving Wh/km"}),e.jsx(W,{field:"distanceMm",sort:f,onSort:O,children:"Distance"}),e.jsx(W,{field:"dischargedWh",sort:f,onSort:O,children:"Used Wh"}),e.jsx(W,{field:"movingDischargedWh",sort:f,onSort:O,children:"Moving Wh"}),e.jsx(W,{field:"stationaryDischargedWh",sort:f,onSort:O,children:"Stationary Wh"}),e.jsx(W,{field:"movingMs",sort:f,onSort:O,children:"Moving time"}),e.jsx(W,{field:"averageSpeedMmPerSecond",sort:f,onSort:O,children:"Average speed"}),e.jsx(W,{field:"maximumSpeedMmPerSecond",sort:f,onSort:O,children:"Maximum speed"}),e.jsx(W,{field:"latestChargeMah",sort:f,onSort:O,children:"Charge"}),e.jsx(W,{field:"averageVoltageMv",sort:f,onSort:O,children:"Voltage"}),e.jsx(W,{field:"averageCurrentMa",sort:f,onSort:O,children:"Current"}),e.jsx(W,{field:"maximumTemperatureC",sort:f,onSort:O,children:"Temperature"}),e.jsx(W,{field:"lastSampleAt",sort:f,onSort:O,children:"Last data"})]})}),e.jsx("tbody",{children:re.map(l=>{const v=l.batteryHealth;return e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{className:"sticky left-0 bg-neutral-900 font-semibold",children:l.name}),e.jsx("td",{children:l.online?"online":"offline"}),e.jsx("td",{children:v.capacityRetentionPercent==null?"--":`${k(v.capacityRetentionPercent,1)}%`}),e.jsx("td",{children:v.measuredUsableMah==null?"--":k(v.measuredUsableMah/1e3,3)}),e.jsx("td",{children:k(v.measuredUsableWh)}),e.jsx("td",{title:v.confidenceReason,children:v.confidence}),e.jsx("td",{children:l.overallWhPerKm==null?`need ${ve(l.efficiencyDistanceRequiredMm)}`:k(l.overallWhPerKm)}),e.jsx("td",{children:k(l.movingWhPerKm)}),e.jsx("td",{children:ve(l.distanceMm)}),e.jsx("td",{children:k(l.dischargedWh)}),e.jsx("td",{children:k(l.movingDischargedWh)}),e.jsx("td",{children:k(l.stationaryDischargedWh)}),e.jsx("td",{children:qe(l.movingMs)}),e.jsx("td",{children:l.averageSpeedMmPerSecond==null?"--":`${k(l.averageSpeedMmPerSecond)} mm/s`}),e.jsx("td",{children:l.maximumSpeedMmPerSecond==null?"--":`${k(l.maximumSpeedMmPerSecond)} mm/s`}),e.jsxs("td",{children:[k(l.latestChargeMah,0)," mAh"]}),e.jsxs("td",{children:[k(l.averageVoltageMv,0)," mV"]}),e.jsxs("td",{children:[k(l.averageCurrentMa,0)," mA"]}),e.jsxs("td",{children:[k(l.maximumTemperatureC,1)," °C"]}),e.jsx("td",{children:xe(l.lastSampleAt)})]},l.roverId)})})]})}),e.jsx(de,{title:"Battery-health evidence",meta:"All rovers",bodyClassName:"overflow-x-auto p-0.5",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Battery"}),e.jsx("th",{children:"Reference mAh"}),e.jsx("th",{children:"Estimated usable mAh"}),e.jsx("th",{children:"Observed range floor"}),e.jsx("th",{children:"Retention"}),e.jsx("th",{children:"Observations"}),e.jsx("th",{children:"Average depth"}),e.jsx("th",{children:"Throughput"}),e.jsx("th",{children:"Latest evidence"}),e.jsx("th",{children:"Confidence basis"})]})}),e.jsx("tbody",{children:re.map(l=>{const v=l.batteryHealth;return e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{children:l.name}),e.jsx("td",{children:v.batteryKey}),e.jsx("td",{children:k(v.referenceMah,0)}),e.jsx("td",{children:k(v.measuredUsableMah,0)}),e.jsx("td",{children:k(v.observedUsableFloorMah,0)}),e.jsx("td",{children:v.capacityRetentionPercent==null?"--":`${k(v.capacityRetentionPercent,1)}%`}),e.jsx("td",{children:k(v.observationCount,0)}),e.jsxs("td",{children:[k(v.averageObservationDepthPercent,1),"%"]}),e.jsxs("td",{children:[k(v.dischargedThroughputMah,0)," mAh"]}),e.jsx("td",{children:xe(v.latestObservationAt)}),e.jsx("td",{children:v.confidenceReason})]},l.roverId)})})]})}),w.attention.length?e.jsx(de,{title:"Attention",meta:w.attention.length,bodyClassName:"p-0.5 text-xs",children:e.jsxs("table",{className:"w-full text-left",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Severity"}),e.jsx("th",{children:"Reason"})]})}),e.jsx("tbody",{children:w.attention.map(l=>e.jsxs("tr",{className:"border-t border-neutral-700/70",children:[e.jsx("td",{children:l.roverId}),e.jsx("td",{children:l.severity}),e.jsx("td",{children:l.title})]},l.key))})]})}):null,e.jsx(Qe,{report:w,refresh:C}),e.jsxs(de,{title:"Methodology",bodyClassName:"space-y-0.5 p-1 text-xs text-slate-300",children:[e.jsx("p",{children:"Energy is integrated per sensor interval from OI voltage and signed current. Existing odometer distance and speed are consumed directly; reporting does not calculate a competing speed value."}),e.jsx("p",{children:"Capacity combines partial discharge current with packet 25 charge movement. Every usable observation contributes; deeper observations increase confidence without labeling cycles good or bad. Packet 26 is only a fixed reference."}),e.jsx("p",{children:"Wh/km appears after 25 m of selected-range odometer travel. Existing historical rows predate exact power integration, so their Wh fields remain zero rather than being backfilled with false precision."})]})]}):null]})}function Ge(){Ae({identitySurface:"passive"});const S=Ne(b=>De(b,"fleetReports")),{value:M}=Ie("page",{backgroundTheme:Le}),$=Te(M?.backgroundTheme);return e.jsxs("div",{className:`${$} min-h-screen text-slate-100`,children:[e.jsx(Fe,{}),e.jsx("main",{className:`mx-auto flex min-h-screen w-full max-w-[120rem] flex-col ${Pe} p-1`,children:S?e.jsx(Ve,{}):e.jsxs(de,{title:"Fleet reports unavailable",bodyClassName:"space-y-0.5 p-1 text-sm text-slate-300",children:[e.jsx("p",{children:"This server has not enabled fleet reporting."}),e.jsx(Oe,{className:"button-dark inline-block px-1 py-0.5 text-xs",to:"/",children:"Back to rover page"})]})})]})}export{Ge as default}; +//# sourceMappingURL=FleetReportsApp-Bncmh1m-.js.map diff --git a/server/public/assets/FleetReportsApp-Bncmh1m-.js.map b/server/public/assets/FleetReportsApp-Bncmh1m-.js.map new file mode 100644 index 00000000..e5058214 --- /dev/null +++ b/server/public/assets/FleetReportsApp-Bncmh1m-.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FleetReportsApp-Bncmh1m-.js","sources":["../../../webui/node_modules/papaparse/papaparse.min.js","../../../webui/src/reports/FleetReportsApp.jsx"],"sourcesContent":["/* @license\nPapa Parse\nv5.5.4\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n((e,t)=>{\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&\"undefined\"!=typeof exports?module.exports=t():e.Papa=t()})(this,function r(){var n=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==n?n:{};var d,s=!n.document&&!!n.postMessage,a=n.IS_PAPA_WORKER||!1,o={},h=0,v={};function P(e){return 65279===e.charCodeAt(0)?e.slice(1):e}function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\"\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview);if(a)n.postMessage({results:r,workerId:v.WORKER_ID,finished:i});else if(q(this._config.chunk)&&!e){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r.data),this._completeResults.errors=this._completeResults.errors.concat(r.errors),this._completeResults.meta=r.meta),this._completed||!i||!q(this._config.complete)||r&&r.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||r&&r.meta.paused||this._nextChunk(),r}this._halted=!0},this._sendError=function(e){q(this._config.error)?this._config.error(e):a&&this._config.error&&n.postMessage({workerId:v.WORKER_ID,error:e,finished:!1})}}function f(e){var r;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),s||(r.onload=y(this._chunkLoaded,this),r.onerror=y(this._chunkError,this)),r.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!s),this._config.downloadRequestHeaders){var e,t=this._config.downloadRequestHeaders;for(e in t)r.setRequestHeader(e,t[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,r.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+i));try{r.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}s&&0===r.status&&this._chunkError()}},this._chunkLoaded=function(){4===r.readyState&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>null!==(e=e.getResponseHeader(\"Content-Range\"))?parseInt(e.substring(e.lastIndexOf(\"/\")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(e){e=r.statusText||e;this._sendError(new Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i,r,n=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(i.error)}}function c(e){var i;u.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){var e,t;if(!this._finished)return e=this._config.chunkSize,i=e?(t=i.substring(0,e),i.substring(e)):(t=i,\"\"),this._finished=!i,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=y(function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=y(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=y(function(){this._streamCleanUp(),r=!0,this._streamData(\"\")},this),this._streamCleanUp=y(function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)},this)}function i(m){var n,s,a,t,o=Math.pow(2,53),h=-o,u=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,d=/^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/,i=this,r=0,f=0,l=!1,e=!1,c=[],p={data:[],errors:[],meta:{}};function y(e){return\"greedy\"===m.skipEmptyLines?\"\"===e.join(\"\").trim():1===e.length&&0===e[0].length}function g(){if(p&&a&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+v.DefaultDelimiter+\"'\"),a=!1),m.skipEmptyLines&&(p.data=p.data.filter(function(e){return!y(e)})),_()){if(p)if(Array.isArray(p.data[0])){for(var e=0;_()&&e(e=>(m.dynamicTypingFunction&&void 0===m.dynamicTyping[e]&&(m.dynamicTyping[e]=m.dynamicTypingFunction(e)),!0===(m.dynamicTyping[e]||m.dynamicTyping)))(e)?\"true\"===t||\"TRUE\"===t||\"false\"!==t&&\"FALSE\"!==t&&((e=>{if(u.test(e)){e=parseFloat(e);if(h=c.length?\"__parsed_extra\":c[r]:n,s=m.transform?m.transform(s,n):s);\"__parsed_extra\"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s}return m.header&&(r>c.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+c.length+\" fields but parsed \"+r,f+t):rm.preview?s.abort():(p.data=p.data[0],t(p,i))))}),this.parse=function(e,t,i){var r=m.quoteChar||'\"',r=(m.newline||(m.newline=this.guessLineEndings(e,r)),a=!1,m.delimiter?q(m.delimiter)&&(m.delimiter=m.delimiter(e),p.meta.delimiter=m.delimiter):((r=((e,t,i,r,n)=>{var s,a,o,h;n=n||[\",\",\"\\t\",\"|\",\";\",v.RECORD_SEP,v.UNIT_SEP];for(var u=0;u=i.length/2?\"\\r\\n\":\"\\r\"}}function U(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function E(C){var S=(C=C||{}).delimiter,O=C.newline,x=C.comments,I=C.step,A=C.preview,T=C.fastMode,D=null,L=!1,F=null==C.quoteChar?'\"':C.quoteChar,j=F;if(void 0!==C.escapeChar&&(j=C.escapeChar),(\"string\"!=typeof S||-1=A)return w(!0);break}u.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:h.length,index:z}),m++}}else if(x&&0===d.length&&i.substring(z,z+a)===x){if(-1===g)return w();z=g+s,g=i.indexOf(O,z),p=i.indexOf(S,z)}else if(-1!==p&&(p=A)return w(!0)}return E();function k(e){h.push(e),f=z}function v(e){var t=0;return t=-1!==e&&(e=i.substring(m+1,e))&&\"\"===e.trim()?e.length:t}function E(e){return r||(void 0===e&&(e=i.substring(z)),d.push(e),z=n,k(d),o&&R()),w()}function b(e){z=e,k(d),d=[],g=i.indexOf(O,z)}function w(e){if(C.header&&!t&&h.length&&!L){var s=h[0],a=Object.create(null),o=new Set(s);let n=!1;for(let r=0;r{var e;return!!v.WORKERS_SUPPORTED&&(e=(()=>{var e=n.URL||n.webkitURL||null,t=r.toString();return v.BLOB_URL||(v.BLOB_URL=e.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \",\"(\",t,\")();\"],{type:\"text/javascript\"})))})(),(e=new n.Worker(e)).onmessage=g,e.id=h++,o[e.id]=e)})()).userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=q(t.step),t.chunk=q(t.chunk),t.complete=q(t.complete),t.error=q(t.error),delete t.worker,i.postMessage({input:e,config:t,workerId:i.id})},v.unparse=function(e,t){var s=!1,_=!0,m=\",\",y=\"\\r\\n\",a='\"',o=a+a,i=!1,r=null,h=!1,u=((()=>{if(\"object\"==typeof t){if(\"string\"!=typeof t.delimiter||v.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter),\"boolean\"!=typeof t.quotes&&\"function\"!=typeof t.quotes&&!Array.isArray(t.quotes)||(s=t.quotes),\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(i=t.skipEmptyLines),\"string\"==typeof t.newline&&(y=t.newline),\"string\"==typeof t.quoteChar&&(a=t.quoteChar,o=a+a),\"boolean\"==typeof t.header&&(_=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");r=t.columns}void 0!==t.escapeChar&&(o=t.escapeChar+a),t.escapeFormulae instanceof RegExp?h=t.escapeFormulae:\"boolean\"==typeof t.escapeFormulae&&t.escapeFormulae&&(h=/^[=+\\-@\\t\\r].*$/)}})(),new RegExp(U(a),\"g\"));\"string\"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return n(null,e,i);if(\"object\"==typeof e[0])return n(r||Object.keys(e[0]),e,i)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||r),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),n(e.fields||[],e.data||[],i);throw new Error(\"Unable to serialize unrecognized input\");function n(e,t,i){var r=\"\",n=(\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var i=0;i= 1e6 ? `${number(millimeters / 1e6)} km` : `${number(millimeters / 1000, 1)} m`;\n}\n\nfunction exportCsv(rows) {\n // Papa Parse owns quoting and escaping so new metric columns cannot silently\n // corrupt exports when rover names or confidence explanations contain commas.\n const csv = Papa.unparse(rows.map((rover) => ({\n ...rover,\n batteryHealth: JSON.stringify(rover.batteryHealth),\n })));\n const url = URL.createObjectURL(new Blob([csv], { type: 'text/csv;charset=utf-8' }));\n const anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = 'fleet-battery-efficiency.csv';\n anchor.click();\n URL.revokeObjectURL(url);\n}\n\nfunction Metric({ label, value, detail }) {\n return (\n
\n
{label}
\n
{value}
\n {detail ?
{detail}
: null}\n
\n );\n}\n\nfunction SortHeading({ field, sort, onSort, children }) {\n // Sorting is an explicit table interaction rather than hidden column state;\n // the arrow tells users which fleet comparison currently controls row order.\n return ;\n}\n\nfunction BatteryRegistry({ report, refresh }) {\n const socket = useSocket();\n const role = useSessionSelector((state) => state.session?.role || null);\n const canEdit = role === 'admin' || role === 'lockdown';\n const [draft, setDraft] = useState({\n roverId: report.rovers[0]?.roverId || '',\n chemistry: 'unknown',\n ratedCapacityMah: '',\n installedDate: new Date().toISOString().slice(0, 10),\n notes: '',\n });\n const [status, setStatus] = useState('');\n\n function submit(event) {\n event.preventDefault();\n setStatus('Saving…');\n socket.emit('fleetReports:replaceBattery', {\n ...draft,\n ratedCapacityMah: Number(draft.ratedCapacityMah),\n installedAt: new Date(`${draft.installedDate}T12:00:00`).getTime(),\n }, (response = {}) => {\n setStatus(response.error || `Registered ${response.battery?.batteryKey || 'battery'}`);\n if (!response.error) refresh();\n });\n }\n\n return (\n \n
\n \n \n {report.batteryRegistry.map((battery) => (\n \n \n \n \n \n ))}\n
RoverBatteryChemistryRated mAhInstalledRetiredLearned baseline mAhNotes
{battery.roverId}{battery.batteryKey}{battery.chemistry || '--'}{number(battery.ratedCapacityMah, 0)}{timestamp(battery.installedAt)}{timestamp(battery.retiredAt)}{number(battery.healthyBaselineMah, 0)}{battery.notes || '--'}
\n
\n {canEdit ? (\n
\n \n \n \n \n \n
{status}
\n
\n ) : null}\n
\n );\n}\n\nfunction FullReportContent() {\n const [rangeMs, setRangeMs] = useState(RANGE_OPTIONS[1].ms);\n const [rangeEnd, setRangeEnd] = useState(() => Date.now());\n const [query, setQuery] = useState('');\n const [sort, setSort] = useState({ key: 'name', descending: false });\n const { report, loading, error, refresh } = useFleetReport({\n since: rangeEnd - rangeMs,\n until: rangeEnd,\n includeEvents: false,\n });\n\n const rows = useMemo(() => {\n const filtered = (report?.rovers || []).filter((rover) =>\n `${rover.name} ${rover.roverId}`.toLowerCase().includes(query.trim().toLowerCase()),\n );\n return [...filtered].sort((left, right) => {\n const leftValue = sort.key.startsWith('batteryHealth.')\n ? left.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : left[sort.key];\n const rightValue = sort.key.startsWith('batteryHealth.')\n ? right.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : right[sort.key];\n const result = typeof leftValue === 'string'\n ? leftValue.localeCompare(String(rightValue ?? ''))\n : (Number(leftValue) || 0) - (Number(rightValue) || 0);\n return sort.descending ? -result : result;\n });\n }, [query, report, sort]);\n\n function sortBy(key) {\n setSort((current) => ({ key, descending: current.key === key ? !current.descending : false }));\n }\n\n return (\n <>\n \n
\n \n \n \n Back\n
\n {loading && !report ?

Loading fleet metrics…

: null}\n {error ?

{error}

: null}\n {report ? (\n
\n \n \n \n \n \n \n \n \n
\n ) : null}\n
\n\n {report ? (\n <>\n exportCsv(rows)}>Export CSV}\n bodyClassName=\"overflow-x-auto p-0.5\"\n >\n \n \n RoverState\n HealthUsable Ah\n Usable WhConfidence\n Wh/kmMoving Wh/km\n DistanceUsed Wh\n Moving WhStationary Wh\n Moving timeAverage speed\n Maximum speedCharge\n VoltageCurrent\n TemperatureLast data\n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n })}\n
{rover.name}{rover.online ? 'online' : 'offline'}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{health.measuredUsableMah == null ? '--' : number(health.measuredUsableMah / 1000, 3)}{number(health.measuredUsableWh)}{health.confidence}{rover.overallWhPerKm == null ? `need ${distance(rover.efficiencyDistanceRequiredMm)}` : number(rover.overallWhPerKm)}{number(rover.movingWhPerKm)}{distance(rover.distanceMm)}{number(rover.dischargedWh)}{number(rover.movingDischargedWh)}{number(rover.stationaryDischargedWh)}{duration(rover.movingMs)}{rover.averageSpeedMmPerSecond == null ? '--' : `${number(rover.averageSpeedMmPerSecond)} mm/s`}{rover.maximumSpeedMmPerSecond == null ? '--' : `${number(rover.maximumSpeedMmPerSecond)} mm/s`}{number(rover.latestChargeMah, 0)} mAh{number(rover.averageVoltageMv, 0)} mV{number(rover.averageCurrentMa, 0)} mA{number(rover.maximumTemperatureC, 1)} °C{timestamp(rover.lastSampleAt)}
\n \n\n \n \n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return ;\n })}\n
RoverBatteryReference mAhEstimated usable mAhObserved range floorRetentionObservationsAverage depthThroughputLatest evidenceConfidence basis
{rover.name}{health.batteryKey}{number(health.referenceMah, 0)}{number(health.measuredUsableMah, 0)}{number(health.observedUsableFloorMah, 0)}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{number(health.observationCount, 0)}{number(health.averageObservationDepthPercent, 1)}%{number(health.dischargedThroughputMah, 0)} mAh{timestamp(health.latestObservationAt)}{health.confidenceReason}
\n
\n\n {report.attention.length ? (\n \n {report.attention.map((item) => )}
RoverSeverityReason
{item.roverId}{item.severity}{item.title}
\n
\n ) : null}\n\n \n\n \n

Energy is integrated per sensor interval from OI voltage and signed current. Existing odometer distance and speed are consumed directly; reporting does not calculate a competing speed value.

\n

Capacity combines partial discharge current with packet 25 charge movement. Every usable observation contributes; deeper observations increase confidence without labeling cycles good or bad. Packet 26 is only a fixed reference.

\n

Wh/km appears after 25 m of selected-range odometer travel. Existing historical rows predate exact power integration, so their Wh fields remain zero rather than being backfilled with false precision.

\n
\n \n ) : null}\n \n );\n}\n\nexport default function FleetReportsApp() {\n useUserIdentitySync({ identitySurface: 'passive' });\n const enabled = useSessionSelector((state) => isFeatureEnabled(state, 'fleetReports'));\n const { value: pageSettings } = useSettingsNamespace('page', { backgroundTheme: DEFAULT_PAGE_THEME_KEY });\n const pageBackgroundClass = usePageThemeClass(pageSettings?.backgroundTheme);\n return (\n
\n \n
\n {enabled ? : (\n \n

This server has not enabled fleet reporting.

\n Back to rover page\n
\n )}\n
\n
\n );\n}\n"],"names":["e","t","module","this","r","n","d","s","a","o","h","v","P","u","b","i","q","f","y","l","c","p","m","g","k","_","E","U","C","S","O","x","I","A","T","D","L","F","j","z","M","w","R","RANGE_OPTIONS","number","value","digits","timestamp","duration","minutes","distance","millimeters","exportCsv","rows","csv","Papa","rover","url","anchor","Metric","label","detail","jsxs","jsx","SortHeading","field","sort","onSort","children","BatteryRegistry","report","refresh","socket","useSocket","role","useSessionSelector","state","canEdit","draft","setDraft","useState","status","setStatus","submit","event","response","CardFrame","battery","FullReportContent","rangeMs","setRangeMs","rangeEnd","setRangeEnd","query","setQuery","setSort","loading","error","useFleetReport","useMemo","left","right","leftValue","rightValue","result","sortBy","key","current","Fragment","option","Link","health","item","FleetReportsApp","useUserIdentitySync","enabled","isFeatureEnabled","pageSettings","useSettingsNamespace","DEFAULT_PAGE_THEME_KEY","pageBackgroundClass","usePageThemeClass","SocketConnectionPill","themeGapClass"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/server/public/assets/index-D8T7esRs.js b/server/public/assets/index-Bp0VsaHN.js similarity index 78% rename from server/public/assets/index-D8T7esRs.js rename to server/public/assets/index-Bp0VsaHN.js index 583dc288..8d12700e 100644 --- a/server/public/assets/index-D8T7esRs.js +++ b/server/public/assets/index-Bp0VsaHN.js @@ -1,15 +1,15 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OrbitControls-BJ-UXxdt.js","assets/three.module--MGUDD-H.js"])))=>i.map(i=>d[i]); -(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const u of o)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function n(o){const u={};return o.integrity&&(u.integrity=o.integrity),o.referrerPolicy&&(u.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?u.credentials="include":o.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function l(o){if(o.ep)return;o.ep=!0;const u=n(o);fetch(o.href,u)}})();const fp="modulepreload",mp=function(t){return"/"+t},$s={},pa=function(c,n,l){let o=Promise.resolve();if(n&&n.length>0){let v=function(g){return Promise.all(g.map(x=>Promise.resolve(x).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),m=d?.nonce||d?.getAttribute("nonce");o=v(n.map(g=>{if(g=mp(g),g in $s)return;$s[g]=!0;const x=g.endsWith(".css"),b=x?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${b}`))return;const y=document.createElement("link");if(y.rel=x?"stylesheet":fp,x||(y.as="script"),y.crossOrigin="",y.href=g,m&&y.setAttribute("nonce",m),document.head.appendChild(y),x)return new Promise((M,H)=>{y.addEventListener("load",M),y.addEventListener("error",()=>H(new Error(`Unable to preload CSS for ${g}`)))})}))}function u(d){const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=d,window.dispatchEvent(m),!m.defaultPrevented)throw d}return o.then(d=>{for(const m of d||[])m.status==="rejected"&&u(m.reason);return c().catch(u)})};function vp(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Cc={exports:{}},P8={};var Zs;function pp(){if(Zs)return P8;Zs=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function n(l,o,u){var d=null;if(u!==void 0&&(d=""+u),o.key!==void 0&&(d=""+o.key),"key"in o){u={};for(var m in o)m!=="key"&&(u[m]=o[m])}else u=o;return o=u.ref,{$$typeof:t,type:l,key:d,ref:o!==void 0?o:null,props:u}}return P8.Fragment=c,P8.jsx=n,P8.jsxs=n,P8}var Gs;function xp(){return Gs||(Gs=1,Cc.exports=pp()),Cc.exports}var r=xp(),Sc={exports:{}},P1={};var Ys;function gp(){if(Ys)return P1;Ys=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),y=Symbol.iterator;function M(q){return q===null||typeof q!="object"?null:(q=y&&q[y]||q["@@iterator"],typeof q=="function"?q:null)}var H={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,w={};function V(q,G,i1){this.props=q,this.context=G,this.refs=w,this.updater=i1||H}V.prototype.isReactComponent={},V.prototype.setState=function(q,G){if(typeof q!="object"&&typeof q!="function"&&q!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,q,G,"setState")},V.prototype.forceUpdate=function(q){this.updater.enqueueForceUpdate(this,q,"forceUpdate")};function S(){}S.prototype=V.prototype;function C(q,G,i1){this.props=q,this.context=G,this.refs=w,this.updater=i1||H}var j=C.prototype=new S;j.constructor=C,L(j,V.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function F(){}var R={H:null,A:null,T:null,S:null},B=Object.prototype.hasOwnProperty;function N(q,G,i1){var X=i1.ref;return{$$typeof:t,type:q,key:G,ref:X!==void 0?X:null,props:i1}}function O(q,G){return N(q.type,G,q.props)}function D(q){return typeof q=="object"&&q!==null&&q.$$typeof===t}function U(q){var G={"=":"=0",":":"=2"};return"$"+q.replace(/[=:]/g,function(i1){return G[i1]})}var W=/\/+/g;function K(q,G){return typeof q=="object"&&q!==null&&q.key!=null?U(""+q.key):G.toString(36)}function P(q){switch(q.status){case"fulfilled":return q.value;case"rejected":throw q.reason;default:switch(typeof q.status=="string"?q.then(F,F):(q.status="pending",q.then(function(G){q.status==="pending"&&(q.status="fulfilled",q.value=G)},function(G){q.status==="pending"&&(q.status="rejected",q.reason=G)})),q.status){case"fulfilled":return q.value;case"rejected":throw q.reason}}throw q}function T(q,G,i1,X,a1){var s1=typeof q;(s1==="undefined"||s1==="boolean")&&(q=null);var e1=!1;if(q===null)e1=!0;else switch(s1){case"bigint":case"string":case"number":e1=!0;break;case"object":switch(q.$$typeof){case t:case c:e1=!0;break;case x:return e1=q._init,T(e1(q._payload),G,i1,X,a1)}}if(e1)return a1=a1(q),e1=X===""?"."+K(q,0):X,E(a1)?(i1="",e1!=null&&(i1=e1.replace(W,"$&/")+"/"),T(a1,G,i1,"",function(j1){return j1})):a1!=null&&(D(a1)&&(a1=O(a1,i1+(a1.key==null||q&&q.key===a1.key?"":(""+a1.key).replace(W,"$&/")+"/")+e1)),G.push(a1)),1;e1=0;var y1=X===""?".":X+":";if(E(q))for(var z1=0;z1>>1,v1=T[n1];if(0>>1;n1o(i1,$))Xo(a1,i1)?(T[n1]=a1,T[X]=$,n1=X):(T[n1]=i1,T[G]=$,n1=G);else if(Xo(a1,$))T[n1]=a1,T[X]=$,n1=X;else break t}}return I}function o(T,I){var $=T.sortIndex-I.sortIndex;return $!==0?$:T.id-I.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var d=Date,m=d.now();t.unstable_now=function(){return d.now()-m}}var v=[],g=[],x=1,b=null,y=3,M=!1,H=!1,L=!1,w=!1,V=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;function j(T){for(var I=n(g);I!==null;){if(I.callback===null)l(g);else if(I.startTime<=T)l(g),I.sortIndex=I.expirationTime,c(v,I);else break;I=n(g)}}function E(T){if(L=!1,j(T),!H)if(n(v)!==null)H=!0,F||(F=!0,U());else{var I=n(g);I!==null&&P(E,I.startTime-T)}}var F=!1,R=-1,B=5,N=-1;function O(){return w?!0:!(t.unstable_now()-NT&&O());){var n1=b.callback;if(typeof n1=="function"){b.callback=null,y=b.priorityLevel;var v1=n1(b.expirationTime<=T);if(T=t.unstable_now(),typeof v1=="function"){b.callback=v1,j(T),I=!0;break e}b===n(v)&&l(v),j(T)}else l(v);b=n(v)}if(b!==null)I=!0;else{var q=n(g);q!==null&&P(E,q.startTime-T),I=!1}}break t}finally{b=null,y=$,M=!1}I=void 0}}finally{I?U():F=!1}}}var U;if(typeof C=="function")U=function(){C(D)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,K=W.port2;W.port1.onmessage=D,U=function(){K.postMessage(null)}}else U=function(){V(D,0)};function P(T,I){R=V(function(){T(t.unstable_now())},I)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125n1?(T.sortIndex=$,c(g,T),n(v)===null&&T===n(g)&&(L?(S(R),R=-1):L=!0,P(E,$-n1))):(T.sortIndex=v1,c(v,T),H||M||(H=!0,F||(F=!0,U()))),T},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(T){var I=y;return function(){var $=y;y=I;try{return T.apply(this,arguments)}finally{y=$}}}})(Lc)),Lc}var Xs;function bp(){return Xs||(Xs=1,Hc.exports=zp()),Hc.exports}var Vc={exports:{}},t4={};var Ws;function yp(){if(Ws)return t4;Ws=1;var t=cn();function c(v){var g="https://react.dev/errors/"+v;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),Vc.exports=yp(),Vc.exports}var to;function Mp(){if(to)return $8;to=1;var t=bp(),c=cn(),n=nh();function l(e){var a="https://react.dev/errors/"+e;if(1v1||(e.current=n1[v1],n1[v1]=null,v1--)}function i1(e,a){v1++,n1[v1]=e.current,e.current=a}var X=q(null),a1=q(null),s1=q(null),e1=q(null);function y1(e,a){switch(i1(s1,a),i1(a1,e),i1(X,null),a.nodeType){case 9:case 11:e=(e=a.documentElement)&&(e=e.namespaceURI)?ms(e):0;break;default:if(e=a.tagName,a=a.namespaceURI)a=ms(a),e=vs(a,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(X),i1(X,e)}function z1(){G(X),G(a1),G(s1)}function j1(e){e.memoizedState!==null&&i1(e1,e);var a=X.current,i=vs(a,e.type);a!==i&&(i1(a1,e),i1(X,i))}function x1(e){a1.current===e&&(G(X),G(a1)),e1.current===e&&(G(e1),_8._currentValue=$)}var w1,I1;function R1(e){if(w1===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);w1=a&&a[1]||"",I1=-1{for(const u of o)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function n(o){const u={};return o.integrity&&(u.integrity=o.integrity),o.referrerPolicy&&(u.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?u.credentials="include":o.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function l(o){if(o.ep)return;o.ep=!0;const u=n(o);fetch(o.href,u)}})();const mp="modulepreload",vp=function(t){return"/"+t},$s={},va=function(c,n,l){let o=Promise.resolve();if(n&&n.length>0){let v=function(g){return Promise.all(g.map(x=>Promise.resolve(x).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),m=d?.nonce||d?.getAttribute("nonce");o=v(n.map(g=>{if(g=vp(g),g in $s)return;$s[g]=!0;const x=g.endsWith(".css"),b=x?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${b}`))return;const y=document.createElement("link");if(y.rel=x?"stylesheet":mp,x||(y.as="script"),y.crossOrigin="",y.href=g,m&&y.setAttribute("nonce",m),document.head.appendChild(y),x)return new Promise((M,H)=>{y.addEventListener("load",M),y.addEventListener("error",()=>H(new Error(`Unable to preload CSS for ${g}`)))})}))}function u(d){const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=d,window.dispatchEvent(m),!m.defaultPrevented)throw d}return o.then(d=>{for(const m of d||[])m.status==="rejected"&&u(m.reason);return c().catch(u)})};function pp(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Cc={exports:{}},P8={};var Zs;function xp(){if(Zs)return P8;Zs=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function n(l,o,u){var d=null;if(u!==void 0&&(d=""+u),o.key!==void 0&&(d=""+o.key),"key"in o){u={};for(var m in o)m!=="key"&&(u[m]=o[m])}else u=o;return o=u.ref,{$$typeof:t,type:l,key:d,ref:o!==void 0?o:null,props:u}}return P8.Fragment=c,P8.jsx=n,P8.jsxs=n,P8}var Gs;function gp(){return Gs||(Gs=1,Cc.exports=xp()),Cc.exports}var r=gp(),Sc={exports:{}},P1={};var Ys;function zp(){if(Ys)return P1;Ys=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),y=Symbol.iterator;function M(q){return q===null||typeof q!="object"?null:(q=y&&q[y]||q["@@iterator"],typeof q=="function"?q:null)}var H={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,w={};function V(q,G,i1){this.props=q,this.context=G,this.refs=w,this.updater=i1||H}V.prototype.isReactComponent={},V.prototype.setState=function(q,G){if(typeof q!="object"&&typeof q!="function"&&q!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,q,G,"setState")},V.prototype.forceUpdate=function(q){this.updater.enqueueForceUpdate(this,q,"forceUpdate")};function C(){}C.prototype=V.prototype;function S(q,G,i1){this.props=q,this.context=G,this.refs=w,this.updater=i1||H}var j=S.prototype=new C;j.constructor=S,L(j,V.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function F(){}var R={H:null,A:null,T:null,S:null},B=Object.prototype.hasOwnProperty;function N(q,G,i1){var X=i1.ref;return{$$typeof:t,type:q,key:G,ref:X!==void 0?X:null,props:i1}}function O(q,G){return N(q.type,G,q.props)}function D(q){return typeof q=="object"&&q!==null&&q.$$typeof===t}function U(q){var G={"=":"=0",":":"=2"};return"$"+q.replace(/[=:]/g,function(i1){return G[i1]})}var W=/\/+/g;function K(q,G){return typeof q=="object"&&q!==null&&q.key!=null?U(""+q.key):G.toString(36)}function P(q){switch(q.status){case"fulfilled":return q.value;case"rejected":throw q.reason;default:switch(typeof q.status=="string"?q.then(F,F):(q.status="pending",q.then(function(G){q.status==="pending"&&(q.status="fulfilled",q.value=G)},function(G){q.status==="pending"&&(q.status="rejected",q.reason=G)})),q.status){case"fulfilled":return q.value;case"rejected":throw q.reason}}throw q}function T(q,G,i1,X,a1){var s1=typeof q;(s1==="undefined"||s1==="boolean")&&(q=null);var e1=!1;if(q===null)e1=!0;else switch(s1){case"bigint":case"string":case"number":e1=!0;break;case"object":switch(q.$$typeof){case t:case c:e1=!0;break;case x:return e1=q._init,T(e1(q._payload),G,i1,X,a1)}}if(e1)return a1=a1(q),e1=X===""?"."+K(q,0):X,E(a1)?(i1="",e1!=null&&(i1=e1.replace(W,"$&/")+"/"),T(a1,G,i1,"",function(j1){return j1})):a1!=null&&(D(a1)&&(a1=O(a1,i1+(a1.key==null||q&&q.key===a1.key?"":(""+a1.key).replace(W,"$&/")+"/")+e1)),G.push(a1)),1;e1=0;var y1=X===""?".":X+":";if(E(q))for(var z1=0;z1>>1,v1=T[n1];if(0>>1;n1o(i1,$))Xo(a1,i1)?(T[n1]=a1,T[X]=$,n1=X):(T[n1]=i1,T[G]=$,n1=G);else if(Xo(a1,$))T[n1]=a1,T[X]=$,n1=X;else break t}}return I}function o(T,I){var $=T.sortIndex-I.sortIndex;return $!==0?$:T.id-I.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var d=Date,m=d.now();t.unstable_now=function(){return d.now()-m}}var v=[],g=[],x=1,b=null,y=3,M=!1,H=!1,L=!1,w=!1,V=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function j(T){for(var I=n(g);I!==null;){if(I.callback===null)l(g);else if(I.startTime<=T)l(g),I.sortIndex=I.expirationTime,c(v,I);else break;I=n(g)}}function E(T){if(L=!1,j(T),!H)if(n(v)!==null)H=!0,F||(F=!0,U());else{var I=n(g);I!==null&&P(E,I.startTime-T)}}var F=!1,R=-1,B=5,N=-1;function O(){return w?!0:!(t.unstable_now()-NT&&O());){var n1=b.callback;if(typeof n1=="function"){b.callback=null,y=b.priorityLevel;var v1=n1(b.expirationTime<=T);if(T=t.unstable_now(),typeof v1=="function"){b.callback=v1,j(T),I=!0;break e}b===n(v)&&l(v),j(T)}else l(v);b=n(v)}if(b!==null)I=!0;else{var q=n(g);q!==null&&P(E,q.startTime-T),I=!1}}break t}finally{b=null,y=$,M=!1}I=void 0}}finally{I?U():F=!1}}}var U;if(typeof S=="function")U=function(){S(D)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,K=W.port2;W.port1.onmessage=D,U=function(){K.postMessage(null)}}else U=function(){V(D,0)};function P(T,I){R=V(function(){T(t.unstable_now())},I)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125n1?(T.sortIndex=$,c(g,T),n(v)===null&&T===n(g)&&(L?(C(R),R=-1):L=!0,P(E,$-n1))):(T.sortIndex=v1,c(v,T),H||M||(H=!0,F||(F=!0,U()))),T},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(T){var I=y;return function(){var $=y;y=I;try{return T.apply(this,arguments)}finally{y=$}}}})(Lc)),Lc}var Xs;function yp(){return Xs||(Xs=1,Hc.exports=bp()),Hc.exports}var Vc={exports:{}},t4={};var Ws;function Mp(){if(Ws)return t4;Ws=1;var t=en();function c(v){var g="https://react.dev/errors/"+v;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),Vc.exports=Mp(),Vc.exports}var to;function wp(){if(to)return $8;to=1;var t=yp(),c=en(),n=nh();function l(e){var a="https://react.dev/errors/"+e;if(1v1||(e.current=n1[v1],n1[v1]=null,v1--)}function i1(e,a){v1++,n1[v1]=e.current,e.current=a}var X=q(null),a1=q(null),s1=q(null),e1=q(null);function y1(e,a){switch(i1(s1,a),i1(a1,e),i1(X,null),a.nodeType){case 9:case 11:e=(e=a.documentElement)&&(e=e.namespaceURI)?ms(e):0;break;default:if(e=a.tagName,a=a.namespaceURI)a=ms(a),e=vs(a,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(X),i1(X,e)}function z1(){G(X),G(a1),G(s1)}function j1(e){e.memoizedState!==null&&i1(e1,e);var a=X.current,i=vs(a,e.type);a!==i&&(i1(a1,e),i1(X,i))}function x1(e){a1.current===e&&(G(X),G(a1)),e1.current===e&&(G(e1),_8._currentValue=$)}var w1,I1;function R1(e){if(w1===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);w1=a&&a[1]||"",I1=-1)":-1p||_[h]!==t1[p]){var u1=` `+_[h].replace(" at new "," at ");return e.displayName&&u1.includes("")&&(u1=u1.replace("",e.displayName)),u1}while(1<=h&&0<=p);break}}}finally{h2=!1,Error.prepareStackTrace=i}return(i=e?e.displayName||e.name:"")?R1(i):""}function V1(e,a){switch(e.tag){case 26:case 27:case 5:return R1(e.type);case 16:return R1("Lazy");case 13:return e.child!==a&&a!==null?R1("Suspense Fallback"):R1("Suspense");case 19:return R1("SuspenseList");case 0:case 15:return B1(e.type,!1);case 11:return B1(e.type.render,!1);case 1:return B1(e.type,!0);case 31:return R1("Activity");default:return""}}function G1(e){try{var a="",i=null;do a+=V1(e,i),i=e,e=e.return;while(e);return a}catch(h){return` Error generating stack: `+h.message+` -`+h.stack}}var Y1=Object.prototype.hasOwnProperty,S1=t.unstable_scheduleCallback,U1=t.unstable_cancelCallback,p1=t.unstable_shouldYield,A1=t.unstable_requestPaint,r1=t.unstable_now,b1=t.unstable_getCurrentPriorityLevel,g1=t.unstable_ImmediatePriority,C1=t.unstable_UserBlockingPriority,$1=t.unstable_NormalPriority,o1=t.unstable_LowPriority,d1=t.unstable_IdlePriority,F1=t.log,J1=t.unstable_setDisableYieldValue,g2=null,H1=null;function H2(e){if(typeof F1=="function"&&J1(e),H1&&typeof H1.setStrictMode=="function")try{H1.setStrictMode(g2,e)}catch{}}var L2=Math.clz32?Math.clz32:q1,m1=Math.log,D1=Math.LN2;function q1(e){return e>>>=0,e===0?32:31-(m1(e)/D1|0)|0}var Z2=256,Y4=262144,U6=4194304;function k1(e){var a=e&42;if(a!==0)return a;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function d2(e,a,i){var h=e.pendingLanes;if(h===0)return 0;var p=0,z=e.suspendedLanes,A=e.pingedLanes;e=e.warmLanes;var k=h&134217727;return k!==0?(h=k&~z,h!==0?p=k1(h):(A&=k,A!==0?p=k1(A):i||(i=k&~e,i!==0&&(p=k1(i))))):(k=h&~z,k!==0?p=k1(k):A!==0?p=k1(A):i||(i=h&~e,i!==0&&(p=k1(i)))),p===0?0:a!==0&&a!==p&&(a&z)===0&&(z=p&-p,i=a&-a,z>=i||z===32&&(i&4194048)!==0)?a:p}function s2(e,a){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&a)===0}function a2(e,a){switch(e){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32: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 a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function p2(){var e=U6;return U6<<=1,(U6&62914560)===0&&(U6=4194304),e}function d4(e){for(var a=[],i=0;31>i;i++)a.push(e);return a}function q4(e,a){e.pendingLanes|=a,a!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function I6(e,a,i,h,p,z){var A=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var k=e.entanglements,_=e.expirationTimes,t1=e.hiddenUpdates;for(i=A&~i;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var im=/[\n"\\]/g;function y4(e){return e.replace(im,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function g7(e,a,i,h,p,z,A,k){e.name="",A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?e.type=A:e.removeAttribute("type"),a!=null?A==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+b4(a)):e.value!==""+b4(a)&&(e.value=""+b4(a)):A!=="submit"&&A!=="reset"||e.removeAttribute("value"),a!=null?z7(e,A,b4(a)):i!=null?z7(e,A,b4(i)):h!=null&&e.removeAttribute("value"),p==null&&z!=null&&(e.defaultChecked=!!z),p!=null&&(e.checked=p&&typeof p!="function"&&typeof p!="symbol"),k!=null&&typeof k!="function"&&typeof k!="symbol"&&typeof k!="boolean"?e.name=""+b4(k):e.removeAttribute("name")}function sr(e,a,i,h,p,z,A,k){if(z!=null&&typeof z!="function"&&typeof z!="symbol"&&typeof z!="boolean"&&(e.type=z),a!=null||i!=null){if(!(z!=="submit"&&z!=="reset"||a!=null)){x7(e);return}i=i!=null?""+b4(i):"",a=a!=null?""+b4(a):i,k||a===e.value||(e.value=a),e.defaultValue=a}h=h??p,h=typeof h!="function"&&typeof h!="symbol"&&!!h,e.checked=k?e.checked:!!h,e.defaultChecked=!!h,A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"&&(e.name=A),x7(e)}function z7(e,a,i){a==="number"&&E5(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function K6(e,a,i,h){if(e=e.options,a){a={};for(var p=0;p"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),C7=!1;if(r3)try{var n8={};Object.defineProperty(n8,"passive",{get:function(){C7=!0}}),window.addEventListener("test",n8,n8),window.removeEventListener("test",n8,n8)}catch{C7=!1}var j3=null,S7=null,q5=null;function vr(){if(q5)return q5;var e,a=S7,i=a.length,h,p="value"in j3?j3.value:j3.textContent,z=p.length;for(e=0;e=i8),yr=" ",Mr=!1;function wr(e,a){switch(e){case"keyup":return Rm.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Cr(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var J6=!1;function Tm(e,a){switch(e){case"compositionend":return Cr(a);case"keypress":return a.which!==32?null:(Mr=!0,yr);case"textInput":return e=a.data,e===yr&&Mr?null:e;default:return null}}function qm(e,a){if(J6)return e==="compositionend"||!j7&&wr(e,a)?(e=vr(),q5=S7=j3=null,J6=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:i,offset:a-e};e=h}t:{for(;i;){if(i.nextSibling){i=i.nextSibling;break t}i=i.parentNode}i=void 0}i=Nr(i)}}function Fr(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?Fr(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function Rr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var a=E5(e.document);a instanceof e.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)e=a.contentWindow;else break;a=E5(e.document)}return a}function k7(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}var Zm=r3&&"documentMode"in document&&11>=document.documentMode,t0=null,F7=null,h8=null,R7=!1;function Er(e,a,i){var h=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;R7||t0==null||t0!==E5(h)||(h=t0,"selectionStart"in h&&k7(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),h8&&u8(h8,h)||(h8=h,h=Bt(F7,"onSelect"),0>=A,p-=A,K4=1<<32-L2(a)+p|i<K1?(e2=N1,N1=null):e2=N1.sibling;var r2=c1(Y,N1,J[K1],h1);if(r2===null){N1===null&&(N1=e2);break}e&&N1&&r2.alternate===null&&a(Y,N1),Z=z(r2,Z,K1),n2===null?E1=r2:n2.sibling=r2,n2=r2,N1=e2}if(K1===J.length)return i(Y,N1),c2&&i3(Y,K1),E1;if(N1===null){for(;K1K1?(e2=N1,N1=null):e2=N1.sibling;var W3=c1(Y,N1,r2.value,h1);if(W3===null){N1===null&&(N1=e2);break}e&&N1&&W3.alternate===null&&a(Y,N1),Z=z(W3,Z,K1),n2===null?E1=W3:n2.sibling=W3,n2=W3,N1=e2}if(r2.done)return i(Y,N1),c2&&i3(Y,K1),E1;if(N1===null){for(;!r2.done;K1++,r2=J.next())r2=f1(Y,r2.value,h1),r2!==null&&(Z=z(r2,Z,K1),n2===null?E1=r2:n2.sibling=r2,n2=r2);return c2&&i3(Y,K1),E1}for(N1=h(N1);!r2.done;K1++,r2=J.next())r2=l1(N1,Y,K1,r2.value,h1),r2!==null&&(e&&r2.alternate!==null&&N1.delete(r2.key===null?K1:r2.key),Z=z(r2,Z,K1),n2===null?E1=r2:n2.sibling=r2,n2=r2);return e&&N1.forEach(function(dp){return a(Y,dp)}),c2&&i3(Y,K1),E1}function v2(Y,Z,J,h1){if(typeof J=="object"&&J!==null&&J.type===L&&J.key===null&&(J=J.props.children),typeof J=="object"&&J!==null){switch(J.$$typeof){case M:t:{for(var E1=J.key;Z!==null;){if(Z.key===E1){if(E1=J.type,E1===L){if(Z.tag===7){i(Y,Z.sibling),h1=p(Z,J.props.children),h1.return=Y,Y=h1;break t}}else if(Z.elementType===E1||typeof E1=="object"&&E1!==null&&E1.$$typeof===B&&p6(E1)===Z.type){i(Y,Z.sibling),h1=p(Z,J.props),x8(h1,J),h1.return=Y,Y=h1;break t}i(Y,Z);break}else a(Y,Z);Z=Z.sibling}J.type===L?(h1=h6(J.props.children,Y.mode,h1,J.key),h1.return=Y,Y=h1):(h1=Y5(J.type,J.key,J.props,null,Y.mode,h1),x8(h1,J),h1.return=Y,Y=h1)}return A(Y);case H:t:{for(E1=J.key;Z!==null;){if(Z.key===E1)if(Z.tag===4&&Z.stateNode.containerInfo===J.containerInfo&&Z.stateNode.implementation===J.implementation){i(Y,Z.sibling),h1=p(Z,J.children||[]),h1.return=Y,Y=h1;break t}else{i(Y,Z);break}else a(Y,Z);Z=Z.sibling}h1=U7(J,Y.mode,h1),h1.return=Y,Y=h1}return A(Y);case B:return J=p6(J),v2(Y,Z,J,h1)}if(P(J))return L1(Y,Z,J,h1);if(U(J)){if(E1=U(J),typeof E1!="function")throw Error(l(150));return J=E1.call(J),_1(Y,Z,J,h1)}if(typeof J.then=="function")return v2(Y,Z,et(J),h1);if(J.$$typeof===C)return v2(Y,Z,X5(Y,J),h1);ct(Y,J)}return typeof J=="string"&&J!==""||typeof J=="number"||typeof J=="bigint"?(J=""+J,Z!==null&&Z.tag===6?(i(Y,Z.sibling),h1=p(Z,J),h1.return=Y,Y=h1):(i(Y,Z),h1=O7(J,Y.mode,h1),h1.return=Y,Y=h1),A(Y)):i(Y,Z)}return function(Y,Z,J,h1){try{p8=0;var E1=v2(Y,Z,J,h1);return h0=null,E1}catch(N1){if(N1===u0||N1===J5)throw N1;var n2=m4(29,N1,null,Y.mode);return n2.lanes=h1,n2.return=Y,n2}finally{}}}var g6=rl(!0),ll=rl(!1),R3=!1;function t9(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function e9(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function E3(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function T3(e,a,i){var h=e.updateQueue;if(h===null)return null;if(h=h.shared,(i2&2)!==0){var p=h.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),h.pending=a,a=G5(e),Ir(e,null,i),a}return Z5(e,h,a,i),G5(e)}function g8(e,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194048)!==0)){var h=a.lanes;h&=e.pendingLanes,i|=h,a.lanes=i,L3(e,i)}}function c9(e,a){var i=e.updateQueue,h=e.alternate;if(h!==null&&(h=h.updateQueue,i===h)){var p=null,z=null;if(i=i.firstBaseUpdate,i!==null){do{var A={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};z===null?p=z=A:z=z.next=A,i=i.next}while(i!==null);z===null?p=z=a:z=z.next=a}else p=z=a;i={baseState:h.baseState,firstBaseUpdate:p,lastBaseUpdate:z,shared:h.shared,callbacks:h.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=a:e.next=a,i.lastBaseUpdate=a}var a9=!1;function z8(){if(a9){var e=o0;if(e!==null)throw e}}function b8(e,a,i,h){a9=!1;var p=e.updateQueue;R3=!1;var z=p.firstBaseUpdate,A=p.lastBaseUpdate,k=p.shared.pending;if(k!==null){p.shared.pending=null;var _=k,t1=_.next;_.next=null,A===null?z=t1:A.next=t1,A=_;var u1=e.alternate;u1!==null&&(u1=u1.updateQueue,k=u1.lastBaseUpdate,k!==A&&(k===null?u1.firstBaseUpdate=t1:k.next=t1,u1.lastBaseUpdate=_))}if(z!==null){var f1=p.baseState;A=0,u1=t1=_=null,k=z;do{var c1=k.lane&-536870913,l1=c1!==k.lane;if(l1?(t2&c1)===c1:(h&c1)===c1){c1!==0&&c1===s0&&(a9=!0),u1!==null&&(u1=u1.next={lane:0,tag:k.tag,payload:k.payload,callback:null,next:null});t:{var L1=e,_1=k;c1=a;var v2=i;switch(_1.tag){case 1:if(L1=_1.payload,typeof L1=="function"){f1=L1.call(v2,f1,c1);break t}f1=L1;break t;case 3:L1.flags=L1.flags&-65537|128;case 0:if(L1=_1.payload,c1=typeof L1=="function"?L1.call(v2,f1,c1):L1,c1==null)break t;f1=b({},f1,c1);break t;case 2:R3=!0}}c1=k.callback,c1!==null&&(e.flags|=64,l1&&(e.flags|=8192),l1=p.callbacks,l1===null?p.callbacks=[c1]:l1.push(c1))}else l1={lane:c1,tag:k.tag,payload:k.payload,callback:k.callback,next:null},u1===null?(t1=u1=l1,_=f1):u1=u1.next=l1,A|=c1;if(k=k.next,k===null){if(k=p.shared.pending,k===null)break;l1=k,k=l1.next,l1.next=null,p.lastBaseUpdate=l1,p.shared.pending=null}}while(!0);u1===null&&(_=f1),p.baseState=_,p.firstBaseUpdate=t1,p.lastBaseUpdate=u1,z===null&&(p.shared.lanes=0),U3|=A,e.lanes=A,e.memoizedState=f1}}function il(e,a){if(typeof e!="function")throw Error(l(191,e));e.call(a)}function sl(e,a){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;ez?z:8;var A=T.T,k={};T.T=k,M9(e,!1,a,i);try{var _=p(),t1=T.S;if(t1!==null&&t1(k,_),_!==null&&typeof _=="object"&&typeof _.then=="function"){var u1=ev(_,h);w8(e,a,u1,z4(e))}else w8(e,a,h,z4(e))}catch(f1){w8(e,a,{then:function(){},status:"rejected",reason:f1},z4())}finally{I.p=z,A!==null&&k.types!==null&&(A.types=k.types),T.T=A}}function iv(){}function b9(e,a,i,h){if(e.tag!==5)throw Error(l(476));var p=_l(e).queue;Dl(e,p,a,$,i===null?iv:function(){return Ol(e),i(h)})}function _l(e){var a=e.memoizedState;if(a!==null)return a;a={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:h3,lastRenderedState:$},next:null};var i={};return a.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:h3,lastRenderedState:i},next:null},e.memoizedState=a,e=e.alternate,e!==null&&(e.memoizedState=a),a}function Ol(e){var a=_l(e);a.next===null&&(a=e.alternate.memoizedState),w8(e,a.next.queue,{},z4())}function y9(){return X2(_8)}function Ul(){return N2().memoizedState}function Il(){return N2().memoizedState}function sv(e){for(var a=e.return;a!==null;){switch(a.tag){case 24:case 3:var i=z4();e=E3(i);var h=T3(a,e,i);h!==null&&(u4(h,a,i),g8(h,a,i)),a={cache:Q7()},e.payload=a;return}a=a.return}}function ov(e,a,i){var h=z4();i={lane:h,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},dt(e)?$l(a,i):(i=D7(e,a,i,h),i!==null&&(u4(i,e,h),Zl(i,a,h)))}function Pl(e,a,i){var h=z4();w8(e,a,i,h)}function w8(e,a,i,h){var p={lane:h,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(dt(e))$l(a,p);else{var z=e.alternate;if(e.lanes===0&&(z===null||z.lanes===0)&&(z=a.lastRenderedReducer,z!==null))try{var A=a.lastRenderedState,k=z(A,i);if(p.hasEagerState=!0,p.eagerState=k,f4(k,A))return Z5(e,a,p,0),x2===null&&$5(),!1}catch{}finally{}if(i=D7(e,a,p,h),i!==null)return u4(i,e,h),Zl(i,a,h),!0}return!1}function M9(e,a,i,h){if(h={lane:2,revertLane:tc(),gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},dt(e)){if(a)throw Error(l(479))}else a=D7(e,i,h,2),a!==null&&u4(a,e,2)}function dt(e){var a=e.alternate;return e===Z1||a!==null&&a===Z1}function $l(e,a){f0=rt=!0;var i=e.pending;i===null?a.next=a:(a.next=i.next,i.next=a),e.pending=a}function Zl(e,a,i){if((i&4194048)!==0){var h=a.lanes;h&=e.pendingLanes,i|=h,a.lanes=i,L3(e,i)}}var C8={readContext:X2,use:st,useCallback:V2,useContext:V2,useEffect:V2,useImperativeHandle:V2,useLayoutEffect:V2,useInsertionEffect:V2,useMemo:V2,useReducer:V2,useRef:V2,useState:V2,useDebugValue:V2,useDeferredValue:V2,useTransition:V2,useSyncExternalStore:V2,useId:V2,useHostTransitionStatus:V2,useFormState:V2,useActionState:V2,useOptimistic:V2,useMemoCache:V2,useCacheRefresh:V2};C8.useEffectEvent=V2;var Gl={readContext:X2,use:st,useCallback:function(e,a){return a4().memoizedState=[e,a===void 0?null:a],e},useContext:X2,useEffect:jl,useImperativeHandle:function(e,a,i){i=i!=null?i.concat([e]):null,ut(4194308,4,Fl.bind(null,a,e),i)},useLayoutEffect:function(e,a){return ut(4194308,4,e,a)},useInsertionEffect:function(e,a){ut(4,2,e,a)},useMemo:function(e,a){var i=a4();a=a===void 0?null:a;var h=e();if(z6){H2(!0);try{e()}finally{H2(!1)}}return i.memoizedState=[h,a],h},useReducer:function(e,a,i){var h=a4();if(i!==void 0){var p=i(a);if(z6){H2(!0);try{i(a)}finally{H2(!1)}}}else p=a;return h.memoizedState=h.baseState=p,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:p},h.queue=e,e=e.dispatch=ov.bind(null,Z1,e),[h.memoizedState,e]},useRef:function(e){var a=a4();return e={current:e},a.memoizedState=e},useState:function(e){e=v9(e);var a=e.queue,i=Pl.bind(null,Z1,a);return a.dispatch=i,[e.memoizedState,i]},useDebugValue:g9,useDeferredValue:function(e,a){var i=a4();return z9(i,e,a)},useTransition:function(){var e=v9(!1);return e=Dl.bind(null,Z1,e.queue,!0,!1),a4().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,a,i){var h=Z1,p=a4();if(c2){if(i===void 0)throw Error(l(407));i=i()}else{if(i=a(),x2===null)throw Error(l(349));(t2&127)!==0||ml(h,a,i)}p.memoizedState=i;var z={value:i,getSnapshot:a};return p.queue=z,jl(pl.bind(null,h,z,e),[e]),h.flags|=2048,v0(9,{destroy:void 0},vl.bind(null,h,z,i,a),null),i},useId:function(){var e=a4(),a=x2.identifierPrefix;if(c2){var i=Q4,h=K4;i=(h&~(1<<32-L2(h)-1)).toString(32)+i,a="_"+a+"R_"+i,i=lt++,0<\/script>",z=z.removeChild(z.firstChild);break;case"select":z=typeof h.is=="string"?A.createElement("select",{is:h.is}):A.createElement("select"),h.multiple?z.multiple=!0:h.size&&(z.size=h.size);break;default:z=typeof h.is=="string"?A.createElement(p,{is:h.is}):A.createElement(p)}}z[K2]=a,z[n4]=h;t:for(A=a.child;A!==null;){if(A.tag===5||A.tag===6)z.appendChild(A.stateNode);else if(A.tag!==4&&A.tag!==27&&A.child!==null){A.child.return=A,A=A.child;continue}if(A===a)break t;for(;A.sibling===null;){if(A.return===null||A.return===a)break t;A=A.return}A.sibling.return=A.return,A=A.sibling}a.stateNode=z;t:switch(J2(z,p,h),p){case"button":case"input":case"select":case"textarea":h=!!h.autoFocus;break t;case"img":h=!0;break t;default:h=!1}h&&f3(a)}}return y2(a),E9(a,a.type,e===null?null:e.memoizedProps,a.pendingProps,i),null;case 6:if(e&&a.stateNode!=null)e.memoizedProps!==h&&f3(a);else{if(typeof h!="string"&&a.stateNode===null)throw Error(l(166));if(e=s1.current,l0(a)){if(e=a.stateNode,i=a.memoizedProps,h=null,p=Q2,p!==null)switch(p.tag){case 27:case 5:h=p.memoizedProps}e[K2]=a,e=!!(e.nodeValue===i||h!==null&&h.suppressHydrationWarning===!0||ds(e.nodeValue,i)),e||k3(a,!0)}else e=Nt(e).createTextNode(h),e[K2]=a,a.stateNode=e}return y2(a),null;case 31:if(i=a.memoizedState,e===null||e.memoizedState!==null){if(h=l0(a),i!==null){if(e===null){if(!h)throw Error(l(318));if(e=a.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[K2]=a}else d6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;y2(a),e=!1}else i=Z7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return a.flags&256?(p4(a),a):(p4(a),null);if((a.flags&128)!==0)throw Error(l(558))}return y2(a),null;case 13:if(h=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(p=l0(a),h!==null&&h.dehydrated!==null){if(e===null){if(!p)throw Error(l(318));if(p=a.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(l(317));p[K2]=a}else d6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;y2(a),p=!1}else p=Z7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(p4(a),a):(p4(a),null)}return p4(a),(a.flags&128)!==0?(a.lanes=i,a):(i=h!==null,e=e!==null&&e.memoizedState!==null,i&&(h=a.child,p=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(p=h.alternate.memoizedState.cachePool.pool),z=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(z=h.memoizedState.cachePool.pool),z!==p&&(h.flags|=2048)),i!==e&&i&&(a.child.flags|=8192),xt(a,a.updateQueue),y2(a),null);case 4:return z1(),e===null&&nc(a.stateNode.containerInfo),y2(a),null;case 10:return o3(a.type),y2(a),null;case 19:if(G(B2),h=a.memoizedState,h===null)return y2(a),null;if(p=(a.flags&128)!==0,z=h.rendering,z===null)if(p)A8(h,!1);else{if(j2!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(z=nt(e),z!==null){for(a.flags|=128,A8(h,!1),e=z.updateQueue,a.updateQueue=e,xt(a,e),a.subtreeFlags=0,e=i,i=a.child;i!==null;)Pr(i,e),i=i.sibling;return i1(B2,B2.current&1|2),c2&&i3(a,h.treeForkCount),a.child}e=e.sibling}h.tail!==null&&r1()>Mt&&(a.flags|=128,p=!0,A8(h,!1),a.lanes=4194304)}else{if(!p)if(e=nt(z),e!==null){if(a.flags|=128,p=!0,e=e.updateQueue,a.updateQueue=e,xt(a,e),A8(h,!0),h.tail===null&&h.tailMode==="hidden"&&!z.alternate&&!c2)return y2(a),null}else 2*r1()-h.renderingStartTime>Mt&&i!==536870912&&(a.flags|=128,p=!0,A8(h,!1),a.lanes=4194304);h.isBackwards?(z.sibling=a.child,a.child=z):(e=h.last,e!==null?e.sibling=z:a.child=z,h.last=z)}return h.tail!==null?(e=h.tail,h.rendering=e,h.tail=e.sibling,h.renderingStartTime=r1(),e.sibling=null,i=B2.current,i1(B2,p?i&1|2:i&1),c2&&i3(a,h.treeForkCount),e):(y2(a),null);case 22:case 23:return p4(a),r9(),h=a.memoizedState!==null,e!==null?e.memoizedState!==null!==h&&(a.flags|=8192):h&&(a.flags|=8192),h?(i&536870912)!==0&&(a.flags&128)===0&&(y2(a),a.subtreeFlags&6&&(a.flags|=8192)):y2(a),i=a.updateQueue,i!==null&&xt(a,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),h=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(h=a.memoizedState.cachePool.pool),h!==i&&(a.flags|=2048),e!==null&&G(v6),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),a.memoizedState.cache!==i&&(a.flags|=2048),o3(T2),y2(a),null;case 25:return null;case 30:return null}throw Error(l(156,a.tag))}function mv(e,a){switch(P7(a),a.tag){case 1:return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return o3(T2),z1(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 26:case 27:case 5:return x1(a),null;case 31:if(a.memoizedState!==null){if(p4(a),a.alternate===null)throw Error(l(340));d6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 13:if(p4(a),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(l(340));d6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return G(B2),null;case 4:return z1(),null;case 10:return o3(a.type),null;case 22:case 23:return p4(a),r9(),e!==null&&G(v6),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 24:return o3(T2),null;case 25:return null;default:return null}}function xi(e,a){switch(P7(a),a.tag){case 3:o3(T2),z1();break;case 26:case 27:case 5:x1(a);break;case 4:z1();break;case 31:a.memoizedState!==null&&p4(a);break;case 13:p4(a);break;case 19:G(B2);break;case 10:o3(a.type);break;case 22:case 23:p4(a),r9(),e!==null&&G(v6);break;case 24:o3(T2)}}function H8(e,a){try{var i=a.updateQueue,h=i!==null?i.lastEffect:null;if(h!==null){var p=h.next;i=p;do{if((i.tag&e)===e){h=void 0;var z=i.create,A=i.inst;h=z(),A.destroy=h}i=i.next}while(i!==p)}}catch(k){u2(a,a.return,k)}}function _3(e,a,i){try{var h=a.updateQueue,p=h!==null?h.lastEffect:null;if(p!==null){var z=p.next;h=z;do{if((h.tag&e)===e){var A=h.inst,k=A.destroy;if(k!==void 0){A.destroy=void 0,p=a;var _=i,t1=k;try{t1()}catch(u1){u2(p,_,u1)}}}h=h.next}while(h!==z)}}catch(u1){u2(a,a.return,u1)}}function gi(e){var a=e.updateQueue;if(a!==null){var i=e.stateNode;try{sl(a,i)}catch(h){u2(e,e.return,h)}}}function zi(e,a,i){i.props=b6(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(h){u2(e,a,h)}}function L8(e,a){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var h=e.stateNode;break;case 30:h=e.stateNode;break;default:h=e.stateNode}typeof i=="function"?e.refCleanup=i(h):i.current=h}}catch(p){u2(e,a,p)}}function X4(e,a){var i=e.ref,h=e.refCleanup;if(i!==null)if(typeof h=="function")try{h()}catch(p){u2(e,a,p)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(p){u2(e,a,p)}else i.current=null}function bi(e){var a=e.type,i=e.memoizedProps,h=e.stateNode;try{t:switch(a){case"button":case"input":case"select":case"textarea":i.autoFocus&&h.focus();break t;case"img":i.src?h.src=i.src:i.srcSet&&(h.srcset=i.srcSet)}}catch(p){u2(e,e.return,p)}}function T9(e,a,i){try{var h=e.stateNode;Ev(h,e.type,i,a),h[n4]=a}catch(p){u2(e,e.return,p)}}function yi(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&G3(e.type)||e.tag===4}function q9(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||yi(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&G3(e.type)||e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function D9(e,a,i){var h=e.tag;if(h===5||h===6)e=e.stateNode,a?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,a):(a=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,a.appendChild(e),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=n3));else if(h!==4&&(h===27&&G3(e.type)&&(i=e.stateNode,a=null),e=e.child,e!==null))for(D9(e,a,i),e=e.sibling;e!==null;)D9(e,a,i),e=e.sibling}function gt(e,a,i){var h=e.tag;if(h===5||h===6)e=e.stateNode,a?i.insertBefore(e,a):i.appendChild(e);else if(h!==4&&(h===27&&G3(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(gt(e,a,i),e=e.sibling;e!==null;)gt(e,a,i),e=e.sibling}function Mi(e){var a=e.stateNode,i=e.memoizedProps;try{for(var h=e.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);J2(a,h,i),a[K2]=e,a[n4]=i}catch(z){u2(e,e.return,z)}}var m3=!1,_2=!1,_9=!1,wi=typeof WeakSet=="function"?WeakSet:Set,Y2=null;function vv(e,a){if(e=e.containerInfo,ic=Dt,e=Rr(e),k7(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else t:{i=(i=e.ownerDocument)&&i.defaultView||window;var h=i.getSelection&&i.getSelection();if(h&&h.rangeCount!==0){i=h.anchorNode;var p=h.anchorOffset,z=h.focusNode;h=h.focusOffset;try{i.nodeType,z.nodeType}catch{i=null;break t}var A=0,k=-1,_=-1,t1=0,u1=0,f1=e,c1=null;e:for(;;){for(var l1;f1!==i||p!==0&&f1.nodeType!==3||(k=A+p),f1!==z||h!==0&&f1.nodeType!==3||(_=A+h),f1.nodeType===3&&(A+=f1.nodeValue.length),(l1=f1.firstChild)!==null;)c1=f1,f1=l1;for(;;){if(f1===e)break e;if(c1===i&&++t1===p&&(k=A),c1===z&&++u1===h&&(_=A),(l1=f1.nextSibling)!==null)break;f1=c1,c1=f1.parentNode}f1=l1}i=k===-1||_===-1?null:{start:k,end:_}}else i=null}i=i||{start:0,end:0}}else i=null;for(sc={focusedElem:e,selectionRange:i},Dt=!1,Y2=a;Y2!==null;)if(a=Y2,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,Y2=e;else for(;Y2!==null;){switch(a=Y2,z=a.alternate,e=a.flags,a.tag){case 0:if((e&4)!==0&&(e=a.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i title"))),J2(z,h,i),z[K2]=e,G2(z),h=z;break t;case"link":var A=Vs("link","href",p).get(h+(i.href||""));if(A){for(var k=0;kv2&&(A=v2,v2=_1,_1=A);var Y=kr(k,_1),Z=kr(k,v2);if(Y&&Z&&(l1.rangeCount!==1||l1.anchorNode!==Y.node||l1.anchorOffset!==Y.offset||l1.focusNode!==Z.node||l1.focusOffset!==Z.offset)){var J=f1.createRange();J.setStart(Y.node,Y.offset),l1.removeAllRanges(),_1>v2?(l1.addRange(J),l1.extend(Z.node,Z.offset)):(J.setEnd(Z.node,Z.offset),l1.addRange(J))}}}}for(f1=[],l1=k;l1=l1.parentNode;)l1.nodeType===1&&f1.push({element:l1,left:l1.scrollLeft,top:l1.scrollTop});for(typeof k.focus=="function"&&k.focus(),k=0;ki?32:i,T.T=null,i=G9,G9=null;var z=P3,A=z3;if($2=0,b0=P3=null,z3=0,(i2&6)!==0)throw Error(l(331));var k=i2;if(i2|=4,Fi(z.current),Bi(z,z.current,A,i),i2=k,F8(0,!1),H1&&typeof H1.onPostCommitFiberRoot=="function")try{H1.onPostCommitFiberRoot(g2,z)}catch{}return!0}finally{I.p=p,T.T=h,Wi(e,a)}}function ts(e,a,i){a=w4(i,a),a=A9(e.stateNode,a,2),e=T3(e,a,2),e!==null&&(q4(e,2),W4(e))}function u2(e,a,i){if(e.tag===3)ts(e,e,i);else for(;a!==null;){if(a.tag===3){ts(a,e,i);break}else if(a.tag===1){var h=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(I3===null||!I3.has(h))){e=w4(i,e),i=ei(2),h=T3(a,i,2),h!==null&&(ci(i,h,a,e),q4(h,2),W4(h));break}}a=a.return}}function X9(e,a,i){var h=e.pingCache;if(h===null){h=e.pingCache=new gv;var p=new Set;h.set(a,p)}else p=h.get(a),p===void 0&&(p=new Set,h.set(a,p));p.has(i)||(I9=!0,p.add(i),e=wv.bind(null,e,a,i),a.then(e,e))}function wv(e,a,i){var h=e.pingCache;h!==null&&h.delete(a),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,x2===e&&(t2&i)===i&&(j2===4||j2===3&&(t2&62914560)===t2&&300>r1()-yt?(i2&2)===0&&y0(e,0):P9|=i,z0===t2&&(z0=0)),W4(e)}function es(e,a){a===0&&(a=p2()),e=u6(e,a),e!==null&&(q4(e,a),W4(e))}function Cv(e){var a=e.memoizedState,i=0;a!==null&&(i=a.retryLane),es(e,i)}function Sv(e,a){var i=0;switch(e.tag){case 31:case 13:var h=e.stateNode,p=e.memoizedState;p!==null&&(i=p.retryLane);break;case 19:h=e.stateNode;break;case 22:h=e.stateNode._retryCache;break;default:throw Error(l(314))}h!==null&&h.delete(a),es(e,i)}function Av(e,a){return S1(e,a)}var Lt=null,w0=null,W9=!1,Vt=!1,J9=!1,Z3=0;function W4(e){e!==w0&&e.next===null&&(w0===null?Lt=w0=e:w0=w0.next=e),Vt=!0,W9||(W9=!0,Lv())}function F8(e,a){if(!J9&&Vt){J9=!0;do for(var i=!1,h=Lt;h!==null;){if(e!==0){var p=h.pendingLanes;if(p===0)var z=0;else{var A=h.suspendedLanes,k=h.pingedLanes;z=(1<<31-L2(42|e)+1)-1,z&=p&~(A&~k),z=z&201326741?z&201326741|1:z?z|2:0}z!==0&&(i=!0,rs(h,z))}else z=t2,z=d2(h,h===x2?z:0,h.cancelPendingCommit!==null||h.timeoutHandle!==-1),(z&3)===0||s2(h,z)||(i=!0,rs(h,z));h=h.next}while(i);J9=!1}}function Hv(){cs()}function cs(){Vt=W9=!1;var e=0;Z3!==0&&qv()&&(e=Z3);for(var a=r1(),i=null,h=Lt;h!==null;){var p=h.next,z=as(h,a);z===0?(h.next=null,i===null?Lt=p:i.next=p,p===null&&(w0=i)):(i=h,(e!==0||(z&3)!==0)&&(Vt=!0)),h=p}$2!==0&&$2!==5||F8(e),Z3!==0&&(Z3=0)}function as(e,a){for(var i=e.suspendedLanes,h=e.pingedLanes,p=e.expirationTimes,z=e.pendingLanes&-62914561;0k)break;var u1=_.transferSize,f1=_.initiatorType;u1&&fs(f1)&&(_=_.responseEnd,A+=u1*(_"u"?null:document;function Ss(e,a,i){var h=C0;if(h&&typeof a=="string"&&a){var p=y4(a);p='link[rel="'+e+'"][href="'+p+'"]',typeof i=="string"&&(p+='[crossorigin="'+i+'"]'),Cs.has(p)||(Cs.add(p),e={rel:e,crossOrigin:i,href:a},h.querySelector(p)===null&&(a=h.createElement("link"),J2(a,"link",e),G2(a),h.head.appendChild(a)))}}function Gv(e){b3.D(e),Ss("dns-prefetch",e,null)}function Yv(e,a){b3.C(e,a),Ss("preconnect",e,a)}function Kv(e,a,i){b3.L(e,a,i);var h=C0;if(h&&e&&a){var p='link[rel="preload"][as="'+y4(a)+'"]';a==="image"&&i&&i.imageSrcSet?(p+='[imagesrcset="'+y4(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(p+='[imagesizes="'+y4(i.imageSizes)+'"]')):p+='[href="'+y4(e)+'"]';var z=p;switch(a){case"style":z=S0(e);break;case"script":z=A0(e)}V4.has(z)||(e=b({rel:"preload",href:a==="image"&&i&&i.imageSrcSet?void 0:e,as:a},i),V4.set(z,e),h.querySelector(p)!==null||a==="style"&&h.querySelector(q8(z))||a==="script"&&h.querySelector(D8(z))||(a=h.createElement("link"),J2(a,"link",e),G2(a),h.head.appendChild(a)))}}function Qv(e,a){b3.m(e,a);var i=C0;if(i&&e){var h=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+y4(h)+'"][href="'+y4(e)+'"]',z=p;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":z=A0(e)}if(!V4.has(z)&&(e=b({rel:"modulepreload",href:e},a),V4.set(z,e),i.querySelector(p)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(D8(z)))return}h=i.createElement("link"),J2(h,"link",e),G2(h),i.head.appendChild(h)}}}function Xv(e,a,i){b3.S(e,a,i);var h=C0;if(h&&e){var p=G6(h).hoistableStyles,z=S0(e);a=a||"default";var A=p.get(z);if(!A){var k={loading:0,preload:null};if(A=h.querySelector(q8(z)))k.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":a},i),(i=V4.get(z))&&vc(e,i);var _=A=h.createElement("link");G2(_),J2(_,"link",e),_._p=new Promise(function(t1,u1){_.onload=t1,_.onerror=u1}),_.addEventListener("load",function(){k.loading|=1}),_.addEventListener("error",function(){k.loading|=2}),k.loading|=4,Ft(A,a,h)}A={type:"stylesheet",instance:A,count:1,state:k},p.set(z,A)}}}function Wv(e,a){b3.X(e,a);var i=C0;if(i&&e){var h=G6(i).hoistableScripts,p=A0(e),z=h.get(p);z||(z=i.querySelector(D8(p)),z||(e=b({src:e,async:!0},a),(a=V4.get(p))&&pc(e,a),z=i.createElement("script"),G2(z),J2(z,"link",e),i.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},h.set(p,z))}}function Jv(e,a){b3.M(e,a);var i=C0;if(i&&e){var h=G6(i).hoistableScripts,p=A0(e),z=h.get(p);z||(z=i.querySelector(D8(p)),z||(e=b({src:e,async:!0,type:"module"},a),(a=V4.get(p))&&pc(e,a),z=i.createElement("script"),G2(z),J2(z,"link",e),i.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},h.set(p,z))}}function As(e,a,i,h){var p=(p=s1.current)?kt(p):null;if(!p)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(a=S0(i.href),i=G6(p).hoistableStyles,h=i.get(a),h||(h={type:"style",instance:null,count:0,state:null},i.set(a,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=S0(i.href);var z=G6(p).hoistableStyles,A=z.get(e);if(A||(p=p.ownerDocument||p,A={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},z.set(e,A),(z=p.querySelector(q8(e)))&&!z._p&&(A.instance=z,A.state.loading=5),V4.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},V4.set(e,i),z||tp(p,e,i,A.state))),a&&h===null)throw Error(l(528,""));return A}if(a&&h!==null)throw Error(l(529,""));return null;case"script":return a=i.async,i=i.src,typeof i=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=A0(i),i=G6(p).hoistableScripts,h=i.get(a),h||(h={type:"script",instance:null,count:0,state:null},i.set(a,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function S0(e){return'href="'+y4(e)+'"'}function q8(e){return'link[rel="stylesheet"]['+e+"]"}function Hs(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function tp(e,a,i,h){e.querySelector('link[rel="preload"][as="style"]['+a+"]")?h.loading=1:(a=e.createElement("link"),h.preload=a,a.addEventListener("load",function(){return h.loading|=1}),a.addEventListener("error",function(){return h.loading|=2}),J2(a,"link",i),G2(a),e.head.appendChild(a))}function A0(e){return'[src="'+y4(e)+'"]'}function D8(e){return"script[async]"+e}function Ls(e,a,i){if(a.count++,a.instance===null)switch(a.type){case"style":var h=e.querySelector('style[data-href~="'+y4(i.href)+'"]');if(h)return a.instance=h,G2(h),h;var p=b({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return h=(e.ownerDocument||e).createElement("style"),G2(h),J2(h,"style",p),Ft(h,i.precedence,e),a.instance=h;case"stylesheet":p=S0(i.href);var z=e.querySelector(q8(p));if(z)return a.state.loading|=4,a.instance=z,G2(z),z;h=Hs(i),(p=V4.get(p))&&vc(h,p),z=(e.ownerDocument||e).createElement("link"),G2(z);var A=z;return A._p=new Promise(function(k,_){A.onload=k,A.onerror=_}),J2(z,"link",h),a.state.loading|=4,Ft(z,i.precedence,e),a.instance=z;case"script":return z=A0(i.src),(p=e.querySelector(D8(z)))?(a.instance=p,G2(p),p):(h=i,(p=V4.get(z))&&(h=b({},i),pc(h,p)),e=e.ownerDocument||e,p=e.createElement("script"),G2(p),J2(p,"link",h),e.head.appendChild(p),a.instance=p);case"void":return null;default:throw Error(l(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(h=a.instance,a.state.loading|=4,Ft(h,i.precedence,e));return a.instance}function Ft(e,a,i){for(var h=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=h.length?h[h.length-1]:null,z=p,A=0;A title"):null)}function ep(e,a,i){if(i===1||a.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return e=a.disabled,typeof a.precedence=="string"&&e==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function Bs(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function cp(e,a,i,h){if(i.type==="stylesheet"&&(typeof h.media!="string"||matchMedia(h.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var p=S0(h.href),z=a.querySelector(q8(p));if(z){a=z._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(e.count++,e=Et.bind(e),a.then(e,e)),i.state.loading|=4,i.instance=z,G2(z);return}z=a.ownerDocument||a,h=Hs(h),(p=V4.get(p))&&vc(h,p),z=z.createElement("link"),G2(z);var A=z;A._p=new Promise(function(k,_){A.onload=k,A.onerror=_}),J2(z,"link",h),i.instance=z}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,a),(a=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=Et.bind(e),a.addEventListener("load",i),a.addEventListener("error",i))}}var xc=0;function ap(e,a){return e.stylesheets&&e.count===0&&qt(e,e.stylesheets),0xc?50:800)+a);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(h),clearTimeout(p)}}:null}function Et(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qt(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Tt=null;function qt(e,a){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Tt=new Map,a.forEach(np,e),Tt=null,Et.call(e))}function np(e,a){if(!(a.state.loading&4)){var i=Tt.get(e);if(i)var h=i.get(null);else{i=new Map,Tt.set(e,i);for(var p=e.querySelectorAll("link[data-precedence],style[data-precedence]"),z=0;z"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),Ac.exports=Mp(),Ac.exports}var Cp=wp();var co="popstate";function Sp(t={}){function c(l,o){let{pathname:u,search:d,hash:m}=l.location;return xa("",{pathname:u,search:d,hash:m},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(l,o){return typeof o=="string"?o:u5(o)}return Hp(c,n,null,t)}function S2(t,c){if(t===!1||t===null||typeof t>"u")throw new Error(c)}function Z4(t,c){if(!t){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function Ap(){return Math.random().toString(36).substring(2,10)}function ao(t,c){return{usr:t.state,key:t.key,idx:c}}function xa(t,c,n=null,l){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof c=="string"?K0(c):c,state:n,key:c&&c.key||l||Ap()}}function u5({pathname:t="/",search:c="",hash:n=""}){return c&&c!=="?"&&(t+=c.charAt(0)==="?"?c:"?"+c),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function K0(t){let c={};if(t){let n=t.indexOf("#");n>=0&&(c.hash=t.substring(n),t=t.substring(0,n));let l=t.indexOf("?");l>=0&&(c.search=t.substring(l),t=t.substring(0,l)),t&&(c.pathname=t)}return c}function Hp(t,c,n,l={}){let{window:o=document.defaultView,v5Compat:u=!1}=l,d=o.history,m="POP",v=null,g=x();g==null&&(g=0,d.replaceState({...d.state,idx:g},""));function x(){return(d.state||{idx:null}).idx}function b(){m="POP";let w=x(),V=w==null?null:w-g;g=w,v&&v({action:m,location:L.location,delta:V})}function y(w,V){m="PUSH";let S=xa(L.location,w,V);g=x()+1;let C=ao(S,g),j=L.createHref(S);try{d.pushState(C,"",j)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;o.location.assign(j)}u&&v&&v({action:m,location:L.location,delta:1})}function M(w,V){m="REPLACE";let S=xa(L.location,w,V);g=x();let C=ao(S,g),j=L.createHref(S);d.replaceState(C,"",j),u&&v&&v({action:m,location:L.location,delta:0})}function H(w){return Lp(w)}let L={get action(){return m},get location(){return t(o,d)},listen(w){if(v)throw new Error("A history only accepts one active listener");return o.addEventListener(co,b),v=w,()=>{o.removeEventListener(co,b),v=null}},createHref(w){return c(o,w)},createURL:H,encodeLocation(w){let V=H(w);return{pathname:V.pathname,search:V.search,hash:V.hash}},push:y,replace:M,go(w){return d.go(w)}};return L}function Lp(t,c=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),S2(n,"No window.location.(origin|href) available to create URL");let l=typeof t=="string"?t:u5(t);return l=l.replace(/ $/,"%20"),!c&&l.startsWith("//")&&(l=n+l),new URL(l,n)}function rh(t,c,n="/"){return Vp(t,c,n,!1)}function Vp(t,c,n,l){let o=typeof c=="string"?K0(c):c,u=A3(o.pathname||"/",n);if(u==null)return null;let d=lh(t);jp(d);let m=null;for(let v=0;m==null&&v{let x={relativePath:g===void 0?d.path||"":g,caseSensitive:d.caseSensitive===!0,childrenIndex:m,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(l)&&v)return;S2(x.relativePath.startsWith(l),`Absolute route path "${x.relativePath}" nested under path "${l}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(l.length)}let b=S3([l,x.relativePath]),y=n.concat(x);d.children&&d.children.length>0&&(S2(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),lh(d.children,c,y,b,v)),!(d.path==null&&!d.index)&&c.push({path:b,score:Tp(b,d.index),routesMeta:y})};return t.forEach((d,m)=>{if(d.path===""||!d.path?.includes("?"))u(d,m);else for(let v of ih(d.path))u(d,m,!0,v)}),c}function ih(t){let c=t.split("/");if(c.length===0)return[];let[n,...l]=c,o=n.endsWith("?"),u=n.replace(/\?$/,"");if(l.length===0)return o?[u,""]:[u];let d=ih(l.join("/")),m=[];return m.push(...d.map(v=>v===""?u:[u,v].join("/"))),o&&m.push(...d),m.map(v=>t.startsWith("/")&&v===""?"/":v)}function jp(t){t.sort((c,n)=>c.score!==n.score?n.score-c.score:qp(c.routesMeta.map(l=>l.childrenIndex),n.routesMeta.map(l=>l.childrenIndex)))}var Bp=/^:[\w-]+$/,Np=3,kp=2,Fp=1,Rp=10,Ep=-2,no=t=>t==="*";function Tp(t,c){let n=t.split("/"),l=n.length;return n.some(no)&&(l+=Ep),c&&(l+=kp),n.filter(o=>!no(o)).reduce((o,u)=>o+(Bp.test(u)?Np:u===""?Fp:Rp),l)}function qp(t,c){return t.length===c.length&&t.slice(0,-1).every((l,o)=>l===c[o])?t[t.length-1]-c[c.length-1]:0}function Dp(t,c,n=!1){let{routesMeta:l}=t,o={},u="/",d=[];for(let m=0;m{if(x==="*"){let H=m[y]||"";d=u.slice(0,u.length-H.length).replace(/(.)\/+$/,"$1")}const M=m[y];return b&&!M?g[x]=void 0:g[x]=(M||"").replace(/%2F/g,"/"),g},{}),pathname:u,pathnameBase:d,pattern:t}}function _p(t,c=!1,n=!0){Z4(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let l=[],o="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,m,v)=>(l.push({paramName:m,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(l.push({paramName:"*"}),o+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":t!==""&&t!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,c?void 0:"i"),l]}function Op(t){try{return t.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return Z4(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),t}}function A3(t,c){if(c==="/")return t;if(!t.toLowerCase().startsWith(c.toLowerCase()))return null;let n=c.endsWith("/")?c.length-1:c.length,l=t.charAt(n);return l&&l!=="/"?null:t.slice(n)||"/"}var Up=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ip=t=>Up.test(t);function Pp(t,c="/"){let{pathname:n,search:l="",hash:o=""}=typeof t=="string"?K0(t):t,u;if(n)if(Ip(n))u=n;else{if(n.includes("//")){let d=n;n=n.replace(/\/\/+/g,"/"),Z4(!1,`Pathnames cannot have embedded double slashes - normalizing ${d} -> ${n}`)}n.startsWith("/")?u=ro(n.substring(1),"/"):u=ro(n,c)}else u=c;return{pathname:u,search:Gp(l),hash:Yp(o)}}function ro(t,c){let n=c.replace(/\/+$/,"").split("/");return t.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function jc(t,c,n,l){return`Cannot include a '${t}' character in a manually specified \`to.${c}\` field [${JSON.stringify(l)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function $p(t){return t.filter((c,n)=>n===0||c.route.path&&c.route.path.length>0)}function sh(t){let c=$p(t);return c.map((n,l)=>l===c.length-1?n.pathname:n.pathnameBase)}function oh(t,c,n,l=!1){let o;typeof t=="string"?o=K0(t):(o={...t},S2(!o.pathname||!o.pathname.includes("?"),jc("?","pathname","search",o)),S2(!o.pathname||!o.pathname.includes("#"),jc("#","pathname","hash",o)),S2(!o.search||!o.search.includes("#"),jc("#","search","hash",o)));let u=t===""||o.pathname==="",d=u?"/":o.pathname,m;if(d==null)m=n;else{let b=c.length-1;if(!l&&d.startsWith("..")){let y=d.split("/");for(;y[0]==="..";)y.shift(),b-=1;o.pathname=y.join("/")}m=b>=0?c[b]:"/"}let v=Pp(o,m),g=d&&d!=="/"&&d.endsWith("/"),x=(u||d===".")&&n.endsWith("/");return!v.pathname.endsWith("/")&&(g||x)&&(v.pathname+="/"),v}var S3=t=>t.join("/").replace(/\/\/+/g,"/"),Zp=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Gp=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Yp=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Kp(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var uh=["POST","PUT","PATCH","DELETE"];new Set(uh);var Qp=["GET",...uh];new Set(Qp);var Q0=f.createContext(null);Q0.displayName="DataRouter";var Ye=f.createContext(null);Ye.displayName="DataRouterState";f.createContext(!1);var hh=f.createContext({isTransitioning:!1});hh.displayName="ViewTransition";var Xp=f.createContext(new Map);Xp.displayName="Fetchers";var Wp=f.createContext(null);Wp.displayName="Await";var e3=f.createContext(null);e3.displayName="Navigation";var w5=f.createContext(null);w5.displayName="Location";var H3=f.createContext({outlet:null,matches:[],isDataRoute:!1});H3.displayName="Route";var an=f.createContext(null);an.displayName="RouteError";function Jp(t,{relative:c}={}){S2(C5(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:l}=f.useContext(e3),{hash:o,pathname:u,search:d}=S5(t,{relative:c}),m=u;return n!=="/"&&(m=u==="/"?n:S3([n,u])),l.createHref({pathname:m,search:d,hash:o})}function C5(){return f.useContext(w5)!=null}function F6(){return S2(C5(),"useLocation() may be used only in the context of a component."),f.useContext(w5).location}var dh="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function fh(t){f.useContext(e3).static||f.useLayoutEffect(t)}function nn(){let{isDataRoute:t}=f.useContext(H3);return t?dx():tx()}function tx(){S2(C5(),"useNavigate() may be used only in the context of a component.");let t=f.useContext(Q0),{basename:c,navigator:n}=f.useContext(e3),{matches:l}=f.useContext(H3),{pathname:o}=F6(),u=JSON.stringify(sh(l)),d=f.useRef(!1);return fh(()=>{d.current=!0}),f.useCallback((v,g={})=>{if(Z4(d.current,dh),!d.current)return;if(typeof v=="number"){n.go(v);return}let x=oh(v,JSON.parse(u),o,g.relative==="path");t==null&&c!=="/"&&(x.pathname=x.pathname==="/"?c:S3([c,x.pathname])),(g.replace?n.replace:n.push)(x,g.state,g)},[c,n,u,o,t])}f.createContext(null);function S5(t,{relative:c}={}){let{matches:n}=f.useContext(H3),{pathname:l}=F6(),o=JSON.stringify(sh(n));return f.useMemo(()=>oh(t,JSON.parse(o),l,c==="path"),[t,o,l,c])}function ex(t,c){return mh(t,c)}function mh(t,c,n,l,o){S2(C5(),"useRoutes() may be used only in the context of a component.");let{navigator:u}=f.useContext(e3),{matches:d}=f.useContext(H3),m=d[d.length-1],v=m?m.params:{},g=m?m.pathname:"/",x=m?m.pathnameBase:"/",b=m&&m.route;{let S=b&&b.path||"";vh(g,!b||S.endsWith("*")||S.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${g}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. +`+h.stack}}var Y1=Object.prototype.hasOwnProperty,S1=t.unstable_scheduleCallback,U1=t.unstable_cancelCallback,p1=t.unstable_shouldYield,A1=t.unstable_requestPaint,r1=t.unstable_now,b1=t.unstable_getCurrentPriorityLevel,g1=t.unstable_ImmediatePriority,C1=t.unstable_UserBlockingPriority,$1=t.unstable_NormalPriority,o1=t.unstable_LowPriority,d1=t.unstable_IdlePriority,F1=t.log,J1=t.unstable_setDisableYieldValue,g2=null,H1=null;function H2(e){if(typeof F1=="function"&&J1(e),H1&&typeof H1.setStrictMode=="function")try{H1.setStrictMode(g2,e)}catch{}}var L2=Math.clz32?Math.clz32:q1,m1=Math.log,D1=Math.LN2;function q1(e){return e>>>=0,e===0?32:31-(m1(e)/D1|0)|0}var Z2=256,Y4=262144,U6=4194304;function k1(e){var a=e&42;if(a!==0)return a;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function d2(e,a,i){var h=e.pendingLanes;if(h===0)return 0;var p=0,z=e.suspendedLanes,A=e.pingedLanes;e=e.warmLanes;var k=h&134217727;return k!==0?(h=k&~z,h!==0?p=k1(h):(A&=k,A!==0?p=k1(A):i||(i=k&~e,i!==0&&(p=k1(i))))):(k=h&~z,k!==0?p=k1(k):A!==0?p=k1(A):i||(i=h&~e,i!==0&&(p=k1(i)))),p===0?0:a!==0&&a!==p&&(a&z)===0&&(z=p&-p,i=a&-a,z>=i||z===32&&(i&4194048)!==0)?a:p}function s2(e,a){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&a)===0}function a2(e,a){switch(e){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32: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 a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function p2(){var e=U6;return U6<<=1,(U6&62914560)===0&&(U6=4194304),e}function d4(e){for(var a=[],i=0;31>i;i++)a.push(e);return a}function q4(e,a){e.pendingLanes|=a,a!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function I6(e,a,i,h,p,z){var A=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var k=e.entanglements,_=e.expirationTimes,t1=e.hiddenUpdates;for(i=A&~i;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var sm=/[\n"\\]/g;function y4(e){return e.replace(sm,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function g7(e,a,i,h,p,z,A,k){e.name="",A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?e.type=A:e.removeAttribute("type"),a!=null?A==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+b4(a)):e.value!==""+b4(a)&&(e.value=""+b4(a)):A!=="submit"&&A!=="reset"||e.removeAttribute("value"),a!=null?z7(e,A,b4(a)):i!=null?z7(e,A,b4(i)):h!=null&&e.removeAttribute("value"),p==null&&z!=null&&(e.defaultChecked=!!z),p!=null&&(e.checked=p&&typeof p!="function"&&typeof p!="symbol"),k!=null&&typeof k!="function"&&typeof k!="symbol"&&typeof k!="boolean"?e.name=""+b4(k):e.removeAttribute("name")}function sr(e,a,i,h,p,z,A,k){if(z!=null&&typeof z!="function"&&typeof z!="symbol"&&typeof z!="boolean"&&(e.type=z),a!=null||i!=null){if(!(z!=="submit"&&z!=="reset"||a!=null)){x7(e);return}i=i!=null?""+b4(i):"",a=a!=null?""+b4(a):i,k||a===e.value||(e.value=a),e.defaultValue=a}h=h??p,h=typeof h!="function"&&typeof h!="symbol"&&!!h,e.checked=k?e.checked:!!h,e.defaultChecked=!!h,A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"&&(e.name=A),x7(e)}function z7(e,a,i){a==="number"&&E5(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function K6(e,a,i,h){if(e=e.options,a){a={};for(var p=0;p"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),C7=!1;if(r3)try{var n8={};Object.defineProperty(n8,"passive",{get:function(){C7=!0}}),window.addEventListener("test",n8,n8),window.removeEventListener("test",n8,n8)}catch{C7=!1}var j3=null,S7=null,q5=null;function vr(){if(q5)return q5;var e,a=S7,i=a.length,h,p="value"in j3?j3.value:j3.textContent,z=p.length;for(e=0;e=i8),yr=" ",Mr=!1;function wr(e,a){switch(e){case"keyup":return Em.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Cr(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var J6=!1;function qm(e,a){switch(e){case"compositionend":return Cr(a);case"keypress":return a.which!==32?null:(Mr=!0,yr);case"textInput":return e=a.data,e===yr&&Mr?null:e;default:return null}}function Dm(e,a){if(J6)return e==="compositionend"||!j7&&wr(e,a)?(e=vr(),q5=S7=j3=null,J6=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:i,offset:a-e};e=h}t:{for(;i;){if(i.nextSibling){i=i.nextSibling;break t}i=i.parentNode}i=void 0}i=Nr(i)}}function Fr(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?Fr(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function Rr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var a=E5(e.document);a instanceof e.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)e=a.contentWindow;else break;a=E5(e.document)}return a}function k7(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}var Gm=r3&&"documentMode"in document&&11>=document.documentMode,t0=null,F7=null,h8=null,R7=!1;function Er(e,a,i){var h=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;R7||t0==null||t0!==E5(h)||(h=t0,"selectionStart"in h&&k7(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),h8&&u8(h8,h)||(h8=h,h=Bt(F7,"onSelect"),0>=A,p-=A,K4=1<<32-L2(a)+p|i<K1?(e2=N1,N1=null):e2=N1.sibling;var r2=c1(Y,N1,J[K1],h1);if(r2===null){N1===null&&(N1=e2);break}e&&N1&&r2.alternate===null&&a(Y,N1),Z=z(r2,Z,K1),n2===null?E1=r2:n2.sibling=r2,n2=r2,N1=e2}if(K1===J.length)return i(Y,N1),c2&&i3(Y,K1),E1;if(N1===null){for(;K1K1?(e2=N1,N1=null):e2=N1.sibling;var W3=c1(Y,N1,r2.value,h1);if(W3===null){N1===null&&(N1=e2);break}e&&N1&&W3.alternate===null&&a(Y,N1),Z=z(W3,Z,K1),n2===null?E1=W3:n2.sibling=W3,n2=W3,N1=e2}if(r2.done)return i(Y,N1),c2&&i3(Y,K1),E1;if(N1===null){for(;!r2.done;K1++,r2=J.next())r2=f1(Y,r2.value,h1),r2!==null&&(Z=z(r2,Z,K1),n2===null?E1=r2:n2.sibling=r2,n2=r2);return c2&&i3(Y,K1),E1}for(N1=h(N1);!r2.done;K1++,r2=J.next())r2=l1(N1,Y,K1,r2.value,h1),r2!==null&&(e&&r2.alternate!==null&&N1.delete(r2.key===null?K1:r2.key),Z=z(r2,Z,K1),n2===null?E1=r2:n2.sibling=r2,n2=r2);return e&&N1.forEach(function(fp){return a(Y,fp)}),c2&&i3(Y,K1),E1}function v2(Y,Z,J,h1){if(typeof J=="object"&&J!==null&&J.type===L&&J.key===null&&(J=J.props.children),typeof J=="object"&&J!==null){switch(J.$$typeof){case M:t:{for(var E1=J.key;Z!==null;){if(Z.key===E1){if(E1=J.type,E1===L){if(Z.tag===7){i(Y,Z.sibling),h1=p(Z,J.props.children),h1.return=Y,Y=h1;break t}}else if(Z.elementType===E1||typeof E1=="object"&&E1!==null&&E1.$$typeof===B&&p6(E1)===Z.type){i(Y,Z.sibling),h1=p(Z,J.props),x8(h1,J),h1.return=Y,Y=h1;break t}i(Y,Z);break}else a(Y,Z);Z=Z.sibling}J.type===L?(h1=h6(J.props.children,Y.mode,h1,J.key),h1.return=Y,Y=h1):(h1=Y5(J.type,J.key,J.props,null,Y.mode,h1),x8(h1,J),h1.return=Y,Y=h1)}return A(Y);case H:t:{for(E1=J.key;Z!==null;){if(Z.key===E1)if(Z.tag===4&&Z.stateNode.containerInfo===J.containerInfo&&Z.stateNode.implementation===J.implementation){i(Y,Z.sibling),h1=p(Z,J.children||[]),h1.return=Y,Y=h1;break t}else{i(Y,Z);break}else a(Y,Z);Z=Z.sibling}h1=U7(J,Y.mode,h1),h1.return=Y,Y=h1}return A(Y);case B:return J=p6(J),v2(Y,Z,J,h1)}if(P(J))return L1(Y,Z,J,h1);if(U(J)){if(E1=U(J),typeof E1!="function")throw Error(l(150));return J=E1.call(J),_1(Y,Z,J,h1)}if(typeof J.then=="function")return v2(Y,Z,et(J),h1);if(J.$$typeof===S)return v2(Y,Z,X5(Y,J),h1);ct(Y,J)}return typeof J=="string"&&J!==""||typeof J=="number"||typeof J=="bigint"?(J=""+J,Z!==null&&Z.tag===6?(i(Y,Z.sibling),h1=p(Z,J),h1.return=Y,Y=h1):(i(Y,Z),h1=O7(J,Y.mode,h1),h1.return=Y,Y=h1),A(Y)):i(Y,Z)}return function(Y,Z,J,h1){try{p8=0;var E1=v2(Y,Z,J,h1);return h0=null,E1}catch(N1){if(N1===u0||N1===J5)throw N1;var n2=m4(29,N1,null,Y.mode);return n2.lanes=h1,n2.return=Y,n2}finally{}}}var g6=rl(!0),ll=rl(!1),R3=!1;function t9(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function e9(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function E3(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function T3(e,a,i){var h=e.updateQueue;if(h===null)return null;if(h=h.shared,(i2&2)!==0){var p=h.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),h.pending=a,a=G5(e),Ir(e,null,i),a}return Z5(e,h,a,i),G5(e)}function g8(e,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194048)!==0)){var h=a.lanes;h&=e.pendingLanes,i|=h,a.lanes=i,L3(e,i)}}function c9(e,a){var i=e.updateQueue,h=e.alternate;if(h!==null&&(h=h.updateQueue,i===h)){var p=null,z=null;if(i=i.firstBaseUpdate,i!==null){do{var A={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};z===null?p=z=A:z=z.next=A,i=i.next}while(i!==null);z===null?p=z=a:z=z.next=a}else p=z=a;i={baseState:h.baseState,firstBaseUpdate:p,lastBaseUpdate:z,shared:h.shared,callbacks:h.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=a:e.next=a,i.lastBaseUpdate=a}var a9=!1;function z8(){if(a9){var e=o0;if(e!==null)throw e}}function b8(e,a,i,h){a9=!1;var p=e.updateQueue;R3=!1;var z=p.firstBaseUpdate,A=p.lastBaseUpdate,k=p.shared.pending;if(k!==null){p.shared.pending=null;var _=k,t1=_.next;_.next=null,A===null?z=t1:A.next=t1,A=_;var u1=e.alternate;u1!==null&&(u1=u1.updateQueue,k=u1.lastBaseUpdate,k!==A&&(k===null?u1.firstBaseUpdate=t1:k.next=t1,u1.lastBaseUpdate=_))}if(z!==null){var f1=p.baseState;A=0,u1=t1=_=null,k=z;do{var c1=k.lane&-536870913,l1=c1!==k.lane;if(l1?(t2&c1)===c1:(h&c1)===c1){c1!==0&&c1===s0&&(a9=!0),u1!==null&&(u1=u1.next={lane:0,tag:k.tag,payload:k.payload,callback:null,next:null});t:{var L1=e,_1=k;c1=a;var v2=i;switch(_1.tag){case 1:if(L1=_1.payload,typeof L1=="function"){f1=L1.call(v2,f1,c1);break t}f1=L1;break t;case 3:L1.flags=L1.flags&-65537|128;case 0:if(L1=_1.payload,c1=typeof L1=="function"?L1.call(v2,f1,c1):L1,c1==null)break t;f1=b({},f1,c1);break t;case 2:R3=!0}}c1=k.callback,c1!==null&&(e.flags|=64,l1&&(e.flags|=8192),l1=p.callbacks,l1===null?p.callbacks=[c1]:l1.push(c1))}else l1={lane:c1,tag:k.tag,payload:k.payload,callback:k.callback,next:null},u1===null?(t1=u1=l1,_=f1):u1=u1.next=l1,A|=c1;if(k=k.next,k===null){if(k=p.shared.pending,k===null)break;l1=k,k=l1.next,l1.next=null,p.lastBaseUpdate=l1,p.shared.pending=null}}while(!0);u1===null&&(_=f1),p.baseState=_,p.firstBaseUpdate=t1,p.lastBaseUpdate=u1,z===null&&(p.shared.lanes=0),U3|=A,e.lanes=A,e.memoizedState=f1}}function il(e,a){if(typeof e!="function")throw Error(l(191,e));e.call(a)}function sl(e,a){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;ez?z:8;var A=T.T,k={};T.T=k,M9(e,!1,a,i);try{var _=p(),t1=T.S;if(t1!==null&&t1(k,_),_!==null&&typeof _=="object"&&typeof _.then=="function"){var u1=cv(_,h);w8(e,a,u1,z4(e))}else w8(e,a,h,z4(e))}catch(f1){w8(e,a,{then:function(){},status:"rejected",reason:f1},z4())}finally{I.p=z,A!==null&&k.types!==null&&(A.types=k.types),T.T=A}}function sv(){}function b9(e,a,i,h){if(e.tag!==5)throw Error(l(476));var p=_l(e).queue;Dl(e,p,a,$,i===null?sv:function(){return Ol(e),i(h)})}function _l(e){var a=e.memoizedState;if(a!==null)return a;a={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:h3,lastRenderedState:$},next:null};var i={};return a.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:h3,lastRenderedState:i},next:null},e.memoizedState=a,e=e.alternate,e!==null&&(e.memoizedState=a),a}function Ol(e){var a=_l(e);a.next===null&&(a=e.alternate.memoizedState),w8(e,a.next.queue,{},z4())}function y9(){return X2(_8)}function Ul(){return N2().memoizedState}function Il(){return N2().memoizedState}function ov(e){for(var a=e.return;a!==null;){switch(a.tag){case 24:case 3:var i=z4();e=E3(i);var h=T3(a,e,i);h!==null&&(u4(h,a,i),g8(h,a,i)),a={cache:Q7()},e.payload=a;return}a=a.return}}function uv(e,a,i){var h=z4();i={lane:h,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},dt(e)?$l(a,i):(i=D7(e,a,i,h),i!==null&&(u4(i,e,h),Zl(i,a,h)))}function Pl(e,a,i){var h=z4();w8(e,a,i,h)}function w8(e,a,i,h){var p={lane:h,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(dt(e))$l(a,p);else{var z=e.alternate;if(e.lanes===0&&(z===null||z.lanes===0)&&(z=a.lastRenderedReducer,z!==null))try{var A=a.lastRenderedState,k=z(A,i);if(p.hasEagerState=!0,p.eagerState=k,f4(k,A))return Z5(e,a,p,0),x2===null&&$5(),!1}catch{}finally{}if(i=D7(e,a,p,h),i!==null)return u4(i,e,h),Zl(i,a,h),!0}return!1}function M9(e,a,i,h){if(h={lane:2,revertLane:tc(),gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},dt(e)){if(a)throw Error(l(479))}else a=D7(e,i,h,2),a!==null&&u4(a,e,2)}function dt(e){var a=e.alternate;return e===Z1||a!==null&&a===Z1}function $l(e,a){f0=rt=!0;var i=e.pending;i===null?a.next=a:(a.next=i.next,i.next=a),e.pending=a}function Zl(e,a,i){if((i&4194048)!==0){var h=a.lanes;h&=e.pendingLanes,i|=h,a.lanes=i,L3(e,i)}}var C8={readContext:X2,use:st,useCallback:V2,useContext:V2,useEffect:V2,useImperativeHandle:V2,useLayoutEffect:V2,useInsertionEffect:V2,useMemo:V2,useReducer:V2,useRef:V2,useState:V2,useDebugValue:V2,useDeferredValue:V2,useTransition:V2,useSyncExternalStore:V2,useId:V2,useHostTransitionStatus:V2,useFormState:V2,useActionState:V2,useOptimistic:V2,useMemoCache:V2,useCacheRefresh:V2};C8.useEffectEvent=V2;var Gl={readContext:X2,use:st,useCallback:function(e,a){return a4().memoizedState=[e,a===void 0?null:a],e},useContext:X2,useEffect:jl,useImperativeHandle:function(e,a,i){i=i!=null?i.concat([e]):null,ut(4194308,4,Fl.bind(null,a,e),i)},useLayoutEffect:function(e,a){return ut(4194308,4,e,a)},useInsertionEffect:function(e,a){ut(4,2,e,a)},useMemo:function(e,a){var i=a4();a=a===void 0?null:a;var h=e();if(z6){H2(!0);try{e()}finally{H2(!1)}}return i.memoizedState=[h,a],h},useReducer:function(e,a,i){var h=a4();if(i!==void 0){var p=i(a);if(z6){H2(!0);try{i(a)}finally{H2(!1)}}}else p=a;return h.memoizedState=h.baseState=p,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:p},h.queue=e,e=e.dispatch=uv.bind(null,Z1,e),[h.memoizedState,e]},useRef:function(e){var a=a4();return e={current:e},a.memoizedState=e},useState:function(e){e=v9(e);var a=e.queue,i=Pl.bind(null,Z1,a);return a.dispatch=i,[e.memoizedState,i]},useDebugValue:g9,useDeferredValue:function(e,a){var i=a4();return z9(i,e,a)},useTransition:function(){var e=v9(!1);return e=Dl.bind(null,Z1,e.queue,!0,!1),a4().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,a,i){var h=Z1,p=a4();if(c2){if(i===void 0)throw Error(l(407));i=i()}else{if(i=a(),x2===null)throw Error(l(349));(t2&127)!==0||ml(h,a,i)}p.memoizedState=i;var z={value:i,getSnapshot:a};return p.queue=z,jl(pl.bind(null,h,z,e),[e]),h.flags|=2048,v0(9,{destroy:void 0},vl.bind(null,h,z,i,a),null),i},useId:function(){var e=a4(),a=x2.identifierPrefix;if(c2){var i=Q4,h=K4;i=(h&~(1<<32-L2(h)-1)).toString(32)+i,a="_"+a+"R_"+i,i=lt++,0<\/script>",z=z.removeChild(z.firstChild);break;case"select":z=typeof h.is=="string"?A.createElement("select",{is:h.is}):A.createElement("select"),h.multiple?z.multiple=!0:h.size&&(z.size=h.size);break;default:z=typeof h.is=="string"?A.createElement(p,{is:h.is}):A.createElement(p)}}z[K2]=a,z[n4]=h;t:for(A=a.child;A!==null;){if(A.tag===5||A.tag===6)z.appendChild(A.stateNode);else if(A.tag!==4&&A.tag!==27&&A.child!==null){A.child.return=A,A=A.child;continue}if(A===a)break t;for(;A.sibling===null;){if(A.return===null||A.return===a)break t;A=A.return}A.sibling.return=A.return,A=A.sibling}a.stateNode=z;t:switch(J2(z,p,h),p){case"button":case"input":case"select":case"textarea":h=!!h.autoFocus;break t;case"img":h=!0;break t;default:h=!1}h&&f3(a)}}return y2(a),E9(a,a.type,e===null?null:e.memoizedProps,a.pendingProps,i),null;case 6:if(e&&a.stateNode!=null)e.memoizedProps!==h&&f3(a);else{if(typeof h!="string"&&a.stateNode===null)throw Error(l(166));if(e=s1.current,l0(a)){if(e=a.stateNode,i=a.memoizedProps,h=null,p=Q2,p!==null)switch(p.tag){case 27:case 5:h=p.memoizedProps}e[K2]=a,e=!!(e.nodeValue===i||h!==null&&h.suppressHydrationWarning===!0||ds(e.nodeValue,i)),e||k3(a,!0)}else e=Nt(e).createTextNode(h),e[K2]=a,a.stateNode=e}return y2(a),null;case 31:if(i=a.memoizedState,e===null||e.memoizedState!==null){if(h=l0(a),i!==null){if(e===null){if(!h)throw Error(l(318));if(e=a.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[K2]=a}else d6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;y2(a),e=!1}else i=Z7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return a.flags&256?(p4(a),a):(p4(a),null);if((a.flags&128)!==0)throw Error(l(558))}return y2(a),null;case 13:if(h=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(p=l0(a),h!==null&&h.dehydrated!==null){if(e===null){if(!p)throw Error(l(318));if(p=a.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(l(317));p[K2]=a}else d6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;y2(a),p=!1}else p=Z7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(p4(a),a):(p4(a),null)}return p4(a),(a.flags&128)!==0?(a.lanes=i,a):(i=h!==null,e=e!==null&&e.memoizedState!==null,i&&(h=a.child,p=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(p=h.alternate.memoizedState.cachePool.pool),z=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(z=h.memoizedState.cachePool.pool),z!==p&&(h.flags|=2048)),i!==e&&i&&(a.child.flags|=8192),xt(a,a.updateQueue),y2(a),null);case 4:return z1(),e===null&&nc(a.stateNode.containerInfo),y2(a),null;case 10:return o3(a.type),y2(a),null;case 19:if(G(B2),h=a.memoizedState,h===null)return y2(a),null;if(p=(a.flags&128)!==0,z=h.rendering,z===null)if(p)A8(h,!1);else{if(j2!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(z=nt(e),z!==null){for(a.flags|=128,A8(h,!1),e=z.updateQueue,a.updateQueue=e,xt(a,e),a.subtreeFlags=0,e=i,i=a.child;i!==null;)Pr(i,e),i=i.sibling;return i1(B2,B2.current&1|2),c2&&i3(a,h.treeForkCount),a.child}e=e.sibling}h.tail!==null&&r1()>Mt&&(a.flags|=128,p=!0,A8(h,!1),a.lanes=4194304)}else{if(!p)if(e=nt(z),e!==null){if(a.flags|=128,p=!0,e=e.updateQueue,a.updateQueue=e,xt(a,e),A8(h,!0),h.tail===null&&h.tailMode==="hidden"&&!z.alternate&&!c2)return y2(a),null}else 2*r1()-h.renderingStartTime>Mt&&i!==536870912&&(a.flags|=128,p=!0,A8(h,!1),a.lanes=4194304);h.isBackwards?(z.sibling=a.child,a.child=z):(e=h.last,e!==null?e.sibling=z:a.child=z,h.last=z)}return h.tail!==null?(e=h.tail,h.rendering=e,h.tail=e.sibling,h.renderingStartTime=r1(),e.sibling=null,i=B2.current,i1(B2,p?i&1|2:i&1),c2&&i3(a,h.treeForkCount),e):(y2(a),null);case 22:case 23:return p4(a),r9(),h=a.memoizedState!==null,e!==null?e.memoizedState!==null!==h&&(a.flags|=8192):h&&(a.flags|=8192),h?(i&536870912)!==0&&(a.flags&128)===0&&(y2(a),a.subtreeFlags&6&&(a.flags|=8192)):y2(a),i=a.updateQueue,i!==null&&xt(a,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),h=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(h=a.memoizedState.cachePool.pool),h!==i&&(a.flags|=2048),e!==null&&G(v6),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),a.memoizedState.cache!==i&&(a.flags|=2048),o3(T2),y2(a),null;case 25:return null;case 30:return null}throw Error(l(156,a.tag))}function vv(e,a){switch(P7(a),a.tag){case 1:return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return o3(T2),z1(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 26:case 27:case 5:return x1(a),null;case 31:if(a.memoizedState!==null){if(p4(a),a.alternate===null)throw Error(l(340));d6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 13:if(p4(a),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(l(340));d6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return G(B2),null;case 4:return z1(),null;case 10:return o3(a.type),null;case 22:case 23:return p4(a),r9(),e!==null&&G(v6),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 24:return o3(T2),null;case 25:return null;default:return null}}function xi(e,a){switch(P7(a),a.tag){case 3:o3(T2),z1();break;case 26:case 27:case 5:x1(a);break;case 4:z1();break;case 31:a.memoizedState!==null&&p4(a);break;case 13:p4(a);break;case 19:G(B2);break;case 10:o3(a.type);break;case 22:case 23:p4(a),r9(),e!==null&&G(v6);break;case 24:o3(T2)}}function H8(e,a){try{var i=a.updateQueue,h=i!==null?i.lastEffect:null;if(h!==null){var p=h.next;i=p;do{if((i.tag&e)===e){h=void 0;var z=i.create,A=i.inst;h=z(),A.destroy=h}i=i.next}while(i!==p)}}catch(k){u2(a,a.return,k)}}function _3(e,a,i){try{var h=a.updateQueue,p=h!==null?h.lastEffect:null;if(p!==null){var z=p.next;h=z;do{if((h.tag&e)===e){var A=h.inst,k=A.destroy;if(k!==void 0){A.destroy=void 0,p=a;var _=i,t1=k;try{t1()}catch(u1){u2(p,_,u1)}}}h=h.next}while(h!==z)}}catch(u1){u2(a,a.return,u1)}}function gi(e){var a=e.updateQueue;if(a!==null){var i=e.stateNode;try{sl(a,i)}catch(h){u2(e,e.return,h)}}}function zi(e,a,i){i.props=b6(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(h){u2(e,a,h)}}function L8(e,a){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var h=e.stateNode;break;case 30:h=e.stateNode;break;default:h=e.stateNode}typeof i=="function"?e.refCleanup=i(h):i.current=h}}catch(p){u2(e,a,p)}}function X4(e,a){var i=e.ref,h=e.refCleanup;if(i!==null)if(typeof h=="function")try{h()}catch(p){u2(e,a,p)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(p){u2(e,a,p)}else i.current=null}function bi(e){var a=e.type,i=e.memoizedProps,h=e.stateNode;try{t:switch(a){case"button":case"input":case"select":case"textarea":i.autoFocus&&h.focus();break t;case"img":i.src?h.src=i.src:i.srcSet&&(h.srcset=i.srcSet)}}catch(p){u2(e,e.return,p)}}function T9(e,a,i){try{var h=e.stateNode;Tv(h,e.type,i,a),h[n4]=a}catch(p){u2(e,e.return,p)}}function yi(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&G3(e.type)||e.tag===4}function q9(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||yi(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&G3(e.type)||e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function D9(e,a,i){var h=e.tag;if(h===5||h===6)e=e.stateNode,a?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,a):(a=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,a.appendChild(e),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=n3));else if(h!==4&&(h===27&&G3(e.type)&&(i=e.stateNode,a=null),e=e.child,e!==null))for(D9(e,a,i),e=e.sibling;e!==null;)D9(e,a,i),e=e.sibling}function gt(e,a,i){var h=e.tag;if(h===5||h===6)e=e.stateNode,a?i.insertBefore(e,a):i.appendChild(e);else if(h!==4&&(h===27&&G3(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(gt(e,a,i),e=e.sibling;e!==null;)gt(e,a,i),e=e.sibling}function Mi(e){var a=e.stateNode,i=e.memoizedProps;try{for(var h=e.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);J2(a,h,i),a[K2]=e,a[n4]=i}catch(z){u2(e,e.return,z)}}var m3=!1,_2=!1,_9=!1,wi=typeof WeakSet=="function"?WeakSet:Set,Y2=null;function pv(e,a){if(e=e.containerInfo,ic=Dt,e=Rr(e),k7(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else t:{i=(i=e.ownerDocument)&&i.defaultView||window;var h=i.getSelection&&i.getSelection();if(h&&h.rangeCount!==0){i=h.anchorNode;var p=h.anchorOffset,z=h.focusNode;h=h.focusOffset;try{i.nodeType,z.nodeType}catch{i=null;break t}var A=0,k=-1,_=-1,t1=0,u1=0,f1=e,c1=null;e:for(;;){for(var l1;f1!==i||p!==0&&f1.nodeType!==3||(k=A+p),f1!==z||h!==0&&f1.nodeType!==3||(_=A+h),f1.nodeType===3&&(A+=f1.nodeValue.length),(l1=f1.firstChild)!==null;)c1=f1,f1=l1;for(;;){if(f1===e)break e;if(c1===i&&++t1===p&&(k=A),c1===z&&++u1===h&&(_=A),(l1=f1.nextSibling)!==null)break;f1=c1,c1=f1.parentNode}f1=l1}i=k===-1||_===-1?null:{start:k,end:_}}else i=null}i=i||{start:0,end:0}}else i=null;for(sc={focusedElem:e,selectionRange:i},Dt=!1,Y2=a;Y2!==null;)if(a=Y2,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,Y2=e;else for(;Y2!==null;){switch(a=Y2,z=a.alternate,e=a.flags,a.tag){case 0:if((e&4)!==0&&(e=a.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i title"))),J2(z,h,i),z[K2]=e,G2(z),h=z;break t;case"link":var A=Vs("link","href",p).get(h+(i.href||""));if(A){for(var k=0;kv2&&(A=v2,v2=_1,_1=A);var Y=kr(k,_1),Z=kr(k,v2);if(Y&&Z&&(l1.rangeCount!==1||l1.anchorNode!==Y.node||l1.anchorOffset!==Y.offset||l1.focusNode!==Z.node||l1.focusOffset!==Z.offset)){var J=f1.createRange();J.setStart(Y.node,Y.offset),l1.removeAllRanges(),_1>v2?(l1.addRange(J),l1.extend(Z.node,Z.offset)):(J.setEnd(Z.node,Z.offset),l1.addRange(J))}}}}for(f1=[],l1=k;l1=l1.parentNode;)l1.nodeType===1&&f1.push({element:l1,left:l1.scrollLeft,top:l1.scrollTop});for(typeof k.focus=="function"&&k.focus(),k=0;ki?32:i,T.T=null,i=G9,G9=null;var z=P3,A=z3;if($2=0,b0=P3=null,z3=0,(i2&6)!==0)throw Error(l(331));var k=i2;if(i2|=4,Fi(z.current),Bi(z,z.current,A,i),i2=k,F8(0,!1),H1&&typeof H1.onPostCommitFiberRoot=="function")try{H1.onPostCommitFiberRoot(g2,z)}catch{}return!0}finally{I.p=p,T.T=h,Wi(e,a)}}function ts(e,a,i){a=w4(i,a),a=A9(e.stateNode,a,2),e=T3(e,a,2),e!==null&&(q4(e,2),W4(e))}function u2(e,a,i){if(e.tag===3)ts(e,e,i);else for(;a!==null;){if(a.tag===3){ts(a,e,i);break}else if(a.tag===1){var h=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(I3===null||!I3.has(h))){e=w4(i,e),i=ei(2),h=T3(a,i,2),h!==null&&(ci(i,h,a,e),q4(h,2),W4(h));break}}a=a.return}}function X9(e,a,i){var h=e.pingCache;if(h===null){h=e.pingCache=new zv;var p=new Set;h.set(a,p)}else p=h.get(a),p===void 0&&(p=new Set,h.set(a,p));p.has(i)||(I9=!0,p.add(i),e=Cv.bind(null,e,a,i),a.then(e,e))}function Cv(e,a,i){var h=e.pingCache;h!==null&&h.delete(a),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,x2===e&&(t2&i)===i&&(j2===4||j2===3&&(t2&62914560)===t2&&300>r1()-yt?(i2&2)===0&&y0(e,0):P9|=i,z0===t2&&(z0=0)),W4(e)}function es(e,a){a===0&&(a=p2()),e=u6(e,a),e!==null&&(q4(e,a),W4(e))}function Sv(e){var a=e.memoizedState,i=0;a!==null&&(i=a.retryLane),es(e,i)}function Av(e,a){var i=0;switch(e.tag){case 31:case 13:var h=e.stateNode,p=e.memoizedState;p!==null&&(i=p.retryLane);break;case 19:h=e.stateNode;break;case 22:h=e.stateNode._retryCache;break;default:throw Error(l(314))}h!==null&&h.delete(a),es(e,i)}function Hv(e,a){return S1(e,a)}var Lt=null,w0=null,W9=!1,Vt=!1,J9=!1,Z3=0;function W4(e){e!==w0&&e.next===null&&(w0===null?Lt=w0=e:w0=w0.next=e),Vt=!0,W9||(W9=!0,Vv())}function F8(e,a){if(!J9&&Vt){J9=!0;do for(var i=!1,h=Lt;h!==null;){if(e!==0){var p=h.pendingLanes;if(p===0)var z=0;else{var A=h.suspendedLanes,k=h.pingedLanes;z=(1<<31-L2(42|e)+1)-1,z&=p&~(A&~k),z=z&201326741?z&201326741|1:z?z|2:0}z!==0&&(i=!0,rs(h,z))}else z=t2,z=d2(h,h===x2?z:0,h.cancelPendingCommit!==null||h.timeoutHandle!==-1),(z&3)===0||s2(h,z)||(i=!0,rs(h,z));h=h.next}while(i);J9=!1}}function Lv(){cs()}function cs(){Vt=W9=!1;var e=0;Z3!==0&&Dv()&&(e=Z3);for(var a=r1(),i=null,h=Lt;h!==null;){var p=h.next,z=as(h,a);z===0?(h.next=null,i===null?Lt=p:i.next=p,p===null&&(w0=i)):(i=h,(e!==0||(z&3)!==0)&&(Vt=!0)),h=p}$2!==0&&$2!==5||F8(e),Z3!==0&&(Z3=0)}function as(e,a){for(var i=e.suspendedLanes,h=e.pingedLanes,p=e.expirationTimes,z=e.pendingLanes&-62914561;0k)break;var u1=_.transferSize,f1=_.initiatorType;u1&&fs(f1)&&(_=_.responseEnd,A+=u1*(_"u"?null:document;function Ss(e,a,i){var h=C0;if(h&&typeof a=="string"&&a){var p=y4(a);p='link[rel="'+e+'"][href="'+p+'"]',typeof i=="string"&&(p+='[crossorigin="'+i+'"]'),Cs.has(p)||(Cs.add(p),e={rel:e,crossOrigin:i,href:a},h.querySelector(p)===null&&(a=h.createElement("link"),J2(a,"link",e),G2(a),h.head.appendChild(a)))}}function Yv(e){b3.D(e),Ss("dns-prefetch",e,null)}function Kv(e,a){b3.C(e,a),Ss("preconnect",e,a)}function Qv(e,a,i){b3.L(e,a,i);var h=C0;if(h&&e&&a){var p='link[rel="preload"][as="'+y4(a)+'"]';a==="image"&&i&&i.imageSrcSet?(p+='[imagesrcset="'+y4(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(p+='[imagesizes="'+y4(i.imageSizes)+'"]')):p+='[href="'+y4(e)+'"]';var z=p;switch(a){case"style":z=S0(e);break;case"script":z=A0(e)}V4.has(z)||(e=b({rel:"preload",href:a==="image"&&i&&i.imageSrcSet?void 0:e,as:a},i),V4.set(z,e),h.querySelector(p)!==null||a==="style"&&h.querySelector(q8(z))||a==="script"&&h.querySelector(D8(z))||(a=h.createElement("link"),J2(a,"link",e),G2(a),h.head.appendChild(a)))}}function Xv(e,a){b3.m(e,a);var i=C0;if(i&&e){var h=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+y4(h)+'"][href="'+y4(e)+'"]',z=p;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":z=A0(e)}if(!V4.has(z)&&(e=b({rel:"modulepreload",href:e},a),V4.set(z,e),i.querySelector(p)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(D8(z)))return}h=i.createElement("link"),J2(h,"link",e),G2(h),i.head.appendChild(h)}}}function Wv(e,a,i){b3.S(e,a,i);var h=C0;if(h&&e){var p=G6(h).hoistableStyles,z=S0(e);a=a||"default";var A=p.get(z);if(!A){var k={loading:0,preload:null};if(A=h.querySelector(q8(z)))k.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":a},i),(i=V4.get(z))&&vc(e,i);var _=A=h.createElement("link");G2(_),J2(_,"link",e),_._p=new Promise(function(t1,u1){_.onload=t1,_.onerror=u1}),_.addEventListener("load",function(){k.loading|=1}),_.addEventListener("error",function(){k.loading|=2}),k.loading|=4,Ft(A,a,h)}A={type:"stylesheet",instance:A,count:1,state:k},p.set(z,A)}}}function Jv(e,a){b3.X(e,a);var i=C0;if(i&&e){var h=G6(i).hoistableScripts,p=A0(e),z=h.get(p);z||(z=i.querySelector(D8(p)),z||(e=b({src:e,async:!0},a),(a=V4.get(p))&&pc(e,a),z=i.createElement("script"),G2(z),J2(z,"link",e),i.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},h.set(p,z))}}function tp(e,a){b3.M(e,a);var i=C0;if(i&&e){var h=G6(i).hoistableScripts,p=A0(e),z=h.get(p);z||(z=i.querySelector(D8(p)),z||(e=b({src:e,async:!0,type:"module"},a),(a=V4.get(p))&&pc(e,a),z=i.createElement("script"),G2(z),J2(z,"link",e),i.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},h.set(p,z))}}function As(e,a,i,h){var p=(p=s1.current)?kt(p):null;if(!p)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(a=S0(i.href),i=G6(p).hoistableStyles,h=i.get(a),h||(h={type:"style",instance:null,count:0,state:null},i.set(a,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=S0(i.href);var z=G6(p).hoistableStyles,A=z.get(e);if(A||(p=p.ownerDocument||p,A={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},z.set(e,A),(z=p.querySelector(q8(e)))&&!z._p&&(A.instance=z,A.state.loading=5),V4.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},V4.set(e,i),z||ep(p,e,i,A.state))),a&&h===null)throw Error(l(528,""));return A}if(a&&h!==null)throw Error(l(529,""));return null;case"script":return a=i.async,i=i.src,typeof i=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=A0(i),i=G6(p).hoistableScripts,h=i.get(a),h||(h={type:"script",instance:null,count:0,state:null},i.set(a,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function S0(e){return'href="'+y4(e)+'"'}function q8(e){return'link[rel="stylesheet"]['+e+"]"}function Hs(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function ep(e,a,i,h){e.querySelector('link[rel="preload"][as="style"]['+a+"]")?h.loading=1:(a=e.createElement("link"),h.preload=a,a.addEventListener("load",function(){return h.loading|=1}),a.addEventListener("error",function(){return h.loading|=2}),J2(a,"link",i),G2(a),e.head.appendChild(a))}function A0(e){return'[src="'+y4(e)+'"]'}function D8(e){return"script[async]"+e}function Ls(e,a,i){if(a.count++,a.instance===null)switch(a.type){case"style":var h=e.querySelector('style[data-href~="'+y4(i.href)+'"]');if(h)return a.instance=h,G2(h),h;var p=b({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return h=(e.ownerDocument||e).createElement("style"),G2(h),J2(h,"style",p),Ft(h,i.precedence,e),a.instance=h;case"stylesheet":p=S0(i.href);var z=e.querySelector(q8(p));if(z)return a.state.loading|=4,a.instance=z,G2(z),z;h=Hs(i),(p=V4.get(p))&&vc(h,p),z=(e.ownerDocument||e).createElement("link"),G2(z);var A=z;return A._p=new Promise(function(k,_){A.onload=k,A.onerror=_}),J2(z,"link",h),a.state.loading|=4,Ft(z,i.precedence,e),a.instance=z;case"script":return z=A0(i.src),(p=e.querySelector(D8(z)))?(a.instance=p,G2(p),p):(h=i,(p=V4.get(z))&&(h=b({},i),pc(h,p)),e=e.ownerDocument||e,p=e.createElement("script"),G2(p),J2(p,"link",h),e.head.appendChild(p),a.instance=p);case"void":return null;default:throw Error(l(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(h=a.instance,a.state.loading|=4,Ft(h,i.precedence,e));return a.instance}function Ft(e,a,i){for(var h=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=h.length?h[h.length-1]:null,z=p,A=0;A title"):null)}function cp(e,a,i){if(i===1||a.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return e=a.disabled,typeof a.precedence=="string"&&e==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function Bs(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function ap(e,a,i,h){if(i.type==="stylesheet"&&(typeof h.media!="string"||matchMedia(h.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var p=S0(h.href),z=a.querySelector(q8(p));if(z){a=z._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(e.count++,e=Et.bind(e),a.then(e,e)),i.state.loading|=4,i.instance=z,G2(z);return}z=a.ownerDocument||a,h=Hs(h),(p=V4.get(p))&&vc(h,p),z=z.createElement("link"),G2(z);var A=z;A._p=new Promise(function(k,_){A.onload=k,A.onerror=_}),J2(z,"link",h),i.instance=z}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,a),(a=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=Et.bind(e),a.addEventListener("load",i),a.addEventListener("error",i))}}var xc=0;function np(e,a){return e.stylesheets&&e.count===0&&qt(e,e.stylesheets),0xc?50:800)+a);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(h),clearTimeout(p)}}:null}function Et(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qt(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Tt=null;function qt(e,a){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Tt=new Map,a.forEach(rp,e),Tt=null,Et.call(e))}function rp(e,a){if(!(a.state.loading&4)){var i=Tt.get(e);if(i)var h=i.get(null);else{i=new Map,Tt.set(e,i);for(var p=e.querySelectorAll("link[data-precedence],style[data-precedence]"),z=0;z"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),Ac.exports=wp(),Ac.exports}var Sp=Cp();var co="popstate";function Ap(t={}){function c(l,o){let{pathname:u,search:d,hash:m}=l.location;return pa("",{pathname:u,search:d,hash:m},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(l,o){return typeof o=="string"?o:u5(o)}return Lp(c,n,null,t)}function S2(t,c){if(t===!1||t===null||typeof t>"u")throw new Error(c)}function Z4(t,c){if(!t){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function Hp(){return Math.random().toString(36).substring(2,10)}function ao(t,c){return{usr:t.state,key:t.key,idx:c}}function pa(t,c,n=null,l){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof c=="string"?K0(c):c,state:n,key:c&&c.key||l||Hp()}}function u5({pathname:t="/",search:c="",hash:n=""}){return c&&c!=="?"&&(t+=c.charAt(0)==="?"?c:"?"+c),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function K0(t){let c={};if(t){let n=t.indexOf("#");n>=0&&(c.hash=t.substring(n),t=t.substring(0,n));let l=t.indexOf("?");l>=0&&(c.search=t.substring(l),t=t.substring(0,l)),t&&(c.pathname=t)}return c}function Lp(t,c,n,l={}){let{window:o=document.defaultView,v5Compat:u=!1}=l,d=o.history,m="POP",v=null,g=x();g==null&&(g=0,d.replaceState({...d.state,idx:g},""));function x(){return(d.state||{idx:null}).idx}function b(){m="POP";let w=x(),V=w==null?null:w-g;g=w,v&&v({action:m,location:L.location,delta:V})}function y(w,V){m="PUSH";let C=pa(L.location,w,V);g=x()+1;let S=ao(C,g),j=L.createHref(C);try{d.pushState(S,"",j)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;o.location.assign(j)}u&&v&&v({action:m,location:L.location,delta:1})}function M(w,V){m="REPLACE";let C=pa(L.location,w,V);g=x();let S=ao(C,g),j=L.createHref(C);d.replaceState(S,"",j),u&&v&&v({action:m,location:L.location,delta:0})}function H(w){return Vp(w)}let L={get action(){return m},get location(){return t(o,d)},listen(w){if(v)throw new Error("A history only accepts one active listener");return o.addEventListener(co,b),v=w,()=>{o.removeEventListener(co,b),v=null}},createHref(w){return c(o,w)},createURL:H,encodeLocation(w){let V=H(w);return{pathname:V.pathname,search:V.search,hash:V.hash}},push:y,replace:M,go(w){return d.go(w)}};return L}function Vp(t,c=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),S2(n,"No window.location.(origin|href) available to create URL");let l=typeof t=="string"?t:u5(t);return l=l.replace(/ $/,"%20"),!c&&l.startsWith("//")&&(l=n+l),new URL(l,n)}function rh(t,c,n="/"){return jp(t,c,n,!1)}function jp(t,c,n,l){let o=typeof c=="string"?K0(c):c,u=A3(o.pathname||"/",n);if(u==null)return null;let d=lh(t);Bp(d);let m=null;for(let v=0;m==null&&v{let x={relativePath:g===void 0?d.path||"":g,caseSensitive:d.caseSensitive===!0,childrenIndex:m,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(l)&&v)return;S2(x.relativePath.startsWith(l),`Absolute route path "${x.relativePath}" nested under path "${l}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(l.length)}let b=S3([l,x.relativePath]),y=n.concat(x);d.children&&d.children.length>0&&(S2(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),lh(d.children,c,y,b,v)),!(d.path==null&&!d.index)&&c.push({path:b,score:qp(b,d.index),routesMeta:y})};return t.forEach((d,m)=>{if(d.path===""||!d.path?.includes("?"))u(d,m);else for(let v of ih(d.path))u(d,m,!0,v)}),c}function ih(t){let c=t.split("/");if(c.length===0)return[];let[n,...l]=c,o=n.endsWith("?"),u=n.replace(/\?$/,"");if(l.length===0)return o?[u,""]:[u];let d=ih(l.join("/")),m=[];return m.push(...d.map(v=>v===""?u:[u,v].join("/"))),o&&m.push(...d),m.map(v=>t.startsWith("/")&&v===""?"/":v)}function Bp(t){t.sort((c,n)=>c.score!==n.score?n.score-c.score:Dp(c.routesMeta.map(l=>l.childrenIndex),n.routesMeta.map(l=>l.childrenIndex)))}var Np=/^:[\w-]+$/,kp=3,Fp=2,Rp=1,Ep=10,Tp=-2,no=t=>t==="*";function qp(t,c){let n=t.split("/"),l=n.length;return n.some(no)&&(l+=Tp),c&&(l+=Fp),n.filter(o=>!no(o)).reduce((o,u)=>o+(Np.test(u)?kp:u===""?Rp:Ep),l)}function Dp(t,c){return t.length===c.length&&t.slice(0,-1).every((l,o)=>l===c[o])?t[t.length-1]-c[c.length-1]:0}function _p(t,c,n=!1){let{routesMeta:l}=t,o={},u="/",d=[];for(let m=0;m{if(x==="*"){let H=m[y]||"";d=u.slice(0,u.length-H.length).replace(/(.)\/+$/,"$1")}const M=m[y];return b&&!M?g[x]=void 0:g[x]=(M||"").replace(/%2F/g,"/"),g},{}),pathname:u,pathnameBase:d,pattern:t}}function Op(t,c=!1,n=!0){Z4(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let l=[],o="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,m,v)=>(l.push({paramName:m,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(l.push({paramName:"*"}),o+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":t!==""&&t!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,c?void 0:"i"),l]}function Up(t){try{return t.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return Z4(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),t}}function A3(t,c){if(c==="/")return t;if(!t.toLowerCase().startsWith(c.toLowerCase()))return null;let n=c.endsWith("/")?c.length-1:c.length,l=t.charAt(n);return l&&l!=="/"?null:t.slice(n)||"/"}var Ip=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Pp=t=>Ip.test(t);function $p(t,c="/"){let{pathname:n,search:l="",hash:o=""}=typeof t=="string"?K0(t):t,u;if(n)if(Pp(n))u=n;else{if(n.includes("//")){let d=n;n=n.replace(/\/\/+/g,"/"),Z4(!1,`Pathnames cannot have embedded double slashes - normalizing ${d} -> ${n}`)}n.startsWith("/")?u=ro(n.substring(1),"/"):u=ro(n,c)}else u=c;return{pathname:u,search:Yp(l),hash:Kp(o)}}function ro(t,c){let n=c.replace(/\/+$/,"").split("/");return t.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function jc(t,c,n,l){return`Cannot include a '${t}' character in a manually specified \`to.${c}\` field [${JSON.stringify(l)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Zp(t){return t.filter((c,n)=>n===0||c.route.path&&c.route.path.length>0)}function sh(t){let c=Zp(t);return c.map((n,l)=>l===c.length-1?n.pathname:n.pathnameBase)}function oh(t,c,n,l=!1){let o;typeof t=="string"?o=K0(t):(o={...t},S2(!o.pathname||!o.pathname.includes("?"),jc("?","pathname","search",o)),S2(!o.pathname||!o.pathname.includes("#"),jc("#","pathname","hash",o)),S2(!o.search||!o.search.includes("#"),jc("#","search","hash",o)));let u=t===""||o.pathname==="",d=u?"/":o.pathname,m;if(d==null)m=n;else{let b=c.length-1;if(!l&&d.startsWith("..")){let y=d.split("/");for(;y[0]==="..";)y.shift(),b-=1;o.pathname=y.join("/")}m=b>=0?c[b]:"/"}let v=$p(o,m),g=d&&d!=="/"&&d.endsWith("/"),x=(u||d===".")&&n.endsWith("/");return!v.pathname.endsWith("/")&&(g||x)&&(v.pathname+="/"),v}var S3=t=>t.join("/").replace(/\/\/+/g,"/"),Gp=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Yp=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Kp=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Qp(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var uh=["POST","PUT","PATCH","DELETE"];new Set(uh);var Xp=["GET",...uh];new Set(Xp);var Q0=f.createContext(null);Q0.displayName="DataRouter";var Ke=f.createContext(null);Ke.displayName="DataRouterState";f.createContext(!1);var hh=f.createContext({isTransitioning:!1});hh.displayName="ViewTransition";var Wp=f.createContext(new Map);Wp.displayName="Fetchers";var Jp=f.createContext(null);Jp.displayName="Await";var e3=f.createContext(null);e3.displayName="Navigation";var w5=f.createContext(null);w5.displayName="Location";var H3=f.createContext({outlet:null,matches:[],isDataRoute:!1});H3.displayName="Route";var cn=f.createContext(null);cn.displayName="RouteError";function tx(t,{relative:c}={}){S2(C5(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:l}=f.useContext(e3),{hash:o,pathname:u,search:d}=S5(t,{relative:c}),m=u;return n!=="/"&&(m=u==="/"?n:S3([n,u])),l.createHref({pathname:m,search:d,hash:o})}function C5(){return f.useContext(w5)!=null}function F6(){return S2(C5(),"useLocation() may be used only in the context of a component."),f.useContext(w5).location}var dh="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function fh(t){f.useContext(e3).static||f.useLayoutEffect(t)}function an(){let{isDataRoute:t}=f.useContext(H3);return t?fx():ex()}function ex(){S2(C5(),"useNavigate() may be used only in the context of a component.");let t=f.useContext(Q0),{basename:c,navigator:n}=f.useContext(e3),{matches:l}=f.useContext(H3),{pathname:o}=F6(),u=JSON.stringify(sh(l)),d=f.useRef(!1);return fh(()=>{d.current=!0}),f.useCallback((v,g={})=>{if(Z4(d.current,dh),!d.current)return;if(typeof v=="number"){n.go(v);return}let x=oh(v,JSON.parse(u),o,g.relative==="path");t==null&&c!=="/"&&(x.pathname=x.pathname==="/"?c:S3([c,x.pathname])),(g.replace?n.replace:n.push)(x,g.state,g)},[c,n,u,o,t])}f.createContext(null);function S5(t,{relative:c}={}){let{matches:n}=f.useContext(H3),{pathname:l}=F6(),o=JSON.stringify(sh(n));return f.useMemo(()=>oh(t,JSON.parse(o),l,c==="path"),[t,o,l,c])}function cx(t,c){return mh(t,c)}function mh(t,c,n,l,o){S2(C5(),"useRoutes() may be used only in the context of a component.");let{navigator:u}=f.useContext(e3),{matches:d}=f.useContext(H3),m=d[d.length-1],v=m?m.params:{},g=m?m.pathname:"/",x=m?m.pathnameBase:"/",b=m&&m.route;{let C=b&&b.path||"";vh(g,!b||C.endsWith("*")||C.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${g}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let y=F6(),M;if(c){let S=typeof c=="string"?K0(c):c;S2(x==="/"||S.pathname?.startsWith(x),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${x}" but pathname "${S.pathname}" was given in the \`location\` prop.`),M=S}else M=y;let H=M.pathname||"/",L=H;if(x!=="/"){let S=x.replace(/^\//,"").split("/");L="/"+H.replace(/^\//,"").split("/").slice(S.length).join("/")}let w=rh(t,{pathname:L});Z4(b||w!=null,`No routes matched location "${M.pathname}${M.search}${M.hash}" `),Z4(w==null||w[w.length-1].route.element!==void 0||w[w.length-1].route.Component!==void 0||w[w.length-1].route.lazy!==void 0,`Matched leaf route at location "${M.pathname}${M.search}${M.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let V=lx(w&&w.map(S=>Object.assign({},S,{params:Object.assign({},v,S.params),pathname:S3([x,u.encodeLocation?u.encodeLocation(S.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathname]),pathnameBase:S.pathnameBase==="/"?x:S3([x,u.encodeLocation?u.encodeLocation(S.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathnameBase])})),d,n,l,o);return c&&V?f.createElement(w5.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...M},navigationType:"POP"}},V):V}function cx(){let t=hx(),c=Kp(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,l="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:l},u={padding:"2px 4px",backgroundColor:l},d=null;return console.error("Error handled by React Router default ErrorBoundary:",t),d=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:u},"ErrorBoundary")," or"," ",f.createElement("code",{style:u},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},c),n?f.createElement("pre",{style:o},n):null,d)}var ax=f.createElement(cx,null),nx=class extends f.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,c){return c.location!==t.location||c.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:c.error,location:c.location,revalidation:t.revalidation||c.revalidation}}componentDidCatch(t,c){this.props.onError?this.props.onError(t,c):console.error("React Router caught the following error during render",t)}render(){return this.state.error!==void 0?f.createElement(H3.Provider,{value:this.props.routeContext},f.createElement(an.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function rx({routeContext:t,match:c,children:n}){let l=f.useContext(Q0);return l&&l.static&&l.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=c.route.id),f.createElement(H3.Provider,{value:t},n)}function lx(t,c=[],n=null,l=null,o=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(c.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let u=t,d=n?.errors;if(d!=null){let x=u.findIndex(b=>b.route.id&&d?.[b.route.id]!==void 0);S2(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),u=u.slice(0,Math.min(u.length,x+1))}let m=!1,v=-1;if(n)for(let x=0;x=0?u=u.slice(0,v+1):u=[u[0]];break}}}let g=n&&l?(x,b)=>{l(x,{location:n.location,params:n.matches?.[0]?.params??{},errorInfo:b})}:void 0;return u.reduceRight((x,b,y)=>{let M,H=!1,L=null,w=null;n&&(M=d&&b.route.id?d[b.route.id]:void 0,L=b.route.errorElement||ax,m&&(v<0&&y===0?(vh("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),H=!0,w=null):v===y&&(H=!0,w=b.route.hydrateFallbackElement||null)));let V=c.concat(u.slice(0,y+1)),S=()=>{let C;return M?C=L:H?C=w:b.route.Component?C=f.createElement(b.route.Component,null):b.route.element?C=b.route.element:C=x,f.createElement(rx,{match:b,routeContext:{outlet:x,matches:V,isDataRoute:n!=null},children:C})};return n&&(b.route.ErrorBoundary||b.route.errorElement||y===0)?f.createElement(nx,{location:n.location,revalidation:n.revalidation,component:L,error:M,children:S(),routeContext:{outlet:null,matches:V,isDataRoute:!0},onError:g}):S()},null)}function rn(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function ix(t){let c=f.useContext(Q0);return S2(c,rn(t)),c}function sx(t){let c=f.useContext(Ye);return S2(c,rn(t)),c}function ox(t){let c=f.useContext(H3);return S2(c,rn(t)),c}function ln(t){let c=ox(t),n=c.matches[c.matches.length-1];return S2(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function ux(){return ln("useRouteId")}function hx(){let t=f.useContext(an),c=sx("useRouteError"),n=ln("useRouteError");return t!==void 0?t:c.errors?.[n]}function dx(){let{router:t}=ix("useNavigate"),c=ln("useNavigate"),n=f.useRef(!1);return fh(()=>{n.current=!0}),f.useCallback(async(o,u={})=>{Z4(n.current,dh),n.current&&(typeof o=="number"?t.navigate(o):await t.navigate(o,{fromRouteId:c,...u}))},[t,c])}var lo={};function vh(t,c,n){!c&&!lo[t]&&(lo[t]=!0,Z4(!1,n))}f.memo(fx);function fx({routes:t,future:c,state:n,unstable_onError:l}){return mh(t,void 0,n,l,c)}function y3(t){S2(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function mx({basename:t="/",children:c=null,location:n,navigationType:l="POP",navigator:o,static:u=!1}){S2(!C5(),"You cannot render a inside another . You should never have more than one in your app.");let d=t.replace(/^\/*/,"/"),m=f.useMemo(()=>({basename:d,navigator:o,static:u,future:{}}),[d,o,u]);typeof n=="string"&&(n=K0(n));let{pathname:v="/",search:g="",hash:x="",state:b=null,key:y="default"}=n,M=f.useMemo(()=>{let H=A3(v,d);return H==null?null:{location:{pathname:H,search:g,hash:x,state:b,key:y},navigationType:l}},[d,v,g,x,b,y,l]);return Z4(M!=null,` is not able to match the URL "${v}${g}${x}" because it does not start with the basename, so the won't render anything.`),M==null?null:f.createElement(e3.Provider,{value:m},f.createElement(w5.Provider,{children:c,value:M}))}function vx({children:t,location:c}){return ex(ga(t),c)}function ga(t,c=[]){let n=[];return f.Children.forEach(t,(l,o)=>{if(!f.isValidElement(l))return;let u=[...c,o];if(l.type===f.Fragment){n.push.apply(n,ga(l.props.children,u));return}S2(l.type===y3,`[${typeof l.type=="string"?l.type:l.type.name}] is not a component. All component children of must be a or `),S2(!l.props.index||!l.props.children,"An index route cannot have child routes.");let d={id:l.props.id||u.join("-"),caseSensitive:l.props.caseSensitive,element:l.props.element,Component:l.props.Component,index:l.props.index,path:l.props.path,middleware:l.props.middleware,loader:l.props.loader,action:l.props.action,hydrateFallbackElement:l.props.hydrateFallbackElement,HydrateFallback:l.props.HydrateFallback,errorElement:l.props.errorElement,ErrorBoundary:l.props.ErrorBoundary,hasErrorBoundary:l.props.hasErrorBoundary===!0||l.props.ErrorBoundary!=null||l.props.errorElement!=null,shouldRevalidate:l.props.shouldRevalidate,handle:l.props.handle,lazy:l.props.lazy};l.props.children&&(d.children=ga(l.props.children,u)),n.push(d)}),n}var pe="get",xe="application/x-www-form-urlencoded";function Ke(t){return t!=null&&typeof t.tagName=="string"}function px(t){return Ke(t)&&t.tagName.toLowerCase()==="button"}function xx(t){return Ke(t)&&t.tagName.toLowerCase()==="form"}function gx(t){return Ke(t)&&t.tagName.toLowerCase()==="input"}function zx(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function bx(t,c){return t.button===0&&(!c||c==="_self")&&!zx(t)}var Zt=null;function yx(){if(Zt===null)try{new FormData(document.createElement("form"),0),Zt=!1}catch{Zt=!0}return Zt}var Mx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Bc(t){return t!=null&&!Mx.has(t)?(Z4(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${xe}"`),null):t}function wx(t,c){let n,l,o,u,d;if(xx(t)){let m=t.getAttribute("action");l=m?A3(m,c):null,n=t.getAttribute("method")||pe,o=Bc(t.getAttribute("enctype"))||xe,u=new FormData(t)}else if(px(t)||gx(t)&&(t.type==="submit"||t.type==="image")){let m=t.form;if(m==null)throw new Error('Cannot submit a