Katsuya Oda commited on
Commit
23fa199
·
unverified ·
1 Parent(s): dd8479e

fix: add sentry

Browse files
.env.dev DELETED
File without changes
.env.production DELETED
File without changes
.gitignore CHANGED
@@ -64,6 +64,12 @@ tmp
64
 
65
  backend_vespa/multilingual-e5-*/*
66
  backend_vespa/multilingual-e5-*-quantized/*
 
 
 
 
 
 
67
  ## .gitignore.d/Local.gitignore END
68
  ## .gitignore.d/Node.gitignore START
69
  # Logs
 
64
 
65
  backend_vespa/multilingual-e5-*/*
66
  backend_vespa/multilingual-e5-*-quantized/*
67
+
68
+ # Sentry Config File
69
+ .sentryclirc
70
+
71
+ # Sentry Config File
72
+ .env.sentry-build-plugin
73
  ## .gitignore.d/Local.gitignore END
74
  ## .gitignore.d/Node.gitignore START
75
  # Logs
.gitignore.d/Local.gitignore CHANGED
@@ -4,3 +4,9 @@ tmp
4
 
5
  backend_vespa/multilingual-e5-*/*
6
  backend_vespa/multilingual-e5-*-quantized/*
 
 
 
 
 
 
 
4
 
5
  backend_vespa/multilingual-e5-*/*
6
  backend_vespa/multilingual-e5-*-quantized/*
7
+
8
+ # Sentry Config File
9
+ .sentryclirc
10
+
11
+ # Sentry Config File
12
+ .env.sentry-build-plugin
env.d.ts CHANGED
@@ -3,6 +3,7 @@
3
 
4
  interface ImportMetaEnv {
5
  readonly VITE_APP_TITLE: string
 
6
  }
7
 
8
  interface ImportMeta {
 
3
 
4
  interface ImportMetaEnv {
5
  readonly VITE_APP_TITLE: string
6
+ readonly VITE_APP_SENTRY_DNS: string
7
  }
8
 
9
  interface ImportMeta {
frontend/entry.client.tsx CHANGED
@@ -1,7 +1,24 @@
1
- import { RemixBrowser } from "@remix-run/react"
2
- import { StrictMode, startTransition } from "react"
 
3
  import { hydrateRoot } from "react-dom/client"
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  startTransition(() => {
6
  hydrateRoot(
7
  document,
 
1
+ import { RemixBrowser, useLocation, useMatches } from "@remix-run/react"
2
+ import * as Sentry from "@sentry/remix"
3
+ import { StrictMode, startTransition, useEffect } from "react"
4
  import { hydrateRoot } from "react-dom/client"
5
 
6
+ Sentry.init({
7
+ dsn: import.meta.env.VITE_APP_SENTRY_DNS,
8
+ tracesSampleRate: 1,
9
+ replaysSessionSampleRate: 0.1,
10
+ replaysOnErrorSampleRate: 1,
11
+
12
+ integrations: [
13
+ Sentry.browserTracingIntegration({
14
+ useEffect,
15
+ useLocation,
16
+ useMatches,
17
+ }),
18
+ Sentry.replayIntegration(),
19
+ ],
20
+ })
21
+
22
  startTransition(() => {
23
  hydrateRoot(
24
  document,
frontend/root.tsx CHANGED
@@ -5,7 +5,9 @@ import {
5
  Outlet,
6
  Scripts,
7
  ScrollRestoration,
 
8
  } from "@remix-run/react"
 
9
  import { Loader2 } from "lucide-react"
10
  import { Provider } from "urql"
11
  import { client } from "~/lib/urql"
@@ -33,6 +35,12 @@ export function Layout({ children }: { children: React.ReactNode }) {
33
  )
34
  }
35
 
 
 
 
 
 
 
36
  export default function App() {
37
  return (
38
  <Provider value={client}>
 
5
  Outlet,
6
  Scripts,
7
  ScrollRestoration,
8
+ useRouteError,
9
  } from "@remix-run/react"
10
+ import { captureRemixErrorBoundaryError } from "@sentry/remix"
11
  import { Loader2 } from "lucide-react"
12
  import { Provider } from "urql"
13
  import { client } from "~/lib/urql"
 
35
  )
36
  }
37
 
38
+ export const ErrorBoundary = () => {
39
+ const error = useRouteError()
40
+ captureRemixErrorBoundaryError(error)
41
+ return <div>Something went wrong</div>
42
+ }
43
+
44
  export default function App() {
45
  return (
46
  <Provider value={client}>
frontend/routes/sentry-example-page.tsx ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import * as Sentry from "@sentry/remix"
2
+
3
+ export default function SentryExamplePage() {
4
+ return (
5
+ <div>
6
+ <main
7
+ style={{
8
+ minHeight: "100vh",
9
+ display: "flex",
10
+ flexDirection: "column",
11
+ justifyContent: "center",
12
+ alignItems: "center",
13
+ }}
14
+ >
15
+ <h1 style={{ fontSize: "4rem", margin: "14px 0" }}>
16
+ {/* biome-ignore lint/a11y/noSvgWithoutTitle: <explanation> */}
17
+ <svg
18
+ style={{
19
+ height: "1em",
20
+ }}
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ viewBox="0 0 200 44"
23
+ >
24
+ <path
25
+ fill="currentColor"
26
+ d="M124.32,28.28,109.56,9.22h-3.68V34.77h3.73V15.19l15.18,19.58h3.26V9.22h-3.73ZM87.15,23.54h13.23V20.22H87.14V12.53h14.93V9.21H83.34V34.77h18.92V31.45H87.14ZM71.59,20.3h0C66.44,19.06,65,18.08,65,15.7c0-2.14,1.89-3.59,4.71-3.59a12.06,12.06,0,0,1,7.07,2.55l2-2.83a14.1,14.1,0,0,0-9-3c-5.06,0-8.59,3-8.59,7.27,0,4.6,3,6.19,8.46,7.52C74.51,24.74,76,25.78,76,28.11s-2,3.77-5.09,3.77a12.34,12.34,0,0,1-8.3-3.26l-2.25,2.69a15.94,15.94,0,0,0,10.42,3.85c5.48,0,9-2.95,9-7.51C79.75,23.79,77.47,21.72,71.59,20.3ZM195.7,9.22l-7.69,12-7.64-12h-4.46L186,24.67V34.78h3.84V24.55L200,9.22Zm-64.63,3.46h8.37v22.1h3.84V12.68h8.37V9.22H131.08ZM169.41,24.8c3.86-1.07,6-3.77,6-7.63,0-4.91-3.59-8-9.38-8H154.67V34.76h3.8V25.58h6.45l6.48,9.2h4.44l-7-9.82Zm-10.95-2.5V12.6h7.17c3.74,0,5.88,1.77,5.88,4.84s-2.29,4.86-5.84,4.86Z M29,2.26a4.67,4.67,0,0,0-8,0L14.42,13.53A32.21,32.21,0,0,1,32.17,40.19H27.55A27.68,27.68,0,0,0,12.09,17.47L6,28a15.92,15.92,0,0,1,9.23,12.17H4.62A.76.76,0,0,1,4,39.06l2.94-5a10.74,10.74,0,0,0-3.36-1.9l-2.91,5a4.54,4.54,0,0,0,1.69,6.24A4.66,4.66,0,0,0,4.62,44H19.15a19.4,19.4,0,0,0-8-17.31l2.31-4A23.87,23.87,0,0,1,23.76,44H36.07a35.88,35.88,0,0,0-16.41-31.8l4.67-8a.77.77,0,0,1,1.05-.27c.53.29,20.29,34.77,20.66,35.17a.76.76,0,0,1-.68,1.13H40.6q.09,1.91,0,3.81h4.78A4.59,4.59,0,0,0,50,39.43a4.49,4.49,0,0,0-.62-2.28Z"
27
+ />
28
+ </svg>
29
+ </h1>
30
+
31
+ <p>Get started by sending us a sample error:</p>
32
+
33
+ <button
34
+ type="button"
35
+ style={{
36
+ padding: "12px",
37
+ cursor: "pointer",
38
+ backgroundColor: "#AD6CAA",
39
+ borderRadius: "4px",
40
+ border: "none",
41
+ color: "white",
42
+ fontSize: "14px",
43
+ margin: "18px",
44
+ }}
45
+ onClick={() => {
46
+ throw new Error("Sentry Example Frontend Error")
47
+ }}
48
+ >
49
+ Throw error!
50
+ </button>
51
+
52
+ <p>
53
+ Next, look for the error on the{" "}
54
+ <a href="https://hicustomer.sentry.io/issues/?project=4507061089337344">
55
+ Issues Page
56
+ </a>
57
+ .
58
+ </p>
59
+ <p style={{ marginTop: "24px" }}>
60
+ For more information, see{" "}
61
+ <a href="https://docs.sentry.io/platforms/javascript/guides/remix/">
62
+ https://docs.sentry.io/platforms/javascript/guides/remix/
63
+ </a>
64
+ </p>
65
+ </main>
66
+ </div>
67
+ )
68
+ }
package-lock.json CHANGED
@@ -14,6 +14,8 @@
14
  "@radix-ui/react-tooltip": "1.0.7",
15
  "@remix-run/node": "2.8.1",
