From d0d487abe839c23204b22b56bd24ed888a64de9e Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 11 Dec 2025 10:14:44 -0800 Subject: [PATCH] Further ESDP clean up. --- .eslintcache | 2 +- deploy/set-artifact-name.js | 6 +- eslint.config.mjs | 4 +- src/main/decoder/decoder.ts | 47 +-- .../estimate-scrubber/estimate-scrubber.ts | 186 ++++++++++++ src/main/ipc/ipcMainConfig.types.ts | 110 +++---- src/main/ipc/ipcMainHandler.settings.ts | 10 - src/main/ipc/ipcMainHandler.user.ts | 2 +- src/main/ipc/paintScaleHandlers/PPG.ts | 272 ------------------ 9 files changed, 254 insertions(+), 385 deletions(-) create mode 100644 src/main/estimate-scrubber/estimate-scrubber.ts delete mode 100644 src/main/ipc/paintScaleHandlers/PPG.ts diff --git a/.eslintcache b/.eslintcache index 906c156..7b3fc70 100644 --- a/.eslintcache +++ b/.eslintcache @@ -1 +1 @@ -[{"/Users/pfic/Development/bodyshop-desktop/electron.vite.config.ts":"1","/Users/pfic/Development/bodyshop-desktop/eslint.config.mjs":"2","/Users/pfic/Development/bodyshop-desktop/playwright.config.ts":"3","/Users/pfic/Development/bodyshop-desktop/src/env.d.ts":"4","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.interface.ts":"5","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.ts":"6","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.interface.ts":"7","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.ts":"8","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.interface.ts":"9","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.ts":"10","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.interface.ts":"11","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.ts":"12","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.interface.ts":"13","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.ts":"14","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.interface.ts":"15","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.ts":"16","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.interface.ts":"17","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.ts":"18","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.interface.ts":"19","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.ts":"20","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.interface.ts":"21","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.ts":"22","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.interface.ts":"23","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.ts":"24","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.interface.ts":"25","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.ts":"26","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.interface.ts":"27","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.ts":"28","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.interface.ts":"29","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.ts":"30","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decoder.ts":"31","/Users/pfic/Development/bodyshop-desktop/src/main/graphql/graphql-client.ts":"32","/Users/pfic/Development/bodyshop-desktop/src/main/graphql/queries.ts":"33","/Users/pfic/Development/bodyshop-desktop/src/main/http-server/http-server.ts":"34","/Users/pfic/Development/bodyshop-desktop/src/main/index.test.ts":"35","/Users/pfic/Development/bodyshop-desktop/src/main/index.ts":"36","/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainConfig.ts":"37","/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.settings.ts":"38","/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.user.ts":"39","/Users/pfic/Development/bodyshop-desktop/src/main/quickbooks-desktop/quickbooks-desktop.ts":"40","/Users/pfic/Development/bodyshop-desktop/src/main/store/store.ts":"41","/Users/pfic/Development/bodyshop-desktop/src/main/watcher/watcher.ts":"42","/Users/pfic/Development/bodyshop-desktop/src/preload/index.d.ts":"43","/Users/pfic/Development/bodyshop-desktop/src/preload/index.ts":"44","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.test.tsx":"45","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.tsx":"46","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/ErrorBoundaryFallback/ErrorBoundaryFallback.tsx":"47","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Home/Home.tsx":"48","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/NavigationHeader/Navigationheader.tsx":"49","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.WatchedPaths.tsx":"50","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.Watcher.tsx":"51","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.tsx":"52","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/SignInForm/SignInForm.tsx":"53","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/UpdateAvailable/UpdateAvailable.tsx":"54","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Versions.tsx":"55","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/env.d.ts":"56","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/main.tsx":"57","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/app.slice.ts":"58","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/redux-store.ts":"59","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/reduxHooks.ts":"60","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/firebase.ts":"61","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/graphql.client.ts":"62","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/i18n.ts":"63","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/ipcRendererHandler.ts":"64","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/notificationContext.tsx":"65","/Users/pfic/Development/bodyshop-desktop/src/util/deepLowercaseKeys.ts":"66","/Users/pfic/Development/bodyshop-desktop/src/util/errorTypeCheck.ts":"67","/Users/pfic/Development/bodyshop-desktop/src/util/typeCaster.ts":"68","/Users/pfic/Development/bodyshop-desktop/src/util/ynBoolConverter.ts":"69","/Users/pfic/Development/bodyshop-desktop/tests/example.spec.ts":"70","/Users/pfic/Development/bodyshop-desktop/tests-examples/demo-todo-app.spec.ts":"71"},{"size":430,"mtime":1742582232364,"results":"72","hashOfConfig":"73"},{"size":936,"mtime":1743202578379,"results":"74","hashOfConfig":"75"},{"size":2216,"mtime":1742581802577,"results":"76","hashOfConfig":"73"},{"size":221,"mtime":1742958175049,"results":"77","hashOfConfig":"73"},{"size":3006,"mtime":1742495803806,"results":"78","hashOfConfig":"73"},{"size":5556,"mtime":1743199570778,"results":"79","hashOfConfig":"73"},{"size":688,"mtime":1742338351014,"results":"80","hashOfConfig":"73"},{"size":3568,"mtime":1742851209900,"results":"81","hashOfConfig":"73"},{"size":98,"mtime":1742497834906,"results":"82","hashOfConfig":"73"},{"size":1329,"mtime":1742583313017,"results":"83","hashOfConfig":"73"},{"size":1140,"mtime":1742498039950,"results":"84","hashOfConfig":"73"},{"size":2705,"mtime":1742582232493,"results":"85","hashOfConfig":"73"},{"size":332,"mtime":1742336706602,"results":"86","hashOfConfig":"73"},{"size":2325,"mtime":1743199570779,"results":"87","hashOfConfig":"73"},{"size":1240,"mtime":1743199570779,"results":"88","hashOfConfig":"73"},{"size":2800,"mtime":1743199570779,"results":"89","hashOfConfig":"73"},{"size":1083,"mtime":1743199570780,"results":"90","hashOfConfig":"73"},{"size":4138,"mtime":1743199570780,"results":"91","hashOfConfig":"73"},{"size":695,"mtime":1742498131759,"results":"92","hashOfConfig":"73"},{"size":1938,"mtime":1742582232519,"results":"93","hashOfConfig":"73"},{"size":785,"mtime":1742498261855,"results":"94","hashOfConfig":"73"},{"size":2100,"mtime":1742582232524,"results":"95","hashOfConfig":"73"},{"size":3107,"mtime":1742498285145,"results":"96","hashOfConfig":"73"},{"size":3746,"mtime":1742582232531,"results":"97","hashOfConfig":"73"},{"size":480,"mtime":1742500616037,"results":"98","hashOfConfig":"73"},{"size":1741,"mtime":1742581802583,"results":"99","hashOfConfig":"73"},{"size":462,"mtime":1742416439977,"results":"100","hashOfConfig":"73"},{"size":1622,"mtime":1743199570781,"results":"101","hashOfConfig":"73"},{"size":1411,"mtime":1742578892546,"results":"102","hashOfConfig":"73"},{"size":3626,"mtime":1742595022375,"results":"103","hashOfConfig":"73"},{"size":9046,"mtime":1742597347205,"results":"104","hashOfConfig":"73"},{"size":1452,"mtime":1742582232554,"results":"105","hashOfConfig":"73"},{"size":3129,"mtime":1743199890064,"results":"106","hashOfConfig":"73"},{"size":3975,"mtime":1743200083808,"results":"107","hashOfConfig":"73"},{"size":671,"mtime":1742416546806,"results":"108","hashOfConfig":"73"},{"size":10320,"mtime":1743199570781,"results":"109","hashOfConfig":"73"},{"size":3373,"mtime":1743011140630,"results":"110","hashOfConfig":"73"},{"size":2288,"mtime":1743200361944,"results":"111","hashOfConfig":"73"},{"size":1237,"mtime":1742582232584,"results":"112","hashOfConfig":"73"},{"size":3585,"mtime":1743200370900,"results":"113","hashOfConfig":"73"},{"size":763,"mtime":1743102312968,"results":"114","hashOfConfig":"73"},{"size":4187,"mtime":1743016812427,"results":"115","hashOfConfig":"73"},{"size":147,"mtime":1742582232592,"results":"116","hashOfConfig":"73"},{"size":650,"mtime":1742582232594,"results":"117","hashOfConfig":"73"},{"size":2392,"mtime":1742582232611,"results":"118","hashOfConfig":"73"},{"size":2649,"mtime":1743199570782,"results":"119","hashOfConfig":"73"},{"size":640,"mtime":1743202618799,"results":"120","hashOfConfig":"73"},{"size":113,"mtime":1743114210441,"results":"121","hashOfConfig":"73"},{"size":1478,"mtime":1743112808532,"results":"122","hashOfConfig":"73"},{"size":1768,"mtime":1743114060198,"results":"123","hashOfConfig":"73"},{"size":3530,"mtime":1743112857952,"results":"124","hashOfConfig":"73"},{"size":393,"mtime":1743114291178,"results":"125","hashOfConfig":"73"},{"size":2148,"mtime":1743202185075,"results":"126","hashOfConfig":"73"},{"size":2136,"mtime":1742939043464,"results":"127","hashOfConfig":"73"},{"size":426,"mtime":1742582232638,"results":"128","hashOfConfig":"73"},{"size":38,"mtime":1741730195788,"results":"129","hashOfConfig":"73"},{"size":287,"mtime":1742582232641,"results":"130","hashOfConfig":"73"},{"size":3454,"mtime":1742962471553,"results":"131","hashOfConfig":"73"},{"size":592,"mtime":1742581802590,"results":"132","hashOfConfig":"73"},{"size":571,"mtime":1742572949268,"results":"133","hashOfConfig":"73"},{"size":335,"mtime":1742416846745,"results":"134","hashOfConfig":"73"},{"size":543,"mtime":1743199570782,"results":"135","hashOfConfig":"73"},{"size":366,"mtime":1742581802590,"results":"136","hashOfConfig":"73"},{"size":2067,"mtime":1743201539992,"results":"137","hashOfConfig":"73"},{"size":1450,"mtime":1743201366133,"results":"138","hashOfConfig":"73"},{"size":900,"mtime":1742582232655,"results":"139","hashOfConfig":"73"},{"size":534,"mtime":1742581802591,"results":"140","hashOfConfig":"73"},{"size":2000,"mtime":1743201056618,"results":"141","hashOfConfig":"73"},{"size":304,"mtime":1742420206955,"results":"142","hashOfConfig":"73"},{"size":592,"mtime":1742582232682,"results":"143","hashOfConfig":"73"},{"size":15991,"mtime":1742582232680,"results":"144","hashOfConfig":"73"},{"filePath":"145","messages":"146","suppressedMessages":"147","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"a0cq8m",{"filePath":"148","messages":"149","suppressedMessages":"150","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mckiga",{"filePath":"151","messages":"152","suppressedMessages":"153","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"154","messages":"155","suppressedMessages":"156","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"157","messages":"158","suppressedMessages":"159","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"160","messages":"161","suppressedMessages":"162","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"163","messages":"164","suppressedMessages":"165","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"166","messages":"167","suppressedMessages":"168","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"169","messages":"170","suppressedMessages":"171","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"172","messages":"173","suppressedMessages":"174","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"175","messages":"176","suppressedMessages":"177","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"178","messages":"179","suppressedMessages":"180","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"181","messages":"182","suppressedMessages":"183","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"184","messages":"185","suppressedMessages":"186","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"187","messages":"188","suppressedMessages":"189","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"190","messages":"191","suppressedMessages":"192","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"193","messages":"194","suppressedMessages":"195","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"196","messages":"197","suppressedMessages":"198","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"199","messages":"200","suppressedMessages":"201","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"202","messages":"203","suppressedMessages":"204","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"205","messages":"206","suppressedMessages":"207","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"208","messages":"209","suppressedMessages":"210","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"211","messages":"212","suppressedMessages":"213","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"214","messages":"215","suppressedMessages":"216","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"217","messages":"218","suppressedMessages":"219","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"220","messages":"221","suppressedMessages":"222","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"223","messages":"224","suppressedMessages":"225","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"226","messages":"227","suppressedMessages":"228","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"229","messages":"230","suppressedMessages":"231","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"232","messages":"233","suppressedMessages":"234","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"235","messages":"236","suppressedMessages":"237","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"238","messages":"239","suppressedMessages":"240","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"241","messages":"242","suppressedMessages":"243","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"244","messages":"245","suppressedMessages":"246","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"247","messages":"248","suppressedMessages":"249","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"250","messages":"251","suppressedMessages":"252","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"253","messages":"254","suppressedMessages":"255","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"256","messages":"257","suppressedMessages":"258","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"259","messages":"260","suppressedMessages":"261","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"262","messages":"263","suppressedMessages":"264","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"265","messages":"266","suppressedMessages":"267","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"268","messages":"269","suppressedMessages":"270","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"271","messages":"272","suppressedMessages":"273","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"274","messages":"275","suppressedMessages":"276","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"277","messages":"278","suppressedMessages":"279","errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"280","messages":"281","suppressedMessages":"282","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"283","messages":"284","suppressedMessages":"285","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"286","messages":"287","suppressedMessages":"288","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"289","messages":"290","suppressedMessages":"291","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"292","messages":"293","suppressedMessages":"294","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"295","messages":"296","suppressedMessages":"297","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"298","messages":"299","suppressedMessages":"300","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"301","messages":"302","suppressedMessages":"303","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"304","messages":"305","suppressedMessages":"306","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"307","messages":"308","suppressedMessages":"309","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"310","messages":"311","suppressedMessages":"312","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"313","messages":"314","suppressedMessages":"315","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"316","messages":"317","suppressedMessages":"318","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"319","messages":"320","suppressedMessages":"321","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"322","messages":"323","suppressedMessages":"324","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"325","messages":"326","suppressedMessages":"327","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"328","messages":"329","suppressedMessages":"330","errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"331","messages":"332","suppressedMessages":"333","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"334","messages":"335","suppressedMessages":"336","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"337","messages":"338","suppressedMessages":"339","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"340","messages":"341","suppressedMessages":"342","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"343","messages":"344","suppressedMessages":"345","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"346","messages":"347","suppressedMessages":"348","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"349","messages":"350","suppressedMessages":"351","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"352","messages":"353","suppressedMessages":"354","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"355","messages":"356","suppressedMessages":"357","errorCount":6,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"/Users/pfic/Development/bodyshop-desktop/electron.vite.config.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/eslint.config.mjs",[],[],"/Users/pfic/Development/bodyshop-desktop/playwright.config.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/env.d.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decoder.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/graphql/graphql-client.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/graphql/queries.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/http-server/http-server.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/index.test.ts",["358"],[],"/Users/pfic/Development/bodyshop-desktop/src/main/index.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainConfig.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.settings.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.user.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/quickbooks-desktop/quickbooks-desktop.ts",[],["359","360"],"/Users/pfic/Development/bodyshop-desktop/src/main/store/store.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/watcher/watcher.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/preload/index.d.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/preload/index.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.test.tsx",["361","362"],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/ErrorBoundaryFallback/ErrorBoundaryFallback.tsx",[],["363","364","365"],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Home/Home.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/NavigationHeader/Navigationheader.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.WatchedPaths.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.Watcher.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/SignInForm/SignInForm.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/UpdateAvailable/UpdateAvailable.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Versions.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/env.d.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/main.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/app.slice.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/redux-store.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/reduxHooks.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/firebase.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/graphql.client.ts",["366","367"],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/i18n.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/ipcRendererHandler.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/notificationContext.tsx",[],["368","369","370"],"/Users/pfic/Development/bodyshop-desktop/src/util/deepLowercaseKeys.ts",[],["371","372","373"],"/Users/pfic/Development/bodyshop-desktop/src/util/errorTypeCheck.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/util/typeCaster.ts",[],["374","375","376","377","378","379","380","381","382"],"/Users/pfic/Development/bodyshop-desktop/src/util/ynBoolConverter.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/tests/example.spec.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/tests-examples/demo-todo-app.spec.ts",["383","384","385","386","387","388"],[],{"ruleId":"389","severity":2,"message":"390","line":16,"column":9,"nodeType":null,"messageId":"391","endLine":16,"endColumn":15},{"ruleId":"392","severity":2,"message":"393","line":9,"column":12,"nodeType":"394","messageId":"395","endLine":9,"endColumn":15,"suggestions":"396","suppressions":"397"},{"ruleId":"398","severity":2,"message":"399","line":13,"column":11,"nodeType":"400","messageId":"401","endLine":13,"endColumn":27,"suppressions":"402"},{"ruleId":"403","severity":2,"message":"404","line":11,"column":3,"nodeType":"405","messageId":"406","endLine":11,"endColumn":11},{"ruleId":"403","severity":2,"message":"404","line":34,"column":23,"nodeType":"405","messageId":"406","endLine":34,"endColumn":25},{"ruleId":"407","severity":2,"message":"408","line":8,"column":3,"nodeType":"409","messageId":"410","endLine":8,"endColumn":8,"suppressions":"411"},{"ruleId":"407","severity":2,"message":"412","line":9,"column":3,"nodeType":"409","messageId":"410","endLine":9,"endColumn":21,"suppressions":"413"},{"ruleId":"407","severity":2,"message":"414","line":16,"column":24,"nodeType":"415","messageId":"410","endLine":16,"endColumn":31,"suppressions":"416"},{"ruleId":"389","severity":2,"message":"417","line":8,"column":7,"nodeType":null,"messageId":"391","endLine":8,"endColumn":15},{"ruleId":"392","severity":2,"message":"393","line":13,"column":28,"nodeType":"394","messageId":"395","endLine":13,"endColumn":31,"suggestions":"418"},{"ruleId":"419","severity":2,"message":"420","line":15,"column":14,"nodeType":"415","messageId":"421","endLine":15,"endColumn":29,"suppressions":"422"},{"ruleId":"403","severity":2,"message":"404","line":15,"column":35,"nodeType":"405","messageId":"406","endLine":15,"endColumn":37,"suppressions":"423"},{"ruleId":"407","severity":2,"message":"424","line":31,"column":3,"nodeType":"409","messageId":"410","endLine":31,"endColumn":11,"suppressions":"425"},{"ruleId":"392","severity":2,"message":"393","line":8,"column":32,"nodeType":"394","messageId":"395","endLine":8,"endColumn":35,"suggestions":"426","suppressions":"427"},{"ruleId":"392","severity":2,"message":"393","line":8,"column":42,"nodeType":"394","messageId":"395","endLine":8,"endColumn":45,"suggestions":"428","suppressions":"429"},{"ruleId":"392","severity":2,"message":"393","line":33,"column":26,"nodeType":"394","messageId":"395","endLine":33,"endColumn":29,"suggestions":"430","suppressions":"431"},{"ruleId":"392","severity":2,"message":"393","line":25,"column":22,"nodeType":"394","messageId":"395","endLine":25,"endColumn":25,"suggestions":"432","suppressions":"433"},{"ruleId":"392","severity":2,"message":"393","line":28,"column":22,"nodeType":"394","messageId":"395","endLine":28,"endColumn":25,"suggestions":"434","suppressions":"435"},{"ruleId":"392","severity":2,"message":"393","line":31,"column":22,"nodeType":"394","messageId":"395","endLine":31,"endColumn":25,"suggestions":"436","suppressions":"437"},{"ruleId":"392","severity":2,"message":"393","line":36,"column":26,"nodeType":"394","messageId":"395","endLine":36,"endColumn":29,"suggestions":"438","suppressions":"439"},{"ruleId":"392","severity":2,"message":"393","line":38,"column":26,"nodeType":"394","messageId":"395","endLine":38,"endColumn":29,"suggestions":"440","suppressions":"441"},{"ruleId":"392","severity":2,"message":"393","line":44,"column":24,"nodeType":"394","messageId":"395","endLine":44,"endColumn":27,"suggestions":"442","suppressions":"443"},{"ruleId":"392","severity":2,"message":"393","line":48,"column":26,"nodeType":"394","messageId":"395","endLine":48,"endColumn":29,"suggestions":"444","suppressions":"445"},{"ruleId":"392","severity":2,"message":"393","line":50,"column":26,"nodeType":"394","messageId":"395","endLine":50,"endColumn":29,"suggestions":"446","suppressions":"447"},{"ruleId":"392","severity":2,"message":"393","line":53,"column":24,"nodeType":"394","messageId":"395","endLine":53,"endColumn":27,"suggestions":"448","suppressions":"449"},{"ruleId":"403","severity":2,"message":"404","line":454,"column":1,"nodeType":"450","messageId":"406","endLine":454,"endColumn":34},{"ruleId":"403","severity":2,"message":"404","line":464,"column":1,"nodeType":"450","messageId":"406","endLine":464,"endColumn":48},{"ruleId":"403","severity":2,"message":"404","line":470,"column":1,"nodeType":"450","messageId":"406","endLine":470,"endColumn":57},{"ruleId":"392","severity":2,"message":"393","line":477,"column":16,"nodeType":"394","messageId":"395","endLine":477,"endColumn":19,"suggestions":"451"},{"ruleId":"403","severity":2,"message":"404","line":483,"column":1,"nodeType":"450","messageId":"406","endLine":483,"endColumn":40},{"ruleId":"392","severity":2,"message":"393","line":486,"column":19,"nodeType":"394","messageId":"395","endLine":486,"endColumn":22,"suggestions":"452"},"@typescript-eslint/no-unused-vars","'window' is assigned a value but never used.","unusedVar","@typescript-eslint/no-explicit-any","Unexpected any. Specify a different type.","TSAnyKeyword","unexpectedAny",["453","454"],["455"],"@typescript-eslint/no-require-imports","A `require()` style import is forbidden.","CallExpression","noRequireImports",["456"],"@typescript-eslint/explicit-function-return-type","Missing return type on function.","ArrowFunctionExpression","missingReturnType","react/prop-types","'error' is missing in props validation","Property","missingPropType",["457"],"'resetErrorBoundary' is missing in props validation",["458"],"'error.message' is missing in props validation","Identifier",["459"],"'httpLink' is assigned a value but never used.",["460","461"],"react-refresh/only-export-components","Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components.","namedExport",["462"],["463"],"'children' is missing in props validation",["464"],["465","466"],["467"],["468","469"],["470"],["471","472"],["473"],["474","475"],["476"],["477","478"],["479"],["480","481"],["482"],["483","484"],["485"],["486","487"],["488"],["489","490"],["491"],["492","493"],["494"],["495","496"],["497"],["498","499"],["500"],"FunctionDeclaration",["501","502"],["503","504"],{"messageId":"505","fix":"506","desc":"507"},{"messageId":"508","fix":"509","desc":"510"},{"kind":"511","justification":"512"},{"kind":"511","justification":"512"},{"kind":"511","justification":"512"},{"kind":"511","justification":"512"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"513","desc":"507"},{"messageId":"508","fix":"514","desc":"510"},{"kind":"511","justification":"512"},{"kind":"511","justification":"512"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"515","desc":"507"},{"messageId":"508","fix":"516","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"517","desc":"507"},{"messageId":"508","fix":"518","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"519","desc":"507"},{"messageId":"508","fix":"520","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"521","desc":"507"},{"messageId":"508","fix":"522","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"523","desc":"507"},{"messageId":"508","fix":"524","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"525","desc":"507"},{"messageId":"508","fix":"526","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"527","desc":"507"},{"messageId":"508","fix":"528","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"529","desc":"507"},{"messageId":"508","fix":"530","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"531","desc":"507"},{"messageId":"508","fix":"532","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"533","desc":"507"},{"messageId":"508","fix":"534","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"535","desc":"507"},{"messageId":"508","fix":"536","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"537","desc":"507"},{"messageId":"508","fix":"538","desc":"510"},{"kind":"511","justification":"512"},{"messageId":"505","fix":"539","desc":"507"},{"messageId":"508","fix":"540","desc":"510"},{"messageId":"505","fix":"541","desc":"507"},{"messageId":"508","fix":"542","desc":"510"},"suggestUnknown",{"range":"543","text":"544"},"Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.","suggestNever",{"range":"545","text":"546"},"Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.","directive","",{"range":"547","text":"544"},{"range":"548","text":"546"},{"range":"549","text":"544"},{"range":"550","text":"546"},{"range":"551","text":"544"},{"range":"552","text":"546"},{"range":"553","text":"544"},{"range":"554","text":"546"},{"range":"555","text":"544"},{"range":"556","text":"546"},{"range":"557","text":"544"},{"range":"558","text":"546"},{"range":"559","text":"544"},{"range":"560","text":"546"},{"range":"561","text":"544"},{"range":"562","text":"546"},{"range":"563","text":"544"},{"range":"564","text":"546"},{"range":"565","text":"544"},{"range":"566","text":"546"},{"range":"567","text":"544"},{"range":"568","text":"546"},{"range":"569","text":"544"},{"range":"570","text":"546"},{"range":"571","text":"544"},{"range":"572","text":"546"},{"range":"573","text":"544"},{"range":"574","text":"546"},{"range":"575","text":"544"},{"range":"576","text":"546"},[269,272],"unknown",[269,272],"never",[233,236],[233,236],[249,252],[249,252],[259,262],[259,262],[848,851],[848,851],[955,958],[955,958],[1043,1046],[1043,1046],[1132,1135],[1132,1135],[1295,1298],[1295,1298],[1381,1384],[1381,1384],[1523,1526],[1523,1526],[1692,1695],[1692,1695],[1794,1797],[1794,1797],[1871,1874],[1871,1874],[15682,15685],[15682,15685],[15936,15939],[15936,15939]] \ No newline at end of file +[{"/Users/pfic/Development/bodyshop-desktop/electron.vite.config.ts":"1","/Users/pfic/Development/bodyshop-desktop/eslint.config.mjs":"2","/Users/pfic/Development/bodyshop-desktop/playwright.config.ts":"3","/Users/pfic/Development/bodyshop-desktop/src/env.d.ts":"4","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.interface.ts":"5","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.ts":"6","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.interface.ts":"7","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.ts":"8","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.interface.ts":"9","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.ts":"10","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.interface.ts":"11","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.ts":"12","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.interface.ts":"13","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.ts":"14","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.interface.ts":"15","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.ts":"16","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.interface.ts":"17","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.ts":"18","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.interface.ts":"19","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.ts":"20","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.interface.ts":"21","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.ts":"22","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.interface.ts":"23","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.ts":"24","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.interface.ts":"25","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.ts":"26","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.interface.ts":"27","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.ts":"28","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.interface.ts":"29","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.ts":"30","/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decoder.ts":"31","/Users/pfic/Development/bodyshop-desktop/src/main/graphql/graphql-client.ts":"32","/Users/pfic/Development/bodyshop-desktop/src/main/graphql/queries.ts":"33","/Users/pfic/Development/bodyshop-desktop/src/main/http-server/http-server.ts":"34","/Users/pfic/Development/bodyshop-desktop/src/main/index.test.ts":"35","/Users/pfic/Development/bodyshop-desktop/src/main/index.ts":"36","/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainConfig.ts":"37","/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.settings.ts":"38","/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.user.ts":"39","/Users/pfic/Development/bodyshop-desktop/src/main/quickbooks-desktop/quickbooks-desktop.ts":"40","/Users/pfic/Development/bodyshop-desktop/src/main/store/store.ts":"41","/Users/pfic/Development/bodyshop-desktop/src/main/watcher/watcher.ts":"42","/Users/pfic/Development/bodyshop-desktop/src/preload/index.d.ts":"43","/Users/pfic/Development/bodyshop-desktop/src/preload/index.ts":"44","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.test.tsx":"45","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.tsx":"46","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/ErrorBoundaryFallback/ErrorBoundaryFallback.tsx":"47","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Home/Home.tsx":"48","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.WatchedPaths.tsx":"49","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.Watcher.tsx":"50","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.tsx":"51","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/SignInForm/SignInForm.tsx":"52","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/UpdateAvailable/UpdateAvailable.tsx":"53","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Versions.tsx":"54","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/env.d.ts":"55","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/main.tsx":"56","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/app.slice.ts":"57","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/redux-store.ts":"58","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/reduxHooks.ts":"59","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/firebase.ts":"60","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/graphql.client.ts":"61","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/i18n.ts":"62","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/ipcRendererHandler.ts":"63","/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/notificationContext.tsx":"64","/Users/pfic/Development/bodyshop-desktop/src/util/deepLowercaseKeys.ts":"65","/Users/pfic/Development/bodyshop-desktop/src/util/errorTypeCheck.ts":"66","/Users/pfic/Development/bodyshop-desktop/src/util/typeCaster.ts":"67","/Users/pfic/Development/bodyshop-desktop/src/util/ynBoolConverter.ts":"68","/Users/pfic/Development/bodyshop-desktop/tests/example.spec.ts":"69","/Users/pfic/Development/bodyshop-desktop/tests-examples/demo-todo-app.spec.ts":"70","/Users/pfic/Development/es-data-pump/deploy/set-artifact-name.js":"71","/Users/pfic/Development/es-data-pump/deploy/test-artifact-naming-cross-platform.js":"72","/Users/pfic/Development/es-data-pump/electron.vite.config.ts":"73","/Users/pfic/Development/es-data-pump/eslint.config.mjs":"74","/Users/pfic/Development/es-data-pump/playwright.config.ts":"75","/Users/pfic/Development/es-data-pump/src/env.d.ts":"76","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad1.interface.ts":"77","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad1.ts":"78","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad2.interface.ts":"79","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad2.ts":"80","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-env.interface.ts":"81","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-env.ts":"82","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-lin.interface.ts":"83","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-lin.ts":"84","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfh.interface.ts":"85","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfh.ts":"86","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfl.interface.ts":"87","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfl.ts":"88","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfm.interface.ts":"89","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfm.ts":"90","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfo.interface.ts":"91","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfo.ts":"92","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfp.interface.ts":"93","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfp.ts":"94","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pft.interface.ts":"95","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pft.ts":"96","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-stl.interface.ts":"97","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-stl.ts":"98","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ttl.interface.ts":"99","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ttl.ts":"100","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-veh.interface.ts":"101","/Users/pfic/Development/es-data-pump/src/main/decoder/decode-veh.ts":"102","/Users/pfic/Development/es-data-pump/src/main/decoder/decoder-utils.ts":"103","/Users/pfic/Development/es-data-pump/src/main/decoder/decoder.ts":"104","/Users/pfic/Development/es-data-pump/src/main/decoder/emsbackup.ts":"105","/Users/pfic/Development/es-data-pump/src/main/decoder/folder-scan.ts":"106","/Users/pfic/Development/es-data-pump/src/main/graphql/graphql-client.ts":"107","/Users/pfic/Development/es-data-pump/src/main/graphql/queries.ts":"108","/Users/pfic/Development/es-data-pump/src/main/index.test.ts":"109","/Users/pfic/Development/es-data-pump/src/main/index.ts":"110","/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainConfig.ts":"111","/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainConfig.types.ts":"112","/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainHandler.settings.ts":"113","/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainHandler.user.ts":"114","/Users/pfic/Development/es-data-pump/src/main/setup-keep-alive-agent.ts":"115","/Users/pfic/Development/es-data-pump/src/main/setup-keep-alive-task.ts":"116","/Users/pfic/Development/es-data-pump/src/main/store/store.ts":"117","/Users/pfic/Development/es-data-pump/src/main/util/checkForAppUpdates.ts":"118","/Users/pfic/Development/es-data-pump/src/main/util/createDirectoryIfNotExist.ts":"119","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/ad1-field-descriptors.ts":"120","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/ad2-field-descriptors.ts":"121","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/env-field-descriptor.ts":"122","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/lin-field-descriptor.ts":"123","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/lin-field-descriptors.ts":"124","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfh-field-descriptors.ts":"125","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfl-field-descriptors.ts":"126","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfm-field-descriptors.ts":"127","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfo-field-descriptors.ts":"128","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfp-field-descriptors.ts":"129","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pft-field-descriptor.ts":"130","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/stl-field-descriptors.ts":"131","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/ttl-field-descriptors.ts":"132","/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/veh-field-descriptors.ts":"133","/Users/pfic/Development/es-data-pump/src/main/util/ems-util.ts":"134","/Users/pfic/Development/es-data-pump/src/main/util/ensureWindowOnScreen.ts":"135","/Users/pfic/Development/es-data-pump/src/main/util/setAppProgressBar.ts":"136","/Users/pfic/Development/es-data-pump/src/main/util/toRenderer.ts":"137","/Users/pfic/Development/es-data-pump/src/main/util/uppercaseObjectKeys.ts":"138","/Users/pfic/Development/es-data-pump/src/main/watcher/watcher.ts":"139","/Users/pfic/Development/es-data-pump/src/preload/index.d.ts":"140","/Users/pfic/Development/es-data-pump/src/preload/index.ts":"141","/Users/pfic/Development/es-data-pump/src/renderer/src/App.tsx":"142","/Users/pfic/Development/es-data-pump/src/renderer/src/components/ErrorBoundaryFallback/ErrorBoundaryFallback.tsx":"143","/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.Config.tsx":"144","/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.WatchedPaths.tsx":"145","/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.Watcher.tsx":"146","/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.tsx":"147","/Users/pfic/Development/es-data-pump/src/renderer/src/components/UpdateAvailable/UpdateAvailable.tsx":"148","/Users/pfic/Development/es-data-pump/src/renderer/src/env.d.ts":"149","/Users/pfic/Development/es-data-pump/src/renderer/src/main.tsx":"150","/Users/pfic/Development/es-data-pump/src/renderer/src/redux/app.slice.ts":"151","/Users/pfic/Development/es-data-pump/src/renderer/src/redux/redux-store.ts":"152","/Users/pfic/Development/es-data-pump/src/renderer/src/redux/reduxHooks.ts":"153","/Users/pfic/Development/es-data-pump/src/renderer/src/util/countdownHook.ts":"154","/Users/pfic/Development/es-data-pump/src/renderer/src/util/firebase.ts":"155","/Users/pfic/Development/es-data-pump/src/renderer/src/util/graphql.client.ts":"156","/Users/pfic/Development/es-data-pump/src/renderer/src/util/i18n.ts":"157","/Users/pfic/Development/es-data-pump/src/renderer/src/util/ipcRendererHandler.ts":"158","/Users/pfic/Development/es-data-pump/src/renderer/src/util/notificationContext.tsx":"159","/Users/pfic/Development/es-data-pump/src/util/deepLowercaseKeys.ts":"160","/Users/pfic/Development/es-data-pump/src/util/errorTypeCheck.ts":"161","/Users/pfic/Development/es-data-pump/src/util/getMainWindow.ts":"162","/Users/pfic/Development/es-data-pump/src/util/memUsage.ts":"163","/Users/pfic/Development/es-data-pump/src/util/typeCaster.ts":"164","/Users/pfic/Development/es-data-pump/src/util/ynBoolConverter.ts":"165"},{"size":430,"mtime":1742582232364,"results":"166","hashOfConfig":"167"},{"size":936,"mtime":1743202578379,"results":"168","hashOfConfig":"169"},{"size":2216,"mtime":1742581802577,"results":"170","hashOfConfig":"167"},{"size":221,"mtime":1742958175049,"results":"171","hashOfConfig":"167"},{"size":3006,"mtime":1742495803806,"results":"172","hashOfConfig":"167"},{"size":5556,"mtime":1743199570778,"results":"173","hashOfConfig":"167"},{"size":688,"mtime":1742338351014,"results":"174","hashOfConfig":"167"},{"size":3568,"mtime":1742851209900,"results":"175","hashOfConfig":"167"},{"size":98,"mtime":1742497834906,"results":"176","hashOfConfig":"167"},{"size":1329,"mtime":1742583313017,"results":"177","hashOfConfig":"167"},{"size":1140,"mtime":1742498039950,"results":"178","hashOfConfig":"167"},{"size":2705,"mtime":1742582232493,"results":"179","hashOfConfig":"167"},{"size":332,"mtime":1742336706602,"results":"180","hashOfConfig":"167"},{"size":2325,"mtime":1743199570779,"results":"181","hashOfConfig":"167"},{"size":1240,"mtime":1743199570779,"results":"182","hashOfConfig":"167"},{"size":2800,"mtime":1743199570779,"results":"183","hashOfConfig":"167"},{"size":1083,"mtime":1743199570780,"results":"184","hashOfConfig":"167"},{"size":4138,"mtime":1743199570780,"results":"185","hashOfConfig":"167"},{"size":695,"mtime":1742498131759,"results":"186","hashOfConfig":"167"},{"size":1938,"mtime":1742582232519,"results":"187","hashOfConfig":"167"},{"size":785,"mtime":1742498261855,"results":"188","hashOfConfig":"167"},{"size":2100,"mtime":1742582232524,"results":"189","hashOfConfig":"167"},{"size":3107,"mtime":1742498285145,"results":"190","hashOfConfig":"167"},{"size":3746,"mtime":1742582232531,"results":"191","hashOfConfig":"167"},{"size":480,"mtime":1742500616037,"results":"192","hashOfConfig":"167"},{"size":1741,"mtime":1742581802583,"results":"193","hashOfConfig":"167"},{"size":462,"mtime":1742416439977,"results":"194","hashOfConfig":"167"},{"size":1622,"mtime":1743199570781,"results":"195","hashOfConfig":"167"},{"size":1411,"mtime":1742578892546,"results":"196","hashOfConfig":"167"},{"size":3626,"mtime":1742595022375,"results":"197","hashOfConfig":"167"},{"size":9046,"mtime":1742597347205,"results":"198","hashOfConfig":"167"},{"size":1452,"mtime":1742582232554,"results":"199","hashOfConfig":"167"},{"size":3129,"mtime":1743199890064,"results":"200","hashOfConfig":"167"},{"size":3975,"mtime":1743200083808,"results":"201","hashOfConfig":"167"},{"size":671,"mtime":1742416546806,"results":"202","hashOfConfig":"167"},{"size":10320,"mtime":1743199570781,"results":"203","hashOfConfig":"167"},{"size":3373,"mtime":1743011140630,"results":"204","hashOfConfig":"167"},{"size":2288,"mtime":1743200361944,"results":"205","hashOfConfig":"167"},{"size":1237,"mtime":1742582232584,"results":"206","hashOfConfig":"167"},{"size":3585,"mtime":1743200370900,"results":"207","hashOfConfig":"167"},{"size":763,"mtime":1743102312968,"results":"208","hashOfConfig":"167"},{"size":4187,"mtime":1743016812427,"results":"209","hashOfConfig":"167"},{"size":147,"mtime":1742582232592,"results":"210","hashOfConfig":"167"},{"size":650,"mtime":1742582232594,"results":"211","hashOfConfig":"167"},{"size":2392,"mtime":1742582232611,"results":"212","hashOfConfig":"167"},{"size":2649,"mtime":1743199570782,"results":"213","hashOfConfig":"167"},{"size":640,"mtime":1743202618799,"results":"214","hashOfConfig":"167"},{"size":113,"mtime":1743114210441,"results":"215","hashOfConfig":"167"},{"size":1768,"mtime":1743114060198,"results":"216","hashOfConfig":"167"},{"size":3530,"mtime":1743112857952,"results":"217","hashOfConfig":"167"},{"size":393,"mtime":1743114291178,"results":"218","hashOfConfig":"167"},{"size":2148,"mtime":1743202185075,"results":"219","hashOfConfig":"167"},{"size":2136,"mtime":1742939043464,"results":"220","hashOfConfig":"167"},{"size":426,"mtime":1742582232638,"results":"221","hashOfConfig":"167"},{"size":38,"mtime":1741730195788,"results":"222","hashOfConfig":"167"},{"size":287,"mtime":1742582232641,"results":"223","hashOfConfig":"167"},{"size":3454,"mtime":1742962471553,"results":"224","hashOfConfig":"167"},{"size":592,"mtime":1742581802590,"results":"225","hashOfConfig":"167"},{"size":571,"mtime":1742572949268,"results":"226","hashOfConfig":"167"},{"size":335,"mtime":1742416846745,"results":"227","hashOfConfig":"167"},{"size":543,"mtime":1743199570782,"results":"228","hashOfConfig":"167"},{"size":366,"mtime":1742581802590,"results":"229","hashOfConfig":"167"},{"size":2067,"mtime":1743201539992,"results":"230","hashOfConfig":"167"},{"size":1450,"mtime":1743201366133,"results":"231","hashOfConfig":"167"},{"size":900,"mtime":1742582232655,"results":"232","hashOfConfig":"167"},{"size":534,"mtime":1742581802591,"results":"233","hashOfConfig":"167"},{"size":2000,"mtime":1743201056618,"results":"234","hashOfConfig":"167"},{"size":304,"mtime":1742420206955,"results":"235","hashOfConfig":"167"},{"size":592,"mtime":1742582232682,"results":"236","hashOfConfig":"167"},{"size":15991,"mtime":1742582232680,"results":"237","hashOfConfig":"167"},{"size":1812,"mtime":1757459197202,"results":"238","hashOfConfig":"239"},{"size":2096,"mtime":1757459197203,"results":"240","hashOfConfig":"239"},{"size":1174,"mtime":1765217985376,"results":"241","hashOfConfig":"242"},{"size":1184,"mtime":1765238482026,"results":"243","hashOfConfig":"244"},{"size":2216,"mtime":1747415912003,"results":"245","hashOfConfig":"242"},{"size":314,"mtime":1747415912039,"results":"246","hashOfConfig":"242"},{"size":3006,"mtime":1747415912040,"results":"247","hashOfConfig":"242"},{"size":6226,"mtime":1757459197204,"results":"248","hashOfConfig":"242"},{"size":688,"mtime":1747415912043,"results":"249","hashOfConfig":"242"},{"size":4182,"mtime":1747415912043,"results":"250","hashOfConfig":"242"},{"size":98,"mtime":1747415912043,"results":"251","hashOfConfig":"242"},{"size":2065,"mtime":1747415912043,"results":"252","hashOfConfig":"242"},{"size":1140,"mtime":1747415912043,"results":"253","hashOfConfig":"242"},{"size":3442,"mtime":1747415912044,"results":"254","hashOfConfig":"242"},{"size":332,"mtime":1747415912044,"results":"255","hashOfConfig":"242"},{"size":3043,"mtime":1747415912044,"results":"256","hashOfConfig":"242"},{"size":1245,"mtime":1747415912044,"results":"257","hashOfConfig":"242"},{"size":3538,"mtime":1747415912044,"results":"258","hashOfConfig":"242"},{"size":1083,"mtime":1747415912044,"results":"259","hashOfConfig":"242"},{"size":4875,"mtime":1747415912045,"results":"260","hashOfConfig":"242"},{"size":695,"mtime":1747415912045,"results":"261","hashOfConfig":"242"},{"size":2678,"mtime":1747415912045,"results":"262","hashOfConfig":"242"},{"size":785,"mtime":1747415912045,"results":"263","hashOfConfig":"242"},{"size":2837,"mtime":1747415912045,"results":"264","hashOfConfig":"242"},{"size":3107,"mtime":1747415912045,"results":"265","hashOfConfig":"242"},{"size":4481,"mtime":1747415912046,"results":"266","hashOfConfig":"242"},{"size":480,"mtime":1747415912046,"results":"267","hashOfConfig":"242"},{"size":2475,"mtime":1747415912046,"results":"268","hashOfConfig":"242"},{"size":462,"mtime":1747415912046,"results":"269","hashOfConfig":"242"},{"size":2357,"mtime":1747415912046,"results":"270","hashOfConfig":"242"},{"size":1411,"mtime":1747415912047,"results":"271","hashOfConfig":"242"},{"size":4397,"mtime":1747415912047,"results":"272","hashOfConfig":"242"},{"size":1260,"mtime":1747415912047,"results":"273","hashOfConfig":"242"},{"size":13116,"mtime":1763149527989,"results":"274","hashOfConfig":"242"},{"size":2829,"mtime":1747415912048,"results":"275","hashOfConfig":"242"},{"size":1694,"mtime":1747415912048,"results":"276","hashOfConfig":"242"},{"size":1553,"mtime":1760996774294,"results":"277","hashOfConfig":"242"},{"size":5689,"mtime":1757351586663,"results":"278","hashOfConfig":"242"},{"size":671,"mtime":1747415912052,"results":"279","hashOfConfig":"242"},{"size":21370,"mtime":1765221597436,"results":"280","hashOfConfig":"242"},{"size":3992,"mtime":1765234324115,"results":"281","hashOfConfig":"242"},{"size":1462,"mtime":1747415912053,"results":"282","hashOfConfig":"242"},{"size":5652,"mtime":1765234324109,"results":"283","hashOfConfig":"242"},{"size":3233,"mtime":1757459197205,"results":"284","hashOfConfig":"242"},{"size":2598,"mtime":1747415912055,"results":"285","hashOfConfig":"242"},{"size":1943,"mtime":1747415912055,"results":"286","hashOfConfig":"242"},{"size":698,"mtime":1765234324114,"results":"287","hashOfConfig":"242"},{"size":607,"mtime":1761077165813,"results":"288","hashOfConfig":"242"},{"size":679,"mtime":1747415912056,"results":"289","hashOfConfig":"242"},{"size":9687,"mtime":1747415912056,"results":"290","hashOfConfig":"242"},{"size":8770,"mtime":1747415912056,"results":"291","hashOfConfig":"242"},{"size":2159,"mtime":1747415912057,"results":"292","hashOfConfig":"242"},{"size":3778,"mtime":1747415912057,"results":"293","hashOfConfig":"242"},{"size":3782,"mtime":1747415912057,"results":"294","hashOfConfig":"242"},{"size":1685,"mtime":1747415912057,"results":"295","hashOfConfig":"242"},{"size":1426,"mtime":1747415912057,"results":"296","hashOfConfig":"242"},{"size":2332,"mtime":1747415912057,"results":"297","hashOfConfig":"242"},{"size":2252,"mtime":1747415912057,"results":"298","hashOfConfig":"242"},{"size":1430,"mtime":1763149532655,"results":"299","hashOfConfig":"242"},{"size":10439,"mtime":1747415912058,"results":"300","hashOfConfig":"242"},{"size":1558,"mtime":1747415912058,"results":"301","hashOfConfig":"242"},{"size":1264,"mtime":1747415912058,"results":"302","hashOfConfig":"242"},{"size":2693,"mtime":1747415912058,"results":"303","hashOfConfig":"242"},{"size":1253,"mtime":1747415912058,"results":"304","hashOfConfig":"242"},{"size":3293,"mtime":1747415912058,"results":"305","hashOfConfig":"242"},{"size":243,"mtime":1747415912058,"results":"306","hashOfConfig":"242"},{"size":530,"mtime":1747415912059,"results":"307","hashOfConfig":"242"},{"size":703,"mtime":1747415912059,"results":"308","hashOfConfig":"242"},{"size":4762,"mtime":1760996806364,"results":"309","hashOfConfig":"242"},{"size":147,"mtime":1747415912059,"results":"310","hashOfConfig":"242"},{"size":800,"mtime":1747415912060,"results":"311","hashOfConfig":"242"},{"size":1900,"mtime":1765221583140,"results":"312","hashOfConfig":"242"},{"size":590,"mtime":1747415912060,"results":"313","hashOfConfig":"242"},{"size":2127,"mtime":1765234676157,"results":"314","hashOfConfig":"242"},{"size":1766,"mtime":1747415912061,"results":"315","hashOfConfig":"242"},{"size":4457,"mtime":1747415912062,"results":"316","hashOfConfig":"242"},{"size":598,"mtime":1765233335126,"results":"317","hashOfConfig":"242"},{"size":3104,"mtime":1747415912062,"results":"318","hashOfConfig":"242"},{"size":38,"mtime":1741730195788,"results":"319","hashOfConfig":"242"},{"size":625,"mtime":1747415912062,"results":"320","hashOfConfig":"242"},{"size":3455,"mtime":1747415912062,"results":"321","hashOfConfig":"242"},{"size":593,"mtime":1747415912062,"results":"322","hashOfConfig":"242"},{"size":571,"mtime":1747415912063,"results":"323","hashOfConfig":"242"},{"size":3146,"mtime":1747415912063,"results":"324","hashOfConfig":"242"},{"size":414,"mtime":1747415912063,"results":"325","hashOfConfig":"242"},{"size":556,"mtime":1747415912063,"results":"326","hashOfConfig":"242"},{"size":480,"mtime":1747415912063,"results":"327","hashOfConfig":"242"},{"size":2453,"mtime":1747415912063,"results":"328","hashOfConfig":"242"},{"size":1443,"mtime":1747415912063,"results":"329","hashOfConfig":"242"},{"size":901,"mtime":1747415912064,"results":"330","hashOfConfig":"242"},{"size":535,"mtime":1747415912064,"results":"331","hashOfConfig":"242"},{"size":160,"mtime":1760996749265,"results":"332","hashOfConfig":"242"},{"size":9743,"mtime":1761077165814,"results":"333","hashOfConfig":"242"},{"size":2000,"mtime":1747415912064,"results":"334","hashOfConfig":"242"},{"size":304,"mtime":1747415912065,"results":"335","hashOfConfig":"242"},{"filePath":"336","messages":"337","suppressedMessages":"338","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"a0cq8m",{"filePath":"339","messages":"340","suppressedMessages":"341","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mckiga",{"filePath":"342","messages":"343","suppressedMessages":"344","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"345","messages":"346","suppressedMessages":"347","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"348","messages":"349","suppressedMessages":"350","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"351","messages":"352","suppressedMessages":"353","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"354","messages":"355","suppressedMessages":"356","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"357","messages":"358","suppressedMessages":"359","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"360","messages":"361","suppressedMessages":"362","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"363","messages":"364","suppressedMessages":"365","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"366","messages":"367","suppressedMessages":"368","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"369","messages":"370","suppressedMessages":"371","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"372","messages":"373","suppressedMessages":"374","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"375","messages":"376","suppressedMessages":"377","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"378","messages":"379","suppressedMessages":"380","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"381","messages":"382","suppressedMessages":"383","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"384","messages":"385","suppressedMessages":"386","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"387","messages":"388","suppressedMessages":"389","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"390","messages":"391","suppressedMessages":"392","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"393","messages":"394","suppressedMessages":"395","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"396","messages":"397","suppressedMessages":"398","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"399","messages":"400","suppressedMessages":"401","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"402","messages":"403","suppressedMessages":"404","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"405","messages":"406","suppressedMessages":"407","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"408","messages":"409","suppressedMessages":"410","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"411","messages":"412","suppressedMessages":"413","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"414","messages":"415","suppressedMessages":"416","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"417","messages":"418","suppressedMessages":"419","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"420","messages":"421","suppressedMessages":"422","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"423","messages":"424","suppressedMessages":"425","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"426","messages":"427","suppressedMessages":"428","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"429","messages":"430","suppressedMessages":"431","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"432","messages":"433","suppressedMessages":"434","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"435","messages":"436","suppressedMessages":"437","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"438","messages":"439","suppressedMessages":"440","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"441","messages":"442","suppressedMessages":"443","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"444","messages":"445","suppressedMessages":"446","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"447","messages":"448","suppressedMessages":"449","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"450","messages":"451","suppressedMessages":"452","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"453","messages":"454","suppressedMessages":"455","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"456","messages":"457","suppressedMessages":"458","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"459","messages":"460","suppressedMessages":"461","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"462","messages":"463","suppressedMessages":"464","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"465","messages":"466","suppressedMessages":"467","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"468","messages":"469","suppressedMessages":"470","errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"471","messages":"472","suppressedMessages":"473","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"474","messages":"475","suppressedMessages":"476","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"477","messages":"478","suppressedMessages":"479","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"480","messages":"481","suppressedMessages":"482","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"483","messages":"484","suppressedMessages":"485","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"486","messages":"487","suppressedMessages":"488","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"489","messages":"490","suppressedMessages":"491","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"492","messages":"493","suppressedMessages":"494","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"495","messages":"496","suppressedMessages":"497","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"498","messages":"499","suppressedMessages":"500","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"501","messages":"502","suppressedMessages":"503","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"504","messages":"505","suppressedMessages":"506","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"507","messages":"508","suppressedMessages":"509","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"510","messages":"511","suppressedMessages":"512","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"513","messages":"514","suppressedMessages":"515","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"516","messages":"517","suppressedMessages":"518","errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"519","messages":"520","suppressedMessages":"521","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"522","messages":"523","suppressedMessages":"524","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"525","messages":"526","suppressedMessages":"527","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"528","messages":"529","suppressedMessages":"530","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"531","messages":"532","suppressedMessages":"533","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"534","messages":"535","suppressedMessages":"536","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"537","messages":"538","suppressedMessages":"539","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"540","messages":"541","suppressedMessages":"542","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"543","messages":"544","suppressedMessages":"545","errorCount":6,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"546","messages":"547","suppressedMessages":"548","errorCount":3,"fatalErrorCount":0,"warningCount":30,"fixableErrorCount":0,"fixableWarningCount":30,"source":null},"le9aa0",{"filePath":"549","messages":"550","suppressedMessages":"551","errorCount":3,"fatalErrorCount":0,"warningCount":36,"fixableErrorCount":0,"fixableWarningCount":36,"source":null},{"filePath":"552","messages":"553","suppressedMessages":"554","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"c86f02",{"filePath":"555","messages":"556","suppressedMessages":"557","errorCount":0,"fatalErrorCount":0,"warningCount":30,"fixableErrorCount":0,"fixableWarningCount":30,"source":null},"otam0",{"filePath":"558","messages":"559","suppressedMessages":"560","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"561","messages":"562","suppressedMessages":"563","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"564","messages":"565","suppressedMessages":"566","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"567","messages":"568","suppressedMessages":"569","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"570","messages":"571","suppressedMessages":"572","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"573","messages":"574","suppressedMessages":"575","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"576","messages":"577","suppressedMessages":"578","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"579","messages":"580","suppressedMessages":"581","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"582","messages":"583","suppressedMessages":"584","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"585","messages":"586","suppressedMessages":"587","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"588","messages":"589","suppressedMessages":"590","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"591","messages":"592","suppressedMessages":"593","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"594","messages":"595","suppressedMessages":"596","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"597","messages":"598","suppressedMessages":"599","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"600","messages":"601","suppressedMessages":"602","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"603","messages":"604","suppressedMessages":"605","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"606","messages":"607","suppressedMessages":"608","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"609","messages":"610","suppressedMessages":"611","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"612","messages":"613","suppressedMessages":"614","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"615","messages":"616","suppressedMessages":"617","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"618","messages":"619","suppressedMessages":"620","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"621","messages":"622","suppressedMessages":"623","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"624","messages":"625","suppressedMessages":"626","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"627","messages":"628","suppressedMessages":"629","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"630","messages":"631","suppressedMessages":"632","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"633","messages":"634","suppressedMessages":"635","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"636","messages":"637","suppressedMessages":"638","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"639","messages":"640","suppressedMessages":"641","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"642","messages":"643","suppressedMessages":"644","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"645","messages":"646","suppressedMessages":"647","errorCount":9,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":1,"source":null},{"filePath":"648","messages":"649","suppressedMessages":"650","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"651","messages":"652","suppressedMessages":"653","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"654","messages":"655","suppressedMessages":"656","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"657","messages":"658","suppressedMessages":"659","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"660","messages":"661","suppressedMessages":"662","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"663","messages":"664","suppressedMessages":"665","errorCount":9,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"666","messages":"667","suppressedMessages":"668","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"669","messages":"670","suppressedMessages":"671","errorCount":2,"fatalErrorCount":0,"warningCount":60,"fixableErrorCount":0,"fixableWarningCount":60,"source":null},{"filePath":"672","messages":"673","suppressedMessages":"674","errorCount":5,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"675","messages":"676","suppressedMessages":"677","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"678","messages":"679","suppressedMessages":"680","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"681","messages":"682","suppressedMessages":"683","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"684","messages":"685","suppressedMessages":"686","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"687","messages":"688","suppressedMessages":"689","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"690","messages":"691","suppressedMessages":"692","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"693","messages":"694","suppressedMessages":"695","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"696","messages":"697","suppressedMessages":"698","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"699","messages":"700","suppressedMessages":"701","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"702","messages":"703","suppressedMessages":"704","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"705","messages":"706","suppressedMessages":"707","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"708","messages":"709","suppressedMessages":"710","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"711","messages":"712","suppressedMessages":"713","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"714","messages":"715","suppressedMessages":"716","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"717","messages":"718","suppressedMessages":"719","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"720","messages":"721","suppressedMessages":"722","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"723","messages":"724","suppressedMessages":"725","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"726","messages":"727","suppressedMessages":"728","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"729","messages":"730","suppressedMessages":"731","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"732","messages":"733","suppressedMessages":"734","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"735","messages":"736","suppressedMessages":"737","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"738","messages":"739","suppressedMessages":"740","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"741","messages":"742","suppressedMessages":"743","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"744","messages":"745","suppressedMessages":"746","errorCount":1,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":1,"source":null},{"filePath":"747","messages":"748","suppressedMessages":"749","errorCount":3,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":1,"source":null},{"filePath":"750","messages":"751","suppressedMessages":"752","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"753","messages":"754","suppressedMessages":"755","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"756","messages":"757","suppressedMessages":"758","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"759","messages":"760","suppressedMessages":"761","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"762","messages":"763","suppressedMessages":"764","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"765","messages":"766","suppressedMessages":"767","errorCount":3,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"768","messages":"769","suppressedMessages":"770","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"771","messages":"772","suppressedMessages":"773","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"774","messages":"775","suppressedMessages":"776","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"777","messages":"778","suppressedMessages":"779","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"780","messages":"781","suppressedMessages":"782","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"783","messages":"784","suppressedMessages":"785","errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":6,"source":null},{"filePath":"786","messages":"787","suppressedMessages":"788","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"789","messages":"790","suppressedMessages":"791","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"792","messages":"793","suppressedMessages":"794","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"795","messages":"796","suppressedMessages":"797","errorCount":1,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":1,"source":null},{"filePath":"798","messages":"799","suppressedMessages":"800","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"801","messages":"802","suppressedMessages":"803","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"804","messages":"805","suppressedMessages":"806","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"807","messages":"808","suppressedMessages":"809","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"810","messages":"811","suppressedMessages":"812","errorCount":1,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":3,"source":null},{"filePath":"813","messages":"814","suppressedMessages":"815","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"816","messages":"817","suppressedMessages":"818","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"819","messages":"820","suppressedMessages":"821","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"822","messages":"823","suppressedMessages":"824","errorCount":8,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":2,"source":null},{"filePath":"825","messages":"826","suppressedMessages":"827","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"828","messages":"829","suppressedMessages":"830","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/pfic/Development/bodyshop-desktop/electron.vite.config.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/eslint.config.mjs",[],[],"/Users/pfic/Development/bodyshop-desktop/playwright.config.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/env.d.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad1.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ad2.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-env.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-lin.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfh.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfl.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfm.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfo.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pfp.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-pft.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-stl.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-ttl.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.interface.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decode-veh.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/decoder/decoder.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/graphql/graphql-client.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/graphql/queries.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/http-server/http-server.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/index.test.ts",["831"],[],"/Users/pfic/Development/bodyshop-desktop/src/main/index.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainConfig.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.settings.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/ipc/ipcMainHandler.user.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/quickbooks-desktop/quickbooks-desktop.ts",[],["832","833"],"/Users/pfic/Development/bodyshop-desktop/src/main/store/store.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/main/watcher/watcher.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/preload/index.d.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/preload/index.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.test.tsx",["834","835"],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/App.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/ErrorBoundaryFallback/ErrorBoundaryFallback.tsx",[],["836","837","838"],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Home/Home.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.WatchedPaths.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.Watcher.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Settings/Settings.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/SignInForm/SignInForm.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/UpdateAvailable/UpdateAvailable.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/components/Versions.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/env.d.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/main.tsx",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/app.slice.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/redux-store.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/redux/reduxHooks.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/firebase.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/graphql.client.ts",["839","840"],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/i18n.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/ipcRendererHandler.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/renderer/src/util/notificationContext.tsx",[],["841","842","843"],"/Users/pfic/Development/bodyshop-desktop/src/util/deepLowercaseKeys.ts",[],["844","845","846"],"/Users/pfic/Development/bodyshop-desktop/src/util/errorTypeCheck.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/src/util/typeCaster.ts",[],["847","848","849","850","851","852","853","854","855"],"/Users/pfic/Development/bodyshop-desktop/src/util/ynBoolConverter.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/tests/example.spec.ts",[],[],"/Users/pfic/Development/bodyshop-desktop/tests-examples/demo-todo-app.spec.ts",["856","857","858","859","860","861"],[],"/Users/pfic/Development/es-data-pump/deploy/set-artifact-name.js",["862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894"],[],"/Users/pfic/Development/es-data-pump/deploy/test-artifact-naming-cross-platform.js",["895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933"],[],"/Users/pfic/Development/es-data-pump/electron.vite.config.ts",[],[],"/Users/pfic/Development/es-data-pump/eslint.config.mjs",["934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963"],[],"/Users/pfic/Development/es-data-pump/playwright.config.ts",[],[],"/Users/pfic/Development/es-data-pump/src/env.d.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad1.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad1.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad2.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ad2.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-env.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-env.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-lin.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-lin.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfh.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfh.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfl.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfl.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfm.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfm.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfo.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfo.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfp.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pfp.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pft.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-pft.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-stl.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-stl.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ttl.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-ttl.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-veh.interface.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decode-veh.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decoder-utils.ts",["964"],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/decoder.ts",["965","966","967","968","969","970","971","972","973","974"],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/emsbackup.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/decoder/folder-scan.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/graphql/graphql-client.ts",["975"],[],"/Users/pfic/Development/es-data-pump/src/main/graphql/queries.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/index.test.ts",["976"],[],"/Users/pfic/Development/es-data-pump/src/main/index.ts",["977","978","979","980","981","982","983","984","985"],[],"/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainConfig.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainConfig.types.ts",["986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047"],[],"/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainHandler.settings.ts",["1048","1049","1050","1051","1052"],[],"/Users/pfic/Development/es-data-pump/src/main/ipc/ipcMainHandler.user.ts",["1053"],[],"/Users/pfic/Development/es-data-pump/src/main/setup-keep-alive-agent.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/setup-keep-alive-task.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/store/store.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/checkForAppUpdates.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/createDirectoryIfNotExist.ts",["1054"],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/ad1-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/ad2-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/env-field-descriptor.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/lin-field-descriptor.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/lin-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfh-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfl-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfm-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfo-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pfp-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/pft-field-descriptor.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/stl-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/ttl-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-interface/fielddescriptors/veh-field-descriptors.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ems-util.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/ensureWindowOnScreen.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/setAppProgressBar.ts",[],[],"/Users/pfic/Development/es-data-pump/src/main/util/toRenderer.ts",["1055","1056"],[],"/Users/pfic/Development/es-data-pump/src/main/util/uppercaseObjectKeys.ts",["1057","1058","1059","1060"],[],"/Users/pfic/Development/es-data-pump/src/main/watcher/watcher.ts",["1061"],[],"/Users/pfic/Development/es-data-pump/src/preload/index.d.ts",[],[],"/Users/pfic/Development/es-data-pump/src/preload/index.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/App.tsx",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/components/ErrorBoundaryFallback/ErrorBoundaryFallback.tsx",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.Config.tsx",["1062","1063","1064","1065"],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.WatchedPaths.tsx",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.Watcher.tsx",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/components/Settings/Settings.tsx",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/components/UpdateAvailable/UpdateAvailable.tsx",["1066"],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/env.d.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/main.tsx",["1067","1068","1069","1070","1071","1072"],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/redux/app.slice.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/redux/redux-store.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/redux/reduxHooks.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/util/countdownHook.ts",["1073","1074"],["1075","1076","1077"],"/Users/pfic/Development/es-data-pump/src/renderer/src/util/firebase.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/util/graphql.client.ts",["1078"],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/util/i18n.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/util/ipcRendererHandler.ts",[],[],"/Users/pfic/Development/es-data-pump/src/renderer/src/util/notificationContext.tsx",["1079","1080","1081","1082"],["1083","1084"],"/Users/pfic/Development/es-data-pump/src/util/deepLowercaseKeys.ts",[],["1085","1086","1087"],"/Users/pfic/Development/es-data-pump/src/util/errorTypeCheck.ts",[],[],"/Users/pfic/Development/es-data-pump/src/util/getMainWindow.ts",[],[],"/Users/pfic/Development/es-data-pump/src/util/memUsage.ts",["1088","1089","1090","1091","1092","1093","1094","1095","1096","1097"],[],"/Users/pfic/Development/es-data-pump/src/util/typeCaster.ts",[],["1098","1099","1100","1101","1102","1103","1104","1105","1106"],"/Users/pfic/Development/es-data-pump/src/util/ynBoolConverter.ts",[],[],{"ruleId":"1107","severity":2,"message":"1108","line":16,"column":9,"nodeType":null,"messageId":"1109","endLine":16,"endColumn":15},{"ruleId":"1110","severity":2,"message":"1111","line":9,"column":12,"nodeType":"1112","messageId":"1113","endLine":9,"endColumn":15,"suggestions":"1114","suppressions":"1115"},{"ruleId":"1116","severity":2,"message":"1117","line":13,"column":11,"nodeType":"1118","messageId":"1119","endLine":13,"endColumn":27,"suppressions":"1120"},{"ruleId":"1121","severity":2,"message":"1122","line":11,"column":3,"nodeType":"1123","messageId":"1124","endLine":11,"endColumn":11},{"ruleId":"1121","severity":2,"message":"1122","line":34,"column":23,"nodeType":"1123","messageId":"1124","endLine":34,"endColumn":25},{"ruleId":"1125","severity":2,"message":"1126","line":8,"column":3,"nodeType":"1127","messageId":"1128","endLine":8,"endColumn":8,"suppressions":"1129"},{"ruleId":"1125","severity":2,"message":"1130","line":9,"column":3,"nodeType":"1127","messageId":"1128","endLine":9,"endColumn":21,"suppressions":"1131"},{"ruleId":"1125","severity":2,"message":"1132","line":16,"column":24,"nodeType":"1133","messageId":"1128","endLine":16,"endColumn":31,"suppressions":"1134"},{"ruleId":"1107","severity":2,"message":"1135","line":8,"column":7,"nodeType":null,"messageId":"1109","endLine":8,"endColumn":15},{"ruleId":"1110","severity":2,"message":"1111","line":13,"column":28,"nodeType":"1112","messageId":"1113","endLine":13,"endColumn":31,"suggestions":"1136"},{"ruleId":"1137","severity":2,"message":"1138","line":15,"column":14,"nodeType":"1133","messageId":"1139","endLine":15,"endColumn":29,"suppressions":"1140"},{"ruleId":"1121","severity":2,"message":"1122","line":15,"column":35,"nodeType":"1123","messageId":"1124","endLine":15,"endColumn":37,"suppressions":"1141"},{"ruleId":"1125","severity":2,"message":"1142","line":31,"column":3,"nodeType":"1127","messageId":"1128","endLine":31,"endColumn":11,"suppressions":"1143"},{"ruleId":"1110","severity":2,"message":"1111","line":8,"column":32,"nodeType":"1112","messageId":"1113","endLine":8,"endColumn":35,"suggestions":"1144","suppressions":"1145"},{"ruleId":"1110","severity":2,"message":"1111","line":8,"column":42,"nodeType":"1112","messageId":"1113","endLine":8,"endColumn":45,"suggestions":"1146","suppressions":"1147"},{"ruleId":"1110","severity":2,"message":"1111","line":33,"column":26,"nodeType":"1112","messageId":"1113","endLine":33,"endColumn":29,"suggestions":"1148","suppressions":"1149"},{"ruleId":"1110","severity":2,"message":"1111","line":25,"column":22,"nodeType":"1112","messageId":"1113","endLine":25,"endColumn":25,"suggestions":"1150","suppressions":"1151"},{"ruleId":"1110","severity":2,"message":"1111","line":28,"column":22,"nodeType":"1112","messageId":"1113","endLine":28,"endColumn":25,"suggestions":"1152","suppressions":"1153"},{"ruleId":"1110","severity":2,"message":"1111","line":31,"column":22,"nodeType":"1112","messageId":"1113","endLine":31,"endColumn":25,"suggestions":"1154","suppressions":"1155"},{"ruleId":"1110","severity":2,"message":"1111","line":36,"column":26,"nodeType":"1112","messageId":"1113","endLine":36,"endColumn":29,"suggestions":"1156","suppressions":"1157"},{"ruleId":"1110","severity":2,"message":"1111","line":38,"column":26,"nodeType":"1112","messageId":"1113","endLine":38,"endColumn":29,"suggestions":"1158","suppressions":"1159"},{"ruleId":"1110","severity":2,"message":"1111","line":44,"column":24,"nodeType":"1112","messageId":"1113","endLine":44,"endColumn":27,"suggestions":"1160","suppressions":"1161"},{"ruleId":"1110","severity":2,"message":"1111","line":48,"column":26,"nodeType":"1112","messageId":"1113","endLine":48,"endColumn":29,"suggestions":"1162","suppressions":"1163"},{"ruleId":"1110","severity":2,"message":"1111","line":50,"column":26,"nodeType":"1112","messageId":"1113","endLine":50,"endColumn":29,"suggestions":"1164","suppressions":"1165"},{"ruleId":"1110","severity":2,"message":"1111","line":53,"column":24,"nodeType":"1112","messageId":"1113","endLine":53,"endColumn":27,"suggestions":"1166","suppressions":"1167"},{"ruleId":"1121","severity":2,"message":"1122","line":454,"column":1,"nodeType":"1168","messageId":"1124","endLine":454,"endColumn":34},{"ruleId":"1121","severity":2,"message":"1122","line":464,"column":1,"nodeType":"1168","messageId":"1124","endLine":464,"endColumn":48},{"ruleId":"1121","severity":2,"message":"1122","line":470,"column":1,"nodeType":"1168","messageId":"1124","endLine":470,"endColumn":57},{"ruleId":"1110","severity":2,"message":"1111","line":477,"column":16,"nodeType":"1112","messageId":"1113","endLine":477,"endColumn":19,"suggestions":"1169"},{"ruleId":"1121","severity":2,"message":"1122","line":483,"column":1,"nodeType":"1168","messageId":"1124","endLine":483,"endColumn":40},{"ruleId":"1110","severity":2,"message":"1111","line":486,"column":19,"nodeType":"1112","messageId":"1113","endLine":486,"endColumn":22,"suggestions":"1170"},{"ruleId":"1116","severity":2,"message":"1117","line":4,"column":12,"nodeType":"1118","messageId":"1119","endLine":4,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1172","line":4,"column":20,"nodeType":null,"messageId":"1173","endLine":4,"endColumn":24,"fix":"1174"},{"ruleId":"1116","severity":2,"message":"1117","line":5,"column":14,"nodeType":"1118","messageId":"1119","endLine":5,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1175","line":5,"column":22,"nodeType":null,"messageId":"1173","endLine":5,"endColumn":28,"fix":"1176"},{"ruleId":"1116","severity":2,"message":"1117","line":6,"column":19,"nodeType":"1118","messageId":"1119","endLine":6,"endColumn":43},{"ruleId":"1171","severity":1,"message":"1177","line":6,"column":27,"nodeType":null,"messageId":"1173","endLine":6,"endColumn":42,"fix":"1178"},{"ruleId":"1171","severity":1,"message":"1179","line":9,"column":46,"nodeType":null,"messageId":"1173","endLine":9,"endColumn":66,"fix":"1180"},{"ruleId":"1171","severity":1,"message":"1181","line":10,"column":65,"nodeType":null,"messageId":"1173","endLine":10,"endColumn":71,"fix":"1182"},{"ruleId":"1171","severity":1,"message":"1183","line":16,"column":22,"nodeType":null,"messageId":"1173","endLine":16,"endColumn":24,"fix":"1184"},{"ruleId":"1171","severity":1,"message":"1185","line":18,"column":22,"nodeType":null,"messageId":"1173","endLine":18,"endColumn":29,"fix":"1186"},{"ruleId":"1171","severity":1,"message":"1187","line":19,"column":3,"nodeType":null,"messageId":"1188","endLine":19,"endColumn":5,"fix":"1189"},{"ruleId":"1171","severity":1,"message":"1187","line":20,"column":1,"nodeType":null,"messageId":"1188","endLine":20,"endColumn":3,"fix":"1190"},{"ruleId":"1171","severity":1,"message":"1191","line":21,"column":29,"nodeType":null,"messageId":"1173","endLine":21,"endColumn":35,"fix":"1192"},{"ruleId":"1171","severity":1,"message":"1187","line":22,"column":3,"nodeType":null,"messageId":"1188","endLine":22,"endColumn":5,"fix":"1193"},{"ruleId":"1171","severity":1,"message":"1187","line":23,"column":1,"nodeType":null,"messageId":"1188","endLine":23,"endColumn":3,"fix":"1194"},{"ruleId":"1171","severity":1,"message":"1195","line":25,"column":3,"nodeType":null,"messageId":"1173","endLine":25,"endColumn":24,"fix":"1196"},{"ruleId":"1171","severity":1,"message":"1197","line":26,"column":1,"nodeType":null,"messageId":"1173","endLine":26,"endColumn":68,"fix":"1198"},{"ruleId":"1171","severity":1,"message":"1187","line":36,"column":3,"nodeType":null,"messageId":"1188","endLine":36,"endColumn":5,"fix":"1199"},{"ruleId":"1171","severity":1,"message":"1187","line":37,"column":1,"nodeType":null,"messageId":"1188","endLine":37,"endColumn":3,"fix":"1200"},{"ruleId":"1171","severity":1,"message":"1201","line":38,"column":1,"nodeType":null,"messageId":"1188","endLine":38,"endColumn":5,"fix":"1202"},{"ruleId":"1171","severity":1,"message":"1203","line":39,"column":3,"nodeType":null,"messageId":"1173","endLine":39,"endColumn":55,"fix":"1204"},{"ruleId":"1171","severity":1,"message":"1201","line":40,"column":1,"nodeType":null,"messageId":"1188","endLine":40,"endColumn":5,"fix":"1205"},{"ruleId":"1171","severity":1,"message":"1187","line":41,"column":1,"nodeType":null,"messageId":"1188","endLine":41,"endColumn":3,"fix":"1206"},{"ruleId":"1171","severity":1,"message":"1207","line":42,"column":1,"nodeType":null,"messageId":"1173","endLine":42,"endColumn":25,"fix":"1208"},{"ruleId":"1171","severity":1,"message":"1201","line":43,"column":1,"nodeType":null,"messageId":"1188","endLine":43,"endColumn":5,"fix":"1209"},{"ruleId":"1171","severity":1,"message":"1210","line":44,"column":5,"nodeType":null,"messageId":"1173","endLine":44,"endColumn":20,"fix":"1211"},{"ruleId":"1171","severity":1,"message":"1187","line":45,"column":1,"nodeType":null,"messageId":"1188","endLine":45,"endColumn":3,"fix":"1212"},{"ruleId":"1171","severity":1,"message":"1201","line":46,"column":1,"nodeType":null,"messageId":"1188","endLine":46,"endColumn":5,"fix":"1213"},{"ruleId":"1171","severity":1,"message":"1214","line":47,"column":1,"nodeType":null,"messageId":"1173","endLine":47,"endColumn":21,"fix":"1215"},{"ruleId":"1171","severity":1,"message":"1216","line":48,"column":1,"nodeType":null,"messageId":"1173","endLine":48,"endColumn":9,"fix":"1217"},{"ruleId":"1171","severity":1,"message":"1187","line":49,"column":3,"nodeType":null,"messageId":"1188","endLine":49,"endColumn":5,"fix":"1218"},{"ruleId":"1171","severity":1,"message":"1219","line":51,"column":1,"nodeType":null,"messageId":"1173","endLine":51,"endColumn":5,"fix":"1220"},{"ruleId":"1171","severity":1,"message":"1221","line":52,"column":3,"nodeType":null,"messageId":"1173","endLine":52,"endColumn":125,"fix":"1222"},{"ruleId":"1116","severity":2,"message":"1117","line":4,"column":12,"nodeType":"1118","messageId":"1119","endLine":4,"endColumn":25},{"ruleId":"1171","severity":1,"message":"1172","line":4,"column":20,"nodeType":null,"messageId":"1173","endLine":4,"endColumn":24,"fix":"1223"},{"ruleId":"1116","severity":2,"message":"1117","line":5,"column":14,"nodeType":"1118","messageId":"1119","endLine":5,"endColumn":29},{"ruleId":"1171","severity":1,"message":"1175","line":5,"column":22,"nodeType":null,"messageId":"1173","endLine":5,"endColumn":28,"fix":"1224"},{"ruleId":"1171","severity":1,"message":"1225","line":7,"column":13,"nodeType":null,"messageId":"1173","endLine":7,"endColumn":60,"fix":"1226"},{"ruleId":"1171","severity":1,"message":"1183","line":8,"column":13,"nodeType":null,"messageId":"1173","endLine":8,"endColumn":15,"fix":"1227"},{"ruleId":"1171","severity":1,"message":"1179","line":11,"column":46,"nodeType":null,"messageId":"1173","endLine":11,"endColumn":66,"fix":"1228"},{"ruleId":"1171","severity":1,"message":"1181","line":12,"column":65,"nodeType":null,"messageId":"1173","endLine":12,"endColumn":71,"fix":"1229"},{"ruleId":"1121","severity":2,"message":"1122","line":18,"column":1,"nodeType":"1168","messageId":"1124","endLine":18,"endColumn":27},{"ruleId":"1171","severity":1,"message":"1230","line":19,"column":3,"nodeType":null,"messageId":"1173","endLine":19,"endColumn":33,"fix":"1231"},{"ruleId":"1171","severity":1,"message":"1216","line":20,"column":1,"nodeType":null,"messageId":"1173","endLine":20,"endColumn":9,"fix":"1232"},{"ruleId":"1171","severity":1,"message":"1233","line":21,"column":3,"nodeType":null,"messageId":"1173","endLine":21,"endColumn":39,"fix":"1234"},{"ruleId":"1171","severity":1,"message":"1216","line":22,"column":1,"nodeType":null,"messageId":"1173","endLine":22,"endColumn":9,"fix":"1235"},{"ruleId":"1171","severity":1,"message":"1187","line":23,"column":3,"nodeType":null,"messageId":"1188","endLine":23,"endColumn":5,"fix":"1236"},{"ruleId":"1171","severity":1,"message":"1237","line":24,"column":1,"nodeType":null,"messageId":"1173","endLine":24,"endColumn":18,"fix":"1238"},{"ruleId":"1171","severity":1,"message":"1187","line":25,"column":3,"nodeType":null,"messageId":"1188","endLine":25,"endColumn":5,"fix":"1239"},{"ruleId":"1171","severity":1,"message":"1240","line":30,"column":3,"nodeType":null,"messageId":"1173","endLine":30,"endColumn":28,"fix":"1241"},{"ruleId":"1171","severity":1,"message":"1242","line":31,"column":3,"nodeType":null,"messageId":"1173","endLine":31,"endColumn":27,"fix":"1243"},{"ruleId":"1171","severity":1,"message":"1244","line":32,"column":3,"nodeType":null,"messageId":"1173","endLine":32,"endColumn":28,"fix":"1245"},{"ruleId":"1171","severity":1,"message":"1246","line":33,"column":3,"nodeType":null,"messageId":"1173","endLine":33,"endColumn":28,"fix":"1247"},{"ruleId":"1171","severity":1,"message":"1248","line":34,"column":3,"nodeType":null,"messageId":"1173","endLine":34,"endColumn":27,"fix":"1249"},{"ruleId":"1171","severity":1,"message":"1250","line":37,"column":13,"nodeType":null,"messageId":"1173","endLine":37,"endColumn":30,"fix":"1251"},{"ruleId":"1171","severity":1,"message":"1252","line":38,"column":13,"nodeType":null,"messageId":"1173","endLine":38,"endColumn":33,"fix":"1253"},{"ruleId":"1171","severity":1,"message":"1254","line":40,"column":22,"nodeType":null,"messageId":"1173","endLine":40,"endColumn":29,"fix":"1255"},{"ruleId":"1171","severity":1,"message":"1187","line":41,"column":1,"nodeType":null,"messageId":"1188","endLine":41,"endColumn":3,"fix":"1256"},{"ruleId":"1171","severity":1,"message":"1201","line":42,"column":1,"nodeType":null,"messageId":"1188","endLine":42,"endColumn":5,"fix":"1257"},{"ruleId":"1171","severity":1,"message":"1187","line":43,"column":1,"nodeType":null,"messageId":"1188","endLine":43,"endColumn":3,"fix":"1258"},{"ruleId":"1171","severity":1,"message":"1187","line":44,"column":3,"nodeType":null,"messageId":"1188","endLine":44,"endColumn":5,"fix":"1259"},{"ruleId":"1171","severity":1,"message":"1187","line":45,"column":3,"nodeType":null,"messageId":"1188","endLine":45,"endColumn":5,"fix":"1260"},{"ruleId":"1171","severity":1,"message":"1187","line":46,"column":1,"nodeType":null,"messageId":"1188","endLine":46,"endColumn":3,"fix":"1261"},{"ruleId":"1171","severity":1,"message":"1201","line":47,"column":1,"nodeType":null,"messageId":"1188","endLine":47,"endColumn":5,"fix":"1262"},{"ruleId":"1171","severity":1,"message":"1219","line":48,"column":1,"nodeType":null,"messageId":"1173","endLine":48,"endColumn":5,"fix":"1263"},{"ruleId":"1171","severity":1,"message":"1187","line":49,"column":1,"nodeType":null,"messageId":"1188","endLine":49,"endColumn":3,"fix":"1264"},{"ruleId":"1171","severity":1,"message":"1187","line":50,"column":3,"nodeType":null,"messageId":"1188","endLine":50,"endColumn":5,"fix":"1265"},{"ruleId":"1171","severity":1,"message":"1219","line":51,"column":1,"nodeType":null,"messageId":"1173","endLine":51,"endColumn":5,"fix":"1266"},{"ruleId":"1171","severity":1,"message":"1187","line":52,"column":1,"nodeType":null,"messageId":"1188","endLine":52,"endColumn":3,"fix":"1267"},{"ruleId":"1171","severity":1,"message":"1268","line":53,"column":3,"nodeType":null,"messageId":"1173","endLine":53,"endColumn":19,"fix":"1269"},{"ruleId":"1171","severity":1,"message":"1270","line":56,"column":13,"nodeType":null,"messageId":"1173","endLine":56,"endColumn":50,"fix":"1271"},{"ruleId":"1171","severity":1,"message":"1183","line":62,"column":13,"nodeType":null,"messageId":"1173","endLine":62,"endColumn":15,"fix":"1272"},{"ruleId":"1171","severity":1,"message":"1187","line":8,"column":3,"nodeType":null,"messageId":"1188","endLine":8,"endColumn":5,"fix":"1273"},{"ruleId":"1171","severity":1,"message":"1187","line":9,"column":1,"nodeType":null,"messageId":"1188","endLine":9,"endColumn":3,"fix":"1274"},{"ruleId":"1171","severity":1,"message":"1187","line":10,"column":3,"nodeType":null,"messageId":"1188","endLine":10,"endColumn":5,"fix":"1275"},{"ruleId":"1171","severity":1,"message":"1187","line":11,"column":1,"nodeType":null,"messageId":"1188","endLine":11,"endColumn":3,"fix":"1276"},{"ruleId":"1171","severity":1,"message":"1187","line":12,"column":3,"nodeType":null,"messageId":"1188","endLine":12,"endColumn":5,"fix":"1277"},{"ruleId":"1171","severity":1,"message":"1201","line":13,"column":1,"nodeType":null,"messageId":"1188","endLine":13,"endColumn":5,"fix":"1278"},{"ruleId":"1171","severity":1,"message":"1279","line":14,"column":1,"nodeType":null,"messageId":"1173","endLine":14,"endColumn":13,"fix":"1280"},{"ruleId":"1171","severity":1,"message":"1281","line":15,"column":1,"nodeType":null,"messageId":"1188","endLine":15,"endColumn":9,"fix":"1282"},{"ruleId":"1171","severity":1,"message":"1279","line":16,"column":1,"nodeType":null,"messageId":"1173","endLine":16,"endColumn":13,"fix":"1283"},{"ruleId":"1171","severity":1,"message":"1201","line":17,"column":1,"nodeType":null,"messageId":"1188","endLine":17,"endColumn":5,"fix":"1284"},{"ruleId":"1171","severity":1,"message":"1187","line":18,"column":3,"nodeType":null,"messageId":"1188","endLine":18,"endColumn":5,"fix":"1285"},{"ruleId":"1171","severity":1,"message":"1187","line":19,"column":1,"nodeType":null,"messageId":"1188","endLine":19,"endColumn":3,"fix":"1286"},{"ruleId":"1171","severity":1,"message":"1216","line":20,"column":1,"nodeType":null,"messageId":"1173","endLine":20,"endColumn":9,"fix":"1287"},{"ruleId":"1171","severity":1,"message":"1201","line":21,"column":5,"nodeType":null,"messageId":"1188","endLine":21,"endColumn":9,"fix":"1288"},{"ruleId":"1171","severity":1,"message":"1279","line":22,"column":1,"nodeType":null,"messageId":"1173","endLine":22,"endColumn":13,"fix":"1289"},{"ruleId":"1171","severity":1,"message":"1279","line":23,"column":1,"nodeType":null,"messageId":"1173","endLine":23,"endColumn":13,"fix":"1290"},{"ruleId":"1171","severity":1,"message":"1201","line":24,"column":5,"nodeType":null,"messageId":"1188","endLine":24,"endColumn":9,"fix":"1291"},{"ruleId":"1171","severity":1,"message":"1216","line":25,"column":1,"nodeType":null,"messageId":"1173","endLine":25,"endColumn":9,"fix":"1292"},{"ruleId":"1171","severity":1,"message":"1279","line":26,"column":1,"nodeType":null,"messageId":"1173","endLine":26,"endColumn":13,"fix":"1293"},{"ruleId":"1171","severity":1,"message":"1294","line":27,"column":7,"nodeType":null,"messageId":"1188","endLine":27,"endColumn":13,"fix":"1295"},{"ruleId":"1171","severity":1,"message":"1296","line":28,"column":1,"nodeType":null,"messageId":"1173","endLine":29,"endColumn":1,"fix":"1297"},{"ruleId":"1171","severity":1,"message":"1187","line":30,"column":3,"nodeType":null,"messageId":"1188","endLine":30,"endColumn":5,"fix":"1298"},{"ruleId":"1171","severity":1,"message":"1219","line":31,"column":1,"nodeType":null,"messageId":"1173","endLine":31,"endColumn":5,"fix":"1299"},{"ruleId":"1171","severity":1,"message":"1201","line":32,"column":1,"nodeType":null,"messageId":"1188","endLine":32,"endColumn":5,"fix":"1300"},{"ruleId":"1171","severity":1,"message":"1201","line":33,"column":5,"nodeType":null,"messageId":"1188","endLine":33,"endColumn":9,"fix":"1301"},{"ruleId":"1171","severity":1,"message":"1302","line":34,"column":1,"nodeType":null,"messageId":"1173","endLine":34,"endColumn":68,"fix":"1303"},{"ruleId":"1171","severity":1,"message":"1304","line":35,"column":1,"nodeType":null,"messageId":"1173","endLine":35,"endColumn":10,"fix":"1305"},{"ruleId":"1171","severity":1,"message":"1187","line":36,"column":1,"nodeType":null,"messageId":"1188","endLine":36,"endColumn":3,"fix":"1306"},{"ruleId":"1171","severity":1,"message":"1187","line":37,"column":1,"nodeType":null,"messageId":"1188","endLine":37,"endColumn":3,"fix":"1307"},{"ruleId":"1171","severity":1,"message":"1308","line":38,"column":2,"nodeType":null,"messageId":"1173","endLine":39,"endColumn":1,"fix":"1309"},{"ruleId":"1107","severity":2,"message":"1310","line":40,"column":7,"nodeType":null,"messageId":"1109","endLine":40,"endColumn":34},{"ruleId":"1171","severity":1,"message":"1311","line":219,"column":10,"nodeType":null,"messageId":"1312","endLine":219,"endColumn":10,"fix":"1313"},{"ruleId":"1110","severity":2,"message":"1111","line":394,"column":29,"nodeType":"1112","messageId":"1113","endLine":394,"endColumn":32,"suggestions":"1314"},{"ruleId":"1110","severity":2,"message":"1111","line":397,"column":37,"nodeType":"1112","messageId":"1113","endLine":397,"endColumn":40,"suggestions":"1315"},{"ruleId":"1110","severity":2,"message":"1111","line":400,"column":29,"nodeType":"1112","messageId":"1113","endLine":400,"endColumn":32,"suggestions":"1316"},{"ruleId":"1110","severity":2,"message":"1111","line":403,"column":34,"nodeType":"1112","messageId":"1113","endLine":403,"endColumn":37,"suggestions":"1317"},{"ruleId":"1110","severity":2,"message":"1111","line":408,"column":21,"nodeType":"1112","messageId":"1113","endLine":408,"endColumn":24,"suggestions":"1318"},{"ruleId":"1110","severity":2,"message":"1111","line":408,"column":60,"nodeType":"1112","messageId":"1113","endLine":408,"endColumn":63,"suggestions":"1319"},{"ruleId":"1110","severity":2,"message":"1111","line":412,"column":54,"nodeType":"1112","messageId":"1113","endLine":412,"endColumn":57,"suggestions":"1320"},{"ruleId":"1110","severity":2,"message":"1111","line":426,"column":53,"nodeType":"1112","messageId":"1113","endLine":426,"endColumn":56,"suggestions":"1321"},{"ruleId":"1110","severity":2,"message":"1111","line":428,"column":53,"nodeType":"1112","messageId":"1113","endLine":428,"endColumn":56,"suggestions":"1322"},{"ruleId":"1107","severity":2,"message":"1323","line":1,"column":10,"nodeType":null,"messageId":"1109","endLine":1,"endColumn":23},{"ruleId":"1107","severity":2,"message":"1108","line":16,"column":9,"nodeType":null,"messageId":"1109","endLine":16,"endColumn":15},{"ruleId":"1324","severity":2,"message":"1325","line":105,"column":5,"nodeType":"1326","messageId":"1327","endLine":105,"endColumn":18},{"ruleId":"1324","severity":2,"message":"1325","line":128,"column":9,"nodeType":"1326","messageId":"1327","endLine":128,"endColumn":22},{"ruleId":"1324","severity":2,"message":"1325","line":130,"column":9,"nodeType":"1326","messageId":"1327","endLine":130,"endColumn":22},{"ruleId":"1324","severity":2,"message":"1325","line":144,"column":9,"nodeType":"1326","messageId":"1327","endLine":144,"endColumn":22},{"ruleId":"1324","severity":2,"message":"1325","line":162,"column":7,"nodeType":"1326","messageId":"1327","endLine":162,"endColumn":20},{"ruleId":"1324","severity":2,"message":"1325","line":177,"column":7,"nodeType":"1326","messageId":"1327","endLine":177,"endColumn":20},{"ruleId":"1324","severity":2,"message":"1325","line":337,"column":9,"nodeType":"1326","messageId":"1327","endLine":337,"endColumn":22},{"ruleId":"1324","severity":2,"message":"1325","line":360,"column":9,"nodeType":"1326","messageId":"1327","endLine":360,"endColumn":22},{"ruleId":"1324","severity":2,"message":"1325","line":397,"column":5,"nodeType":"1326","messageId":"1327","endLine":397,"endColumn":18},{"ruleId":"1171","severity":1,"message":"1187","line":2,"column":3,"nodeType":null,"messageId":"1188","endLine":2,"endColumn":5,"fix":"1328"},{"ruleId":"1171","severity":1,"message":"1216","line":3,"column":1,"nodeType":null,"messageId":"1173","endLine":3,"endColumn":9,"fix":"1329"},{"ruleId":"1171","severity":1,"message":"1187","line":4,"column":1,"nodeType":null,"messageId":"1188","endLine":4,"endColumn":3,"fix":"1330"},{"ruleId":"1171","severity":1,"message":"1187","line":8,"column":1,"nodeType":null,"messageId":"1188","endLine":8,"endColumn":3,"fix":"1331"},{"ruleId":"1171","severity":1,"message":"1187","line":9,"column":3,"nodeType":null,"messageId":"1188","endLine":9,"endColumn":5,"fix":"1332"},{"ruleId":"1171","severity":1,"message":"1187","line":13,"column":3,"nodeType":null,"messageId":"1188","endLine":13,"endColumn":5,"fix":"1333"},{"ruleId":"1171","severity":1,"message":"1216","line":14,"column":1,"nodeType":null,"messageId":"1173","endLine":14,"endColumn":9,"fix":"1334"},{"ruleId":"1171","severity":1,"message":"1216","line":15,"column":1,"nodeType":null,"messageId":"1173","endLine":15,"endColumn":9,"fix":"1335"},{"ruleId":"1171","severity":1,"message":"1187","line":16,"column":3,"nodeType":null,"messageId":"1188","endLine":16,"endColumn":5,"fix":"1336"},{"ruleId":"1171","severity":1,"message":"1219","line":17,"column":1,"nodeType":null,"messageId":"1173","endLine":17,"endColumn":5,"fix":"1337"},{"ruleId":"1171","severity":1,"message":"1201","line":18,"column":1,"nodeType":null,"messageId":"1188","endLine":18,"endColumn":5,"fix":"1338"},{"ruleId":"1110","severity":2,"message":"1111","line":18,"column":17,"nodeType":"1112","messageId":"1113","endLine":18,"endColumn":20,"suggestions":"1339"},{"ruleId":"1171","severity":1,"message":"1201","line":19,"column":5,"nodeType":null,"messageId":"1188","endLine":19,"endColumn":9,"fix":"1340"},{"ruleId":"1110","severity":2,"message":"1111","line":19,"column":17,"nodeType":"1112","messageId":"1113","endLine":19,"endColumn":20,"suggestions":"1341"},{"ruleId":"1171","severity":1,"message":"1201","line":20,"column":1,"nodeType":null,"messageId":"1188","endLine":20,"endColumn":5,"fix":"1342"},{"ruleId":"1171","severity":1,"message":"1216","line":21,"column":1,"nodeType":null,"messageId":"1173","endLine":21,"endColumn":9,"fix":"1343"},{"ruleId":"1171","severity":1,"message":"1216","line":22,"column":1,"nodeType":null,"messageId":"1173","endLine":22,"endColumn":9,"fix":"1344"},{"ruleId":"1171","severity":1,"message":"1201","line":23,"column":1,"nodeType":null,"messageId":"1188","endLine":23,"endColumn":5,"fix":"1345"},{"ruleId":"1171","severity":1,"message":"1201","line":24,"column":5,"nodeType":null,"messageId":"1188","endLine":24,"endColumn":9,"fix":"1346"},{"ruleId":"1171","severity":1,"message":"1216","line":25,"column":1,"nodeType":null,"messageId":"1173","endLine":25,"endColumn":9,"fix":"1347"},{"ruleId":"1171","severity":1,"message":"1216","line":26,"column":1,"nodeType":null,"messageId":"1173","endLine":26,"endColumn":9,"fix":"1348"},{"ruleId":"1171","severity":1,"message":"1216","line":27,"column":1,"nodeType":null,"messageId":"1173","endLine":27,"endColumn":9,"fix":"1349"},{"ruleId":"1171","severity":1,"message":"1201","line":28,"column":1,"nodeType":null,"messageId":"1188","endLine":28,"endColumn":5,"fix":"1350"},{"ruleId":"1171","severity":1,"message":"1294","line":29,"column":7,"nodeType":null,"messageId":"1188","endLine":29,"endColumn":13,"fix":"1351"},{"ruleId":"1171","severity":1,"message":"1352","line":30,"column":1,"nodeType":null,"messageId":"1173","endLine":30,"endColumn":17,"fix":"1353"},{"ruleId":"1171","severity":1,"message":"1279","line":31,"column":1,"nodeType":null,"messageId":"1173","endLine":31,"endColumn":13,"fix":"1354"},{"ruleId":"1171","severity":1,"message":"1201","line":32,"column":1,"nodeType":null,"messageId":"1188","endLine":32,"endColumn":5,"fix":"1355"},{"ruleId":"1171","severity":1,"message":"1201","line":33,"column":1,"nodeType":null,"messageId":"1188","endLine":33,"endColumn":5,"fix":"1356"},{"ruleId":"1171","severity":1,"message":"1279","line":34,"column":1,"nodeType":null,"messageId":"1173","endLine":34,"endColumn":13,"fix":"1357"},{"ruleId":"1171","severity":1,"message":"1352","line":35,"column":1,"nodeType":null,"messageId":"1173","endLine":35,"endColumn":17,"fix":"1358"},{"ruleId":"1171","severity":1,"message":"1359","line":36,"column":1,"nodeType":null,"messageId":"1173","endLine":36,"endColumn":21,"fix":"1360"},{"ruleId":"1171","severity":1,"message":"1352","line":37,"column":1,"nodeType":null,"messageId":"1173","endLine":37,"endColumn":17,"fix":"1361"},{"ruleId":"1171","severity":1,"message":"1279","line":38,"column":1,"nodeType":null,"messageId":"1173","endLine":38,"endColumn":13,"fix":"1362"},{"ruleId":"1171","severity":1,"message":"1216","line":39,"column":1,"nodeType":null,"messageId":"1173","endLine":39,"endColumn":9,"fix":"1363"},{"ruleId":"1171","severity":1,"message":"1201","line":40,"column":1,"nodeType":null,"messageId":"1188","endLine":40,"endColumn":5,"fix":"1364"},{"ruleId":"1171","severity":1,"message":"1201","line":41,"column":5,"nodeType":null,"messageId":"1188","endLine":41,"endColumn":9,"fix":"1365"},{"ruleId":"1171","severity":1,"message":"1216","line":42,"column":1,"nodeType":null,"messageId":"1173","endLine":42,"endColumn":9,"fix":"1366"},{"ruleId":"1171","severity":1,"message":"1216","line":43,"column":1,"nodeType":null,"messageId":"1173","endLine":43,"endColumn":9,"fix":"1367"},{"ruleId":"1171","severity":1,"message":"1279","line":44,"column":1,"nodeType":null,"messageId":"1173","endLine":44,"endColumn":13,"fix":"1368"},{"ruleId":"1171","severity":1,"message":"1352","line":45,"column":1,"nodeType":null,"messageId":"1173","endLine":45,"endColumn":17,"fix":"1369"},{"ruleId":"1171","severity":1,"message":"1359","line":46,"column":1,"nodeType":null,"messageId":"1173","endLine":46,"endColumn":21,"fix":"1370"},{"ruleId":"1171","severity":1,"message":"1371","line":47,"column":1,"nodeType":null,"messageId":"1173","endLine":47,"endColumn":25,"fix":"1372"},{"ruleId":"1171","severity":1,"message":"1359","line":48,"column":1,"nodeType":null,"messageId":"1173","endLine":48,"endColumn":21,"fix":"1373"},{"ruleId":"1171","severity":1,"message":"1352","line":49,"column":1,"nodeType":null,"messageId":"1173","endLine":49,"endColumn":17,"fix":"1374"},{"ruleId":"1171","severity":1,"message":"1279","line":50,"column":1,"nodeType":null,"messageId":"1173","endLine":50,"endColumn":13,"fix":"1375"},{"ruleId":"1171","severity":1,"message":"1279","line":51,"column":1,"nodeType":null,"messageId":"1173","endLine":51,"endColumn":13,"fix":"1376"},{"ruleId":"1171","severity":1,"message":"1352","line":52,"column":1,"nodeType":null,"messageId":"1173","endLine":52,"endColumn":17,"fix":"1377"},{"ruleId":"1171","severity":1,"message":"1359","line":53,"column":1,"nodeType":null,"messageId":"1173","endLine":53,"endColumn":21,"fix":"1378"},{"ruleId":"1171","severity":1,"message":"1352","line":54,"column":1,"nodeType":null,"messageId":"1173","endLine":54,"endColumn":17,"fix":"1379"},{"ruleId":"1171","severity":1,"message":"1279","line":55,"column":1,"nodeType":null,"messageId":"1173","endLine":55,"endColumn":13,"fix":"1380"},{"ruleId":"1171","severity":1,"message":"1216","line":56,"column":1,"nodeType":null,"messageId":"1173","endLine":56,"endColumn":9,"fix":"1381"},{"ruleId":"1171","severity":1,"message":"1201","line":57,"column":1,"nodeType":null,"messageId":"1188","endLine":57,"endColumn":5,"fix":"1382"},{"ruleId":"1171","severity":1,"message":"1201","line":58,"column":5,"nodeType":null,"messageId":"1188","endLine":58,"endColumn":9,"fix":"1383"},{"ruleId":"1171","severity":1,"message":"1279","line":59,"column":1,"nodeType":null,"messageId":"1173","endLine":59,"endColumn":13,"fix":"1384"},{"ruleId":"1171","severity":1,"message":"1352","line":60,"column":1,"nodeType":null,"messageId":"1173","endLine":60,"endColumn":17,"fix":"1385"},{"ruleId":"1171","severity":1,"message":"1386","line":61,"column":1,"nodeType":null,"messageId":"1188","endLine":61,"endColumn":11,"fix":"1387"},{"ruleId":"1171","severity":1,"message":"1352","line":62,"column":1,"nodeType":null,"messageId":"1173","endLine":62,"endColumn":17,"fix":"1388"},{"ruleId":"1171","severity":1,"message":"1279","line":63,"column":1,"nodeType":null,"messageId":"1173","endLine":63,"endColumn":13,"fix":"1389"},{"ruleId":"1171","severity":1,"message":"1216","line":64,"column":1,"nodeType":null,"messageId":"1173","endLine":64,"endColumn":9,"fix":"1390"},{"ruleId":"1171","severity":1,"message":"1201","line":65,"column":1,"nodeType":null,"messageId":"1188","endLine":65,"endColumn":5,"fix":"1391"},{"ruleId":"1171","severity":1,"message":"1187","line":66,"column":3,"nodeType":null,"messageId":"1188","endLine":66,"endColumn":5,"fix":"1392"},{"ruleId":"1171","severity":1,"message":"1393","line":67,"column":2,"nodeType":null,"messageId":"1312","endLine":67,"endColumn":2,"fix":"1394"},{"ruleId":"1110","severity":2,"message":"1111","line":17,"column":12,"nodeType":"1112","messageId":"1113","endLine":17,"endColumn":15,"suggestions":"1395"},{"ruleId":"1110","severity":2,"message":"1111","line":24,"column":10,"nodeType":"1112","messageId":"1113","endLine":24,"endColumn":13,"suggestions":"1396"},{"ruleId":"1110","severity":2,"message":"1111","line":25,"column":12,"nodeType":"1112","messageId":"1113","endLine":25,"endColumn":15,"suggestions":"1397"},{"ruleId":"1107","severity":2,"message":"1398","line":149,"column":3,"nodeType":null,"messageId":"1109","endLine":149,"endColumn":9},{"ruleId":"1107","severity":2,"message":"1398","line":174,"column":3,"nodeType":null,"messageId":"1109","endLine":174,"endColumn":9},{"ruleId":"1121","severity":2,"message":"1122","line":28,"column":1,"nodeType":"1168","messageId":"1124","endLine":28,"endColumn":33},{"ruleId":"1121","severity":2,"message":"1122","line":6,"column":60,"nodeType":"1123","messageId":"1124","endLine":6,"endColumn":62},{"ruleId":"1171","severity":1,"message":"1399","line":1,"column":9,"nodeType":null,"messageId":"1173","endLine":1,"endColumn":22,"fix":"1400"},{"ruleId":"1110","severity":2,"message":"1111","line":8,"column":57,"nodeType":"1112","messageId":"1113","endLine":8,"endColumn":60,"suggestions":"1401"},{"ruleId":"1110","severity":2,"message":"1111","line":6,"column":55,"nodeType":"1112","messageId":"1113","endLine":6,"endColumn":58,"suggestions":"1402"},{"ruleId":"1110","severity":2,"message":"1111","line":8,"column":19,"nodeType":"1112","messageId":"1113","endLine":8,"endColumn":22,"suggestions":"1403"},{"ruleId":"1171","severity":1,"message":"1404","line":16,"column":7,"nodeType":null,"messageId":"1173","endLine":16,"endColumn":31,"fix":"1405"},{"ruleId":"1110","severity":2,"message":"1111","line":21,"column":26,"nodeType":"1112","messageId":"1113","endLine":21,"endColumn":29,"suggestions":"1406"},{"ruleId":"1107","severity":2,"message":"1323","line":2,"column":10,"nodeType":null,"messageId":"1109","endLine":2,"endColumn":23},{"ruleId":"1110","severity":2,"message":"1111","line":24,"column":23,"nodeType":"1112","messageId":"1113","endLine":24,"endColumn":26,"suggestions":"1407"},{"ruleId":"1408","severity":1,"message":"1409","line":28,"column":6,"nodeType":"1410","endLine":28,"endColumn":8,"suggestions":"1411"},{"ruleId":"1110","severity":2,"message":"1111","line":30,"column":45,"nodeType":"1112","messageId":"1113","endLine":30,"endColumn":48,"suggestions":"1412"},{"ruleId":"1110","severity":2,"message":"1111","line":47,"column":52,"nodeType":"1112","messageId":"1113","endLine":47,"endColumn":55,"suggestions":"1413"},{"ruleId":"1414","severity":2,"message":"1415","line":69,"column":24,"nodeType":null,"endLine":69,"endColumn":34},{"ruleId":"1171","severity":1,"message":"1187","line":10,"column":3,"nodeType":null,"messageId":"1188","endLine":10,"endColumn":5,"fix":"1416"},{"ruleId":"1171","severity":1,"message":"1201","line":11,"column":5,"nodeType":null,"messageId":"1188","endLine":11,"endColumn":9,"fix":"1417"},{"ruleId":"1171","severity":1,"message":"1279","line":12,"column":1,"nodeType":null,"messageId":"1173","endLine":12,"endColumn":13,"fix":"1418"},{"ruleId":"1171","severity":1,"message":"1201","line":13,"column":5,"nodeType":null,"messageId":"1188","endLine":13,"endColumn":9,"fix":"1419"},{"ruleId":"1171","severity":1,"message":"1187","line":14,"column":3,"nodeType":null,"messageId":"1188","endLine":14,"endColumn":5,"fix":"1420"},{"ruleId":"1171","severity":1,"message":"1421","line":15,"column":2,"nodeType":null,"messageId":"1188","endLine":16,"endColumn":1,"fix":"1422"},{"ruleId":"1121","severity":2,"message":"1122","line":32,"column":28,"nodeType":"1123","messageId":"1124","endLine":32,"endColumn":30},{"ruleId":"1171","severity":1,"message":"1423","line":42,"column":9,"nodeType":null,"messageId":"1173","endLine":42,"endColumn":87,"fix":"1424"},{"ruleId":"1408","severity":1,"message":"1425","line":77,"column":5,"nodeType":"1410","endLine":77,"endColumn":7,"suggestions":"1426","suppressions":"1427"},{"ruleId":"1408","severity":1,"message":"1428","line":95,"column":5,"nodeType":"1410","endLine":95,"endColumn":7,"suggestions":"1429","suppressions":"1430"},{"ruleId":"1408","severity":1,"message":"1431","line":114,"column":5,"nodeType":"1410","endLine":114,"endColumn":7,"suggestions":"1432","suppressions":"1433"},{"ruleId":"1110","severity":2,"message":"1111","line":14,"column":28,"nodeType":"1112","messageId":"1113","endLine":14,"endColumn":31,"suggestions":"1434"},{"ruleId":"1171","severity":1,"message":"1435","line":1,"column":9,"nodeType":null,"messageId":"1173","endLine":1,"endColumn":49,"fix":"1436"},{"ruleId":null,"message":"1437","line":29,"column":3,"severity":1,"nodeType":null,"fix":"1438"},{"ruleId":"1171","severity":1,"message":"1187","line":39,"column":1,"nodeType":null,"messageId":"1188","endLine":39,"endColumn":3,"fix":"1439"},{"ruleId":"1324","severity":2,"message":"1325","line":39,"column":7,"nodeType":"1326","messageId":"1327","endLine":39,"endColumn":20},{"ruleId":"1137","severity":2,"message":"1138","line":14,"column":14,"nodeType":"1133","messageId":"1139","endLine":14,"endColumn":29,"suppressions":"1440"},{"ruleId":"1121","severity":2,"message":"1122","line":14,"column":35,"nodeType":"1123","messageId":"1124","endLine":14,"endColumn":37,"suppressions":"1441"},{"ruleId":"1110","severity":2,"message":"1111","line":8,"column":32,"nodeType":"1112","messageId":"1113","endLine":8,"endColumn":35,"suggestions":"1442","suppressions":"1443"},{"ruleId":"1110","severity":2,"message":"1111","line":8,"column":42,"nodeType":"1112","messageId":"1113","endLine":8,"endColumn":45,"suggestions":"1444","suppressions":"1445"},{"ruleId":"1110","severity":2,"message":"1111","line":33,"column":26,"nodeType":"1112","messageId":"1113","endLine":33,"endColumn":29,"suggestions":"1446","suppressions":"1447"},{"ruleId":"1110","severity":2,"message":"1111","line":92,"column":34,"nodeType":"1112","messageId":"1113","endLine":92,"endColumn":37,"suggestions":"1448"},{"ruleId":"1110","severity":2,"message":"1111","line":94,"column":18,"nodeType":"1112","messageId":"1113","endLine":94,"endColumn":21,"suggestions":"1449"},{"ruleId":null,"message":"1450","line":146,"column":7,"severity":1,"nodeType":null,"fix":"1451"},{"ruleId":"1116","severity":2,"message":"1117","line":147,"column":39,"nodeType":"1118","messageId":"1119","endLine":147,"endColumn":52},{"ruleId":"1110","severity":2,"message":"1111","line":158,"column":39,"nodeType":"1112","messageId":"1113","endLine":158,"endColumn":42,"suggestions":"1452"},{"ruleId":"1110","severity":2,"message":"1111","line":160,"column":22,"nodeType":"1112","messageId":"1113","endLine":160,"endColumn":25,"suggestions":"1453"},{"ruleId":null,"message":"1450","line":165,"column":7,"severity":1,"nodeType":null,"fix":"1454"},{"ruleId":"1116","severity":2,"message":"1117","line":166,"column":39,"nodeType":"1118","messageId":"1119","endLine":166,"endColumn":52},{"ruleId":"1121","severity":2,"message":"1122","line":202,"column":8,"nodeType":"1168","messageId":"1124","endLine":202,"endColumn":44},{"ruleId":"1121","severity":2,"message":"1122","line":211,"column":1,"nodeType":"1168","messageId":"1124","endLine":211,"endColumn":27},{"ruleId":"1110","severity":2,"message":"1111","line":25,"column":22,"nodeType":"1112","messageId":"1113","endLine":25,"endColumn":25,"suggestions":"1455","suppressions":"1456"},{"ruleId":"1110","severity":2,"message":"1111","line":28,"column":22,"nodeType":"1112","messageId":"1113","endLine":28,"endColumn":25,"suggestions":"1457","suppressions":"1458"},{"ruleId":"1110","severity":2,"message":"1111","line":31,"column":22,"nodeType":"1112","messageId":"1113","endLine":31,"endColumn":25,"suggestions":"1459","suppressions":"1460"},{"ruleId":"1110","severity":2,"message":"1111","line":36,"column":26,"nodeType":"1112","messageId":"1113","endLine":36,"endColumn":29,"suggestions":"1461","suppressions":"1462"},{"ruleId":"1110","severity":2,"message":"1111","line":38,"column":26,"nodeType":"1112","messageId":"1113","endLine":38,"endColumn":29,"suggestions":"1463","suppressions":"1464"},{"ruleId":"1110","severity":2,"message":"1111","line":44,"column":24,"nodeType":"1112","messageId":"1113","endLine":44,"endColumn":27,"suggestions":"1465","suppressions":"1466"},{"ruleId":"1110","severity":2,"message":"1111","line":48,"column":26,"nodeType":"1112","messageId":"1113","endLine":48,"endColumn":29,"suggestions":"1467","suppressions":"1468"},{"ruleId":"1110","severity":2,"message":"1111","line":50,"column":26,"nodeType":"1112","messageId":"1113","endLine":50,"endColumn":29,"suggestions":"1469","suppressions":"1470"},{"ruleId":"1110","severity":2,"message":"1111","line":53,"column":24,"nodeType":"1112","messageId":"1113","endLine":53,"endColumn":27,"suggestions":"1471","suppressions":"1472"},"@typescript-eslint/no-unused-vars","'window' is assigned a value but never used.","unusedVar","@typescript-eslint/no-explicit-any","Unexpected any. Specify a different type.","TSAnyKeyword","unexpectedAny",["1473","1474"],["1475"],"@typescript-eslint/no-require-imports","A `require()` style import is forbidden.","CallExpression","noRequireImports",["1476"],"@typescript-eslint/explicit-function-return-type","Missing return type on function.","ArrowFunctionExpression","missingReturnType","react/prop-types","'error' is missing in props validation","Property","missingPropType",["1477"],"'resetErrorBoundary' is missing in props validation",["1478"],"'error.message' is missing in props validation","Identifier",["1479"],"'httpLink' is assigned a value but never used.",["1480","1481"],"react-refresh/only-export-components","Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components.","namedExport",["1482"],["1483"],"'children' is missing in props validation",["1484"],["1485","1486"],["1487"],["1488","1489"],["1490"],["1491","1492"],["1493"],["1494","1495"],["1496"],["1497","1498"],["1499"],["1500","1501"],["1502"],["1503","1504"],["1505"],["1506","1507"],["1508"],["1509","1510"],["1511"],["1512","1513"],["1514"],["1515","1516"],["1517"],["1518","1519"],["1520"],"FunctionDeclaration",["1521","1522"],["1523","1524"],"prettier/prettier","Replace `'fs'` with `\"fs\"`","replace",{"range":"1525","text":"1526"},"Replace `'path'` with `\"path\"`",{"range":"1527","text":"1528"},"Replace `'child_process'` with `\"child_process\"`",{"range":"1529","text":"1530"},"Replace `'..',·'package.json'` with `\"..\",·\"package.json\"`",{"range":"1531","text":"1532"},"Replace `'utf8'` with `\"utf8\"`",{"range":"1533","text":"1534"},"Replace `''` with `\"\"`",{"range":"1535","text":"1536"},"Replace `'alpha'` with `\"alpha\"`",{"range":"1537","text":"1538"},"Delete `··`","delete",{"range":"1539","text":"1540"},{"range":"1541","text":"1540"},"Replace `'beta'` with `\"beta\"`",{"range":"1542","text":"1543"},{"range":"1544","text":"1540"},{"range":"1545","text":"1540"},"Replace `··artifactSuffix·=·''` with `artifactSuffix·=·\"\"`",{"range":"1546","text":"1547"},"Replace `····console.log('Detected·release·version,·no·suffix·will·be·added'` with `··console.log(\"Detected·release·version,·no·suffix·will·be·added\"`",{"range":"1548","text":"1549"},{"range":"1550","text":"1540"},{"range":"1551","text":"1540"},"Delete `····`",{"range":"1552","text":"1540"},"Replace `··console.log(`Executing:·${command}·${args.join('·'` with `console.log(`Executing:·${command}·${args.join(\"·\"`",{"range":"1553","text":"1554"},{"range":"1555","text":"1540"},{"range":"1556","text":"1540"},"Replace `········stdio:·'inherit'` with `····stdio:·\"inherit\"`",{"range":"1557","text":"1558"},{"range":"1559","text":"1540"},"Replace `····shell:·true` with `shell:·true,`",{"range":"1560","text":"1561"},{"range":"1562","text":"1540"},{"range":"1563","text":"1540"},"Replace `····child.on('close'` with `··child.on(\"close\"`",{"range":"1564","text":"1565"},"Replace `········` with `····`",{"range":"1566","text":"1567"},{"range":"1568","text":"1540"},"Replace `····` with `··`",{"range":"1569","text":"1570"},"Replace `··console.log('Environment·variable·set.·Use·this·script·with·additional·arguments·to·run·commands·with·the·variable·set.'` with `console.log(⏎····\"Environment·variable·set.·Use·this·script·with·additional·arguments·to·run·commands·with·the·variable·set.\",⏎··`",{"range":"1571","text":"1572"},{"range":"1573","text":"1526"},{"range":"1574","text":"1528"},"Replace `'===·Artifact·Naming·Test·(Cross-Platform)·==='` with `\"===·Artifact·Naming·Test·(Cross-Platform)·===\"`",{"range":"1575","text":"1576"},{"range":"1577","text":"1536"},{"range":"1578","text":"1532"},{"range":"1579","text":"1534"},"Replace `··if·(version.includes('alpha'` with `if·(version.includes(\"alpha\"`",{"range":"1580","text":"1581"},{"range":"1582","text":"1567"},"Replace `··}·else·if·(version.includes('beta'` with `}·else·if·(version.includes(\"beta\"`",{"range":"1583","text":"1584"},{"range":"1585","text":"1567"},{"range":"1586","text":"1540"},"Replace `········return·''` with `····return·\"\"`",{"range":"1587","text":"1588"},{"range":"1589","text":"1540"},"Replace `··'1.0.5',···············` with `\"1.0.5\",·`",{"range":"1590","text":"1591"},"Replace `··'1.0.5-alpha.2',······` with `\"1.0.5-alpha.2\",`",{"range":"1592","text":"1593"},"Replace `··'1.0.5-beta.1',········` with `\"1.0.5-beta.1\",·`",{"range":"1594","text":"1595"},"Replace `··'2.0.0-alpha.1',·······` with `\"2.0.0-alpha.1\",·`",{"range":"1596","text":"1597"},"Replace `··'1.5.0-beta.3'········` with `\"1.5.0-beta.3\",`",{"range":"1598","text":"1599"},"Replace `'Test·scenarios:'` with `\"Test·scenarios:\"`",{"range":"1600","text":"1601"},"Replace `'=================='` with `\"==================\"`",{"range":"1602","text":"1603"},"Replace `version` with `(version)`",{"range":"1604","text":"1605"},{"range":"1606","text":"1540"},{"range":"1607","text":"1540"},{"range":"1608","text":"1540"},{"range":"1609","text":"1540"},{"range":"1610","text":"1540"},{"range":"1611","text":"1540"},{"range":"1612","text":"1540"},{"range":"1613","text":"1570"},{"range":"1614","text":"1540"},{"range":"1615","text":"1540"},{"range":"1616","text":"1570"},{"range":"1617","text":"1540"},"Replace `··console.log(''` with `console.log(\"\"`",{"range":"1618","text":"1619"},"Replace `'Current·configuration·will·produce:'` with `\"Current·configuration·will·produce:\"`",{"range":"1620","text":"1621"},{"range":"1622","text":"1536"},{"range":"1623","text":"1540"},{"range":"1624","text":"1540"},{"range":"1625","text":"1540"},{"range":"1626","text":"1540"},{"range":"1627","text":"1540"},{"range":"1628","text":"1540"},"Replace `············` with `······`",{"range":"1629","text":"1630"},"Delete `········`",{"range":"1631","text":"1540"},{"range":"1632","text":"1630"},{"range":"1633","text":"1540"},{"range":"1634","text":"1540"},{"range":"1635","text":"1540"},{"range":"1636","text":"1567"},{"range":"1637","text":"1540"},{"range":"1638","text":"1630"},{"range":"1639","text":"1630"},{"range":"1640","text":"1540"},{"range":"1641","text":"1567"},{"range":"1642","text":"1630"},"Delete `······`",{"range":"1643","text":"1540"},"Replace `········},⏎` with `····},`",{"range":"1644","text":"1645"},{"range":"1646","text":"1540"},{"range":"1647","text":"1570"},{"range":"1648","text":"1540"},{"range":"1649","text":"1540"},"Replace `············\"prettier/prettier\":·[\"error\",·{·\"endOfLine\":·\"auto\"·}]` with `······\"prettier/prettier\":·[\"error\",·{·endOfLine:·\"auto\"·}],`",{"range":"1650","text":"1651"},"Replace `········}` with `····},`",{"range":"1652","text":"1645"},{"range":"1653","text":"1540"},{"range":"1654","text":"1540"},"Replace `⏎` with `;`",{"range":"1655","text":"1656"},"'getFilePathWithoutExtension' is assigned a value but never used.","Insert `⏎···`","insert",{"range":"1657","text":"1658"},["1659","1660"],["1661","1662"],["1663","1664"],["1665","1666"],["1667","1668"],["1669","1670"],["1671","1672"],["1673","1674"],["1675","1676"],"'BrowserWindow' is defined but never used.","@typescript-eslint/ban-ts-comment","Include a description after the \"@ts-ignore\" directive to explain why the @ts-ignore is necessary. The description must be 3 characters or longer.","Line","tsDirectiveCommentRequiresDescription",{"range":"1677","text":"1540"},{"range":"1678","text":"1567"},{"range":"1679","text":"1540"},{"range":"1680","text":"1540"},{"range":"1681","text":"1540"},{"range":"1682","text":"1540"},{"range":"1683","text":"1567"},{"range":"1684","text":"1567"},{"range":"1685","text":"1540"},{"range":"1686","text":"1570"},{"range":"1687","text":"1540"},["1688","1689"],{"range":"1690","text":"1540"},["1691","1692"],{"range":"1693","text":"1540"},{"range":"1694","text":"1567"},{"range":"1695","text":"1567"},{"range":"1696","text":"1540"},{"range":"1697","text":"1540"},{"range":"1698","text":"1567"},{"range":"1699","text":"1567"},{"range":"1700","text":"1567"},{"range":"1701","text":"1540"},{"range":"1702","text":"1540"},"Replace `················` with `········`",{"range":"1703","text":"1704"},{"range":"1705","text":"1630"},{"range":"1706","text":"1540"},{"range":"1707","text":"1540"},{"range":"1708","text":"1630"},{"range":"1709","text":"1704"},"Replace `····················` with `··········`",{"range":"1710","text":"1711"},{"range":"1712","text":"1704"},{"range":"1713","text":"1630"},{"range":"1714","text":"1567"},{"range":"1715","text":"1540"},{"range":"1716","text":"1540"},{"range":"1717","text":"1567"},{"range":"1718","text":"1567"},{"range":"1719","text":"1630"},{"range":"1720","text":"1704"},{"range":"1721","text":"1711"},"Replace `························` with `············`",{"range":"1722","text":"1723"},{"range":"1724","text":"1711"},{"range":"1725","text":"1704"},{"range":"1726","text":"1630"},{"range":"1727","text":"1630"},{"range":"1728","text":"1704"},{"range":"1729","text":"1711"},{"range":"1730","text":"1704"},{"range":"1731","text":"1630"},{"range":"1732","text":"1567"},{"range":"1733","text":"1540"},{"range":"1734","text":"1540"},{"range":"1735","text":"1630"},{"range":"1736","text":"1704"},"Delete `··········`",{"range":"1737","text":"1540"},{"range":"1738","text":"1704"},{"range":"1739","text":"1630"},{"range":"1740","text":"1567"},{"range":"1741","text":"1540"},{"range":"1742","text":"1540"},"Insert `⏎`",{"range":"1743","text":"1744"},["1745","1746"],["1747","1748"],["1749","1750"],"'_event' is defined but never used.","Replace `BrowserWindow` with `·BrowserWindow·`",{"range":"1751","text":"1752"},["1753","1754"],["1755","1756"],["1757","1758"],"Replace `··result[uppercaseKey]·=` with `result[uppercaseKey]·=⏎·······`",{"range":"1759","text":"1760"},["1761","1762"],["1763","1764"],"react-hooks/exhaustive-deps","React Hook useEffect has missing dependencies: 'form' and 'settingFields'. Either include them or remove the dependency array.","ArrayExpression",["1765"],["1766","1767"],["1768","1769"],"react-hooks/purity","Error: Cannot call impure function during render\n\n`Date.now` is an impure function. Calling an impure function can produce unstable results that update unpredictably when the component happens to re-render. (https://react.dev/reference/rules/components-and-hooks-must-be-pure#components-and-hooks-must-be-idempotent).\n\n/Users/pfic/Development/es-data-pump/src/renderer/src/components/UpdateAvailable/UpdateAvailable.tsx:69:24\n 67 | format=\"mm:ss\"\n 68 | style={{ width: \"100%\", textAlign: \"center\" }}\n> 69 | value={Date.now() + 10 * 1000}\n | ^^^^^^^^^^ Cannot call impure function\n 70 | onFinish={(): void => handleApply()}\n 71 | />\n 72 | ",{"range":"1770","text":"1540"},{"range":"1771","text":"1540"},{"range":"1772","text":"1630"},{"range":"1773","text":"1540"},{"range":"1774","text":"1540"},"Delete `⏎`",{"range":"1775","text":"1540"},"Replace `timer.current.lastInterval·&&·ts·-·timer.current.lastInterval·>=·localInterval` with `⏎······timer.current.lastInterval·&&⏎······ts·-·timer.current.lastInterval·>=·localInterval⏎····`",{"range":"1776","text":"1777"},"React Hook useCallback has missing dependencies: 'run' and 'timeToCount'. Either include them or remove the dependency array.",["1778"],["1779"],"React Hook useCallback has a missing dependency: 'run'. Either include it or remove the dependency array.",["1780"],["1781"],"React Hook useMemo has missing dependencies: 'pause', 'reset', 'resume', and 'start'. Either include them or remove the dependency array.",["1782"],["1783"],["1784","1785"],"Replace `createContext,·FC,·ReactNode,·useContext` with `·createContext,·FC,·ReactNode,·useContext·`",{"range":"1786","text":"1787"},"Unused eslint-disable directive (no problems were reported from 'react/prop-types').",{"range":"1788","text":"1789"},{"range":"1790","text":"1540"},["1791"],["1792"],["1793","1794"],["1795"],["1796","1797"],["1798"],["1799","1800"],["1801"],["1802","1803"],["1804","1805"],"Unused eslint-disable directive (no problems were reported from '@typescript-eslint/no-var-requires').",{"range":"1806","text":"1789"},["1807","1808"],["1809","1810"],{"range":"1811","text":"1789"},["1812","1813"],["1814"],["1815","1816"],["1817"],["1818","1819"],["1820"],["1821","1822"],["1823"],["1824","1825"],["1826"],["1827","1828"],["1829"],["1830","1831"],["1832"],["1833","1834"],["1835"],["1836","1837"],["1838"],{"messageId":"1839","fix":"1840","desc":"1841"},{"messageId":"1842","fix":"1843","desc":"1844"},{"kind":"1845","justification":"1540"},{"kind":"1845","justification":"1540"},{"kind":"1845","justification":"1540"},{"kind":"1845","justification":"1540"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1846","desc":"1841"},{"messageId":"1842","fix":"1847","desc":"1844"},{"kind":"1845","justification":"1540"},{"kind":"1845","justification":"1540"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1848","desc":"1841"},{"messageId":"1842","fix":"1849","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1850","desc":"1841"},{"messageId":"1842","fix":"1851","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1852","desc":"1841"},{"messageId":"1842","fix":"1853","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1854","desc":"1841"},{"messageId":"1842","fix":"1855","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1856","desc":"1841"},{"messageId":"1842","fix":"1857","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1858","desc":"1841"},{"messageId":"1842","fix":"1859","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1860","desc":"1841"},{"messageId":"1842","fix":"1861","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1862","desc":"1841"},{"messageId":"1842","fix":"1863","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1864","desc":"1841"},{"messageId":"1842","fix":"1865","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1866","desc":"1841"},{"messageId":"1842","fix":"1867","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1868","desc":"1841"},{"messageId":"1842","fix":"1869","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1870","desc":"1841"},{"messageId":"1842","fix":"1871","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1872","desc":"1841"},{"messageId":"1842","fix":"1873","desc":"1844"},{"messageId":"1839","fix":"1874","desc":"1841"},{"messageId":"1842","fix":"1875","desc":"1844"},[105,109],"\"fs\"",[133,139],"\"path\"",[168,183],"\"child_process\"",[276,296],"\"..\", \"package.json\"",[363,369],"\"utf8\"",[531,533],"\"\"",[557,564],"\"alpha\"",[571,573],"",[611,613],[720,726],"\"beta\"",[733,735],[772,774],[863,884],"artifactSuffix = \"\"",[886,953]," console.log(\"Detected release version, no suffix will be added\"",[1248,1250],[1283,1285],[1323,1327],[1330,1382],"console.log(`Executing: ${command} ${args.join(\" \"",[1388,1392],[1393,1395],[1434,1458]," stdio: \"inherit\"",[1460,1464],[1530,1545],"shell: true,",[1546,1548],[1554,1558],[1559,1579]," child.on(\"close\"",[1593,1601]," ",[1623,1625],[1638,1642]," ",[1685,1807],"console.log(\n \"Environment variable set. Use this script with additional arguments to run commands with the variable set.\",\n ",[124,128],[152,158],[174,221],"\"=== Artifact Naming Test (Cross-Platform) ===\"",[236,238],[310,330],[397,403],[579,609],"if (version.includes(\"alpha\"",[614,622],[652,688],"} else if (version.includes(\"beta\"",[693,701],[730,732],[741,758]," return \"\"",[762,764],[812,837],"\"1.0.5\", ",[858,882],"\"1.0.5-alpha.2\",",[902,927],"\"1.0.5-beta.1\", ",[945,970],"\"2.0.0-alpha.1\", ",[989,1013],"\"1.5.0-beta.3\",",[1046,1063],"\"Test scenarios:\"",[1078,1098],"\"==================\"",[1123,1130],"(version)",[1136,1138],[1183,1187],[1188,1190],[1246,1248],[1307,1309],[1362,1364],[1426,1430],[1431,1435],[1471,1473],[1515,1517],[1563,1567],[1605,1607],[1653,1669],"console.log(\"\"",[1689,1726],"\"Current configuration will produce:\"",[1990,1992],[356,358],[413,415],[449,451],[495,497],[548,550],[552,556],[572,584]," ",[593,601],[628,640],[643,647],[656,658],[661,663],[667,675],[705,709],[720,732],[771,783],[830,834],[837,845],[854,866],[925,931],[979,990]," },",[993,995],[998,1002],[1004,1008],[1057,1061],[1070,1137]," \"prettier/prettier\": [\"error\", { endOfLine: \"auto\" }],",[1138,1147],[1148,1150],[1155,1157],[1182,1183],";",[7831,7831],"\n ",{"messageId":"1839","fix":"1876","desc":"1841"},{"messageId":"1842","fix":"1877","desc":"1844"},{"messageId":"1839","fix":"1878","desc":"1841"},{"messageId":"1842","fix":"1879","desc":"1844"},{"messageId":"1839","fix":"1880","desc":"1841"},{"messageId":"1842","fix":"1881","desc":"1844"},{"messageId":"1839","fix":"1882","desc":"1841"},{"messageId":"1842","fix":"1883","desc":"1844"},{"messageId":"1839","fix":"1884","desc":"1841"},{"messageId":"1842","fix":"1885","desc":"1844"},{"messageId":"1839","fix":"1886","desc":"1841"},{"messageId":"1842","fix":"1887","desc":"1844"},{"messageId":"1839","fix":"1888","desc":"1841"},{"messageId":"1842","fix":"1889","desc":"1844"},{"messageId":"1839","fix":"1890","desc":"1841"},{"messageId":"1842","fix":"1891","desc":"1844"},{"messageId":"1839","fix":"1892","desc":"1841"},{"messageId":"1842","fix":"1893","desc":"1844"},[26,28],[48,56],[77,79],[115,117],[139,141],[193,195],[215,223],[243,251],[271,273],[276,280],[295,299],{"messageId":"1839","fix":"1894","desc":"1841"},{"messageId":"1842","fix":"1895","desc":"1844"},[320,324],{"messageId":"1839","fix":"1896","desc":"1841"},{"messageId":"1842","fix":"1897","desc":"1844"},[337,341],[364,372],[389,397],[414,418],[444,448],[463,471],[491,499],[520,528],[550,554],[576,582],[600,616]," ",[635,647],[650,654],[661,665],[690,702],[716,732],[740,760]," ",[780,796],[799,811],[814,822],[825,829],[856,860],[879,887],[906,914],[929,941],[951,967],[976,996],[1006,1030]," ",[1046,1066],[1069,1085],[1088,1100],[1103,1115],[1126,1142],[1155,1175],[1191,1207],[1210,1222],[1225,1233],[1236,1240],[1267,1271],[1292,1304],[1318,1334],[1342,1352],[1382,1398],[1401,1413],[1416,1424],[1427,1431],[1455,1457],[1462,1462],"\n",{"messageId":"1839","fix":"1898","desc":"1841"},{"messageId":"1842","fix":"1899","desc":"1844"},{"messageId":"1839","fix":"1900","desc":"1841"},{"messageId":"1842","fix":"1901","desc":"1844"},{"messageId":"1839","fix":"1902","desc":"1841"},{"messageId":"1842","fix":"1903","desc":"1844"},[8,21]," BrowserWindow ",{"messageId":"1839","fix":"1904","desc":"1841"},{"messageId":"1842","fix":"1905","desc":"1844"},{"messageId":"1839","fix":"1906","desc":"1841"},{"messageId":"1842","fix":"1907","desc":"1844"},{"messageId":"1839","fix":"1908","desc":"1841"},{"messageId":"1842","fix":"1909","desc":"1844"},[474,498],"result[uppercaseKey] =\n ",{"messageId":"1839","fix":"1910","desc":"1841"},{"messageId":"1842","fix":"1911","desc":"1844"},{"messageId":"1839","fix":"1912","desc":"1841"},{"messageId":"1842","fix":"1913","desc":"1844"},{"desc":"1914","fix":"1915"},{"messageId":"1839","fix":"1916","desc":"1841"},{"messageId":"1842","fix":"1917","desc":"1844"},{"messageId":"1839","fix":"1918","desc":"1841"},{"messageId":"1842","fix":"1919","desc":"1844"},[283,285],[308,312],[319,331],[358,362],[367,369],[372,373],[860,938],"\n timer.current.lastInterval &&\n ts - timer.current.lastInterval >= localInterval\n ",{"desc":"1920","fix":"1921"},{"kind":"1845","justification":"1540"},{"desc":"1922","fix":"1923"},{"kind":"1845","justification":"1540"},{"desc":"1924","fix":"1925"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1926","desc":"1841"},{"messageId":"1842","fix":"1927","desc":"1844"},[8,48]," createContext, FC, ReactNode, useContext ",[936,980]," ",[1209,1211],{"kind":"1845","justification":"1540"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1928","desc":"1841"},{"messageId":"1842","fix":"1929","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1930","desc":"1841"},{"messageId":"1842","fix":"1931","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1932","desc":"1841"},{"messageId":"1842","fix":"1933","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1934","desc":"1841"},{"messageId":"1842","fix":"1935","desc":"1844"},{"messageId":"1839","fix":"1936","desc":"1841"},{"messageId":"1842","fix":"1937","desc":"1844"},[3568,3630],{"messageId":"1839","fix":"1938","desc":"1841"},{"messageId":"1842","fix":"1939","desc":"1844"},{"messageId":"1839","fix":"1940","desc":"1841"},{"messageId":"1842","fix":"1941","desc":"1844"},[4107,4169],{"messageId":"1839","fix":"1942","desc":"1841"},{"messageId":"1842","fix":"1943","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1944","desc":"1841"},{"messageId":"1842","fix":"1945","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1946","desc":"1841"},{"messageId":"1842","fix":"1947","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1948","desc":"1841"},{"messageId":"1842","fix":"1949","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1950","desc":"1841"},{"messageId":"1842","fix":"1951","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1952","desc":"1841"},{"messageId":"1842","fix":"1953","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1954","desc":"1841"},{"messageId":"1842","fix":"1955","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1956","desc":"1841"},{"messageId":"1842","fix":"1957","desc":"1844"},{"kind":"1845","justification":"1540"},{"messageId":"1839","fix":"1958","desc":"1841"},{"messageId":"1842","fix":"1959","desc":"1844"},{"kind":"1845","justification":"1540"},"suggestUnknown",{"range":"1960","text":"1961"},"Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.","suggestNever",{"range":"1962","text":"1963"},"Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.","directive",{"range":"1964","text":"1961"},{"range":"1965","text":"1963"},{"range":"1966","text":"1961"},{"range":"1967","text":"1963"},{"range":"1968","text":"1961"},{"range":"1969","text":"1963"},{"range":"1970","text":"1961"},{"range":"1971","text":"1963"},{"range":"1972","text":"1961"},{"range":"1973","text":"1963"},{"range":"1974","text":"1961"},{"range":"1975","text":"1963"},{"range":"1976","text":"1961"},{"range":"1977","text":"1963"},{"range":"1978","text":"1961"},{"range":"1979","text":"1963"},{"range":"1980","text":"1961"},{"range":"1981","text":"1963"},{"range":"1982","text":"1961"},{"range":"1983","text":"1963"},{"range":"1984","text":"1961"},{"range":"1985","text":"1963"},{"range":"1986","text":"1961"},{"range":"1987","text":"1963"},{"range":"1988","text":"1961"},{"range":"1989","text":"1963"},{"range":"1990","text":"1961"},{"range":"1991","text":"1963"},{"range":"1992","text":"1961"},{"range":"1993","text":"1963"},{"range":"1994","text":"1961"},{"range":"1995","text":"1963"},{"range":"1996","text":"1961"},{"range":"1997","text":"1963"},{"range":"1998","text":"1961"},{"range":"1999","text":"1963"},{"range":"2000","text":"1961"},{"range":"2001","text":"1963"},{"range":"2002","text":"1961"},{"range":"2003","text":"1963"},{"range":"2004","text":"1961"},{"range":"2005","text":"1963"},{"range":"2006","text":"1961"},{"range":"2007","text":"1963"},{"range":"2008","text":"1961"},{"range":"2009","text":"1963"},{"range":"2010","text":"1961"},{"range":"2011","text":"1963"},{"range":"2012","text":"1961"},{"range":"2013","text":"1963"},{"range":"2014","text":"1961"},{"range":"2015","text":"1963"},{"range":"2016","text":"1961"},{"range":"2017","text":"1963"},{"range":"2018","text":"1961"},{"range":"2019","text":"1963"},{"range":"2020","text":"1961"},{"range":"2021","text":"1963"},{"range":"2022","text":"1961"},{"range":"2023","text":"1963"},{"range":"2024","text":"1961"},{"range":"2025","text":"1963"},{"range":"2026","text":"1961"},{"range":"2027","text":"1963"},{"range":"2028","text":"1961"},{"range":"2029","text":"1963"},{"range":"2030","text":"1961"},{"range":"2031","text":"1963"},"Update the dependencies array to be: [form, settingFields]",{"range":"2032","text":"2033"},{"range":"2034","text":"1961"},{"range":"2035","text":"1963"},{"range":"2036","text":"1961"},{"range":"2037","text":"1963"},"Update the dependencies array to be: [run, timeToCount]",{"range":"2038","text":"2039"},"Update the dependencies array to be: [run]",{"range":"2040","text":"2041"},"Update the dependencies array to be: [pause, reset, resume, start]",{"range":"2042","text":"2043"},{"range":"2044","text":"1961"},{"range":"2045","text":"1963"},{"range":"2046","text":"1961"},{"range":"2047","text":"1963"},{"range":"2048","text":"1961"},{"range":"2049","text":"1963"},{"range":"2050","text":"1961"},{"range":"2051","text":"1963"},{"range":"2052","text":"1961"},{"range":"2053","text":"1963"},{"range":"2054","text":"1961"},{"range":"2055","text":"1963"},{"range":"2056","text":"1961"},{"range":"2057","text":"1963"},{"range":"2058","text":"1961"},{"range":"2059","text":"1963"},{"range":"2060","text":"1961"},{"range":"2061","text":"1963"},{"range":"2062","text":"1961"},{"range":"2063","text":"1963"},{"range":"2064","text":"1961"},{"range":"2065","text":"1963"},{"range":"2066","text":"1961"},{"range":"2067","text":"1963"},{"range":"2068","text":"1961"},{"range":"2069","text":"1963"},{"range":"2070","text":"1961"},{"range":"2071","text":"1963"},{"range":"2072","text":"1961"},{"range":"2073","text":"1963"},{"range":"2074","text":"1961"},{"range":"2075","text":"1963"},{"range":"2076","text":"1961"},{"range":"2077","text":"1963"},[269,272],"unknown",[269,272],"never",[233,236],[233,236],[249,252],[249,252],[259,262],[259,262],[848,851],[848,851],[955,958],[955,958],[1043,1046],[1043,1046],[1132,1135],[1132,1135],[1295,1298],[1295,1298],[1381,1384],[1381,1384],[1523,1526],[1523,1526],[1692,1695],[1692,1695],[1794,1797],[1794,1797],[1871,1874],[1871,1874],[15682,15685],[15682,15685],[15936,15939],[15936,15939],[11967,11970],[11967,11970],[12073,12076],[12073,12076],[12178,12181],[12178,12181],[12237,12240],[12237,12240],[12459,12462],[12459,12462],[12498,12501],[12498,12501],[12627,12630],[12627,12630],[12942,12945],[12942,12945],[13068,13071],[13068,13071],[311,314],[311,314],[332,335],[332,335],[431,434],[431,434],[565,568],[565,568],[581,584],[581,584],[235,238],[235,238],[241,244],[241,244],[276,279],[276,279],[654,657],[654,657],[649,652],[649,652],[740,742],"[form, settingFields]",[790,793],[790,793],[1234,1237],[1234,1237],[1947,1949],"[run, timeToCount]",[2509,2511],"[run]",[2971,2973],"[pause, reset, resume, start]",[246,249],[246,249],[249,252],[249,252],[259,262],[259,262],[848,851],[848,851],[2142,2145],[2142,2145],[2195,2198],[2195,2198],[3970,3973],[3970,3973],[4031,4034],[4031,4034],[955,958],[955,958],[1043,1046],[1043,1046],[1132,1135],[1132,1135],[1295,1298],[1295,1298],[1381,1384],[1381,1384],[1523,1526],[1523,1526],[1692,1695],[1692,1695],[1794,1797],[1794,1797],[1871,1874],[1871,1874]] \ No newline at end of file diff --git a/deploy/set-artifact-name.js b/deploy/set-artifact-name.js index d99d8f7..f6ac679 100644 --- a/deploy/set-artifact-name.js +++ b/deploy/set-artifact-name.js @@ -35,15 +35,15 @@ console.log(`ARTIFACT_SUFFIX set to: '${artifactSuffix}'`); if (process.argv.length > 2) { const command = process.argv[2]; const args = process.argv.slice(3); - + console.log(`Executing: ${command} ${args.join(' ')}`); - + const child = spawn(command, args, { stdio: 'inherit', env: { ...process.env, ARTIFACT_SUFFIX: artifactSuffix }, shell: true }); - + child.on('close', (code) => { process.exit(code); }); diff --git a/eslint.config.mjs b/eslint.config.mjs index 47f4e17..c117921 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,7 +5,7 @@ import eslintPluginReactHooks from "eslint-plugin-react-hooks"; import eslintPluginReactRefresh from "eslint-plugin-react-refresh"; export default tseslint.config( - {ignores: ["**/node_modules", "**/dist", "**/out"]}, + { ignores: ["**/node_modules", "**/dist", "**/out"] }, tseslint.configs.recommended, eslintPluginReact.configs.flat.recommended, eslintPluginReact.configs.flat["jsx-runtime"], @@ -31,7 +31,7 @@ export default tseslint.config( { files: ["**/*.{js,mjs,ts,tsx,jsx,tsx}"], rules: { - "prettier/prettier": ["error", {"endOfLine": "off"}] + "prettier/prettier": ["error", { "endOfLine": "auto" }] } }, eslintConfigPrettier, diff --git a/src/main/decoder/decoder.ts b/src/main/decoder/decoder.ts index 6973c1a..6f8cd58 100644 --- a/src/main/decoder/decoder.ts +++ b/src/main/decoder/decoder.ts @@ -6,16 +6,9 @@ import fs from "fs"; import _ from "lodash"; import path from "path"; import errorTypeCheck from "../../util/errorTypeCheck"; -import client from "../graphql/graphql-client"; -import { - INSERT_AVAILABLE_JOB_TYPED, - InsertAvailableJobResult, - QUERY_JOB_BY_CLM_NO_TYPED, - QUERY_VEHICLE_BY_VIN_TYPED, - QueryJobByClmNoResult, - VehicleQueryResult, -} from "../graphql/queries"; +import { ScrubEstimate } from "../estimate-scrubber/estimate-scrubber"; import store from "../store/store"; +import setAppProgressbar from "../util/setAppProgressBar"; import DecodeAD1 from "./decode-ad1"; import { DecodedAd1 } from "./decode-ad1.interface"; import DecodeAD2 from "./decode-ad2"; @@ -42,7 +35,6 @@ import DecodeTtl from "./decode-ttl"; import { DecodedTtl } from "./decode-ttl.interface"; import DecodeVeh from "./decode-veh"; import { DecodedVeh } from "./decode-veh.interface"; -import setAppProgressbar from "../util/setAppProgressBar"; import UploadEmsToS3 from "./emsbackup"; async function ImportJob(filepath: string): Promise { @@ -142,39 +134,10 @@ async function ImportJob(filepath: string): Promise { }; setAppProgressbar(0.85); - const existingVehicleRecord: VehicleQueryResult = await client.request( - QUERY_VEHICLE_BY_VIN_TYPED, - { - vin: jobObject.v_vin, - }, - ); - - if (existingVehicleRecord.vehicles.length > 0) { - delete newAvailableJob.est_data.vehicle; - newAvailableJob.est_data.vehicleid = existingVehicleRecord.vehicles[0].id; - } - console.log("Available Job record to upload;", newAvailableJob); setAppProgressbar(0.95); - if (jobObject.clm_no) { - const existingJobRecord: QueryJobByClmNoResult = await client.request( - QUERY_JOB_BY_CLM_NO_TYPED, - { clm_no: jobObject.clm_no }, - ); - if (existingJobRecord.jobs.length > 0) { - newAvailableJob.issupplement = true; - newAvailableJob.jobid = existingJobRecord.jobs[0].id; - } - } - - const insertRecordResult: InsertAvailableJobResult = await client.request( - INSERT_AVAILABLE_JOB_TYPED, - { - jobInput: [newAvailableJob], - }, - ); setAppProgressbar(-1); const uploadNotification = new Notification({ title: "Job Imported", @@ -193,7 +156,8 @@ async function ImportJob(filepath: string): Promise { }); uploadNotification.show(); - log.debug("Job inserted", insertRecordResult); + //Scrub the estimate + const scrubResults = ScrubEstimate({ job: jobObject }); UploadEmsToS3({ extensionlessFilePath, @@ -216,7 +180,8 @@ async function ImportJob(filepath: string): Promise { export default ImportJob; export interface RawJobDataObject - extends DecodedEnv, + extends + DecodedEnv, DecodedAd1, DecodedAD2, DecodedVeh, diff --git a/src/main/estimate-scrubber/estimate-scrubber.ts b/src/main/estimate-scrubber/estimate-scrubber.ts new file mode 100644 index 0000000..732053e --- /dev/null +++ b/src/main/estimate-scrubber/estimate-scrubber.ts @@ -0,0 +1,186 @@ +import log from "electron-log"; +import axios from "axios"; +import path from "path"; +import { BrowserWindow } from "electron"; +import { promises as fsPromises } from "fs"; +import { autoUpdater } from "electron-updater"; + +// Function to write job object to logs subfolder +async function writeJobToLogsFolder(job, fileName): Promise { + try { + // Get the directory where electron-log stores its files + const logFilePath = log.transports.file.getFile().path; + const logsDir = path.dirname(logFilePath); + + // Create a subfolder for job objects + const jobLogsDir = path.join(logsDir, "esjson"); + + // Ensure the directory exists + await fsPromises.mkdir(jobLogsDir, { recursive: true }); + + // Write the job object as JSON + const jobFilePath = path.join(jobLogsDir, `${fileName}.json`); + await fsPromises.writeFile( + jobFilePath, + JSON.stringify(job, null, 2), + "utf8", + ); + + log.debug(`Job object written to: ${jobFilePath}`); + console.log(`Job object written to: ${jobFilePath}`); + return jobFilePath; + } catch (error) { + log.error("Error writing job object to logs folder:", error); + throw error; + } +} +async function ScrubEstimate({ job }): Promise { + //These are hard coded as they are not secure values and checking happens based on other values. + //No secret or private information is exposed. + const basicAuthUser = "Imex2"; + const basicAuthpassword = "Patrick"; + const currentChannel = autoUpdater.channel; + let estimateScrubberUrl; + switch (currentChannel) { + case "alpha": + estimateScrubberUrl = "https://4284-79287.el-alt.com"; //dev specific URL. + break; + case "beta": + estimateScrubberUrl = "https://4284-79073.el-alt.com"; //Beta specific URL. + break; + default: + estimateScrubberUrl = "https://insurtechtoolkit.com"; //Production route. + break; + } + + log.log(`Estimate Scrubber URL: [${currentChannel} |`, estimateScrubberUrl); + const sendingEntityId = "87330f61-412b-4251-baaa-d026565b23c5"; + try { + const esApiKey = job?.bodyshop?.es_api_key; + //Perform data manipulation on the job object + if (!job) { + console.error("No job provided to ScrubEstimate"); + return; + } + + //Set shop metrics + job.sending_entity_id = sendingEntityId; + job.sending_entity_accept_terms_of_use = true; + job.association_switch = "ATAM"; + job.rf_zip = job.bodyshop.zip_post; + job.rf_ph1 = job.bodyshop.phone; + job.g_ttl_amt = job.clm_total; + job.source_system = "M"; //Requested by Steven. + job.v_mileage = job.v_mileage?.toString() || ""; //Requested by Steven to be a string. + + delete job.clm_total; + delete job.bodyshop; //Bodyshop has to be passed through the object as we don't have access to the store here. + + //Adjust the rates field to be MAT_TYPE instead of MATL_TYPE + if (job.rates && Array.isArray(job.rates)) { + job.rates.forEach((rate) => { + if (rate.MATL_TYPE) { + rate.MAT_TYPE = rate.MATL_TYPE; + delete rate.MATL_TYPE; + } + }); + } + + //Lower case the rates & totals + if (job.rates && Array.isArray(job.rates)) { + job.rates = job.rates.map((rate) => { + const lowercasedRate = {}; + for (const [key, value] of Object.entries(rate)) { + lowercasedRate[key.toLowerCase()] = value; + } + return lowercasedRate; + }); + } + + if (job.totals && Array.isArray(job.totals)) { + job.totals = job.totals.map((total) => { + const lowercasedTotal = {}; + for (const [key, value] of Object.entries(total)) { + lowercasedTotal[key.toLowerCase()] = value; + } + return lowercasedTotal; + }); + } + + const fileName = `${esApiKey}-${job.clm_no}-${Date.now()}`; + + // Write job object to logs subfolder + try { + await writeJobToLogsFolder(job, fileName); + } catch (error) { + log.error("Failed to write job to logs folder:", error); + // Continue with the rest of the function even if this fails + } + + const formData = new FormData(); + const jsonString = JSON.stringify(job); + formData.append( + "file", + new Blob([jsonString], { type: "application/json" }), + `${fileName}.json`, + ); + + const result = await axios.post( + `${estimateScrubberUrl}/api/sendems`, + formData, + { + auth: { + username: basicAuthUser, + password: basicAuthpassword, + }, + headers: { + ...(formData.getHeaders ? formData.getHeaders() : {}), + APIkey: esApiKey, + }, + }, + ); + + const resultPDFUrl = result?.data?.report_link; + const reportIssueUrl = `https://insurtechtoolkit.com/pcontactUs.aspx?apiKey=${esApiKey}&file=${fileName}.json`; + // log.log("Estimate Scrubber Result:", result.data, resultPDFUrl); + // const b = BrowserWindow.getAllWindows()[0]; + // b.webContents.send(ipcTypes.app.toRenderer.scrubResults, { + // jobid: job.id, + // items: result.data?.identified_item, + // pdfUrl: resultPDFUrl, + // reportIssueUrl, + // }); + + // const pdfWindow = new BrowserWindow({ + + // webPreferences: { + // plugins: true, // Enable PDF viewing + // }, + // }); + + // pdfWindow.loadURL(resultPDFUrl); + // pdfWindow.focus(); + return resultPDFUrl; + } catch (error) { + log.error("Error while scrubbing estimate:", error, error.stack); + log.error("Error Response Data:", error.response?.data); + const mainWindow = BrowserWindow.getAllWindows()[0]; + + if (error.status === 400) { + mainWindow.webContents.send(ipcTypes.app.toRenderer.scrubError, { + message: + error.response?.data || + "Error encountered sending estimate to Estimate Scrubber.", + }); + } else if (error.status === 401) { + mainWindow.webContents.send(ipcTypes.app.toRenderer.scrubError, { + message: + "Authentication with Estimate Scrubber failed." || + error.response?.data, + }); + } + return "Error: Unable to scrub estimate."; + } +} + +export { ScrubEstimate }; diff --git a/src/main/ipc/ipcMainConfig.types.ts b/src/main/ipc/ipcMainConfig.types.ts index c90c9b4..e61c317 100644 --- a/src/main/ipc/ipcMainConfig.types.ts +++ b/src/main/ipc/ipcMainConfig.types.ts @@ -1,67 +1,67 @@ export interface User { - stsTokenManager?: { - accessToken: string; - }; + stsTokenManager?: { + accessToken: string; + }; } export interface BodyShop { - shopname: string; - id: string; + shopname: string; + id: string; } export interface GraphQLResponse { - bodyshops_by_pk?: { - imexshopid: string; - shopname: string; + bodyshops_by_pk?: { + imexshopid: string; + shopname: string; + }; + jobs?: Array<{ + labhrs: any; + larhrs: any; + ro_number: string; + ownr_ln: string; + ownr_fn: string; + plate_no: string; + v_vin: string; + v_model_yr: string; + v_make_desc: string; + v_model_desc: string; + vehicle?: { + v_paint_codes?: { + paint_cd1: string; + }; }; - jobs?: Array<{ - labhrs: any; - larhrs: any; - ro_number: string; - ownr_ln: string; - ownr_fn: string; - plate_no: string; - v_vin: string; - v_model_yr: string; - v_make_desc: string; - v_model_desc: string; - vehicle?: { - v_paint_codes?: { - paint_cd1: string; - }; + larhrs_aggregate?: { + aggregate?: { + sum?: { + mod_lb_hrs: number; }; - larhrs_aggregate?: { - aggregate?: { - sum?: { - mod_lb_hrs: number; - }; - }; + }; + }; + ins_co_nm: string; + est_ct_ln: string; + est_ct_fn: string; + job_totals?: { + rates?: { + mapa?: { + total?: { + amount: number; + }; }; - ins_co_nm: string; - est_ct_ln: string; - est_ct_fn: string; - job_totals?: { - rates?: { - mapa?: { - total?: { - amount: number; - }; - }; - }; - totals?: { - subtotal?: { - amount: number; - }; - }; + }; + totals?: { + subtotal?: { + amount: number; }; - rate_mapa: number; - labhrs_aggregate?: { - aggregate?: { - sum?: { - mod_lb_hrs: number; - }; - }; + }; + }; + rate_mapa: number; + labhrs_aggregate?: { + aggregate?: { + sum?: { + mod_lb_hrs: number; }; - rate_lab: number; - }>; -} \ No newline at end of file + }; + }; + rate_lab: number; + }>; +} diff --git a/src/main/ipc/ipcMainHandler.settings.ts b/src/main/ipc/ipcMainHandler.settings.ts index 815e1ad..40a0073 100644 --- a/src/main/ipc/ipcMainHandler.settings.ts +++ b/src/main/ipc/ipcMainHandler.settings.ts @@ -27,16 +27,6 @@ const setSetting = async ( return Store.get(`settings.${key}`); }; -// Initialize paint scale input configs in store if not set -if (!Store.get("settings.paintScaleInputConfigs")) { - Store.set("settings.paintScaleInputConfigs", []); -} - -// Initialize paint scale output configs in store if not set -if (!Store.get("settings.paintScaleOutputConfigs")) { - Store.set("settings.paintScaleOutputConfigs", []); -} - const SettingsWatchedFilePathsAdd = async (): Promise => { const mainWindow = getMainWindow(); if (!mainWindow) { diff --git a/src/main/ipc/ipcMainHandler.user.ts b/src/main/ipc/ipcMainHandler.user.ts index eb367d8..d0562c4 100644 --- a/src/main/ipc/ipcMainHandler.user.ts +++ b/src/main/ipc/ipcMainHandler.user.ts @@ -25,7 +25,7 @@ const ipcMainHandleAuthStateChanged = async ( checkForAppUpdatesContinuously(); }; -async function setReleaseChannel() { +async function setReleaseChannel(): Promise { try { //Need to query the currently active shop, and store the metadata as well. //Also need to query the OP Codes for decoding reference. diff --git a/src/main/ipc/paintScaleHandlers/PPG.ts b/src/main/ipc/paintScaleHandlers/PPG.ts deleted file mode 100644 index 50cad7f..0000000 --- a/src/main/ipc/paintScaleHandlers/PPG.ts +++ /dev/null @@ -1,272 +0,0 @@ -import log from "electron-log/main"; -import path from "path"; -import fs from "fs/promises"; -import axios from "axios"; -import { create } from "xmlbuilder2"; -import { parseStringPromise } from "xml2js"; -import store from "../../store/store"; -import client, { getTokenFromRenderer } from "../../graphql/graphql-client"; -import { PaintScaleConfig } from "../../../util/types/paintScale"; -import dayjs from "dayjs"; -import { - PPG_DATA_QUERY_TYPED, - PpgDataQueryResult, - PpgDataQueryVariables, -} from "../../graphql/queries"; - -export async function ppgInputHandler(config: PaintScaleConfig): Promise { - try { - log.info( - `Polling input directory for PPG config ${config.id}: ${config.path}`, - ); - - log.debug( - `Archive dir: ${path.join(config.path!, "archive")}, Error dir: ${path.join(config.path!, "error")}`, - ); - - // Ensure archive and error directories exist - const archiveDir = path.join(config.path!, "archive"); - const errorDir = path.join(config.path!, "error"); - try { - await fs.mkdir(archiveDir, { recursive: true }); - await fs.mkdir(errorDir, { recursive: true }); - log.debug( - `Archive and error directories ensured: ${archiveDir}, ${errorDir}`, - ); - } catch (dirError) { - log.error(`Failed to create directories for ${config.path}:`, dirError); - throw dirError; - } - - // Check for files - const files = await fs.readdir(config.path!); - log.debug(`Found ${files.length} files in ${config.path}:`, files); - - for (const file of files) { - // Only process XML files - if (!file.toLowerCase().endsWith(".xml")) { - continue; - } - - const filePath = path.join(config.path!, file); - try { - const stats = await fs.stat(filePath); - if (!stats.isFile()) { - continue; - } - } catch (statError) { - log.warn(`Failed to stat file ${filePath}:`, statError); - continue; - } - - log.debug(`Processing input file: ${filePath}`); - - // Check file accessibility (e.g., not locked) - try { - await fs.access(filePath, fs.constants.R_OK); - } catch (error) { - log.warn(`File ${filePath} is inaccessible, skipping:`, error); - continue; - } - - // Validate XML structure - let xmlContent: BlobPart; - try { - xmlContent = await fs.readFile(filePath, "utf8"); - await parseStringPromise(xmlContent); - log.debug(`Successfully validated XML for ${filePath}`); - } catch (error) { - log.error(`Invalid XML in ${filePath}:`, error); - const timestamp = dayjs().format("YYYYMMDD_HHmmss"); - const originalFilename = path.basename(file, path.extname(file)); - const errorPath = path.join( - errorDir, - `${originalFilename}-${timestamp}.xml`, - ); - try { - await fs.rename(filePath, errorPath); - log.debug(`Moved invalid file to error: ${errorPath}`); - } catch (moveError) { - log.error( - `Failed to move invalid file to error directory ${errorPath}:`, - moveError, - ); - } - continue; - } - - // Get authentication token - let token: string | null; - try { - token = await getTokenFromRenderer(); - if (!token) { - log.error(`No authentication token for file: ${filePath}`); - continue; - } - log.debug( - `Obtained authentication token for ${filePath}: ${token.slice(0, 10)}...`, - ); - } catch (tokenError) { - log.error( - `Failed to obtain authentication token for ${filePath}:`, - tokenError, - ); - continue; - } - - // Upload file to API - const formData = new FormData(); - formData.append("file", new Blob([xmlContent]), path.basename(filePath)); - const shopId = (store.get("app.bodyshop") as any)?.shopname || ""; - formData.append("shopId", shopId); - log.debug(`Shop ID: ${shopId}`); - - const baseURL = store.get("app.isTest") - ? import.meta.env.VITE_API_TEST_URL - : import.meta.env.VITE_API_URL; - const finalUrl = `${baseURL}/mixdata/upload`; - log.debug(`Uploading file to ${finalUrl}`); - - try { - const response = await axios.post(finalUrl, formData, { - headers: { - Authorization: `Bearer ${token}`, - "Content-Type": "multipart/form-data", - }, - timeout: 10000, // 10-second timeout - }); - - log.info(`Upload response for ${filePath}:`, { - status: response.status, - statusText: response.statusText, - data: response.data, - }); - - if (response.status === 200) { - log.info(`Successful upload of ${filePath}`); - // Move file to archive - const timestamp = dayjs().format("YYYYMMDD_HHmmss"); - const originalFilename = path.basename(file, path.extname(file)); - const archivePath = path.join( - archiveDir, - `${originalFilename}-${timestamp}.xml`, - ); - try { - await fs.access(archiveDir, fs.constants.W_OK); // Verify archiveDir is writable - await fs.rename(filePath, archivePath); - log.info(`Moved file to archive: ${archivePath}`); - } catch (moveError) { - log.error( - `Failed to move file to archive directory ${archivePath}:`, - moveError, - ); - } - } else { - log.error( - `Failed to upload ${filePath}: ${response.status} ${response.statusText}`, - { responseData: response.data }, - ); - } - } catch (error: any) { - log.error(`Error uploading ${filePath}:`, { - message: error.message, - code: error.code, - response: error.response - ? { - status: error.response.status, - statusText: error.response.statusText, - data: error.response.data, - } - : null, - }); - } - } - } catch (error) { - log.error(`Error polling input directory ${config.path}:`, error); - } -} - -// PPG Output Handler -export async function ppgOutputHandler( - config: PaintScaleConfig, -): Promise { - try { - log.info(`Generating PPG output for config ${config.id}: ${config.path}`); - - await fs.mkdir(config.path!, { recursive: true }); - - const variables: PpgDataQueryVariables = { - today: dayjs().toISOString(), - todayplus5: dayjs().add(5, "day").toISOString(), - shopid: (store.get("app.bodyshop") as any)?.id, - }; - - const response = await client.request< - PpgDataQueryResult, - PpgDataQueryVariables - >(PPG_DATA_QUERY_TYPED, variables); - const jobs = response.jobs ?? []; - - const header = { - PPG: { - Header: { - Protocol: { - Message: "PaintShopInterface", - Name: "PPG", - Version: "1.5.0", - }, - Transaction: { - TransactionID: "", - TransactionDate: dayjs().format("YYYY-MM-DD:HH:mm"), - }, - Product: { - Name: import.meta.env.VITE_COMPANY === "IMEX", - Version: "", - }, - }, - DataInterface: { - ROData: { - ShopInfo: { - ShopID: response.bodyshops_by_pk?.imexshopid || "", - ShopName: response.bodyshops_by_pk?.shopname || "", - }, - RepairOrders: { - ROCount: jobs.length.toString(), - RO: jobs.map((job) => ({ - RONumber: job.ro_number || "", - ROStatus: "Open", - Customer: `${job.ownr_ln || ""}, ${job.ownr_fn || ""}`, - ROPainterNotes: "", - LicensePlateNum: job.plate_no || "", - VIN: job.v_vin || "", - ModelYear: job.v_model_yr || "", - MakeDesc: job.v_make_desc || "", - ModelName: job.v_model_desc || "", - OEMColorCode: job.vehicle?.v_paint_codes?.paint_cd1 || "", - RefinishLaborHours: job.larhrs?.aggregate?.sum?.mod_lb_hrs || 0, - InsuranceCompanyName: job.ins_co_nm || "", - EstimatorName: `${job.est_ct_ln || ""}, ${job.est_ct_fn || ""}`, - PaintMaterialsRevenue: ( - (job.job_totals?.rates?.mapa?.total?.amount || 0) / 100 - ).toFixed(2), - PaintMaterialsRate: job.rate_mapa || 0, - BodyHours: job.labhrs?.aggregate?.sum?.mod_lb_hrs || 0, - BodyLaborRate: job.rate_lab || 0, - TotalCostOfRepairs: ( - (job.job_totals?.totals?.subtotal?.amount || 0) / 100 - ).toFixed(2), - })), - }, - }, - }, - }, - }; - - const xml = create({ version: "1.0" }, header).end({ prettyPrint: true }); - const outputPath = path.join(config.path!, `PPGPaint.xml`); - await fs.writeFile(outputPath, xml); - log.info(`Saved PPG output XML to ${outputPath}`); - } catch (error) { - log.error(`Error generating PPG output for config ${config.id}:`, error); - } -}