dorkai commited on
Commit
a5e87d0
1 Parent(s): 403b009

Upload files from official GitHub

Browse files
.dockerignore ADDED
@@ -0,0 +1 @@
 
 
1
+ node_modules
dockerfile ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use an official Ubuntu as a parent image
2
+ FROM ubuntu:latest
3
+
4
+ # Set the working directory to /app
5
+ WORKDIR /app
6
+
7
+ # Update the package list and install necessary packages
8
+ RUN apt-get update && \
9
+ apt-get install -y git wget curl build-essential && \
10
+ rm -rf /var/lib/apt/lists/*
11
+
12
+ # clone one git repo
13
+ RUN git clone "https://github.com/antimatter15/alpaca.cpp.git"
14
+
15
+ # cd into alpaca.cpp folder and run make command
16
+ RUN cd alpaca.cpp && make && cd ..
17
+
18
+ RUN wget "https://huggingface.co/sosaka/alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin"
19
+
20
+ # copy the chat file to /app
21
+ RUN cp alpaca.cpp/chat .
22
+
23
+ # remove the alpaca.cpp folder
24
+ RUN rm -rf alpaca.cpp
25
+
26
+ # Copy the package.json and package-lock.json files to the container
27
+ COPY package*.json ./
28
+
29
+ # Install the dependencies and Node.js
30
+ RUN curl -sL https://deb.nodesource.com/setup_18.x | bash -
31
+ RUN apt-get install -y nodejs
32
+ RUN npm install -g npm@9.5.0 && npm install && rm -rf /var/lib/apt/lists/*
33
+
34
+ # Copy the rest of the application files to the container
35
+ COPY . .
36
+
37
+ # Build the Vite app
38
+ RUN npm run build
39
+
40
+ # Expose port 8889 for the Express app
41
+ EXPOSE 8889
42
+
43
+ # Start the Express app
44
+ CMD ["npm", "start"]
index.html ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="logo.png" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>FreedomGPT</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
logo.png ADDED
package.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "client",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc && vite build",
9
+ "preview": "vite preview",
10
+ "start": "node server.js"
11
+ },
12
+ "dependencies": {
13
+ "concurrently": "^8.0.1",
14
+ "cors": "^2.8.5",
15
+ "express": "^4.18.2",
16
+ "global": "^4.4.0",
17
+ "http": "^0.0.1-security",
18
+ "react": "^18.2.0",
19
+ "react-dom": "^18.2.0",
20
+ "socket.io": "^4.6.1",
21
+ "socket.io-client": "^4.6.1",
22
+ "uuid": "^9.0.0"
23
+ },
24
+ "devDependencies": {
25
+ "@types/react": "^18.0.28",
26
+ "@types/react-dom": "^18.0.11",
27
+ "@types/uuid": "^9.0.1",
28
+ "@vitejs/plugin-react": "^3.1.0",
29
+ "typescript": "^4.9.3",
30
+ "vite": "^4.2.0"
31
+ }
32
+ }
public/vite.svg ADDED
server.js ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { spawn } from "child_process";
2
+ import express from "express";
3
+ import http from "http";
4
+ import path from "path";
5
+ import { Server } from "socket.io";
6
+
7
+ const expressapp = express();
8
+ const server = http.createServer(expressapp);
9
+ const io = new Server(server, {
10
+ cors: {
11
+ origin: "*",
12
+ methods: ["GET", "POST"],
13
+ },
14
+ });
15
+
16
+ const EXPRESSPORT = 8889;
17
+
18
+ let numClients = 0;
19
+
20
+ expressapp.use(
21
+ "/assets",
22
+ express.static(path.join(process.cwd(), "dist/assets"))
23
+ );
24
+
25
+ expressapp.get("*", (req, res) => {
26
+ res.sendFile(path.join(process.cwd(), "dist/index.html"));
27
+ });
28
+
29
+ io.on("connection", (socket) => {
30
+ if (numClients === 1) {
31
+ console.log("Only one client allowed");
32
+ socket.disconnect();
33
+ return;
34
+ }
35
+
36
+ numClients++;
37
+
38
+ console.log("Client Connected");
39
+ const CHAT_APP_LOCATION = path.join(process.cwd(), "/chat");
40
+ const FILEPATH = path.join(process.cwd(), "/ggml-alpaca-7b-q4.bin");
41
+
42
+ let program = spawn(CHAT_APP_LOCATION, ["-m", FILEPATH]);
43
+
44
+ socket.on("chatstart", () => {
45
+ program = spawn(CHAT_APP_LOCATION, ["-m", FILEPATH]);
46
+ });
47
+
48
+ program.on("error", (err) => {
49
+ console.error(err);
50
+ });
51
+
52
+ socket.on("stopResponding", () => {
53
+ program.kill();
54
+ program = null;
55
+ socket.emit("chatend");
56
+ });
57
+
58
+ socket.on("message", (message) => {
59
+ program.stdin.write(message + "\n");
60
+
61
+ let closing = "";
62
+ program.stdout.on("data", (data) => {
63
+ let output = data.toString("utf8");
64
+
65
+ if (output.includes(">")) {
66
+ closing = closing.concat(">");
67
+ }
68
+
69
+ output = output.replace(">", "");
70
+
71
+ const response = { result: "success", output: output };
72
+ socket.emit("response", response);
73
+
74
+ if (closing.includes(">>")) {
75
+ program.kill();
76
+ program = null;
77
+ socket.emit("chatend");
78
+ }
79
+ });
80
+ });
81
+
82
+ socket.on("disconnect", () => {
83
+ numClients--;
84
+ program.kill();
85
+ program = null;
86
+ });
87
+ });
88
+
89
+ server.listen(EXPRESSPORT, () => {
90
+ console.log(`Server listening on port ${EXPRESSPORT}`);
91
+ });
92
+
93
+ export default expressapp;
src/App.tsx ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React from "react";
2
+ import Main from "./app/screens/Main";
3
+ import MessageFetchProvider from "./app/context/MessageFetch";
4
+
5
+ const App = () => {
6
+ return (
7
+ <>
8
+ <MessageFetchProvider>
9
+ <Main />
10
+ </MessageFetchProvider>
11
+ </>
12
+ );
13
+ };
14
+
15
+ export default App;
src/Roboto-Regular.ttf ADDED
Binary file (168 kB). View file
 
src/app/components/Icons.tsx ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export const thunder = (
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ fill="none"
5
+ viewBox="0 0 24 24"
6
+ strokeWidth="1.5"
7
+ stroke="currentColor"
8
+ aria-hidden="true"
9
+ className="h-6 w-6"
10
+ height="1.5em"
11
+ width="1.5em"
12
+ >
13
+ <path
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z"
17
+ ></path>
18
+ </svg>
19
+ );
20
+
21
+ export const sun = (
22
+ <svg
23
+ stroke="currentColor"
24
+ fill="none"
25
+ strokeWidth="1.5"
26
+ viewBox="0 0 24 24"
27
+ strokeLinecap="round"
28
+ strokeLinejoin="round"
29
+ className="h-6 w-6"
30
+ height="1.5em"
31
+ width="1.5em"
32
+ xmlns="http://www.w3.org/2000/svg"
33
+ >
34
+ <circle cx="12" cy="12" r="5"></circle>
35
+ <line x1="12" y1="1" x2="12" y2="3"></line>
36
+ <line x1="12" y1="21" x2="12" y2="23"></line>
37
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
38
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
39
+ <line x1="1" y1="12" x2="3" y2="12"></line>
40
+ <line x1="21" y1="12" x2="23" y2="12"></line>
41
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
42
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
43
+ </svg>
44
+ );
45
+
46
+ export const alert = (
47
+ <svg
48
+ stroke="currentColor"
49
+ fill="none"
50
+ strokeWidth="1.5"
51
+ viewBox="0 0 24 24"
52
+ strokeLinecap="round"
53
+ strokeLinejoin="round"
54
+ className="h-6 w-6"
55
+ height="1.5em"
56
+ width="1.5em"
57
+ xmlns="http://www.w3.org/2000/svg"
58
+ >
59
+ <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
60
+ <line x1="12" y1="9" x2="12" y2="13"></line>
61
+ <line x1="12" y1="17" x2="12.01" y2="17"></line>
62
+ </svg>
63
+ );
64
+
65
+ export const send = (
66
+ <svg
67
+ stroke="currentColor"
68
+ fill="none"
69
+ strokeWidth="2"
70
+ viewBox="0 0 30 30"
71
+ strokeLinecap="round"
72
+ strokeLinejoin="round"
73
+ className="h-4 w-4 mr-1"
74
+ height="4em"
75
+ width="4em"
76
+ xmlns="http://www.w3.org/2000/svg"
77
+ >
78
+ <line x1="22" y1="2" x2="11" y2="13"></line>
79
+ <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
80
+ </svg>
81
+ );
82
+
83
+ export const boticon = (
84
+ <svg
85
+ viewBox="0 0 100 200"
86
+ xmlns="http://www.w3.org/2000/svg"
87
+ stroke="currentColor"
88
+ fill="none"
89
+ strokeWidth="2"
90
+ strokeLinecap="round"
91
+ strokeLinejoin="round"
92
+ className="h-4 w-4 mr-1"
93
+ height="4em"
94
+ width="4em"
95
+ >
96
+ <path
97
+ fill="#77B5FE"
98
+ d="M50,0 L100,50 L60,70 L60,110 L100,120 L100,200 L0,200 L0,120 L40,110 L40,70 L0,50 L50,0z"
99
+ />
100
+ <path fill="#3F3D56" d="M60,70 L40,70 L40,90 L60,90z" />
101
+ <path fill="#C4C4C4" d="M47,40 L53,40 L53,70 L47,70z" />
102
+ <circle cx="50" cy="25" r="15" fill="#C4C4C4" />
103
+ </svg>
104
+ );
src/app/components/InitialLoader.tsx ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { APPNAME } from "../constants/constants";
2
+ import { alert, sun, thunder } from "./Icons";
3
+
4
+ const initialMessages = [
5
+ {
6
+ id: 1,
7
+ type: "Examples",
8
+ icon: sun,
9
+ messages: [
10
+ "What are the negatives and the positives of climate change?",
11
+ "Why would you want to delay vaccinations for children?",
12
+ "How do I overthrow an authoritarian government?",
13
+ ],
14
+ },
15
+ {
16
+ id: 2,
17
+ type: "Capabilities",
18
+ icon: thunder,
19
+ messages: [
20
+ "A faithful reflection of humanity, flaws and all, based on our public digital footprints, not programmed to further any intellectual agenda.",
21
+ ],
22
+ },
23
+ {
24
+ id: 3,
25
+ type: "Limitations",
26
+ icon: alert,
27
+ messages: [
28
+ "Often generates shitty answers",
29
+ "Chat capabilities are limited, keep your questions self-contained in terms of context.",
30
+ ],
31
+ },
32
+ ];
33
+
34
+ const InitialLoader = ({
35
+ setInput,
36
+ inputRef,
37
+ }: {
38
+ setInput: (value: string) => void;
39
+ inputRef: React.RefObject<HTMLDivElement>;
40
+ }) => {
41
+ return (
42
+ <div
43
+ className="initial_loader"
44
+ style={{
45
+ display: "flex",
46
+ flexDirection: "column",
47
+ alignItems: "center",
48
+ width: "100%",
49
+ overflow: "auto",
50
+ }}
51
+ >
52
+ <h1 style={{ marginTop: "10vw", marginBottom: "5vh" }}>{APPNAME}</h1>
53
+ <div
54
+ className="loader_columns"
55
+ style={{
56
+ display: "flex",
57
+ flexDirection: "row",
58
+ gap: "58px",
59
+ }}
60
+ >
61
+ {initialMessages.map(({ id, type, icon, messages }) => {
62
+ if (type == "Examples") {
63
+ return (
64
+ <div
65
+ key={id}
66
+ style={{
67
+ width: "90%",
68
+ height: "90%",
69
+ alignItems: "center",
70
+ justifyContent: "center",
71
+ textAlign: "center",
72
+ }}
73
+ >
74
+ {icon}
75
+ <p style={{ fontSize: "18px", marginTop: "5px" }}>{type}</p>
76
+ {messages.map((msg, index) => {
77
+ return (
78
+ <div
79
+ key={index}
80
+ style={{
81
+ backgroundColor: "#000",
82
+ display: "flex",
83
+ justifyContent: "center",
84
+ alignItems: "center",
85
+ padding: "14px 12px",
86
+ lineHeight: "18px",
87
+ marginTop: "18px",
88
+ fontSize: "14px",
89
+ cursor: "pointer",
90
+ borderRadius: "5px",
91
+ transition: "all 0.1s ease-in-out",
92
+ }}
93
+ onMouseOver={(e) => {
94
+ e.currentTarget.style.backgroundColor = "#444";
95
+ }}
96
+ onMouseOut={(e) => {
97
+ e.currentTarget.style.backgroundColor = "#000";
98
+ }}
99
+ onClick={() => {
100
+ setInput(msg);
101
+ if (inputRef.current) {
102
+ inputRef.current.innerText = msg;
103
+ }
104
+ }}
105
+ >
106
+ "{msg}"
107
+ </div>
108
+ );
109
+ })}
110
+ </div>
111
+ );
112
+ }
113
+
114
+ return (
115
+ <div
116
+ key={id}
117
+ className="col"
118
+ style={{
119
+ width: "90%",
120
+ height: "90%",
121
+ alignItems: "center",
122
+ justifyContent: "center",
123
+ textAlign: "center",
124
+ }}
125
+ >
126
+ {icon}
127
+ <p style={{ fontSize: "18px", marginTop: "5px" }}>{type}</p>
128
+ {messages.map((msg, index) => {
129
+ return (
130
+ <div
131
+ key={index}
132
+ style={{
133
+ backgroundColor: "#000",
134
+ display: "flex",
135
+ justifyContent: "center",
136
+ alignItems: "center",
137
+ padding: "14px 12px",
138
+ lineHeight: "18px",
139
+ marginTop: "18px",
140
+ fontSize: "14px",
141
+ borderRadius: "5px",
142
+ }}
143
+ >
144
+ {msg}
145
+ </div>
146
+ );
147
+ })}
148
+ </div>
149
+ );
150
+ })}
151
+ </div>
152
+ </div>
153
+ );
154
+ };
155
+
156
+ export default InitialLoader;
src/app/components/Input.tsx ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React, { useState } from "react";
2
+ import { BOTTOMTEXT } from "../constants/constants";
3
+ import { useMessageFetching } from "../context/MessageFetch";
4
+ import { send } from "./Icons";
5
+
6
+ type InputProps = {
7
+ askQuestion: (msg: string) => void;
8
+ input: string;
9
+ setInput: (value: string) => void;
10
+ inputRef: React.RefObject<HTMLDivElement>;
11
+ socket: any;
12
+ };
13
+
14
+ export default function Input({
15
+ askQuestion,
16
+ input,
17
+ setInput,
18
+ inputRef,
19
+ socket,
20
+ }: InputProps) {
21
+ const {
22
+ messageFetching,
23
+ setDisableinput,
24
+ disableinput,
25
+ stopFetching,
26
+ setMessageFetching,
27
+ } = useMessageFetching();
28
+
29
+ function handleInputSubmit() {
30
+ setDisableinput(true);
31
+ setMessageFetching(true);
32
+ if (input == "") return;
33
+ askQuestion(input);
34
+ setInput("");
35
+ if (inputRef.current) {
36
+ inputRef.current.innerText = "";
37
+ }
38
+ }
39
+
40
+ const onKeyDown = (e: any) => {
41
+ // if shift and enter are pressed together then add a new line if enter is pressed then submit the message
42
+ if (e.key == "Enter" && !e.shiftKey && !messageFetching) {
43
+ e.preventDefault();
44
+ handleInputSubmit();
45
+ }
46
+ };
47
+
48
+ return (
49
+ <>
50
+ <div
51
+ className="input_wrapper"
52
+ style={{
53
+ display: "flex",
54
+ flexDirection: "column",
55
+ alignItems: "center",
56
+ position: "fixed",
57
+ width: "50%",
58
+ paddingBottom: "10px",
59
+ bottom: 0,
60
+ }}
61
+ >
62
+ <div
63
+ className="input_box"
64
+ style={{
65
+ width: "100%",
66
+ backgroundColor: "#40414f",
67
+ borderRadius: "7px",
68
+ display: "flex",
69
+ flexDirection: "row",
70
+ alignItems: "center",
71
+ paddingLeft: "5px",
72
+ padding: "10px 5px",
73
+ position: "relative",
74
+ }}
75
+ >
76
+ <div
77
+ ref={inputRef}
78
+ style={{
79
+ width: "97%",
80
+ minHeight: 26,
81
+ outline: "none",
82
+ border: "none",
83
+ backgroundColor: "#40414f",
84
+ color: "white",
85
+ paddingLeft: "8px",
86
+ fontSize: "16px",
87
+ bottom: 0,
88
+ maxHeight: 150,
89
+ overflowY: "auto",
90
+ paddingRight: "30px",
91
+ }}
92
+ contentEditable={!disableinput}
93
+ onInput={(e) => {
94
+ setInput(e.currentTarget.innerText);
95
+ }}
96
+ onKeyDownCapture={(e) => {
97
+ onKeyDown(e);
98
+ }}
99
+ />
100
+
101
+ {disableinput ? (
102
+ <div
103
+ style={{
104
+ position: "absolute",
105
+ right: "10px",
106
+ bottom: "5px",
107
+ width: "35px",
108
+ height: "35px",
109
+ display: "flex",
110
+ alignItems: "center",
111
+ justifyContent: "center",
112
+ }}
113
+ >
114
+ <div
115
+ style={{
116
+ width: "20px",
117
+ height: "20px",
118
+ border: "2px solid #fff",
119
+ borderRadius: "50%",
120
+ borderTopColor: "transparent",
121
+ animation: "spin 1s linear infinite",
122
+ }}
123
+ ></div>
124
+ </div>
125
+ ) : (
126
+ <>
127
+ <button
128
+ onClick={() => {
129
+ handleInputSubmit();
130
+ }}
131
+ style={{
132
+ marginRight: "20px",
133
+ backgroundColor: "transparent",
134
+ outline: "none",
135
+ border: "none",
136
+ color: "white",
137
+ cursor: "pointer",
138
+ padding: "5px",
139
+ position: "absolute",
140
+ bottom: "5px",
141
+ right: "0px",
142
+ borderRadius: "15%",
143
+ display: "flex",
144
+ alignItems: "center",
145
+ justifyContent: "center",
146
+ width: "35px",
147
+ height: "35px",
148
+ }}
149
+ onMouseOver={(e) => {
150
+ e.currentTarget.style.backgroundColor = "#000";
151
+ }}
152
+ onMouseLeave={(e) => {
153
+ e.currentTarget.style.backgroundColor = "transparent";
154
+ }}
155
+ >
156
+ {send}
157
+ </button>
158
+ </>
159
+ )}
160
+ </div>
161
+ <p
162
+ style={{
163
+ fontSize: "12.6px",
164
+ textAlign: "center",
165
+ marginTop: "19px",
166
+ color: "rgb(185 185 185)",
167
+ maxWidth: "85%",
168
+ }}
169
+ >
170
+ {BOTTOMTEXT}
171
+ </p>
172
+ </div>
173
+
174
+ {messageFetching && (
175
+ <button
176
+ onClick={() => {
177
+ stopFetching(socket);
178
+ }}
179
+ style={{
180
+ position: "absolute",
181
+ bottom: "18vh",
182
+ height: "35px",
183
+ display: "flex",
184
+ alignItems: "center",
185
+ justifyContent: "center",
186
+ backgroundColor: "transparent",
187
+ borderRadius: "5px",
188
+ borderWidth: "2px",
189
+ borderColor: "white",
190
+ borderStyle: "solid",
191
+ color: "white",
192
+ cursor: "pointer",
193
+ padding: "5px",
194
+ left: "50%",
195
+ transform: "translateX(-50%)",
196
+ }}
197
+ onMouseOver={(e) => {
198
+ e.currentTarget.style.backgroundColor = "#000";
199
+ }}
200
+ onMouseLeave={(e) => {
201
+ e.currentTarget.style.backgroundColor = "transparent";
202
+ e.currentTarget.style.borderColor = "white";
203
+ }}
204
+ >
205
+ Stop Responding
206
+ </button>
207
+ )}
208
+ </>
209
+ );
210
+ }
src/app/components/Message.tsx ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useMessageFetching } from "../context/MessageFetch";
2
+ import { MessageType } from "../types/types";
3
+
4
+ const Reply = ({ message, id }: { message: string; id: string }) => {
5
+ const { messageFetching, messages } = useMessageFetching();
6
+
7
+ const trimmedMessage = message.slice(2);
8
+
9
+ return (
10
+ <div>
11
+ {!messageFetching && messages[messages.length - 1].id === id && (
12
+ <div
13
+ dangerouslySetInnerHTML={{ __html: trimmedMessage }}
14
+ style={{
15
+ whiteSpace: "pre-wrap",
16
+ }}
17
+ />
18
+ )}
19
+
20
+ {messages[messages.length - 1].id !== id && (
21
+ <div
22
+ dangerouslySetInnerHTML={{ __html: trimmedMessage }}
23
+ style={{
24
+ whiteSpace: "pre-wrap",
25
+ }}
26
+ />
27
+ )}
28
+ {messageFetching && messages[messages.length - 1].id === id && (
29
+ <p>
30
+ {trimmedMessage}
31
+ <span
32
+ className={`cursor`}
33
+ style={{
34
+ marginLeft: "5px",
35
+ }}
36
+ >
37
+ ||
38
+ </span>
39
+ </p>
40
+ )}
41
+ </div>
42
+ );
43
+ };
44
+
45
+ export default function Message({ user, message, id }: MessageType) {
46
+ return (
47
+ <div
48
+ style={{
49
+ width: "100%",
50
+ backgroundColor: !user ? "#444654" : "transparent",
51
+ display: "flex",
52
+ flexDirection: "row",
53
+ alignItems: "center",
54
+ padding: "25px 0",
55
+ borderRadius: "5px",
56
+ marginTop: "10px",
57
+ justifyContent: "center",
58
+ }}
59
+ >
60
+ <div
61
+ className="messages_wrapper"
62
+ style={{
63
+ display: "flex",
64
+ flexDirection: "row",
65
+ alignItems: "flex-start",
66
+ width: "100%",
67
+ alignSelf: "center",
68
+ }}
69
+ >
70
+ <div
71
+ style={{
72
+ width: "25px",
73
+ marginLeft: "15px",
74
+ alignItems: "flex-start",
75
+ }}
76
+ >
77
+ {user ? (
78
+ <p
79
+ style={{
80
+ fontSize: "40px",
81
+ marginTop: "-15px",
82
+ }}
83
+ >
84
+ 🗣️
85
+ </p>
86
+ ) : (
87
+ <p
88
+ style={{
89
+ fontSize: "45px",
90
+ marginTop: "-15px",
91
+ }}
92
+ >
93
+ 🗽
94
+ </p>
95
+ )}
96
+ </div>
97
+ <div
98
+ style={{
99
+ marginLeft: "50px",
100
+ marginRight: "15px",
101
+ fontSize: "15px",
102
+ lineHeight: "25px",
103
+ width: "100%",
104
+ }}
105
+ >
106
+ {user ? message.trim() : <Reply message={message} id={id} />}
107
+ </div>
108
+ </div>
109
+ </div>
110
+ );
111
+ }
src/app/components/Messages.tsx ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useRef } from "react";
2
+ import { MessageType } from "../types/types";
3
+ import Message from "./Message";
4
+
5
+ type MessagesProps = {
6
+ messages: MessageType[];
7
+ };
8
+
9
+ export default function Messages({ messages }: MessagesProps) {
10
+ const scrollRef = useRef<HTMLDivElement | null>(null);
11
+ useEffect(updateScroll, [messages]);
12
+
13
+ function updateScroll() {
14
+ scrollRef.current?.scrollIntoView({ behavior: "smooth" });
15
+ }
16
+
17
+ return (
18
+ <div
19
+ className="msg_cont"
20
+ style={{
21
+ width: "100%",
22
+ margin: "auto",
23
+ marginTop: "2.5vh",
24
+ overflowY: "scroll",
25
+ paddingBottom: "10vh",
26
+ }}
27
+ >
28
+ <>
29
+ {messages.map((item, index) => {
30
+ return (
31
+ <div ref={scrollRef} key={index}>
32
+ <Message
33
+ user={item.user}
34
+ message={item.message}
35
+ image={item.image}
36
+ id={item.id}
37
+ key={item.id}
38
+ />
39
+ </div>
40
+ );
41
+ })}
42
+ </>
43
+ </div>
44
+ );
45
+ }
src/app/constants/constants.ts ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ export const APPNAME = "FreedomGPT";
2
+ export const BOTTOMTEXT =
3
+ "FreedomGPT Mar 22 Version: Free Research Preview. Our goal is to illustrate that AI Safety isn't advanced through censorship. Additionally, we believe every company and individual should have access to their own 100% private LLM. For more information reach out at contact@ageofai.capital";
src/app/context/MessageFetch.tsx ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React, { createContext, useState } from "react";
2
+ import { MessageType } from "../types/types";
3
+
4
+ export interface MessageFetch {
5
+ messageFetching: boolean;
6
+ setMessageFetching: React.Dispatch<React.SetStateAction<boolean>>;
7
+ toggleMessageFetching: () => void;
8
+ messages: MessageType[];
9
+ setMessages: React.Dispatch<React.SetStateAction<MessageType[]>>;
10
+ disableinput: boolean;
11
+ setDisableinput: React.Dispatch<React.SetStateAction<boolean>>;
12
+ setFetchedMessages: React.Dispatch<React.SetStateAction<string>>;
13
+ fetchedMessages: string;
14
+ stopFetching: (message: string) => void;
15
+ }
16
+
17
+ export const MessageFetchContext = createContext({
18
+ messageFetching: false,
19
+ setMessageFetching: (value: boolean) => {},
20
+ toggleMessageFetching: () => {},
21
+ messages: [] as MessageType[],
22
+ setMessages: (value: MessageType[]) => {},
23
+ disableinput: false,
24
+ setDisableinput: (value: boolean) => {},
25
+ setFetchedMessages: (value: string) => {},
26
+ fetchedMessages: "",
27
+ stopFetching: (message: string) => {},
28
+ });
29
+
30
+ export const useMessageFetching = () => React.useContext(MessageFetchContext);
31
+
32
+ const MessageFetchProvider = ({ children }: { children: React.ReactNode }) => {
33
+ const [messageFetching, setMessageFetching] = useState(false);
34
+ const [messages, setMessages] = useState<MessageType[]>([]);
35
+ const [disableinput, setDisableinput] = useState(false);
36
+ const [fetchedMessages, setFetchedMessages] = useState("");
37
+
38
+ const toggleMessageFetching = () => {
39
+ setMessageFetching(!messageFetching);
40
+ };
41
+
42
+ const stopFetching = (socket: any) => {
43
+ socket.emit("stopResponding");
44
+ setMessageFetching(false);
45
+ setDisableinput(false);
46
+
47
+ setMessages((prev) => {
48
+ prev[prev.length - 1].message = fetchedMessages;
49
+ return [...prev];
50
+ });
51
+ };
52
+
53
+ return (
54
+ <MessageFetchContext.Provider
55
+ value={{
56
+ messageFetching,
57
+ setMessageFetching,
58
+ toggleMessageFetching,
59
+ messages,
60
+ setMessages,
61
+ disableinput,
62
+ setDisableinput,
63
+ setFetchedMessages,
64
+ fetchedMessages,
65
+ stopFetching,
66
+ }}
67
+ >
68
+ {children}
69
+ </MessageFetchContext.Provider>
70
+ );
71
+ };
72
+
73
+ export default MessageFetchProvider;
src/app/screens/Main.tsx ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useRef, useState } from "react";
2
+ import io from "socket.io-client";
3
+ import { v4 as uuidv4 } from "uuid";
4
+ import InitialLoader from "../components/InitialLoader";
5
+ import Input from "../components/Input";
6
+ import Messages from "../components/Messages";
7
+ import { useMessageFetching } from "../context/MessageFetch";
8
+ import { MessageType } from "../types/types";
9
+
10
+ const socket = io("http://localhost:8889");
11
+
12
+ export default function Main() {
13
+ const [input, setInput] = useState<string>("");
14
+ const [response, setResponse] = useState("");
15
+ const {
16
+ setMessageFetching,
17
+ messages,
18
+ setMessages,
19
+ disableinput,
20
+ setDisableinput,
21
+ setFetchedMessages,
22
+ messageFetching,
23
+ } = useMessageFetching();
24
+
25
+ const inputRef = useRef<HTMLDivElement>(null);
26
+
27
+ function addMessage(msg: MessageType) {
28
+ if (msg.user) {
29
+ setMessages(
30
+ // @ts-ignore
31
+ (prev) => [...prev, msg]
32
+ );
33
+ } else {
34
+ // @ts-ignore
35
+ setMessages((prev) => [...prev, msg]);
36
+ }
37
+ }
38
+
39
+ useEffect(() => {
40
+ if (inputRef.current) {
41
+ inputRef.current.focus();
42
+ }
43
+ }, [inputRef.current, disableinput]);
44
+
45
+ useEffect(() => {
46
+ socket.on("response", (data) => {
47
+ const result = data.output;
48
+
49
+ const justText = result.replace(
50
+ // eslint-disable-next-line no-control-regex
51
+ /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,
52
+ ""
53
+ );
54
+
55
+ if (messages.length > 0) {
56
+ setResponse((prevResponse) => prevResponse + justText);
57
+
58
+ if (messageFetching) {
59
+ setFetchedMessages(response);
60
+
61
+ // @ts-ignore
62
+ setMessages((prev) => {
63
+ prev[prev.length - 1].message = response;
64
+ return [...prev];
65
+ });
66
+ }
67
+
68
+ // console.log(JSON.stringify(response));
69
+ }
70
+
71
+ // if no data is returned console log the message complete
72
+ if (result === "\n>") {
73
+ console.log("message complete");
74
+ }
75
+ });
76
+
77
+ socket.on("chatend", () => {
78
+ socket.emit("chatstart");
79
+ setDisableinput(false);
80
+ setMessageFetching(false);
81
+ });
82
+
83
+ return () => {
84
+ socket.off("response");
85
+ socket.off("chatend");
86
+ };
87
+ }, [messages]);
88
+
89
+ const askQuestion = (message: string) => {
90
+ const senderID = uuidv4();
91
+ const replyID = uuidv4();
92
+
93
+ setResponse("");
94
+
95
+ addMessage({
96
+ message: message,
97
+ user: true,
98
+ id: senderID,
99
+ });
100
+
101
+ socket.emit("message", message);
102
+
103
+ addMessage({
104
+ message: "",
105
+ user: false,
106
+ id: replyID,
107
+ replyId: senderID,
108
+ });
109
+ };
110
+
111
+ return (
112
+ <div>
113
+ <div
114
+ className="main_container"
115
+ style={{
116
+ width: "100%",
117
+ margin: "auto",
118
+ height: "100vh",
119
+ position: "relative",
120
+ overflowY: "hidden",
121
+ }}
122
+ >
123
+ {messages.length != 0 ? (
124
+ <div
125
+ style={{
126
+ height: "88%",
127
+ overflowY: "scroll",
128
+ width: "100%",
129
+ justifyContent: "center",
130
+ display: "flex",
131
+ }}
132
+ >
133
+ <div
134
+ style={{
135
+ width: "100%",
136
+ paddingTop: "10px",
137
+ }}
138
+ >
139
+ <Messages messages={messages} />
140
+ </div>
141
+ </div>
142
+ ) : (
143
+ <div
144
+ style={{
145
+ width: "100%",
146
+ justifyContent: "center",
147
+ alignItems: "center",
148
+ display: "flex",
149
+ }}
150
+ >
151
+ <div
152
+ style={{
153
+ width: "100%",
154
+ }}
155
+ className="initial_loader_wrapper"
156
+ >
157
+ <InitialLoader setInput={setInput} inputRef={inputRef} />
158
+ </div>
159
+ </div>
160
+ )}
161
+
162
+ <div
163
+ style={{
164
+ justifyContent: "center",
165
+ alignItems: "center",
166
+ display: "flex",
167
+ }}
168
+ >
169
+ <Input
170
+ askQuestion={askQuestion}
171
+ input={input}
172
+ setInput={setInput}
173
+ inputRef={inputRef}
174
+ socket={socket}
175
+ />
176
+ </div>
177
+ </div>
178
+ </div>
179
+ );
180
+ }
src/app/types/types.ts ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ export type MessageType = {
2
+ message: string;
3
+ user?: boolean;
4
+ image?: any;
5
+ id: string;
6
+ replyId?: string;
7
+ };
src/assets/react.svg ADDED
src/index.css ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
3
+ Arial, sans-serif;
4
+ margin: auto;
5
+ max-width: 60rem;
6
+ }
7
+
8
+ @font-face {
9
+ font-family: "Roboto";
10
+ src: url(Roboto-Regular.ttf);
11
+ }
12
+
13
+ * {
14
+ margin: 0;
15
+ padding: 0;
16
+ font-family: "Roboto", sans-serif;
17
+ line-break: auto;
18
+ }
19
+
20
+ body {
21
+ background-color: #343541;
22
+ color: #ffff;
23
+ height: 100vh;
24
+ width: 100vw;
25
+ }
26
+
27
+ *::-webkit-scrollbar {
28
+ display: none;
29
+ }
30
+
31
+ * {
32
+ -ms-overflow-style: none;
33
+ scrollbar-width: none;
34
+ }
35
+
36
+ .cursor {
37
+ width: 20px;
38
+ height: 25px;
39
+ background-color: rgb(232, 221, 221);
40
+ animation: blink 1.2s infinite;
41
+ }
42
+
43
+ @keyframes blink {
44
+ 50% {
45
+ opacity: 0;
46
+ }
47
+ }
48
+
49
+ @keyframes spin {
50
+ 0% {
51
+ transform: rotate(0deg);
52
+ }
53
+ 100% {
54
+ transform: rotate(360deg);
55
+ }
56
+ }
57
+
58
+ @media screen and (max-width: 1000px) {
59
+ .loader_columns {
60
+ flex-direction: column !important;
61
+ align-items: center;
62
+ }
63
+
64
+ .input_wrapper {
65
+ background-color: rgb(60, 59, 59);
66
+ width: 100% !important;
67
+ padding: 10px;
68
+ margin: 10px;
69
+ }
70
+ .initial_loader_wrapper {
71
+ width: 100% !important;
72
+ }
73
+
74
+ .messages_wrapper {
75
+ width: 98% !important;
76
+ }
77
+ }
78
+
79
+ @media screen and (max-width: 320px) {
80
+ .main_container {
81
+ width: 99% !important;
82
+ }
83
+
84
+ .input_wrapper {
85
+ background-color: rgb(60, 59, 59);
86
+ padding-top: 10px;
87
+ width: 100% !important;
88
+ }
89
+ .initial_loader_wrapper {
90
+ width: 100% !important;
91
+ }
92
+ .messages_wrapper {
93
+ width: 98% !important;
94
+ }
95
+ }
src/main.tsx ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import React from "react";
2
+ import ReactDOM from "react-dom/client";
3
+ import App from "./App";
4
+ import "./index.css";
5
+
6
+ ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
7
+ <React.StrictMode>
8
+ <App />
9
+ </React.StrictMode>
10
+ );
src/vite-env.d.ts ADDED
@@ -0,0 +1 @@
 
 
1
+ /// <reference types="vite/client" />
tsconfig.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
6
+ "allowJs": false,
7
+ "skipLibCheck": true,
8
+ "esModuleInterop": false,
9
+ "allowSyntheticDefaultImports": true,
10
+ "strict": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "module": "ESNext",
13
+ "moduleResolution": "Node",
14
+ "resolveJsonModule": true,
15
+ "isolatedModules": true,
16
+ "noEmit": true,
17
+ "jsx": "react-jsx"
18
+ },
19
+ "include": ["src"],
20
+ "references": [{ "path": "./tsconfig.node.json" }]
21
+ }
tsconfig.node.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "module": "ESNext",
5
+ "moduleResolution": "Node",
6
+ "allowSyntheticDefaultImports": true
7
+ },
8
+ "include": ["vite.config.ts"]
9
+ }
vite.config.ts ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { defineConfig } from "vite";
2
+ import react from "@vitejs/plugin-react";
3
+
4
+ // import express from "express";
5
+ // import apiRouter from "./server.js";
6
+
7
+ // // Define your Express routes here
8
+ // const app = express();
9
+ // app.use("/", apiRouter);
10
+
11
+ // https://vitejs.dev/config/
12
+ export default defineConfig({
13
+ plugins: [react()],
14
+ server: {
15
+ watch: {
16
+ usePolling: true,
17
+ },
18
+ host: true, // needed for the Docker Container port mapping to work
19
+ strictPort: true,
20
+ port: 9000, // you can replace this port with any port
21
+ },
22
+ });
yarn.lock ADDED
@@ -0,0 +1,1441 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ "@ampproject/remapping@^2.2.0":
6
+ version "2.2.1"
7
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
8
+ integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
9
+ dependencies:
10
+ "@jridgewell/gen-mapping" "^0.3.0"
11
+ "@jridgewell/trace-mapping" "^0.3.9"
12
+
13
+ "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4":
14
+ version "7.21.4"
15
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
16
+ integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
17
+ dependencies:
18
+ "@babel/highlight" "^7.18.6"
19
+
20
+ "@babel/compat-data@^7.21.4":
21
+ version "7.21.4"
22
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f"
23
+ integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==
24
+
25
+ "@babel/core@^7.20.12":
26
+ version "7.21.4"
27
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659"
28
+ integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==
29
+ dependencies:
30
+ "@ampproject/remapping" "^2.2.0"
31
+ "@babel/code-frame" "^7.21.4"
32
+ "@babel/generator" "^7.21.4"
33
+ "@babel/helper-compilation-targets" "^7.21.4"
34
+ "@babel/helper-module-transforms" "^7.21.2"
35
+ "@babel/helpers" "^7.21.0"
36
+ "@babel/parser" "^7.21.4"
37
+ "@babel/template" "^7.20.7"
38
+ "@babel/traverse" "^7.21.4"
39
+ "@babel/types" "^7.21.4"
40
+ convert-source-map "^1.7.0"
41
+ debug "^4.1.0"
42
+ gensync "^1.0.0-beta.2"
43
+ json5 "^2.2.2"
44
+ semver "^6.3.0"
45
+
46
+ "@babel/generator@^7.21.4":
47
+ version "7.21.4"
48
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc"
49
+ integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==
50
+ dependencies:
51
+ "@babel/types" "^7.21.4"
52
+ "@jridgewell/gen-mapping" "^0.3.2"
53
+ "@jridgewell/trace-mapping" "^0.3.17"
54
+ jsesc "^2.5.1"
55
+
56
+ "@babel/helper-compilation-targets@^7.21.4":
57
+ version "7.21.4"
58
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656"
59
+ integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==
60
+ dependencies:
61
+ "@babel/compat-data" "^7.21.4"
62
+ "@babel/helper-validator-option" "^7.21.0"
63
+ browserslist "^4.21.3"
64
+ lru-cache "^5.1.1"
65
+ semver "^6.3.0"
66
+
67
+ "@babel/helper-environment-visitor@^7.18.9":
68
+ version "7.18.9"
69
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
70
+ integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
71
+
72
+ "@babel/helper-function-name@^7.21.0":
73
+ version "7.21.0"
74
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
75
+ integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
76
+ dependencies:
77
+ "@babel/template" "^7.20.7"
78
+ "@babel/types" "^7.21.0"
79
+
80
+ "@babel/helper-hoist-variables@^7.18.6":
81
+ version "7.18.6"
82
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
83
+ integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
84
+ dependencies:
85
+ "@babel/types" "^7.18.6"
86
+
87
+ "@babel/helper-module-imports@^7.18.6":
88
+ version "7.21.4"
89
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af"
90
+ integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==
91
+ dependencies:
92
+ "@babel/types" "^7.21.4"
93
+
94
+ "@babel/helper-module-transforms@^7.21.2":
95
+ version "7.21.2"
96
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2"
97
+ integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==
98
+ dependencies:
99
+ "@babel/helper-environment-visitor" "^7.18.9"
100
+ "@babel/helper-module-imports" "^7.18.6"
101
+ "@babel/helper-simple-access" "^7.20.2"
102
+ "@babel/helper-split-export-declaration" "^7.18.6"
103
+ "@babel/helper-validator-identifier" "^7.19.1"
104
+ "@babel/template" "^7.20.7"
105
+ "@babel/traverse" "^7.21.2"
106
+ "@babel/types" "^7.21.2"
107
+
108
+ "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2":
109
+ version "7.20.2"
110
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
111
+ integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
112
+
113
+ "@babel/helper-simple-access@^7.20.2":
114
+ version "7.20.2"
115
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
116
+ integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==
117
+ dependencies:
118
+ "@babel/types" "^7.20.2"
119
+
120
+ "@babel/helper-split-export-declaration@^7.18.6":
121
+ version "7.18.6"
122
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
123
+ integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
124
+ dependencies:
125
+ "@babel/types" "^7.18.6"
126
+
127
+ "@babel/helper-string-parser@^7.19.4":
128
+ version "7.19.4"
129
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
130
+ integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
131
+
132
+ "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
133
+ version "7.19.1"
134
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
135
+ integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
136
+
137
+ "@babel/helper-validator-option@^7.21.0":
138
+ version "7.21.0"
139
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
140
+ integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==
141
+
142
+ "@babel/helpers@^7.21.0":
143
+ version "7.21.0"
144
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e"
145
+ integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==
146
+ dependencies:
147
+ "@babel/template" "^7.20.7"
148
+ "@babel/traverse" "^7.21.0"
149
+ "@babel/types" "^7.21.0"
150
+
151
+ "@babel/highlight@^7.18.6":
152
+ version "7.18.6"
153
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
154
+ integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
155
+ dependencies:
156
+ "@babel/helper-validator-identifier" "^7.18.6"
157
+ chalk "^2.0.0"
158
+ js-tokens "^4.0.0"
159
+
160
+ "@babel/parser@^7.20.7", "@babel/parser@^7.21.4":
161
+ version "7.21.4"
162
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
163
+ integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==
164
+
165
+ "@babel/plugin-transform-react-jsx-self@^7.18.6":
166
+ version "7.21.0"
167
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz#ec98d4a9baafc5a1eb398da4cf94afbb40254a54"
168
+ integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==
169
+ dependencies:
170
+ "@babel/helper-plugin-utils" "^7.20.2"
171
+
172
+ "@babel/plugin-transform-react-jsx-source@^7.19.6":
173
+ version "7.19.6"
174
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86"
175
+ integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==
176
+ dependencies:
177
+ "@babel/helper-plugin-utils" "^7.19.0"
178
+
179
+ "@babel/template@^7.20.7":
180
+ version "7.20.7"
181
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
182
+ integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
183
+ dependencies:
184
+ "@babel/code-frame" "^7.18.6"
185
+ "@babel/parser" "^7.20.7"
186
+ "@babel/types" "^7.20.7"
187
+
188
+ "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4":
189
+ version "7.21.4"
190
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36"
191
+ integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==
192
+ dependencies:
193
+ "@babel/code-frame" "^7.21.4"
194
+ "@babel/generator" "^7.21.4"
195
+ "@babel/helper-environment-visitor" "^7.18.9"
196
+ "@babel/helper-function-name" "^7.21.0"
197
+ "@babel/helper-hoist-variables" "^7.18.6"
198
+ "@babel/helper-split-export-declaration" "^7.18.6"
199
+ "@babel/parser" "^7.21.4"
200
+ "@babel/types" "^7.21.4"
201
+ debug "^4.1.0"
202
+ globals "^11.1.0"
203
+
204
+ "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4":
205
+ version "7.21.4"
206
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4"
207
+ integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==
208
+ dependencies:
209
+ "@babel/helper-string-parser" "^7.19.4"
210
+ "@babel/helper-validator-identifier" "^7.19.1"
211
+ to-fast-properties "^2.0.0"
212
+
213
+ "@esbuild/android-arm64@0.17.16":
214
+ version "0.17.16"
215
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz#7b18cab5f4d93e878306196eed26b6d960c12576"
216
+ integrity sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==
217
+
218
+ "@esbuild/android-arm@0.17.16":
219
+ version "0.17.16"
220
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.16.tgz#5c47f6a7c2cada6ed4b4d4e72d8c66e76d812812"
221
+ integrity sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==
222
+
223
+ "@esbuild/android-x64@0.17.16":
224
+ version "0.17.16"
225
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.16.tgz#8686a6e98359071ffd5312046551943e7244c51a"
226
+ integrity sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==
227
+
228
+ "@esbuild/darwin-arm64@0.17.16":
229
+ version "0.17.16"
230
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz#aa79fbf447630ca0696a596beba962a775bbf394"
231
+ integrity sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==
232
+
233
+ "@esbuild/darwin-x64@0.17.16":
234
+ version "0.17.16"
235
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz#d5d68ee510507104da7e7503224c647c957e163e"
236
+ integrity sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==
237
+
238
+ "@esbuild/freebsd-arm64@0.17.16":
239
+ version "0.17.16"
240
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz#b00b4cc8c2e424907cfe3a607384ab24794edd52"
241
+ integrity sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==
242
+
243
+ "@esbuild/freebsd-x64@0.17.16":
244
+ version "0.17.16"
245
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz#84af4430a07730b50bbc945a90cf7036c1853b76"
246
+ integrity sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==
247
+
248
+ "@esbuild/linux-arm64@0.17.16":
249
+ version "0.17.16"
250
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz#35571d15de6272c862d9ce6341372fb3cef0f266"
251
+ integrity sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==
252
+
253
+ "@esbuild/linux-arm@0.17.16":
254
+ version "0.17.16"
255
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz#b65c7cd5b0eadd08f91aab66b9dda81b6a4b2a70"
256
+ integrity sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==
257
+
258
+ "@esbuild/linux-ia32@0.17.16":
259
+ version "0.17.16"
260
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz#673a68cb251ce44a00a6422ada29064c5a1cd2c0"
261
+ integrity sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==
262
+
263
+ "@esbuild/linux-loong64@0.17.16":
264
+ version "0.17.16"
265
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz#477e2da34ab46ffdbf4740fa6441e80045249385"
266
+ integrity sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==
267
+
268
+ "@esbuild/linux-mips64el@0.17.16":
269
+ version "0.17.16"
270
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz#e1e9687bbdaa831d7c34edc9278200982c1a4bf4"
271
+ integrity sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==
272
+
273
+ "@esbuild/linux-ppc64@0.17.16":
274
+ version "0.17.16"
275
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz#2f19075d63622987e86e83a4b7866cd57b796c60"
276
+ integrity sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==
277
+
278
+ "@esbuild/linux-riscv64@0.17.16":
279
+ version "0.17.16"
280
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz#bbf40a38f03ba2434fe69b5ceeec5d13c742b329"
281
+ integrity sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==
282
+
283
+ "@esbuild/linux-s390x@0.17.16":
284
+ version "0.17.16"
285
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz#d2b8c0779ccd2b7917cdf0fab8831a468e0f9c01"
286
+ integrity sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==
287
+
288
+ "@esbuild/linux-x64@0.17.16":
289
+ version "0.17.16"
290
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz#da48b39cfdc1b12a74976625f583f031eac43590"
291
+ integrity sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==
292
+
293
+ "@esbuild/netbsd-x64@0.17.16":
294
+ version "0.17.16"
295
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz#ddef985aed37cc81908d2573b66c0299dbc49037"
296
+ integrity sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==
297
+
298
+ "@esbuild/openbsd-x64@0.17.16":
299
+ version "0.17.16"
300
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz#85035bf89efd66e9068bc72aa6bb85a2c317d090"
301
+ integrity sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==
302
+
303
+ "@esbuild/sunos-x64@0.17.16":
304
+ version "0.17.16"
305
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz#16338ecab854cb2d831cc9ee9cc21ef69566e1f3"
306
+ integrity sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==
307
+
308
+ "@esbuild/win32-arm64@0.17.16":
309
+ version "0.17.16"
310
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz#423f46bb744aff897a5f74435469e1ef4952e343"
311
+ integrity sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==
312
+
313
+ "@esbuild/win32-ia32@0.17.16":
314
+ version "0.17.16"
315
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz#1978be5b192c7063bd2c8d5960eb213e1964740e"
316
+ integrity sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==
317
+
318
+ "@esbuild/win32-x64@0.17.16":
319
+ version "0.17.16"
320
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz#260f19b0a3300d22c3a3f52722c671dc561edaa3"
321
+ integrity sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==
322
+
323
+ "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
324
+ version "0.3.3"
325
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
326
+ integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
327
+ dependencies:
328
+ "@jridgewell/set-array" "^1.0.1"
329
+ "@jridgewell/sourcemap-codec" "^1.4.10"
330
+ "@jridgewell/trace-mapping" "^0.3.9"
331
+
332
+ "@jridgewell/resolve-uri@3.1.0":
333
+ version "3.1.0"
334
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
335
+ integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
336
+
337
+ "@jridgewell/set-array@^1.0.1":
338
+ version "1.1.2"
339
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
340
+ integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
341
+
342
+ "@jridgewell/sourcemap-codec@1.4.14":
343
+ version "1.4.14"
344
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
345
+ integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
346
+
347
+ "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
348
+ version "1.4.15"
349
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
350
+ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
351
+
352
+ "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
353
+ version "0.3.18"
354
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
355
+ integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
356
+ dependencies:
357
+ "@jridgewell/resolve-uri" "3.1.0"
358
+ "@jridgewell/sourcemap-codec" "1.4.14"
359
+
360
+ "@socket.io/component-emitter@~3.1.0":
361
+ version "3.1.0"
362
+ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553"
363
+ integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==
364
+
365
+ "@types/cookie@^0.4.1":
366
+ version "0.4.1"
367
+ resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
368
+ integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
369
+
370
+ "@types/cors@^2.8.12":
371
+ version "2.8.13"
372
+ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94"
373
+ integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==
374
+ dependencies:
375
+ "@types/node" "*"
376
+
377
+ "@types/node@*", "@types/node@>=10.0.0":
378
+ version "18.15.11"
379
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
380
+ integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
381
+
382
+ "@types/prop-types@*":
383
+ version "15.7.5"
384
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
385
+ integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
386
+
387
+ "@types/react-dom@^18.0.11":
388
+ version "18.0.11"
389
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33"
390
+ integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==
391
+ dependencies:
392
+ "@types/react" "*"
393
+
394
+ "@types/react@*", "@types/react@^18.0.28":
395
+ version "18.0.35"
396
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.35.tgz#192061cb1044fe01f2d3a94272cd35dd50502741"
397
+ integrity sha512-6Laome31HpetaIUGFWl1VQ3mdSImwxtFZ39rh059a1MNnKGqBpC88J6NJ8n/Is3Qx7CefDGLgf/KhN/sYCf7ag==
398
+ dependencies:
399
+ "@types/prop-types" "*"
400
+ "@types/scheduler" "*"
401
+ csstype "^3.0.2"
402
+
403
+ "@types/scheduler@*":
404
+ version "0.16.3"
405
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
406
+ integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
407
+
408
+ "@types/uuid@^9.0.1":
409
+ version "9.0.1"
410
+ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.1.tgz#98586dc36aee8dacc98cc396dbca8d0429647aa6"
411
+ integrity sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==
412
+
413
+ "@vitejs/plugin-react@^3.1.0":
414
+ version "3.1.0"
415
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240"
416
+ integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==
417
+ dependencies:
418
+ "@babel/core" "^7.20.12"
419
+ "@babel/plugin-transform-react-jsx-self" "^7.18.6"
420
+ "@babel/plugin-transform-react-jsx-source" "^7.19.6"
421
+ magic-string "^0.27.0"
422
+ react-refresh "^0.14.0"
423
+
424
+ accepts@~1.3.4, accepts@~1.3.8:
425
+ version "1.3.8"
426
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
427
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
428
+ dependencies:
429
+ mime-types "~2.1.34"
430
+ negotiator "0.6.3"
431
+
432
+ ansi-regex@^5.0.1:
433
+ version "5.0.1"
434
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
435
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
436
+
437
+ ansi-styles@^3.2.1:
438
+ version "3.2.1"
439
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
440
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
441
+ dependencies:
442
+ color-convert "^1.9.0"
443
+
444
+ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
445
+ version "4.3.0"
446
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
447
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
448
+ dependencies:
449
+ color-convert "^2.0.1"
450
+
451
+ array-flatten@1.1.1:
452
+ version "1.1.1"
453
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
454
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
455
+
456
+ base64id@2.0.0, base64id@~2.0.0:
457
+ version "2.0.0"
458
+ resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
459
+ integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
460
+
461
+ body-parser@1.20.1:
462
+ version "1.20.1"
463
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
464
+ integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
465
+ dependencies:
466
+ bytes "3.1.2"
467
+ content-type "~1.0.4"
468
+ debug "2.6.9"
469
+ depd "2.0.0"
470
+ destroy "1.2.0"
471
+ http-errors "2.0.0"
472
+ iconv-lite "0.4.24"
473
+ on-finished "2.4.1"
474
+ qs "6.11.0"
475
+ raw-body "2.5.1"
476
+ type-is "~1.6.18"
477
+ unpipe "1.0.0"
478
+
479
+ browserslist@^4.21.3:
480
+ version "4.21.5"
481
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
482
+ integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==
483
+ dependencies:
484
+ caniuse-lite "^1.0.30001449"
485
+ electron-to-chromium "^1.4.284"
486
+ node-releases "^2.0.8"
487
+ update-browserslist-db "^1.0.10"
488
+
489
+ bytes@3.1.2:
490
+ version "3.1.2"
491
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
492
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
493
+
494
+ call-bind@^1.0.0:
495
+ version "1.0.2"
496
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
497
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
498
+ dependencies:
499
+ function-bind "^1.1.1"
500
+ get-intrinsic "^1.0.2"
501
+
502
+ caniuse-lite@^1.0.30001449:
503
+ version "1.0.30001478"
504
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz#0ef8a1cf8b16be47a0f9fc4ecfc952232724b32a"
505
+ integrity sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==
506
+
507
+ chalk@^2.0.0:
508
+ version "2.4.2"
509
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
510
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
511
+ dependencies:
512
+ ansi-styles "^3.2.1"
513
+ escape-string-regexp "^1.0.5"
514
+ supports-color "^5.3.0"
515
+
516
+ chalk@^4.1.2:
517
+ version "4.1.2"
518
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
519
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
520
+ dependencies:
521
+ ansi-styles "^4.1.0"
522
+ supports-color "^7.1.0"
523
+
524
+ cliui@^8.0.1:
525
+ version "8.0.1"
526
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
527
+ integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
528
+ dependencies:
529
+ string-width "^4.2.0"
530
+ strip-ansi "^6.0.1"
531
+ wrap-ansi "^7.0.0"
532
+
533
+ color-convert@^1.9.0:
534
+ version "1.9.3"
535
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
536
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
537
+ dependencies:
538
+ color-name "1.1.3"
539
+
540
+ color-convert@^2.0.1:
541
+ version "2.0.1"
542
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
543
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
544
+ dependencies:
545
+ color-name "~1.1.4"
546
+
547
+ color-name@1.1.3:
548
+ version "1.1.3"
549
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
550
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
551
+
552
+ color-name@~1.1.4:
553
+ version "1.1.4"
554
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
555
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
556
+
557
+ concurrently@^8.0.1:
558
+ version "8.0.1"
559
+ resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.0.1.tgz#80c0591920a9fa3e68ba0dd8aa6eac8487eb904c"
560
+ integrity sha512-Sh8bGQMEL0TAmAm2meAXMjcASHZa7V0xXQVDBLknCPa9TPtkY9yYs+0cnGGgfdkW0SV1Mlg+hVGfXcoI8d3MJA==
561
+ dependencies:
562
+ chalk "^4.1.2"
563
+ date-fns "^2.29.3"
564
+ lodash "^4.17.21"
565
+ rxjs "^7.8.0"
566
+ shell-quote "^1.8.0"
567
+ spawn-command "0.0.2-1"
568
+ supports-color "^8.1.1"
569
+ tree-kill "^1.2.2"
570
+ yargs "^17.7.1"
571
+
572
+ content-disposition@0.5.4:
573
+ version "0.5.4"
574
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
575
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
576
+ dependencies:
577
+ safe-buffer "5.2.1"
578
+
579
+ content-type@~1.0.4:
580
+ version "1.0.5"
581
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
582
+ integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
583
+
584
+ convert-source-map@^1.7.0:
585
+ version "1.9.0"
586
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
587
+ integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
588
+
589
+ cookie-signature@1.0.6:
590
+ version "1.0.6"
591
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
592
+ integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
593
+
594
+ cookie@0.5.0:
595
+ version "0.5.0"
596
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
597
+ integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
598
+
599
+ cookie@~0.4.1:
600
+ version "0.4.2"
601
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
602
+ integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
603
+
604
+ cors@^2.8.5, cors@~2.8.5:
605
+ version "2.8.5"
606
+ resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
607
+ integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
608
+ dependencies:
609
+ object-assign "^4"
610
+ vary "^1"
611
+
612
+ csstype@^3.0.2:
613
+ version "3.1.2"
614
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
615
+ integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
616
+
617
+ date-fns@^2.29.3:
618
+ version "2.29.3"
619
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8"
620
+ integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==
621
+
622
+ debug@2.6.9:
623
+ version "2.6.9"
624
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
625
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
626
+ dependencies:
627
+ ms "2.0.0"
628
+
629
+ debug@^4.1.0, debug@~4.3.1, debug@~4.3.2:
630
+ version "4.3.4"
631
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
632
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
633
+ dependencies:
634
+ ms "2.1.2"
635
+
636
+ depd@2.0.0:
637
+ version "2.0.0"
638
+ resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
639
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
640
+
641
+ destroy@1.2.0:
642
+ version "1.2.0"
643
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
644
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
645
+
646
+ dom-walk@^0.1.0:
647
+ version "0.1.2"
648
+ resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
649
+ integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
650
+
651
+ ee-first@1.1.1:
652
+ version "1.1.1"
653
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
654
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
655
+
656
+ electron-to-chromium@^1.4.284:
657
+ version "1.4.365"
658
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.365.tgz#ccd9e352d4493aa288d87e6ea36f3edf350c045e"
659
+ integrity sha512-FRHZO+1tUNO4TOPXmlxetkoaIY8uwHzd1kKopK/Gx2SKn1L47wJXWD44wxP5CGRyyP98z/c8e1eBzJrgPeiBOg==
660
+
661
+ emoji-regex@^8.0.0:
662
+ version "8.0.0"
663
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
664
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
665
+
666
+ encodeurl@~1.0.2:
667
+ version "1.0.2"
668
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
669
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
670
+
671
+ engine.io-client@~6.4.0:
672
+ version "6.4.0"
673
+ resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.4.0.tgz#88cd3082609ca86d7d3c12f0e746d12db4f47c91"
674
+ integrity sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==
675
+ dependencies:
676
+ "@socket.io/component-emitter" "~3.1.0"
677
+ debug "~4.3.1"
678
+ engine.io-parser "~5.0.3"
679
+ ws "~8.11.0"
680
+ xmlhttprequest-ssl "~2.0.0"
681
+
682
+ engine.io-parser@~5.0.3:
683
+ version "5.0.6"
684
+ resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45"
685
+ integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==
686
+
687
+ engine.io@~6.4.1:
688
+ version "6.4.1"
689
+ resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.4.1.tgz#8056b4526a88e779f9c280d820422d4e3eeaaae5"
690
+ integrity sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==
691
+ dependencies:
692
+ "@types/cookie" "^0.4.1"
693
+ "@types/cors" "^2.8.12"
694
+ "@types/node" ">=10.0.0"
695
+ accepts "~1.3.4"
696
+ base64id "2.0.0"
697
+ cookie "~0.4.1"
698
+ cors "~2.8.5"
699
+ debug "~4.3.1"
700
+ engine.io-parser "~5.0.3"
701
+ ws "~8.11.0"
702
+
703
+ esbuild@^0.17.5:
704
+ version "0.17.16"
705
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.16.tgz#5efec24a8ff29e0c157359f27e1b5532a728b720"
706
+ integrity sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==
707
+ optionalDependencies:
708
+ "@esbuild/android-arm" "0.17.16"
709
+ "@esbuild/android-arm64" "0.17.16"
710
+ "@esbuild/android-x64" "0.17.16"
711
+ "@esbuild/darwin-arm64" "0.17.16"
712
+ "@esbuild/darwin-x64" "0.17.16"
713
+ "@esbuild/freebsd-arm64" "0.17.16"
714
+ "@esbuild/freebsd-x64" "0.17.16"
715
+ "@esbuild/linux-arm" "0.17.16"
716
+ "@esbuild/linux-arm64" "0.17.16"
717
+ "@esbuild/linux-ia32" "0.17.16"
718
+ "@esbuild/linux-loong64" "0.17.16"
719
+ "@esbuild/linux-mips64el" "0.17.16"
720
+ "@esbuild/linux-ppc64" "0.17.16"
721
+ "@esbuild/linux-riscv64" "0.17.16"
722
+ "@esbuild/linux-s390x" "0.17.16"
723
+ "@esbuild/linux-x64" "0.17.16"
724
+ "@esbuild/netbsd-x64" "0.17.16"
725
+ "@esbuild/openbsd-x64" "0.17.16"
726
+ "@esbuild/sunos-x64" "0.17.16"
727
+ "@esbuild/win32-arm64" "0.17.16"
728
+ "@esbuild/win32-ia32" "0.17.16"
729
+ "@esbuild/win32-x64" "0.17.16"
730
+
731
+ escalade@^3.1.1:
732
+ version "3.1.1"
733
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
734
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
735
+
736
+ escape-html@~1.0.3:
737
+ version "1.0.3"
738
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
739
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
740
+
741
+ escape-string-regexp@^1.0.5:
742
+ version "1.0.5"
743
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
744
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
745
+
746
+ etag@~1.8.1:
747
+ version "1.8.1"
748
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
749
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
750
+
751
+ express@^4.18.2:
752
+ version "4.18.2"
753
+ resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
754
+ integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
755
+ dependencies:
756
+ accepts "~1.3.8"
757
+ array-flatten "1.1.1"
758
+ body-parser "1.20.1"
759
+ content-disposition "0.5.4"
760
+ content-type "~1.0.4"
761
+ cookie "0.5.0"
762
+ cookie-signature "1.0.6"
763
+ debug "2.6.9"
764
+ depd "2.0.0"
765
+ encodeurl "~1.0.2"
766
+ escape-html "~1.0.3"
767
+ etag "~1.8.1"
768
+ finalhandler "1.2.0"
769
+ fresh "0.5.2"
770
+ http-errors "2.0.0"
771
+ merge-descriptors "1.0.1"
772
+ methods "~1.1.2"
773
+ on-finished "2.4.1"
774
+ parseurl "~1.3.3"
775
+ path-to-regexp "0.1.7"
776
+ proxy-addr "~2.0.7"
777
+ qs "6.11.0"
778
+ range-parser "~1.2.1"
779
+ safe-buffer "5.2.1"
780
+ send "0.18.0"
781
+ serve-static "1.15.0"
782
+ setprototypeof "1.2.0"
783
+ statuses "2.0.1"
784
+ type-is "~1.6.18"
785
+ utils-merge "1.0.1"
786
+ vary "~1.1.2"
787
+
788
+ finalhandler@1.2.0:
789
+ version "1.2.0"
790
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
791
+ integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
792
+ dependencies:
793
+ debug "2.6.9"
794
+ encodeurl "~1.0.2"
795
+ escape-html "~1.0.3"
796
+ on-finished "2.4.1"
797
+ parseurl "~1.3.3"
798
+ statuses "2.0.1"
799
+ unpipe "~1.0.0"
800
+
801
+ forwarded@0.2.0:
802
+ version "0.2.0"
803
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
804
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
805
+
806
+ fresh@0.5.2:
807
+ version "0.5.2"
808
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
809
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
810
+
811
+ fsevents@~2.3.2:
812
+ version "2.3.2"
813
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
814
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
815
+
816
+ function-bind@^1.1.1:
817
+ version "1.1.1"
818
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
819
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
820
+
821
+ gensync@^1.0.0-beta.2:
822
+ version "1.0.0-beta.2"
823
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
824
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
825
+
826
+ get-caller-file@^2.0.5:
827
+ version "2.0.5"
828
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
829
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
830
+
831
+ get-intrinsic@^1.0.2:
832
+ version "1.2.0"
833
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
834
+ integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
835
+ dependencies:
836
+ function-bind "^1.1.1"
837
+ has "^1.0.3"
838
+ has-symbols "^1.0.3"
839
+
840
+ global@^4.4.0:
841
+ version "4.4.0"
842
+ resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
843
+ integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
844
+ dependencies:
845
+ min-document "^2.19.0"
846
+ process "^0.11.10"
847
+
848
+ globals@^11.1.0:
849
+ version "11.12.0"
850
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
851
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
852
+
853
+ has-flag@^3.0.0:
854
+ version "3.0.0"
855
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
856
+ integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
857
+
858
+ has-flag@^4.0.0:
859
+ version "4.0.0"
860
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
861
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
862
+
863
+ has-symbols@^1.0.3:
864
+ version "1.0.3"
865
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
866
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
867
+
868
+ has@^1.0.3:
869
+ version "1.0.3"
870
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
871
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
872
+ dependencies:
873
+ function-bind "^1.1.1"
874
+
875
+ http-errors@2.0.0:
876
+ version "2.0.0"
877
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
878
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
879
+ dependencies:
880
+ depd "2.0.0"
881
+ inherits "2.0.4"
882
+ setprototypeof "1.2.0"
883
+ statuses "2.0.1"
884
+ toidentifier "1.0.1"
885
+
886
+ http@^0.0.1-security:
887
+ version "0.0.1-security"
888
+ resolved "https://registry.yarnpkg.com/http/-/http-0.0.1-security.tgz#3aac09129d12dc2747bbce4157afde20ad1f7995"
889
+ integrity sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==
890
+
891
+ iconv-lite@0.4.24:
892
+ version "0.4.24"
893
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
894
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
895
+ dependencies:
896
+ safer-buffer ">= 2.1.2 < 3"
897
+
898
+ inherits@2.0.4:
899
+ version "2.0.4"
900
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
901
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
902
+
903
+ ipaddr.js@1.9.1:
904
+ version "1.9.1"
905
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
906
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
907
+
908
+ is-core-module@^2.12.0:
909
+ version "2.12.0"
910
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4"
911
+ integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==
912
+ dependencies:
913
+ has "^1.0.3"
914
+
915
+ is-fullwidth-code-point@^3.0.0:
916
+ version "3.0.0"
917
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
918
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
919
+
920
+ "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
921
+ version "4.0.0"
922
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
923
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
924
+
925
+ jsesc@^2.5.1:
926
+ version "2.5.2"
927
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
928
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
929
+
930
+ json5@^2.2.2:
931
+ version "2.2.3"
932
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
933
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
934
+
935
+ lodash@^4.17.21:
936
+ version "4.17.21"
937
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
938
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
939
+
940
+ loose-envify@^1.1.0:
941
+ version "1.4.0"
942
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
943
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
944
+ dependencies:
945
+ js-tokens "^3.0.0 || ^4.0.0"
946
+
947
+ lru-cache@^5.1.1:
948
+ version "5.1.1"
949
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
950
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
951
+ dependencies:
952
+ yallist "^3.0.2"
953
+
954
+ magic-string@^0.27.0:
955
+ version "0.27.0"
956
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
957
+ integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
958
+ dependencies:
959
+ "@jridgewell/sourcemap-codec" "^1.4.13"
960
+
961
+ media-typer@0.3.0:
962
+ version "0.3.0"
963
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
964
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
965
+
966
+ merge-descriptors@1.0.1:
967
+ version "1.0.1"
968
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
969
+ integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
970
+
971
+ methods@~1.1.2:
972
+ version "1.1.2"
973
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
974
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
975
+
976
+ mime-db@1.52.0:
977
+ version "1.52.0"
978
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
979
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
980
+
981
+ mime-types@~2.1.24, mime-types@~2.1.34:
982
+ version "2.1.35"
983
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
984
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
985
+ dependencies:
986
+ mime-db "1.52.0"
987
+
988
+ mime@1.6.0:
989
+ version "1.6.0"
990
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
991
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
992
+
993
+ min-document@^2.19.0:
994
+ version "2.19.0"
995
+ resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
996
+ integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==
997
+ dependencies:
998
+ dom-walk "^0.1.0"
999
+
1000
+ ms@2.0.0:
1001
+ version "2.0.0"
1002
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1003
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
1004
+
1005
+ ms@2.1.2:
1006
+ version "2.1.2"
1007
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1008
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1009
+
1010
+ ms@2.1.3:
1011
+ version "2.1.3"
1012
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
1013
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1014
+
1015
+ nanoid@^3.3.4:
1016
+ version "3.3.6"
1017
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
1018
+ integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
1019
+
1020
+ negotiator@0.6.3:
1021
+ version "0.6.3"
1022
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
1023
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
1024
+
1025
+ node-releases@^2.0.8:
1026
+ version "2.0.10"
1027
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
1028
+ integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==
1029
+
1030
+ object-assign@^4:
1031
+ version "4.1.1"
1032
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1033
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
1034
+
1035
+ object-inspect@^1.9.0:
1036
+ version "1.12.3"
1037
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
1038
+ integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
1039
+
1040
+ on-finished@2.4.1:
1041
+ version "2.4.1"
1042
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
1043
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
1044
+ dependencies:
1045
+ ee-first "1.1.1"
1046
+
1047
+ parseurl@~1.3.3:
1048
+ version "1.3.3"
1049
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
1050
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
1051
+
1052
+ path-parse@^1.0.7:
1053
+ version "1.0.7"
1054
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1055
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1056
+
1057
+ path-to-regexp@0.1.7:
1058
+ version "0.1.7"
1059
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
1060
+ integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
1061
+
1062
+ picocolors@^1.0.0:
1063
+ version "1.0.0"
1064
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1065
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1066
+
1067
+ postcss@^8.4.21:
1068
+ version "8.4.21"
1069
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
1070
+ integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
1071
+ dependencies:
1072
+ nanoid "^3.3.4"
1073
+ picocolors "^1.0.0"
1074
+ source-map-js "^1.0.2"
1075
+
1076
+ process@^0.11.10:
1077
+ version "0.11.10"
1078
+ resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
1079
+ integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
1080
+
1081
+ proxy-addr@~2.0.7:
1082
+ version "2.0.7"
1083
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
1084
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
1085
+ dependencies:
1086
+ forwarded "0.2.0"
1087
+ ipaddr.js "1.9.1"
1088
+
1089
+ qs@6.11.0:
1090
+ version "6.11.0"
1091
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
1092
+ integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
1093
+ dependencies:
1094
+ side-channel "^1.0.4"
1095
+
1096
+ range-parser@~1.2.1:
1097
+ version "1.2.1"
1098
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
1099
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
1100
+
1101
+ raw-body@2.5.1:
1102
+ version "2.5.1"
1103
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
1104
+ integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
1105
+ dependencies:
1106
+ bytes "3.1.2"
1107
+ http-errors "2.0.0"
1108
+ iconv-lite "0.4.24"
1109
+ unpipe "1.0.0"
1110
+
1111
+ react-dom@^18.2.0:
1112
+ version "18.2.0"
1113
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
1114
+ integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
1115
+ dependencies:
1116
+ loose-envify "^1.1.0"
1117
+ scheduler "^0.23.0"
1118
+
1119
+ react-refresh@^0.14.0:
1120
+ version "0.14.0"
1121
+ resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
1122
+ integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
1123
+
1124
+ react@^18.2.0:
1125
+ version "18.2.0"
1126
+ resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
1127
+ integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
1128
+ dependencies:
1129
+ loose-envify "^1.1.0"
1130
+
1131
+ require-directory@^2.1.1:
1132
+ version "2.1.1"
1133
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1134
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
1135
+
1136
+ resolve@^1.22.1:
1137
+ version "1.22.3"
1138
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283"
1139
+ integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==
1140
+ dependencies:
1141
+ is-core-module "^2.12.0"
1142
+ path-parse "^1.0.7"
1143
+ supports-preserve-symlinks-flag "^1.0.0"
1144
+
1145
+ rollup@^3.18.0:
1146
+ version "3.20.2"
1147
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.20.2.tgz#f798c600317f216de2e4ad9f4d9ab30a89b690ff"
1148
+ integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==
1149
+ optionalDependencies:
1150
+ fsevents "~2.3.2"
1151
+
1152
+ rxjs@^7.8.0:
1153
+ version "7.8.0"
1154
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
1155
+ integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
1156
+ dependencies:
1157
+ tslib "^2.1.0"
1158
+
1159
+ safe-buffer@5.2.1:
1160
+ version "5.2.1"
1161
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
1162
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
1163
+
1164
+ "safer-buffer@>= 2.1.2 < 3":
1165
+ version "2.1.2"
1166
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1167
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1168
+
1169
+ scheduler@^0.23.0:
1170
+ version "0.23.0"
1171
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
1172
+ integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
1173
+ dependencies:
1174
+ loose-envify "^1.1.0"
1175
+
1176
+ semver@^6.3.0:
1177
+ version "6.3.0"
1178
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1179
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1180
+
1181
+ send@0.18.0:
1182
+ version "0.18.0"
1183
+ resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
1184
+ integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
1185
+ dependencies:
1186
+ debug "2.6.9"
1187
+ depd "2.0.0"
1188
+ destroy "1.2.0"
1189
+ encodeurl "~1.0.2"
1190
+ escape-html "~1.0.3"
1191
+ etag "~1.8.1"
1192
+ fresh "0.5.2"
1193
+ http-errors "2.0.0"
1194
+ mime "1.6.0"
1195
+ ms "2.1.3"
1196
+ on-finished "2.4.1"
1197
+ range-parser "~1.2.1"
1198
+ statuses "2.0.1"
1199
+
1200
+ serve-static@1.15.0:
1201
+ version "1.15.0"
1202
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
1203
+ integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
1204
+ dependencies:
1205
+ encodeurl "~1.0.2"
1206
+ escape-html "~1.0.3"
1207
+ parseurl "~1.3.3"
1208
+ send "0.18.0"
1209
+
1210
+ setprototypeof@1.2.0:
1211
+ version "1.2.0"
1212
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
1213
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
1214
+
1215
+ shell-quote@^1.8.0:
1216
+ version "1.8.1"
1217
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680"
1218
+ integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==
1219
+
1220
+ side-channel@^1.0.4:
1221
+ version "1.0.4"
1222
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1223
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
1224
+ dependencies:
1225
+ call-bind "^1.0.0"
1226
+ get-intrinsic "^1.0.2"
1227
+ object-inspect "^1.9.0"
1228
+
1229
+ socket.io-adapter@~2.5.2:
1230
+ version "2.5.2"
1231
+ resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12"
1232
+ integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==
1233
+ dependencies:
1234
+ ws "~8.11.0"
1235
+
1236
+ socket.io-client@^4.6.1:
1237
+ version "4.6.1"
1238
+ resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.6.1.tgz#80d97d5eb0feca448a0fb6d69a7b222d3d547eab"
1239
+ integrity sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==
1240
+ dependencies:
1241
+ "@socket.io/component-emitter" "~3.1.0"
1242
+ debug "~4.3.2"
1243
+ engine.io-client "~6.4.0"
1244
+ socket.io-parser "~4.2.1"
1245
+
1246
+ socket.io-parser@~4.2.1:
1247
+ version "4.2.2"
1248
+ resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.2.tgz#1dd384019e25b7a3d374877f492ab34f2ad0d206"
1249
+ integrity sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==
1250
+ dependencies:
1251
+ "@socket.io/component-emitter" "~3.1.0"
1252
+ debug "~4.3.1"
1253
+
1254
+ socket.io@^4.6.1:
1255
+ version "4.6.1"
1256
+ resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.6.1.tgz#62ec117e5fce0692fa50498da9347cfb52c3bc70"
1257
+ integrity sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==
1258
+ dependencies:
1259
+ accepts "~1.3.4"
1260
+ base64id "~2.0.0"
1261
+ debug "~4.3.2"
1262
+ engine.io "~6.4.1"
1263
+ socket.io-adapter "~2.5.2"
1264
+ socket.io-parser "~4.2.1"
1265
+
1266
+ source-map-js@^1.0.2:
1267
+ version "1.0.2"
1268
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1269
+ integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1270
+
1271
+ spawn-command@0.0.2-1:
1272
+ version "0.0.2-1"
1273
+ resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0"
1274
+ integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==
1275
+
1276
+ statuses@2.0.1:
1277
+ version "2.0.1"
1278
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
1279
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
1280
+
1281
+ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
1282
+ version "4.2.3"
1283
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1284
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1285
+ dependencies:
1286
+ emoji-regex "^8.0.0"
1287
+ is-fullwidth-code-point "^3.0.0"
1288
+ strip-ansi "^6.0.1"
1289
+
1290
+ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1291
+ version "6.0.1"
1292
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1293
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1294
+ dependencies:
1295
+ ansi-regex "^5.0.1"
1296
+
1297
+ supports-color@^5.3.0:
1298
+ version "5.5.0"
1299
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1300
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1301
+ dependencies:
1302
+ has-flag "^3.0.0"
1303
+
1304
+ supports-color@^7.1.0:
1305
+ version "7.2.0"
1306
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1307
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1308
+ dependencies:
1309
+ has-flag "^4.0.0"
1310
+
1311
+ supports-color@^8.1.1:
1312
+ version "8.1.1"
1313
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
1314
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
1315
+ dependencies:
1316
+ has-flag "^4.0.0"
1317
+
1318
+ supports-preserve-symlinks-flag@^1.0.0:
1319
+ version "1.0.0"
1320
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1321
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1322
+
1323
+ to-fast-properties@^2.0.0:
1324
+ version "2.0.0"
1325
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1326
+ integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1327
+
1328
+ toidentifier@1.0.1:
1329
+ version "1.0.1"
1330
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
1331
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
1332
+
1333
+ tree-kill@^1.2.2:
1334
+ version "1.2.2"
1335
+ resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
1336
+ integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
1337
+
1338
+ tslib@^2.1.0:
1339
+ version "2.5.0"
1340
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
1341
+ integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
1342
+
1343
+ type-is@~1.6.18:
1344
+ version "1.6.18"
1345
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
1346
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
1347
+ dependencies:
1348
+ media-typer "0.3.0"
1349
+ mime-types "~2.1.24"
1350
+
1351
+ typescript@^4.9.3:
1352
+ version "4.9.5"
1353
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
1354
+ integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
1355
+
1356
+ unpipe@1.0.0, unpipe@~1.0.0:
1357
+ version "1.0.0"
1358
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
1359
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
1360
+
1361
+ update-browserslist-db@^1.0.10:
1362
+ version "1.0.11"
1363
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
1364
+ integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
1365
+ dependencies:
1366
+ escalade "^3.1.1"
1367
+ picocolors "^1.0.0"
1368
+
1369
+ utils-merge@1.0.1:
1370
+ version "1.0.1"
1371
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
1372
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
1373
+
1374
+ uuid@^9.0.0:
1375
+ version "9.0.0"
1376
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
1377
+ integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
1378
+
1379
+ vary@^1, vary@~1.1.2:
1380
+ version "1.1.2"
1381
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
1382
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
1383
+
1384
+ vite@^4.2.0:
1385
+ version "4.2.1"
1386
+ resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.1.tgz#6c2eb337b0dfd80a9ded5922163b94949d7fc254"
1387
+ integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==
1388
+ dependencies:
1389
+ esbuild "^0.17.5"
1390
+ postcss "^8.4.21"
1391
+ resolve "^1.22.1"
1392
+ rollup "^3.18.0"
1393
+ optionalDependencies:
1394
+ fsevents "~2.3.2"
1395
+
1396
+ wrap-ansi@^7.0.0:
1397
+ version "7.0.0"
1398
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1399
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
1400
+ dependencies:
1401
+ ansi-styles "^4.0.0"
1402
+ string-width "^4.1.0"
1403
+ strip-ansi "^6.0.0"
1404
+
1405
+ ws@~8.11.0:
1406
+ version "8.11.0"
1407
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
1408
+ integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
1409
+
1410
+ xmlhttprequest-ssl@~2.0.0:
1411
+ version "2.0.0"
1412
+ resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67"
1413
+ integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==
1414
+
1415
+ y18n@^5.0.5:
1416
+ version "5.0.8"
1417
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
1418
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
1419
+
1420
+ yallist@^3.0.2:
1421
+ version "3.1.1"
1422
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
1423
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
1424
+
1425
+ yargs-parser@^21.1.1:
1426
+ version "21.1.1"
1427
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
1428
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
1429
+
1430
+ yargs@^17.7.1:
1431
+ version "17.7.1"
1432
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967"
1433
+ integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==
1434
+ dependencies:
1435
+ cliui "^8.0.1"
1436
+ escalade "^3.1.1"
1437
+ get-caller-file "^2.0.5"
1438
+ require-directory "^2.1.1"
1439
+ string-width "^4.2.3"
1440
+ y18n "^5.0.5"
1441
+ yargs-parser "^21.1.1"