DongyoungKwon

Add WebSpeech API && Sentence-Similarity API

1 # Teleprompter-SST 1 # Teleprompter-SST
2 +<!-- TABLE OF CONTENTS -->
3 +## Table of Contents
4 + - [ν”„λ‘œμ νŠΈ μ†Œκ°œ](#ν”„λ‘œμ νŠΈ-μ†Œκ°œ)
5 + - [μ£Όμš”κΈ°λŠ₯](#μ£Όμš”κΈ°λŠ₯)
6 + - [Directory ꡬ쑰](#directory-ꡬ쑰)
7 + - [μ„€μΉ˜ 방법](#μ„€μΉ˜-방법)
8 + - [νŒ€μ›](#νŒ€μ›)
9 + - [Reference](#reference)
10 + - [License](#license)
2 11
3 - 12 +<!-- ν”„λ‘œμ νŠΈ μ†Œκ°œ -->
4 -### ν”„λ‘œμ νŠΈ μ†Œκ°œ 13 +## πŸŽ™ ν”„λ‘œμ νŠΈ μ†Œκ°œ
5 - - πŸŽ™ μŒμ„±μ— 맞좰 λŒ€λ³Έμ„ 화면에 μ‹€μ‹œκ°„μœΌλ‘œ 좜λ ₯ν•˜λŠ” 프둬프터 μ„œλΉ„μŠ€ πŸ“œ 14 +---
15 + - μŒμ„±μ— 맞좰 λŒ€λ³Έμ„ 화면에 μ‹€μ‹œκ°„μœΌλ‘œ 좜λ ₯ν•˜λŠ” 프둬프터 μ„œλΉ„μŠ€
6 - Untactμ‹œλŒ€μ— ν™”μƒνšŒμ˜μ—μ„œ νŽΈν•˜κ²Œ λ°œν‘œν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” μ„œλΉ„μŠ€ 16 - Untactμ‹œλŒ€μ— ν™”μƒνšŒμ˜μ—μ„œ νŽΈν•˜κ²Œ λ°œν‘œν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” μ„œλΉ„μŠ€
17 +<br />
18 +<!-- μ£Όμš”κΈ°λŠ₯ -->
19 +## πŸ“œ μ£Όμš”κΈ°λŠ₯
20 +---
21 + - [**Web Speech API**](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API) && [**string-similarity API**](https://www.npmjs.com/package/) μ‚¬μš©
22 + - Real-time Script Output
23 +<br />
24 +<!-- Directory ꡬ쑰 -->
25 +## πŸ—‚ Directory ꡬ쑰
26 +---
27 +```bash
28 +Teleprompter-SST
29 +β”œβ”€β”€ client ---> Front-end
30 +β”‚ β”œβ”€β”€ public ---> 정적 파일 보관
31 +β”‚ β”‚ β”œβ”€β”€ favicon.ico
32 +β”‚ β”‚ β”œβ”€β”€ index.html
33 +β”‚ β”‚ β”œβ”€β”€ manifest.json
34 +β”‚ β”‚ └── robots.txt
35 +β”‚ β”œβ”€β”€ src
36 +β”‚ β”‚ β”œβ”€β”€ components
37 +β”‚ β”‚ β”‚ └── Teleprompter.js ---> μŒμ„±μΈμ‹ && λ¬Έμž₯μœ μ‚¬λ„ μˆ˜ν–‰
38 +β”‚ β”‚ β”œβ”€β”€ pages
39 +β”‚ β”‚ β”‚ β”œβ”€β”€ MainPage.js ---> 메인 ν™”λ©΄
40 +β”‚ β”‚ β”‚ └── PrompterPage.js ---> λŒ€λ³Έ 좜λ ₯ ν™”λ©΄
41 +β”‚ β”‚ β”œβ”€β”€ App.css
42 +β”‚ β”‚ β”œβ”€β”€ App.js ---> Router
43 +β”‚ β”‚ β”œβ”€β”€ App.test.js
44 +β”‚ β”‚ β”œβ”€β”€ index.css
45 +β”‚ β”‚ β”œβ”€β”€ index.js
46 +β”‚ β”‚ β”œβ”€β”€ reportWebVitals.js
47 +β”‚ β”‚ β”œβ”€β”€ serviceWorker.js
48 +β”‚ β”‚ β”œβ”€β”€ setupTests.js
49 +β”‚ β”‚ └── styles.js ---> PrompterPage.js Style
50 +β”‚ β”œβ”€β”€ .gitignore
51 +β”‚ β”œβ”€β”€ package-lock.json
52 +β”‚ β”œβ”€β”€ package.json
53 +β”‚ └── yarn.lock
54 +β”‚
55 +β”œβ”€β”€ .gitignore
56 +β”œβ”€β”€ LICENSE ---> MIT License
57 +β”œβ”€β”€ package-lock.json
58 +β”œβ”€β”€ package.json
59 +β”œβ”€β”€ README.md
60 +β”œβ”€β”€ server.js ---> Back-end
61 +└── yarn.lock
62 +```
63 +<br />
64 +<!-- μ„€μΉ˜ 방법 -->
7 65
66 +## ⌨️ μ„€μΉ˜ 방법
67 +---
8 68
9 -### μ£Όμš”κΈ°λŠ₯
10 - - Google Speech-to-Text API && ADAMS.ai λ¬Έμž₯ μœ μ‚¬λ„ API μ‚¬μš©
11 - - Real-time Script Output
12 69
70 +#### client 폴더 이동
71 +`$ cd Teleprompter-SST/client`
13 72
14 -### νŒ€μ› 73 +#### package.json에 λͺ…μ‹œλœ λͺ¨λ“ˆ μ„€μΉ˜
15 -- κΆŒλ™μ˜ (2016110307) 74 +`$ npm install`
75 +
76 +#### Teleprompter-SST 폴더 이동
77 +`$ cd ..`
78 +#### package.json에 λͺ…μ‹œλœ λͺ¨λ“ˆ μ„€μΉ˜
79 +`$ npm install`
80 +
81 +#### μ‹œμž‘
82 +`$ npm run dev`
16 83
84 +#### Local Address 접속
85 +`http://localhost:3000`
86 +
87 +
88 +<!-- νŒ€μ› -->
89 +## πŸ§‘β€πŸ’» νŒ€μ›
90 +---
91 +- κΆŒλ™μ˜ (2016110307)
17 - 김닀솔 (2017110268) 92 - 김닀솔 (2017110268)
18 93
19 -#### Start
20 -- `$ yarn global add create-react-app`
21 -- `$ create-react-app teleprompt-sst`
22 -- `$ yarn add @material-ui/core`
...\ No newline at end of file ...\ No newline at end of file
94 +
95 +<!-- document -->
96 +## πŸ“‹ Reference
97 +---
98 +- [**Web Speech API**](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API)
99 +- [**string-similarity API**](https://www.npmjs.com/package/)
100 +
101 +
102 +<!-- license -->
103 +## πŸ“‹ License
104 +---
105 +Teleprompter-SST is [MIT licensed](./LICENSE).
106 +<br></br>
107 +[πŸ‘†Back To The Top](#Teleprompter-SST)
...\ No newline at end of file ...\ No newline at end of file
......
This diff could not be displayed because it is too large.
...@@ -11,7 +11,9 @@ ...@@ -11,7 +11,9 @@
11 "react": "^17.0.1", 11 "react": "^17.0.1",
12 "react-dom": "^17.0.1", 12 "react-dom": "^17.0.1",
13 "react-router-dom": "^5.2.0", 13 "react-router-dom": "^5.2.0",
14 - "react-scripts": "4.0.1", 14 + "react-scripts": "^4.0.1",
15 + "string-similarity": "^4.0.3",
16 + "styled-components": "^5.2.1",
15 "web-vitals": "^0.2.4" 17 "web-vitals": "^0.2.4"
16 }, 18 },
17 "scripts": { 19 "scripts": {
......
...@@ -9,35 +9,12 @@ ...@@ -9,35 +9,12 @@
9 name="description" 9 name="description"
10 content="Web site created using create-react-app" 10 content="Web site created using create-react-app"
11 /> 11 />
12 - <!-- <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /> -->
13 - <!--
14 - manifest.json provides metadata used when your web app is installed on a
15 - user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
16 - -->
17 <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> 12 <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
18 - <!--
19 - Notice the use of %PUBLIC_URL% in the tags above.
20 - It will be replaced with the URL of the `public` folder during the build.
21 - Only files inside the `public` folder can be referenced from the HTML.
22 13
23 - Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
24 - work correctly both with client-side routing and a non-root public URL.
25 - Learn how to configure a non-root public URL by running `npm run build`.
26 - -->
27 <title>프둬프터 μ„œλΉ„μŠ€</title> 14 <title>프둬프터 μ„œλΉ„μŠ€</title>
28 </head> 15 </head>
29 <body> 16 <body>
30 <noscript>You need to enable JavaScript to run this app.</noscript> 17 <noscript>You need to enable JavaScript to run this app.</noscript>
31 <div id="root"></div> 18 <div id="root"></div>
32 - <!--
33 - This HTML file is a template.
34 - If you open it directly in the browser, you will see an empty page.
35 -
36 - You can add webfonts, meta tags, or analytics to this file.
37 - The build step will place the bundled scripts into the <body> tag.
38 -
39 - To begin the development, run `npm start` or `yarn start`.
40 - To create a production bundle, use `npm run build` or `yarn build`.
41 - -->
42 </body> 19 </body>
43 </html> 20 </html>
......
...@@ -2,6 +2,7 @@ import React, { Component } from 'react'; ...@@ -2,6 +2,7 @@ import React, { Component } from 'react';
2 import { Route } from 'react-router-dom'; 2 import { Route } from 'react-router-dom';
3 import MainPage from './pages/MainPage'; 3 import MainPage from './pages/MainPage';
4 import PrompterPage from './pages/PrompterPage'; 4 import PrompterPage from './pages/PrompterPage';
5 +// import test from './pages/test';
5 6
6 class App extends Component { 7 class App extends Component {
7 render() { 8 render() {
...@@ -9,6 +10,7 @@ class App extends Component { ...@@ -9,6 +10,7 @@ class App extends Component {
9 <> 10 <>
10 <Route path="/" component={MainPage} exact={true} /> 11 <Route path="/" component={MainPage} exact={true} />
11 <Route path="/prompter" component={PrompterPage} exact={true} /> 12 <Route path="/prompter" component={PrompterPage} exact={true} />
13 + {/* <Route path="/prompter" component={test} exact={true} /> */}
12 </> 14 </>
13 ); 15 );
14 } 16 }
......
1 +import React from 'react'
2 +import styled from 'styled-components'
3 +import stringSimilarity from 'string-similarity'
4 +
5 +const StyledTeleprompter = styled.div`
6 + font-size: 9rem;
7 + width: 100%;
8 + height: 56rem;
9 + scroll-behavior: smooth;
10 + overflow: scroll;
11 + display: block;
12 + margin-bottom: 1rem;
13 +`
14 +// Userκ°€ μ§€κΈˆ λ§ν•˜κ³  μžˆλŠ” 단어 style
15 +const Interim = styled.div`
16 + background: rgb(0, 0, 0, 0.25);
17 + color: white;
18 + flex: 0 0 auto;
19 + padding: 0.5rem;
20 + border-radius: 1rem;
21 + display: inline-block;
22 +`
23 +
24 +// Script λ¬Έμžμ—΄ 처리 ["I", "am", "happy"] -> "iamhappy"
25 +const onlyWord = (word) =>
26 + word
27 + .trim() // λ¬Έμžμ—΄ μ’Œμš°μ—μ„œ 곡백 제거
28 + .toLocaleLowerCase() // μ•ŒνŒŒλ²³ μ†Œλ¬Έμžλ‘œ λ³€ν™˜
29 + .replace(/[^κ°€-νž£γ„±-γ…Žγ…-γ…£a-z]/gi, '') // μ •κ·œμ‹μ„ μ΄μš©ν•΄ ν•œκΈ€ λ˜λŠ” μ•ŒνŒŒλ²³μ΄ μ•„λ‹Œ 문자 빈칸으둜 λ³€ν™˜
30 +
31 +export default function Teleprompter({ words, progress, listening, onChange }) {
32 + const recog = React.useRef(null)
33 + const scrollRef = React.useRef(null)
34 + const [ results, setResults ] = React.useState('')
35 +
36 + React.useEffect(() => {
37 + const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition
38 + recog.current = new SpeechRecognition()
39 + recog.current.continuous = true
40 + recog.current.interimResults = true
41 + }, [])
42 +
43 + React.useEffect(() => {
44 + if (listening) {
45 + recog.current.start()
46 + }
47 + else {
48 + recog.current.stop()
49 + }
50 + }, [listening])
51 +
52 + React.useEffect(() => {
53 + const handleResult = ({ results }) => {
54 + const interim = Array.from(results)
55 + .filter(r => !r.isFinal)
56 + .map(r => r[0].transcript)
57 + .join(' ')
58 + setResults(interim)
59 +
60 + const newIndex = interim
61 + .split(' ')
62 + .reduce((memo, word) => {
63 + if ( memo >= words.length) {
64 + return memo
65 + }
66 + const similarity = stringSimilarity.compareTwoStrings(
67 + onlyWord(word),
68 + onlyWord(words[memo])
69 + )
70 + memo +=
71 + similarity > 0.3 // μœ μ‚¬λ„ 민감도 μ„€μ •
72 + ? 1
73 + : 0
74 + return memo
75 + }, progress)
76 + if ( newIndex > progress && newIndex <= words.length ) {
77 + onChange(newIndex)
78 + }
79 + }
80 + recog.current.addEventListener(
81 + 'result',
82 + handleResult
83 + )
84 + return () => {
85 + recog.current.removeEventListener(
86 + 'result',
87 + handleResult
88 + )
89 + }
90 + }, [onChange, progress, words])
91 +
92 + React.useEffect(() => {
93 + /* eslint-disable no-unused-expressions */
94 + scrollRef.current
95 + .querySelector(
96 + `[data-index='${
97 + progress + 8 // ν˜„μž¬ μ§„ν–‰ μƒνƒœμ— 따라 Scroll μ„€μ •
98 + }']`
99 + )
100 + ?.scrollIntoView({
101 + behavior: 'smooth',
102 + block: 'nearest',
103 + inline: 'start'
104 + })
105 + }, [progress])
106 +
107 + return (
108 + <>
109 + <StyledTeleprompter ref={scrollRef}>
110 + {words.map((word, i) => (
111 + <span
112 + key={`${word}:${i}`}
113 + data-index={i}
114 + style={{
115 + color:
116 + i < progress
117 + ? '#000' // 아직 읽지 μ•Šμ€ wordλŠ” 흰색
118 + : '#ccc' // 읽은 wordλŠ” κ²€μ€μƒ‰μœΌλ‘œ λ³€κ²½
119 + }}
120 + >
121 + {word}{' '}
122 + </span>
123 + ))}
124 + </StyledTeleprompter>
125 + {results && ( <Interim>{results}</Interim> )}
126 + </>
127 + )
128 +}
...\ No newline at end of file ...\ No newline at end of file
...@@ -13,18 +13,4 @@ body { ...@@ -13,18 +13,4 @@ body {
13 code { 13 code {
14 font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", 14 font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
15 monospace; 15 monospace;
16 -} 16 +}
17 -
18 -/* body {
19 - margin: 0;
20 - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
21 - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
22 - sans-serif;
23 - -webkit-font-smoothing: antialiased;
24 - -moz-osx-font-smoothing: grayscale;
25 -}
26 -
27 -code {
28 - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
29 - monospace;
30 -} */
...\ No newline at end of file ...\ No newline at end of file
......
1 -import React, { Component, Fragment } from 'react'; 1 +import React, { Fragment } from 'react';
2 +import axios from 'axios'
3 +import {
4 + GlobalStyles,
5 + StyledApp,
6 + StyledTeleprompter as Teleprompter,
7 + Controls,
8 + Buttons,
9 + Button,
10 +} from "../styles";
2 // import { withStyles, Typography, Paper, Button, TextField} from '@material-ui/core'; 11 // import { withStyles, Typography, Paper, Button, TextField} from '@material-ui/core';
3 12
4 // const styles = theme => ({ 13 // const styles = theme => ({
...@@ -30,17 +39,57 @@ import React, { Component, Fragment } from 'react'; ...@@ -30,17 +39,57 @@ import React, { Component, Fragment } from 'react';
30 // }, 39 // },
31 // }); 40 // });
32 41
33 -class PrompterPage extends Component { 42 +// const INITIAL_TEXT = ``;
34 43
35 - render() { 44 +function PrompterPage() {
36 - // const { classes } = this.props; 45 + const [listening, setListening] = React.useState(false);
37 - return ( 46 + const [words, setWords] = React.useState("".split(" "));
38 - <Fragment> 47 + // const [words, setWords] = React.useState("");
39 - <h1>{this.props.script}</h1> 48 + const [progress, setProgress] = React.useState(0);
40 - </Fragment> 49 +
41 - ); 50 + // Serverλ‘œλΆ€ν„° Script λ°›μ•„μ˜΄
51 + axios.get("api/script")
52 + .then(res => { // .then : 응닡(μƒνƒœμ½”λ“œ200~300미만)μ„±κ³΅μ‹œ
53 + console.log(res.data);
54 + setWords(res.data.split(" ")); // λ°›μ•„μ˜¨ Script λ¬Έμžμ—΄ 처리
55 + })
56 + .catch(error => {
57 + console.log(error);
58 + });
59 +
60 +
61 + // const handleInput = (e) => {
62 + // setWords(e.target.value.split(" "));
63 + // progress && setProgress(0);
64 + // };
65 +
66 + const handleListening = () => {
67 + if (listening) {
68 + setListening(false);
69 + } else {
70 + setProgress(0);
71 + setListening(true);
42 } 72 }
73 + };
74 +
75 + const handleReset = () => setProgress(0);
76 +
77 + const handleChange = (progress) => setProgress(progress);
78 +
79 + return (
80 + <>
81 + <GlobalStyles />
82 + <StyledApp>
83 + <Controls>
84 + <Buttons>
85 + <Button onClick={handleListening}>{listening ? "Stop" : "Start"}</Button>
86 + <Button onClick={handleReset} disabled={listening} secondary>Reset</Button>
87 + </Buttons>
88 + </Controls>
89 + <Teleprompter words={words} listening={listening} progress={progress} onChange={handleChange} />
90 + </StyledApp>
91 + </>
92 + );
43 } 93 }
44 94
45 -// export default withStyles(styles)(PrompterPage);
46 export default PrompterPage; 95 export default PrompterPage;
...\ No newline at end of file ...\ No newline at end of file
......
1 +import styled, { createGlobalStyle, css } from "styled-components";
2 +import Teleprompter from "./components/Teleprompter";
3 +
4 +export const GlobalStyles = createGlobalStyle`
5 + * {
6 + box-sizing: border-box;
7 + }
8 + html,
9 + body,
10 + #root {
11 + height: 100%;
12 + font-family: sans-serif;
13 + margin: 0;
14 + overflow: hidden;
15 + background: #282828;
16 + }
17 +`;
18 +
19 +export const StyledApp = styled.div`
20 + font-family: sans-serif;
21 + text-align: center;
22 + height: 100%;
23 + height: 100vh;
24 + margin: 1rem;
25 +`;
26 +
27 +export const StyledTeleprompter = styled(Teleprompter)`
28 + display: flex;
29 + flex-direction: column;
30 + justify-content: space-around;
31 + height: 100%;
32 +`;
33 +
34 +export const Controls = styled.div`
35 + display: flex;
36 + flex-direction: column;
37 + margin-bottom: 1rem;
38 +`;
39 +
40 +export const Buttons = styled.div`
41 + display: flex;
42 + justify-content: flex-start;
43 +`;
44 +
45 +export const Input = styled.textarea`
46 + height: 5rem;
47 + border: 1px solid rgb(0, 0, 0, 0.25);
48 + padding: 0.5rem;
49 + font-family: Tahoma, sans-serif;
50 + background: transparent;
51 + margin-bottom: 1rem;
52 + width: 100%;
53 +`;
54 +
55 +export const Button = styled.button`
56 + display: inline-block;
57 + border: none;
58 + padding: 0.5rem 1rem;
59 + margin: 0;
60 + text-decoration: none;
61 + background: #666ba5;
62 + border: 1px solid rgb(0, 0, 0, 0.25);
63 + color: white;
64 + font-size: 1rem;
65 + cursor: pointer;
66 + text-align: center;
67 + transition: background 250ms ease-in-out, transform 150ms ease;
68 + margin-right: 1rem;
69 + min-width: 5rem;
70 + ${(p) =>
71 + p.secondary &&
72 + css`
73 + background: #666;
74 + `}
75 + &:last-child {
76 + margin-right: 0;
77 + }
78 + &:hover,
79 + &:focus {
80 + transform: scale(1.1);
81 + }
82 + &:focus {
83 + outline: 1px solid #fff;
84 + }
85 + &:active {
86 + transform: scale(0.99);
87 + }
88 +`;
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
67 jsesc "^2.5.1" 67 jsesc "^2.5.1"
68 source-map "^0.5.0" 68 source-map "^0.5.0"
69 69
70 -"@babel/helper-annotate-as-pure@^7.10.4": 70 +"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.4":
71 version "7.10.4" 71 version "7.10.4"
72 resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" 72 resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
73 integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== 73 integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
...@@ -1116,6 +1116,21 @@ ...@@ -1116,6 +1116,21 @@
1116 globals "^11.1.0" 1116 globals "^11.1.0"
1117 lodash "^4.17.19" 1117 lodash "^4.17.19"
1118 1118
1119 +"@babel/traverse@^7.4.5":
1120 + version "7.12.9"
1121 + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f"
1122 + integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==
1123 + dependencies:
1124 + "@babel/code-frame" "^7.10.4"
1125 + "@babel/generator" "^7.12.5"
1126 + "@babel/helper-function-name" "^7.10.4"
1127 + "@babel/helper-split-export-declaration" "^7.11.0"
1128 + "@babel/parser" "^7.12.7"
1129 + "@babel/types" "^7.12.7"
1130 + debug "^4.1.0"
1131 + globals "^11.1.0"
1132 + lodash "^4.17.19"
1133 +
1119 "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": 1134 "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
1120 version "7.12.7" 1135 version "7.12.7"
1121 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13" 1136 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13"
...@@ -1153,6 +1168,28 @@ ...@@ -1153,6 +1168,28 @@
1153 resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" 1168 resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
1154 integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== 1169 integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
1155 1170
1171 +"@emotion/is-prop-valid@^0.8.8":
1172 + version "0.8.8"
1173 + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
1174 + integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
1175 + dependencies:
1176 + "@emotion/memoize" "0.7.4"
1177 +
1178 +"@emotion/memoize@0.7.4":
1179 + version "0.7.4"
1180 + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
1181 + integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
1182 +
1183 +"@emotion/stylis@^0.8.4":
1184 + version "0.8.5"
1185 + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
1186 + integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
1187 +
1188 +"@emotion/unitless@^0.7.4":
1189 + version "0.7.5"
1190 + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
1191 + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
1192 +
1156 "@eslint/eslintrc@^0.2.1": 1193 "@eslint/eslintrc@^0.2.1":
1157 version "0.2.1" 1194 version "0.2.1"
1158 resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" 1195 resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c"
...@@ -2654,6 +2691,21 @@ babel-plugin-named-asset-import@^0.3.7: ...@@ -2654,6 +2691,21 @@ babel-plugin-named-asset-import@^0.3.7:
2654 resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" 2691 resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd"
2655 integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== 2692 integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==
2656 2693
2694 +"babel-plugin-styled-components@>= 1":
2695 + version "1.12.0"
2696 + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz#1dec1676512177de6b827211e9eda5a30db4f9b9"
2697 + integrity sha512-FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA==
2698 + dependencies:
2699 + "@babel/helper-annotate-as-pure" "^7.0.0"
2700 + "@babel/helper-module-imports" "^7.0.0"
2701 + babel-plugin-syntax-jsx "^6.18.0"
2702 + lodash "^4.17.11"
2703 +
2704 +babel-plugin-syntax-jsx@^6.18.0:
2705 + version "6.18.0"
2706 + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
2707 + integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
2708 +
2657 babel-plugin-syntax-object-rest-spread@^6.8.0: 2709 babel-plugin-syntax-object-rest-spread@^6.8.0:
2658 version "6.13.0" 2710 version "6.13.0"
2659 resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" 2711 resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
...@@ -3130,6 +3182,11 @@ camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0: ...@@ -3130,6 +3182,11 @@ camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0:
3130 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" 3182 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
3131 integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== 3183 integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
3132 3184
3185 +camelize@^1.0.0:
3186 + version "1.0.0"
3187 + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
3188 + integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
3189 +
3133 caniuse-api@^3.0.0: 3190 caniuse-api@^3.0.0:
3134 version "3.0.0" 3191 version "3.0.0"
3135 resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" 3192 resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
...@@ -3682,6 +3739,11 @@ css-blank-pseudo@^0.1.4: ...@@ -3682,6 +3739,11 @@ css-blank-pseudo@^0.1.4:
3682 dependencies: 3739 dependencies:
3683 postcss "^7.0.5" 3740 postcss "^7.0.5"
3684 3741
3742 +css-color-keywords@^1.0.0:
3743 + version "1.0.0"
3744 + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
3745 + integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
3746 +
3685 css-color-names@0.0.4, css-color-names@^0.0.4: 3747 css-color-names@0.0.4, css-color-names@^0.0.4:
3686 version "0.0.4" 3748 version "0.0.4"
3687 resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" 3749 resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
...@@ -3753,6 +3815,15 @@ css-select@^2.0.0: ...@@ -3753,6 +3815,15 @@ css-select@^2.0.0:
3753 domutils "^1.7.0" 3815 domutils "^1.7.0"
3754 nth-check "^1.0.2" 3816 nth-check "^1.0.2"
3755 3817
3818 +css-to-react-native@^3.0.0:
3819 + version "3.0.0"
3820 + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756"
3821 + integrity sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==
3822 + dependencies:
3823 + camelize "^1.0.0"
3824 + css-color-keywords "^1.0.0"
3825 + postcss-value-parser "^4.0.2"
3826 +
3756 css-tree@1.0.0-alpha.37: 3827 css-tree@1.0.0-alpha.37:
3757 version "1.0.0-alpha.37" 3828 version "1.0.0-alpha.37"
3758 resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" 3829 resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
...@@ -5539,7 +5610,7 @@ hmac-drbg@^1.0.0: ...@@ -5539,7 +5610,7 @@ hmac-drbg@^1.0.0:
5539 minimalistic-assert "^1.0.0" 5610 minimalistic-assert "^1.0.0"
5540 minimalistic-crypto-utils "^1.0.1" 5611 minimalistic-crypto-utils "^1.0.1"
5541 5612
5542 -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: 5613 +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2:
5543 version "3.3.2" 5614 version "3.3.2"
5544 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" 5615 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
5545 integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== 5616 integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
...@@ -9235,7 +9306,7 @@ react-router@5.2.0: ...@@ -9235,7 +9306,7 @@ react-router@5.2.0:
9235 tiny-invariant "^1.0.2" 9306 tiny-invariant "^1.0.2"
9236 tiny-warning "^1.0.0" 9307 tiny-warning "^1.0.0"
9237 9308
9238 -react-scripts@4.0.1: 9309 +react-scripts@^4.0.1:
9239 version "4.0.1" 9310 version "4.0.1"
9240 resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-4.0.1.tgz#34974c0f4cfdf1655906c95df6a04d80db8b88f0" 9311 resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-4.0.1.tgz#34974c0f4cfdf1655906c95df6a04d80db8b88f0"
9241 integrity sha512-NnniMSC/wjwhcJAyPJCWtxx6CWONqgvGgV9+QXj1bwoW/JI++YF1eEf3Upf/mQ9KmP57IBdjzWs1XvnPq7qMTQ== 9312 integrity sha512-NnniMSC/wjwhcJAyPJCWtxx6CWONqgvGgV9+QXj1bwoW/JI++YF1eEf3Upf/mQ9KmP57IBdjzWs1XvnPq7qMTQ==
...@@ -9998,6 +10069,11 @@ shallow-clone@^3.0.0: ...@@ -9998,6 +10069,11 @@ shallow-clone@^3.0.0:
9998 dependencies: 10069 dependencies:
9999 kind-of "^6.0.2" 10070 kind-of "^6.0.2"
10000 10071
10072 +shallowequal@^1.1.0:
10073 + version "1.1.0"
10074 + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
10075 + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
10076 +
10001 shebang-command@^1.2.0: 10077 shebang-command@^1.2.0:
10002 version "1.2.0" 10078 version "1.2.0"
10003 resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 10079 resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
...@@ -10361,6 +10437,11 @@ string-natural-compare@^3.0.1: ...@@ -10361,6 +10437,11 @@ string-natural-compare@^3.0.1:
10361 resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" 10437 resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4"
10362 integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== 10438 integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==
10363 10439
10440 +string-similarity@^4.0.3:
10441 + version "4.0.3"
10442 + resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.3.tgz#ef52d6fc59c8a0fc93b6307fbbc08cc6e18cde21"
10443 + integrity sha512-QEwJzNFCqq+5AGImk5z4vbsEPTN/+gtyKfXBVLBcbPBRPNganZGfQnIuf9yJ+GiwSnD65sT8xrw/uwU1Q1WmfQ==
10444 +
10364 string-width@^3.0.0, string-width@^3.1.0: 10445 string-width@^3.0.0, string-width@^3.1.0:
10365 version "3.1.0" 10446 version "3.1.0"
10366 resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 10447 resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
...@@ -10500,6 +10581,22 @@ style-loader@1.3.0: ...@@ -10500,6 +10581,22 @@ style-loader@1.3.0:
10500 loader-utils "^2.0.0" 10581 loader-utils "^2.0.0"
10501 schema-utils "^2.7.0" 10582 schema-utils "^2.7.0"
10502 10583
10584 +styled-components@^5.2.1:
10585 + version "5.2.1"
10586 + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.2.1.tgz#6ed7fad2dc233825f64c719ffbdedd84ad79101a"
10587 + integrity sha512-sBdgLWrCFTKtmZm/9x7jkIabjFNVzCUeKfoQsM6R3saImkUnjx0QYdLwJHBjY9ifEcmjDamJDVfknWm1yxZPxQ==
10588 + dependencies:
10589 + "@babel/helper-module-imports" "^7.0.0"
10590 + "@babel/traverse" "^7.4.5"
10591 + "@emotion/is-prop-valid" "^0.8.8"
10592 + "@emotion/stylis" "^0.8.4"
10593 + "@emotion/unitless" "^0.7.4"
10594 + babel-plugin-styled-components ">= 1"
10595 + css-to-react-native "^3.0.0"
10596 + hoist-non-react-statics "^3.0.0"
10597 + shallowequal "^1.1.0"
10598 + supports-color "^5.5.0"
10599 +
10503 stylehacks@^4.0.0: 10600 stylehacks@^4.0.0:
10504 version "4.0.3" 10601 version "4.0.3"
10505 resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" 10602 resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
...@@ -10509,7 +10606,7 @@ stylehacks@^4.0.0: ...@@ -10509,7 +10606,7 @@ stylehacks@^4.0.0:
10509 postcss "^7.0.0" 10606 postcss "^7.0.0"
10510 postcss-selector-parser "^3.0.0" 10607 postcss-selector-parser "^3.0.0"
10511 10608
10512 -supports-color@^5.3.0: 10609 +supports-color@^5.3.0, supports-color@^5.5.0:
10513 version "5.5.0" 10610 version "5.5.0"
10514 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 10611 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
10515 integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 10612 integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
......
...@@ -4,6 +4,233 @@ ...@@ -4,6 +4,233 @@
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
7 + "@google-cloud/common": {
8 + "version": "3.5.0",
9 + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.5.0.tgz",
10 + "integrity": "sha512-10d7ZAvKhq47L271AqvHEd8KzJqGU45TY+rwM2Z3JHuB070FeTi7oJJd7elfrnKaEvaktw3hH2wKnRWxk/3oWQ==",
11 + "requires": {
12 + "@google-cloud/projectify": "^2.0.0",
13 + "@google-cloud/promisify": "^2.0.0",
14 + "arrify": "^2.0.1",
15 + "duplexify": "^4.1.1",
16 + "ent": "^2.2.0",
17 + "extend": "^3.0.2",
18 + "google-auth-library": "^6.1.1",
19 + "retry-request": "^4.1.1",
20 + "teeny-request": "^7.0.0"
21 + }
22 + },
23 + "@google-cloud/projectify": {
24 + "version": "2.0.1",
25 + "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.0.1.tgz",
26 + "integrity": "sha512-ZDG38U/Yy6Zr21LaR3BTiiLtpJl6RkPS/JwoRT453G+6Q1DhlV0waNf8Lfu+YVYGIIxgKnLayJRfYlFJfiI8iQ=="
27 + },
28 + "@google-cloud/promisify": {
29 + "version": "2.0.3",
30 + "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz",
31 + "integrity": "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw=="
32 + },
33 + "@google-cloud/speech": {
34 + "version": "4.1.4",
35 + "resolved": "https://registry.npmjs.org/@google-cloud/speech/-/speech-4.1.4.tgz",
36 + "integrity": "sha512-jZ64E5tYe04mUsWA3j0kqC0AeT9OPtTRPJTg4QoGT8O7aAJInTmU06xRpGLN2ZDVRxZAAuaQiMkTWOkXS2eVag==",
37 + "requires": {
38 + "@google-cloud/common": "^3.0.0",
39 + "@types/pumpify": "^1.4.1",
40 + "google-gax": "^2.9.2",
41 + "protobufjs": "^6.8.6",
42 + "pumpify": "^2.0.0",
43 + "stream-events": "^1.0.4"
44 + }
45 + },
46 + "@grpc/grpc-js": {
47 + "version": "1.1.8",
48 + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.8.tgz",
49 + "integrity": "sha512-64hg5rmEm6F/NvlWERhHmmgxbWU8nD2TMWE+9TvG7/WcOrFT3fzg/Uu631pXRFwmJ4aWO/kp9vVSlr8FUjBDLA==",
50 + "requires": {
51 + "@grpc/proto-loader": "^0.6.0-pre14",
52 + "@types/node": "^12.12.47",
53 + "google-auth-library": "^6.0.0",
54 + "semver": "^6.2.0"
55 + },
56 + "dependencies": {
57 + "@grpc/proto-loader": {
58 + "version": "0.6.0-pre9",
59 + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.0-pre9.tgz",
60 + "integrity": "sha512-oM+LjpEjNzW5pNJjt4/hq1HYayNeQT+eGrOPABJnYHv7TyNPDNzkQ76rDYZF86X5swJOa4EujEMzQ9iiTdPgww==",
61 + "requires": {
62 + "@types/long": "^4.0.1",
63 + "lodash.camelcase": "^4.3.0",
64 + "long": "^4.0.0",
65 + "protobufjs": "^6.9.0",
66 + "yargs": "^15.3.1"
67 + }
68 + },
69 + "@types/node": {
70 + "version": "12.19.8",
71 + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.8.tgz",
72 + "integrity": "sha512-D4k2kNi0URNBxIRCb1khTnkWNHv8KSL1owPmS/K5e5t8B2GzMReY7AsJIY1BnP5KdlgC4rj9jk2IkDMasIE7xg=="
73 + },
74 + "ansi-regex": {
75 + "version": "5.0.0",
76 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
77 + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
78 + },
79 + "cliui": {
80 + "version": "6.0.0",
81 + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
82 + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
83 + "requires": {
84 + "string-width": "^4.2.0",
85 + "strip-ansi": "^6.0.0",
86 + "wrap-ansi": "^6.2.0"
87 + }
88 + },
89 + "find-up": {
90 + "version": "4.1.0",
91 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
92 + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
93 + "requires": {
94 + "locate-path": "^5.0.0",
95 + "path-exists": "^4.0.0"
96 + }
97 + },
98 + "locate-path": {
99 + "version": "5.0.0",
100 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
101 + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
102 + "requires": {
103 + "p-locate": "^4.1.0"
104 + }
105 + },
106 + "p-locate": {
107 + "version": "4.1.0",
108 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
109 + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
110 + "requires": {
111 + "p-limit": "^2.2.0"
112 + }
113 + },
114 + "path-exists": {
115 + "version": "4.0.0",
116 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
117 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
118 + },
119 + "semver": {
120 + "version": "6.3.0",
121 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
122 + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
123 + },
124 + "strip-ansi": {
125 + "version": "6.0.0",
126 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
127 + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
128 + "requires": {
129 + "ansi-regex": "^5.0.0"
130 + }
131 + },
132 + "wrap-ansi": {
133 + "version": "6.2.0",
134 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
135 + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
136 + "requires": {
137 + "ansi-styles": "^4.0.0",
138 + "string-width": "^4.1.0",
139 + "strip-ansi": "^6.0.0"
140 + }
141 + },
142 + "yargs": {
143 + "version": "15.4.1",
144 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
145 + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
146 + "requires": {
147 + "cliui": "^6.0.0",
148 + "decamelize": "^1.2.0",
149 + "find-up": "^4.1.0",
150 + "get-caller-file": "^2.0.1",
151 + "require-directory": "^2.1.1",
152 + "require-main-filename": "^2.0.0",
153 + "set-blocking": "^2.0.0",
154 + "string-width": "^4.2.0",
155 + "which-module": "^2.0.0",
156 + "y18n": "^4.0.0",
157 + "yargs-parser": "^18.1.2"
158 + }
159 + },
160 + "yargs-parser": {
161 + "version": "18.1.3",
162 + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
163 + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
164 + "requires": {
165 + "camelcase": "^5.0.0",
166 + "decamelize": "^1.2.0"
167 + }
168 + }
169 + }
170 + },
171 + "@grpc/proto-loader": {
172 + "version": "0.5.5",
173 + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.5.5.tgz",
174 + "integrity": "sha512-WwN9jVNdHRQoOBo9FDH7qU+mgfjPc8GygPYms3M+y3fbQLfnCe/Kv/E01t7JRgnrsOHH8euvSbed3mIalXhwqQ==",
175 + "requires": {
176 + "lodash.camelcase": "^4.3.0",
177 + "protobufjs": "^6.8.6"
178 + }
179 + },
180 + "@protobufjs/aspromise": {
181 + "version": "1.1.2",
182 + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
183 + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
184 + },
185 + "@protobufjs/base64": {
186 + "version": "1.1.2",
187 + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
188 + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
189 + },
190 + "@protobufjs/codegen": {
191 + "version": "2.0.4",
192 + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
193 + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
194 + },
195 + "@protobufjs/eventemitter": {
196 + "version": "1.1.0",
197 + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
198 + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
199 + },
200 + "@protobufjs/fetch": {
201 + "version": "1.1.0",
202 + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
203 + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
204 + "requires": {
205 + "@protobufjs/aspromise": "^1.1.1",
206 + "@protobufjs/inquire": "^1.1.0"
207 + }
208 + },
209 + "@protobufjs/float": {
210 + "version": "1.0.2",
211 + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
212 + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
213 + },
214 + "@protobufjs/inquire": {
215 + "version": "1.1.0",
216 + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
217 + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
218 + },
219 + "@protobufjs/path": {
220 + "version": "1.1.2",
221 + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
222 + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
223 + },
224 + "@protobufjs/pool": {
225 + "version": "1.1.0",
226 + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
227 + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
228 + },
229 + "@protobufjs/utf8": {
230 + "version": "1.1.0",
231 + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
232 + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
233 + },
7 "@sindresorhus/is": { 234 "@sindresorhus/is": {
8 "version": "0.14.0", 235 "version": "0.14.0",
9 "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", 236 "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
...@@ -19,12 +246,52 @@ ...@@ -19,12 +246,52 @@
19 "defer-to-connect": "^1.0.1" 246 "defer-to-connect": "^1.0.1"
20 } 247 }
21 }, 248 },
249 + "@tootallnate/once": {
250 + "version": "1.1.2",
251 + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
252 + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
253 + },
254 + "@types/duplexify": {
255 + "version": "3.6.0",
256 + "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz",
257 + "integrity": "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==",
258 + "requires": {
259 + "@types/node": "*"
260 + }
261 + },
262 + "@types/long": {
263 + "version": "4.0.1",
264 + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz",
265 + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w=="
266 + },
267 + "@types/node": {
268 + "version": "14.14.10",
269 + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
270 + "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
271 + },
272 + "@types/pumpify": {
273 + "version": "1.4.1",
274 + "resolved": "https://registry.npmjs.org/@types/pumpify/-/pumpify-1.4.1.tgz",
275 + "integrity": "sha512-l7u/Dnh1OG9T7VH6TvulR0g8oE8hgIW5409mSUKi8Vxw2+JV18aTa06Sv5bvNjrD0zbsB/cuZ/iTFQgFNfzIuw==",
276 + "requires": {
277 + "@types/duplexify": "*",
278 + "@types/node": "*"
279 + }
280 + },
22 "abbrev": { 281 "abbrev": {
23 "version": "1.1.1", 282 "version": "1.1.1",
24 "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 283 "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
25 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 284 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
26 "dev": true 285 "dev": true
27 }, 286 },
287 + "abort-controller": {
288 + "version": "3.0.0",
289 + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
290 + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
291 + "requires": {
292 + "event-target-shim": "^5.0.0"
293 + }
294 + },
28 "accepts": { 295 "accepts": {
29 "version": "1.3.7", 296 "version": "1.3.7",
30 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 297 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
...@@ -34,6 +301,29 @@ ...@@ -34,6 +301,29 @@
34 "negotiator": "0.6.2" 301 "negotiator": "0.6.2"
35 } 302 }
36 }, 303 },
304 + "agent-base": {
305 + "version": "6.0.2",
306 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
307 + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
308 + "requires": {
309 + "debug": "4"
310 + },
311 + "dependencies": {
312 + "debug": {
313 + "version": "4.3.1",
314 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
315 + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
316 + "requires": {
317 + "ms": "2.1.2"
318 + }
319 + },
320 + "ms": {
321 + "version": "2.1.2",
322 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
323 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
324 + }
325 + }
326 + },
37 "ansi-align": { 327 "ansi-align": {
38 "version": "3.0.0", 328 "version": "3.0.0",
39 "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", 329 "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz",
...@@ -66,7 +356,6 @@ ...@@ -66,7 +356,6 @@
66 "version": "4.3.0", 356 "version": "4.3.0",
67 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 357 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
68 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 358 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
69 - "dev": true,
70 "requires": { 359 "requires": {
71 "color-convert": "^2.0.1" 360 "color-convert": "^2.0.1"
72 } 361 }
...@@ -91,12 +380,27 @@ ...@@ -91,12 +380,27 @@
91 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 380 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
92 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 381 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
93 }, 382 },
383 + "arrify": {
384 + "version": "2.0.1",
385 + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
386 + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
387 + },
94 "balanced-match": { 388 "balanced-match": {
95 "version": "1.0.0", 389 "version": "1.0.0",
96 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 390 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
97 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 391 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
98 "dev": true 392 "dev": true
99 }, 393 },
394 + "base64-js": {
395 + "version": "1.5.1",
396 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
397 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
398 + },
399 + "bignumber.js": {
400 + "version": "9.0.1",
401 + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz",
402 + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA=="
403 + },
100 "binary-extensions": { 404 "binary-extensions": {
101 "version": "2.1.0", 405 "version": "2.1.0",
102 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", 406 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
...@@ -155,6 +459,11 @@ ...@@ -155,6 +459,11 @@
155 "fill-range": "^7.0.1" 459 "fill-range": "^7.0.1"
156 } 460 }
157 }, 461 },
462 + "buffer-equal-constant-time": {
463 + "version": "1.0.1",
464 + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
465 + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
466 + },
158 "buffer-from": { 467 "buffer-from": {
159 "version": "1.1.1", 468 "version": "1.1.1",
160 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 469 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
...@@ -209,8 +518,7 @@ ...@@ -209,8 +518,7 @@
209 "camelcase": { 518 "camelcase": {
210 "version": "5.3.1", 519 "version": "5.3.1",
211 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 520 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
212 - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 521 + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
213 - "dev": true
214 }, 522 },
215 "chalk": { 523 "chalk": {
216 "version": "3.0.0", 524 "version": "3.0.0",
...@@ -304,7 +612,6 @@ ...@@ -304,7 +612,6 @@
304 "version": "2.0.1", 612 "version": "2.0.1",
305 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 613 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
306 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 614 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
307 - "dev": true,
308 "requires": { 615 "requires": {
309 "color-name": "~1.1.4" 616 "color-name": "~1.1.4"
310 } 617 }
...@@ -312,8 +619,7 @@ ...@@ -312,8 +619,7 @@
312 "color-name": { 619 "color-name": {
313 "version": "1.1.4", 620 "version": "1.1.4",
314 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 621 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
315 - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 622 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
316 - "dev": true
317 }, 623 },
318 "concat-map": { 624 "concat-map": {
319 "version": "0.0.1", 625 "version": "0.0.1",
...@@ -500,8 +806,7 @@ ...@@ -500,8 +806,7 @@
500 "decamelize": { 806 "decamelize": {
501 "version": "1.2.0", 807 "version": "1.2.0",
502 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 808 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
503 - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 809 + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
504 - "dev": true
505 }, 810 },
506 "decompress-response": { 811 "decompress-response": {
507 "version": "3.3.0", 812 "version": "3.3.0",
...@@ -558,6 +863,50 @@ ...@@ -558,6 +863,50 @@
558 "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", 863 "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
559 "dev": true 864 "dev": true
560 }, 865 },
866 + "duplexify": {
867 + "version": "4.1.1",
868 + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz",
869 + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==",
870 + "requires": {
871 + "end-of-stream": "^1.4.1",
872 + "inherits": "^2.0.3",
873 + "readable-stream": "^3.1.1",
874 + "stream-shift": "^1.0.0"
875 + },
876 + "dependencies": {
877 + "readable-stream": {
878 + "version": "3.6.0",
879 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
880 + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
881 + "requires": {
882 + "inherits": "^2.0.3",
883 + "string_decoder": "^1.1.1",
884 + "util-deprecate": "^1.0.1"
885 + }
886 + },
887 + "safe-buffer": {
888 + "version": "5.2.1",
889 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
890 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
891 + },
892 + "string_decoder": {
893 + "version": "1.3.0",
894 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
895 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
896 + "requires": {
897 + "safe-buffer": "~5.2.0"
898 + }
899 + }
900 + }
901 + },
902 + "ecdsa-sig-formatter": {
903 + "version": "1.0.11",
904 + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
905 + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
906 + "requires": {
907 + "safe-buffer": "^5.0.1"
908 + }
909 + },
561 "ee-first": { 910 "ee-first": {
562 "version": "1.1.1", 911 "version": "1.1.1",
563 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 912 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
...@@ -578,11 +927,15 @@ ...@@ -578,11 +927,15 @@
578 "version": "1.4.4", 927 "version": "1.4.4",
579 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 928 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
580 "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 929 "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
581 - "dev": true,
582 "requires": { 930 "requires": {
583 "once": "^1.4.0" 931 "once": "^1.4.0"
584 } 932 }
585 }, 933 },
934 + "ent": {
935 + "version": "2.2.0",
936 + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
937 + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0="
938 + },
586 "error-ex": { 939 "error-ex": {
587 "version": "1.3.2", 940 "version": "1.3.2",
588 "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 941 "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
...@@ -614,6 +967,11 @@ ...@@ -614,6 +967,11 @@
614 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 967 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
615 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 968 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
616 }, 969 },
970 + "event-target-shim": {
971 + "version": "5.0.1",
972 + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
973 + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
974 + },
617 "express": { 975 "express": {
618 "version": "4.17.1", 976 "version": "4.17.1",
619 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 977 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
...@@ -670,6 +1028,16 @@ ...@@ -670,6 +1028,16 @@
670 } 1028 }
671 } 1029 }
672 }, 1030 },
1031 + "extend": {
1032 + "version": "3.0.2",
1033 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1034 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1035 + },
1036 + "fast-text-encoding": {
1037 + "version": "1.0.3",
1038 + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz",
1039 + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig=="
1040 + },
673 "fill-range": { 1041 "fill-range": {
674 "version": "7.0.1", 1042 "version": "7.0.1",
675 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1043 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
...@@ -725,11 +1093,31 @@ ...@@ -725,11 +1093,31 @@
725 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1093 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
726 "dev": true 1094 "dev": true
727 }, 1095 },
1096 + "gaxios": {
1097 + "version": "4.0.1",
1098 + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.0.1.tgz",
1099 + "integrity": "sha512-jOin8xRZ/UytQeBpSXFqIzqU7Fi5TqgPNLlUsSB8kjJ76+FiGBfImF8KJu++c6J4jOldfJUtt0YmkRj2ZpSHTQ==",
1100 + "requires": {
1101 + "abort-controller": "^3.0.0",
1102 + "extend": "^3.0.2",
1103 + "https-proxy-agent": "^5.0.0",
1104 + "is-stream": "^2.0.0",
1105 + "node-fetch": "^2.3.0"
1106 + }
1107 + },
1108 + "gcp-metadata": {
1109 + "version": "4.2.1",
1110 + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.2.1.tgz",
1111 + "integrity": "sha512-tSk+REe5iq/N+K+SK1XjZJUrFPuDqGZVzCy2vocIHIGmPlTGsa8owXMJwGkrXr73NO0AzhPW4MF2DEHz7P2AVw==",
1112 + "requires": {
1113 + "gaxios": "^4.0.0",
1114 + "json-bigint": "^1.0.0"
1115 + }
1116 + },
728 "get-caller-file": { 1117 "get-caller-file": {
729 "version": "2.0.5", 1118 "version": "2.0.5",
730 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1119 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
731 - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1120 + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
732 - "dev": true
733 }, 1121 },
734 "get-stream": { 1122 "get-stream": {
735 "version": "4.1.0", 1123 "version": "4.1.0",
...@@ -758,6 +1146,47 @@ ...@@ -758,6 +1146,47 @@
758 "ini": "^1.3.5" 1146 "ini": "^1.3.5"
759 } 1147 }
760 }, 1148 },
1149 + "google-auth-library": {
1150 + "version": "6.1.3",
1151 + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.1.3.tgz",
1152 + "integrity": "sha512-m9mwvY3GWbr7ZYEbl61isWmk+fvTmOt0YNUfPOUY2VH8K5pZlAIWJjxEi0PqR3OjMretyiQLI6GURMrPSwHQ2g==",
1153 + "requires": {
1154 + "arrify": "^2.0.0",
1155 + "base64-js": "^1.3.0",
1156 + "ecdsa-sig-formatter": "^1.0.11",
1157 + "fast-text-encoding": "^1.0.0",
1158 + "gaxios": "^4.0.0",
1159 + "gcp-metadata": "^4.2.0",
1160 + "gtoken": "^5.0.4",
1161 + "jws": "^4.0.0",
1162 + "lru-cache": "^6.0.0"
1163 + }
1164 + },
1165 + "google-gax": {
1166 + "version": "2.9.2",
1167 + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.9.2.tgz",
1168 + "integrity": "sha512-Pve4osEzNKpBZqFXMfGKBbKCtgnHpUe5IQMh5Ou+Xtg8nLcba94L3gF0xgM5phMdGRRqJn0SMjcuEVmOYu7EBg==",
1169 + "requires": {
1170 + "@grpc/grpc-js": "~1.1.1",
1171 + "@grpc/proto-loader": "^0.5.1",
1172 + "@types/long": "^4.0.0",
1173 + "abort-controller": "^3.0.0",
1174 + "duplexify": "^4.0.0",
1175 + "google-auth-library": "^6.1.3",
1176 + "is-stream-ended": "^0.1.4",
1177 + "node-fetch": "^2.6.1",
1178 + "protobufjs": "^6.9.0",
1179 + "retry-request": "^4.0.0"
1180 + }
1181 + },
1182 + "google-p12-pem": {
1183 + "version": "3.0.3",
1184 + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.0.3.tgz",
1185 + "integrity": "sha512-wS0ek4ZtFx/ACKYF3JhyGe5kzH7pgiQ7J5otlumqR9psmWMYc+U9cErKlCYVYHoUaidXHdZ2xbo34kB+S+24hA==",
1186 + "requires": {
1187 + "node-forge": "^0.10.0"
1188 + }
1189 + },
761 "got": { 1190 "got": {
762 "version": "9.6.0", 1191 "version": "9.6.0",
763 "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", 1192 "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
...@@ -783,6 +1212,24 @@ ...@@ -783,6 +1212,24 @@
783 "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 1212 "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
784 "dev": true 1213 "dev": true
785 }, 1214 },
1215 + "gtoken": {
1216 + "version": "5.1.0",
1217 + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.1.0.tgz",
1218 + "integrity": "sha512-4d8N6Lk8TEAHl9vVoRVMh9BNOKWVgl2DdNtr3428O75r3QFrF/a5MMu851VmK0AA8+iSvbwRv69k5XnMLURGhg==",
1219 + "requires": {
1220 + "gaxios": "^4.0.0",
1221 + "google-p12-pem": "^3.0.3",
1222 + "jws": "^4.0.0",
1223 + "mime": "^2.2.0"
1224 + },
1225 + "dependencies": {
1226 + "mime": {
1227 + "version": "2.4.6",
1228 + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
1229 + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA=="
1230 + }
1231 + }
1232 + },
786 "has": { 1233 "has": {
787 "version": "1.0.3", 1234 "version": "1.0.3",
788 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1235 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
...@@ -835,6 +1282,55 @@ ...@@ -835,6 +1282,55 @@
835 } 1282 }
836 } 1283 }
837 }, 1284 },
1285 + "http-proxy-agent": {
1286 + "version": "4.0.1",
1287 + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
1288 + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
1289 + "requires": {
1290 + "@tootallnate/once": "1",
1291 + "agent-base": "6",
1292 + "debug": "4"
1293 + },
1294 + "dependencies": {
1295 + "debug": {
1296 + "version": "4.3.1",
1297 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
1298 + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
1299 + "requires": {
1300 + "ms": "2.1.2"
1301 + }
1302 + },
1303 + "ms": {
1304 + "version": "2.1.2",
1305 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1306 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1307 + }
1308 + }
1309 + },
1310 + "https-proxy-agent": {
1311 + "version": "5.0.0",
1312 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
1313 + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
1314 + "requires": {
1315 + "agent-base": "6",
1316 + "debug": "4"
1317 + },
1318 + "dependencies": {
1319 + "debug": {
1320 + "version": "4.3.1",
1321 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
1322 + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
1323 + "requires": {
1324 + "ms": "2.1.2"
1325 + }
1326 + },
1327 + "ms": {
1328 + "version": "2.1.2",
1329 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1330 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1331 + }
1332 + }
1333 + },
838 "iconv-lite": { 1334 "iconv-lite": {
839 "version": "0.4.24", 1335 "version": "0.4.24",
840 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1336 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
...@@ -965,6 +1461,16 @@ ...@@ -965,6 +1461,16 @@
965 "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", 1461 "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
966 "dev": true 1462 "dev": true
967 }, 1463 },
1464 + "is-stream": {
1465 + "version": "2.0.0",
1466 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
1467 + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
1468 + },
1469 + "is-stream-ended": {
1470 + "version": "0.1.4",
1471 + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz",
1472 + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw=="
1473 + },
968 "is-typedarray": { 1474 "is-typedarray": {
969 "version": "1.0.0", 1475 "version": "1.0.0",
970 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1476 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
...@@ -982,6 +1488,14 @@ ...@@ -982,6 +1488,14 @@
982 "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1488 "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
983 "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" 1489 "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
984 }, 1490 },
1491 + "json-bigint": {
1492 + "version": "1.0.0",
1493 + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
1494 + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
1495 + "requires": {
1496 + "bignumber.js": "^9.0.0"
1497 + }
1498 + },
985 "json-buffer": { 1499 "json-buffer": {
986 "version": "3.0.0", 1500 "version": "3.0.0",
987 "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", 1501 "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
...@@ -994,6 +1508,25 @@ ...@@ -994,6 +1508,25 @@
994 "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 1508 "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
995 "dev": true 1509 "dev": true
996 }, 1510 },
1511 + "jwa": {
1512 + "version": "2.0.0",
1513 + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
1514 + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
1515 + "requires": {
1516 + "buffer-equal-constant-time": "1.0.1",
1517 + "ecdsa-sig-formatter": "1.0.11",
1518 + "safe-buffer": "^5.0.1"
1519 + }
1520 + },
1521 + "jws": {
1522 + "version": "4.0.0",
1523 + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
1524 + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
1525 + "requires": {
1526 + "jwa": "^2.0.0",
1527 + "safe-buffer": "^5.0.1"
1528 + }
1529 + },
997 "keyv": { 1530 "keyv": {
998 "version": "3.1.0", 1531 "version": "3.1.0",
999 "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", 1532 "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
...@@ -1028,12 +1561,30 @@ ...@@ -1028,12 +1561,30 @@
1028 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", 1561 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
1029 "dev": true 1562 "dev": true
1030 }, 1563 },
1564 + "lodash.camelcase": {
1565 + "version": "4.3.0",
1566 + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
1567 + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
1568 + },
1569 + "long": {
1570 + "version": "4.0.0",
1571 + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
1572 + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
1573 + },
1031 "lowercase-keys": { 1574 "lowercase-keys": {
1032 "version": "1.0.1", 1575 "version": "1.0.1",
1033 "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 1576 "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
1034 "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", 1577 "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
1035 "dev": true 1578 "dev": true
1036 }, 1579 },
1580 + "lru-cache": {
1581 + "version": "6.0.0",
1582 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1583 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1584 + "requires": {
1585 + "yallist": "^4.0.0"
1586 + }
1587 + },
1037 "make-dir": { 1588 "make-dir": {
1038 "version": "3.1.0", 1589 "version": "3.1.0",
1039 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 1590 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
...@@ -1137,6 +1688,24 @@ ...@@ -1137,6 +1688,24 @@
1137 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 1688 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
1138 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 1689 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
1139 }, 1690 },
1691 + "node-fetch": {
1692 + "version": "2.6.1",
1693 + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
1694 + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
1695 + },
1696 + "node-forge": {
1697 + "version": "0.10.0",
1698 + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
1699 + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA=="
1700 + },
1701 + "node-record-lpcm16": {
1702 + "version": "1.0.1",
1703 + "resolved": "https://registry.npmjs.org/node-record-lpcm16/-/node-record-lpcm16-1.0.1.tgz",
1704 + "integrity": "sha512-H75GMOP8ErnF67m21+qSgj4USnzv5RLfm7OkEItdIi+soNKoJZpMQPX6umM8Cn9nVPSgd/dBUtc1msst5MmABA==",
1705 + "requires": {
1706 + "debug": "^2.6.8"
1707 + }
1708 + },
1140 "nodemon": { 1709 "nodemon": {
1141 "version": "2.0.6", 1710 "version": "2.0.6",
1142 "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.6.tgz", 1711 "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.6.tgz",
...@@ -1222,7 +1791,6 @@ ...@@ -1222,7 +1791,6 @@
1222 "version": "1.4.0", 1791 "version": "1.4.0",
1223 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1792 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1224 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1793 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1225 - "dev": true,
1226 "requires": { 1794 "requires": {
1227 "wrappy": "1" 1795 "wrappy": "1"
1228 } 1796 }
...@@ -1237,7 +1805,6 @@ ...@@ -1237,7 +1805,6 @@
1237 "version": "2.3.0", 1805 "version": "2.3.0",
1238 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 1806 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
1239 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 1807 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
1240 - "dev": true,
1241 "requires": { 1808 "requires": {
1242 "p-try": "^2.0.0" 1809 "p-try": "^2.0.0"
1243 } 1810 }
...@@ -1254,8 +1821,7 @@ ...@@ -1254,8 +1821,7 @@
1254 "p-try": { 1821 "p-try": {
1255 "version": "2.2.0", 1822 "version": "2.2.0",
1256 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1823 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1257 - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1824 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
1258 - "dev": true
1259 }, 1825 },
1260 "package-json": { 1826 "package-json": {
1261 "version": "6.5.0", 1827 "version": "6.5.0",
...@@ -1332,6 +1898,33 @@ ...@@ -1332,6 +1898,33 @@
1332 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1898 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1333 "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 1899 "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
1334 }, 1900 },
1901 + "protobufjs": {
1902 + "version": "6.10.2",
1903 + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz",
1904 + "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==",
1905 + "requires": {
1906 + "@protobufjs/aspromise": "^1.1.2",
1907 + "@protobufjs/base64": "^1.1.2",
1908 + "@protobufjs/codegen": "^2.0.4",
1909 + "@protobufjs/eventemitter": "^1.1.0",
1910 + "@protobufjs/fetch": "^1.1.0",
1911 + "@protobufjs/float": "^1.0.2",
1912 + "@protobufjs/inquire": "^1.1.0",
1913 + "@protobufjs/path": "^1.1.2",
1914 + "@protobufjs/pool": "^1.1.0",
1915 + "@protobufjs/utf8": "^1.1.0",
1916 + "@types/long": "^4.0.1",
1917 + "@types/node": "^13.7.0",
1918 + "long": "^4.0.0"
1919 + },
1920 + "dependencies": {
1921 + "@types/node": {
1922 + "version": "13.13.34",
1923 + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.34.tgz",
1924 + "integrity": "sha512-g8D1HF2dMDKYSDl5+79izRwRgNPsSynmWMbj50mj7GZ0b7Lv4p8EmZjbo3h0h+6iLr6YmVz9VnF6XVZ3O6V1Ug=="
1925 + }
1926 + }
1927 + },
1335 "proxy-addr": { 1928 "proxy-addr": {
1336 "version": "2.0.6", 1929 "version": "2.0.6",
1337 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", 1930 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
...@@ -1351,12 +1944,21 @@ ...@@ -1351,12 +1944,21 @@
1351 "version": "3.0.0", 1944 "version": "3.0.0",
1352 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1945 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
1353 "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1946 "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
1354 - "dev": true,
1355 "requires": { 1947 "requires": {
1356 "end-of-stream": "^1.1.0", 1948 "end-of-stream": "^1.1.0",
1357 "once": "^1.3.1" 1949 "once": "^1.3.1"
1358 } 1950 }
1359 }, 1951 },
1952 + "pumpify": {
1953 + "version": "2.0.1",
1954 + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz",
1955 + "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==",
1956 + "requires": {
1957 + "duplexify": "^4.1.1",
1958 + "inherits": "^2.0.3",
1959 + "pump": "^3.0.0"
1960 + }
1961 + },
1360 "pupa": { 1962 "pupa": {
1361 "version": "2.1.1", 1963 "version": "2.1.1",
1362 "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", 1964 "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
...@@ -1451,14 +2053,12 @@ ...@@ -1451,14 +2053,12 @@
1451 "require-directory": { 2053 "require-directory": {
1452 "version": "2.1.1", 2054 "version": "2.1.1",
1453 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2055 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1454 - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 2056 + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
1455 - "dev": true
1456 }, 2057 },
1457 "require-main-filename": { 2058 "require-main-filename": {
1458 "version": "2.0.0", 2059 "version": "2.0.0",
1459 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 2060 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
1460 - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 2061 + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
1461 - "dev": true
1462 }, 2062 },
1463 "resolve": { 2063 "resolve": {
1464 "version": "1.19.0", 2064 "version": "1.19.0",
...@@ -1479,6 +2079,29 @@ ...@@ -1479,6 +2079,29 @@
1479 "lowercase-keys": "^1.0.0" 2079 "lowercase-keys": "^1.0.0"
1480 } 2080 }
1481 }, 2081 },
2082 + "retry-request": {
2083 + "version": "4.1.3",
2084 + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.1.3.tgz",
2085 + "integrity": "sha512-QnRZUpuPNgX0+D1xVxul6DbJ9slvo4Rm6iV/dn63e048MvGbUZiKySVt6Tenp04JqmchxjiLltGerOJys7kJYQ==",
2086 + "requires": {
2087 + "debug": "^4.1.1"
2088 + },
2089 + "dependencies": {
2090 + "debug": {
2091 + "version": "4.3.1",
2092 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
2093 + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
2094 + "requires": {
2095 + "ms": "2.1.2"
2096 + }
2097 + },
2098 + "ms": {
2099 + "version": "2.1.2",
2100 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2101 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
2102 + }
2103 + }
2104 + },
1482 "rxjs": { 2105 "rxjs": {
1483 "version": "6.6.3", 2106 "version": "6.6.3",
1484 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", 2107 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
...@@ -1562,8 +2185,7 @@ ...@@ -1562,8 +2185,7 @@
1562 "set-blocking": { 2185 "set-blocking": {
1563 "version": "2.0.0", 2186 "version": "2.0.0",
1564 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2187 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
1565 - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 2188 + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
1566 - "dev": true
1567 }, 2189 },
1568 "setprototypeof": { 2190 "setprototypeof": {
1569 "version": "1.1.1", 2191 "version": "1.1.1",
...@@ -1619,6 +2241,19 @@ ...@@ -1619,6 +2241,19 @@
1619 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 2241 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
1620 "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 2242 "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
1621 }, 2243 },
2244 + "stream-events": {
2245 + "version": "1.0.5",
2246 + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
2247 + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
2248 + "requires": {
2249 + "stubs": "^3.0.0"
2250 + }
2251 + },
2252 + "stream-shift": {
2253 + "version": "1.0.1",
2254 + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
2255 + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
2256 + },
1622 "streamsearch": { 2257 "streamsearch": {
1623 "version": "0.1.2", 2258 "version": "0.1.2",
1624 "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", 2259 "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
...@@ -1628,7 +2263,6 @@ ...@@ -1628,7 +2263,6 @@
1628 "version": "4.2.0", 2263 "version": "4.2.0",
1629 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 2264 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
1630 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 2265 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
1631 - "dev": true,
1632 "requires": { 2266 "requires": {
1633 "emoji-regex": "^8.0.0", 2267 "emoji-regex": "^8.0.0",
1634 "is-fullwidth-code-point": "^3.0.0", 2268 "is-fullwidth-code-point": "^3.0.0",
...@@ -1638,26 +2272,22 @@ ...@@ -1638,26 +2272,22 @@
1638 "ansi-regex": { 2272 "ansi-regex": {
1639 "version": "5.0.0", 2273 "version": "5.0.0",
1640 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 2274 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1641 - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 2275 + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
1642 - "dev": true
1643 }, 2276 },
1644 "emoji-regex": { 2277 "emoji-regex": {
1645 "version": "8.0.0", 2278 "version": "8.0.0",
1646 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2279 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1647 - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2280 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
1648 - "dev": true
1649 }, 2281 },
1650 "is-fullwidth-code-point": { 2282 "is-fullwidth-code-point": {
1651 "version": "3.0.0", 2283 "version": "3.0.0",
1652 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2284 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1653 - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2285 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
1654 - "dev": true
1655 }, 2286 },
1656 "strip-ansi": { 2287 "strip-ansi": {
1657 "version": "6.0.0", 2288 "version": "6.0.0",
1658 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 2289 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1659 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 2290 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1660 - "dev": true,
1661 "requires": { 2291 "requires": {
1662 "ansi-regex": "^5.0.0" 2292 "ansi-regex": "^5.0.0"
1663 } 2293 }
...@@ -1684,6 +2314,11 @@ ...@@ -1684,6 +2314,11 @@
1684 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2314 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
1685 "dev": true 2315 "dev": true
1686 }, 2316 },
2317 + "stubs": {
2318 + "version": "3.0.0",
2319 + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
2320 + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls="
2321 + },
1687 "supports-color": { 2322 "supports-color": {
1688 "version": "5.5.0", 2323 "version": "5.5.0",
1689 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2324 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
...@@ -1693,6 +2328,18 @@ ...@@ -1693,6 +2328,18 @@
1693 "has-flag": "^3.0.0" 2328 "has-flag": "^3.0.0"
1694 } 2329 }
1695 }, 2330 },
2331 + "teeny-request": {
2332 + "version": "7.0.1",
2333 + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.0.1.tgz",
2334 + "integrity": "sha512-sasJmQ37klOlplL4Ia/786M5YlOcoLGQyq2TE4WHSRupbAuDaQW0PfVxV4MtdBtRJ4ngzS+1qim8zP6Zp35qCw==",
2335 + "requires": {
2336 + "http-proxy-agent": "^4.0.0",
2337 + "https-proxy-agent": "^5.0.0",
2338 + "node-fetch": "^2.6.1",
2339 + "stream-events": "^1.0.5",
2340 + "uuid": "^8.0.0"
2341 + }
2342 + },
1696 "term-size": { 2343 "term-size": {
1697 "version": "2.2.1", 2344 "version": "2.2.1",
1698 "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", 2345 "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
...@@ -1832,6 +2479,11 @@ ...@@ -1832,6 +2479,11 @@
1832 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 2479 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1833 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 2480 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
1834 }, 2481 },
2482 + "uuid": {
2483 + "version": "8.3.1",
2484 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz",
2485 + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg=="
2486 + },
1835 "validate-npm-package-license": { 2487 "validate-npm-package-license": {
1836 "version": "3.0.4", 2488 "version": "3.0.4",
1837 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 2489 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
...@@ -1850,8 +2502,7 @@ ...@@ -1850,8 +2502,7 @@
1850 "which-module": { 2502 "which-module": {
1851 "version": "2.0.0", 2503 "version": "2.0.0",
1852 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 2504 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
1853 - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 2505 + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
1854 - "dev": true
1855 }, 2506 },
1856 "widest-line": { 2507 "widest-line": {
1857 "version": "3.1.0", 2508 "version": "3.1.0",
...@@ -1913,8 +2564,7 @@ ...@@ -1913,8 +2564,7 @@
1913 "wrappy": { 2564 "wrappy": {
1914 "version": "1.0.2", 2565 "version": "1.0.2",
1915 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2566 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1916 - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2567 + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1917 - "dev": true
1918 }, 2568 },
1919 "write-file-atomic": { 2569 "write-file-atomic": {
1920 "version": "3.0.3", 2570 "version": "3.0.3",
...@@ -1942,8 +2592,12 @@ ...@@ -1942,8 +2592,12 @@
1942 "y18n": { 2592 "y18n": {
1943 "version": "4.0.1", 2593 "version": "4.0.1",
1944 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", 2594 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
1945 - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", 2595 + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ=="
1946 - "dev": true 2596 + },
2597 + "yallist": {
2598 + "version": "4.0.0",
2599 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2600 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
1947 }, 2601 },
1948 "yargs": { 2602 "yargs": {
1949 "version": "13.3.2", 2603 "version": "13.3.2",
......
...@@ -16,8 +16,7 @@ ...@@ -16,8 +16,7 @@
16 "license": "MIT", 16 "license": "MIT",
17 "dependencies": { 17 "dependencies": {
18 "body-parser": "^1.19.0", 18 "body-parser": "^1.19.0",
19 - "express": "^4.17.1", 19 + "express": "^4.17.1"
20 - "multer": "^1.4.2"
21 }, 20 },
22 "devDependencies": { 21 "devDependencies": {
23 "concurrently": "^5.3.0", 22 "concurrently": "^5.3.0",
......
...@@ -7,39 +7,14 @@ const port = process.env.PORT || 5000; ...@@ -7,39 +7,14 @@ const port = process.env.PORT || 5000;
7 app.use(bodyParser.json()); 7 app.use(bodyParser.json());
8 app.use(bodyParser.urlencoded({ extended: true})); 8 app.use(bodyParser.urlencoded({ extended: true}));
9 9
10 -// const data = fs.readFileSync('./database.json');
11 -// const conf = JSON.parse(data);
12 -// const mysql = require('mysql');
13 -
14 -
15 -const multer = require('multer');
16 -
17 -// app.get('/api/customers', (req, res) => {
18 -// connection.query(
19 -// "SELECT * FROM course",
20 -// (err, rows, fields) => {
21 -// res.send(rows);
22 -// }
23 -// );
24 -// });
25 -
26 -// app.get('/api/customers/:id', (req, res) => {
27 -// let sql = 'SELECT * FROM course WHERE id=?';
28 -// let params = [req.params.id];
29 -// connection.query(sql, params,
30 -// (err, rows, fields) => {
31 -// res.send(rows);
32 -// }
33 -// );
34 -// });
35 let scriptReceived = ""; 10 let scriptReceived = "";
11 +
36 app.get('/api/script', (req, res) => { 12 app.get('/api/script', (req, res) => {
37 res.send( 13 res.send(
38 scriptReceived 14 scriptReceived
39 ) 15 )
40 }); 16 });
41 17
42 -
43 app.post('/api/script', (req, res) => { 18 app.post('/api/script', (req, res) => {
44 scriptReceived = req.body.script; 19 scriptReceived = req.body.script;
45 }); 20 });
......
  • λ³€κ²½ 사항

    1. PrompterPage κ΅¬ν˜„ μ™„λ£Œ
      • Material-Ui 적용 μ˜ˆμ •
    2. WebSpeech API && Sentence-Similarity API μ‚¬μš©ν•˜μ—¬ μ£Όμš” κΈ°λŠ₯ μ™„μ„±
      • μ’€ 더 λ§€λ„λŸ½κ²Œ μ§„ν–‰ν•˜κ³ μž μ•Œκ³ λ¦¬μ¦˜ μˆ˜μ • μ˜ˆμ •
    3. README.md μˆ˜μ •ν–ˆμœΌλ‚˜ GitHUB와 GitLAB의 문법 차이둜 μ΄μƒν•˜κ²Œ ν‘œμ‹œ
      • λ‹€μŒ Commit에 μˆ˜μ • μ˜ˆμ •
    Edited