16
  "@remix-run/react": "2.8.1",
 
 
17
  "@uidotdev/usehooks": "2.4.1",
18
  "@urql/exchange-graphcache": "7.0.0",
19
  "class-variance-authority": "0.7.0",
@@ -39,6 +41,7 @@
39
  "@parcel/watcher": "2.4.1",
40
  "@remix-run/dev": "2.8.1",
41
  "@tailwindcss/typography": "0.5.12",
 
42
  "@types/react": "18.2.74",
43
  "@types/react-dom": "18.2.24",
44
  "autoprefixer": "10.4.19",
@@ -81,7 +84,6 @@
81
  "version": "2.3.0",
82
  "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
83
  "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
84
- "dev": true,
85
  "dependencies": {
86
  "@jridgewell/gen-mapping": "^0.3.5",
87
  "@jridgewell/trace-mapping": "^0.3.24"
@@ -338,7 +340,6 @@
338
  "version": "7.24.2",
339
  "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
340
  "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
341
- "dev": true,
342
  "dependencies": {
343
  "@babel/highlight": "^7.24.2",
344
  "picocolors": "^1.0.0"
@@ -351,7 +352,6 @@
351
  "version": "7.24.1",
352
  "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz",
353
  "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==",
354
- "dev": true,
355
  "engines": {
356
  "node": ">=6.9.0"
357
  }
@@ -360,7 +360,6 @@
360
  "version": "7.24.3",
361
  "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz",
362
  "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==",
363
- "dev": true,
364
  "dependencies": {
365
  "@ampproject/remapping": "^2.2.0",
366
  "@babel/code-frame": "^7.24.2",
@@ -390,7 +389,6 @@
390
  "version": "6.3.1",
391
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
392
  "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
393
- "dev": true,
394
  "bin": {
395
  "semver": "bin/semver.js"
396
  }
@@ -399,7 +397,6 @@
399
  "version": "7.24.1",
400
  "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz",
401
  "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==",
402
- "dev": true,
403
  "dependencies": {
404
  "@babel/types": "^7.24.0",
405
  "@jridgewell/gen-mapping": "^0.3.5",
@@ -414,7 +411,6 @@
414
  "version": "2.5.2",
415
  "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
416
  "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
417
- "dev": true,
418
  "bin": {
419
  "jsesc": "bin/jsesc"
420
  },
@@ -438,7 +434,6 @@
438
  "version": "7.23.6",
439
  "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
440
  "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
441
- "dev": true,
442
  "dependencies": {
443
  "@babel/compat-data": "^7.23.5",
444
  "@babel/helper-validator-option": "^7.23.5",
@@ -454,7 +449,6 @@
454
  "version": "6.3.1",
455
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
456
  "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
457
- "dev": true,
458
  "bin": {
459
  "semver": "bin/semver.js"
460
  }
@@ -495,7 +489,6 @@
495
  "version": "7.22.20",
496
  "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
497
  "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
498
- "dev": true,
499
  "engines": {
500
  "node": ">=6.9.0"
501
  }
@@ -504,7 +497,6 @@
504
  "version": "7.23.0",
505
  "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
506
  "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
507
- "dev": true,
508
  "dependencies": {
509
  "@babel/template": "^7.22.15",
510
  "@babel/types": "^7.23.0"
@@ -517,7 +509,6 @@
517
  "version": "7.22.5",
518
  "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
519
  "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
520
- "dev": true,
521
  "dependencies": {
522
  "@babel/types": "^7.22.5"
523
  },
@@ -541,7 +532,6 @@
541
  "version": "7.24.3",
542
  "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
543
  "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
544
- "dev": true,
545
  "dependencies": {
546
  "@babel/types": "^7.24.0"
547
  },
@@ -553,7 +543,6 @@
553
  "version": "7.23.3",
554
  "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
555
  "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
556
- "dev": true,
557
  "dependencies": {
558
  "@babel/helper-environment-visitor": "^7.22.20",
559
  "@babel/helper-module-imports": "^7.22.15",
@@ -610,7 +599,6 @@
610
  "version": "7.22.5",
611
  "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
612
  "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
613
- "dev": true,
614
  "dependencies": {
615
  "@babel/types": "^7.22.5"
616
  },
@@ -634,7 +622,6 @@
634
  "version": "7.22.6",
635
  "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
636
  "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
637
- "dev": true,
638
  "dependencies": {
639
  "@babel/types": "^7.22.5"
640
  },
@@ -646,7 +633,6 @@
646
  "version": "7.24.1",
647
  "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
648
  "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
649
- "dev": true,
650
  "engines": {
651
  "node": ">=6.9.0"
652
  }
@@ -655,7 +641,6 @@
655
  "version": "7.22.20",
656
  "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
657
  "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
658
- "dev": true,
659
  "engines": {
660
  "node": ">=6.9.0"
661
  }
@@ -664,7 +649,6 @@
664
  "version": "7.23.5",
665
  "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
666
  "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
667
- "dev": true,
668
  "engines": {
669
  "node": ">=6.9.0"
670
  }
@@ -673,7 +657,6 @@
673
  "version": "7.24.1",
674
  "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz",
675
  "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==",
676
- "dev": true,
677
  "dependencies": {
678
  "@babel/template": "^7.24.0",
679
  "@babel/traverse": "^7.24.1",
@@ -687,7 +670,6 @@
687
  "version": "7.24.2",
688
  "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
689
  "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
690
- "dev": true,
691
  "dependencies": {
692
  "@babel/helper-validator-identifier": "^7.22.20",
693
  "chalk": "^2.4.2",
@@ -702,7 +684,6 @@
702
  "version": "3.2.1",
703
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
704
  "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
705
- "dev": true,
706
  "dependencies": {
707
  "color-convert": "^1.9.0"
708
  },
@@ -714,7 +695,6 @@
714
  "version": "2.4.2",
715
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
716
  "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
717
- "dev": true,
718
  "dependencies": {
719
  "ansi-styles": "^3.2.1",
720
  "escape-string-regexp": "^1.0.5",
@@ -728,7 +708,6 @@
728
  "version": "1.9.3",
729
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
730
  "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
731
- "dev": true,
732
  "dependencies": {
733
  "color-name": "1.1.3"
734
  }
@@ -736,14 +715,12 @@
736
  "node_modules/@babel/highlight/node_modules/color-name": {
737
  "version": "1.1.3",
738
  "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
739
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
740
- "dev": true
741
  },
742
  "node_modules/@babel/highlight/node_modules/has-flag": {
743
  "version": "3.0.0",
744
  "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
745
  "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
746
- "dev": true,
747
  "engines": {
748
  "node": ">=4"
749
  }
@@ -752,7 +729,6 @@
752
  "version": "5.5.0",
753
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
754
  "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
755
- "dev": true,
756
  "dependencies": {
757
  "has-flag": "^3.0.0"
758
  },
@@ -764,7 +740,6 @@
764
  "version": "7.24.1",
765
  "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz",
766
  "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==",
767
- "dev": true,
768
  "bin": {
769
  "parser": "bin/babel-parser.js"
770
  },
@@ -1280,7 +1255,6 @@
1280
  "version": "7.24.0",
1281
  "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
1282
  "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
1283
- "dev": true,
1284
  "dependencies": {
1285
  "@babel/code-frame": "^7.23.5",
1286
  "@babel/parser": "^7.24.0",
@@ -1294,7 +1268,6 @@
1294
  "version": "7.24.1",
1295
  "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz",
1296
  "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==",
1297
- "dev": true,
1298
  "dependencies": {
1299
  "@babel/code-frame": "^7.24.1",
1300
  "@babel/generator": "^7.24.1",
@@ -1315,7 +1288,6 @@
1315
  "version": "7.24.0",
1316
  "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
1317
  "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
1318
- "dev": true,
1319
  "dependencies": {
1320
  "@babel/helper-string-parser": "^7.23.4",
1321
  "@babel/helper-validator-identifier": "^7.22.20",
@@ -4464,6 +4436,425 @@
4464
  "win32"
4465
  ]
4466
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4467
  "node_modules/@tailwindcss/typography": {
4468
  "version": "0.5.12",
4469
  "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz",
@@ -4525,6 +4916,25 @@
4525
  "@types/estree": "*"
4526
  }
4527
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4528
  "node_modules/@types/cookie": {
4529
  "version": "0.6.0",
4530
  "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
@@ -4554,6 +4964,30 @@
4554
  "@types/estree": "*"
4555
  }
4556
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4557
  "node_modules/@types/hast": {
4558
  "version": "2.3.10",
4559
  "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
@@ -4563,6 +4997,12 @@
4563
  "@types/unist": "^2"
4564
  }
4565
  },
 
 
 
 
 
 
4566
  "node_modules/@types/js-yaml": {
4567
  "version": "4.0.9",
4568
  "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
@@ -4590,6 +5030,12 @@
4590
  "integrity": "sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==",
4591
  "dev": true
4592
  },
 
 
 
 
 
 
4593
  "node_modules/@types/ms": {
4594
  "version": "0.7.34",
4595
  "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
@@ -4611,6 +5057,18 @@
4611
  "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
4612
  "devOptional": true
4613
  },
 
 
 
 
 
 
 
 
 
 
 
 
4614
  "node_modules/@types/react": {
4615
  "version": "18.2.74",
4616
  "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.74.tgz",
@@ -4630,6 +5088,27 @@
4630
  "@types/react": "*"
4631
  }
4632
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4633
  "node_modules/@types/unist": {
4634
  "version": "2.0.10",
4635
  "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
@@ -4802,7 +5281,6 @@
4802
  "version": "8.11.3",
4803
  "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
4804
  "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
4805
- "devOptional": true,
4806
  "bin": {
4807
  "acorn": "bin/acorn"
4808
  },
@@ -5220,7 +5698,6 @@
5220
  "version": "4.23.0",
5221
  "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
5222
  "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
5223
- "dev": true,
5224
  "funding": [
5225
  {
5226
  "type": "opencollective",
@@ -5415,7 +5892,6 @@
5415
  "version": "1.0.30001603",
5416
  "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001603.tgz",
5417
  "integrity": "sha512-iL2iSS0eDILMb9n5yKQoTBim9jMZ0Yrk8g0N9K7UzYyWnfIKzXBZD5ngpM37ZcL/cv0Mli8XtVMRYMQAfFpi5Q==",
5418
- "dev": true,
5419
  "funding": [
5420
  {
5421
  "type": "opencollective",
@@ -5706,7 +6182,6 @@
5706
  "version": "8.0.1",
5707
  "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
5708
  "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
5709
- "dev": true,
5710
  "dependencies": {
5711
  "string-width": "^4.2.0",
5712
  "strip-ansi": "^6.0.1",
@@ -5720,7 +6195,6 @@
5720
  "version": "5.0.1",
5721
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
5722
  "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
5723
- "dev": true,
5724
  "engines": {
5725
  "node": ">=8"
5726
  }
@@ -5728,14 +6202,12 @@
5728
  "node_modules/cliui/node_modules/emoji-regex": {
5729
  "version": "8.0.0",
5730
  "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
5731
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
5732
- "dev": true
5733
  },
5734
  "node_modules/cliui/node_modules/string-width": {
5735
  "version": "4.2.3",
5736
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
5737
  "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
5738
- "dev": true,
5739
  "dependencies": {
5740
  "emoji-regex": "^8.0.0",
5741
  "is-fullwidth-code-point": "^3.0.0",
@@ -5749,7 +6221,6 @@
5749
  "version": "6.0.1",
5750
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
5751
  "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
5752
- "dev": true,
5753
  "dependencies": {
5754
  "ansi-regex": "^5.0.1"
5755
  },
@@ -5761,7 +6232,6 @@
5761
  "version": "7.0.0",
5762
  "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
5763
  "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
5764
- "dev": true,
5765
  "dependencies": {
5766
  "ansi-styles": "^4.0.0",
5767
  "string-width": "^4.1.0",
@@ -5894,8 +6364,7 @@
5894
  "node_modules/convert-source-map": {
5895
  "version": "2.0.0",
5896
  "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
5897
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
5898
- "dev": true
5899
  },
5900
  "node_modules/cookie": {
5901
  "version": "0.6.0",
@@ -6061,7 +6530,6 @@
6061
  "version": "4.3.4",
6062
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
6063
  "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
6064
- "dev": true,
6065
  "dependencies": {
6066
  "ms": "2.1.2"
6067
  },
@@ -6247,7 +6715,6 @@
6247
  "version": "16.4.5",
6248
  "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
6249
  "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
6250
- "dev": true,
6251
  "engines": {
6252
  "node": ">=12"
6253
  },
@@ -6320,8 +6787,7 @@
6320
  "node_modules/electron-to-chromium": {
6321
  "version": "1.4.722",
6322
  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.722.tgz",
6323
- "integrity": "sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==",
6324
- "dev": true
6325
  },
6326
  "node_modules/emoji-regex": {
6327
  "version": "9.2.2",
@@ -6444,7 +6910,6 @@
6444
  "version": "3.1.2",
6445
  "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
6446
  "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
6447
- "dev": true,
6448
  "engines": {
6449
  "node": ">=6"
6450
  }
@@ -6459,7 +6924,6 @@
6459
  "version": "1.0.5",
6460
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
6461
  "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
6462
- "dev": true,
6463
  "engines": {
6464
  "node": ">=0.8.0"
6465
  }
@@ -6865,7 +7329,6 @@
6865
  "version": "5.0.0",
6866
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
6867
  "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
6868
- "dev": true,
6869
  "dependencies": {
6870
  "locate-path": "^6.0.0",
6871
  "path-exists": "^4.0.0"
@@ -6986,8 +7449,7 @@
6986
  "node_modules/fs.realpath": {
6987
  "version": "1.0.0",
6988
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
6989
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
6990
- "dev": true
6991
  },
6992
  "node_modules/fsevents": {
6993
  "version": "2.3.3",
@@ -7023,7 +7485,6 @@
7023
  "version": "1.0.0-beta.2",
7024
  "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
7025
  "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
7026
- "dev": true,
7027
  "engines": {
7028
  "node": ">=6.9.0"
7029
  }
@@ -7032,7 +7493,6 @@
7032
  "version": "2.0.5",
7033
  "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
7034
  "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
7035
- "dev": true,
7036
  "engines": {
7037
  "node": "6.* || 8.* || >= 10.*"
7038
  }
@@ -7123,7 +7583,6 @@
7123
  "version": "11.12.0",
7124
  "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
7125
  "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
7126
- "dev": true,
7127
  "engines": {
7128
  "node": ">=4"
7129
  }
@@ -7402,6 +7861,14 @@
7402
  "tslib": "^2.0.3"
7403
  }
7404
  },
 
 
 
 
 
 
 
 
7405
  "node_modules/hosted-git-info": {
7406
  "version": "6.1.1",
7407
  "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
@@ -8166,7 +8633,6 @@
8166
  "version": "2.2.3",
8167
  "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
8168
  "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
8169
- "dev": true,
8170
  "bin": {
8171
  "json5": "lib/cli.js"
8172
  },
@@ -8340,7 +8806,6 @@
8340
  "version": "6.0.0",
8341
  "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
8342
  "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
8343
- "dev": true,
8344
  "dependencies": {
8345
  "p-locate": "^5.0.0"
8346
  },
@@ -8542,7 +9007,6 @@
8542
  "version": "5.1.1",
8543
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
8544
  "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
8545
- "dev": true,
8546
  "dependencies": {
8547
  "yallist": "^3.0.2"
8548
  }
@@ -8555,6 +9019,17 @@
8555
  "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
8556
  }
8557
  },
 
 
 
 
 
 
 
 
 
 
 
8558
  "node_modules/make-error": {
8559
  "version": "1.3.6",
8560
  "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
@@ -9735,8 +10210,7 @@
9735
  "node_modules/ms": {
9736
  "version": "2.1.2",
9737
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
9738
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
9739
- "dev": true
9740
  },
9741
  "node_modules/mute-stream": {
9742
  "version": "0.0.8",
@@ -9803,7 +10277,6 @@
9803
  "version": "2.7.0",
9804
  "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
9805
  "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
9806
- "dev": true,
9807
  "dependencies": {
9808
  "whatwg-url": "^5.0.0"
9809
  },
@@ -9828,8 +10301,7 @@
9828
  "node_modules/node-releases": {
9829
  "version": "2.0.14",
9830
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
9831
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
9832
- "dev": true
9833
  },
9834
  "node_modules/normalize-package-data": {
9835
  "version": "5.0.0",
@@ -10065,7 +10537,6 @@
10065
  "version": "3.1.0",
10066
  "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
10067
  "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
10068
- "dev": true,
10069
  "dependencies": {
10070
  "yocto-queue": "^0.1.0"
10071
  },
@@ -10080,7 +10551,6 @@
10080
  "version": "5.0.0",
10081
  "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
10082
  "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
10083
- "dev": true,
10084
  "dependencies": {
10085
  "p-limit": "^3.0.2"
10086
  },
@@ -10243,7 +10713,6 @@
10243
  "version": "4.0.0",
10244
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
10245
  "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
10246
- "dev": true,
10247
  "engines": {
10248
  "node": ">=8"
10249
  }
@@ -10685,6 +11154,14 @@
10685
  "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
10686
  "dev": true
10687
  },
 
 
 
 
 
 
 
 
10688
  "node_modules/promise": {
10689
  "version": "7.3.1",
10690
  "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
@@ -10736,6 +11213,11 @@
10736
  "node": ">= 0.10"
10737
  }
10738
  },
 
 
 
 
 
10739
  "node_modules/pump": {
10740
  "version": "2.0.1",
10741
  "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
@@ -10862,6 +11344,11 @@
10862
  "react": "^18.2.0"
10863
  }
10864
  },
 
 
 
 
 
10865
  "node_modules/react-refresh": {
10866
  "version": "0.14.0",
10867
  "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
@@ -11153,7 +11640,6 @@
11153
  "version": "2.1.1",
11154
  "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
11155
  "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
11156
- "dev": true,
11157
  "engines": {
11158
  "node": ">=0.10.0"
11159
  }
@@ -12197,7 +12683,6 @@
12197
  "version": "2.0.0",
12198
  "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
12199
  "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
12200
- "dev": true,
12201
  "engines": {
12202
  "node": ">=4"
12203
  }
@@ -12231,8 +12716,7 @@
12231
  "node_modules/tr46": {
12232
  "version": "0.0.3",
12233
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
12234
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
12235
- "dev": true
12236
  },
12237
  "node_modules/trim-lines": {
12238
  "version": "3.0.1",
@@ -12646,11 +13130,21 @@
12646
  "node": ">= 0.8"
12647
  }
12648
  },
 
 
 
 
 
 
 
 
 
 
 
12649
  "node_modules/update-browserslist-db": {
12650
  "version": "1.0.13",
12651
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
12652
  "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
12653
- "dev": true,
12654
  "funding": [
12655
  {
12656
  "type": "opencollective",
@@ -13403,14 +13897,25 @@
13403
  "node_modules/webidl-conversions": {
13404
  "version": "3.0.1",
13405
  "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
13406
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
13407
- "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
13408
  },
13409
  "node_modules/whatwg-url": {
13410
  "version": "5.0.0",
13411
  "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
13412
  "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
13413
- "dev": true,
13414
  "dependencies": {
13415
  "tr46": "~0.0.3",
13416
  "webidl-conversions": "^3.0.0"
@@ -13581,7 +14086,6 @@
13581
  "version": "5.0.8",
13582
  "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
13583
  "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
13584
- "dev": true,
13585
  "engines": {
13586
  "node": ">=10"
13587
  }
@@ -13589,8 +14093,7 @@
13589
  "node_modules/yallist": {
13590
  "version": "3.1.1",
13591
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
13592
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
13593
- "dev": true
13594
  },
13595
  "node_modules/yaml": {
13596
  "version": "2.4.1",
@@ -13613,7 +14116,6 @@
13613
  "version": "17.7.2",
13614
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
13615
  "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
13616
- "dev": true,
13617
  "dependencies": {
13618
  "cliui": "^8.0.1",
13619
  "escalade": "^3.1.1",
@@ -13631,7 +14133,6 @@
13631
  "version": "21.1.1",
13632
  "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
13633
  "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
13634
- "dev": true,
13635
  "engines": {
13636
  "node": ">=12"
13637
  }
@@ -13640,7 +14141,6 @@
13640
  "version": "5.0.1",
13641
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
13642
  "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
13643
- "dev": true,
13644
  "engines": {
13645
  "node": ">=8"
13646
  }
@@ -13648,14 +14148,12 @@
13648
  "node_modules/yargs/node_modules/emoji-regex": {
13649
  "version": "8.0.0",
13650
  "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
13651
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
13652
- "dev": true
13653
  },
13654
  "node_modules/yargs/node_modules/string-width": {
13655
  "version": "4.2.3",
13656
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
13657
  "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
13658
- "dev": true,
13659
  "dependencies": {
13660
  "emoji-regex": "^8.0.0",
13661
  "is-fullwidth-code-point": "^3.0.0",
@@ -13669,7 +14167,6 @@
13669
  "version": "6.0.1",
13670
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
13671
  "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
13672
- "dev": true,
13673
  "dependencies": {
13674
  "ansi-regex": "^5.0.1"
13675
  },
@@ -13690,7 +14187,6 @@
13690
  "version": "0.1.0",
13691
  "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
13692
  "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
13693
- "dev": true,
13694
  "engines": {
13695
  "node": ">=10"
13696
  },
 
14
  "@radix-ui/react-tooltip": "1.0.7",
15
  "@remix-run/node": "2.8.1",
16
  "@remix-run/react": "2.8.1",
17
+ "@sentry/remix": "7.109.0",
18
+ "@sentry/vite-plugin": "2.16.1",
19
  "@uidotdev/usehooks": "2.4.1",
20
  "@urql/exchange-graphcache": "7.0.0",
21
  "class-variance-authority": "0.7.0",
 
41
  "@parcel/watcher": "2.4.1",
42
  "@remix-run/dev": "2.8.1",
43
  "@tailwindcss/typography": "0.5.12",
44
+ "@types/express": "4.17.21",
45
  "@types/react": "18.2.74",
46
  "@types/react-dom": "18.2.24",
47
  "autoprefixer": "10.4.19",
 
84
  "version": "2.3.0",
85
  "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
86
  "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
 
87
  "dependencies": {
88
  "@jridgewell/gen-mapping": "^0.3.5",
89
  "@jridgewell/trace-mapping": "^0.3.24"
 
340
  "version": "7.24.2",
341
  "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
342
  "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
 
343
  "dependencies": {
344
  "@babel/highlight": "^7.24.2",
345
  "picocolors": "^1.0.0"
 
352
  "version": "7.24.1",
353
  "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz",
354
  "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==",
 
355
  "engines": {
356
  "node": ">=6.9.0"
357
  }
 
360
  "version": "7.24.3",
361
  "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz",
362
  "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==",
 
363
  "dependencies": {
364
  "@ampproject/remapping": "^2.2.0",
365
  "@babel/code-frame": "^7.24.2",
 
389
  "version": "6.3.1",
390
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
391
  "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 
392
  "bin": {
393
  "semver": "bin/semver.js"
394
  }
 
397
  "version": "7.24.1",
398
  "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz",
399
  "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==",
 
400
  "dependencies": {
401
  "@babel/types": "^7.24.0",
402
  "@jridgewell/gen-mapping": "^0.3.5",
 
411
  "version": "2.5.2",
412
  "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
413
  "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
 
414
  "bin": {
415
  "jsesc": "bin/jsesc"
416
  },
 
434
  "version": "7.23.6",
435
  "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
436
  "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
 
437
  "dependencies": {
438
  "@babel/compat-data": "^7.23.5",
439
  "@babel/helper-validator-option": "^7.23.5",
 
449
  "version": "6.3.1",
450
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
451
  "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 
452
  "bin": {
453
  "semver": "bin/semver.js"
454
  }
 
489
  "version": "7.22.20",
490
  "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
491
  "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
 
492
  "engines": {
493
  "node": ">=6.9.0"
494
  }
 
497
  "version": "7.23.0",
498
  "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
499
  "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
 
500
  "dependencies": {
501
  "@babel/template": "^7.22.15",
502
  "@babel/types": "^7.23.0"
 
509
  "version": "7.22.5",
510
  "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
511
  "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
 
512
  "dependencies": {
513
  "@babel/types": "^7.22.5"
514
  },
 
532
  "version": "7.24.3",
533
  "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
534
  "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
 
535
  "dependencies": {
536
  "@babel/types": "^7.24.0"
537
  },
 
543
  "version": "7.23.3",
544
  "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
545
  "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
 
546
  "dependencies": {
547
  "@babel/helper-environment-visitor": "^7.22.20",
548
  "@babel/helper-module-imports": "^7.22.15",
 
599
  "version": "7.22.5",
600
  "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
601
  "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
 
602
  "dependencies": {
603
  "@babel/types": "^7.22.5"
604
  },
 
622
  "version": "7.22.6",
623
  "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
624
  "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
 
625
  "dependencies": {
626
  "@babel/types": "^7.22.5"
627
  },
 
633
  "version": "7.24.1",
634
  "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
635
  "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
 
636
  "engines": {
637
  "node": ">=6.9.0"
638
  }
 
641
  "version": "7.22.20",
642
  "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
643
  "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
 
644
  "engines": {
645
  "node": ">=6.9.0"
646
  }
 
649
  "version": "7.23.5",
650
  "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
651
  "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
 
652
  "engines": {
653
  "node": ">=6.9.0"
654
  }
 
657
  "version": "7.24.1",
658
  "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz",
659
  "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==",
 
660
  "dependencies": {
661
  "@babel/template": "^7.24.0",
662
  "@babel/traverse": "^7.24.1",
 
670
  "version": "7.24.2",
671
  "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
672
  "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
 
673
  "dependencies": {
674
  "@babel/helper-validator-identifier": "^7.22.20",
675
  "chalk": "^2.4.2",
 
684
  "version": "3.2.1",
685
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
686
  "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 
687
  "dependencies": {
688
  "color-convert": "^1.9.0"
689
  },
 
695
  "version": "2.4.2",
696
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
697
  "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
 
698
  "dependencies": {
699
  "ansi-styles": "^3.2.1",
700
  "escape-string-regexp": "^1.0.5",
 
708
  "version": "1.9.3",
709
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
710
  "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
 
711
  "dependencies": {
712
  "color-name": "1.1.3"
713
  }
 
715
  "node_modules/@babel/highlight/node_modules/color-name": {
716
  "version": "1.1.3",
717
  "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
718
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
 
719
  },
720
  "node_modules/@babel/highlight/node_modules/has-flag": {
721
  "version": "3.0.0",
722
  "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
723
  "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
 
724
  "engines": {
725
  "node": ">=4"
726
  }
 
729
  "version": "5.5.0",
730
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
731
  "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
 
732
  "dependencies": {
733
  "has-flag": "^3.0.0"
734
  },
 
740
  "version": "7.24.1",
741
  "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz",
742
  "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==",
 
743
  "bin": {
744
  "parser": "bin/babel-parser.js"
745
  },
 
1255
  "version": "7.24.0",
1256
  "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
1257
  "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
 
1258
  "dependencies": {
1259
  "@babel/code-frame": "^7.23.5",
1260
  "@babel/parser": "^7.24.0",
 
1268
  "version": "7.24.1",
1269
  "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz",
1270
  "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==",
 
1271
  "dependencies": {
1272
  "@babel/code-frame": "^7.24.1",
1273
  "@babel/generator": "^7.24.1",
 
1288
  "version": "7.24.0",
1289
  "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
1290
  "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
 
1291
  "dependencies": {
1292
  "@babel/helper-string-parser": "^7.23.4",
1293
  "@babel/helper-validator-identifier": "^7.22.20",
 
4436
  "win32"
4437
  ]
4438
  },
4439
+ "node_modules/@sentry-internal/feedback": {
4440
+ "version": "7.109.0",
4441
+ "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.109.0.tgz",
4442
+ "integrity": "sha512-EL7N++poxvJP9rYvh6vSu24tsKkOveNCcCj4IM7+irWPjsuD2GLYYlhp/A/Mtt9l7iqO4plvtiQU5HGk7smcTQ==",
4443
+ "dependencies": {
4444
+ "@sentry/core": "7.109.0",
4445
+ "@sentry/types": "7.109.0",
4446
+ "@sentry/utils": "7.109.0"
4447
+ },
4448
+ "engines": {
4449
+ "node": ">=12"
4450
+ }
4451
+ },
4452
+ "node_modules/@sentry-internal/replay-canvas": {
4453
+ "version": "7.109.0",
4454
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.109.0.tgz",
4455
+ "integrity": "sha512-Lh/K60kmloR6lkPUcQP0iamw7B/MdEUEx/ImAx4tUSMrLj+IoUEcq/ECgnnVyQkJq59+8nPEKrVLt7x6PUPEjw==",
4456
+ "dependencies": {
4457
+ "@sentry/core": "7.109.0",
4458
+ "@sentry/replay": "7.109.0",
4459
+ "@sentry/types": "7.109.0",
4460
+ "@sentry/utils": "7.109.0"
4461
+ },
4462
+ "engines": {
4463
+ "node": ">=12"
4464
+ }
4465
+ },
4466
+ "node_modules/@sentry-internal/tracing": {
4467
+ "version": "7.109.0",
4468
+ "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.109.0.tgz",
4469
+ "integrity": "sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw==",
4470
+ "dependencies": {
4471
+ "@sentry/core": "7.109.0",
4472
+ "@sentry/types": "7.109.0",
4473
+ "@sentry/utils": "7.109.0"
4474
+ },
4475
+ "engines": {
4476
+ "node": ">=8"
4477
+ }
4478
+ },
4479
+ "node_modules/@sentry/babel-plugin-component-annotate": {
4480
+ "version": "2.16.1",
4481
+ "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.16.1.tgz",
4482
+ "integrity": "sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==",
4483
+ "engines": {
4484
+ "node": ">= 14"
4485
+ }
4486
+ },
4487
+ "node_modules/@sentry/browser": {
4488
+ "version": "7.109.0",
4489
+ "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.109.0.tgz",
4490
+ "integrity": "sha512-yx+OFG+Ab9qUDDgV9ZDv8M9O9Mqr0fjKta/LMlWALYLjzkMvxsPlRPFj7oMBlHqOTVLDeg7lFYmsA8wyWQ8Z8g==",
4491
+ "dependencies": {
4492
+ "@sentry-internal/feedback": "7.109.0",
4493
+ "@sentry-internal/replay-canvas": "7.109.0",
4494
+ "@sentry-internal/tracing": "7.109.0",
4495
+ "@sentry/core": "7.109.0",
4496
+ "@sentry/replay": "7.109.0",
4497
+ "@sentry/types": "7.109.0",
4498
+ "@sentry/utils": "7.109.0"
4499
+ },
4500
+ "engines": {
4501
+ "node": ">=8"
4502
+ }
4503
+ },
4504
+ "node_modules/@sentry/bundler-plugin-core": {
4505
+ "version": "2.16.1",
4506
+ "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.16.1.tgz",
4507
+ "integrity": "sha512-n6z8Ts3T9HROLuY7tVEYpBKvS+P7+b8NdqxP7QBcwp2nuPUlN5Ola1ivFjk1p5a7wRYeN9zM8orGe4l2HeNfYA==",
4508
+ "dependencies": {
4509
+ "@babel/core": "^7.18.5",
4510
+ "@sentry/babel-plugin-component-annotate": "2.16.1",
4511
+ "@sentry/cli": "^2.22.3",
4512
+ "dotenv": "^16.3.1",
4513
+ "find-up": "^5.0.0",
4514
+ "glob": "^9.3.2",
4515
+ "magic-string": "0.30.8",
4516
+ "unplugin": "1.0.1"
4517
+ },
4518
+ "engines": {
4519
+ "node": ">= 14"
4520
+ }
4521
+ },
4522
+ "node_modules/@sentry/bundler-plugin-core/node_modules/glob": {
4523
+ "version": "9.3.5",
4524
+ "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
4525
+ "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
4526
+ "dependencies": {
4527
+ "fs.realpath": "^1.0.0",
4528
+ "minimatch": "^8.0.2",
4529
+ "minipass": "^4.2.4",
4530
+ "path-scurry": "^1.6.1"
4531
+ },
4532
+ "engines": {
4533
+ "node": ">=16 || 14 >=14.17"
4534
+ },
4535
+ "funding": {
4536
+ "url": "https://github.com/sponsors/isaacs"
4537
+ }
4538
+ },
4539
+ "node_modules/@sentry/bundler-plugin-core/node_modules/minimatch": {
4540
+ "version": "8.0.4",
4541
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
4542
+ "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
4543
+ "dependencies": {
4544
+ "brace-expansion": "^2.0.1"
4545
+ },
4546
+ "engines": {
4547
+ "node": ">=16 || 14 >=14.17"
4548
+ },
4549
+ "funding": {
4550
+ "url": "https://github.com/sponsors/isaacs"
4551
+ }
4552
+ },
4553
+ "node_modules/@sentry/bundler-plugin-core/node_modules/minipass": {
4554
+ "version": "4.2.8",
4555
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
4556
+ "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
4557
+ "engines": {
4558
+ "node": ">=8"
4559
+ }
4560
+ },
4561
+ "node_modules/@sentry/cli": {
4562
+ "version": "2.31.0",
4563
+ "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.31.0.tgz",
4564
+ "integrity": "sha512-nCESoXAG3kRUO5n3QbDYAqX6RU3z1ORjnd7a3sqijYsCGHfOpcjGdS7JYLVg5if+tXMEF5529BPXFe5Kg/J9tw==",
4565
+ "hasInstallScript": true,
4566
+ "dependencies": {
4567
+ "https-proxy-agent": "^5.0.0",
4568
+ "node-fetch": "^2.6.7",
4569
+ "progress": "^2.0.3",
4570
+ "proxy-from-env": "^1.1.0",
4571
+ "which": "^2.0.2"
4572
+ },
4573
+ "bin": {
4574
+ "sentry-cli": "bin/sentry-cli"
4575
+ },
4576
+ "engines": {
4577
+ "node": ">= 10"
4578
+ },
4579
+ "optionalDependencies": {
4580
+ "@sentry/cli-darwin": "2.31.0",
4581
+ "@sentry/cli-linux-arm": "2.31.0",
4582
+ "@sentry/cli-linux-arm64": "2.31.0",
4583
+ "@sentry/cli-linux-i686": "2.31.0",
4584
+ "@sentry/cli-linux-x64": "2.31.0",
4585
+ "@sentry/cli-win32-i686": "2.31.0",
4586
+ "@sentry/cli-win32-x64": "2.31.0"
4587
+ }
4588
+ },
4589
+ "node_modules/@sentry/cli-darwin": {
4590
+ "version": "2.31.0",
4591
+ "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.31.0.tgz",
4592
+ "integrity": "sha512-VM5liyxMnm4K2g0WsrRPXRCMLhaT09C7gK5Fz/CxKYh9sbMZB7KA4hV/3klkyuyw1+ECF1J66cefhNkFZepUig==",
4593
+ "optional": true,
4594
+ "os": [
4595
+ "darwin"
4596
+ ],
4597
+ "engines": {
4598
+ "node": ">=10"
4599
+ }
4600
+ },
4601
+ "node_modules/@sentry/cli-linux-arm": {
4602
+ "version": "2.31.0",
4603
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.31.0.tgz",
4604
+ "integrity": "sha512-AZoCN3waXEfXGCd3YSrikcX/y63oQe0Tiyapkeoifq/0QhI+2MOOrAQb60gthsXwb0UDK/XeFi3PaxyUCphzxA==",
4605
+ "cpu": [
4606
+ "arm"
4607
+ ],
4608
+ "optional": true,
4609
+ "os": [
4610
+ "linux",
4611
+ "freebsd"
4612
+ ],
4613
+ "engines": {
4614
+ "node": ">=10"
4615
+ }
4616
+ },
4617
+ "node_modules/@sentry/cli-linux-arm64": {
4618
+ "version": "2.31.0",
4619
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.31.0.tgz",
4620
+ "integrity": "sha512-eENJTmXoFX3uNr8xRW7Bua2Sw3V1tylQfdtS85pNjZPdbm3U8wYQSWu2VoZkK2ASOoC+17YC8jTQxq62KWnSeQ==",
4621
+ "cpu": [
4622
+ "arm64"
4623
+ ],
4624
+ "optional": true,
4625
+ "os": [
4626
+ "linux",
4627
+ "freebsd"
4628
+ ],
4629
+ "engines": {
4630
+ "node": ">=10"
4631
+ }
4632
+ },
4633
+ "node_modules/@sentry/cli-linux-i686": {
4634
+ "version": "2.31.0",
4635
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.31.0.tgz",
4636
+ "integrity": "sha512-cQUFb3brhLaNSIoNzjU/YASnTM1I3TDJP9XXzH0eLK9sSopCcDcc6OrYEYvdjJXZKzFv5sbc9UNMsIDbh4+rYg==",
4637
+ "cpu": [
4638
+ "x86",
4639
+ "ia32"
4640
+ ],
4641
+ "optional": true,
4642
+ "os": [
4643
+ "linux",
4644
+ "freebsd"
4645
+ ],
4646
+ "engines": {
4647
+ "node": ">=10"
4648
+ }
4649
+ },
4650
+ "node_modules/@sentry/cli-linux-x64": {
4651
+ "version": "2.31.0",
4652
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.31.0.tgz",
4653
+ "integrity": "sha512-z1zTNg91nZJRdcGHC/bCU1KwIaifV0MLJteip9KrFDprzhJk1HtMxFOS0+OZ5/UH21CjAFmg9Pj6IAGqm3BYjA==",
4654
+ "cpu": [
4655
+ "x64"
4656
+ ],
4657
+ "optional": true,
4658
+ "os": [
4659
+ "linux",
4660
+ "freebsd"
4661
+ ],
4662
+ "engines": {
4663
+ "node": ">=10"
4664
+ }
4665
+ },
4666
+ "node_modules/@sentry/cli-win32-i686": {
4667
+ "version": "2.31.0",
4668
+ "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.31.0.tgz",
4669
+ "integrity": "sha512-+K7fdk57aUd4CmYrQfDGYPzVyxsTnVro6IPb5QSSLpP03dL7ko5208epu4m2SyN/MkFvscy9Di3n3DTvIfDU2w==",
4670
+ "cpu": [
4671
+ "x86",
4672
+ "ia32"
4673
+ ],
4674
+ "optional": true,
4675
+ "os": [
4676
+ "win32"
4677
+ ],
4678
+ "engines": {
4679
+ "node": ">=10"
4680
+ }
4681
+ },
4682
+ "node_modules/@sentry/cli-win32-x64": {
4683
+ "version": "2.31.0",
4684
+ "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.31.0.tgz",
4685
+ "integrity": "sha512-w5cvpZ6VVlhlyleY8TYHmrP7g48vKHnoVt5xFccfxT+HqQI/AxodvzgVvBTM2kB/sh/kHwexp6bJGWCdkGftww==",
4686
+ "cpu": [
4687
+ "x64"
4688
+ ],
4689
+ "optional": true,
4690
+ "os": [
4691
+ "win32"
4692
+ ],
4693
+ "engines": {
4694
+ "node": ">=10"
4695
+ }
4696
+ },
4697
+ "node_modules/@sentry/cli/node_modules/agent-base": {
4698
+ "version": "6.0.2",
4699
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
4700
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
4701
+ "dependencies": {
4702
+ "debug": "4"
4703
+ },
4704
+ "engines": {
4705
+ "node": ">= 6.0.0"
4706
+ }
4707
+ },
4708
+ "node_modules/@sentry/cli/node_modules/https-proxy-agent": {
4709
+ "version": "5.0.1",
4710
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
4711
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
4712
+ "dependencies": {
4713
+ "agent-base": "6",
4714
+ "debug": "4"
4715
+ },
4716
+ "engines": {
4717
+ "node": ">= 6"
4718
+ }
4719
+ },
4720
+ "node_modules/@sentry/cli/node_modules/which": {
4721
+ "version": "2.0.2",
4722
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
4723
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
4724
+ "dependencies": {
4725
+ "isexe": "^2.0.0"
4726
+ },
4727
+ "bin": {
4728
+ "node-which": "bin/node-which"
4729
+ },
4730
+ "engines": {
4731
+ "node": ">= 8"
4732
+ }
4733
+ },
4734
+ "node_modules/@sentry/core": {
4735
+ "version": "7.109.0",
4736
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.109.0.tgz",
4737
+ "integrity": "sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA==",
4738
+ "dependencies": {
4739
+ "@sentry/types": "7.109.0",
4740
+ "@sentry/utils": "7.109.0"
4741
+ },
4742
+ "engines": {
4743
+ "node": ">=8"
4744
+ }
4745
+ },
4746
+ "node_modules/@sentry/node": {
4747
+ "version": "7.109.0",
4748
+ "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.109.0.tgz",
4749
+ "integrity": "sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ==",
4750
+ "dependencies": {
4751
+ "@sentry-internal/tracing": "7.109.0",
4752
+ "@sentry/core": "7.109.0",
4753
+ "@sentry/types": "7.109.0",
4754
+ "@sentry/utils": "7.109.0"
4755
+ },
4756
+ "engines": {
4757
+ "node": ">=8"
4758
+ }
4759
+ },
4760
+ "node_modules/@sentry/react": {
4761
+ "version": "7.109.0",
4762
+ "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.109.0.tgz",
4763
+ "integrity": "sha512-KqXoDh6LVhNO+FLdM5LiTGpuorFvjoBPQ4nPGIVbjeMY/KZIau3kFxR142EvCApxmD69yvS5EhMnEqlNdaQPGw==",
4764
+ "dependencies": {
4765
+ "@sentry/browser": "7.109.0",
4766
+ "@sentry/core": "7.109.0",
4767
+ "@sentry/types": "7.109.0",
4768
+ "@sentry/utils": "7.109.0",
4769
+ "hoist-non-react-statics": "^3.3.2"
4770
+ },
4771
+ "engines": {
4772
+ "node": ">=8"
4773
+ },
4774
+ "peerDependencies": {
4775
+ "react": "15.x || 16.x || 17.x || 18.x"
4776
+ }
4777
+ },
4778
+ "node_modules/@sentry/remix": {
4779
+ "version": "7.109.0",
4780
+ "resolved": "https://registry.npmjs.org/@sentry/remix/-/remix-7.109.0.tgz",
4781
+ "integrity": "sha512-v08HFVGVoDSuLdQak9NHN9nvxxvctYTurUc5/rlC+/XBPKyaZYlRW0j4Va/KLa/IviSG4eylbOPL/QpIXLQVNQ==",
4782
+ "dependencies": {
4783
+ "@remix-run/router": "1.x",
4784
+ "@sentry/cli": "^2.28.0",
4785
+ "@sentry/core": "7.109.0",
4786
+ "@sentry/node": "7.109.0",
4787
+ "@sentry/react": "7.109.0",
4788
+ "@sentry/types": "7.109.0",
4789
+ "@sentry/utils": "7.109.0",
4790
+ "glob": "^10.3.4",
4791
+ "yargs": "^17.6.0"
4792
+ },
4793
+ "bin": {
4794
+ "sentry-upload-sourcemaps": "scripts/sentry-upload-sourcemaps.js"
4795
+ },
4796
+ "engines": {
4797
+ "node": ">=14"
4798
+ },
4799
+ "peerDependencies": {
4800
+ "@remix-run/node": "1.x || 2.x",
4801
+ "@remix-run/react": "1.x || 2.x",
4802
+ "react": "16.x || 17.x || 18.x"
4803
+ }
4804
+ },
4805
+ "node_modules/@sentry/remix/node_modules/@remix-run/router": {
4806
+ "version": "1.15.3",
4807
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
4808
+ "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==",
4809
+ "engines": {
4810
+ "node": ">=14.0.0"
4811
+ }
4812
+ },
4813
+ "node_modules/@sentry/replay": {
4814
+ "version": "7.109.0",
4815
+ "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.109.0.tgz",
4816
+ "integrity": "sha512-hCDjbTNO7ErW/XsaBXlyHFsUhneyBUdTec1Swf98TFEfVqNsTs6q338aUcaR8dGRLbLrJ9YU9D1qKq++v5h2CA==",
4817
+ "dependencies": {
4818
+ "@sentry-internal/tracing": "7.109.0",
4819
+ "@sentry/core": "7.109.0",
4820
+ "@sentry/types": "7.109.0",
4821
+ "@sentry/utils": "7.109.0"
4822
+ },
4823
+ "engines": {
4824
+ "node": ">=12"
4825
+ }
4826
+ },
4827
+ "node_modules/@sentry/types": {
4828
+ "version": "7.109.0",
4829
+ "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.109.0.tgz",
4830
+ "integrity": "sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g==",
4831
+ "engines": {
4832
+ "node": ">=8"
4833
+ }
4834
+ },
4835
+ "node_modules/@sentry/utils": {
4836
+ "version": "7.109.0",
4837
+ "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.109.0.tgz",
4838
+ "integrity": "sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw==",
4839
+ "dependencies": {
4840
+ "@sentry/types": "7.109.0"
4841
+ },
4842
+ "engines": {
4843
+ "node": ">=8"
4844
+ }
4845
+ },
4846
+ "node_modules/@sentry/vite-plugin": {
4847
+ "version": "2.16.1",
4848
+ "resolved": "https://registry.npmjs.org/@sentry/vite-plugin/-/vite-plugin-2.16.1.tgz",
4849
+ "integrity": "sha512-RSIyeqFG3PR5iJsZnagQxzOhM22z1Kh9DG+HQQsfVrxokzrWKRu/G17O2MIDh2I5iYEaL0Fkd/9RAXE4/b0aVg==",
4850
+ "dependencies": {
4851
+ "@sentry/bundler-plugin-core": "2.16.1",
4852
+ "unplugin": "1.0.1"
4853
+ },
4854
+ "engines": {
4855
+ "node": ">= 14"
4856
+ }
4857
+ },
4858
  "node_modules/@tailwindcss/typography": {
4859
  "version": "0.5.12",
4860
  "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz",
 
4916
  "@types/estree": "*"
4917
  }
4918
  },
4919
+ "node_modules/@types/body-parser": {
4920
+ "version": "1.19.5",
4921
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
4922
+ "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
4923
+ "dev": true,
4924
+ "dependencies": {
4925
+ "@types/connect": "*",
4926
+ "@types/node": "*"
4927
+ }
4928
+ },
4929
+ "node_modules/@types/connect": {
4930
+ "version": "3.4.38",
4931
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
4932
+ "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
4933
+ "dev": true,
4934
+ "dependencies": {
4935
+ "@types/node": "*"
4936
+ }
4937
+ },
4938
  "node_modules/@types/cookie": {
4939
  "version": "0.6.0",
4940
  "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
 
4964
  "@types/estree": "*"
4965
  }
4966
  },
4967
+ "node_modules/@types/express": {
4968
+ "version": "4.17.21",
4969
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
4970
+ "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
4971
+ "dev": true,
4972
+ "dependencies": {
4973
+ "@types/body-parser": "*",
4974
+ "@types/express-serve-static-core": "^4.17.33",
4975
+ "@types/qs": "*",
4976
+ "@types/serve-static": "*"
4977
+ }
4978
+ },
4979
+ "node_modules/@types/express-serve-static-core": {
4980
+ "version": "4.19.0",
4981
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz",
4982
+ "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==",
4983
+ "dev": true,
4984
+ "dependencies": {
4985
+ "@types/node": "*",
4986
+ "@types/qs": "*",
4987
+ "@types/range-parser": "*",
4988
+ "@types/send": "*"
4989
+ }
4990
+ },
4991
  "node_modules/@types/hast": {
4992
  "version": "2.3.10",
4993
  "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
 
4997
  "@types/unist": "^2"
4998
  }
4999
  },
5000
+ "node_modules/@types/http-errors": {
5001
+ "version": "2.0.4",
5002
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
5003
+ "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
5004
+ "dev": true
5005
+ },
5006
  "node_modules/@types/js-yaml": {
5007
  "version": "4.0.9",
5008
  "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
 
5030
  "integrity": "sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==",
5031
  "dev": true
5032
  },
5033
+ "node_modules/@types/mime": {
5034
+ "version": "1.3.5",
5035
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
5036
+ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
5037
+ "dev": true
5038
+ },
5039
  "node_modules/@types/ms": {
5040
  "version": "0.7.34",
5041
  "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
 
5057
  "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
5058
  "devOptional": true
5059
  },
5060
+ "node_modules/@types/qs": {
5061
+ "version": "6.9.14",
5062
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz",
5063
+ "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==",
5064
+ "dev": true
5065
+ },
5066
+ "node_modules/@types/range-parser": {
5067
+ "version": "1.2.7",
5068
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
5069
+ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
5070
+ "dev": true
5071
+ },
5072
  "node_modules/@types/react": {
5073
  "version": "18.2.74",
5074
  "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.74.tgz",
 
5088
  "@types/react": "*"
5089
  }
5090
  },
5091
+ "node_modules/@types/send": {
5092
+ "version": "0.17.4",
5093
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
5094
+ "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
5095
+ "dev": true,
5096
+ "dependencies": {
5097
+ "@types/mime": "^1",
5098
+ "@types/node": "*"
5099
+ }
5100
+ },
5101
+ "node_modules/@types/serve-static": {
5102
+ "version": "1.15.7",
5103
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz",
5104
+ "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==",
5105
+ "dev": true,
5106
+ "dependencies": {
5107
+ "@types/http-errors": "*",
5108
+ "@types/node": "*",
5109
+ "@types/send": "*"
5110
+ }
5111
+ },
5112
  "node_modules/@types/unist": {
5113
  "version": "2.0.10",
5114
  "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
 
5281
  "version": "8.11.3",
5282
  "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
5283
  "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
 
5284
  "bin": {
5285
  "acorn": "bin/acorn"
5286
  },
 
5698
  "version": "4.23.0",
5699
  "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
5700
  "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
 
5701
  "funding": [
5702
  {
5703
  "type": "opencollective",
 
5892
  "version": "1.0.30001603",
5893
  "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001603.tgz",
5894
  "integrity": "sha512-iL2iSS0eDILMb9n5yKQoTBim9jMZ0Yrk8g0N9K7UzYyWnfIKzXBZD5ngpM37ZcL/cv0Mli8XtVMRYMQAfFpi5Q==",
 
5895
  "funding": [
5896
  {
5897
  "type": "opencollective",
 
6182
  "version": "8.0.1",
6183
  "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
6184
  "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
 
6185
  "dependencies": {
6186
  "string-width": "^4.2.0",
6187
  "strip-ansi": "^6.0.1",
 
6195
  "version": "5.0.1",
6196
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
6197
  "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 
6198
  "engines": {
6199
  "node": ">=8"
6200
  }
 
6202
  "node_modules/cliui/node_modules/emoji-regex": {
6203
  "version": "8.0.0",
6204
  "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
6205
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
 
6206
  },
6207
  "node_modules/cliui/node_modules/string-width": {
6208
  "version": "4.2.3",
6209
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
6210
  "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
 
6211
  "dependencies": {
6212
  "emoji-regex": "^8.0.0",
6213
  "is-fullwidth-code-point": "^3.0.0",
 
6221
  "version": "6.0.1",
6222
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
6223
  "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
 
6224
  "dependencies": {
6225
  "ansi-regex": "^5.0.1"
6226
  },
 
6232
  "version": "7.0.0",
6233
  "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
6234
  "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
 
6235
  "dependencies": {
6236
  "ansi-styles": "^4.0.0",
6237
  "string-width": "^4.1.0",
 
6364
  "node_modules/convert-source-map": {
6365
  "version": "2.0.0",
6366
  "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
6367
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
 
6368
  },
6369
  "node_modules/cookie": {
6370
  "version": "0.6.0",
 
6530
  "version": "4.3.4",
6531
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
6532
  "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 
6533
  "dependencies": {
6534
  "ms": "2.1.2"
6535
  },
 
6715
  "version": "16.4.5",
6716
  "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
6717
  "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
 
6718
  "engines": {
6719
  "node": ">=12"
6720
  },
 
6787
  "node_modules/electron-to-chromium": {
6788
  "version": "1.4.722",
6789
  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.722.tgz",
6790
+ "integrity": "sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ=="
 
6791
  },
6792
  "node_modules/emoji-regex": {
6793
  "version": "9.2.2",
 
6910
  "version": "3.1.2",
6911
  "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
6912
  "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
 
6913
  "engines": {
6914
  "node": ">=6"
6915
  }
 
6924
  "version": "1.0.5",
6925
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
6926
  "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
 
6927
  "engines": {
6928
  "node": ">=0.8.0"
6929
  }
 
7329
  "version": "5.0.0",
7330
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
7331
  "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
 
7332
  "dependencies": {
7333
  "locate-path": "^6.0.0",
7334
  "path-exists": "^4.0.0"
 
7449
  "node_modules/fs.realpath": {
7450
  "version": "1.0.0",
7451
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
7452
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
 
7453
  },
7454
  "node_modules/fsevents": {
7455
  "version": "2.3.3",
 
7485
  "version": "1.0.0-beta.2",
7486
  "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
7487
  "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
 
7488
  "engines": {
7489
  "node": ">=6.9.0"
7490
  }
 
7493
  "version": "2.0.5",
7494
  "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
7495
  "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
 
7496
  "engines": {
7497
  "node": "6.* || 8.* || >= 10.*"
7498
  }
 
7583
  "version": "11.12.0",
7584
  "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
7585
  "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
 
7586
  "engines": {
7587
  "node": ">=4"
7588
  }
 
7861
  "tslib": "^2.0.3"
7862
  }
7863
  },
7864
+ "node_modules/hoist-non-react-statics": {
7865
+ "version": "3.3.2",
7866
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
7867
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
7868
+ "dependencies": {
7869
+ "react-is": "^16.7.0"
7870
+ }
7871
+ },
7872
  "node_modules/hosted-git-info": {
7873
  "version": "6.1.1",
7874
  "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
 
8633
  "version": "2.2.3",
8634
  "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
8635
  "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
 
8636
  "bin": {
8637
  "json5": "lib/cli.js"
8638
  },
 
8806
  "version": "6.0.0",
8807
  "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
8808
  "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
 
8809
  "dependencies": {
8810
  "p-locate": "^5.0.0"
8811
  },
 
9007
  "version": "5.1.1",
9008
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
9009
  "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
 
9010
  "dependencies": {
9011
  "yallist": "^3.0.2"
9012
  }
 
9019
  "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
9020
  }
9021
  },
9022
+ "node_modules/magic-string": {
9023
+ "version": "0.30.8",
9024
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz",
9025
+ "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==",
9026
+ "dependencies": {
9027
+ "@jridgewell/sourcemap-codec": "^1.4.15"
9028
+ },
9029
+ "engines": {
9030
+ "node": ">=12"
9031
+ }
9032
+ },
9033
  "node_modules/make-error": {
9034
  "version": "1.3.6",
9035
  "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
 
10210
  "node_modules/ms": {
10211
  "version": "2.1.2",
10212
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
10213
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
 
10214
  },
10215
  "node_modules/mute-stream": {
10216
  "version": "0.0.8",
 
10277
  "version": "2.7.0",
10278
  "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
10279
  "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
 
10280
  "dependencies": {
10281
  "whatwg-url": "^5.0.0"
10282
  },
 
10301
  "node_modules/node-releases": {
10302
  "version": "2.0.14",
10303
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
10304
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
 
10305
  },
10306
  "node_modules/normalize-package-data": {
10307
  "version": "5.0.0",
 
10537
  "version": "3.1.0",
10538
  "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
10539
  "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
 
10540
  "dependencies": {
10541
  "yocto-queue": "^0.1.0"
10542
  },
 
10551
  "version": "5.0.0",
10552
  "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
10553
  "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
 
10554
  "dependencies": {
10555
  "p-limit": "^3.0.2"
10556
  },
 
10713
  "version": "4.0.0",
10714
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
10715
  "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
 
10716
  "engines": {
10717
  "node": ">=8"
10718
  }
 
11154
  "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
11155
  "dev": true
11156
  },
11157
+ "node_modules/progress": {
11158
+ "version": "2.0.3",
11159
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
11160
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
11161
+ "engines": {
11162
+ "node": ">=0.4.0"
11163
+ }
11164
+ },
11165
  "node_modules/promise": {
11166
  "version": "7.3.1",
11167
  "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
 
11213
  "node": ">= 0.10"
11214
  }
11215
  },
11216
+ "node_modules/proxy-from-env": {
11217
+ "version": "1.1.0",
11218
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
11219
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
11220
+ },
11221
  "node_modules/pump": {
11222
  "version": "2.0.1",
11223
  "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
 
11344
  "react": "^18.2.0"
11345
  }
11346
  },
11347
+ "node_modules/react-is": {
11348
+ "version": "16.13.1",
11349
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
11350
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
11351
+ },
11352
  "node_modules/react-refresh": {
11353
  "version": "0.14.0",
11354
  "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
 
11640
  "version": "2.1.1",
11641
  "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
11642
  "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
 
11643
  "engines": {
11644
  "node": ">=0.10.0"
11645
  }
 
12683
  "version": "2.0.0",
12684
  "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
12685
  "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
 
12686
  "engines": {
12687
  "node": ">=4"
12688
  }
 
12716
  "node_modules/tr46": {
12717
  "version": "0.0.3",
12718
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
12719
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
 
12720
  },
12721
  "node_modules/trim-lines": {
12722
  "version": "3.0.1",
 
13130
  "node": ">= 0.8"
13131
  }
13132
  },
13133
+ "node_modules/unplugin": {
13134
+ "version": "1.0.1",
13135
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz",
13136
+ "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==",
13137
+ "dependencies": {
13138
+ "acorn": "^8.8.1",
13139
+ "chokidar": "^3.5.3",
13140
+ "webpack-sources": "^3.2.3",
13141
+ "webpack-virtual-modules": "^0.5.0"
13142
+ }
13143
+ },
13144
  "node_modules/update-browserslist-db": {
13145
  "version": "1.0.13",
13146
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
13147
  "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
 
13148
  "funding": [
13149
  {
13150
  "type": "opencollective",
 
13897
  "node_modules/webidl-conversions": {
13898
  "version": "3.0.1",
13899
  "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
13900
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
13901
+ },
13902
+ "node_modules/webpack-sources": {
13903
+ "version": "3.2.3",
13904
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
13905
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
13906
+ "engines": {
13907
+ "node": ">=10.13.0"
13908
+ }
13909
+ },
13910
+ "node_modules/webpack-virtual-modules": {
13911
+ "version": "0.5.0",
13912
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
13913
+ "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
13914
  },
13915
  "node_modules/whatwg-url": {
13916
  "version": "5.0.0",
13917
  "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
13918
  "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
 
13919
  "dependencies": {
13920
  "tr46": "~0.0.3",
13921
  "webidl-conversions": "^3.0.0"
 
14086
  "version": "5.0.8",
14087
  "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
14088
  "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
 
14089
  "engines": {
14090
  "node": ">=10"
14091
  }
 
14093
  "node_modules/yallist": {
14094
  "version": "3.1.1",
14095
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
14096
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
 
14097
  },
14098
  "node_modules/yaml": {
14099
  "version": "2.4.1",
 
14116
  "version": "17.7.2",
14117
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
14118
  "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
 
14119
  "dependencies": {
14120
  "cliui": "^8.0.1",
14121
  "escalade": "^3.1.1",
 
14133
  "version": "21.1.1",
14134
  "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
14135
  "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
 
14136
  "engines": {
14137
  "node": ">=12"
14138
  }
 
14141
  "version": "5.0.1",
14142
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
14143
  "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 
14144
  "engines": {
14145
  "node": ">=8"
14146
  }
 
14148
  "node_modules/yargs/node_modules/emoji-regex": {
14149
  "version": "8.0.0",
14150
  "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
14151
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
 
14152
  },
14153
  "node_modules/yargs/node_modules/string-width": {
14154
  "version": "4.2.3",
14155
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
14156
  "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
 
14157
  "dependencies": {
14158
  "emoji-regex": "^8.0.0",
14159
  "is-fullwidth-code-point": "^3.0.0",
 
14167
  "version": "6.0.1",
14168
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
14169
  "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
 
14170
  "dependencies": {
14171
  "ansi-regex": "^5.0.1"
14172
  },
 
14187
  "version": "0.1.0",
14188
  "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
14189
  "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
 
14190
  "engines": {
14191
  "node": ">=10"
14192
  },
package.json CHANGED
@@ -13,6 +13,8 @@
13
  "@radix-ui/react-tooltip": "1.0.7",
14
  "@remix-run/node": "2.8.1",
15
  "@remix-run/react": "2.8.1",
 
 
16
  "@uidotdev/usehooks": "2.4.1",
17
  "@urql/exchange-graphcache": "7.0.0",
18
  "class-variance-authority": "0.7.0",
@@ -38,6 +40,7 @@
38
  "@parcel/watcher": "2.4.1",
39
  "@remix-run/dev": "2.8.1",
40
  "@tailwindcss/typography": "0.5.12",
 
41
  "@types/react": "18.2.74",
42
  "@types/react-dom": "18.2.24",
43
  "autoprefixer": "10.4.19",
 
13
  "@radix-ui/react-tooltip": "1.0.7",
14
  "@remix-run/node": "2.8.1",
15
  "@remix-run/react": "2.8.1",
16
+ "@sentry/remix": "7.109.0",
17
+ "@sentry/vite-plugin": "2.16.1",
18
  "@uidotdev/usehooks": "2.4.1",
19
  "@urql/exchange-graphcache": "7.0.0",
20
  "class-variance-authority": "0.7.0",
 
40
  "@parcel/watcher": "2.4.1",
41
  "@remix-run/dev": "2.8.1",
42
  "@tailwindcss/typography": "0.5.12",
43
+ "@types/express": "4.17.21",
44
  "@types/react": "18.2.74",
45
  "@types/react-dom": "18.2.24",
46
  "autoprefixer": "10.4.19",
vite.config.ts CHANGED
@@ -1,4 +1,5 @@
1
  import { vitePlugin as remix } from "@remix-run/dev"
 
2
  import { defineConfig } from "vite"
3
  import tsconfigPaths from "vite-tsconfig-paths"
4
 
@@ -16,11 +17,21 @@ export default defineConfig({
16
  },
17
  },
18
  },
 
19
  plugins: [
20
  remix({
21
  appDirectory: "frontend",
22
  ssr: false,
23
  }),
24
  tsconfigPaths(),
 
 
 
 
 
25
  ],
 
 
 
 
26
  })
 
1
  import { vitePlugin as remix } from "@remix-run/dev"
2
+ import { sentryVitePlugin } from "@sentry/vite-plugin"
3
  import { defineConfig } from "vite"
4
  import tsconfigPaths from "vite-tsconfig-paths"
5
 
 
17
  },
18
  },
19
  },
20
+
21
  plugins: [
22
  remix({
23
  appDirectory: "frontend",
24
  ssr: false,
25
  }),
26
  tsconfigPaths(),
27
+ sentryVitePlugin({
28
+ org: "hicustomer",
29
+ project: "govsearch",
30
+ telemetry: true,
31
+ }),
32
  ],
33
+
34
+ build: {
35
+ sourcemap: true,
36
+ },
37
  })