diff --git a/.gitignore b/.gitignore
index 217e803..d5a9106 100644
--- a/.gitignore
+++ b/.gitignore
@@ -115,5 +115,5 @@ firebase/.env
deploy.ps1
macbuild.sh
Usage.md
-dist-electron
-.idea
\ No newline at end of file
+.idea
+/dist-electron/
diff --git a/dist-electron/main.cjs b/dist-electron/main.cjs
deleted file mode 100644
index cd1e1fa..0000000
--- a/dist-electron/main.cjs
+++ /dev/null
@@ -1,178 +0,0 @@
-var p=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Pe=p((Tr,Rt)=>{Rt.exports={webcontent:"webcontent-send",quit:"quit-app",test:{start:"test-start"},app:{toMain:{setAcceptableInsCoNm:"setAcceptableInsCoNm",setUserName:"setUserName",track:"analytics_track",checkForUpdates:"app_checkForUpdates",downloadUpdates:"app_downloadUpdates",installUpdates:"app_installupdates",getReleaseNotes:"app_getReleaseNotes",getAppVersion:"app_getApVersion",importJob:"app_importJob",setReleaseChannel:"app_setReleaseChannel",scrubEstimate:"app_scrubEstimate",openExternalWindow:"app_openExternalWindow",setInsRuleSet:"app_setInsRuleSet",log:{info:"app_logInfo",debug:"app_logDebug",warn:"app_logWarn",error:"app_logError",silly:"app_logSilly"}},toRenderer:{updateAvailable:"app_updateAvailable",downloadProgress:"app_downloadProgress",signOut:"app_signOut",setReleaseNotes:"app_setReleaseNotes",appVersion:"app_appVersion",scrubResults:"app_scrubResults",scrubError:"app_scrubError"}},store:{get:"store__get",getAll:"store_getAll",set:"store_set",response:"store_response"},fileScan:{toMain:{scanFilePaths:"fileScan__scanFilePaths",importJob:"fileScan__importJob",deleteAllEms:"filescan_deleteAllEms"},toRenderer:{scanFilePathsResponse:"fileScan__scanFilePathsResponse"}},fileWatcher:{toMain:{filepathsGet:"filewatcher__filepathsget",start:"filewatcher__start",stop:"filewatcher__stop",addPath:"filewatcher__addPath",removePath:"filewatcher__removePath",setPolling:"filewatcher__setPolling"},toRenderer:{filepathsList:"filewatcher__filepathslist",startSuccess:"filewatcher__start-success",startFailure:"filewatcher__start-failure",stopSuccess:"filewatcher__stop-success",error:"filewatcher__error",getPolling:"filewatcher__getPolling"}},audit:{toMain:{browseForFile:"audit__browseForFile",runAudit:"audit__runAudit",readFile:"audit__readFile"},toRenderer:{auditFilePath:"audit__filepath",auditClaimsArray:"audit_claimsArray",auditError:"audit__auditError"}},estimate:{toRenderer:{estimateDecodeStart:"estimatedecode__start",estimateDecodeSuccess:"estimatedecode__success",estimateDecodeFailure:"estimatedecode__failure",getCloseDate:"getclosedate"}}}});var P=p(Ne=>{Ne.default=Pe()});var R=p(Ae=>{var{randomUUID:bt}=require("crypto"),Pt=require("electron-store"),Nt=new Pt({defaults:{deviceId:bt(),showChangeLog:!0,enableNotifications:!0,filePaths:[],accepted_ins_co:[],runWatcherOnStartup:!0,polling:{enabled:!1,pollingInterval:3e4},ins_rule_set:null}});Ae.store=Nt});var ae=p(Ie=>{var{Notification:At}=require("electron"),It=require("path"),{store:vt}=R();function St(e){vt.get("enableNotifications")&&At({icon:It.join(__dirname,"../../src/assets/logo512.png"),...e}).show()}Ie.NewNotification=St});var Se=p(ve=>{var L=require("moment"),Et=[{title:"V1",range:[L("2010-01-01"),L("2023-04-01")]},{title:"V2",range:[L("2023-04-01"),L("2024-09-01")]},{title:"V3",range:[L("2024-09-01"),L("2040-01-01")]}];function Ct(e){let t=e?L(e):L();return Et.find(a=>t.isSameOrAfter(a.range[0])&&t.isBefore(a.range[1]))?.title}ve.WhichRulesetToApply=Ct});var Ce=p(Ee=>{var{DBFFile:kr}=require("dbffile"),Ur=require("path"),Vr=require("lodash"),Br=require("electron-log"),{store:$r}=R(),{BrowserWindow:Gr}=require("electron"),Jr=P();Ee.claimsClerk=({jobline:e,joblines:t})=>Lt.map(a=>a({jobline:e,joblines:t})).filter(a=>a!==null);var Lt=[({jobline:e,joblines:t})=>e.db_hrs!==0&&e.mod_lb_hrs!==e.db_hrs&&e.lbr_inc===!1&&e.lbr_hrs_j===!0?{key:"Manual labor Time Change",alert:`
- Labor time manually changed from original CEG time.
-
- - This could possibly be denied by MPI.
- - Ensure labor time is accurate & justified.
- - Add an explanation line if needed.
-
-
`}:null,({jobline:e,joblines:t})=>e.db_ref==="900500"&&e.mod_lb_hrs!==e.db_hrs?{key:"Manual Labor Line",alert:`
- Manually entered labor line detected.
-
- - Always ensure the labor operation you manually entered was not available in CEG.
- - Make sure there are no overlaps with other labor lines to consider.
-
-
`}:null,({jobline:e,joblines:t})=>e.db_ref!=="900500"&&e.part_type&&e.oem_partno&&e.price_j?e.act_price
- Modified part price detected.
-
- -
- You will need to supply MPI with an invoice for this part showing the retail price you manually
- entered.
-
- -
- Your manually entered price is LOWER than the database price, consider reverting back to database
- price.
-
- - If you chose to leave the manually entered price, you will need to:
- - Supply MPI with an invoice for this part showing the retail price you manually entered
- - NOTE: You do not need to show MPI your cost on this part, only retail.
-
- `}:{key:"Modified Part Price",alert:`
- Modified part price detected.
-
- -
- You will need to supply MPI with an invoice for this part showing the retail price you manually
- entered.
-
- - NOTE: You do not need to show MPI your cost on this part, only retail.
-
-
`}:null,({jobline:e,joblines:t})=>{if((e.part_type==="PAA"||e.part_type==="PAL")&&e.alt_partno&&e.act_prices.line_no===e.line_no);if(!t[r+1]?.line_desc.includes("price"))return{key:"Missing pricematch explanation",alert:"In that explanation line (900501) we are looking for the words \u201Cpricematch\u201D or \u201Cprice\u201D & \u201Cmatch\u201D.
"}}return null},({jobline:e,joblines:t})=>null,({jobline:e,joblines:t})=>e.part_type&&e.part_qty!==1?{key:"Quantity Changed",alert:`
- Quantity manual change detected.
-
- -
- MPI Estimating Standard outline that every part should have 1 line rather than manually changing the
- quantity.
-
- - Leaving the quantity modified MAY affect your RPS score.
- -
- Consider creating manual entry lines for each part which will also disqualify those parts from your RPS
- calculation.
-
-
-
`}:null]});var G=p(K=>{var{DBFFile:b}=require("dbffile"),Q=require("path"),N=require("lodash"),h=require("electron-log"),{store:se}=R(),{BrowserWindow:Me}=require("electron"),xe=P(),{NewNotification:Le}=ae(),{WhichRulesetToApply:Ft}=Se(),{claimsClerk:Yr}=Ce();async function Mt(e){let t=Q.parse(e),r=Q.join(t.dir,t.name),a=await qe(r);Me.getAllWindows()[0].webContents.send(xe.default.estimate.toRenderer.getCloseDate,{filepath:e,clm_no:a.CLM_NO})}async function xt(e,t){let r=await Te(e,!1,t),a=Me.getAllWindows()[0];r&&!r.ERROR?(a.webContents.send(xe.default.estimate.toRenderer.estimateDecodeSuccess,r),h.info(`Sent job for upload. ${r.clm_no}`),Le({title:"Job Uploaded",body:"A new job has been uploaded."})):(h.info(`Ignored job. ${r.ERROR}`),Le({title:"Job Ignored",body:r.ERROR}))}K.ImportJobWithCloseDate=xt;async function Te(e,t=!1,r=null){let a=Q.parse(e),s=Q.join(a.dir,a.name),o={...await qe(s),...await Dt(s),...await Ot(s),...await Wt(s,r),...await kt(s),...await Vt(s),...await qt(s),...await Ut(s),...t?{filePath:e}:{}},i=await Tt(s);o.rates=[...o.rates||[],...o.mat_rates||[]],delete o.mat_rates,o.insp_date=i.INSP_DATE;let g=se.get("ins_rule_set");(o.OWNR_FN===""||!o.OWNR_FN)&&(o.OWNR_FN=i.CLMT_FN),(o.OWNR_LN===""||!o.OWNR_LN)&&(o.OWNR_LN=i.CLMT_LN),g==="SGI"&&((o.OWNR_FN===""||!o.OWNR_FN)&&(o.OWNR_FN=o.INSD_FN),(o.OWNR_LN===""||!o.OWNR_LN)&&(o.OWNR_LN=o.INSD_LN)),o.OWNR_CO_NM&&(o.OWNR_LN=`${o.OWNR_LN} ${o.OWNR_CO_NM}`),delete o.OWNR_CO_NM,delete o.INSD_LN,delete o.INSD_FN;let _=se.get("accepted_ins_co"),f;return _.includes(o.INS_CO_NM)?o.CLM_NO?g==="MPI"&&!(o.CLM_NO.match("-01$")||o.CLM_NO.match("-99$"))?(h.info("Job ignored. This is not a -01 or -99 claim. Claim #. "+o.CLM_NO),f={ERROR:"Job ignored. This is not a -01 or -99 claim. Claim #. "+o.CLM_NO}):(delete o.LOSS_TYPE,f=N.transform(o,function(W,M,x){W[x.toLowerCase()]=M})):(h.info("Job ignored. No claim #. "),f={ERROR:"An unique claim number must be set for all jobs sent to RPS."}):f={ERROR:`Insurance Company Name is not valid for RPS. (${o.INS_CO_NM||"No name set"})`},f}async function qe(e){let t;try{t=await b.open(`${e}A.AD1`)}catch(r){h.error("Error opening AD1 File.",r),t=await b.open(`${e}.AD1`),t&&h.log("Found AD1 file using regular CIECA Id.")}finally{if(!t)return{};let r=await t.readRecords(1);return N.pick(r[0],["INS_CO_NM","DED_AMT","CLM_NO","LOSS_DATE","LOSS_TYPE","LOSS_DESC","THEFT_IND","TLOS_IND","INSD_LN","INSD_FN","OWNR_LN","OWNR_FN","OWNR_CO_NM","OWNR_ADDR1","OWNR_CITY","OWNR_PH1"])}}async function Tt(e){let t;try{t=await b.open(`${e}B.AD2`)}catch(r){h.error("Error opening AD2 File.",r),t=await b.open(`${e}.AD2`),t&&h.log("Found AD2 file using regular CIECA Id.")}finally{if(!t)return{};let r=await t.readRecords(1);return N.pick(r[0],["CLMT_LN","CLMT_FN","INSP_DATE"])}}async function qt(e){let t;try{t=await b.open(`${e}.PFH`)}catch(r){h.error("Error opening PFH File.",r)}finally{if(!t)return{};let r=await t.readRecords(1);return N.pick(r[0],["ID_PRO_NAM"])}}async function Dt(e){let t;try{t=await b.open(`${e}V.VEH`)}catch(r){h.error("Error opening VEH File.",r),t=await b.open(`${e}.VEH`),t&&h.log("Found VEH file using regular CIECA Id.")}finally{if(!t)return{};let r=await t.readRecords(1);return N.pick(r[0],["IMPACT_1","IMPACT_2","V_VIN","V_MODEL_YR","V_MAKEDESC","V_MODEL","V_TYPE","V_MILEAGE","V_STAGE"])}}async function Ot(e){let r=await(await b.open(`${e}.TTL`)).readRecords(1);return{clm_total:r[0].G_TTL_AMT,supp_amt:r[0].SUPP_AMT,g_bett_amt:r[0].G_BETT_AMT}}async function Wt(e,t){let s=(await(await b.open(`${e}.LIN`)).readRecords()).map(i=>N.transform(N.pick(i,["LINE_NO","LINE_IND","LINE_REF","DB_REF","UNQ_SEQ","LINE_DESC","PART_TYPE","PRT_DSMK_M","OEM_PARTNO","PRICE_INC","TAX_PART","DB_PRICE","ACT_PRICE","PART_QTY","PRICE_J","GLASS_FLAG","CERT_PART","ALT_PARTNO","PRT_DSMK_P","MOD_LBR_TY","DB_HRS","MOD_LB_HRS","LBR_INC","LBR_OP","LBR_HRS_J","LBR_OP_J","LBR_AMT","MISC_AMT"]),function(g,_,f){if(f==="UNQ_SEQ"){g[f.toLowerCase()]=_.toString();return}g[f.toLowerCase()]=_})),o=se.get("ins_rule_set");return s.map(i=>{switch(i.ignore=!1,o){case"SGI":i=Bt(i,s);break;case"MPI":switch(Ft(t)){case"V1":i=De(i,s);break;case"V2":i=Oe(i,s);break;case"V3":i=Fe(i,s);break;default:i=Fe(i,s);break}break;default:h.info("Using default ruleset (MPI).");break}return i}),{joblines:{data:s}}}async function kt(e){return{rates:(await(await b.open(`${e}.PFL`)).readRecords()).map(s=>N.pick(s,["LBR_TYPE","LBR_DESC","LBR_RATE"]))}}async function Ut(e){return{totals:(await(await b.open(`${e}.STL`)).readRecords()).map(s=>N.pick(s,["TTL_TYPECD","T_AMT","T_HRS","NT_HRS"]))}}async function Vt(e){return{mat_rates:(await(await b.open(`${e}.PFM`)).readRecords()).map(s=>N.pick(s,["MATL_TYPE","CAL_PRETHR"]))}}K.DecodeEstimate=Te;K.ImportJob=Mt;function De(e,t){if((e.part_type==="PAN"||e.part_type==="PAA")&&e.line_desc.toLowerCase().includes("wheel")&&Math.abs(e.prt_dsmk_m)===Math.round(e.act_price/2*100)/100&&(h.info(`Jobline '${e.line_desc}' ignored due to wheel repair.`),e.ignore=!0),e.part_type==="PAN"&&e.db_price!==e.act_price&&e.db_price!==0&&(e.db_price=e.act_price),(e.part_type==="PAA"||e.part_type==="PAL"||e.part_type==="PAN")&&e.db_price===0&&(e.ignore=!0),e.part_type!=="PAL"&&e.act_price===0&&e.price_j&&(h.info(`Jobline '${e.line_desc}' ignored because it was manually changed to 0..`),e.ignore=!0),e.line_desc.toLowerCase().includes("glass")&&e.oem_partno.match("[A-Z]{2}[0-9]{5,6}[A-Z]{3}")&&(console.log(e.line_desc,"NAGS Line ignored"),e.ignore=!0),(!e.part_type||e.db_ref.startsWith("900")||e.line_desc.toLowerCase().startsWith("urethane")||e.line_desc.toLowerCase().startsWith("w/shield adhesive")||e.line_desc.toLowerCase().includes("tire")&&!e.line_desc.toLowerCase().includes("sensor")&&!e.line_desc.toLowerCase().includes("label")||e.line_desc.toLowerCase().startsWith("hazardous")||e.line_desc.toLowerCase().startsWith("detail")||e.line_desc.toLowerCase().startsWith("clean")||e.part_type.toUpperCase()==="PAS"||e.part_type.toUpperCase()==="PASL"||e.part_type.toUpperCase()==="PAE")&&(e.ignore=!0),e.db_ref==="900511"&&e.prt_dsmk_p!==50){e.ignore=!1,e.act_price=e.prt_dsmk_m;let r=t.find(a=>parseInt(a.unq_seq)===e.line_ref);r&&r.ignore&&(e.ignore=!0)}return e.oem_partno.toLowerCase().includes("/rps-exclude")?e.ignore=!0:e.oem_partno.toLowerCase().includes("/rps")&&(e.ignore=!1),e}function Oe(e,t){return De(e,t),e.mod_lbr_ty?.toUpperCase()==="LAG"&&(e.ignore=!0),We.some(r=>e.line_desc.toLowerCase().includes(r))&&(e.ignore=!0),ke.some(r=>e.line_desc.toLowerCase().includes(r))&&(e.ignore=!0),e}function Fe(e,t){return Oe(e,t),e}function Bt(e,t){if(e.part_type==="PAN"&&e.db_price!==e.act_price&&e.db_price!==0&&(e.db_price=e.act_price),(e.part_type==="PAA"||e.part_type==="PAL"||e.part_type==="PAN")&&e.db_price===0&&(e.ignore=!0),e.part_type!=="PAL"&&e.act_price===0&&e.price_j&&(h.info(`Jobline '${e.line_desc}' ignored because it was manually changed to 0..`),e.ignore=!0),e.line_desc.toLowerCase().includes("glass")&&e.oem_partno.match("[A-Z]{2}[0-9]{5,6}[A-Z]{3}")&&(console.log(e.line_desc,"NAGS Line ignored"),e.ignore=!0),(!e.part_type||e.db_ref.startsWith("900")||e.line_desc.toLowerCase().startsWith("urethane")||e.line_desc.toLowerCase().startsWith("w/shield adhesive")||e.line_desc.toLowerCase().includes("tire")&&!e.line_desc.toLowerCase().includes("sensor")&&!e.line_desc.toLowerCase().includes("label")||e.line_desc.toLowerCase().startsWith("hazardous")||e.line_desc.toLowerCase().startsWith("detail")||e.line_desc.toLowerCase().startsWith("clean")||e.part_type.toUpperCase()==="PAS"||e.part_type.toUpperCase()==="PASL"||e.part_type.toUpperCase()==="PAE")&&(e.ignore=!0),e.db_ref==="900511"&&e.prt_dsmk_p!==50){e.ignore=!1,e.act_price=e.prt_dsmk_m;let r=t.find(a=>parseInt(a.unq_seq)===e.line_ref);r&&r.ignore&&(e.ignore=!0)}return e.oem_partno.toLowerCase().includes("/rps-exclude")?e.ignore=!0:e.oem_partno.toLowerCase().includes("/rps")&&(e.ignore=!1),e.mod_lbr_ty?.toUpperCase()==="LAG"&&(e.ignore=!0),We.some(r=>e.line_desc.toLowerCase().includes(r))&&(e.ignore=!0),ke.some(r=>e.line_desc.toLowerCase().includes(r))&&(e.ignore=!0),e.line_desc.toUpperCase().includes("USED PARTS THRESHOLD")&&(e.ignore=!1),e}var We=["seat belt","air bag bolt","air bag cable reel","air bag center sensor","air bag clock","air bag coil","air bag control","air bag diagnostic","air bag driver","air bag ecs","air bag harness","air bag impact","air bag label","air bag module","air bag nut","air bag rollover","air bag rotary coupler","air bag safing sensor","air bag satellite sensor","air bag screw","air bag seat","air bag warning","air bag ocs","air bag opds","air bag sensor","air bag occupant","air bag pass","air bag system air bag terminal","air bag side","side air bag","air bag weight","air bag steering","air bag decal","air bag switch","air bag pressure","air bag pig","air bag whiplash","air bag spiral","air bag restraint","air bag wire harness","drivers knee air bag","drivers seat air bag","inform label air bag","pass air bag wire","air bag extension","air bag caution","connector air bag","curtain air bag","air bag sdm","air bag cover","air bag srs","air bag light sensor","knee air bag","air bag contact","air bag crash","air bag lwr","air bag pad","air bag suspension","air bag spacer","back air bag","air bag reel","air bag discriminating","air bag curtain","air bag initiator","air bag positive","engine wiring harness for air bag","air bag wiring","air bag combination","air bag connector","air bag plug","rear air bag","air bag clip","air bag gas","air bag bracket","suspension air bag","passenger air bag"],ke=["frt sunroof assembly","frt sunroof glass assembly","frt sunroof glass panel","frt sunroof panel","frt sunroof sliding panel","rear sunroof glass assembly","rear sunroof glass panel","sunroof assembly","sunroof glass assembly","sunroof glass panel","sunroof sliding panel"]});var $e=p(Be=>{var T=require("electron-log"),$t=require("axios"),oe=require("path"),{BrowserWindow:Ue}=require("electron"),{default:ne}=P(),{promises:Ve}=require("fs"),{autoUpdater:Gt}=require("electron-updater"),{store:Jt}=R();async function Ht(e,t){try{let r=T.transports.file.getFile().path,a=oe.dirname(r),s=oe.join(a,"esjson");await Ve.mkdir(s,{recursive:!0});let o=oe.join(s,`${t}.json`);return await Ve.writeFile(o,JSON.stringify(e,null,2),"utf8"),T.debug(`Job object written to: ${o}`),console.log(`Job object written to: ${o}`),o}catch(r){throw T.error("Error writing job object to logs folder:",r),r}}async function Yt({job:e}){let t="Imex2",r="Patrick",a=Gt.channel,s;switch(a){case"alpha":s="https://4284-79287.el-alt.com";break;case"beta":s="https://4284-79073.el-alt.com";break;default:s="https://insurtechtoolkit.com";break}T.log(`Estimate Scrubber URL: [${a} |`,s);let o="87330f61-412b-4251-baaa-d026565b23c5";try{let i=e?.bodyshop?.es_api_key;if(!e){console.error("No job provided to ScrubEstimate");return}let g;switch(Jt.get("ins_rule_set")){case"MPI":g="ATAM";break;case"SGI":g="SAAR";break;default:g="ATAM";break}e.sending_entity_id=o,e.sending_entity_accept_terms_of_use=!0,e.association_switch=g,e.rf_zip=e.bodyshop.zip_post,e.rf_ph1=e.bodyshop.phone,e.g_ttl_amt=e.clm_total,e.source_system="M",e.v_mileage=e.v_mileage?.toString()||"",delete e.clm_total,delete e.bodyshop,e.rates&&Array.isArray(e.rates)&&e.rates.forEach(w=>{w.MATL_TYPE&&(w.MAT_TYPE=w.MATL_TYPE,delete w.MATL_TYPE)}),e.rates&&Array.isArray(e.rates)&&(e.rates=e.rates.map(w=>{let C={};for(let[k,U]of Object.entries(w))C[k.toLowerCase()]=U;return C})),e.totals&&Array.isArray(e.totals)&&(e.totals=e.totals.map(w=>{let C={};for(let[k,U]of Object.entries(w))C[k.toLowerCase()]=U;return C}));let _=`RPS-Scrub-${i}-${e.clm_no}-${Date.now()}`;try{await Ht(e,_)}catch(w){T.error("Failed to write job to logs folder:",w)}let f=new FormData,W=JSON.stringify(e);f.append("file",new Blob([W],{type:"application/json"}),`${_}.json`);let M=await $t.post(`${s}/api/sendems`,f,{auth:{username:t,password:r},headers:{...f.getHeaders?f.getHeaders():{},APIkey:i}}),x=M?.data?.report_link,z=`https://insurtechtoolkit.com/pcontactUs.aspx?apiKey=${i}&file=${_}.json`;return Ue.getAllWindows()[0].webContents.send(ne.app.toRenderer.scrubResults,{jobid:e.id,items:M.data?.identified_item,pdfUrl:x,reportIssueUrl:z}),x}catch(i){T.error("Error while scrubbing estimate:",i,i.stack),T.error("Error Response Data:",i.response?.data);let g=Ue.getAllWindows()[0];i.status===400?g.webContents.send(ne.app.toRenderer.scrubError,{message:i.response?.data||"Error encountered sending estimate to Estimate Scrubber."}):i.status===401&&g.webContents.send(ne.app.toRenderer.scrubError,{message:"Authentication with Estimate Scrubber failed."})}}Be.ScrubEstimate=Yt});var Je=p(Z=>{var zt=require("chokidar"),ie=P(),Qt=require("path"),{ImportJob:Kt}=G(),{BrowserWindow:le}=require("electron"),{store:X}=R(),{NewNotification:de}=ae(),I=require("electron-log"),F;async function Xt(){let e=X.get("filePaths")||[];if(I.info("Use polling? ",X.get("polling").enabled),e.length===0)return de({title:"RPS Watcher cannot start",body:"Please set the appropriate file paths and try again."}),I.warn("Cannot start watcher. No file paths set."),[];if(F)try{I.info("Trying to close watcher - it already existed."),await F.close(),I.info("Watcher closed successfully!")}catch(t){I.error("Error trying to close Watcher.",t)}return F=zt.watch(e,{ignored:(t,r)=>{let a=Qt.parse(t);return a.ext!==""&&a.ext.toUpperCase()!==".ENV"},usePolling:X.get("polling").enabled||!1,interval:X.get("polling").pollingInterval||1e3,persistent:!0,ignoreInitial:!0,awaitWriteFinish:{pollInterval:500,stabilityThreshold:2e3}}),F.on("add",async function(t){console.log("File",t,"has been added"),Ge(t)}).on("change",async function(t){console.log("File",t,"has been changed"),Ge(t)}).on("error",function(t){I.error("Error in Watcher",t);let r=le.getFocusedWindow();r&&r.webContents.send(ie.default.fileWatcher.toRenderer.error,t)}).on("ready",Zt).on("raw",function(t,r,a){}),e}function Zt(){I.info("Watcher ready!"),le.getAllWindows()[0].webContents.send(ie.default.fileWatcher.toRenderer.startSuccess),de({title:"RPS Watcher Started",body:"Newly exported estimates will be automatically uploaded."}),I.info("Confirmed watched paths:",F.getWatched())}async function jt(){F&&(await F.close(),I.info("Watcher stopped."),le.getAllWindows()[0].webContents.send(ie.default.fileWatcher.toRenderer.stopSuccess),de({title:"RPS Watcher Stopped",body:"Estimates will not be automatically uploaded."}))}Z.StartWatcher=Xt;Z.StopWatcher=jt;Z.watcher=F;async function Ge(e){await Kt(e)}});var ce=p(()=>{var er=require("path"),tr=require("fs"),He=er.join(__dirname,"..","dist-electron","main.cjs"),rr=!require("electron-is-dev")&&tr.existsSync(He);rr?require(He):Ye()});var Qe=p(()=>{var{ipcMain:J,dialog:ar}=require("electron"),{StartWatcher:sr,StopWatcher:ue}=Je(),S=P(),{mainWindow:or}=ce(),nr=require("lodash"),{store:v}=R(),ze=require("path");J.on(S.default.fileWatcher.toMain.filepathsGet,async(e,t)=>{e.reply(S.default.fileWatcher.toRenderer.filepathsList,v.get("filePaths"))});J.on(S.default.fileWatcher.toMain.start,async(e,t)=>{(t&&t.startup&&v.get("runWatcherOnStartup")||!t)&&sr(),e.sender.send(S.default.fileWatcher.toRenderer.filepathsList,v.get("filePaths"))});J.on(S.default.fileWatcher.toMain.stop,async(e,t)=>{ue()});J.on(S.default.fileWatcher.toMain.addPath,async(e,t)=>{let r=await ar.showOpenDialog(or,{properties:["openDirectory"]});ue(),v.set("filePaths",nr.union(r.filePaths,v.get("filePaths")));let a=v.get("filePaths");e.sender.send(S.default.fileWatcher.toRenderer.filepathsList,a)});J.on(S.default.fileWatcher.toMain.removePath,async(e,t)=>{ue(),v.set("filePaths",v.get("filePaths").filter(a=>{let s=ze.parse(a),o=ze.parse(t);return s.dir+s.base!==o.dir+o.base}));let r=v.get("filePaths");e.sender.send(S.default.fileWatcher.toRenderer.filepathsList,r)})});var je=p(fe=>{var Xe=require("path"),ir=require("fs"),{store:Ze}=R(),Ke=require("electron-log"),pe=ir.promises,{DecodeEstimate:lr}=G();async function dr(){Ke.info("Scanning all local estimates..");let e=await ur(),t=await cr(e),r=t.filter(a=>!a.ERROR);return Ke.log("Number of estimates filtered on file scan due to error: ",t.length-r.length),r}async function cr(e){return await Promise.all(e.map(async t=>await lr(t,!0)))}async function ur(){let e=Ze.get("filePaths"),t=[];return await Promise.all(e.map(async r=>{(await pe.readdir(r)).filter(s=>s.toUpperCase().includes(".ENV")).map(s=>(t.push(Xe.join(r,s)),null))})),t}async function pr(){try{let e=Ze.get("filePaths"),t=[];return await Promise.all(e.map(async r=>{(await pe.readdir(r)).map(s=>(t.push(Xe.join(r,s)),null))})),await Promise.all(t.map(async r=>{await pe.unlink(r)})),!0}catch{return!1}}fe.GetListOfEstimates=dr;fe.DeleteAllEms=pr});var tt=p(()=>{var{ipcMain:ge}=require("electron"),H=P(),{ImportJob:fr}=G(),{GetListOfEstimates:et,DeleteAllEms:gr}=je();ge.on(H.default.fileScan.toMain.scanFilePaths,async(e,t)=>{let r=await et();e.reply(H.default.fileScan.toRenderer.scanFilePathsResponse,r)});ge.on(H.default.fileScan.toMain.importJob,async(e,t)=>{await fr(t)});ge.on(H.default.fileScan.toMain.deleteAllEms,async(e,t)=>{await gr();let r=await et();e.reply(H.default.fileScan.toRenderer.scanFilePathsResponse,r)})});var nt=p(()=>{var{ipcMain:rt,dialog:hr}=require("electron"),V=P(),{mainWindow:mr}=ce(),sa=require("lodash"),{store:at}=R(),oa=require("path"),st=require("node-xlsx"),ot=require("electron-log");rt.on(V.default.audit.toMain.browseForFile,async(e,{sheetName:t})=>{let r=await hr.showOpenDialog(mr,{filters:[{extensions:["xls","xlsx"],name:"Excel Files"}],properties:["openFile"]});if(!r.canceled)try{var a=st.parse(r.filePaths[0],{cellDates:!0});at.set("auditFilePath",r.filePaths),e.sender.send(V.default.audit.toRenderer.auditFilePath,{filePath:r.filePaths[0],sheets:a.map(s=>s.name)})}catch(s){console.log("Got some sort of err",s),ot.error("Error when trying to read audit xlsx file",s),e.sender.send(V.default.audit.toRenderer.auditError,s.meFssage)}});rt.on(V.default.audit.toMain.runAudit,async(e,{sheetName:t})=>{try{let a=at.get("auditFilePath");var r=st.parse(a[0],{cellDates:!0});let s=r.find(n=>n.name===t),o=[],i,g,_,f,W,M,x,z,re,w,C,k,U,ye,Re,be;s.data.forEach(n=>{if(!i&&n[0]==="Claim Number")i=!0,_=n.findIndex(d=>d==="Claim Number"),f=n.findIndex(d=>d==="Ready for Pay Date"),W=n.findIndex(d=>d==="Vehicle Year"),M=n.findIndex(d=>d==="Vehicle Make"),x=n.findIndex(d=>d==="Vehicle Model"),z=n.findIndex(d=>d==="Under 20K"),re=n.findIndex(d=>d==="OE Part Prices"),w=n.findIndex(d=>d==="AM Part Prices"),C=n.findIndex(d=>d==="Recycled Part Prices"),k=n.findIndex(d=>d==="Reman & Other Part Prices"),U=n.findIndex(d=>d==="(a) Eligible OEM Part Prices"),ye=n.findIndex(d=>d==="(b) Eligible Actual Part Prices"),Re=n.findIndex(d=>d==="(e) Expected RPS $ "),be=n.findIndex(d=>d==="(f) Actual RPS $");else if(i&&!g&&n[0]&&n[0]!=="Grand Total"){let d={clm_no:n[_].startsWith("00")?n[_].slice(2):n[_],close_date:n[f],v_model_yr:n[W],v_makedesc:n[M],v_model:n[x],under20kmiles:n[z],pan_total:n[re],paa_total:n[w],pal_total:n[C],pam_total:n[k],eligible_db_price_total:Math.round((n[U]+Number.EPSILON)*100)/100,eligible_act_price_total:Math.round((n[ye]+Number.EPSILON)*100)/100,expected_rps_dollars:Math.round((n[Re]+Number.EPSILON)*100)/100,actual_rps_dollars:Math.round((n[be]+Number.EPSILON)*100)/100};o.push(d)}}),e.sender.send(V.default.audit.toRenderer.auditClaimsArray,o)}catch(a){console.log("ot some sort of err",a),ot.error("Error when trying to read audit xlsx file",a),e.sender.send(V.default.audit.toRenderer.auditError,a.message)}})});var he=p((la,_r)=>{_r.exports={"1.0.9":{title:"Release Notes for 1.0.9",date:"11/17/2020",notes:`New Features:
-- Vehicles with mileage under 20,000kms will now be included in Watcher filtering criteria.
-- Savings on OEM parts will always default to the user enter price and override the estimating system price.
-- Wheel related lines will no longer be automatically ignored.
-- Glass related lines will no longer be automatically ignored.
-- Added 'Variance %' statistic to reporting totals.
-- Automatically ignore any lines which have invalid prices from estimating system.
-- Force line inclusion/exclusion - Using \u201C /rps-exclude\u201D or \u201C/rps\u201D in the Part Number field to force inclusion or exclusion of lines for RPS calculation.
-- Added automatic update checks every 30 minutes.
-
-Bug Fixes:
-- Resolved an issue where the updater would not show update progress to some users.
-- Fixed a UI bug during job search that would cause the 'no close date' alert to be incorrectly shown.`},"1.0.10":{title:"Release Notes for 1.0.10",date:"11/19/2020",notes:`Bug Fixes:
-- Resolved an issue where N/A prices were being incorrectly included.
-- Resolved a bug where clicking yes during update would not install the update.`},"1.0.11":{title:"Release Notes for 1.0.11",date:"11/24/2020",notes:`Bug Fixes:
-- Added remanufactured as a part type dislpay instead of 'PAM'.
-- Resolve an issue where group would occasionally not be preserved when changed.
-- Added 'Reman' as a displayed part type.`},"1.0.12":{title:"Release Notes for 1.0.12",date:"11/26/2020",notes:`New Features:
-- Added a reference guide for MPI Grouping Guidelines next to the Group Descriptor on the estimate screen.
-- Added ability to filter for jobs with no close date on job search.
-
-Bug Fixes:
-- Added better error handling on reporting for jobs that did not have a group set.
-- Added a confirmation on changes to shop settings to indicate that a restart is required for them to take effect.
-- Added auto update download for users who are not seeing progress during update download.`},"1.0.13":{title:"Release Notes for 1.0.13",date:"11/30/2020",notes:`New Features:
-- Added 'This Quarter' and 'Last Quarter' date quick select.
-
-Bug Fixes:
-- Added automatic job refresh on new import for estimate detail screen.
-- Fixed an issue where more jobs would not be fetched in the list view in certain scenarios.`},"1.0.14":{title:"Release Notes for 1.0.14",date:"12/18/2020",notes:`Bug Fixes:
-- Resolved an issue where launching a second instance of RPS could cause the program to occasionally freeze.
-- Fixed an issue where date filtering could include dates outside the range depending on time zone.
-- Added negative RPS calculations on combined estimate lines like assemblies.`},"1.0.15":{title:"Release Notes for 1.0.15",date:"01/12/2021",notes:`New Features:
-- Renamed 'Close Date' to 'Ready for Payment' to better align with MPI terminology.
-- Changed vehicle age calculation to use 'Ready for Payment' instead of loss date as per new MPI practices.
-
-Bug Fixes:
-- Updated grouping typo on group lookup popup.`},"1.0.16":{title:"Release Notes for 1.0.16",date:"01/12/2021",notes:`Bug Fixes:
-- Resolved an issue where vehicle age was calculated using an old date.`},"1.0.17":{title:"Release Notes for 1.0.17",date:"02/17/2021",notes:`New Features:
-- Implemented the new vehicle groupings by MPI.
-- Implemented new model based group detection to provide more accurate groupings than relying solely on the estimating system. *
-- Added group verification to disable alerts and track whether a grouping has already been reviewed and confirmed.
-
-Bug Fixes:
-- Updated ignore logic for recycled glass.
-
-* Please send feedback on the model groupings if you notice any issues to support@thinkimex.com. `},"1.0.18":{title:"Release Notes for 1.0.18",date:"04/15/2021",notes:`Bug Fixes:
-- Updated rare bug in vehicle age calculation.
-- Improved wheel repair calculation logic.
-- Improved $0 price recognition for Aftermarket and Recycled parts.`},"1.0.19":{title:"Release Notes for 1.0.19",date:"04/19/2021",notes:`Bug Fixes:
-- Improved validation for mileage from estimating systems to be more fault tolerant.`},"1.0.20":{title:"Release Notes for 1.0.20",date:"04/29/2021",notes:`Bug Fixes:
-- Resolved age calculation issue for some 2021 models.`},"1.0.21":{title:"Release Notes for 1.0.21",date:"05/07/2021",notes:`New Features:
-- Improved glass parts recognition.
-- Added additional models for more accurate group detection.`},"1.0.22":{title:"Release Notes for 1.0.22",date:"05/20/2021",notes:`New Features:
-- Added support Line Discounting
-- Ignored lines will now automatically reset when importing to ensure lines are not ignored when updated in place.
-Bug Fixes:
-- Improved detection of $0 price items.`},"1.0.23":{title:"Release Notes for 1.0.23",date:"10/13/2021",notes:`New Features:
-- Improved detection of glass and glass related lines.
-- Improved detection of manual part changes.`},"1.0.24":{title:"Release Notes for 1.0.24",date:"11/08/2021",notes:`New Features:
-- Resolved age calculation issue for model year 2022 vehicles.`},"1.0.25":{title:"Release Notes for 1.0.25",date:"12/01/2021",notes:`New Features:
-- Updated Vehicle categorization lists.
-- Improved N/A/$0 line item detection and calculations.`},"1.0.26":{title:"Release Notes for 1.0.26",date:"12/06/2021",notes:`Bug Fix:
-- Improved handling of company names coming from Mitchell Cloud Estimating.`},"1.0.27":{title:"Release Notes for 1.0.27",date:"02/17/2022",notes:`Bug Fix:
-- Improved handling $0 DB items from Mitchell Cloud Estimating.
-- Adjusted handling of part quantities during calculation.
-- Removed line discounts from count of RPS eligible parts in header.
-- Added automatic exlcusion for -02 estimates.`},"1.0.28":{title:"Release Notes for 1.0.28",date:"05/26/2022",notes:`Bug Fix:
-- Improved SUV detection.`},"1.1.0":{title:"Release Notes for 1.1.0",date:"03/29/2023",notes:`***Major Update***\r
-Added support for new rules coming into effect on April 1, 2023.\r
-These rules come into effect based on the R4P date of the job. If you bring in a job before April 1, and set the R4P date after April 1, you will need to reimport the job and the system will warn you accordingly.\r
-\r
-Bug Fixes: \r
-- Improved SUV recognition.`},"1.1.1":{title:"Release Notes for 1.1.1",date:"03/30/2023",notes:"Minor bug fix."},"1.1.2":{title:"Release Notes for 1.1.2",date:"04/12/2023",notes:`Bug Fixes:\r
-Resolved an issue where the incorrect ruleset could apply to a job on first import.`},"1.1.3":{title:"Release Notes for 1.1.3",date:"08/15/2023",notes:`Bug Fixes:\r
-- Added additional SUV and Truck models.\r
-- Searches must now be at least 4 characters to prevent long running searches.\r
-- Added right click context menu.`},"1.1.4":{title:"Release Notes for 1.1.4",date:"08/16/2023",notes:`Bug Fixes:\r
-- Fix an issue when searching for jobs without an R4P date.`},"1.1.5":{title:"Release Notes for 1.1.5",date:"08/23/2023",notes:`Bug Fixes:\r
-- Performance improvements.`},"1.1.6":{title:"Release Notes for 1.1.6",date:"10/13/2023",notes:`New Feature:\r
-- Added live support chat.`},"1.1.7":{title:"Release Notes for 1.1.7",date:"10/19/2023",notes:`Bug Fixes:\r
-- Minor bug fixes and improvements.`},"1.1.8":{title:"Release Notes for 1.1.8",date:"02/07/2024",notes:`Bug Fixes:\r
-- Improved detection for wheel related repair lines.`},"1.2.0":{title:"Release Notes for 1.2.0",date:"05/21/2024",notes:`New Features
-* Introducing Score Card Auditing. Simply select your MPI scorecard and instantly compare it to your RPS score card to find discrepancies. Available in your side bar
-
-Improvements
-* Added additional models to SUV and Van databases for better detection.
-* Only -01 and -99 claims will now be brought into RPS.
-* Under the hood fixes and improvements.`},"1.2.1":{title:"Release Notes for 1.2.1",date:"05/23/2024",notes:`Improvements
-* UI improvements for audit functionality.`},"1.2.2":{title:"Release Notes for 1.2.2",date:"06/21/2024",notes:`Improvements
-* Additional SUV models added.`},"1.3.0":{title:"Release Notes for 1.3.0",date:"08/16/2024",notes:`New Features
-* Added support for new MPI rules. The rules will apply to all jobs with an R4P date on or after September 1, 2024. If a job R4P date is changed across this date, the job will need to be reimported to have correct scoring.`},"1.3.1":{title:"Release Notes for 1.3.1",date:"08/16/2024",notes:`Bug Fix
-* Resolved incorrect targets for vehicles under 20,000 miles under current rule set.`},"1.3.2":{title:"Release Notes for 1.3.2",date:"09/06/2024",notes:`Improvements
-* Sourced an additional 150 models for improved detection of SUVs and Vans.\r
-* Added the ability to change groups for jobs imported under the latest set of MPI rules.`},"1.3.3":{title:"Release Notes for 1.3.3",date:"10/08/2024",notes:`Improvements
-*Added new SUV models.\r
-* Added a warning when quantities great than 1 were detected.\r
-* Change of rules will now also detect for jobs without R4P dates set.`},"1.3.4":{title:"Release Notes for 1.3.4",date:"10/11/2024",notes:`Bug Fix
-*Fix typos on application labels.`},"1.3.5":{title:"Release Notes for 1.3.5",date:"10/17/2024",notes:`Improvements:\r
-* Improved group detection for latest RPS rule sets.\r
-* Audit functionality will now rely on header names instead of order.`},"1.4.0":{title:"Release Notes for 1.4.0",date:"06/17/2025",notes:`New Features: \r
-* Added a scenario manager to scorecards to dynamically remove and add jobs to see impacts without adjusting dates.\r
-* Added ability to print a job. \r
-\r
-Improvements:\r
-* Added dark mode for app.\r
-* Added variance dollars to the scorecard.\r
-* Adjusted layout of job details to more prominently display savings information.`},"1.4.1":{title:"Release Notes for 1.4.1",date:"07/04/2025",notes:`Improvements:\r
-* Increased performance of scenario manager.\r
-* Report lines will now display better on smaller screens.\r
-* Job RPS printouts will now display in landscape mode and ignore dark mode styling.`},"1.4.2-beta.4":{title:"Release Notes for 1.4.2-beta.4",date:"09/16/2025",notes:`New Features:\r
-* Added part quantity toggle to shop setup. This will use the part quantity from the job lines when calculating RPS instead of assuming 1 per MPI guidelines.\r
-\r
-Improvements:\r
-* Updated ES integration to use newly specified API keys.`},"1.5.0":{title:"Release Notes for 1.5.0",date:"10/29/2025",notes:`New Features:\r
-* Direct integration to Estimate Scrubber is now available in Public Beta. Existing customers should automatically have access to this feature. If you encounter any issues, please reach out to support.\r
-* Added a quantity toggle to use line quantity instead of assuming 1 per MPI guidelines for RPS calculations.\r
-* Added date shortcuts to the report page for ease of use.\r
-* Added a floating shortcut to run 1 month and 3 month reports.\r
-\r
-Improvements:\r
-* Added better indicators for quantities and negative RPS values.`},"1.6.0-beta.2":{title:"Release Notes for 1.6.0-beta.2",date:"05/04/2026",notes:`New Features:\r
-* Added projected targets for SGI claims.\r
-`},"1.6.0-beta.3":{title:"Release Notes for 1.6.0-beta.3",date:"05/05/2026",notes:`New Features:\r
-* Added a toggle for SGI RCC Claims to set targets to $0.\r
-* Added handling for used parts thresholds for SGI claims. Please re-import previous jobs for accurate scoring.`},"1.6.0-beta.4":{title:"Release Notes for 1.6.0-beta.4",date:"05/07/2026",notes:`Bug Fix:\r
-* Resolved an issue for vehicles under 20,000 kms returning a target for SGI vehicles.\r
-`}}});var it=p(()=>{var{ipcMain:m,app:wr,app:yr,BrowserWindow:Rr}=require("electron"),{default:u}=P(),{store:q}=R(),j=require("electron-log"),{ImportJobWithCloseDate:br}=G(),{ScrubEstimate:Pr}=$e();Qe();tt();nt();console.log("*** Added IPC Handlers ***");m.on("test",async(e,t)=>{console.log("Received test IPC Command"),e.reply("test-toRenderer",{status:0,message:null})});m.on(u.app.toMain.setAcceptableInsCoNm,(e,t)=>{q.set("accepted_ins_co",t)});m.on(u.store.get,(e,t)=>{let r=q.get(t);e.sender.send(u.store.response,{[t]:r})});m.on(u.store.set,(e,t,r)=>{q.set(t,r);let a=q.get();e.sender.send(u.store.response,a)});m.on(u.store.getAll,(e,t)=>{let r=q.get();e.sender.send(u.store.response,r)});m.on(u.app.toMain.getReleaseNotes,(e,t)=>{if(q.get("showChangeLog")){let a=he()[wr.getVersion()];e.sender.send(u.app.toRenderer.setReleaseNotes,a)}else e.sender.send(u.app.toRenderer.setReleaseNotes,null)});m.on(u.app.toMain.importJob,(e,{filepath:t,close_date:r})=>{br(t,r)});m.on(u.app.toMain.log.debug,(e,...t)=>{j.debug(t)});m.on(u.app.toMain.log.info,(e,...t)=>{j.info(t)});m.on(u.app.toMain.log.warn,(e,...t)=>{j.warn(t)});m.on(u.app.toMain.log.error,(e,...t)=>{j.error(t)});m.on(u.app.toMain.getAppVersion,(e,t)=>{e.sender.send(u.app.toRenderer.appVersion,yr.getVersion())});m.handle(u.app.toMain.scrubEstimate,(e,{job:t})=>Pr({job:t}));m.on(u.app.toMain.openExternalWindow,(e,t)=>{let r=new Rr({width:1200,height:800,webPreferences:{nodeIntegration:!1,contextIsolation:!0}});r.loadURL(t),r.webContents.setWindowOpenHandler(({url:a})=>(require("electron").shell.openExternal(a),{action:"deny"}))});m.on(u.app.toMain.setInsRuleSet,(e,t)=>{q.set("ins_rule_set",t)})});var ft=p(()=>{var{ipcMain:dt}=require("electron"),lt=require("electron-log"),{default:ct}=P(),ut=require("@amplitude/analytics-node"),{store:Nr}=R(),Ar=Nr.get("deviceId"),{app:Ir}=require("electron"),pt;ut.init("a733ff926aef84f93baf95e66b5dcb75");dt.on(ct.app.toMain.setUserName,(e,t)=>{pt=t});dt.on(ct.app.toMain.track,(e,t)=>{lt.log("Analytics Event",t);let{event:r,...a}=t;try{ut.track(r,a,{device_id:Ar,user_id:pt,app_version:Ir.getVersion()})}catch(s){lt.error(s)}})});var Ye=p(yt=>{var D=require("path"),{app:c,BrowserWindow:_e,Tray:vr,Menu:we,ipcMain:Y,dialog:Sr,shell:me,globalShortcut:gt}=require("electron"),O=require("electron-is-dev"),{default:A}=P(),{store:ee}=R(),{autoUpdater:y}=require("electron-updater"),E=require("electron-log"),Er=require("electron-context-menu"),Cr=require("@sentry/electron/main"),$=O||process.env.ELECTRON_ENABLE_DEVTOOLS==="1";it();ft();Cr.init({dsn:"https://9840e0f304124299e379d9347e12d2e6@o492140.ingest.sentry.io/4505728058523648",ignoreErrors:["SimpleURLLoaderWrapper","Cannot read properties of null (reading 'webContents')","EBUSY: resource busy or locked"]});y.autoDownload=!0;y.logger=E;y.logger.transports.file.level="info";E.info("App starting...",c.getVersion());var mt,_t;if(O){let e=require("electron-devtools-installer");mt=e.default,_t=e.REACT_DEVELOPER_TOOLS}var Lr=we.buildFromTemplate([{label:"File",submenu:[{label:"Relaunch",click(){c.exit(),c.relaunch()}},{label:"Clear Settings",click(){ee.reset("filePaths"),l.webContents.session.clearStorageData()}},{label:"Sign Out",click(){l.webContents.send(A.app.toRenderer.signOut)}},{label:"Exit",click(){c.quit()}}]},{label:O?"DEVELOPMENT -- HELP":"Help",submenu:[{label:"Rescue",click(){me.openExternal("http://imexrescue.com")}},{label:`Check for Updates (currently ${c.getVersion()})`,click(){te()}},{label:"Show Release Notes",click(){l.webContents.send(A.app.toRenderer.setReleaseNotes,he()[c.getVersion()])}},{label:"Open Config File",click(){me.openPath(ee.path)}},{label:"Open Log File",click(){me.openPath(D.join(c.getPath("appData"),"ImeX RPS\\logs"))}},...$?[{label:"Toggle DevTools",accelerator:"CmdOrCtrl+Alt+I",click(){l&&l.webContents.toggleDevTools()}}]:[],{label:"Third Party Notices",click(){Mr()}}]}]),l,B,ht=null;Er({showInspectElement:$});function wt(){we.setApplicationMenu(Lr);let e=c.getAppPath(),t=O?D.join(e,"electron","preload-src.js"):D.join(e,"dist-electron","preload.cjs");if(l=new _e({title:`ImEX RPS ${c.getVersion()}`,icon:D.join(e,"src","assets","logo192.png"),webPreferences:{nodeIntegration:!1,enableRemoteModule:!1,webSecurity:!0,worldSafeExecuteJavaScript:!0,contextIsolation:!0,devTools:$,preload:t}}),!c.requestSingleInstanceLock())c.quit();else{if(c.on("second-instance",(a,s,o)=>{l&&(l.isMinimized()&&l.restore(),l.show(),l.focus(),l.maximize())}),O)l.loadURL("http://localhost:3000");else{let a=D.join(e,"build","index.html");l.loadFile(a)}l.on("minimize",function(a){a.preventDefault(),l.hide(),ht||(ht=Fr())}),Y.on(A.quit,(a,s)=>{c.isQuiting=!0,c.quit()}),$&&l.webContents.openDevTools({}),l.maximize(),$&&(gt.register("CommandOrControl+Shift+I",()=>{l.webContents.toggleDevTools()}),gt.register("CommandOrControl+Alt+I",()=>{l.webContents.toggleDevTools()}))}}yt.mainWindow=l;c.whenReady().then(()=>{wt(),O&&(console.log(`Path to Settings File: ${ee.path}`),console.log(`Path to Log File: ${E.log}`),mt(_t).then(e=>console.log(`Added Extension: ${e}`)).catch(e=>console.log(`An error occurred: , ${e}`))),setInterval(()=>{te()},1e3*60*30)});O?c.setAppUserModelId(process.execPath):c.setAppUserModelId("com.imex.rps");c.on("window-all-closed",()=>{process.platform!=="darwin"&&c.quit()});c.on("activate",()=>{console.log("Activate"),_e.getAllWindows().length===0&&wt()});function Fr(){let e=c.getAppPath(),t=new vr(D.join(e,"src","assets","logo192.png")),r=we.buildFromTemplate([{label:"Show",click:function(){l.show()}},{label:"Exit",click:function(){c.isQuiting=!0,c.quit()}}]);return t.on("double-click",function(a){l.show(),l.maximize()}),t.setToolTip(`ImEX RPS ${c.getVersion()}`),t.setContextMenu(r),t}function te(){try{y.checkForUpdates()}catch(e){E.error("Error checking for updates",e)}}function Mr(){if(B){B.show();return}B=new _e({width:900,height:700,title:"Third Party Notices",webPreferences:{nodeIntegration:!1,contextIsolation:!0,devTools:$}});let e=c.getAppPath();B.loadURL(`file://${D.join(e,"electron","licenses.txt")}`),B.on("closed",()=>{B=null})}y.on("update-available",e=>{E.log("Update available.",e),l&&l.webContents.send(A.app.toRenderer.updateAvailable,e)});y.on("update-not-available",e=>{E.log("Update not available.",e)});y.on("error",(e,t)=>{E.log("Error in auto-updater.",e,t)});Y.on(A.app.toMain.setReleaseChannel,(e,t)=>{y.channel=t,te()});Y.on(A.app.toMain.checkForUpdates,(e,t)=>{te()});Y.on(A.app.toMain.downloadUpdates,(e,t)=>{y.downloadUpdate()});Y.on(A.app.toMain.installUpdates,(e,t)=>{y.quitAndInstall(!0,!0)});y.on("download-progress",e=>{E.log("Download Progress:",e),l&&l.webContents.send(A.app.toRenderer.downloadProgress,e)});y.on("update-downloaded",(e,t)=>{l&&l.webContents.send(A.app.toRenderer.downloadProgress,{...e,percent:100}),Sr.showMessageBox({type:"info",title:"ImeX RPS Update Manager",message:`ImEX RPS is ready to update to Version ${e.version}. It is highly recommended that you update immediately. Would you like to update now? RPS will automatically restart.`,buttons:["Yes","No"]}).then(({response:r})=>{r===0?(ee.set("showChangeLog",!0),y.quitAndInstall(!0,!0)):E.warn("Updated ignored.")})})});module.exports=Ye();
diff --git a/dist-electron/preload.cjs b/dist-electron/preload.cjs
deleted file mode 100644
index a273723..0000000
--- a/dist-electron/preload.cjs
+++ /dev/null
@@ -1 +0,0 @@
-console.log("Running preloader!");var{contextBridge:l,ipcRenderer:n}=require("electron");l.exposeInMainWorld("logger",{info:(...e)=>{console.log(...e)},debug:(...e)=>{console.log(...e)},warn:(...e)=>{console.log(...e)},error:(...e)=>{console.log(...e)},silly:(...e)=>{console.log(...e)}});l.exposeInMainWorld("ipcRenderer",{send:(e,o)=>{n.send(e,o)},on:(e,o)=>{n.on(e,o)},invoke:(e,o)=>n.invoke(e,o),removeAllListeners:(...e)=>{n.removeAllListeners(...e)}});
diff --git a/electron/audit/audit-ipc.js b/electron/audit/audit-ipc.js
index 0091dd7..86162bc 100644
--- a/electron/audit/audit-ipc.js
+++ b/electron/audit/audit-ipc.js
@@ -1,7 +1,6 @@
-const { ipcMain, dialog } = require("electron");
+const { ipcMain, dialog, BrowserWindow } = require("electron");
const ipcTypes = require("../../src/ipc.types.commonjs");
-const { mainWindow } = require("../main");
const _ = require("lodash");
const { store } = require("../electron-store");
const path = require("path");
@@ -9,7 +8,8 @@ var xlsx = require("node-xlsx");
const log = require("electron-log");
ipcMain.on(ipcTypes.default.audit.toMain.browseForFile, async (event, { sheetName }) => {
- const result = await dialog.showOpenDialog(mainWindow, {
+ const parentWindow = BrowserWindow.fromWebContents(event.sender);
+ const result = await dialog.showOpenDialog(parentWindow, {
filters: [{ extensions: ["xls", "xlsx"], name: "Excel Files" }],
properties: ["openFile"]
});
diff --git a/electron/file-watcher/file-watcher-ipc.js b/electron/file-watcher/file-watcher-ipc.js
index 1795dba..f5c35aa 100644
--- a/electron/file-watcher/file-watcher-ipc.js
+++ b/electron/file-watcher/file-watcher-ipc.js
@@ -1,7 +1,6 @@
-const { ipcMain, dialog } = require("electron");
+const { ipcMain, dialog, BrowserWindow } = require("electron");
const { StartWatcher, StopWatcher } = require("./file-watcher");
const ipcTypes = require("../../src/ipc.types.commonjs");
-const { mainWindow } = require("../main");
const _ = require("lodash");
const { store } = require("../electron-store");
const path = require("path");
@@ -34,7 +33,8 @@ ipcMain.on(ipcTypes.default.fileWatcher.toMain.stop, async (event, arg) => {
});
ipcMain.on(ipcTypes.default.fileWatcher.toMain.addPath, async (event, arg) => {
- const result = await dialog.showOpenDialog(mainWindow, {
+ const parentWindow = BrowserWindow.fromWebContents(event.sender);
+ const result = await dialog.showOpenDialog(parentWindow, {
properties: ["openDirectory"],
});
diff --git a/electron/main-src.js b/electron/main-src.js
index 1be7f9d..13ee914 100644
--- a/electron/main-src.js
+++ b/electron/main-src.js
@@ -8,7 +8,9 @@ const log = require("electron-log");
const contextMenu = require("electron-context-menu");
const Sentry = require("@sentry/electron/main");
-const enableDevTools = isDev || process.env.ELECTRON_ENABLE_DEVTOOLS === "1"; // Always enable dev tools (was: isDev || process.env.ELECTRON_ENABLE_DEVTOOLS === "1")
+const enableDevTools = isDev || process.env.ELECTRON_ENABLE_DEVTOOLS === "1";
+const openDevToolsOnStart = enableDevTools && process.env.ELECTRON_OPEN_DEVTOOLS === "1";
+const installReactDevTools = process.env.ELECTRON_INSTALL_REACT_DEVTOOLS === "1";
//const Nucleus = require("nucleus-nodejs");
require("./ipc-main-handler");
@@ -16,6 +18,7 @@ require("./analytics");
Sentry.init({
dsn: "https://9840e0f304124299e379d9347e12d2e6@o492140.ingest.sentry.io/4505728058523648",
+ ipcMode: Sentry.IPCMode.Protocol,
ignoreErrors: [
"SimpleURLLoaderWrapper",
"Cannot read properties of null (reading 'webContents')",
@@ -28,9 +31,9 @@ autoUpdater.logger = log;
autoUpdater.logger.transports.file.level = "info";
log.info("App starting...", app.getVersion());
-// Conditionally include the dev tools installer to load React Dev Tools
+// Conditionally include the dev tools installer to load React DevTools.
let installExtension, REACT_DEVELOPER_TOOLS;
-if (isDev) {
+if (isDev && installReactDevTools) {
const devTools = require("electron-devtools-installer");
installExtension = devTools.default;
REACT_DEVELOPER_TOOLS = devTools.REACT_DEVELOPER_TOOLS;
@@ -201,8 +204,9 @@ function createWindow() {
app.quit();
});
- // Open the DevTools when explicitly enabled.
- if (enableDevTools) {
+ // Open DevTools only when explicitly requested. DevTools itself emits
+ // Chromium protocol noise such as Autofill.* messages in Electron.
+ if (openDevToolsOnStart) {
mainWindow.webContents.openDevTools({
// mode: "detach"
});
@@ -221,7 +225,6 @@ function createWindow() {
}
}
-exports.mainWindow = mainWindow;
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
@@ -231,9 +234,11 @@ app.whenReady().then(() => {
if (isDev) {
console.log(`Path to Settings File: ${store.path}`);
console.log(`Path to Log File: ${log.log}`);
- installExtension(REACT_DEVELOPER_TOOLS)
- .then((name) => console.log(`Added Extension: ${name}`))
- .catch((error) => console.log(`An error occurred: , ${error}`));
+ if (installReactDevTools) {
+ installExtension(REACT_DEVELOPER_TOOLS)
+ .then((name) => console.log(`Added Extension: ${name}`))
+ .catch((error) => console.log(`An error occurred: , ${error}`));
+ }
}
setInterval(() => {
diff --git a/package-lock.json b/package-lock.json
index a25c580..7ed5504 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,47 +9,47 @@
"version": "1.6.0-alpha.12",
"hasInstallScript": true,
"dependencies": {
- "@amplitude/analytics-node": "^1.5.10",
- "@ant-design/pro-layout": "^7.22.3",
+ "@amplitude/analytics-node": "^1.5.58",
+ "@ant-design/pro-layout": "^7.22.7",
"@apollo/client": "^3.13.4",
"@sentry/electron": "^6.1.0",
"@vitejs/plugin-react": "^4.3.4",
"antd": "^5.24.3",
"apollo-link-logger": "^2.0.1",
"apollo-link-sentry": "^4.1.0",
- "axios": "^1.10.0",
+ "axios": "^1.16.1",
"chokidar": "^4.0.3",
- "dayjs": "^1.11.13",
- "dayjs-business-days2": "^1.3.0",
+ "dayjs": "^1.11.21",
+ "dayjs-business-days2": "^1.3.3",
"dbffile": "^1.12.0",
"dinero.js": "^1.9.1",
"electron-context-menu": "^3.6.1",
"electron-is-dev": "^2.0.0",
- "electron-log": "^5.3.2",
+ "electron-log": "^5.4.4",
"electron-reload": "^2.0.0-alpha.1",
"electron-store": "^8.2.0",
- "electron-updater": "^6.3.9",
+ "electron-updater": "^6.8.3",
"eslint": "^8.57.0",
"eslint-config-react-app": "^7.0.1",
"firebase": "^11.4.0",
- "graphql": "^16.10.0",
- "lodash": "^4.17.21",
+ "graphql": "^16.14.0",
+ "lodash": "^4.18.1",
"logrocket": "^9.0.2",
"moment": "^2.30.1",
"node-xlsx": "^0.24.0",
- "query-string": "^9.1.1",
+ "query-string": "^9.4.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-infinite-scroller": "^1.2.6",
- "react-redux": "^9.2.0",
+ "react-redux": "^9.3.0",
"react-router-dom": "^6.22.3",
- "react-to-print": "^3.0.5",
+ "react-to-print": "^3.3.0",
"recharts": "^2.15.1",
"redux": "^5.0.1",
"redux-logger": "^3.0.6",
"redux-persist": "^6.0.0",
- "redux-saga": "^1.3.0",
- "reselect": "^5.1.1",
+ "redux-saga": "^1.5.0",
+ "reselect": "^5.2.0",
"vite-plugin-ejs": "^1.7.0"
},
"devDependencies": {
@@ -57,14 +57,14 @@
"electron": "^35.0.1",
"electron-builder": "^25.1.8",
"electron-devtools-installer": "^4.0.0",
- "esbuild": "^0.25.1",
+ "esbuild": "^0.28.0",
"eslint-config-react": "^1.1.7",
- "sass-embedded": "^1.93.1",
+ "sass-embedded": "^1.100.0",
"vite": "^6.2.1",
- "vite-plugin-babel": "^1.3.0",
+ "vite-plugin-babel": "^1.7.3",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-legacy": "^2.1.0",
- "vite-plugin-node-polyfills": "^0.23.0",
+ "vite-plugin-node-polyfills": "^0.28.0",
"vite-plugin-style-import": "^2.0.0"
}
},
@@ -75,22 +75,31 @@
"license": "MIT"
},
"node_modules/@amplitude/analytics-core": {
- "version": "2.24.1",
- "resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.24.1.tgz",
- "integrity": "sha512-cXU6/iq2NysqXR+E+5LXTcOnWSuWU9VJT/2BUPohfbDVFVss+dhLpagEe8H5HwnffexMl0bypebAgZ9At7Y75g==",
+ "version": "2.48.2",
+ "resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.48.2.tgz",
+ "integrity": "sha512-r9O+hsTnTsDa1p6QdyC0KbBPXupzoWz9053RQB9XQz8078LM+5KCMbCKYOrSYniH4DH/OM2kOUEdJlwdxIl/IA==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-connector": "^1.6.4",
- "tslib": "^2.4.1"
+ "@types/zen-observable": "0.8.3",
+ "safe-json-stringify": "1.2.0",
+ "tslib": "^2.4.1",
+ "zen-observable": "0.10.0"
}
},
+ "node_modules/@amplitude/analytics-core/node_modules/zen-observable": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.10.0.tgz",
+ "integrity": "sha512-iI3lT0iojZhKwT5DaFy2Ce42n3yFcLdFyOh01G7H0flMY60P8MJuVFEoJoNwXlmAyQ45GrjL6AcZmmlv8A5rbw==",
+ "license": "MIT"
+ },
"node_modules/@amplitude/analytics-node": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/@amplitude/analytics-node/-/analytics-node-1.5.10.tgz",
- "integrity": "sha512-u77NWS0ng17mUlc1OW6CVDHLE0XeidB6TCre9N+PdkMmu1XX+H0qjeOB0NrqfXGneRo2aHm1J5trfXBLI95xGA==",
+ "version": "1.5.58",
+ "resolved": "https://registry.npmjs.org/@amplitude/analytics-node/-/analytics-node-1.5.58.tgz",
+ "integrity": "sha512-qYj1mC1PxLOz3z/9tHKMXECuti9pPeg1d+ZXW0wARJhWJDg1aYDaolettpxKzpNjIGU4i3kkmVfgqsOtz26u0w==",
"license": "MIT",
"dependencies": {
- "@amplitude/analytics-core": "^2.24.1",
+ "@amplitude/analytics-core": "2.48.2",
"tslib": "^2.4.1"
}
},
@@ -189,15 +198,15 @@
"license": "MIT"
},
"node_modules/@ant-design/pro-layout": {
- "version": "7.22.3",
- "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.22.3.tgz",
- "integrity": "sha512-di/EOMDuoMDRjBweqesYyCxEYr2LCmO82y6A4bSwmmJ6ehxN7HGC73Wx4RuBkzDR7kHLTOXt7WxI6875ENT8mg==",
+ "version": "7.22.7",
+ "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.22.7.tgz",
+ "integrity": "sha512-fvmtNA1r9SaasVIQIQt611VSlNxtVxDbQ3e+1GhYQza3tVJi/3gCZuDyfMfTnbLmf3PaW/YvLkn7MqDbzAzoLA==",
"license": "MIT",
"dependencies": {
"@ant-design/cssinjs": "^1.21.1",
"@ant-design/icons": "^5.0.0",
- "@ant-design/pro-provider": "2.15.3",
- "@ant-design/pro-utils": "2.16.4",
+ "@ant-design/pro-provider": "2.16.2",
+ "@ant-design/pro-utils": "2.18.0",
"@babel/runtime": "^7.18.0",
"@umijs/route-utils": "^4.0.0",
"@umijs/use-params": "^1.0.9",
@@ -217,9 +226,9 @@
}
},
"node_modules/@ant-design/pro-provider": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.15.3.tgz",
- "integrity": "sha512-jUBCuRrhAXNMumSZ++704/zEg/7U1k2N3jMVBgtirvVaCAk5O9iZQKK4W3O3LRFc+D8yO16sXjsxhawvdGL4cA==",
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.16.2.tgz",
+ "integrity": "sha512-0KmCH1EaOND787Jz6VRMYtLNZmqfT0JPjdUfxhyOxFfnBRfrjyfZgIa6CQoAJLEUMWv57PccWS8wRHVUUk2Yiw==",
"license": "MIT",
"dependencies": {
"@ant-design/cssinjs": "^1.21.1",
@@ -236,13 +245,13 @@
}
},
"node_modules/@ant-design/pro-utils": {
- "version": "2.16.4",
- "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.16.4.tgz",
- "integrity": "sha512-PFxqF0fsUsLj8ORvJSuMgVv9NDHwAxZaglzPN/u3jZX7rWYcrHD04EMJEXooZaSyT6Q4+j7SqXDx6oBsdb9zNw==",
+ "version": "2.18.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.18.0.tgz",
+ "integrity": "sha512-8+ikyrN8L8a8Ph4oeHTOJEiranTj18+9+WHCHjKNdEfukI7Rjn8xpYdLJWb2AUJkb9d4eoAqjd5+k+7w81Df0w==",
"license": "MIT",
"dependencies": {
"@ant-design/icons": "^5.0.0",
- "@ant-design/pro-provider": "2.15.3",
+ "@ant-design/pro-provider": "2.16.2",
"@babel/runtime": "^7.18.0",
"classnames": "^2.3.2",
"dayjs": "^1.11.10",
@@ -2131,13 +2140,10 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.26.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz",
- "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==",
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
+ "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
"license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
"engines": {
"node": ">=6.9.0"
}
@@ -2578,12 +2584,13 @@
"license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz",
- "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz",
+ "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==",
"cpu": [
"ppc64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2594,12 +2601,13 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz",
- "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz",
+ "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==",
"cpu": [
"arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2610,12 +2618,13 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz",
- "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz",
+ "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2626,12 +2635,13 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz",
- "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz",
+ "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2642,12 +2652,13 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz",
- "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz",
+ "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2658,12 +2669,13 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz",
- "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz",
+ "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2674,12 +2686,13 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz",
- "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz",
+ "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2690,12 +2703,13 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz",
- "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz",
+ "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2706,12 +2720,13 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz",
- "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz",
+ "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==",
"cpu": [
"arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2722,12 +2737,13 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz",
- "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz",
+ "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2738,12 +2754,13 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz",
- "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz",
+ "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==",
"cpu": [
"ia32"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2754,12 +2771,13 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz",
- "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz",
+ "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==",
"cpu": [
"loong64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2770,12 +2788,13 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz",
- "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz",
+ "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==",
"cpu": [
"mips64el"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2786,12 +2805,13 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz",
- "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz",
+ "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==",
"cpu": [
"ppc64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2802,12 +2822,13 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz",
- "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz",
+ "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==",
"cpu": [
"riscv64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2818,12 +2839,13 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz",
- "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz",
+ "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==",
"cpu": [
"s390x"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2834,12 +2856,13 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz",
- "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz",
+ "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2850,12 +2873,13 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz",
- "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz",
+ "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2866,12 +2890,13 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz",
- "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz",
+ "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2882,12 +2907,13 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz",
- "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz",
+ "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2898,12 +2924,13 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz",
- "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz",
+ "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2913,13 +2940,31 @@
"node": ">=18"
}
},
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz",
+ "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz",
- "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz",
+ "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2930,12 +2975,13 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz",
- "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz",
+ "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2946,12 +2992,13 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz",
- "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz",
+ "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==",
"cpu": [
"ia32"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2962,12 +3009,13 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz",
- "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz",
+ "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -5345,18 +5393,17 @@
}
},
"node_modules/@redux-saga/core": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.3.0.tgz",
- "integrity": "sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.5.0.tgz",
+ "integrity": "sha512-oMWpQntvVikLhr+wZsvGDzkjW79HphBgEb6Hncz8OkM0azsT3uUnP1Her/W5QZhcDG+tWmjDhah8uDbPSRLs/Q==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.6.3",
- "@redux-saga/deferred": "^1.2.1",
- "@redux-saga/delay-p": "^1.2.1",
- "@redux-saga/is": "^1.1.3",
- "@redux-saga/symbols": "^1.1.3",
- "@redux-saga/types": "^1.2.1",
- "typescript-tuple": "^2.2.1"
+ "@babel/runtime": "^7.28.4",
+ "@redux-saga/deferred": "^1.3.1",
+ "@redux-saga/delay-p": "^1.3.1",
+ "@redux-saga/is": "^1.2.1",
+ "@redux-saga/symbols": "^1.2.1",
+ "@redux-saga/types": "^1.4.0"
},
"funding": {
"type": "opencollective",
@@ -5364,40 +5411,40 @@
}
},
"node_modules/@redux-saga/deferred": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.2.1.tgz",
- "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.3.1.tgz",
+ "integrity": "sha512-0YZ4DUivWojXBqLB/TmuRRpDDz7tyq1I0AuDV7qi01XlLhM5m51W7+xYtIckH5U2cMlv9eAuicsfRAi1XHpXIg==",
"license": "MIT"
},
"node_modules/@redux-saga/delay-p": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.2.1.tgz",
- "integrity": "sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.3.1.tgz",
+ "integrity": "sha512-597I7L5MXbD/1i3EmcaOOjL/5suxJD7p5tnbV1PiWnE28c2cYiIHqmSMK2s7us2/UrhOL2KTNBiD0qBg6KnImg==",
"license": "MIT",
"dependencies": {
- "@redux-saga/symbols": "^1.1.3"
+ "@redux-saga/symbols": "^1.2.1"
}
},
"node_modules/@redux-saga/is": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.3.tgz",
- "integrity": "sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.2.1.tgz",
+ "integrity": "sha512-x3aWtX3GmQfEvn8dh0ovPbsXgK9JjpiR24wKztpGbZP8JZUWWvUgKrvnWZ/T/4iphOBftyVc9VrIwhAnsM+OFA==",
"license": "MIT",
"dependencies": {
- "@redux-saga/symbols": "^1.1.3",
- "@redux-saga/types": "^1.2.1"
+ "@redux-saga/symbols": "^1.2.1",
+ "@redux-saga/types": "^1.3.1"
}
},
"node_modules/@redux-saga/symbols": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.3.tgz",
- "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.2.1.tgz",
+ "integrity": "sha512-3dh+uDvpBXi7EUp/eO+N7eFM4xKaU4yuGBXc50KnZGzIrR/vlvkTFQsX13zsY8PB6sCFYAgROfPSRUj8331QSA==",
"license": "MIT"
},
"node_modules/@redux-saga/types": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.2.1.tgz",
- "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.4.0.tgz",
+ "integrity": "sha512-fq3Vy0TRl0mEb+1CyTx5wPBY3jxDi7yD4GL1Kz4S6ud7/leGEgRq1NYJDIiVbHMRBJd5rU/BB0Z+akrXSR0DJg==",
"license": "MIT"
},
"node_modules/@remix-run/router": {
@@ -6313,6 +6360,12 @@
"@types/node": "*"
}
},
+ "node_modules/@types/zen-observable": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
+ "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==",
+ "license": "MIT"
+ },
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
@@ -7476,14 +7529,40 @@
}
},
"node_modules/axios": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz",
- "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==",
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
+ "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
"license": "MIT",
"dependencies": {
- "follow-redirects": "^1.15.6",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
+ "follow-redirects": "^1.16.0",
+ "form-data": "^4.0.5",
+ "https-proxy-agent": "^5.0.1",
+ "proxy-from-env": "^2.1.0"
+ }
+ },
+ "node_modules/axios/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/axios/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
"node_modules/axobject-query": {
@@ -7893,13 +7972,6 @@
"ieee754": "^1.1.13"
}
},
- "node_modules/buffer-builder": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz",
- "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==",
- "devOptional": true,
- "license": "MIT/X11"
- },
"node_modules/buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
@@ -7953,6 +8025,7 @@
"version": "9.2.10",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.10.tgz",
"integrity": "sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"debug": "^4.3.4",
@@ -9112,18 +9185,18 @@
}
},
"node_modules/dayjs": {
- "version": "1.11.13",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
- "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
+ "version": "1.11.21",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz",
+ "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==",
"license": "MIT"
},
"node_modules/dayjs-business-days2": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/dayjs-business-days2/-/dayjs-business-days2-1.3.0.tgz",
- "integrity": "sha512-OgDBnsNmlk9+vmRQaP4yFisXs29WDk0ItUUctIagmO6OIoxhf4vArTov5i+G4vjT9Sz8NXOLMLrOVP0X0lG/Hw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/dayjs-business-days2/-/dayjs-business-days2-1.3.3.tgz",
+ "integrity": "sha512-ogedXtGep3W1rl/rhzrSbZU7cOA7Cr3s9HY7iiXDqkDv/LarERc1AEI3kvQ+sF43K1HLoXfByu2XQvU7jfqF9w==",
"license": "MIT",
"dependencies": {
- "dayjs": "^1.11.13"
+ "dayjs": "^1.11.20"
}
},
"node_modules/dbffile": {
@@ -9845,9 +9918,9 @@
}
},
"node_modules/electron-log": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.3.2.tgz",
- "integrity": "sha512-EFI5MFFEzFJU5gyhJNpKQhfGfrRP9IWzSu0sSxrWXasWKvVAOFgBySafX8W1pbPKa/w8/DDPu2bBBtVZJdDsnw==",
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.4.4.tgz",
+ "integrity": "sha512-istWgaXjBfURBSS8LWVW9C3jsc6+ac+tY1lXrQEOTp0lVj+a4OlO1Tmqb36GgnEUDv92DGC9VI1HNXwJinWpgA==",
"license": "MIT",
"engines": {
"node": ">= 14"
@@ -9984,21 +10057,34 @@
"license": "ISC"
},
"node_modules/electron-updater": {
- "version": "6.3.9",
- "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.9.tgz",
- "integrity": "sha512-2PJNONi+iBidkoC5D1nzT9XqsE8Q1X28Fn6xRQhO3YX8qRRyJ3mkV4F1aQsuRnYPqq6Hw+E51y27W75WgDoofw==",
+ "version": "6.8.3",
+ "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.8.3.tgz",
+ "integrity": "sha512-Z6sgw3jgbikWKXei1ENdqFOxBP0WlXg3TtKfz0rgw2vIZFJUyI4pD7ZN7jrkm7EoMK+tcm/qTnPUdqfZukBlBQ==",
"license": "MIT",
"dependencies": {
- "builder-util-runtime": "9.2.10",
+ "builder-util-runtime": "9.5.1",
"fs-extra": "^10.1.0",
"js-yaml": "^4.1.0",
"lazy-val": "^1.0.5",
"lodash.escaperegexp": "^4.1.2",
"lodash.isequal": "^4.5.0",
- "semver": "^7.6.3",
+ "semver": "~7.7.3",
"tiny-typed-emitter": "^2.1.0"
}
},
+ "node_modules/electron-updater/node_modules/builder-util-runtime": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz",
+ "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "sax": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/electron-updater/node_modules/fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -10026,9 +10112,9 @@
}
},
"node_modules/electron-updater/node_modules/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -10317,9 +10403,10 @@
"optional": true
},
"node_modules/esbuild": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz",
- "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz",
+ "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==",
+ "dev": true,
"hasInstallScript": true,
"license": "MIT",
"bin": {
@@ -10329,31 +10416,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.1",
- "@esbuild/android-arm": "0.25.1",
- "@esbuild/android-arm64": "0.25.1",
- "@esbuild/android-x64": "0.25.1",
- "@esbuild/darwin-arm64": "0.25.1",
- "@esbuild/darwin-x64": "0.25.1",
- "@esbuild/freebsd-arm64": "0.25.1",
- "@esbuild/freebsd-x64": "0.25.1",
- "@esbuild/linux-arm": "0.25.1",
- "@esbuild/linux-arm64": "0.25.1",
- "@esbuild/linux-ia32": "0.25.1",
- "@esbuild/linux-loong64": "0.25.1",
- "@esbuild/linux-mips64el": "0.25.1",
- "@esbuild/linux-ppc64": "0.25.1",
- "@esbuild/linux-riscv64": "0.25.1",
- "@esbuild/linux-s390x": "0.25.1",
- "@esbuild/linux-x64": "0.25.1",
- "@esbuild/netbsd-arm64": "0.25.1",
- "@esbuild/netbsd-x64": "0.25.1",
- "@esbuild/openbsd-arm64": "0.25.1",
- "@esbuild/openbsd-x64": "0.25.1",
- "@esbuild/sunos-x64": "0.25.1",
- "@esbuild/win32-arm64": "0.25.1",
- "@esbuild/win32-ia32": "0.25.1",
- "@esbuild/win32-x64": "0.25.1"
+ "@esbuild/aix-ppc64": "0.28.0",
+ "@esbuild/android-arm": "0.28.0",
+ "@esbuild/android-arm64": "0.28.0",
+ "@esbuild/android-x64": "0.28.0",
+ "@esbuild/darwin-arm64": "0.28.0",
+ "@esbuild/darwin-x64": "0.28.0",
+ "@esbuild/freebsd-arm64": "0.28.0",
+ "@esbuild/freebsd-x64": "0.28.0",
+ "@esbuild/linux-arm": "0.28.0",
+ "@esbuild/linux-arm64": "0.28.0",
+ "@esbuild/linux-ia32": "0.28.0",
+ "@esbuild/linux-loong64": "0.28.0",
+ "@esbuild/linux-mips64el": "0.28.0",
+ "@esbuild/linux-ppc64": "0.28.0",
+ "@esbuild/linux-riscv64": "0.28.0",
+ "@esbuild/linux-s390x": "0.28.0",
+ "@esbuild/linux-x64": "0.28.0",
+ "@esbuild/netbsd-arm64": "0.28.0",
+ "@esbuild/netbsd-x64": "0.28.0",
+ "@esbuild/openbsd-arm64": "0.28.0",
+ "@esbuild/openbsd-x64": "0.28.0",
+ "@esbuild/openharmony-arm64": "0.28.0",
+ "@esbuild/sunos-x64": "0.28.0",
+ "@esbuild/win32-arm64": "0.28.0",
+ "@esbuild/win32-ia32": "0.28.0",
+ "@esbuild/win32-x64": "0.28.0"
}
},
"node_modules/escalade": {
@@ -11293,9 +11381,9 @@
"license": "ISC"
},
"node_modules/follow-redirects": {
- "version": "1.15.9",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
- "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
+ "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
"funding": [
{
"type": "individual",
@@ -11358,14 +11446,15 @@
}
},
"node_modules/form-data": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz",
- "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
"mime-types": "^2.1.12"
},
"engines": {
@@ -11765,9 +11854,9 @@
"license": "MIT"
},
"node_modules/graphql": {
- "version": "16.10.0",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz",
- "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==",
+ "version": "16.14.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.14.0.tgz",
+ "integrity": "sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==",
"license": "MIT",
"engines": {
"node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
@@ -12118,9 +12207,9 @@
"license": "MIT"
},
"node_modules/immutable": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
- "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==",
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz",
+ "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==",
"devOptional": true,
"license": "MIT"
},
@@ -13173,15 +13262,15 @@
}
},
"node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
+ "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
"license": "MIT"
},
"node_modules/lodash-es": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
- "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
+ "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
"license": "MIT"
},
"node_modules/lodash.camelcase": {
@@ -14873,10 +14962,13 @@
}
},
"node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "license": "MIT"
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
+ "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
},
"node_modules/public-encrypt": {
"version": "4.0.3",
@@ -14949,9 +15041,9 @@
}
},
"node_modules/query-string": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.1.1.tgz",
- "integrity": "sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.4.0.tgz",
+ "integrity": "sha512-ivvWyHqU9K1Log4hJFhqVIIMoEi0nzmlRhvk2pPcTuQH/Y0K5iTTMxEx7R0PRHD2Z1hMVbWnjfsEWbIKIK+3IA==",
"license": "MIT",
"dependencies": {
"decode-uri-component": "^0.4.1",
@@ -15684,9 +15776,9 @@
"license": "MIT"
},
"node_modules/react-redux": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
- "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==",
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz",
+ "integrity": "sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==",
"license": "MIT",
"dependencies": {
"@types/use-sync-external-store": "^0.0.6",
@@ -15763,9 +15855,9 @@
}
},
"node_modules/react-to-print": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/react-to-print/-/react-to-print-3.0.5.tgz",
- "integrity": "sha512-Z15MwMOzYCHWi26CZeFNwflAg7Nr8uWD6FTj+EkfIOjYyjr0MXGbI0c7rF4Fgrbj3XG9hFndb1ourxpPz2RAiA==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/react-to-print/-/react-to-print-3.3.0.tgz",
+ "integrity": "sha512-7j9GIeNZA9glZlbv9mIbIHDOOx+WYfRMbJzh04NiSKjdaeGkxJuKjJQrtRuNKtt5AvEVVjrLCPokZ9yJX51Fvg==",
"license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ~19"
@@ -15916,12 +16008,13 @@
}
},
"node_modules/redux-saga": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.3.0.tgz",
- "integrity": "sha512-J9RvCeAZXSTAibFY0kGw6Iy4EdyDNW7k6Q+liwX+bsck7QVsU78zz8vpBRweEfANxnnlG/xGGeOvf6r8UXzNJQ==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.5.0.tgz",
+ "integrity": "sha512-IdnDBfgt/XuBhSwWMGwjtcOOQAmiqOc1nRGxNst2MWP9yLN0zOvaPpinm8rtKoL00kMZgczZFPNNQgy2hoBIBw==",
"license": "MIT",
"dependencies": {
- "@redux-saga/core": "^1.3.0"
+ "@babel/runtime": "^7.28.4",
+ "@redux-saga/core": "^1.5.0"
}
},
"node_modules/reflect.getprototypeof": {
@@ -15964,12 +16057,6 @@
"node": ">=4"
}
},
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "license": "MIT"
- },
"node_modules/regenerator-transform": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
@@ -16115,9 +16202,9 @@
}
},
"node_modules/reselect": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
- "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.2.0.tgz",
+ "integrity": "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==",
"license": "MIT"
},
"node_modules/resize-observer-polyfill": {
@@ -16365,6 +16452,12 @@
],
"license": "MIT"
},
+ "node_modules/safe-json-stringify": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz",
+ "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==",
+ "license": "MIT"
+ },
"node_modules/safe-push-apply": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
@@ -16424,37 +16517,36 @@
}
},
"node_modules/sass": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.1.tgz",
- "integrity": "sha512-wLAeLB7IksO2u+cCfhHqcy7/2ZUMPp/X2oV6+LjmweTqgjhOKrkaE/Q1wljxtco5EcOcupZ4c981X0gpk5Tiag==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.100.0.tgz",
+ "integrity": "sha512-B5j0rYMlinhhOo9tjQebMVVn0TfyXAF+wB3b2ggZUuJ/is/Y+7+JGjirAMxHZ9Z3hIP98NPfamlAkBHa1lAaXQ==",
"license": "MIT",
"optional": true,
"dependencies": {
- "chokidar": "^4.0.0",
- "immutable": "^5.0.2",
+ "chokidar": "^5.0.0",
+ "immutable": "^5.1.5",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=20.19.0"
},
"optionalDependencies": {
"@parcel/watcher": "^2.4.1"
}
},
"node_modules/sass-embedded": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.93.1.tgz",
- "integrity": "sha512-LgXSubbCngOUZ7sVhxtfREa/lHa+hkG0Pjul02I4gB4cb0PhsR+UTLH0GIMnEafoL4dhFM1x8tdtezB3Njv7ng==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.100.0.tgz",
+ "integrity": "sha512-Ut8wlQSk19tm7jMK6mz6cF1+e+E7tUnW2tM02zQDPnOTcVbV8qCQG8UWxZkkNlY50+hV3hqP24OOkUlMz8xBpw==",
"devOptional": true,
"license": "MIT",
"dependencies": {
"@bufbuild/protobuf": "^2.5.0",
- "buffer-builder": "^0.2.0",
"colorjs.io": "^0.5.0",
- "immutable": "^5.0.2",
+ "immutable": "^5.1.5",
"rxjs": "^7.4.0",
"supports-color": "^8.1.1",
"sync-child-process": "^1.0.2",
@@ -16467,30 +16559,30 @@
"node": ">=16.0.0"
},
"optionalDependencies": {
- "sass-embedded-all-unknown": "1.93.1",
- "sass-embedded-android-arm": "1.93.1",
- "sass-embedded-android-arm64": "1.93.1",
- "sass-embedded-android-riscv64": "1.93.1",
- "sass-embedded-android-x64": "1.93.1",
- "sass-embedded-darwin-arm64": "1.93.1",
- "sass-embedded-darwin-x64": "1.93.1",
- "sass-embedded-linux-arm": "1.93.1",
- "sass-embedded-linux-arm64": "1.93.1",
- "sass-embedded-linux-musl-arm": "1.93.1",
- "sass-embedded-linux-musl-arm64": "1.93.1",
- "sass-embedded-linux-musl-riscv64": "1.93.1",
- "sass-embedded-linux-musl-x64": "1.93.1",
- "sass-embedded-linux-riscv64": "1.93.1",
- "sass-embedded-linux-x64": "1.93.1",
- "sass-embedded-unknown-all": "1.93.1",
- "sass-embedded-win32-arm64": "1.93.1",
- "sass-embedded-win32-x64": "1.93.1"
+ "sass-embedded-all-unknown": "1.100.0",
+ "sass-embedded-android-arm": "1.100.0",
+ "sass-embedded-android-arm64": "1.100.0",
+ "sass-embedded-android-riscv64": "1.100.0",
+ "sass-embedded-android-x64": "1.100.0",
+ "sass-embedded-darwin-arm64": "1.100.0",
+ "sass-embedded-darwin-x64": "1.100.0",
+ "sass-embedded-linux-arm": "1.100.0",
+ "sass-embedded-linux-arm64": "1.100.0",
+ "sass-embedded-linux-musl-arm": "1.100.0",
+ "sass-embedded-linux-musl-arm64": "1.100.0",
+ "sass-embedded-linux-musl-riscv64": "1.100.0",
+ "sass-embedded-linux-musl-x64": "1.100.0",
+ "sass-embedded-linux-riscv64": "1.100.0",
+ "sass-embedded-linux-x64": "1.100.0",
+ "sass-embedded-unknown-all": "1.100.0",
+ "sass-embedded-win32-arm64": "1.100.0",
+ "sass-embedded-win32-x64": "1.100.0"
}
},
"node_modules/sass-embedded-all-unknown": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.93.1.tgz",
- "integrity": "sha512-APlGAJhk/Twv1i8K/jHfkruMwTVV03M5+RZ2yxalYWhn0pouC+MIQ8I/xkiOPk2sNmCQ4M3EewMb0FUVyS/LMQ==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.100.0.tgz",
+ "integrity": "sha512-auFtXY/kwYILmSVjtBDwyj0axcLbYYiffOKWoaXHnI5bsYwiRbBh3EneR1rpbX2ZIZCrwX93i5pxKLTZF/662Q==",
"cpu": [
"!arm",
"!arm64",
@@ -16500,13 +16592,13 @@
"license": "MIT",
"optional": true,
"dependencies": {
- "sass": "1.93.1"
+ "sass": "1.100.0"
}
},
"node_modules/sass-embedded-android-arm": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.93.1.tgz",
- "integrity": "sha512-ysejojGThRhsnyYRQtNyAstQqqOP+W+EsEbxnhKVZRLBp4WxeAza/W5x1/GBzLjhk6HUJ7N1MwNkkpvF0eqnuQ==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.100.0.tgz",
+ "integrity": "sha512-70f3HgX2pFNmzpGQ86n5e6QfWn2fP4QUQGfFQK0P1XH73ZLIzLo2YqygrGKGKeeqtc5eU2Wl1/xQzhzuKnO4kw==",
"cpu": [
"arm"
],
@@ -16520,9 +16612,9 @@
}
},
"node_modules/sass-embedded-android-arm64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.93.1.tgz",
- "integrity": "sha512-kWvCvNXnHjPmjSS4uYGcSRLZo9am8cNDdg+jIY4mZy62Q3nmz0h0p9if1GszBHl4H3eIBXJIEJQiDY5E26amdQ==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.100.0.tgz",
+ "integrity": "sha512-W+Ru9JwTnfU0UX3jSZcbqFdtKFMcYdfFwytc57h2DgnqCOIiAqI2E06mABZBZC+r3LwXCBuS5GbXAGeVgvVDkA==",
"cpu": [
"arm64"
],
@@ -16536,9 +16628,9 @@
}
},
"node_modules/sass-embedded-android-riscv64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.93.1.tgz",
- "integrity": "sha512-EaNkWJ5IOMCZid3IZWl/Bvb3RkCFz0RBas6Ns05F7W3hls+ggaqiFB7RaVr4Wbr7Em8Ak6yYw5CuTgUiY58nDg==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.100.0.tgz",
+ "integrity": "sha512-icU3o0V/uCSytSpf+tX5Lf51BvyQEbLzDUJfUi9etSauYBGHpPKkdtdZH0si4v98phq11Kl8rSV1SggksxF1Hg==",
"cpu": [
"riscv64"
],
@@ -16552,9 +16644,9 @@
}
},
"node_modules/sass-embedded-android-x64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.93.1.tgz",
- "integrity": "sha512-kyGNIgFTAgWPa79LI+vkbOUNV1DzCywSAayAHsvuK6NgPcq560ET7qekp/OlbZ97wgTjVRlj68UAP0jVhq4k4A==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.100.0.tgz",
+ "integrity": "sha512-mevF9VQk6gEYByy8+jusaHGmd7Usb2ytX/DsEOd0JtOGCtcf1kh575xJ6OUBDIcJ15uLnbau/0iy1eP6WVBvWA==",
"cpu": [
"x64"
],
@@ -16568,9 +16660,9 @@
}
},
"node_modules/sass-embedded-darwin-arm64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.93.1.tgz",
- "integrity": "sha512-GOD2Nt+BZZdBmg+BM2CozkhAZFGzaU8IK1lI2KP5C6HTuhQP7mTPA9UZWNN3c7iHj6JrkenfWd1ec/vsCZVr+Q==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.100.0.tgz",
+ "integrity": "sha512-1PVlYi61POo93IT/FfrG1mc1tAHxeSTyUALF2aOFmXGWjVXr3bQzEQiBGCOvQbj/ix+5hNyXFXcEMEyKvtUJJA==",
"cpu": [
"arm64"
],
@@ -16584,9 +16676,9 @@
}
},
"node_modules/sass-embedded-darwin-x64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.93.1.tgz",
- "integrity": "sha512-79UlR88nNDbsGqa/87yxOdShPL9Bqz0KnFzv8ioh1NkxYwKYUM9XuKwohFEBTyGg8KDw6h31oTFAvrEFR2qBzg==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.100.0.tgz",
+ "integrity": "sha512-x97o3JnGyImZNCIVs9wQHJUE5QCvmVIKaH1cwrz/5dK7OT1FpeNiW+u9TUomP9hG6Ekjd8EL8NBHpxTfIhdjmg==",
"cpu": [
"x64"
],
@@ -16600,9 +16692,9 @@
}
},
"node_modules/sass-embedded-linux-arm": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.93.1.tgz",
- "integrity": "sha512-CdJXeZazBU1Ry1jG0T0ohZkoKHnUBIdniqw3o8ZzqHPzVY3A4svuQWj0WvGGM+YrZ+SV5HQ3nmzezS58dlandA==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.100.0.tgz",
+ "integrity": "sha512-9Ul7O1eKrc5YlhwWjkp8tZPSe3UEwSZ1uwUZOQom1HL0pRlBA6F/IlGZYFTLwnHMIP1fc77MMNaBRfc05mKMpw==",
"cpu": [
"arm"
],
@@ -16616,9 +16708,9 @@
}
},
"node_modules/sass-embedded-linux-arm64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.93.1.tgz",
- "integrity": "sha512-F5ZHx1s5ce3NdjtwPAq6oTXpTC1bZUlHweFgqzbYH5rhVhdhkOemIdHHUG+3gl8YttYrqZ0KASVDtJKBrJMnSg==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.100.0.tgz",
+ "integrity": "sha512-Dwjmj8Z6VRy7rAi53JAdEwIyUjpfl7PhpSc2/LpQPQx+aO5Dp7Spaipkax0ufJl1SoDUdchCsM4y/88YaluorQ==",
"cpu": [
"arm64"
],
@@ -16632,9 +16724,9 @@
}
},
"node_modules/sass-embedded-linux-musl-arm": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.93.1.tgz",
- "integrity": "sha512-gMxRky1OjjVh8HHw/blgMggkmIu5a9l8iLAODuBIi+AOOuF9v7v20JXyUfXh2jT2HvdXjKfc/EvIuhhELnBPpg==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.100.0.tgz",
+ "integrity": "sha512-sl0JgbGloPyJg66XXx5UDSDScZ0oU85DpMQU4JU/sCUCFj1Z8zZ69SJWKTCNE4/jwnce7WI2zPCV5AG+RHOZJw==",
"cpu": [
"arm"
],
@@ -16648,9 +16740,9 @@
}
},
"node_modules/sass-embedded-linux-musl-arm64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.93.1.tgz",
- "integrity": "sha512-p7fxdQI+ev6KMkqRNgl1i7yG5PaUiPgudF4usfSE5NaQobORZYuFXt4m2XPd1h5xwP0ykYLyXjad1EMXTnGr7Q==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.100.0.tgz",
+ "integrity": "sha512-XpACJB2KjSLjf2e9uuvGVdOURsoNrFqgRiihhXyUHK9W0t3LIHb7z5MA/7XGPIT9bWSOO2zyw+rH/FHtDV/Yrg==",
"cpu": [
"arm64"
],
@@ -16664,9 +16756,9 @@
}
},
"node_modules/sass-embedded-linux-musl-riscv64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.93.1.tgz",
- "integrity": "sha512-iVtkoiwXxVcIjbOD3ctX1CxgkXMPUzkw3A/1Iok55lmLLDRKB6t4nny8vT8qiejKrQ9DF4Oz2/+q7Cj0S3mN+Q==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.100.0.tgz",
+ "integrity": "sha512-ShvI0Kx04mwoCARwZ0UjiT97isQvzO80tAt91zmFyHLN9kelc/IrQi940farSm2xQVPCKdeVyeG0ekBsokSpYQ==",
"cpu": [
"riscv64"
],
@@ -16680,9 +16772,9 @@
}
},
"node_modules/sass-embedded-linux-musl-x64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.93.1.tgz",
- "integrity": "sha512-UPtkoxgljB+Tz5TF8Pg/5EaMDlDRhqlqnA3cCOqj+bDoaAgTQcqYNpAz/6wJSXYTv7Jjs54kWjI+NDMSOPdh/Q==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.100.0.tgz",
+ "integrity": "sha512-TDBCRWNuS4RDLQXvRc1gjZlWiWTWaWGp0Bwu/IKwJxov81lsvrCs3TihTyNXtW7V5aoN4Ky3r0QOkNb3mwmBnA==",
"cpu": [
"x64"
],
@@ -16696,9 +16788,9 @@
}
},
"node_modules/sass-embedded-linux-riscv64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.93.1.tgz",
- "integrity": "sha512-gTzxKGPK1vwqO8ZOYlQIVh1BFI2dBW1GyMHmyjqM4Mc/orAjOmTN3aJYGafJjxiMmH424JwlUmCN5vARRJQsJg==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.100.0.tgz",
+ "integrity": "sha512-j4ENJGOheO+fm3j/yorLxCjBP6/XskrZx7dTLlT+lXYwN/qqCqoA/gsNLI0McS3DFM6GBwPiffzWsdWS8t6sEQ==",
"cpu": [
"riscv64"
],
@@ -16712,9 +16804,9 @@
}
},
"node_modules/sass-embedded-linux-x64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.93.1.tgz",
- "integrity": "sha512-x67rR5KmmjZrnqzKSqNFEEyQoybajFmWnsWvxt3Fn2BCewK40EThVjJAJwNdZtXKcc8y7CZrMF+kmxBDxFbv4g==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.100.0.tgz",
+ "integrity": "sha512-0vUSN8j0WGtCJIOPh//EmUvYGHW0QOe5iul8qyhPk50MAcw49MA0r34AhftjDdx94ILPF6vApFs0gwHPQRlpVA==",
"cpu": [
"x64"
],
@@ -16728,9 +16820,9 @@
}
},
"node_modules/sass-embedded-unknown-all": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.93.1.tgz",
- "integrity": "sha512-noDOdIJWRTXAW77J2bkrKGyoPWNuJ5G+JnXVHH+zLll1AlVcwPjVCKag9dNk6+o4cXDb0hx8b8Sg4ojdCzK8VA==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.100.0.tgz",
+ "integrity": "sha512-c+naBgWId4MIpToXcI0DgqetjdAkwTTAxFAuOaBz7HUXLdyG1oZRrEvSsbe41nEdQOKH0vgofVFCeSQgoXOG9A==",
"license": "MIT",
"optional": true,
"os": [
@@ -16740,13 +16832,13 @@
"!win32"
],
"dependencies": {
- "sass": "1.93.1"
+ "sass": "1.100.0"
}
},
"node_modules/sass-embedded-win32-arm64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.93.1.tgz",
- "integrity": "sha512-B6seb+gjZ9XV/rXO2STkBkFLpsRnlLS1Hs9tqJyWe723VhuaOy/cyI8LSuUjNDolYVbo4YKb4vbx3+BNFNRGBQ==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.100.0.tgz",
+ "integrity": "sha512-iE+yxj+hUXwwbqpHkXxgAWTzeRfcWxJ7SSTQEPMk48lwq3oCrWLlz5sQuWHbuTK/i0GKQfROdP+hOmPi89yjUg==",
"cpu": [
"arm64"
],
@@ -16760,9 +16852,9 @@
}
},
"node_modules/sass-embedded-win32-x64": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.93.1.tgz",
- "integrity": "sha512-tt4OxnQN2b1PbTWHeZHVFxnQTTSbzOZlSIVeZZ8T9hQmSWrAfzjuV0B96V1/YzhKfhSKtbCo7KD/JIgADKugqg==",
+ "version": "1.100.0",
+ "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.100.0.tgz",
+ "integrity": "sha512-qI4F8MI7/KYoy9NdjJfhSspG42WPkADSNDvwEV7qWvCSFC83koJssRsKO2/PfY+niZz6BG65Ic/D+A11h959hw==",
"cpu": [
"x64"
],
@@ -16775,6 +16867,36 @@
"node": ">=14.0.0"
}
},
+ "node_modules/sass/node_modules/chokidar": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
+ "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "readdirp": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 20.19.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/sass/node_modules/readdirp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
+ "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">= 20.19.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
"node_modules/sax": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
@@ -17571,13 +17693,13 @@
}
},
"node_modules/swr": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.3.tgz",
- "integrity": "sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.4.1.tgz",
+ "integrity": "sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==",
"license": "MIT",
"dependencies": {
"dequal": "^2.0.3",
- "use-sync-external-store": "^1.4.0"
+ "use-sync-external-store": "^1.6.0"
},
"peerDependencies": {
"react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -18022,30 +18144,6 @@
"node": ">=14.17"
}
},
- "node_modules/typescript-compare": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
- "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==",
- "license": "MIT",
- "dependencies": {
- "typescript-logic": "^0.0.0"
- }
- },
- "node_modules/typescript-logic": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz",
- "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==",
- "license": "MIT"
- },
- "node_modules/typescript-tuple": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz",
- "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==",
- "license": "MIT",
- "dependencies": {
- "typescript-compare": "^0.0.2"
- }
- },
"node_modules/unbox-primitive": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
@@ -18265,9 +18363,9 @@
"license": "MIT"
},
"node_modules/use-sync-external-store": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz",
- "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
"license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -18418,14 +18516,14 @@
}
},
"node_modules/vite-plugin-babel": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/vite-plugin-babel/-/vite-plugin-babel-1.3.0.tgz",
- "integrity": "sha512-C5WKX0UwvQKH8WD2GiyWUjI62UBfLbfUhiLexnIm4asLdENX5ymrRipFlBnGeVxoOaYgTL5dh5KW6YDGpWsR8A==",
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/vite-plugin-babel/-/vite-plugin-babel-1.7.3.tgz",
+ "integrity": "sha512-PsomVbH74/XyqMzXSwBDqb/1o5sAqE68gPlHLfx4FiMGbvKDhaZVQNv/gj/7oRQ5BvuIlyTKBtNEA9MnirGwRA==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"@babel/core": "^7.0.0",
- "vite": "^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
+ "vite": "^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/vite-plugin-ejs": {
@@ -18599,20 +18697,20 @@
}
},
"node_modules/vite-plugin-node-polyfills": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.23.0.tgz",
- "integrity": "sha512-4n+Ys+2bKHQohPBKigFlndwWQ5fFKwaGY6muNDMTb0fSQLyBzS+jjUNRZG9sKF0S/Go4ApG6LFnUGopjkILg3w==",
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.28.0.tgz",
+ "integrity": "sha512-NXct/ci2ef4fRyCfTb8fk2HmR80Rv7icLd+cRH41TnUugDzdKMFKqFPpZYCFUInZMMem9bkLv5pkq02+7Xu7+w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@rollup/plugin-inject": "^5.0.5",
- "node-stdlib-browser": "^1.2.0"
+ "node-stdlib-browser": "^1.3.1"
},
"funding": {
"url": "https://github.com/sponsors/davidmyersdev"
},
"peerDependencies": {
- "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
+ "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/vite-plugin-style-import": {
@@ -18682,6 +18780,463 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "cpu": [
+ "loong64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "cpu": [
+ "s390x"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/esbuild": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.12",
+ "@esbuild/android-arm": "0.25.12",
+ "@esbuild/android-arm64": "0.25.12",
+ "@esbuild/android-x64": "0.25.12",
+ "@esbuild/darwin-arm64": "0.25.12",
+ "@esbuild/darwin-x64": "0.25.12",
+ "@esbuild/freebsd-arm64": "0.25.12",
+ "@esbuild/freebsd-x64": "0.25.12",
+ "@esbuild/linux-arm": "0.25.12",
+ "@esbuild/linux-arm64": "0.25.12",
+ "@esbuild/linux-ia32": "0.25.12",
+ "@esbuild/linux-loong64": "0.25.12",
+ "@esbuild/linux-mips64el": "0.25.12",
+ "@esbuild/linux-ppc64": "0.25.12",
+ "@esbuild/linux-riscv64": "0.25.12",
+ "@esbuild/linux-s390x": "0.25.12",
+ "@esbuild/linux-x64": "0.25.12",
+ "@esbuild/netbsd-arm64": "0.25.12",
+ "@esbuild/netbsd-x64": "0.25.12",
+ "@esbuild/openbsd-arm64": "0.25.12",
+ "@esbuild/openbsd-x64": "0.25.12",
+ "@esbuild/openharmony-arm64": "0.25.12",
+ "@esbuild/sunos-x64": "0.25.12",
+ "@esbuild/win32-arm64": "0.25.12",
+ "@esbuild/win32-ia32": "0.25.12",
+ "@esbuild/win32-x64": "0.25.12"
+ }
+ },
"node_modules/vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
diff --git a/package.json b/package.json
index b91801c..e202262 100644
--- a/package.json
+++ b/package.json
@@ -7,47 +7,47 @@
"main": "electron/main.js",
"homepage": "./",
"dependencies": {
- "@amplitude/analytics-node": "^1.5.10",
- "@ant-design/pro-layout": "^7.22.3",
+ "@amplitude/analytics-node": "^1.5.58",
+ "@ant-design/pro-layout": "^7.22.7",
"@apollo/client": "^3.13.4",
"@sentry/electron": "^6.1.0",
"@vitejs/plugin-react": "^4.3.4",
"antd": "^5.24.3",
"apollo-link-logger": "^2.0.1",
"apollo-link-sentry": "^4.1.0",
- "axios": "^1.10.0",
+ "axios": "^1.16.1",
"chokidar": "^4.0.3",
- "dayjs": "^1.11.13",
- "dayjs-business-days2": "^1.3.0",
+ "dayjs": "^1.11.21",
+ "dayjs-business-days2": "^1.3.3",
"dbffile": "^1.12.0",
"dinero.js": "^1.9.1",
"electron-context-menu": "^3.6.1",
"electron-is-dev": "^2.0.0",
- "electron-log": "^5.3.2",
+ "electron-log": "^5.4.4",
"electron-reload": "^2.0.0-alpha.1",
"electron-store": "^8.2.0",
- "electron-updater": "^6.3.9",
+ "electron-updater": "^6.8.3",
"eslint": "^8.57.0",
"eslint-config-react-app": "^7.0.1",
"firebase": "^11.4.0",
- "graphql": "^16.10.0",
- "lodash": "^4.17.21",
+ "graphql": "^16.14.0",
+ "lodash": "^4.18.1",
"logrocket": "^9.0.2",
"moment": "^2.30.1",
"node-xlsx": "^0.24.0",
- "query-string": "^9.1.1",
+ "query-string": "^9.4.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-infinite-scroller": "^1.2.6",
- "react-redux": "^9.2.0",
+ "react-redux": "^9.3.0",
"react-router-dom": "^6.22.3",
- "react-to-print": "^3.0.5",
+ "react-to-print": "^3.3.0",
"recharts": "^2.15.1",
"redux": "^5.0.1",
"redux-logger": "^3.0.6",
"redux-persist": "^6.0.0",
- "redux-saga": "^1.3.0",
- "reselect": "^5.1.1",
+ "redux-saga": "^1.5.0",
+ "reselect": "^5.2.0",
"vite-plugin-ejs": "^1.7.0"
},
"scripts": {
@@ -84,14 +84,14 @@
"electron": "^35.0.1",
"electron-builder": "^25.1.8",
"electron-devtools-installer": "^4.0.0",
- "esbuild": "^0.25.1",
+ "esbuild": "^0.28.0",
"eslint-config-react": "^1.1.7",
- "sass-embedded": "^1.93.1",
+ "sass-embedded": "^1.100.0",
"vite": "^6.2.1",
- "vite-plugin-babel": "^1.3.0",
+ "vite-plugin-babel": "^1.7.3",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-legacy": "^2.1.0",
- "vite-plugin-node-polyfills": "^0.23.0",
+ "vite-plugin-node-polyfills": "^0.28.0",
"vite-plugin-style-import": "^2.0.0"
},
"build": {