eef337a6 by Janis

Merge branch '28334_export_response_chatbot_plus' into 'master'

export

See merge request !65
2 parents 27441a3a b8784cd5
This diff could not be displayed because it is too large.
1 import React, { useState } from "react"; 1 import React, { useState } from "react";
2 import SuggestedOptions from './suggestedOptions' 2 import SuggestedOptions from './suggestedOptions'
3 3 import ExportButton from "./ExportButton";
4 const ChatBox = ({chatLog, setChatInput, handleSubmit, chatInput, startedInteraction, setStartedInteraction}) => { 4 const ChatBox = ({chatLog, setChatInput, handleSubmit, chatInput, startedInteraction, setStartedInteraction}) => {
5 5
6 return ( 6 return (
...@@ -9,10 +9,11 @@ const ChatBox = ({chatLog, setChatInput, handleSubmit, chatInput, startedInterac ...@@ -9,10 +9,11 @@ const ChatBox = ({chatLog, setChatInput, handleSubmit, chatInput, startedInterac
9 <SuggestedOptions setChatInput={setChatInput}/> 9 <SuggestedOptions setChatInput={setChatInput}/>
10 ) : ( 10 ) : (
11 <> 11 <>
12 <div className="chat-log"> 12 <div className="chat-log response-to-export">
13 {chatLog.map((message, index) => ( 13 {chatLog.map((message, index) => (
14 <ChatMessage key={index} message={message} /> 14 <ChatMessage key={index} message={message} />
15 ))} 15 ))}
16 <ExportButton className="export-button-mobile" label="Export Conversation" filename="Chat-Bot-Plus" />
16 </div> 17 </div>
17 18
18 </> 19 </>
...@@ -39,9 +40,9 @@ const ChatBox = ({chatLog, setChatInput, handleSubmit, chatInput, startedInterac ...@@ -39,9 +40,9 @@ const ChatBox = ({chatLog, setChatInput, handleSubmit, chatInput, startedInterac
39 const ChatMessage = ({ message }) => { 40 const ChatMessage = ({ message }) => {
40 return ( 41 return (
41 <div className={`chat-message ${message.user === "gpt" && "chatgpt"}`}> 42 <div className={`chat-message ${message.user === "gpt" && "chatgpt"}`}>
42 <div className="chat-message-center"> 43 <div className="chat-message-center" style={ message.user === "gpt" ? { background: "#ddf1f9"} : {}}>
43 <div className={`avatar ${message.user === "gpt" && "chatgpt"}`}> 44 <div className={`avatar ${message.user === "gpt" && "chatgpt"}`}>
44 {message.user === "gpt" ? <img className="ai-logo" alt="Ai-pro bot" src="../assets/images/bot.png" width="30px"/> : <img className="ai-logo" alt="Ai-pro user" src="../assets/images/user.svg" />} 45 {message.user === "gpt" ? <img className="ai-logo" alt="Ai-pro bot" src="../assets/images/bot.png" width="30px"/> : <img className="ai-logo" alt="Ai-pro user" src="../assets/images/user.png" />}
45 </div> 46 </div>
46 {/* <div className="message"> 47 {/* <div className="message">
47 {message.message} 48 {message.message}
......
1 export default function ExportButton({
2 label = "Export",
3 filename = "export",
4 className = "",
5 id = "",
6 }) {
7 const responseToExport = () => {
8 const response_to_export = document.querySelector(".response-to-export");
9 if (!response_to_export) return;
10 return response_to_export?.innerHTML ?? "";
11 };
12 const generatePDF = window.generatePDF;
13
14 const onClickExportToPDF = () => {
15 const response = responseToExport();
16 generatePDF(response, filename);
17 };
18 const onClickExportButton = () => {
19 let modal = document.querySelector(".export-modal-container");
20 const response = responseToExport();
21 if (!response) return;
22
23 if (!modal) {
24 const btutil_buildExportModal = window.btutil_buildExportModal;
25
26 modal = btutil_buildExportModal(onClickExportToPDF);
27 document.body.appendChild(modal);
28 }
29 modal.classList.add("active");
30 };
31
32 return (
33 <>
34 <div
35 className={`export-button ${className}`}
36 id={id}
37 onClick={onClickExportButton}
38 >
39 <svg
40 fill="#ffffff"
41 xmlns="http://www.w3.org/2000/svg"
42 height="1em"
43 viewBox="0 0 512 512"
44 >
45 <path d="M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z" />
46 </svg>
47 <span>{label}</span>
48 </div>
49 </>
50 );
51 }
1 const SideMenu = ({ clearChat, currentModel, setCurrentModel, models, setTemperature, temperature }) => 1 import ExportButton from "./ExportButton";
2 <aside className="sidemenu"> 2 const SideMenu = ({
3 <div className="ai-logo-container"> 3 clearChat,
4 <img className="ai-logo" alt="Ai-pro logo" src="../assets/images/chatgpt-aipro.png" height="50px"/> 4 currentModel,
5 </div> 5 setCurrentModel,
6 <div className="side-menu-button" onClick={clearChat}> 6 models,
7 <span>+</span> 7 setTemperature,
8 New Chat 8 temperature,
9 </div> 9 }) => (
10 <div className="models"> 10 <aside className="sidemenu">
11 <div className="ai-logo-container">
12 <img
13 className="ai-logo"
14 alt="Ai-pro logo"
15 src="../assets/images/chatgpt-aipro.png"
16 height="50px"
17 />
18 </div>
19 <div className="side-menu-button" onClick={clearChat}>
20 <span>+</span>
21 New Chat
22 </div>
23 <div className="models">
11 <label className="side-label">Model</label> 24 <label className="side-label">Model</label>
12 <select 25 <select
13 // active if model is select is currentModel 26 // active if model is select is currentModel
14 value={currentModel} 27 value={currentModel}
15 className="select-models" 28 className="select-models"
16 onChange={(e)=>{ 29 onChange={(e) => {
17 setCurrentModel(e.target.value) 30 setCurrentModel(e.target.value);
18 }}> 31 }}
19 {models && models.length ? models.map((model, index) => ( 32 >
20 <option 33 {models && models.length ? (
21 key={model.id} 34 models.map((model, index) => (
22 value={model.id}>{model.id}</option> 35 <option key={model.id} value={model.id}>
23 )) : <option 36 {model.id}
24 key={"gpt-3.5-turbo"} 37 </option>
25 value={"gpt-3.5-turbo"}>{"gpt-3.5-turbo"}</option>} 38 ))
26 </select> 39 ) : (
40 <option key={"gpt-3.5-turbo"} value={"gpt-3.5-turbo"}>
41 {"gpt-3.5-turbo"}
42 </option>
43 )}
44 </select>
27 45
28 <Button 46 <Button
29 text="Smart - Davinci" 47 text="Smart - Davinci"
30 onClick={()=>setCurrentModel("text-davinci-003")} /> 48 onClick={() => setCurrentModel("text-davinci-003")}
31 <Button 49 />
32 text="Code - Crushman" 50 <Button
33 onClick={()=>setCurrentModel("code-cushman-001")} /> 51 text="Code - Crushman"
34 <span className="info"> 52 onClick={() => setCurrentModel("code-cushman-001")}
35 The model parameter controls the engine used to generate the response. Davinci produces best results. 53 />
36 </span> 54 <span className="info">
37 <label className="side-label" >Temperature</label> 55 The model parameter controls the engine used to generate the response.
38 <input 56 Davinci produces best results.
39 className="select-models" 57 </span>
40 type="number" 58 <label className="side-label">Temperature</label>
41 onChange={(e)=> setTemperature(e.target.value)} 59 <input
42 min="0" 60 className="select-models"
43 max="1" 61 type="number"
44 step="0.1" 62 onChange={(e) => setTemperature(e.target.value)}
45 value={temperature} 63 min="0"
46 /> 64 max="1"
47 <Button 65 step="0.1"
48 text="0 - Logical" 66 value={temperature}
49 onClick={()=>setTemperature(0)} /> 67 />
50 <Button 68 <Button text="0 - Logical" onClick={() => setTemperature(0)} />
51 text="0.5 - Balanced" 69 <Button text="0.5 - Balanced" onClick={() => setTemperature(0.5)} />
52 onClick={()=>setTemperature(0.5)} /> 70 <Button text="1 - Creative" onClick={() => setTemperature(1)} />
53 <Button 71 <span className="info">
54 text="1 - Creative" 72 The temperature parameter controls the randomness of the model. 0 is the
55 onClick={()=>setTemperature(1)} /> 73 most logical, 1 is the most creative.
56 <span className="info"> 74 </span>
57 The temperature parameter controls the randomness of the model. 0 is the most logical, 1 is the most creative. 75 <ExportButton label="Export Conversation" filename="Chat-Bot-Plus" />
58 </span> 76 </div>
59 </div> 77 </aside>
60 </aside> 78 );
61 79
62 const Button = ({ onClick, text }) => 80 const Button = ({ onClick, text }) => (
63 <div 81 <div className="button-picker" onClick={onClick}>
64 className="button-picker"
65 onClick={onClick}>
66 {text} 82 {text}
67 </div> 83 </div>
84 );
68 85
69 export default SideMenu
...\ No newline at end of file ...\ No newline at end of file
86 export default SideMenu;
......
...@@ -10,4 +10,23 @@ body { ...@@ -10,4 +10,23 @@ body {
10 code { 10 code {
11 font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 11 font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 monospace; 12 monospace;
13 }
14
15 .export-button-mobile {
16 display: none !important;
17 position: fixed;
18 bottom: 85px;
19 right: 0;
20 min-width: 50px;
21 box-shadow: 0px 4px 4px 0px #00000040;
22 }
23
24 .export-button-mobile span {
25 display: none;
26 }
27
28 @media screen and (max-width: 640px) {
29 .export-button-mobile {
30 display: flex !important;
31 }
13 } 32 }
...\ No newline at end of file ...\ No newline at end of file
......
1 { 1 {
2 "name": "chatgpt-server", 2 "name": "chatgpt-server",
3 "version": "1.0.0", 3 "version": "1.0.0",
4 "lockfileVersion": 1, 4 "lockfileVersion": 3,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "packages": {
7 "accepts": { 7 "": {
8 "name": "chatgpt-server",
9 "version": "1.0.0",
10 "license": "ISC",
11 "dependencies": {
12 "anchorme": "^2.1.2",
13 "body-parser": "^1.20.1",
14 "cors": "^2.8.5",
15 "dotenv": "^16.0.3",
16 "express": "^4.18.2",
17 "express-rate-limit": "^6.7.0",
18 "morgan": "^1.10.0",
19 "openai": "^3.2.0"
20 }
21 },
22 "node_modules/accepts": {
8 "version": "1.3.8", 23 "version": "1.3.8",
9 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 24 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
10 "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 25 "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
11 "requires": { 26 "dependencies": {
12 "mime-types": "~2.1.34", 27 "mime-types": "~2.1.34",
13 "negotiator": "0.6.3" 28 "negotiator": "0.6.3"
29 },
30 "engines": {
31 "node": ">= 0.6"
14 } 32 }
15 }, 33 },
16 "array-flatten": { 34 "node_modules/anchorme": {
35 "version": "2.1.2",
36 "resolved": "https://registry.npmjs.org/anchorme/-/anchorme-2.1.2.tgz",
37 "integrity": "sha512-2iPY3kxDDZvtRzauqKDb4v7a5sTF4GZ+esQTY8nGYvmhAtGTeFPMn4cRnvyWS1qmtPTP0Mv8hyLOp9l3ZzWMKg=="
38 },
39 "node_modules/array-flatten": {
17 "version": "1.1.1", 40 "version": "1.1.1",
18 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 41 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
19 "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" 42 "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
20 }, 43 },
21 "asynckit": { 44 "node_modules/asynckit": {
22 "version": "0.4.0", 45 "version": "0.4.0",
23 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 46 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
24 "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 47 "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
25 }, 48 },
26 "axios": { 49 "node_modules/axios": {
27 "version": "0.26.1", 50 "version": "0.26.1",
28 "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", 51 "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
29 "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", 52 "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
30 "requires": { 53 "dependencies": {
31 "follow-redirects": "^1.14.8" 54 "follow-redirects": "^1.14.8"
32 } 55 }
33 }, 56 },
34 "basic-auth": { 57 "node_modules/basic-auth": {
35 "version": "2.0.1", 58 "version": "2.0.1",
36 "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", 59 "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
37 "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", 60 "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
38 "requires": { 61 "dependencies": {
39 "safe-buffer": "5.1.2" 62 "safe-buffer": "5.1.2"
40 }, 63 },
41 "dependencies": { 64 "engines": {
42 "safe-buffer": { 65 "node": ">= 0.8"
43 "version": "5.1.2",
44 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
45 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
46 }
47 } 66 }
48 }, 67 },
49 "body-parser": { 68 "node_modules/basic-auth/node_modules/safe-buffer": {
69 "version": "5.1.2",
70 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
71 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
72 },
73 "node_modules/body-parser": {
50 "version": "1.20.1", 74 "version": "1.20.1",
51 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", 75 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
52 "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", 76 "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
53 "requires": { 77 "dependencies": {
54 "bytes": "3.1.2", 78 "bytes": "3.1.2",
55 "content-type": "~1.0.4", 79 "content-type": "~1.0.4",
56 "debug": "2.6.9", 80 "debug": "2.6.9",
...@@ -63,115 +87,159 @@ ...@@ -63,115 +87,159 @@
63 "raw-body": "2.5.1", 87 "raw-body": "2.5.1",
64 "type-is": "~1.6.18", 88 "type-is": "~1.6.18",
65 "unpipe": "1.0.0" 89 "unpipe": "1.0.0"
90 },
91 "engines": {
92 "node": ">= 0.8",
93 "npm": "1.2.8000 || >= 1.4.16"
66 } 94 }
67 }, 95 },
68 "bytes": { 96 "node_modules/bytes": {
69 "version": "3.1.2", 97 "version": "3.1.2",
70 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 98 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
71 "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" 99 "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
100 "engines": {
101 "node": ">= 0.8"
102 }
72 }, 103 },
73 "call-bind": { 104 "node_modules/call-bind": {
74 "version": "1.0.2", 105 "version": "1.0.2",
75 "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 106 "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
76 "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 107 "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
77 "requires": { 108 "dependencies": {
78 "function-bind": "^1.1.1", 109 "function-bind": "^1.1.1",
79 "get-intrinsic": "^1.0.2" 110 "get-intrinsic": "^1.0.2"
111 },
112 "funding": {
113 "url": "https://github.com/sponsors/ljharb"
80 } 114 }
81 }, 115 },
82 "combined-stream": { 116 "node_modules/combined-stream": {
83 "version": "1.0.8", 117 "version": "1.0.8",
84 "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 118 "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
85 "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 119 "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
86 "requires": { 120 "dependencies": {
87 "delayed-stream": "~1.0.0" 121 "delayed-stream": "~1.0.0"
122 },
123 "engines": {
124 "node": ">= 0.8"
88 } 125 }
89 }, 126 },
90 "content-disposition": { 127 "node_modules/content-disposition": {
91 "version": "0.5.4", 128 "version": "0.5.4",
92 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 129 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
93 "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 130 "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
94 "requires": { 131 "dependencies": {
95 "safe-buffer": "5.2.1" 132 "safe-buffer": "5.2.1"
133 },
134 "engines": {
135 "node": ">= 0.6"
96 } 136 }
97 }, 137 },
98 "content-type": { 138 "node_modules/content-type": {
99 "version": "1.0.5", 139 "version": "1.0.5",
100 "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 140 "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
101 "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" 141 "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
142 "engines": {
143 "node": ">= 0.6"
144 }
102 }, 145 },
103 "cookie": { 146 "node_modules/cookie": {
104 "version": "0.5.0", 147 "version": "0.5.0",
105 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 148 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
106 "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" 149 "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
150 "engines": {
151 "node": ">= 0.6"
152 }
107 }, 153 },
108 "cookie-signature": { 154 "node_modules/cookie-signature": {
109 "version": "1.0.6", 155 "version": "1.0.6",
110 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 156 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
111 "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" 157 "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
112 }, 158 },
113 "cors": { 159 "node_modules/cors": {
114 "version": "2.8.5", 160 "version": "2.8.5",
115 "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 161 "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
116 "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 162 "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
117 "requires": { 163 "dependencies": {
118 "object-assign": "^4", 164 "object-assign": "^4",
119 "vary": "^1" 165 "vary": "^1"
166 },
167 "engines": {
168 "node": ">= 0.10"
120 } 169 }
121 }, 170 },
122 "debug": { 171 "node_modules/debug": {
123 "version": "2.6.9", 172 "version": "2.6.9",
124 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 173 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
125 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 174 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
126 "requires": { 175 "dependencies": {
127 "ms": "2.0.0" 176 "ms": "2.0.0"
128 } 177 }
129 }, 178 },
130 "delayed-stream": { 179 "node_modules/delayed-stream": {
131 "version": "1.0.0", 180 "version": "1.0.0",
132 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 181 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
133 "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 182 "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
183 "engines": {
184 "node": ">=0.4.0"
185 }
134 }, 186 },
135 "depd": { 187 "node_modules/depd": {
136 "version": "2.0.0", 188 "version": "2.0.0",
137 "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 189 "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
138 "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" 190 "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
191 "engines": {
192 "node": ">= 0.8"
193 }
139 }, 194 },
140 "destroy": { 195 "node_modules/destroy": {
141 "version": "1.2.0", 196 "version": "1.2.0",
142 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", 197 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
143 "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" 198 "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
199 "engines": {
200 "node": ">= 0.8",
201 "npm": "1.2.8000 || >= 1.4.16"
202 }
144 }, 203 },
145 "dotenv": { 204 "node_modules/dotenv": {
146 "version": "16.0.3", 205 "version": "16.0.3",
147 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", 206 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
148 "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" 207 "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
208 "engines": {
209 "node": ">=12"
210 }
149 }, 211 },
150 "ee-first": { 212 "node_modules/ee-first": {
151 "version": "1.1.1", 213 "version": "1.1.1",
152 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 214 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
153 "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" 215 "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
154 }, 216 },
155 "encodeurl": { 217 "node_modules/encodeurl": {
156 "version": "1.0.2", 218 "version": "1.0.2",
157 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 219 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
158 "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" 220 "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
221 "engines": {
222 "node": ">= 0.8"
223 }
159 }, 224 },
160 "escape-html": { 225 "node_modules/escape-html": {
161 "version": "1.0.3", 226 "version": "1.0.3",
162 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 227 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
163 "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" 228 "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
164 }, 229 },
165 "etag": { 230 "node_modules/etag": {
166 "version": "1.8.1", 231 "version": "1.8.1",
167 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 232 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
168 "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" 233 "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
234 "engines": {
235 "node": ">= 0.6"
236 }
169 }, 237 },
170 "express": { 238 "node_modules/express": {
171 "version": "4.18.2", 239 "version": "4.18.2",
172 "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", 240 "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
173 "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", 241 "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
174 "requires": { 242 "dependencies": {
175 "accepts": "~1.3.8", 243 "accepts": "~1.3.8",
176 "array-flatten": "1.1.1", 244 "array-flatten": "1.1.1",
177 "body-parser": "1.20.1", 245 "body-parser": "1.20.1",
...@@ -203,13 +271,27 @@ ...@@ -203,13 +271,27 @@
203 "type-is": "~1.6.18", 271 "type-is": "~1.6.18",
204 "utils-merge": "1.0.1", 272 "utils-merge": "1.0.1",
205 "vary": "~1.1.2" 273 "vary": "~1.1.2"
274 },
275 "engines": {
276 "node": ">= 0.10.0"
277 }
278 },
279 "node_modules/express-rate-limit": {
280 "version": "6.11.1",
281 "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.11.1.tgz",
282 "integrity": "sha512-8+UpWtQY25lJaa4+3WxDBGDcAu4atcTruSs3QSL5VPEplYy6kmk84wutG9rUkkK5LmMQQ7TFHWLZYITwVNbbEg==",
283 "engines": {
284 "node": ">= 14"
285 },
286 "peerDependencies": {
287 "express": "^4 || ^5"
206 } 288 }
207 }, 289 },
208 "finalhandler": { 290 "node_modules/finalhandler": {
209 "version": "1.2.0", 291 "version": "1.2.0",
210 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", 292 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
211 "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", 293 "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
212 "requires": { 294 "dependencies": {
213 "debug": "2.6.9", 295 "debug": "2.6.9",
214 "encodeurl": "~1.0.2", 296 "encodeurl": "~1.0.2",
215 "escape-html": "~1.0.3", 297 "escape-html": "~1.0.3",
...@@ -217,246 +299,362 @@ ...@@ -217,246 +299,362 @@
217 "parseurl": "~1.3.3", 299 "parseurl": "~1.3.3",
218 "statuses": "2.0.1", 300 "statuses": "2.0.1",
219 "unpipe": "~1.0.0" 301 "unpipe": "~1.0.0"
302 },
303 "engines": {
304 "node": ">= 0.8"
220 } 305 }
221 }, 306 },
222 "follow-redirects": { 307 "node_modules/follow-redirects": {
223 "version": "1.15.2", 308 "version": "1.15.2",
224 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 309 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
225 "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" 310 "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
311 "funding": [
312 {
313 "type": "individual",
314 "url": "https://github.com/sponsors/RubenVerborgh"
315 }
316 ],
317 "engines": {
318 "node": ">=4.0"
319 },
320 "peerDependenciesMeta": {
321 "debug": {
322 "optional": true
323 }
324 }
226 }, 325 },
227 "form-data": { 326 "node_modules/form-data": {
228 "version": "4.0.0", 327 "version": "4.0.0",
229 "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 328 "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
230 "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 329 "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
231 "requires": { 330 "dependencies": {
232 "asynckit": "^0.4.0", 331 "asynckit": "^0.4.0",
233 "combined-stream": "^1.0.8", 332 "combined-stream": "^1.0.8",
234 "mime-types": "^2.1.12" 333 "mime-types": "^2.1.12"
334 },
335 "engines": {
336 "node": ">= 6"
235 } 337 }
236 }, 338 },
237 "forwarded": { 339 "node_modules/forwarded": {
238 "version": "0.2.0", 340 "version": "0.2.0",
239 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 341 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
240 "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" 342 "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
343 "engines": {
344 "node": ">= 0.6"
345 }
241 }, 346 },
242 "fresh": { 347 "node_modules/fresh": {
243 "version": "0.5.2", 348 "version": "0.5.2",
244 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 349 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
245 "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" 350 "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
351 "engines": {
352 "node": ">= 0.6"
353 }
246 }, 354 },
247 "function-bind": { 355 "node_modules/function-bind": {
248 "version": "1.1.1", 356 "version": "1.1.1",
249 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 357 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
250 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 358 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
251 }, 359 },
252 "get-intrinsic": { 360 "node_modules/get-intrinsic": {
253 "version": "1.2.0", 361 "version": "1.2.0",
254 "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", 362 "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
255 "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", 363 "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
256 "requires": { 364 "dependencies": {
257 "function-bind": "^1.1.1", 365 "function-bind": "^1.1.1",
258 "has": "^1.0.3", 366 "has": "^1.0.3",
259 "has-symbols": "^1.0.3" 367 "has-symbols": "^1.0.3"
368 },
369 "funding": {
370 "url": "https://github.com/sponsors/ljharb"
260 } 371 }
261 }, 372 },
262 "has": { 373 "node_modules/has": {
263 "version": "1.0.3", 374 "version": "1.0.3",
264 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 375 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
265 "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 376 "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
266 "requires": { 377 "dependencies": {
267 "function-bind": "^1.1.1" 378 "function-bind": "^1.1.1"
379 },
380 "engines": {
381 "node": ">= 0.4.0"
268 } 382 }
269 }, 383 },
270 "has-symbols": { 384 "node_modules/has-symbols": {
271 "version": "1.0.3", 385 "version": "1.0.3",
272 "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 386 "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
273 "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" 387 "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
388 "engines": {
389 "node": ">= 0.4"
390 },
391 "funding": {
392 "url": "https://github.com/sponsors/ljharb"
393 }
274 }, 394 },
275 "http-errors": { 395 "node_modules/http-errors": {
276 "version": "2.0.0", 396 "version": "2.0.0",
277 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 397 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
278 "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 398 "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
279 "requires": { 399 "dependencies": {
280 "depd": "2.0.0", 400 "depd": "2.0.0",
281 "inherits": "2.0.4", 401 "inherits": "2.0.4",
282 "setprototypeof": "1.2.0", 402 "setprototypeof": "1.2.0",
283 "statuses": "2.0.1", 403 "statuses": "2.0.1",
284 "toidentifier": "1.0.1" 404 "toidentifier": "1.0.1"
405 },
406 "engines": {
407 "node": ">= 0.8"
285 } 408 }
286 }, 409 },
287 "iconv-lite": { 410 "node_modules/iconv-lite": {
288 "version": "0.4.24", 411 "version": "0.4.24",
289 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 412 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
290 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 413 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
291 "requires": { 414 "dependencies": {
292 "safer-buffer": ">= 2.1.2 < 3" 415 "safer-buffer": ">= 2.1.2 < 3"
416 },
417 "engines": {
418 "node": ">=0.10.0"
293 } 419 }
294 }, 420 },
295 "inherits": { 421 "node_modules/inherits": {
296 "version": "2.0.4", 422 "version": "2.0.4",
297 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 423 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
298 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 424 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
299 }, 425 },
300 "ipaddr.js": { 426 "node_modules/ipaddr.js": {
301 "version": "1.9.1", 427 "version": "1.9.1",
302 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 428 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
303 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 429 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
430 "engines": {
431 "node": ">= 0.10"
432 }
304 }, 433 },
305 "media-typer": { 434 "node_modules/media-typer": {
306 "version": "0.3.0", 435 "version": "0.3.0",
307 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 436 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
308 "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" 437 "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
438 "engines": {
439 "node": ">= 0.6"
440 }
309 }, 441 },
310 "merge-descriptors": { 442 "node_modules/merge-descriptors": {
311 "version": "1.0.1", 443 "version": "1.0.1",
312 "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 444 "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
313 "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" 445 "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
314 }, 446 },
315 "methods": { 447 "node_modules/methods": {
316 "version": "1.1.2", 448 "version": "1.1.2",
317 "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 449 "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
318 "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" 450 "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
451 "engines": {
452 "node": ">= 0.6"
453 }
319 }, 454 },
320 "mime": { 455 "node_modules/mime": {
321 "version": "1.6.0", 456 "version": "1.6.0",
322 "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 457 "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
323 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 458 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
459 "bin": {
460 "mime": "cli.js"
461 },
462 "engines": {
463 "node": ">=4"
464 }
324 }, 465 },
325 "mime-db": { 466 "node_modules/mime-db": {
326 "version": "1.52.0", 467 "version": "1.52.0",
327 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 468 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
328 "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 469 "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
470 "engines": {
471 "node": ">= 0.6"
472 }
329 }, 473 },
330 "mime-types": { 474 "node_modules/mime-types": {
331 "version": "2.1.35", 475 "version": "2.1.35",
332 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 476 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
333 "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 477 "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
334 "requires": { 478 "dependencies": {
335 "mime-db": "1.52.0" 479 "mime-db": "1.52.0"
480 },
481 "engines": {
482 "node": ">= 0.6"
336 } 483 }
337 }, 484 },
338 "morgan": { 485 "node_modules/morgan": {
339 "version": "1.10.0", 486 "version": "1.10.0",
340 "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", 487 "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
341 "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", 488 "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
342 "requires": { 489 "dependencies": {
343 "basic-auth": "~2.0.1", 490 "basic-auth": "~2.0.1",
344 "debug": "2.6.9", 491 "debug": "2.6.9",
345 "depd": "~2.0.0", 492 "depd": "~2.0.0",
346 "on-finished": "~2.3.0", 493 "on-finished": "~2.3.0",
347 "on-headers": "~1.0.2" 494 "on-headers": "~1.0.2"
348 }, 495 },
496 "engines": {
497 "node": ">= 0.8.0"
498 }
499 },
500 "node_modules/morgan/node_modules/on-finished": {
501 "version": "2.3.0",
502 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
503 "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
349 "dependencies": { 504 "dependencies": {
350 "on-finished": { 505 "ee-first": "1.1.1"
351 "version": "2.3.0", 506 },
352 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 507 "engines": {
353 "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", 508 "node": ">= 0.8"
354 "requires": {
355 "ee-first": "1.1.1"
356 }
357 }
358 } 509 }
359 }, 510 },
360 "ms": { 511 "node_modules/ms": {
361 "version": "2.0.0", 512 "version": "2.0.0",
362 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 513 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
363 "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 514 "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
364 }, 515 },
365 "negotiator": { 516 "node_modules/negotiator": {
366 "version": "0.6.3", 517 "version": "0.6.3",
367 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 518 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
368 "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" 519 "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
520 "engines": {
521 "node": ">= 0.6"
522 }
369 }, 523 },
370 "object-assign": { 524 "node_modules/object-assign": {
371 "version": "4.1.1", 525 "version": "4.1.1",
372 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 526 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
373 "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" 527 "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
528 "engines": {
529 "node": ">=0.10.0"
530 }
374 }, 531 },
375 "object-inspect": { 532 "node_modules/object-inspect": {
376 "version": "1.12.3", 533 "version": "1.12.3",
377 "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", 534 "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
378 "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" 535 "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
536 "funding": {
537 "url": "https://github.com/sponsors/ljharb"
538 }
379 }, 539 },
380 "on-finished": { 540 "node_modules/on-finished": {
381 "version": "2.4.1", 541 "version": "2.4.1",
382 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 542 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
383 "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 543 "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
384 "requires": { 544 "dependencies": {
385 "ee-first": "1.1.1" 545 "ee-first": "1.1.1"
546 },
547 "engines": {
548 "node": ">= 0.8"
386 } 549 }
387 }, 550 },
388 "on-headers": { 551 "node_modules/on-headers": {
389 "version": "1.0.2", 552 "version": "1.0.2",
390 "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 553 "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
391 "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" 554 "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
555 "engines": {
556 "node": ">= 0.8"
557 }
392 }, 558 },
393 "openai": { 559 "node_modules/openai": {
394 "version": "3.1.0", 560 "version": "3.3.0",
395 "resolved": "https://registry.npmjs.org/openai/-/openai-3.1.0.tgz", 561 "resolved": "https://registry.npmjs.org/openai/-/openai-3.3.0.tgz",
396 "integrity": "sha512-v5kKFH5o+8ld+t0arudj833Mgm3GcgBnbyN9946bj6u7bvel4Yg6YFz2A4HLIYDzmMjIo0s6vSG9x73kOwvdCg==", 562 "integrity": "sha512-uqxI/Au+aPRnsaQRe8CojU0eCR7I0mBiKjD3sNMzY6DaC1ZVrc85u98mtJW6voDug8fgGN+DIZmTDxTthxb7dQ==",
397 "requires": { 563 "dependencies": {
398 "axios": "^0.26.0", 564 "axios": "^0.26.0",
399 "form-data": "^4.0.0" 565 "form-data": "^4.0.0"
400 } 566 }
401 }, 567 },
402 "parseurl": { 568 "node_modules/parseurl": {
403 "version": "1.3.3", 569 "version": "1.3.3",
404 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 570 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
405 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 571 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
572 "engines": {
573 "node": ">= 0.8"
574 }
406 }, 575 },
407 "path-to-regexp": { 576 "node_modules/path-to-regexp": {
408 "version": "0.1.7", 577 "version": "0.1.7",
409 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 578 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
410 "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" 579 "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
411 }, 580 },
412 "proxy-addr": { 581 "node_modules/proxy-addr": {
413 "version": "2.0.7", 582 "version": "2.0.7",
414 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 583 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
415 "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 584 "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
416 "requires": { 585 "dependencies": {
417 "forwarded": "0.2.0", 586 "forwarded": "0.2.0",
418 "ipaddr.js": "1.9.1" 587 "ipaddr.js": "1.9.1"
588 },
589 "engines": {
590 "node": ">= 0.10"
419 } 591 }
420 }, 592 },
421 "qs": { 593 "node_modules/qs": {
422 "version": "6.11.0", 594 "version": "6.11.0",
423 "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", 595 "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
424 "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", 596 "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
425 "requires": { 597 "dependencies": {
426 "side-channel": "^1.0.4" 598 "side-channel": "^1.0.4"
599 },
600 "engines": {
601 "node": ">=0.6"
602 },
603 "funding": {
604 "url": "https://github.com/sponsors/ljharb"
427 } 605 }
428 }, 606 },
429 "range-parser": { 607 "node_modules/range-parser": {
430 "version": "1.2.1", 608 "version": "1.2.1",
431 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 609 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
432 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 610 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
611 "engines": {
612 "node": ">= 0.6"
613 }
433 }, 614 },
434 "raw-body": { 615 "node_modules/raw-body": {
435 "version": "2.5.1", 616 "version": "2.5.1",
436 "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", 617 "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
437 "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", 618 "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
438 "requires": { 619 "dependencies": {
439 "bytes": "3.1.2", 620 "bytes": "3.1.2",
440 "http-errors": "2.0.0", 621 "http-errors": "2.0.0",
441 "iconv-lite": "0.4.24", 622 "iconv-lite": "0.4.24",
442 "unpipe": "1.0.0" 623 "unpipe": "1.0.0"
624 },
625 "engines": {
626 "node": ">= 0.8"
443 } 627 }
444 }, 628 },
445 "safe-buffer": { 629 "node_modules/safe-buffer": {
446 "version": "5.2.1", 630 "version": "5.2.1",
447 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 631 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
448 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 632 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
633 "funding": [
634 {
635 "type": "github",
636 "url": "https://github.com/sponsors/feross"
637 },
638 {
639 "type": "patreon",
640 "url": "https://www.patreon.com/feross"
641 },
642 {
643 "type": "consulting",
644 "url": "https://feross.org/support"
645 }
646 ]
449 }, 647 },
450 "safer-buffer": { 648 "node_modules/safer-buffer": {
451 "version": "2.1.2", 649 "version": "2.1.2",
452 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 650 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
453 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 651 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
454 }, 652 },
455 "send": { 653 "node_modules/send": {
456 "version": "0.18.0", 654 "version": "0.18.0",
457 "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", 655 "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
458 "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", 656 "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
459 "requires": { 657 "dependencies": {
460 "debug": "2.6.9", 658 "debug": "2.6.9",
461 "depd": "2.0.0", 659 "depd": "2.0.0",
462 "destroy": "1.2.0", 660 "destroy": "1.2.0",
...@@ -471,73 +669,98 @@ ...@@ -471,73 +669,98 @@
471 "range-parser": "~1.2.1", 669 "range-parser": "~1.2.1",
472 "statuses": "2.0.1" 670 "statuses": "2.0.1"
473 }, 671 },
474 "dependencies": { 672 "engines": {
475 "ms": { 673 "node": ">= 0.8.0"
476 "version": "2.1.3",
477 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
478 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
479 }
480 } 674 }
481 }, 675 },
482 "serve-static": { 676 "node_modules/send/node_modules/ms": {
677 "version": "2.1.3",
678 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
679 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
680 },
681 "node_modules/serve-static": {
483 "version": "1.15.0", 682 "version": "1.15.0",
484 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", 683 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
485 "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", 684 "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
486 "requires": { 685 "dependencies": {
487 "encodeurl": "~1.0.2", 686 "encodeurl": "~1.0.2",
488 "escape-html": "~1.0.3", 687 "escape-html": "~1.0.3",
489 "parseurl": "~1.3.3", 688 "parseurl": "~1.3.3",
490 "send": "0.18.0" 689 "send": "0.18.0"
690 },
691 "engines": {
692 "node": ">= 0.8.0"
491 } 693 }
492 }, 694 },
493 "setprototypeof": { 695 "node_modules/setprototypeof": {
494 "version": "1.2.0", 696 "version": "1.2.0",
495 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 697 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
496 "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 698 "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
497 }, 699 },
498 "side-channel": { 700 "node_modules/side-channel": {
499 "version": "1.0.4", 701 "version": "1.0.4",
500 "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 702 "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
501 "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 703 "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
502 "requires": { 704 "dependencies": {
503 "call-bind": "^1.0.0", 705 "call-bind": "^1.0.0",
504 "get-intrinsic": "^1.0.2", 706 "get-intrinsic": "^1.0.2",
505 "object-inspect": "^1.9.0" 707 "object-inspect": "^1.9.0"
708 },
709 "funding": {
710 "url": "https://github.com/sponsors/ljharb"
506 } 711 }
507 }, 712 },
508 "statuses": { 713 "node_modules/statuses": {
509 "version": "2.0.1", 714 "version": "2.0.1",
510 "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 715 "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
511 "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" 716 "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
717 "engines": {
718 "node": ">= 0.8"
719 }
512 }, 720 },
513 "toidentifier": { 721 "node_modules/toidentifier": {
514 "version": "1.0.1", 722 "version": "1.0.1",
515 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 723 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
516 "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" 724 "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
725 "engines": {
726 "node": ">=0.6"
727 }
517 }, 728 },
518 "type-is": { 729 "node_modules/type-is": {
519 "version": "1.6.18", 730 "version": "1.6.18",
520 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 731 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
521 "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 732 "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
522 "requires": { 733 "dependencies": {
523 "media-typer": "0.3.0", 734 "media-typer": "0.3.0",
524 "mime-types": "~2.1.24" 735 "mime-types": "~2.1.24"
736 },
737 "engines": {
738 "node": ">= 0.6"
525 } 739 }
526 }, 740 },
527 "unpipe": { 741 "node_modules/unpipe": {
528 "version": "1.0.0", 742 "version": "1.0.0",
529 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 743 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
530 "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" 744 "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
745 "engines": {
746 "node": ">= 0.8"
747 }
531 }, 748 },
532 "utils-merge": { 749 "node_modules/utils-merge": {
533 "version": "1.0.1", 750 "version": "1.0.1",
534 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 751 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
535 "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" 752 "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
753 "engines": {
754 "node": ">= 0.4.0"
755 }
536 }, 756 },
537 "vary": { 757 "node_modules/vary": {
538 "version": "1.1.2", 758 "version": "1.1.2",
539 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 759 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
540 "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" 760 "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
761 "engines": {
762 "node": ">= 0.8"
763 }
541 } 764 }
542 } 765 }
543 } 766 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!