백승욱

Add exception handling function

1 -//=============================================================
2 -var express = require('express');
3 -const request = require('request');
4 -const config = require('./config.json');
5 -//=============================================================
6 -const LINE_URL = 'https://api.line.me/v2/bot/message/reply';
7 -const TOKEN = config.TOKEN;
8 -const KOFIC_URL = 'http://www.kobis.or.kr/kobisopenapi/webservice/rest';
9 -const KOFIC_KEY = config.KOFIC_KEY;
10 -//=============================================================
11 -
12 -// 어제 기준 영화 순위(1위 ~ 5위) 출력
13 -exports.ShowYesterdayRank = function(replyToken) {
14 -
15 - var yesterday = exports.GetYesterday();
16 -
17 - request.get(
18 - {
19 - url: KOFIC_URL+`/boxoffice/searchDailyBoxOfficeList.json?key=${KOFIC_KEY}&targetDt=${yesterday}`,
20 - json:true
21 - },(error, response, body) => {
22 - if(!error && response.statusCode == 200) {
23 - console.log(body.boxOfficeResult);
24 -
25 - var movieName = [];
26 - movieName[0] = body.boxOfficeResult.dailyBoxOfficeList[0].movieNm;
27 - movieName[1] = body.boxOfficeResult.dailyBoxOfficeList[1].movieNm;
28 - movieName[2] = body.boxOfficeResult.dailyBoxOfficeList[2].movieNm;
29 - movieName[3] = body.boxOfficeResult.dailyBoxOfficeList[3].movieNm;
30 - movieName[4] = body.boxOfficeResult.dailyBoxOfficeList[4].movieNm;
31 -
32 - var movieOpenDt = [];
33 - movieOpenDt[0] = body.boxOfficeResult.dailyBoxOfficeList[0].openDt;
34 - movieOpenDt[1] = body.boxOfficeResult.dailyBoxOfficeList[1].openDt;
35 - movieOpenDt[2] = body.boxOfficeResult.dailyBoxOfficeList[2].openDt;
36 - movieOpenDt[3] = body.boxOfficeResult.dailyBoxOfficeList[3].openDt;
37 - movieOpenDt[4] = body.boxOfficeResult.dailyBoxOfficeList[4].openDt;
38 -
39 - var movieAudiAcc = [];
40 - movieAudiAcc[0] = exports.numberWithCommas(body.boxOfficeResult.dailyBoxOfficeList[0].audiAcc);
41 - movieAudiAcc[1] = exports.numberWithCommas(body.boxOfficeResult.dailyBoxOfficeList[1].audiAcc);
42 - movieAudiAcc[2] = exports.numberWithCommas(body.boxOfficeResult.dailyBoxOfficeList[2].audiAcc);
43 - movieAudiAcc[3] = exports.numberWithCommas(body.boxOfficeResult.dailyBoxOfficeList[3].audiAcc);
44 - movieAudiAcc[4] = exports.numberWithCommas(body.boxOfficeResult.dailyBoxOfficeList[4].audiAcc);
45 -
46 - request.post(
47 - {
48 - url: LINE_URL,
49 - headers: {
50 - 'Authorization': `Bearer ${TOKEN}`
51 - },
52 - json: {
53 - "replyToken":replyToken,
54 - "messages":[
55 - {
56 - "type":"text",
57 - "text":
58 - `[1위]\n영화제목 : ${movieName[0]}\n개봉일 : ${movieOpenDt[0]}\n누적 관객 수 : ${movieAudiAcc[0]}명\n\n`+
59 - `[2위]\n영화제목 : ${movieName[1]}\n개봉일 : ${movieOpenDt[1]}\n누적 관객 수 : ${movieAudiAcc[1]}명\n\n`+
60 - `[3위]\n영화제목 : ${movieName[2]}\n개봉일 : ${movieOpenDt[2]}\n누적 관객 수 : ${movieAudiAcc[2]}명\n\n`+
61 - `[4위]\n영화제목 : ${movieName[3]}\n개봉일 : ${movieOpenDt[3]}\n누적 관객 수 : ${movieAudiAcc[3]}명\n\n`+
62 - `[5위]\n영화제목 : ${movieName[4]}\n개봉일 : ${movieOpenDt[4]}\n누적 관객 수 : ${movieAudiAcc[4]}명\n\n`
63 - }
64 - ]
65 - }
66 - },(error, response, body) => {
67 - console.log(body)
68 - });
69 - }
70 - });
71 -}
72 -
73 -
74 -// 어제 날짜를 YYYYMMDD 형식(type: string)으로 반환하는 함수
75 -exports.GetYesterday = function() {
76 -
77 - var today = new Date();
78 - var yesterday = new Date(today.setDate(today.getDate() - 1));
79 -
80 - var year = yesterday.getFullYear();
81 - var month = ('0' + (yesterday.getMonth() + 1)).slice(-2);
82 - var day = ('0' + yesterday.getDate()).slice(-2);
83 -
84 - return (year + month + day);
85 -}
86 -
87 -
88 -// 숫자 사이에 콤마(,) 찍고 반환하는 함수(입력, 출력 모두 문자열)
89 -exports.numberWithCommas = function(x) {
90 - return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
91 -}
File mode changed
1 -//=============================================================
2 -var express = require('express');
3 -const request = require('request');
4 -const config = require('./config.json');
5 -//=============================================================
6 -const LINE_URL = 'https://api.line.me/v2/bot/message/reply'
7 -const TOKEN = config.TOKEN;
8 -const KOFIC_URL = 'http://www.kobis.or.kr/kobisopenapi/webservice/rest'
9 -const KOFIC_KEY = config.KOFIC_KEY;
10 -//=============================================================
11 -
12 -exports.MovieInfo = function(replyToken, message) {
13 - request.get(
14 - {
15 - url: KOFIC_URL+`/movie/searchMovieInfo.json?key=${KOFIC_KEY}&movieCd=${message}`,
16 - json:true
17 - },(error, response, body) => {
18 - if(!error && response.statusCode == 200) {
19 - console.log(body.movieInfoResult);
20 - var MovieInfo = body.movieInfoResult.movieInfo;
21 - var MovieName = MovieInfo.movieNm;
22 - var MovieDate = `${MovieInfo.openDt.slice(0,4)}${MovieInfo.openDt.slice(4,6)}${MovieInfo.openDt.slice(6,8)}일`;
23 - var MovieTime = MovieInfo.showTm;
24 - var MovieGenres = [];
25 - for(var i in MovieInfo.genres)
26 - {
27 - MovieGenres.push(MovieInfo.genres[i].genreNm);
28 - }
29 - var MovieDirec = MovieInfo.directors[0].peopleNm;
30 - var MovieActors = [];
31 - for(var i=0; i<MovieInfo.actors.length && i<5; i++)
32 - {
33 - MovieActors[i] = MovieInfo.actors[i].peopleNm;
34 - }
35 -
36 - request.post(
37 - {
38 - url: LINE_URL,
39 - headers: {
40 - 'Authorization': `Bearer ${TOKEN}`
41 - },
42 - json: {
43 - "replyToken":replyToken,
44 - "messages":[
45 - {
46 - "type":"text",
47 - "text":`영화명: ${MovieName}\n개봉날짜: ${MovieDate}\n상영시간: ${MovieTime}분\n장르: ${MovieGenres}\n감독: ${MovieDirec}\n출연배우: ${MovieActors}`
48 - }
49 - ]
50 - }
51 - },(error, response, body) => {
52 - console.log(body)
53 - });
54 - }
55 - });
56 -}
1 -var express = require('express');
2 -const request = require('request');
3 -var config = require('./config.json');
4 -const TARGET_URL = 'https://api.line.me/v2/bot/message/reply'
5 -const TOKEN = config.TOKEN;
6 -const KOFIC_URL = 'http://www.kobis.or.kr/kobisopenapi/webservice/rest'
7 -
8 -//Enter a movie title in the message variable.
9 -//It will then return the movie title, director, and actor information to Line Messenger.
10 -exports.movielist = function (replyToken, message) {
11 - var encodedMessage = encodeURI(message);
12 - request.get(
13 - {
14 - url: KOFIC_URL+`/movie/searchMovieList.json?key=${config.KOFIC_KEY}&movieNm=${encodedMessage}`,
15 - json:true
16 - },(error, response, body) => {
17 - if(!error && response.statusCode == 200) {
18 - console.log(body.message);
19 - var result = '', movieNm, prdtYear, directors;
20 - for (let i = 0; i < body.movieListResult.movieList.length; i ++){
21 - movieNm = body.movieListResult.movieList[i].movieNm;
22 - prdtYear = body.movieListResult.movieList[i].prdtYear;
23 - movieCd = body.movieListResult.movieList[i].movieCd;
24 - if(body.movieListResult.movieList[i].directors.length === 0){
25 - directors = "감독정보없음"
26 - }
27 - else{
28 - directors = body.movieListResult.movieList[i].directors[0].peopleNm;
29 - }
30 - result += '제목: ' + movieNm + `(${prdtYear})` + '\n' + '감독: ' + directors + '\n' + '영화코드: ' + movieCd + '\n';
31 - }
32 - request.post(
33 - {
34 - url: TARGET_URL,
35 - headers: {
36 - 'Authorization': `Bearer ${TOKEN}`
37 - },
38 - json: {
39 - "replyToken":replyToken,
40 - "messages":[
41 - {
42 - "type":"text",
43 - "text":result
44 - }
45 - ]
46 - }
47 - },(error, response, body) => {
48 - console.log(body)
49 - });
50 - }
51 - });
52 -
53 -}
1 -const request = require('request');
2 -var config = require('./config.json');
3 -const TARGET_URL = 'https://api.line.me/v2/bot/message/reply'
4 -const TOKEN = config.TOKEN;
5 -const KOFIC_URL = 'http://www.kobis.or.kr/kobisopenapi/webservice/rest'
6 -
7 -//Return random integer.
8 -function getRandomInt(min, max) {
9 - min = Math.ceil(min);
10 - max = Math.floor(max);
11 - return Math.floor(Math.random() * (max - min)) + min; //Exclude maximum value, include minimum value
12 -}
13 -
14 -//Get weekend boxoffice movie code.
15 -//Then return list fill with movie code.
16 -function weekendBoxOfficeMovie() {
17 - var year = String(getRandomInt(2010,2023));
18 - var date = String(getRandomInt(1,13));
19 - if(year == 2022){
20 - date = String(getRandomInt(1,6));
21 - }
22 - if(date < 10){
23 - date = '0'+date;
24 - }
25 - date += '15';
26 - return new Promise((resolve) => {
27 - var moviecode = [];
28 - request.get(
29 - {
30 - url: KOFIC_URL+`/boxoffice/searchWeeklyBoxOfficeList.json?key=${config.KOFIC_KEY}&targetDt=${year + date}&itemPerPage=7`,
31 - json:true
32 - },(error, response, body) => {
33 - if(!error && response.statusCode == 200) {
34 - for(let i = 0; i < body.boxOfficeResult.weeklyBoxOfficeList.length; i++){
35 - moviecode.push(body.boxOfficeResult.weeklyBoxOfficeList[i].movieCd)
36 - }
37 - resolve(moviecode)
38 - }
39 - });
40 - });
41 -}
42 -//Returns the title, year of release, names of directors and actors.
43 -//The return format is array and index is as follows:
44 -//[title, year of release, director, actor1, actor2]
45 -async function movieinfo(message){
46 - moviecdlist = await weekendBoxOfficeMovie();
47 -
48 - return new Promise((resolve) => {
49 - movieresult = [];
50 - for(let i = 0; i < moviecdlist.length; i++){
51 - request.get(
52 - {
53 - url: KOFIC_URL + `/movie/searchMovieInfo.json?key=${config.KOFIC_KEY}&movieCd=${moviecdlist[i]}`,
54 - json:true
55 - }
56 - ,(error,response, body) => {
57 - if(!error && response.statusCode == 200) {
58 - for(let j = 0; j < body.movieInfoResult.movieInfo.genres.length; j++){
59 - if(body.movieInfoResult.movieInfo.genres[j].genreNm == message){
60 - var title = body.movieInfoResult.movieInfo.movieNm;
61 - var openyear = body.movieInfoResult.movieInfo.prdtYear;
62 - if(body.movieInfoResult.movieInfo.directors.length == 0){
63 - var director = "감독정보없음"
64 - }
65 - else{
66 - var director = body.movieInfoResult.movieInfo.directors[0].peopleNm
67 - }
68 - if(body.movieInfoResult.movieInfo.actors.length == 0){
69 - var actor_1 = "배우정보없음"
70 - var actor_2 = "배우정보없음"
71 - }
72 - else if(body.movieInfoResult.movieInfo.actors.length == 1){
73 - var actor_1 = body.movieInfoResult.movieInfo.actors[0].peopleNm
74 - var actor_2 = "배우정보없음"
75 - }
76 - else{
77 - var actor_1 = body.movieInfoResult.movieInfo.actors[0].peopleNm
78 - var actor_2 = body.movieInfoResult.movieInfo.actors[1].peopleNm
79 - }
80 - movieresult.push([title, openyear, director, actor_1, actor_2])
81 -
82 - } //제목, 개봉년도, 감독, 배우1, 배우2
83 - }
84 - resolve(movieresult);
85 - }
86 - });
87 - }
88 - });
89 -}
90 -
91 -//Enter a movie genre in the message variable.
92 -//It will then return movie title, year of release, director and actor information to Line Messenger.
93 -exports.movieRecommend = async function(replyToken, message){
94 - var movieresult = [];
95 - while(1){
96 - movielist = await movieinfo(message);
97 - for(let i = 0; i < movielist.length; i ++){
98 - movieresult.push(movielist[i]);
99 - }
100 - if(movieresult.length > 1){
101 - break;
102 - }
103 - }
104 - var movierecommend_output = '';
105 - for(let i = 0; i < movieresult.length; i++){
106 - movierecommend_output += `제목: ${movieresult[i][0]}(${movieresult[i][1]})\n감독: ${movieresult[i][2]}\n배우: ${movieresult[i][3]}, ${movieresult[i][4]}\n`
107 - }
108 - request.post(
109 - {
110 - url: TARGET_URL,
111 - headers: {
112 - 'Authorization': `Bearer ${TOKEN}`
113 - },
114 - json: {
115 - "replyToken":replyToken,
116 - "messages":[
117 - {
118 - "type":"text",
119 - "text":movierecommend_output
120 - }
121 - ]
122 - }
123 - },(error, response, body) => {
124 - console.log(body)
125 - });
126 -}
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "TOKEN" : "Insert user token value",
3 - "KOFIC_KEY" : "Insert user key value",
4 - "domain" : "Insert user domain"
5 -}
...\ No newline at end of file ...\ No newline at end of file
1 -//=============================================================
2 -var express = require('express');
3 -const request = require('request');
4 -const config = require('./config.json');
5 -const dailyBoxOfficeList = require('./DailyBoxOfficeList.js');
6 -//=============================================================
7 -const LINE_URL = 'https://api.line.me/v2/bot/message/reply'
8 -const TOKEN = config.TOKEN;
9 -const KOFIC_URL = 'http://www.kobis.or.kr/kobisopenapi/webservice/rest';
10 -const KOFIC_KEY = config.KOFIC_KEY;
11 -//=============================================================
12 -const fs = require('fs');
13 -const path = require('path');
14 -const HTTPS = require('https');
15 -const domain = config.domain;
16 -const sslport = 23023;
17 -const bodyParser = require('body-parser');
18 -var app = express();
19 -app.use(bodyParser.json());
20 -//=============================================================
21 -var BoxOffice = require('./DailyBoxOfficeList.js');
22 -var MovieList = require('./MovieList.js');
23 -var MovieInfo = require('./MovieInfo.js');
24 -
25 -// RECEIVE MESSAGE
26 -app.post('/hook', function (req, res) {
27 -
28 - var eventObj = req.body.events[0];
29 -
30 - // console.log for debugging
31 - console.log('======================', new Date() ,'======================');
32 - console.log('[request]', req.body);
33 - console.log('[request source] ', eventObj.source);
34 - console.log('[request message]', eventObj.message);
35 -
36 - Response(eventObj.replyToken, eventObj.message.text);
37 -
38 - res.sendStatus(200);
39 -});
40 -
41 -
42 -// RESPONSE TO MESSAGE
43 -function Response(replyToken, message){
44 - // 사용자가 보낸 라인 메시지 문자열 안에 특정 문자열이 있으면, 특정 함수 실행
45 - if(message.includes('최신') || message.includes('순위') || message.includes('오늘') || message.includes('추천')) {
46 - BoxOffice.ShowYesterdayRank(replyToken);
47 - } else if (isNaN(message) === false && message.length === 8) {
48 - // (예시) 영화 줄거리 출력
49 - MovieInfo.MovieInfo(replyToken, message);
50 - }
51 - else if (typeof(message) === 'string') {
52 - // (예시) 영화 목록 출력
53 - MovieList.movielist(replyToken, message);
54 - }
55 -}
56 -
57 -
58 -// ※ WARNING: DO NOT TOUCH THIS CODE SECTION ※
59 -try {
60 - const option = {
61 - ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'),
62 - key: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/privkey.pem'), 'utf8').toString(),
63 - cert: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/cert.pem'), 'utf8').toString(),
64 - };
65 -
66 - HTTPS.createServer(option, app).listen(sslport, () => {
67 - console.log(`[HTTPS] Server is started on port ${sslport}`);
68 - });
69 -} catch (error) {
70 - console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.');
71 - console.log(error);
72 -}
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "name": "trans",
3 - "version": "1.0.0",
4 - "lockfileVersion": 2,
5 - "requires": true,
6 - "packages": {
7 - "": {
8 - "name": "trans",
9 - "version": "1.0.0",
10 - "license": "ISC",
11 - "dependencies": {
12 - "express": "^4.17.1",
13 - "request": "^2.88.2"
14 - }
15 - },
16 - "node_modules/accepts": {
17 - "version": "1.3.7",
18 - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
19 - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
20 - "dependencies": {
21 - "mime-types": "~2.1.24",
22 - "negotiator": "0.6.2"
23 - },
24 - "engines": {
25 - "node": ">= 0.6"
26 - }
27 - },
28 - "node_modules/ajv": {
29 - "version": "6.12.2",
30 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
31 - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
32 - "dependencies": {
33 - "fast-deep-equal": "^3.1.1",
34 - "fast-json-stable-stringify": "^2.0.0",
35 - "json-schema-traverse": "^0.4.1",
36 - "uri-js": "^4.2.2"
37 - }
38 - },
39 - "node_modules/array-flatten": {
40 - "version": "1.1.1",
41 - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
42 - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
43 - },
44 - "node_modules/asn1": {
45 - "version": "0.2.4",
46 - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
47 - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
48 - "dependencies": {
49 - "safer-buffer": "~2.1.0"
50 - }
51 - },
52 - "node_modules/assert-plus": {
53 - "version": "1.0.0",
54 - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
55 - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
56 - "engines": {
57 - "node": ">=0.8"
58 - }
59 - },
60 - "node_modules/asynckit": {
61 - "version": "0.4.0",
62 - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
63 - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
64 - },
65 - "node_modules/aws-sign2": {
66 - "version": "0.7.0",
67 - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
68 - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
69 - "engines": {
70 - "node": "*"
71 - }
72 - },
73 - "node_modules/aws4": {
74 - "version": "1.9.1",
75 - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
76 - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
77 - },
78 - "node_modules/bcrypt-pbkdf": {
79 - "version": "1.0.2",
80 - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
81 - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
82 - "dependencies": {
83 - "tweetnacl": "^0.14.3"
84 - }
85 - },
86 - "node_modules/body-parser": {
87 - "version": "1.19.0",
88 - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
89 - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
90 - "dependencies": {
91 - "bytes": "3.1.0",
92 - "content-type": "~1.0.4",
93 - "debug": "2.6.9",
94 - "depd": "~1.1.2",
95 - "http-errors": "1.7.2",
96 - "iconv-lite": "0.4.24",
97 - "on-finished": "~2.3.0",
98 - "qs": "6.7.0",
99 - "raw-body": "2.4.0",
100 - "type-is": "~1.6.17"
101 - },
102 - "engines": {
103 - "node": ">= 0.8"
104 - }
105 - },
106 - "node_modules/bytes": {
107 - "version": "3.1.0",
108 - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
109 - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
110 - "engines": {
111 - "node": ">= 0.8"
112 - }
113 - },
114 - "node_modules/caseless": {
115 - "version": "0.12.0",
116 - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
117 - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
118 - },
119 - "node_modules/combined-stream": {
120 - "version": "1.0.8",
121 - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
122 - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
123 - "dependencies": {
124 - "delayed-stream": "~1.0.0"
125 - },
126 - "engines": {
127 - "node": ">= 0.8"
128 - }
129 - },
130 - "node_modules/content-disposition": {
131 - "version": "0.5.3",
132 - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
133 - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
134 - "dependencies": {
135 - "safe-buffer": "5.1.2"
136 - },
137 - "engines": {
138 - "node": ">= 0.6"
139 - }
140 - },
141 - "node_modules/content-type": {
142 - "version": "1.0.4",
143 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
144 - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
145 - "engines": {
146 - "node": ">= 0.6"
147 - }
148 - },
149 - "node_modules/cookie": {
150 - "version": "0.4.0",
151 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
152 - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
153 - "engines": {
154 - "node": ">= 0.6"
155 - }
156 - },
157 - "node_modules/cookie-signature": {
158 - "version": "1.0.6",
159 - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
160 - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
161 - },
162 - "node_modules/core-util-is": {
163 - "version": "1.0.2",
164 - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
165 - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
166 - },
167 - "node_modules/dashdash": {
168 - "version": "1.14.1",
169 - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
170 - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
171 - "dependencies": {
172 - "assert-plus": "^1.0.0"
173 - },
174 - "engines": {
175 - "node": ">=0.10"
176 - }
177 - },
178 - "node_modules/debug": {
179 - "version": "2.6.9",
180 - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
181 - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
182 - "dependencies": {
183 - "ms": "2.0.0"
184 - }
185 - },
186 - "node_modules/delayed-stream": {
187 - "version": "1.0.0",
188 - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
189 - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
190 - "engines": {
191 - "node": ">=0.4.0"
192 - }
193 - },
194 - "node_modules/depd": {
195 - "version": "1.1.2",
196 - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
197 - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
198 - "engines": {
199 - "node": ">= 0.6"
200 - }
201 - },
202 - "node_modules/destroy": {
203 - "version": "1.0.4",
204 - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
205 - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
206 - },
207 - "node_modules/ecc-jsbn": {
208 - "version": "0.1.2",
209 - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
210 - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
211 - "dependencies": {
212 - "jsbn": "~0.1.0",
213 - "safer-buffer": "^2.1.0"
214 - }
215 - },
216 - "node_modules/ee-first": {
217 - "version": "1.1.1",
218 - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
219 - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
220 - },
221 - "node_modules/encodeurl": {
222 - "version": "1.0.2",
223 - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
224 - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
225 - "engines": {
226 - "node": ">= 0.8"
227 - }
228 - },
229 - "node_modules/escape-html": {
230 - "version": "1.0.3",
231 - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
232 - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
233 - },
234 - "node_modules/etag": {
235 - "version": "1.8.1",
236 - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
237 - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
238 - "engines": {
239 - "node": ">= 0.6"
240 - }
241 - },
242 - "node_modules/express": {
243 - "version": "4.17.1",
244 - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
245 - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
246 - "dependencies": {
247 - "accepts": "~1.3.7",
248 - "array-flatten": "1.1.1",
249 - "body-parser": "1.19.0",
250 - "content-disposition": "0.5.3",
251 - "content-type": "~1.0.4",
252 - "cookie": "0.4.0",
253 - "cookie-signature": "1.0.6",
254 - "debug": "2.6.9",
255 - "depd": "~1.1.2",
256 - "encodeurl": "~1.0.2",
257 - "escape-html": "~1.0.3",
258 - "etag": "~1.8.1",
259 - "finalhandler": "~1.1.2",
260 - "fresh": "0.5.2",
261 - "merge-descriptors": "1.0.1",
262 - "methods": "~1.1.2",
263 - "on-finished": "~2.3.0",
264 - "parseurl": "~1.3.3",
265 - "path-to-regexp": "0.1.7",
266 - "proxy-addr": "~2.0.5",
267 - "qs": "6.7.0",
268 - "range-parser": "~1.2.1",
269 - "safe-buffer": "5.1.2",
270 - "send": "0.17.1",
271 - "serve-static": "1.14.1",
272 - "setprototypeof": "1.1.1",
273 - "statuses": "~1.5.0",
274 - "type-is": "~1.6.18",
275 - "utils-merge": "1.0.1",
276 - "vary": "~1.1.2"
277 - },
278 - "engines": {
279 - "node": ">= 0.10.0"
280 - }
281 - },
282 - "node_modules/extend": {
283 - "version": "3.0.2",
284 - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
285 - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
286 - },
287 - "node_modules/extsprintf": {
288 - "version": "1.3.0",
289 - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
290 - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
291 - "engines": [
292 - "node >=0.6.0"
293 - ]
294 - },
295 - "node_modules/fast-deep-equal": {
296 - "version": "3.1.1",
297 - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
298 - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
299 - },
300 - "node_modules/fast-json-stable-stringify": {
301 - "version": "2.1.0",
302 - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
303 - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
304 - },
305 - "node_modules/finalhandler": {
306 - "version": "1.1.2",
307 - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
308 - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
309 - "dependencies": {
310 - "debug": "2.6.9",
311 - "encodeurl": "~1.0.2",
312 - "escape-html": "~1.0.3",
313 - "on-finished": "~2.3.0",
314 - "parseurl": "~1.3.3",
315 - "statuses": "~1.5.0",
316 - "unpipe": "~1.0.0"
317 - },
318 - "engines": {
319 - "node": ">= 0.8"
320 - }
321 - },
322 - "node_modules/forever-agent": {
323 - "version": "0.6.1",
324 - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
325 - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
326 - "engines": {
327 - "node": "*"
328 - }
329 - },
330 - "node_modules/form-data": {
331 - "version": "2.3.3",
332 - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
333 - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
334 - "dependencies": {
335 - "asynckit": "^0.4.0",
336 - "combined-stream": "^1.0.6",
337 - "mime-types": "^2.1.12"
338 - },
339 - "engines": {
340 - "node": ">= 0.12"
341 - }
342 - },
343 - "node_modules/forwarded": {
344 - "version": "0.1.2",
345 - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
346 - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
347 - "engines": {
348 - "node": ">= 0.6"
349 - }
350 - },
351 - "node_modules/fresh": {
352 - "version": "0.5.2",
353 - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
354 - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
355 - "engines": {
356 - "node": ">= 0.6"
357 - }
358 - },
359 - "node_modules/getpass": {
360 - "version": "0.1.7",
361 - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
362 - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
363 - "dependencies": {
364 - "assert-plus": "^1.0.0"
365 - }
366 - },
367 - "node_modules/har-schema": {
368 - "version": "2.0.0",
369 - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
370 - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
371 - "engines": {
372 - "node": ">=4"
373 - }
374 - },
375 - "node_modules/har-validator": {
376 - "version": "5.1.3",
377 - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
378 - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
379 - "deprecated": "this library is no longer supported",
380 - "dependencies": {
381 - "ajv": "^6.5.5",
382 - "har-schema": "^2.0.0"
383 - },
384 - "engines": {
385 - "node": ">=6"
386 - }
387 - },
388 - "node_modules/http-errors": {
389 - "version": "1.7.2",
390 - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
391 - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
392 - "dependencies": {
393 - "depd": "~1.1.2",
394 - "inherits": "2.0.3",
395 - "setprototypeof": "1.1.1",
396 - "statuses": ">= 1.5.0 < 2",
397 - "toidentifier": "1.0.0"
398 - },
399 - "engines": {
400 - "node": ">= 0.6"
401 - }
402 - },
403 - "node_modules/http-signature": {
404 - "version": "1.2.0",
405 - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
406 - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
407 - "dependencies": {
408 - "assert-plus": "^1.0.0",
409 - "jsprim": "^1.2.2",
410 - "sshpk": "^1.7.0"
411 - },
412 - "engines": {
413 - "node": ">=0.8",
414 - "npm": ">=1.3.7"
415 - }
416 - },
417 - "node_modules/iconv-lite": {
418 - "version": "0.4.24",
419 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
420 - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
421 - "dependencies": {
422 - "safer-buffer": ">= 2.1.2 < 3"
423 - },
424 - "engines": {
425 - "node": ">=0.10.0"
426 - }
427 - },
428 - "node_modules/inherits": {
429 - "version": "2.0.3",
430 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
431 - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
432 - },
433 - "node_modules/ipaddr.js": {
434 - "version": "1.9.1",
435 - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
436 - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
437 - "engines": {
438 - "node": ">= 0.10"
439 - }
440 - },
441 - "node_modules/is-typedarray": {
442 - "version": "1.0.0",
443 - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
444 - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
445 - },
446 - "node_modules/isstream": {
447 - "version": "0.1.2",
448 - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
449 - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
450 - },
451 - "node_modules/jsbn": {
452 - "version": "0.1.1",
453 - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
454 - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
455 - },
456 - "node_modules/json-schema": {
457 - "version": "0.2.3",
458 - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
459 - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
460 - },
461 - "node_modules/json-schema-traverse": {
462 - "version": "0.4.1",
463 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
464 - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
465 - },
466 - "node_modules/json-stringify-safe": {
467 - "version": "5.0.1",
468 - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
469 - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
470 - },
471 - "node_modules/jsprim": {
472 - "version": "1.4.1",
473 - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
474 - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
475 - "engines": [
476 - "node >=0.6.0"
477 - ],
478 - "dependencies": {
479 - "assert-plus": "1.0.0",
480 - "extsprintf": "1.3.0",
481 - "json-schema": "0.2.3",
482 - "verror": "1.10.0"
483 - }
484 - },
485 - "node_modules/media-typer": {
486 - "version": "0.3.0",
487 - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
488 - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
489 - "engines": {
490 - "node": ">= 0.6"
491 - }
492 - },
493 - "node_modules/merge-descriptors": {
494 - "version": "1.0.1",
495 - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
496 - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
497 - },
498 - "node_modules/methods": {
499 - "version": "1.1.2",
500 - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
501 - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
502 - "engines": {
503 - "node": ">= 0.6"
504 - }
505 - },
506 - "node_modules/mime": {
507 - "version": "1.6.0",
508 - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
509 - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
510 - "bin": {
511 - "mime": "cli.js"
512 - },
513 - "engines": {
514 - "node": ">=4"
515 - }
516 - },
517 - "node_modules/mime-db": {
518 - "version": "1.44.0",
519 - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
520 - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
521 - "engines": {
522 - "node": ">= 0.6"
523 - }
524 - },
525 - "node_modules/mime-types": {
526 - "version": "2.1.27",
527 - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
528 - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
529 - "dependencies": {
530 - "mime-db": "1.44.0"
531 - },
532 - "engines": {
533 - "node": ">= 0.6"
534 - }
535 - },
536 - "node_modules/ms": {
537 - "version": "2.0.0",
538 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
539 - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
540 - },
541 - "node_modules/negotiator": {
542 - "version": "0.6.2",
543 - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
544 - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
545 - "engines": {
546 - "node": ">= 0.6"
547 - }
548 - },
549 - "node_modules/oauth-sign": {
550 - "version": "0.9.0",
551 - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
552 - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
553 - "engines": {
554 - "node": "*"
555 - }
556 - },
557 - "node_modules/on-finished": {
558 - "version": "2.3.0",
559 - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
560 - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
561 - "dependencies": {
562 - "ee-first": "1.1.1"
563 - },
564 - "engines": {
565 - "node": ">= 0.8"
566 - }
567 - },
568 - "node_modules/parseurl": {
569 - "version": "1.3.3",
570 - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
571 - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
572 - "engines": {
573 - "node": ">= 0.8"
574 - }
575 - },
576 - "node_modules/path-to-regexp": {
577 - "version": "0.1.7",
578 - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
579 - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
580 - },
581 - "node_modules/performance-now": {
582 - "version": "2.1.0",
583 - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
584 - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
585 - },
586 - "node_modules/proxy-addr": {
587 - "version": "2.0.6",
588 - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
589 - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
590 - "dependencies": {
591 - "forwarded": "~0.1.2",
592 - "ipaddr.js": "1.9.1"
593 - },
594 - "engines": {
595 - "node": ">= 0.10"
596 - }
597 - },
598 - "node_modules/psl": {
599 - "version": "1.8.0",
600 - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
601 - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
602 - },
603 - "node_modules/punycode": {
604 - "version": "2.1.1",
605 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
606 - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
607 - "engines": {
608 - "node": ">=6"
609 - }
610 - },
611 - "node_modules/qs": {
612 - "version": "6.7.0",
613 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
614 - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
615 - "engines": {
616 - "node": ">=0.6"
617 - }
618 - },
619 - "node_modules/range-parser": {
620 - "version": "1.2.1",
621 - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
622 - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
623 - "engines": {
624 - "node": ">= 0.6"
625 - }
626 - },
627 - "node_modules/raw-body": {
628 - "version": "2.4.0",
629 - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
630 - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
631 - "dependencies": {
632 - "bytes": "3.1.0",
633 - "http-errors": "1.7.2",
634 - "iconv-lite": "0.4.24",
635 - "unpipe": "1.0.0"
636 - },
637 - "engines": {
638 - "node": ">= 0.8"
639 - }
640 - },
641 - "node_modules/request": {
642 - "version": "2.88.2",
643 - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
644 - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
645 - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
646 - "dependencies": {
647 - "aws-sign2": "~0.7.0",
648 - "aws4": "^1.8.0",
649 - "caseless": "~0.12.0",
650 - "combined-stream": "~1.0.6",
651 - "extend": "~3.0.2",
652 - "forever-agent": "~0.6.1",
653 - "form-data": "~2.3.2",
654 - "har-validator": "~5.1.3",
655 - "http-signature": "~1.2.0",
656 - "is-typedarray": "~1.0.0",
657 - "isstream": "~0.1.2",
658 - "json-stringify-safe": "~5.0.1",
659 - "mime-types": "~2.1.19",
660 - "oauth-sign": "~0.9.0",
661 - "performance-now": "^2.1.0",
662 - "qs": "~6.5.2",
663 - "safe-buffer": "^5.1.2",
664 - "tough-cookie": "~2.5.0",
665 - "tunnel-agent": "^0.6.0",
666 - "uuid": "^3.3.2"
667 - },
668 - "engines": {
669 - "node": ">= 6"
670 - }
671 - },
672 - "node_modules/request/node_modules/qs": {
673 - "version": "6.5.2",
674 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
675 - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
676 - "engines": {
677 - "node": ">=0.6"
678 - }
679 - },
680 - "node_modules/safe-buffer": {
681 - "version": "5.1.2",
682 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
683 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
684 - },
685 - "node_modules/safer-buffer": {
686 - "version": "2.1.2",
687 - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
688 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
689 - },
690 - "node_modules/send": {
691 - "version": "0.17.1",
692 - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
693 - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
694 - "dependencies": {
695 - "debug": "2.6.9",
696 - "depd": "~1.1.2",
697 - "destroy": "~1.0.4",
698 - "encodeurl": "~1.0.2",
699 - "escape-html": "~1.0.3",
700 - "etag": "~1.8.1",
701 - "fresh": "0.5.2",
702 - "http-errors": "~1.7.2",
703 - "mime": "1.6.0",
704 - "ms": "2.1.1",
705 - "on-finished": "~2.3.0",
706 - "range-parser": "~1.2.1",
707 - "statuses": "~1.5.0"
708 - },
709 - "engines": {
710 - "node": ">= 0.8.0"
711 - }
712 - },
713 - "node_modules/send/node_modules/ms": {
714 - "version": "2.1.1",
715 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
716 - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
717 - },
718 - "node_modules/serve-static": {
719 - "version": "1.14.1",
720 - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
721 - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
722 - "dependencies": {
723 - "encodeurl": "~1.0.2",
724 - "escape-html": "~1.0.3",
725 - "parseurl": "~1.3.3",
726 - "send": "0.17.1"
727 - },
728 - "engines": {
729 - "node": ">= 0.8.0"
730 - }
731 - },
732 - "node_modules/setprototypeof": {
733 - "version": "1.1.1",
734 - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
735 - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
736 - },
737 - "node_modules/sshpk": {
738 - "version": "1.16.1",
739 - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
740 - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
741 - "dependencies": {
742 - "asn1": "~0.2.3",
743 - "assert-plus": "^1.0.0",
744 - "bcrypt-pbkdf": "^1.0.0",
745 - "dashdash": "^1.12.0",
746 - "ecc-jsbn": "~0.1.1",
747 - "getpass": "^0.1.1",
748 - "jsbn": "~0.1.0",
749 - "safer-buffer": "^2.0.2",
750 - "tweetnacl": "~0.14.0"
751 - },
752 - "bin": {
753 - "sshpk-conv": "bin/sshpk-conv",
754 - "sshpk-sign": "bin/sshpk-sign",
755 - "sshpk-verify": "bin/sshpk-verify"
756 - },
757 - "engines": {
758 - "node": ">=0.10.0"
759 - }
760 - },
761 - "node_modules/statuses": {
762 - "version": "1.5.0",
763 - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
764 - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
765 - "engines": {
766 - "node": ">= 0.6"
767 - }
768 - },
769 - "node_modules/toidentifier": {
770 - "version": "1.0.0",
771 - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
772 - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
773 - "engines": {
774 - "node": ">=0.6"
775 - }
776 - },
777 - "node_modules/tough-cookie": {
778 - "version": "2.5.0",
779 - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
780 - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
781 - "dependencies": {
782 - "psl": "^1.1.28",
783 - "punycode": "^2.1.1"
784 - },
785 - "engines": {
786 - "node": ">=0.8"
787 - }
788 - },
789 - "node_modules/tunnel-agent": {
790 - "version": "0.6.0",
791 - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
792 - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
793 - "dependencies": {
794 - "safe-buffer": "^5.0.1"
795 - },
796 - "engines": {
797 - "node": "*"
798 - }
799 - },
800 - "node_modules/tweetnacl": {
801 - "version": "0.14.5",
802 - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
803 - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
804 - },
805 - "node_modules/type-is": {
806 - "version": "1.6.18",
807 - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
808 - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
809 - "dependencies": {
810 - "media-typer": "0.3.0",
811 - "mime-types": "~2.1.24"
812 - },
813 - "engines": {
814 - "node": ">= 0.6"
815 - }
816 - },
817 - "node_modules/unpipe": {
818 - "version": "1.0.0",
819 - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
820 - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
821 - "engines": {
822 - "node": ">= 0.8"
823 - }
824 - },
825 - "node_modules/uri-js": {
826 - "version": "4.2.2",
827 - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
828 - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
829 - "dependencies": {
830 - "punycode": "^2.1.0"
831 - }
832 - },
833 - "node_modules/utils-merge": {
834 - "version": "1.0.1",
835 - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
836 - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
837 - "engines": {
838 - "node": ">= 0.4.0"
839 - }
840 - },
841 - "node_modules/uuid": {
842 - "version": "3.4.0",
843 - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
844 - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
845 - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
846 - "bin": {
847 - "uuid": "bin/uuid"
848 - }
849 - },
850 - "node_modules/vary": {
851 - "version": "1.1.2",
852 - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
853 - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
854 - "engines": {
855 - "node": ">= 0.8"
856 - }
857 - },
858 - "node_modules/verror": {
859 - "version": "1.10.0",
860 - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
861 - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
862 - "engines": [
863 - "node >=0.6.0"
864 - ],
865 - "dependencies": {
866 - "assert-plus": "^1.0.0",
867 - "core-util-is": "1.0.2",
868 - "extsprintf": "^1.2.0"
869 - }
870 - }
871 - },
872 - "dependencies": {
873 - "accepts": {
874 - "version": "1.3.7",
875 - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
876 - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
877 - "requires": {
878 - "mime-types": "~2.1.24",
879 - "negotiator": "0.6.2"
880 - }
881 - },
882 - "ajv": {
883 - "version": "6.12.2",
884 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
885 - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
886 - "requires": {
887 - "fast-deep-equal": "^3.1.1",
888 - "fast-json-stable-stringify": "^2.0.0",
889 - "json-schema-traverse": "^0.4.1",
890 - "uri-js": "^4.2.2"
891 - }
892 - },
893 - "array-flatten": {
894 - "version": "1.1.1",
895 - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
896 - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
897 - },
898 - "asn1": {
899 - "version": "0.2.4",
900 - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
901 - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
902 - "requires": {
903 - "safer-buffer": "~2.1.0"
904 - }
905 - },
906 - "assert-plus": {
907 - "version": "1.0.0",
908 - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
909 - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
910 - },
911 - "asynckit": {
912 - "version": "0.4.0",
913 - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
914 - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
915 - },
916 - "aws-sign2": {
917 - "version": "0.7.0",
918 - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
919 - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
920 - },
921 - "aws4": {
922 - "version": "1.9.1",
923 - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
924 - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
925 - },
926 - "bcrypt-pbkdf": {
927 - "version": "1.0.2",
928 - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
929 - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
930 - "requires": {
931 - "tweetnacl": "^0.14.3"
932 - }
933 - },
934 - "body-parser": {
935 - "version": "1.19.0",
936 - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
937 - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
938 - "requires": {
939 - "bytes": "3.1.0",
940 - "content-type": "~1.0.4",
941 - "debug": "2.6.9",
942 - "depd": "~1.1.2",
943 - "http-errors": "1.7.2",
944 - "iconv-lite": "0.4.24",
945 - "on-finished": "~2.3.0",
946 - "qs": "6.7.0",
947 - "raw-body": "2.4.0",
948 - "type-is": "~1.6.17"
949 - }
950 - },
951 - "bytes": {
952 - "version": "3.1.0",
953 - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
954 - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
955 - },
956 - "caseless": {
957 - "version": "0.12.0",
958 - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
959 - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
960 - },
961 - "combined-stream": {
962 - "version": "1.0.8",
963 - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
964 - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
965 - "requires": {
966 - "delayed-stream": "~1.0.0"
967 - }
968 - },
969 - "content-disposition": {
970 - "version": "0.5.3",
971 - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
972 - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
973 - "requires": {
974 - "safe-buffer": "5.1.2"
975 - }
976 - },
977 - "content-type": {
978 - "version": "1.0.4",
979 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
980 - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
981 - },
982 - "cookie": {
983 - "version": "0.4.0",
984 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
985 - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
986 - },
987 - "cookie-signature": {
988 - "version": "1.0.6",
989 - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
990 - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
991 - },
992 - "core-util-is": {
993 - "version": "1.0.2",
994 - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
995 - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
996 - },
997 - "dashdash": {
998 - "version": "1.14.1",
999 - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
1000 - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1001 - "requires": {
1002 - "assert-plus": "^1.0.0"
1003 - }
1004 - },
1005 - "debug": {
1006 - "version": "2.6.9",
1007 - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1008 - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1009 - "requires": {
1010 - "ms": "2.0.0"
1011 - }
1012 - },
1013 - "delayed-stream": {
1014 - "version": "1.0.0",
1015 - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
1016 - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
1017 - },
1018 - "depd": {
1019 - "version": "1.1.2",
1020 - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1021 - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
1022 - },
1023 - "destroy": {
1024 - "version": "1.0.4",
1025 - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
1026 - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
1027 - },
1028 - "ecc-jsbn": {
1029 - "version": "0.1.2",
1030 - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
1031 - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
1032 - "requires": {
1033 - "jsbn": "~0.1.0",
1034 - "safer-buffer": "^2.1.0"
1035 - }
1036 - },
1037 - "ee-first": {
1038 - "version": "1.1.1",
1039 - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1040 - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
1041 - },
1042 - "encodeurl": {
1043 - "version": "1.0.2",
1044 - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1045 - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
1046 - },
1047 - "escape-html": {
1048 - "version": "1.0.3",
1049 - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1050 - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
1051 - },
1052 - "etag": {
1053 - "version": "1.8.1",
1054 - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1055 - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
1056 - },
1057 - "express": {
1058 - "version": "4.17.1",
1059 - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
1060 - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
1061 - "requires": {
1062 - "accepts": "~1.3.7",
1063 - "array-flatten": "1.1.1",
1064 - "body-parser": "1.19.0",
1065 - "content-disposition": "0.5.3",
1066 - "content-type": "~1.0.4",
1067 - "cookie": "0.4.0",
1068 - "cookie-signature": "1.0.6",
1069 - "debug": "2.6.9",
1070 - "depd": "~1.1.2",
1071 - "encodeurl": "~1.0.2",
1072 - "escape-html": "~1.0.3",
1073 - "etag": "~1.8.1",
1074 - "finalhandler": "~1.1.2",
1075 - "fresh": "0.5.2",
1076 - "merge-descriptors": "1.0.1",
1077 - "methods": "~1.1.2",
1078 - "on-finished": "~2.3.0",
1079 - "parseurl": "~1.3.3",
1080 - "path-to-regexp": "0.1.7",
1081 - "proxy-addr": "~2.0.5",
1082 - "qs": "6.7.0",
1083 - "range-parser": "~1.2.1",
1084 - "safe-buffer": "5.1.2",
1085 - "send": "0.17.1",
1086 - "serve-static": "1.14.1",
1087 - "setprototypeof": "1.1.1",
1088 - "statuses": "~1.5.0",
1089 - "type-is": "~1.6.18",
1090 - "utils-merge": "1.0.1",
1091 - "vary": "~1.1.2"
1092 - }
1093 - },
1094 - "extend": {
1095 - "version": "3.0.2",
1096 - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1097 - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1098 - },
1099 - "extsprintf": {
1100 - "version": "1.3.0",
1101 - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
1102 - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
1103 - },
1104 - "fast-deep-equal": {
1105 - "version": "3.1.1",
1106 - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
1107 - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
1108 - },
1109 - "fast-json-stable-stringify": {
1110 - "version": "2.1.0",
1111 - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1112 - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
1113 - },
1114 - "finalhandler": {
1115 - "version": "1.1.2",
1116 - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
1117 - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
1118 - "requires": {
1119 - "debug": "2.6.9",
1120 - "encodeurl": "~1.0.2",
1121 - "escape-html": "~1.0.3",
1122 - "on-finished": "~2.3.0",
1123 - "parseurl": "~1.3.3",
1124 - "statuses": "~1.5.0",
1125 - "unpipe": "~1.0.0"
1126 - }
1127 - },
1128 - "forever-agent": {
1129 - "version": "0.6.1",
1130 - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1131 - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
1132 - },
1133 - "form-data": {
1134 - "version": "2.3.3",
1135 - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1136 - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1137 - "requires": {
1138 - "asynckit": "^0.4.0",
1139 - "combined-stream": "^1.0.6",
1140 - "mime-types": "^2.1.12"
1141 - }
1142 - },
1143 - "forwarded": {
1144 - "version": "0.1.2",
1145 - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
1146 - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
1147 - },
1148 - "fresh": {
1149 - "version": "0.5.2",
1150 - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1151 - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
1152 - },
1153 - "getpass": {
1154 - "version": "0.1.7",
1155 - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1156 - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1157 - "requires": {
1158 - "assert-plus": "^1.0.0"
1159 - }
1160 - },
1161 - "har-schema": {
1162 - "version": "2.0.0",
1163 - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1164 - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
1165 - },
1166 - "har-validator": {
1167 - "version": "5.1.3",
1168 - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
1169 - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
1170 - "requires": {
1171 - "ajv": "^6.5.5",
1172 - "har-schema": "^2.0.0"
1173 - }
1174 - },
1175 - "http-errors": {
1176 - "version": "1.7.2",
1177 - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
1178 - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
1179 - "requires": {
1180 - "depd": "~1.1.2",
1181 - "inherits": "2.0.3",
1182 - "setprototypeof": "1.1.1",
1183 - "statuses": ">= 1.5.0 < 2",
1184 - "toidentifier": "1.0.0"
1185 - }
1186 - },
1187 - "http-signature": {
1188 - "version": "1.2.0",
1189 - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1190 - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1191 - "requires": {
1192 - "assert-plus": "^1.0.0",
1193 - "jsprim": "^1.2.2",
1194 - "sshpk": "^1.7.0"
1195 - }
1196 - },
1197 - "iconv-lite": {
1198 - "version": "0.4.24",
1199 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1200 - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1201 - "requires": {
1202 - "safer-buffer": ">= 2.1.2 < 3"
1203 - }
1204 - },
1205 - "inherits": {
1206 - "version": "2.0.3",
1207 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1208 - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1209 - },
1210 - "ipaddr.js": {
1211 - "version": "1.9.1",
1212 - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1213 - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
1214 - },
1215 - "is-typedarray": {
1216 - "version": "1.0.0",
1217 - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1218 - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1219 - },
1220 - "isstream": {
1221 - "version": "0.1.2",
1222 - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1223 - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1224 - },
1225 - "jsbn": {
1226 - "version": "0.1.1",
1227 - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1228 - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
1229 - },
1230 - "json-schema": {
1231 - "version": "0.2.3",
1232 - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
1233 - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
1234 - },
1235 - "json-schema-traverse": {
1236 - "version": "0.4.1",
1237 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1238 - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
1239 - },
1240 - "json-stringify-safe": {
1241 - "version": "5.0.1",
1242 - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1243 - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
1244 - },
1245 - "jsprim": {
1246 - "version": "1.4.1",
1247 - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
1248 - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
1249 - "requires": {
1250 - "assert-plus": "1.0.0",
1251 - "extsprintf": "1.3.0",
1252 - "json-schema": "0.2.3",
1253 - "verror": "1.10.0"
1254 - }
1255 - },
1256 - "media-typer": {
1257 - "version": "0.3.0",
1258 - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1259 - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
1260 - },
1261 - "merge-descriptors": {
1262 - "version": "1.0.1",
1263 - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1264 - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
1265 - },
1266 - "methods": {
1267 - "version": "1.1.2",
1268 - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1269 - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
1270 - },
1271 - "mime": {
1272 - "version": "1.6.0",
1273 - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1274 - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
1275 - },
1276 - "mime-db": {
1277 - "version": "1.44.0",
1278 - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
1279 - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
1280 - },
1281 - "mime-types": {
1282 - "version": "2.1.27",
1283 - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
1284 - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
1285 - "requires": {
1286 - "mime-db": "1.44.0"
1287 - }
1288 - },
1289 - "ms": {
1290 - "version": "2.0.0",
1291 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1292 - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1293 - },
1294 - "negotiator": {
1295 - "version": "0.6.2",
1296 - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
1297 - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
1298 - },
1299 - "oauth-sign": {
1300 - "version": "0.9.0",
1301 - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
1302 - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
1303 - },
1304 - "on-finished": {
1305 - "version": "2.3.0",
1306 - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1307 - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
1308 - "requires": {
1309 - "ee-first": "1.1.1"
1310 - }
1311 - },
1312 - "parseurl": {
1313 - "version": "1.3.3",
1314 - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1315 - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1316 - },
1317 - "path-to-regexp": {
1318 - "version": "0.1.7",
1319 - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1320 - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
1321 - },
1322 - "performance-now": {
1323 - "version": "2.1.0",
1324 - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1325 - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
1326 - },
1327 - "proxy-addr": {
1328 - "version": "2.0.6",
1329 - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
1330 - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
1331 - "requires": {
1332 - "forwarded": "~0.1.2",
1333 - "ipaddr.js": "1.9.1"
1334 - }
1335 - },
1336 - "psl": {
1337 - "version": "1.8.0",
1338 - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
1339 - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
1340 - },
1341 - "punycode": {
1342 - "version": "2.1.1",
1343 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1344 - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
1345 - },
1346 - "qs": {
1347 - "version": "6.7.0",
1348 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
1349 - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
1350 - },
1351 - "range-parser": {
1352 - "version": "1.2.1",
1353 - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1354 - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
1355 - },
1356 - "raw-body": {
1357 - "version": "2.4.0",
1358 - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
1359 - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
1360 - "requires": {
1361 - "bytes": "3.1.0",
1362 - "http-errors": "1.7.2",
1363 - "iconv-lite": "0.4.24",
1364 - "unpipe": "1.0.0"
1365 - }
1366 - },
1367 - "request": {
1368 - "version": "2.88.2",
1369 - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
1370 - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
1371 - "requires": {
1372 - "aws-sign2": "~0.7.0",
1373 - "aws4": "^1.8.0",
1374 - "caseless": "~0.12.0",
1375 - "combined-stream": "~1.0.6",
1376 - "extend": "~3.0.2",
1377 - "forever-agent": "~0.6.1",
1378 - "form-data": "~2.3.2",
1379 - "har-validator": "~5.1.3",
1380 - "http-signature": "~1.2.0",
1381 - "is-typedarray": "~1.0.0",
1382 - "isstream": "~0.1.2",
1383 - "json-stringify-safe": "~5.0.1",
1384 - "mime-types": "~2.1.19",
1385 - "oauth-sign": "~0.9.0",
1386 - "performance-now": "^2.1.0",
1387 - "qs": "~6.5.2",
1388 - "safe-buffer": "^5.1.2",
1389 - "tough-cookie": "~2.5.0",
1390 - "tunnel-agent": "^0.6.0",
1391 - "uuid": "^3.3.2"
1392 - },
1393 - "dependencies": {
1394 - "qs": {
1395 - "version": "6.5.2",
1396 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
1397 - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
1398 - }
1399 - }
1400 - },
1401 - "safe-buffer": {
1402 - "version": "5.1.2",
1403 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1404 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1405 - },
1406 - "safer-buffer": {
1407 - "version": "2.1.2",
1408 - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1409 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1410 - },
1411 - "send": {
1412 - "version": "0.17.1",
1413 - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
1414 - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
1415 - "requires": {
1416 - "debug": "2.6.9",
1417 - "depd": "~1.1.2",
1418 - "destroy": "~1.0.4",
1419 - "encodeurl": "~1.0.2",
1420 - "escape-html": "~1.0.3",
1421 - "etag": "~1.8.1",
1422 - "fresh": "0.5.2",
1423 - "http-errors": "~1.7.2",
1424 - "mime": "1.6.0",
1425 - "ms": "2.1.1",
1426 - "on-finished": "~2.3.0",
1427 - "range-parser": "~1.2.1",
1428 - "statuses": "~1.5.0"
1429 - },
1430 - "dependencies": {
1431 - "ms": {
1432 - "version": "2.1.1",
1433 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1434 - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
1435 - }
1436 - }
1437 - },
1438 - "serve-static": {
1439 - "version": "1.14.1",
1440 - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
1441 - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
1442 - "requires": {
1443 - "encodeurl": "~1.0.2",
1444 - "escape-html": "~1.0.3",
1445 - "parseurl": "~1.3.3",
1446 - "send": "0.17.1"
1447 - }
1448 - },
1449 - "setprototypeof": {
1450 - "version": "1.1.1",
1451 - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
1452 - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
1453 - },
1454 - "sshpk": {
1455 - "version": "1.16.1",
1456 - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1457 - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
1458 - "requires": {
1459 - "asn1": "~0.2.3",
1460 - "assert-plus": "^1.0.0",
1461 - "bcrypt-pbkdf": "^1.0.0",
1462 - "dashdash": "^1.12.0",
1463 - "ecc-jsbn": "~0.1.1",
1464 - "getpass": "^0.1.1",
1465 - "jsbn": "~0.1.0",
1466 - "safer-buffer": "^2.0.2",
1467 - "tweetnacl": "~0.14.0"
1468 - }
1469 - },
1470 - "statuses": {
1471 - "version": "1.5.0",
1472 - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
1473 - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
1474 - },
1475 - "toidentifier": {
1476 - "version": "1.0.0",
1477 - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
1478 - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
1479 - },
1480 - "tough-cookie": {
1481 - "version": "2.5.0",
1482 - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1483 - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
1484 - "requires": {
1485 - "psl": "^1.1.28",
1486 - "punycode": "^2.1.1"
1487 - }
1488 - },
1489 - "tunnel-agent": {
1490 - "version": "0.6.0",
1491 - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1492 - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1493 - "requires": {
1494 - "safe-buffer": "^5.0.1"
1495 - }
1496 - },
1497 - "tweetnacl": {
1498 - "version": "0.14.5",
1499 - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1500 - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
1501 - },
1502 - "type-is": {
1503 - "version": "1.6.18",
1504 - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1505 - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1506 - "requires": {
1507 - "media-typer": "0.3.0",
1508 - "mime-types": "~2.1.24"
1509 - }
1510 - },
1511 - "unpipe": {
1512 - "version": "1.0.0",
1513 - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1514 - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
1515 - },
1516 - "uri-js": {
1517 - "version": "4.2.2",
1518 - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1519 - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1520 - "requires": {
1521 - "punycode": "^2.1.0"
1522 - }
1523 - },
1524 - "utils-merge": {
1525 - "version": "1.0.1",
1526 - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1527 - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
1528 - },
1529 - "uuid": {
1530 - "version": "3.4.0",
1531 - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1532 - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
1533 - },
1534 - "vary": {
1535 - "version": "1.1.2",
1536 - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1537 - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
1538 - },
1539 - "verror": {
1540 - "version": "1.10.0",
1541 - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1542 - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1543 - "requires": {
1544 - "assert-plus": "^1.0.0",
1545 - "core-util-is": "1.0.2",
1546 - "extsprintf": "^1.2.0"
1547 - }
1548 - }
1549 - }
1550 -}
1 -{
2 - "name": "trans",
3 - "version": "1.0.0",
4 - "description": "",
5 - "main": "app.js",
6 - "scripts": {
7 - "test": "echo \"Error: no test specified\" && exit 1"
8 - },
9 - "author": "",
10 - "license": "ISC",
11 - "dependencies": {
12 - "express": "^4.17.1",
13 - "request": "^2.88.2"
14 - }
15 -}