├── .env
├── .gitignore
├── .npmrc
├── Events
└── index.js
├── README.md
├── Session.json
├── helpers
├── BaseCommand.js
├── CheckSession.js
└── SessionCapture.js
├── index.js
├── package-lock.json
└── package.json
/.env:
--------------------------------------------------------------------------------
1 | USERNAMESMASH='your username'
2 | PASSWORDSMASH='your password'
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NatanB4/SmashDoubleAPI/5c14b3fdb0bcec318c8d85452de5922308ba8117/.npmrc
--------------------------------------------------------------------------------
/Events/index.js:
--------------------------------------------------------------------------------
1 | // const events = require('events');
2 | // const eventEmitter = new events.EventEmitter();
3 |
4 | // eventEmitter.on('token', async (func, data, { assync = false }) => {
5 | // return assync ? await func(data) : func(data)
6 | // })
7 |
8 | // module.exports = class Event {
9 | // constructor() {
10 | // this.events = ['token']
11 | // }
12 |
13 | // setListerning(event, func, data) {
14 | // if (this.events.includes(event)) eventEmitter.emit(event, func, data)
15 | // }
16 | // }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |

3 |
4 | # Smash-Double-API
5 |
6 |
7 | ## About - Sobre
8 |
9 | > Um sistema simples que consegue utilizar a API do proprio smash double.
10 |
11 | - Caso não exista/invalido o token ele roda um pequeno script feito com a biblioteca [puppeteer](https://www.npmjs.com/package/puppeteer) que captura o token das chamadas do proprio SmashUp e salva num arquivo chamado token.txt
12 | - Caso o token exista e seja válido ele pega o token do arquivo token.txt e joga numa request do [node-fetch](https://www.npmjs.com/package/node-fetch) retornando um array de todas as cores da roleta atual.
13 |
14 | ## Usage - Uso
15 |
16 | ```
17 | $ npm i @natanbarbosa2/smashapi
18 | ```
19 |
20 | Create a new file js
21 |
22 |
23 |
24 |
25 | #### Caso não exista token ou seja inválido:
26 | -
27 |
28 | ### Caso ele exista e seja válido:
29 | -
30 |
31 |
32 | ### Todas as funções disponiveis:
33 | - currentRollete (Roleta atual)
34 | - listBalance (Saldo atual)
35 | - userProfile (Perfil do usuario)
36 | - lastColor (A ultima cor jogada)
37 | - userNotifications (Notificações do usuario)
38 | - outhers: betGame, htmlSmash, outherInformations.
39 |
40 | ## TODO LIST
41 | [X] - Setup inicial
42 | [X] - Sistema para capturar a roleta atual
43 | [X] - Sistema de Utima Cor e Informações do Usuario.
44 |
45 | ## Mais informações
46 | - Token tem válidade de no máximo 15 horas!
47 |
48 | ## GITHUB
49 | - https://github.com/NatanBarbosa2/SmashDoubleAPI
50 |
--------------------------------------------------------------------------------
/Session.json:
--------------------------------------------------------------------------------
1 | {"cookie":"6f38ae432fa4c0e8d521ac1e0ae66fa4","token":"6G2vCDsyvJeXnyBSjPRtE"}
2 |
--------------------------------------------------------------------------------
/helpers/BaseCommand.js:
--------------------------------------------------------------------------------
1 | const { readFileSync } = require('fs');
2 | const { writeFile } = require('fs/promises')
3 |
4 | const { default: fetch } = require('node-fetch');
5 | const path = require('path');
6 |
7 | const Logger = {
8 | info: (msg) => console.log('\x1b[36m [ INFO ] %s ', msg),
9 | warn: (msg) => console.warn('\x1b[33m [ WARN ] %s ', msg),
10 | error: (msg) => console.error('\x1b[31m [ ERROR ] %s ', msg)
11 | }
12 |
13 | const readSession = async () => {
14 | try {
15 | return String(readFileSync('./Session.json'))
16 | } catch (error) {
17 | await writeFile('./Session.json', '{ "token": "", "cookie": ""}')
18 | return String(readFileSync('./Session.json'))
19 | }
20 | }
21 |
22 | const request = async (url, { token = '', cookie = '' }) => {
23 | return await fetch(url, {
24 | method: "get",
25 | headers: {
26 | "x-auth-key": token,
27 | "cookie": cookie,
28 | },
29 | }).then(async (data) => data)
30 | }
31 |
32 |
33 | module.exports = {
34 | Logger,
35 | readSession,
36 | request,
37 | }
38 |
--------------------------------------------------------------------------------
/helpers/CheckSession.js:
--------------------------------------------------------------------------------
1 | const { readSession, request, Logger } = require("./BaseCommand")
2 | const SessionCapture = require("./SessionCapture")
3 |
4 | const CheckSession = async ({ username, password }) => {
5 | const Session = await readSession()
6 | const { token, cookie } = JSON.parse(Session)
7 | const data = await request('https://br-game-api.t1tcp.com/mini/double/opencodes?&pagesize=15&page=1', {token})
8 |
9 | if (data.status !== 200) {
10 | Logger.warn('Sessão inválida, gerando uma nova sessão.')
11 | await new SessionCapture(username, password).run()
12 | }
13 |
14 | return {token, cookie}
15 | }
16 |
17 | module.exports = { CheckSession }
--------------------------------------------------------------------------------
/helpers/SessionCapture.js:
--------------------------------------------------------------------------------
1 | const puppeteer = require('puppeteer')
2 | const { Logger } = require('./BaseCommand')
3 | const path = require('path')
4 | const { writeFile } = require('fs/promises')
5 |
6 | module.exports = class SessionCapture {
7 | browser
8 | user = {
9 | name: '',
10 | password: '',
11 | }
12 |
13 | constructor(name, password) {
14 | this.user.name = name,
15 | this.user.password = password
16 | }
17 |
18 | async run() {
19 | Logger.info("Conectando ao Puppeeter");
20 | await this.run_puppeeter({ name: this.user.name, password: this.user.password });
21 | }
22 |
23 | async run_puppeeter({ name, password }) {
24 | this.browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'], });
25 | const page = await this.browser.newPage();
26 | page.setDefaultNavigationTimeout(50000);
27 | await page.goto("https://www.smashup.com/#!");
28 |
29 |
30 | Logger.info("Logando na double");
31 | await page.click('[href="#login-registration"]');
32 |
33 | await page.focus('[name="login"]');
34 | await this.sleep(1000);
35 | await page.keyboard.type(this.user.name);
36 | await this.sleep(1000);
37 | await page.focus('input[type="password"]');
38 | await this.sleep(1000);
39 | await page.keyboard.type(this.user.password);
40 | await page.click('[type="submit"]');
41 | Logger.info("Entrando na conta");
42 |
43 | Logger.info("Iniciando sistema de captura de Token");
44 | await page.setRequestInterception(true);
45 |
46 | let data = {
47 | cookie: undefined,
48 | token: undefined,
49 | };
50 |
51 | await page.on("request", async (request) => {
52 | if (
53 | request.url().includes("https://br-game.t1tcp.com/mini/double?token=")
54 | ) {
55 | data.token = request
56 | .url()
57 | .replace("=", " ")
58 | .replace("&", " ")
59 | .split(" ")[1];
60 |
61 | Logger.info(`Token encontrado: ${data.token}. salvando..`);
62 | await writeFile(`${path.resolve('./Session.json')}`, `${JSON.stringify(data)} \n`).then(async () => await this.browser.close())
63 | }
64 | if (
65 | request.url().includes("https://player.smashup.com/async/available_subwallet_list") && data.cookie == undefined
66 | ) {
67 | data.cookie = request.headers().cookie.split(" ")[1].replace("=", " ").replace(";", " ").split(" ")[1]
68 | Logger.info(`Cookie encontrado: ${data.cookie}. salvando..`);
69 | }
70 |
71 | await request.continue();
72 | });
73 |
74 | Logger.info("Entrando na pagina Double");
75 | await this.sleep(1000);
76 | await page.click('[src="includes/images/icon/side-icons/double-icon.png"]');
77 | await this.sleep(7000);
78 | }
79 |
80 | sleep(ms) {
81 | return new Promise((resolve) => {
82 | setTimeout(resolve, ms);
83 | });
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | // const fetch = require('node-fetch');
2 | // const { readFileSync } = require('fs');
3 | // const CheckToken = require('./Events/CheckToken.js');
4 | require("dotenv").config({ path: __dirname + "/.env" });
5 | const { request } = require("./helpers/BaseCommand");
6 | // const events = require('events');
7 | const { CheckSession } = require("./helpers/CheckSession");
8 | // const eventEmitter = new events.EventEmitter();
9 |
10 | module.exports = class SmashApi {
11 | user = {
12 | username: "",
13 | password: "",
14 | };
15 |
16 | constructor({ username, password }) {
17 | this.user.username = username;
18 | this.user.password = password;
19 | }
20 |
21 | async currentRollete() {
22 | const { token } = await CheckSession(this.user);
23 | return await request(
24 | "https://br-game-api.t1tcp.com/mini/double/opencodes?&pagesize=15&page=1",
25 | { token }
26 | );
27 | }
28 |
29 | async listBalance() {
30 | const { cookie } = await CheckSession(this.user);
31 | return await request(
32 | "https://player.smashup.com/async/available_subwallet_list/true?callback=jQuery1113023060357254788189_1651067150177&_=1651067150188",
33 | { cookie }
34 | );
35 | }
36 |
37 | async outherInformations() {
38 | const { cookie } = await CheckSession(this.user);
39 | return await request(
40 | "https://player.smashup.com/async/variables?callback=jQuery111307946989289506177_1651067780325&_=1651067780326",
41 | { cookie }
42 | )
43 | }
44 |
45 | async userProfile() {
46 | const { token } = await CheckSession(this.user);
47 | return await request(
48 | "https://br-game-api.t1tcp.com/mini/profile?",
49 | { token }
50 | )
51 | }
52 |
53 | async lastColor() {
54 | const { token } = await CheckSession(this.user);
55 | return await request("https://br-game-api.t1tcp.com/mini/double/period?",
56 | { token }
57 | )
58 | }
59 |
60 | async userNotifications() {
61 | const { cookie } = await CheckSession(this.user);
62 | return await request("https://player.smashup.com/async/player_notify?callback=jQuery111304514409857539876_1651068030449&_=1651068030456", { cookie })
63 | }
64 |
65 | async betGame() {
66 | const { token } = await CheckSession(this.user);
67 | return await request("https://br-game-api.t1tcp.com/mini/double/bets?&pagesize=15&page=1",
68 | { token }
69 | )
70 | }
71 |
72 | async htmlSmash() {
73 | const { cookie } = await CheckSession(this.user);
74 | return await request("https://player.smashup.com/async/get_unread_messages?callback=jQuery111306861107840116993_1651068026368&_=1651068026374", { cookie })
75 | }
76 | };
77 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "SmashAPI",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "SmashAPI",
9 | "version": "1.0.0",
10 | "license": "ISC",
11 | "dependencies": {
12 | "dotenv": "^16.0.0",
13 | "node-fetch": "^2.6.7",
14 | "puppeteer": "^13.6.0"
15 | }
16 | },
17 | "node_modules/@types/node": {
18 | "version": "17.0.25",
19 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz",
20 | "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==",
21 | "optional": true
22 | },
23 | "node_modules/@types/yauzl": {
24 | "version": "2.10.0",
25 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
26 | "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
27 | "optional": true,
28 | "dependencies": {
29 | "@types/node": "*"
30 | }
31 | },
32 | "node_modules/agent-base": {
33 | "version": "6.0.2",
34 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
35 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
36 | "dependencies": {
37 | "debug": "4"
38 | },
39 | "engines": {
40 | "node": ">= 6.0.0"
41 | }
42 | },
43 | "node_modules/balanced-match": {
44 | "version": "1.0.2",
45 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
46 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
47 | },
48 | "node_modules/base64-js": {
49 | "version": "1.5.1",
50 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
51 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
52 | "funding": [
53 | {
54 | "type": "github",
55 | "url": "https://github.com/sponsors/feross"
56 | },
57 | {
58 | "type": "patreon",
59 | "url": "https://www.patreon.com/feross"
60 | },
61 | {
62 | "type": "consulting",
63 | "url": "https://feross.org/support"
64 | }
65 | ]
66 | },
67 | "node_modules/bl": {
68 | "version": "4.1.0",
69 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
70 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
71 | "dependencies": {
72 | "buffer": "^5.5.0",
73 | "inherits": "^2.0.4",
74 | "readable-stream": "^3.4.0"
75 | }
76 | },
77 | "node_modules/brace-expansion": {
78 | "version": "1.1.11",
79 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
80 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
81 | "dependencies": {
82 | "balanced-match": "^1.0.0",
83 | "concat-map": "0.0.1"
84 | }
85 | },
86 | "node_modules/buffer": {
87 | "version": "5.7.1",
88 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
89 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
90 | "funding": [
91 | {
92 | "type": "github",
93 | "url": "https://github.com/sponsors/feross"
94 | },
95 | {
96 | "type": "patreon",
97 | "url": "https://www.patreon.com/feross"
98 | },
99 | {
100 | "type": "consulting",
101 | "url": "https://feross.org/support"
102 | }
103 | ],
104 | "dependencies": {
105 | "base64-js": "^1.3.1",
106 | "ieee754": "^1.1.13"
107 | }
108 | },
109 | "node_modules/buffer-crc32": {
110 | "version": "0.2.13",
111 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
112 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
113 | "engines": {
114 | "node": "*"
115 | }
116 | },
117 | "node_modules/chownr": {
118 | "version": "1.1.4",
119 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
120 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
121 | },
122 | "node_modules/concat-map": {
123 | "version": "0.0.1",
124 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
125 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
126 | },
127 | "node_modules/cross-fetch": {
128 | "version": "3.1.5",
129 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
130 | "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
131 | "dependencies": {
132 | "node-fetch": "2.6.7"
133 | }
134 | },
135 | "node_modules/debug": {
136 | "version": "4.3.4",
137 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
138 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
139 | "dependencies": {
140 | "ms": "2.1.2"
141 | },
142 | "engines": {
143 | "node": ">=6.0"
144 | },
145 | "peerDependenciesMeta": {
146 | "supports-color": {
147 | "optional": true
148 | }
149 | }
150 | },
151 | "node_modules/devtools-protocol": {
152 | "version": "0.0.981744",
153 | "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz",
154 | "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg=="
155 | },
156 | "node_modules/dotenv": {
157 | "version": "16.0.0",
158 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz",
159 | "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==",
160 | "engines": {
161 | "node": ">=12"
162 | }
163 | },
164 | "node_modules/end-of-stream": {
165 | "version": "1.4.4",
166 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
167 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
168 | "dependencies": {
169 | "once": "^1.4.0"
170 | }
171 | },
172 | "node_modules/extract-zip": {
173 | "version": "2.0.1",
174 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
175 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
176 | "dependencies": {
177 | "debug": "^4.1.1",
178 | "get-stream": "^5.1.0",
179 | "yauzl": "^2.10.0"
180 | },
181 | "bin": {
182 | "extract-zip": "cli.js"
183 | },
184 | "engines": {
185 | "node": ">= 10.17.0"
186 | },
187 | "optionalDependencies": {
188 | "@types/yauzl": "^2.9.1"
189 | }
190 | },
191 | "node_modules/fd-slicer": {
192 | "version": "1.1.0",
193 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
194 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
195 | "dependencies": {
196 | "pend": "~1.2.0"
197 | }
198 | },
199 | "node_modules/find-up": {
200 | "version": "4.1.0",
201 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
202 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
203 | "dependencies": {
204 | "locate-path": "^5.0.0",
205 | "path-exists": "^4.0.0"
206 | },
207 | "engines": {
208 | "node": ">=8"
209 | }
210 | },
211 | "node_modules/fs-constants": {
212 | "version": "1.0.0",
213 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
214 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
215 | },
216 | "node_modules/fs.realpath": {
217 | "version": "1.0.0",
218 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
219 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
220 | },
221 | "node_modules/get-stream": {
222 | "version": "5.2.0",
223 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
224 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
225 | "dependencies": {
226 | "pump": "^3.0.0"
227 | },
228 | "engines": {
229 | "node": ">=8"
230 | },
231 | "funding": {
232 | "url": "https://github.com/sponsors/sindresorhus"
233 | }
234 | },
235 | "node_modules/glob": {
236 | "version": "7.2.0",
237 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
238 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
239 | "dependencies": {
240 | "fs.realpath": "^1.0.0",
241 | "inflight": "^1.0.4",
242 | "inherits": "2",
243 | "minimatch": "^3.0.4",
244 | "once": "^1.3.0",
245 | "path-is-absolute": "^1.0.0"
246 | },
247 | "engines": {
248 | "node": "*"
249 | },
250 | "funding": {
251 | "url": "https://github.com/sponsors/isaacs"
252 | }
253 | },
254 | "node_modules/https-proxy-agent": {
255 | "version": "5.0.0",
256 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
257 | "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
258 | "dependencies": {
259 | "agent-base": "6",
260 | "debug": "4"
261 | },
262 | "engines": {
263 | "node": ">= 6"
264 | }
265 | },
266 | "node_modules/ieee754": {
267 | "version": "1.2.1",
268 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
269 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
270 | "funding": [
271 | {
272 | "type": "github",
273 | "url": "https://github.com/sponsors/feross"
274 | },
275 | {
276 | "type": "patreon",
277 | "url": "https://www.patreon.com/feross"
278 | },
279 | {
280 | "type": "consulting",
281 | "url": "https://feross.org/support"
282 | }
283 | ]
284 | },
285 | "node_modules/inflight": {
286 | "version": "1.0.6",
287 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
288 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
289 | "dependencies": {
290 | "once": "^1.3.0",
291 | "wrappy": "1"
292 | }
293 | },
294 | "node_modules/inherits": {
295 | "version": "2.0.4",
296 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
297 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
298 | },
299 | "node_modules/locate-path": {
300 | "version": "5.0.0",
301 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
302 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
303 | "dependencies": {
304 | "p-locate": "^4.1.0"
305 | },
306 | "engines": {
307 | "node": ">=8"
308 | }
309 | },
310 | "node_modules/minimatch": {
311 | "version": "3.1.2",
312 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
313 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
314 | "dependencies": {
315 | "brace-expansion": "^1.1.7"
316 | },
317 | "engines": {
318 | "node": "*"
319 | }
320 | },
321 | "node_modules/mkdirp-classic": {
322 | "version": "0.5.3",
323 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
324 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
325 | },
326 | "node_modules/ms": {
327 | "version": "2.1.2",
328 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
329 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
330 | },
331 | "node_modules/node-fetch": {
332 | "version": "2.6.7",
333 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
334 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
335 | "dependencies": {
336 | "whatwg-url": "^5.0.0"
337 | },
338 | "engines": {
339 | "node": "4.x || >=6.0.0"
340 | },
341 | "peerDependencies": {
342 | "encoding": "^0.1.0"
343 | },
344 | "peerDependenciesMeta": {
345 | "encoding": {
346 | "optional": true
347 | }
348 | }
349 | },
350 | "node_modules/once": {
351 | "version": "1.4.0",
352 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
353 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
354 | "dependencies": {
355 | "wrappy": "1"
356 | }
357 | },
358 | "node_modules/p-limit": {
359 | "version": "2.3.0",
360 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
361 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
362 | "dependencies": {
363 | "p-try": "^2.0.0"
364 | },
365 | "engines": {
366 | "node": ">=6"
367 | },
368 | "funding": {
369 | "url": "https://github.com/sponsors/sindresorhus"
370 | }
371 | },
372 | "node_modules/p-locate": {
373 | "version": "4.1.0",
374 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
375 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
376 | "dependencies": {
377 | "p-limit": "^2.2.0"
378 | },
379 | "engines": {
380 | "node": ">=8"
381 | }
382 | },
383 | "node_modules/p-try": {
384 | "version": "2.2.0",
385 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
386 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
387 | "engines": {
388 | "node": ">=6"
389 | }
390 | },
391 | "node_modules/path-exists": {
392 | "version": "4.0.0",
393 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
394 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
395 | "engines": {
396 | "node": ">=8"
397 | }
398 | },
399 | "node_modules/path-is-absolute": {
400 | "version": "1.0.1",
401 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
402 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
403 | "engines": {
404 | "node": ">=0.10.0"
405 | }
406 | },
407 | "node_modules/pend": {
408 | "version": "1.2.0",
409 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
410 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
411 | },
412 | "node_modules/pkg-dir": {
413 | "version": "4.2.0",
414 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
415 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
416 | "dependencies": {
417 | "find-up": "^4.0.0"
418 | },
419 | "engines": {
420 | "node": ">=8"
421 | }
422 | },
423 | "node_modules/progress": {
424 | "version": "2.0.3",
425 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
426 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
427 | "engines": {
428 | "node": ">=0.4.0"
429 | }
430 | },
431 | "node_modules/proxy-from-env": {
432 | "version": "1.1.0",
433 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
434 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
435 | },
436 | "node_modules/pump": {
437 | "version": "3.0.0",
438 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
439 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
440 | "dependencies": {
441 | "end-of-stream": "^1.1.0",
442 | "once": "^1.3.1"
443 | }
444 | },
445 | "node_modules/puppeteer": {
446 | "version": "13.6.0",
447 | "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.6.0.tgz",
448 | "integrity": "sha512-EJXhTyY5bXNPLFXPGcY9JaF6EKJIX8ll8cGG3WUK+553Jx96oDf1cB+lkFOro9p0X16tY+9xx7zYWl+vnWgW2g==",
449 | "hasInstallScript": true,
450 | "dependencies": {
451 | "cross-fetch": "3.1.5",
452 | "debug": "4.3.4",
453 | "devtools-protocol": "0.0.981744",
454 | "extract-zip": "2.0.1",
455 | "https-proxy-agent": "5.0.0",
456 | "pkg-dir": "4.2.0",
457 | "progress": "2.0.3",
458 | "proxy-from-env": "1.1.0",
459 | "rimraf": "3.0.2",
460 | "tar-fs": "2.1.1",
461 | "unbzip2-stream": "1.4.3",
462 | "ws": "8.5.0"
463 | },
464 | "engines": {
465 | "node": ">=10.18.1"
466 | }
467 | },
468 | "node_modules/readable-stream": {
469 | "version": "3.6.0",
470 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
471 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
472 | "dependencies": {
473 | "inherits": "^2.0.3",
474 | "string_decoder": "^1.1.1",
475 | "util-deprecate": "^1.0.1"
476 | },
477 | "engines": {
478 | "node": ">= 6"
479 | }
480 | },
481 | "node_modules/rimraf": {
482 | "version": "3.0.2",
483 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
484 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
485 | "dependencies": {
486 | "glob": "^7.1.3"
487 | },
488 | "bin": {
489 | "rimraf": "bin.js"
490 | },
491 | "funding": {
492 | "url": "https://github.com/sponsors/isaacs"
493 | }
494 | },
495 | "node_modules/safe-buffer": {
496 | "version": "5.2.1",
497 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
498 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
499 | "funding": [
500 | {
501 | "type": "github",
502 | "url": "https://github.com/sponsors/feross"
503 | },
504 | {
505 | "type": "patreon",
506 | "url": "https://www.patreon.com/feross"
507 | },
508 | {
509 | "type": "consulting",
510 | "url": "https://feross.org/support"
511 | }
512 | ]
513 | },
514 | "node_modules/string_decoder": {
515 | "version": "1.3.0",
516 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
517 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
518 | "dependencies": {
519 | "safe-buffer": "~5.2.0"
520 | }
521 | },
522 | "node_modules/tar-fs": {
523 | "version": "2.1.1",
524 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
525 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
526 | "dependencies": {
527 | "chownr": "^1.1.1",
528 | "mkdirp-classic": "^0.5.2",
529 | "pump": "^3.0.0",
530 | "tar-stream": "^2.1.4"
531 | }
532 | },
533 | "node_modules/tar-stream": {
534 | "version": "2.2.0",
535 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
536 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
537 | "dependencies": {
538 | "bl": "^4.0.3",
539 | "end-of-stream": "^1.4.1",
540 | "fs-constants": "^1.0.0",
541 | "inherits": "^2.0.3",
542 | "readable-stream": "^3.1.1"
543 | },
544 | "engines": {
545 | "node": ">=6"
546 | }
547 | },
548 | "node_modules/through": {
549 | "version": "2.3.8",
550 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
551 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
552 | },
553 | "node_modules/tr46": {
554 | "version": "0.0.3",
555 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
556 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
557 | },
558 | "node_modules/unbzip2-stream": {
559 | "version": "1.4.3",
560 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
561 | "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
562 | "dependencies": {
563 | "buffer": "^5.2.1",
564 | "through": "^2.3.8"
565 | }
566 | },
567 | "node_modules/util-deprecate": {
568 | "version": "1.0.2",
569 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
570 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
571 | },
572 | "node_modules/webidl-conversions": {
573 | "version": "3.0.1",
574 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
575 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
576 | },
577 | "node_modules/whatwg-url": {
578 | "version": "5.0.0",
579 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
580 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
581 | "dependencies": {
582 | "tr46": "~0.0.3",
583 | "webidl-conversions": "^3.0.0"
584 | }
585 | },
586 | "node_modules/wrappy": {
587 | "version": "1.0.2",
588 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
589 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
590 | },
591 | "node_modules/ws": {
592 | "version": "8.5.0",
593 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
594 | "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
595 | "engines": {
596 | "node": ">=10.0.0"
597 | },
598 | "peerDependencies": {
599 | "bufferutil": "^4.0.1",
600 | "utf-8-validate": "^5.0.2"
601 | },
602 | "peerDependenciesMeta": {
603 | "bufferutil": {
604 | "optional": true
605 | },
606 | "utf-8-validate": {
607 | "optional": true
608 | }
609 | }
610 | },
611 | "node_modules/yauzl": {
612 | "version": "2.10.0",
613 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
614 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
615 | "dependencies": {
616 | "buffer-crc32": "~0.2.3",
617 | "fd-slicer": "~1.1.0"
618 | }
619 | }
620 | },
621 | "dependencies": {
622 | "@types/node": {
623 | "version": "17.0.25",
624 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz",
625 | "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==",
626 | "optional": true
627 | },
628 | "@types/yauzl": {
629 | "version": "2.10.0",
630 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
631 | "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
632 | "optional": true,
633 | "requires": {
634 | "@types/node": "*"
635 | }
636 | },
637 | "agent-base": {
638 | "version": "6.0.2",
639 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
640 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
641 | "requires": {
642 | "debug": "4"
643 | }
644 | },
645 | "balanced-match": {
646 | "version": "1.0.2",
647 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
648 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
649 | },
650 | "base64-js": {
651 | "version": "1.5.1",
652 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
653 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
654 | },
655 | "bl": {
656 | "version": "4.1.0",
657 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
658 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
659 | "requires": {
660 | "buffer": "^5.5.0",
661 | "inherits": "^2.0.4",
662 | "readable-stream": "^3.4.0"
663 | }
664 | },
665 | "brace-expansion": {
666 | "version": "1.1.11",
667 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
668 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
669 | "requires": {
670 | "balanced-match": "^1.0.0",
671 | "concat-map": "0.0.1"
672 | }
673 | },
674 | "buffer": {
675 | "version": "5.7.1",
676 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
677 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
678 | "requires": {
679 | "base64-js": "^1.3.1",
680 | "ieee754": "^1.1.13"
681 | }
682 | },
683 | "buffer-crc32": {
684 | "version": "0.2.13",
685 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
686 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
687 | },
688 | "chownr": {
689 | "version": "1.1.4",
690 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
691 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
692 | },
693 | "concat-map": {
694 | "version": "0.0.1",
695 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
696 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
697 | },
698 | "cross-fetch": {
699 | "version": "3.1.5",
700 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
701 | "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
702 | "requires": {
703 | "node-fetch": "2.6.7"
704 | }
705 | },
706 | "debug": {
707 | "version": "4.3.4",
708 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
709 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
710 | "requires": {
711 | "ms": "2.1.2"
712 | }
713 | },
714 | "devtools-protocol": {
715 | "version": "0.0.981744",
716 | "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz",
717 | "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg=="
718 | },
719 | "dotenv": {
720 | "version": "16.0.0",
721 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz",
722 | "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q=="
723 | },
724 | "end-of-stream": {
725 | "version": "1.4.4",
726 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
727 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
728 | "requires": {
729 | "once": "^1.4.0"
730 | }
731 | },
732 | "extract-zip": {
733 | "version": "2.0.1",
734 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
735 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
736 | "requires": {
737 | "@types/yauzl": "^2.9.1",
738 | "debug": "^4.1.1",
739 | "get-stream": "^5.1.0",
740 | "yauzl": "^2.10.0"
741 | }
742 | },
743 | "fd-slicer": {
744 | "version": "1.1.0",
745 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
746 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
747 | "requires": {
748 | "pend": "~1.2.0"
749 | }
750 | },
751 | "find-up": {
752 | "version": "4.1.0",
753 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
754 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
755 | "requires": {
756 | "locate-path": "^5.0.0",
757 | "path-exists": "^4.0.0"
758 | }
759 | },
760 | "fs-constants": {
761 | "version": "1.0.0",
762 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
763 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
764 | },
765 | "fs.realpath": {
766 | "version": "1.0.0",
767 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
768 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
769 | },
770 | "get-stream": {
771 | "version": "5.2.0",
772 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
773 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
774 | "requires": {
775 | "pump": "^3.0.0"
776 | }
777 | },
778 | "glob": {
779 | "version": "7.2.0",
780 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
781 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
782 | "requires": {
783 | "fs.realpath": "^1.0.0",
784 | "inflight": "^1.0.4",
785 | "inherits": "2",
786 | "minimatch": "^3.0.4",
787 | "once": "^1.3.0",
788 | "path-is-absolute": "^1.0.0"
789 | }
790 | },
791 | "https-proxy-agent": {
792 | "version": "5.0.0",
793 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
794 | "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
795 | "requires": {
796 | "agent-base": "6",
797 | "debug": "4"
798 | }
799 | },
800 | "ieee754": {
801 | "version": "1.2.1",
802 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
803 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
804 | },
805 | "inflight": {
806 | "version": "1.0.6",
807 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
808 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
809 | "requires": {
810 | "once": "^1.3.0",
811 | "wrappy": "1"
812 | }
813 | },
814 | "inherits": {
815 | "version": "2.0.4",
816 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
817 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
818 | },
819 | "locate-path": {
820 | "version": "5.0.0",
821 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
822 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
823 | "requires": {
824 | "p-locate": "^4.1.0"
825 | }
826 | },
827 | "minimatch": {
828 | "version": "3.1.2",
829 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
830 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
831 | "requires": {
832 | "brace-expansion": "^1.1.7"
833 | }
834 | },
835 | "mkdirp-classic": {
836 | "version": "0.5.3",
837 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
838 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
839 | },
840 | "ms": {
841 | "version": "2.1.2",
842 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
843 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
844 | },
845 | "node-fetch": {
846 | "version": "2.6.7",
847 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
848 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
849 | "requires": {
850 | "whatwg-url": "^5.0.0"
851 | }
852 | },
853 | "once": {
854 | "version": "1.4.0",
855 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
856 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
857 | "requires": {
858 | "wrappy": "1"
859 | }
860 | },
861 | "p-limit": {
862 | "version": "2.3.0",
863 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
864 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
865 | "requires": {
866 | "p-try": "^2.0.0"
867 | }
868 | },
869 | "p-locate": {
870 | "version": "4.1.0",
871 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
872 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
873 | "requires": {
874 | "p-limit": "^2.2.0"
875 | }
876 | },
877 | "p-try": {
878 | "version": "2.2.0",
879 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
880 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
881 | },
882 | "path-exists": {
883 | "version": "4.0.0",
884 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
885 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
886 | },
887 | "path-is-absolute": {
888 | "version": "1.0.1",
889 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
890 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
891 | },
892 | "pend": {
893 | "version": "1.2.0",
894 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
895 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
896 | },
897 | "pkg-dir": {
898 | "version": "4.2.0",
899 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
900 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
901 | "requires": {
902 | "find-up": "^4.0.0"
903 | }
904 | },
905 | "progress": {
906 | "version": "2.0.3",
907 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
908 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
909 | },
910 | "proxy-from-env": {
911 | "version": "1.1.0",
912 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
913 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
914 | },
915 | "pump": {
916 | "version": "3.0.0",
917 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
918 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
919 | "requires": {
920 | "end-of-stream": "^1.1.0",
921 | "once": "^1.3.1"
922 | }
923 | },
924 | "puppeteer": {
925 | "version": "13.6.0",
926 | "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.6.0.tgz",
927 | "integrity": "sha512-EJXhTyY5bXNPLFXPGcY9JaF6EKJIX8ll8cGG3WUK+553Jx96oDf1cB+lkFOro9p0X16tY+9xx7zYWl+vnWgW2g==",
928 | "requires": {
929 | "cross-fetch": "3.1.5",
930 | "debug": "4.3.4",
931 | "devtools-protocol": "0.0.981744",
932 | "extract-zip": "2.0.1",
933 | "https-proxy-agent": "5.0.0",
934 | "pkg-dir": "4.2.0",
935 | "progress": "2.0.3",
936 | "proxy-from-env": "1.1.0",
937 | "rimraf": "3.0.2",
938 | "tar-fs": "2.1.1",
939 | "unbzip2-stream": "1.4.3",
940 | "ws": "8.5.0"
941 | }
942 | },
943 | "readable-stream": {
944 | "version": "3.6.0",
945 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
946 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
947 | "requires": {
948 | "inherits": "^2.0.3",
949 | "string_decoder": "^1.1.1",
950 | "util-deprecate": "^1.0.1"
951 | }
952 | },
953 | "rimraf": {
954 | "version": "3.0.2",
955 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
956 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
957 | "requires": {
958 | "glob": "^7.1.3"
959 | }
960 | },
961 | "safe-buffer": {
962 | "version": "5.2.1",
963 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
964 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
965 | },
966 | "string_decoder": {
967 | "version": "1.3.0",
968 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
969 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
970 | "requires": {
971 | "safe-buffer": "~5.2.0"
972 | }
973 | },
974 | "tar-fs": {
975 | "version": "2.1.1",
976 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
977 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
978 | "requires": {
979 | "chownr": "^1.1.1",
980 | "mkdirp-classic": "^0.5.2",
981 | "pump": "^3.0.0",
982 | "tar-stream": "^2.1.4"
983 | }
984 | },
985 | "tar-stream": {
986 | "version": "2.2.0",
987 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
988 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
989 | "requires": {
990 | "bl": "^4.0.3",
991 | "end-of-stream": "^1.4.1",
992 | "fs-constants": "^1.0.0",
993 | "inherits": "^2.0.3",
994 | "readable-stream": "^3.1.1"
995 | }
996 | },
997 | "through": {
998 | "version": "2.3.8",
999 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1000 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
1001 | },
1002 | "tr46": {
1003 | "version": "0.0.3",
1004 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
1005 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
1006 | },
1007 | "unbzip2-stream": {
1008 | "version": "1.4.3",
1009 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
1010 | "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
1011 | "requires": {
1012 | "buffer": "^5.2.1",
1013 | "through": "^2.3.8"
1014 | }
1015 | },
1016 | "util-deprecate": {
1017 | "version": "1.0.2",
1018 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1019 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1020 | },
1021 | "webidl-conversions": {
1022 | "version": "3.0.1",
1023 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
1024 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
1025 | },
1026 | "whatwg-url": {
1027 | "version": "5.0.0",
1028 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
1029 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
1030 | "requires": {
1031 | "tr46": "~0.0.3",
1032 | "webidl-conversions": "^3.0.0"
1033 | }
1034 | },
1035 | "wrappy": {
1036 | "version": "1.0.2",
1037 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1038 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1039 | },
1040 | "ws": {
1041 | "version": "8.5.0",
1042 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
1043 | "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
1044 | "requires": {}
1045 | },
1046 | "yauzl": {
1047 | "version": "2.10.0",
1048 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
1049 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
1050 | "requires": {
1051 | "buffer-crc32": "~0.2.3",
1052 | "fd-slicer": "~1.1.0"
1053 | }
1054 | }
1055 | }
1056 | }
1057 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@natanbarbosa2/smashapi",
3 | "version": "1.2.4",
4 | "description": "bot smash",
5 | "main": "index.js",
6 | "scripts": {
7 | "build": "tsc --build",
8 | "clean": "tsc --build --clean"
9 | },
10 | "author": "Natã",
11 | "license": "ISC",
12 | "dependencies": {
13 | "dotenv": "^16.0.0",
14 | "node-fetch": "^2.6.7",
15 | "puppeteer": "^13.6.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------