├── .gitignore ├── README.md ├── dump.rdb ├── graphql.js ├── index.js ├── monitor.js ├── order-service ├── Order.js ├── OrderService.js └── mongoose.js ├── package.json ├── product-service ├── Product.js ├── ProductService.js └── mongoose.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NodeJS GraphQL Microservices 2 | 3 | Example of using NodeJS for Microservices using GraphQL. If you are not familiar with GraphQL, you can find the Simple API example to give you basic understanding about this repo. 4 | 5 | The reason I made this repo was because I loved what Netflix did with Java Spring. They created tools for community such as Eureka (Service Discovery), Hystrix (Fault tolerant and monitoring), Zuul etc. But anyways it just mainly for Java Spring :(. In other case, NodeJS was my best friends and I just love Javascript. So I made this repo in order to make NodeJS can be easily used for microservices like Java Spring with same inspired stack and features!!! 6 | 7 | ## Features 8 | 9 | This is how good microservices should do, we cover it all in this repo! Thanks to cote (https://github.com/dashersw/cote) 10 | 11 | - Zero dependency: Microservices with only JavaScript and Node.js 12 | - Zero-configuration: no IP addresses, no ports, no routing to configure 13 | - Decentralized: No fixed parts, no "manager" nodes, no single point of failure 14 | - Auto-discovery: Services discover each other without a central bookkeeper 15 | - Fault-tolerant: Don't lose any requests when a service is down 16 | - Scalable: Horizontally scale to any number of machines 17 | - Performant: Process thousands of messages per second 18 | - Humanized API: Extremely simple to get started with a reasonable API! 19 | 20 | ## Prerequisites 21 | 22 | - Nodejs 23 | - Redis 24 | - MongoDB 25 | - Docker (optional) I am too lazy to include the docker setup here 26 | 27 | ## Setup 28 | 29 | - run redis on default port 6379 30 | - run mongodb on default port 27017 31 | - open the project file, then run the main GraphQL/API Gateway 32 | ``` 33 | $ npm install 34 | $ node graphql.js #for graphql example 35 | $ node index.js #for express API example (if You are not familiar with GraphQL but still want to understand this repo :3) 36 | ``` 37 | - run the product-service 38 | ``` 39 | $ cd product-service 40 | $ npm install 41 | $ node ProductService.js 42 | ``` 43 | - run the order-service 44 | ``` 45 | $ cd order-service 46 | $ npm install 47 | $ node OrderService.js 48 | ``` 49 | 50 | ## Example 51 | 52 | **The example consists of Gateway (GraphQL/API) which is query are auto discover its microservices across the network (thanks to cote redis). Its just simple DUMMY app (don't expect much! Simple is better). The study case is product and orders. To fulfill the FAULT TOLERANT and SERVICE DISCOVERY scenario, You can reproduce it by:** 53 | 54 | - Run API on (graphql.js/index.js), order-service, and product-service 55 | - Execute API using GraphQL createOrder or express POST /order 56 | ```graphql 57 | mutation createOrder($order: OrderInput){ 58 | createOrder (input: $order) { 59 | _id 60 | qty 61 | price 62 | product{ 63 | title 64 | } 65 | } 66 | } 67 | ``` 68 | - Check the result, and it should create order, and update the product stock 69 | - Try disconnect product-service 70 | - Execute APi AGAIN using GraphQL createOrder or express POST /order 71 | - The API Return something and works fine, BUT 72 | - The product data is not updated (its normal because product-service still down) 73 | - RERUN product-service ($ cd product-service && node ProductService.js) 74 | - It should automatically update the product stock when the product-service is UP!! 75 | 76 | **To give You understanding about how to make DB RELATION alike across multi services, You can reproduce it by:** 77 | 78 | - Run API on (graphql.js/index.js), order-service, and product-service 79 | - Execute the orders API via GraphQL or Express GET /orders 80 | ```graphql 81 | query { 82 | orders { 83 | _id 84 | product { 85 | title 86 | } 87 | qty 88 | price 89 | } 90 | } 91 | ``` 92 | - You will see that, product can be fetched from order, although product is on different service 93 | 94 | COOL EH???!! 95 | 96 | ## Attention!!! 97 | 98 | - This example still using single database (this is not OP in microservice world), but You can simply use multiple database that runs on each services. The example already separate the db connection logic on each service. 99 | - The case study is not real world implementation, it only to give you basic understanding of HOW microservices, service discovery, fault tolerant, etc etc etc just works :3 100 | - Use docker to make the service UP again automatically when down, simplified setup, etc. I was not using docker to make this repo as simple as possible. -------------------------------------------------------------------------------- /dump.rdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radiegtya/nodejs-graphql-microservices/487540c0bcf3e5e6595e665496a91b7fc0a26bbf/dump.rdb -------------------------------------------------------------------------------- /graphql.js: -------------------------------------------------------------------------------- 1 | const { ApolloServer, gql, ApolloError } = require('apollo-server') 2 | const cote = require('cote')({ redis: { host: 'localhost', port: "6379" } }) 3 | 4 | const productRequester = new cote.Requester({ 5 | name: 'Product Requester', 6 | key: 'product', 7 | }) 8 | const orderRequester = new cote.Requester({ 9 | name: 'Order Requester', 10 | key: 'order', 11 | }) 12 | 13 | // setInterval(()=> { 14 | // console.log(productRequester.sock.queue) 15 | // }, 3000) 16 | 17 | 18 | const typeDefs = gql` 19 | 20 | type Product { 21 | _id: String 22 | title: String 23 | price: Int 24 | stock: Int 25 | } 26 | 27 | type Order { 28 | _id: String 29 | productId: String 30 | product: Product 31 | userId: String 32 | qty: Int 33 | price: Int 34 | } 35 | 36 | type Query { 37 | products: [Product] 38 | orders: [Order] 39 | order(_id: String): Order 40 | product(_id: String): Product 41 | } 42 | 43 | input ProductInput { 44 | title: String 45 | stock: Int 46 | price: Int 47 | } 48 | 49 | input OrderInput { 50 | productId: String 51 | userId: String 52 | qty: Int 53 | price: Int 54 | } 55 | 56 | type Mutation { 57 | createProduct(input: ProductInput): Product 58 | createOrder(input: OrderInput): Order 59 | } 60 | ` 61 | 62 | const resolvers = { 63 | Query: { 64 | products: async () => { 65 | return await productRequester.send({ type: 'index' }) 66 | }, 67 | orders: async () => { 68 | return await orderRequester.send({ type: 'index' }) 69 | }, 70 | order: async (_, { _id }) => { 71 | return await orderRequester.send({ type: 'show', _id }) 72 | }, 73 | product: async (_, { _id }) => { 74 | return await productRequester.send({ type: 'show', _id }) 75 | } 76 | }, 77 | Order: { 78 | product: async (order) => { 79 | return await productRequester.send({ type: 'show', _id: order.productId }) 80 | } 81 | }, 82 | Mutation: { 83 | createProduct: async (_, { input })=> { 84 | return await productRequester.send({ type: 'store', body: input }) 85 | }, 86 | createOrder: async (_, { input })=> { 87 | return await orderRequester.send({ type: 'store', body: input }) 88 | } 89 | } 90 | } 91 | 92 | const server = new ApolloServer({ typeDefs, resolvers }) 93 | 94 | server.listen().then(({ url }) => { 95 | console.log(`🚀 Server ready at ${url}`) 96 | }) -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const express = require('express') 2 | const bodyParser = require('body-parser') 3 | const cote = require('cote')({ redis: { host: 'localhost', port: "6379" } }) 4 | const productRequester = new cote.Requester({ 5 | name: 'Product Requester', 6 | key: 'product', 7 | }) 8 | const orderRequester = new cote.Requester({ 9 | name: 'Order Requester', 10 | key: 'order', 11 | }) 12 | 13 | const app = express() 14 | app.use(bodyParser.json()) 15 | 16 | app.get('/products', (req, res)=>{ 17 | productRequester.send({ type: 'index' }, (err, docs) => { 18 | res.send(docs) 19 | }) 20 | }) 21 | 22 | app.post('/product', (req, res)=>{ 23 | productRequester.send({ type: 'store', body: req.body }) 24 | res.send('async post') 25 | }) 26 | 27 | app.get('/orders', (req, res)=>{ 28 | orderRequester.send({ type: 'index' }, (err, docs) => { 29 | res.send(docs) 30 | }) 31 | }) 32 | 33 | app.post('/order', (req, res)=>{ 34 | //create the order 35 | orderRequester.send({ type: 'store', body: req.body }, (err, doc) => { 36 | res.send(doc) 37 | }) 38 | }) 39 | 40 | 41 | app.listen(5000, ()=> { 42 | console.log('Server listening on port 5000') 43 | }) -------------------------------------------------------------------------------- /monitor.js: -------------------------------------------------------------------------------- 1 | const cote = require('cote') 2 | 3 | new cote.MonitoringTool() -------------------------------------------------------------------------------- /order-service/Order.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('./mongoose') 2 | 3 | const Order = mongoose.model('Order', { 4 | productId : mongoose.Types.ObjectId, 5 | userId : mongoose.Types.ObjectId, 6 | qty: Number, 7 | price: Number 8 | }) 9 | 10 | module.exports = Order -------------------------------------------------------------------------------- /order-service/OrderService.js: -------------------------------------------------------------------------------- 1 | const cote = require('cote')({ redis: { host: 'localhost', port: "6379" } }) 2 | const orderService = new cote.Responder({ 3 | name: 'Order Service', 4 | key: 'order' 5 | }) 6 | 7 | const orderPublisher = new cote.Publisher({ 8 | name: 'Order Publisher', 9 | // namespace: 'order', 10 | // key: 'order', 11 | broadcasts: ['orderCreated'], 12 | }) 13 | 14 | const productRequester = new cote.Requester({ 15 | name: 'Product Requester', 16 | key: 'product', 17 | }) 18 | 19 | const Order = require('./Order') 20 | 21 | // orderService.on('*', console.log) 22 | 23 | orderService.on('index', (req, cb) => { 24 | Order.find({}, cb) 25 | }) 26 | 27 | orderService.on('show', (req, cb) => { 28 | Order.findById(req._id, cb) 29 | }) 30 | 31 | orderService.on('store', (req, cb) => { 32 | //create order, then update the product stock 33 | const order = new Order(req.body) 34 | order.save(cb) 35 | productRequester.send({ type: 'update', _id: order.productId, body: {$inc: {stock: 1}} }) 36 | 37 | // //tell client on ordercreated 38 | // orderPublisher.publish('orderCreated', order.productId) 39 | }) -------------------------------------------------------------------------------- /order-service/mongoose.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose') 2 | mongoose.connect('mongodb://localhost:27017/cocote', {useNewUrlParser: true}) 3 | 4 | module.exports = mongoose -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cocote", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "apollo-server": "^2.9.0", 13 | "body-parser": "^1.19.0", 14 | "cote": "^0.20.1", 15 | "express": "^4.17.1", 16 | "graphql": "^14.5.3", 17 | "mongoose": "^5.6.10" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /product-service/Product.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('./mongoose') 2 | 3 | const Product = mongoose.model('Product', { 4 | title : String, 5 | price: Number, 6 | stock: Number 7 | }) 8 | 9 | module.exports = Product -------------------------------------------------------------------------------- /product-service/ProductService.js: -------------------------------------------------------------------------------- 1 | const cote = require('cote')({ redis: { host: 'localhost', port: "6379" } }) 2 | const productService = new cote.Responder({ 3 | name: 'Product Service', 4 | key: 'product' 5 | }) 6 | // const orderSubscriber = new cote.Subscriber({ 7 | // name: 'Order Subscriber', 8 | // // namespace: 'rnd', 9 | // // key: 'a certain key', 10 | // subscribesTo: ['orderCreated'], 11 | // }) 12 | // const productRequester = new cote.Requester({ 13 | // name: 'Product Requester', 14 | // key: 'product', 15 | // }) 16 | 17 | const Product = require('./Product') 18 | 19 | // productService.on('*', console.log) 20 | 21 | productService.on('index', (req, cb) => { 22 | Product.find({}, cb) 23 | }) 24 | 25 | productService.on('show', (req, cb) => { 26 | Product.findById(req._id, cb) 27 | }) 28 | 29 | productService.on('store', (req, cb) => { 30 | const product = new Product(req.body) 31 | product.save(cb) 32 | }) 33 | 34 | productService.on('update', async (req, cb) => { 35 | Product.update( 36 | {_id: req._id}, 37 | req.body 38 | , cb) 39 | }) 40 | 41 | // //subscribe 42 | // orderSubscriber.on('orderCreated', (productId) => { 43 | // console.log('PRODUCT_ID', productId) 44 | // productRequester.send({ type: 'update', _id: productId, body: {$inc: {stock: 1}} }) 45 | // }) -------------------------------------------------------------------------------- /product-service/mongoose.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose') 2 | mongoose.connect('mongodb://localhost:27017/cocote', {useNewUrlParser: true}) 3 | 4 | module.exports = mongoose -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@apollographql/apollo-tools@^0.4.0": 6 | version "0.4.0" 7 | resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.4.0.tgz#8a1a0ab7a0bb12ccc03b72e4a104cfa5d969fd5f" 8 | integrity sha512-7wEO+S+zgz/wVe3ilFQqICufRBYYDSNUkd1V03JWvXuSydbYq2SM5EgvWmFF+04iadt+aQ0XCCsRzCzRPQODfQ== 9 | dependencies: 10 | apollo-env "0.5.1" 11 | 12 | "@apollographql/graphql-playground-html@1.6.24": 13 | version "1.6.24" 14 | resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.24.tgz#3ce939cb127fb8aaa3ffc1e90dff9b8af9f2e3dc" 15 | integrity sha512-8GqG48m1XqyXh4mIZrtB5xOhUwSsh1WsrrsaZQOEYYql3YN9DEu9OOSg0ILzXHZo/h2Q74777YE4YzlArQzQEQ== 16 | 17 | "@dashersw/axon@2.0.5": 18 | version "2.0.5" 19 | resolved "https://registry.yarnpkg.com/@dashersw/axon/-/axon-2.0.5.tgz#708b8cd21a5c803de8dd517a9252828b007d77bb" 20 | integrity sha512-e7az6UOh/1JqLvzg2GPhP3n47QMQal3Qg2a2497JwY7dlbSKUg4dQmnRyKWNjFz0FHjranUjKvX6J6NAV3Sm/Q== 21 | dependencies: 22 | amp "~0.3.1" 23 | amp-message "~0.1.1" 24 | configurable "0.0.1" 25 | debug "*" 26 | escape-regexp "0.0.1" 27 | 28 | "@dashersw/node-discover@^1.0.4": 29 | version "1.0.4" 30 | resolved "https://registry.yarnpkg.com/@dashersw/node-discover/-/node-discover-1.0.4.tgz#3fd2aad22228e0ecf72bb069e9f0e06ef4bd5b82" 31 | integrity sha512-OblARM345ECaTSSFQcuWUl+7/uhOjhKBIA0G0CbOPbUzwF3cqBbl2R0E9tulnsLk3XB6Zpmja0TZIU5ClKF6LA== 32 | dependencies: 33 | redis "^2.7.1" 34 | uuid "^3.3.2" 35 | 36 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 37 | version "1.1.2" 38 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 39 | integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= 40 | 41 | "@protobufjs/base64@^1.1.2": 42 | version "1.1.2" 43 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 44 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== 45 | 46 | "@protobufjs/codegen@^2.0.4": 47 | version "2.0.4" 48 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 49 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== 50 | 51 | "@protobufjs/eventemitter@^1.1.0": 52 | version "1.1.0" 53 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 54 | integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= 55 | 56 | "@protobufjs/fetch@^1.1.0": 57 | version "1.1.0" 58 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 59 | integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= 60 | dependencies: 61 | "@protobufjs/aspromise" "^1.1.1" 62 | "@protobufjs/inquire" "^1.1.0" 63 | 64 | "@protobufjs/float@^1.0.2": 65 | version "1.0.2" 66 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 67 | integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= 68 | 69 | "@protobufjs/inquire@^1.1.0": 70 | version "1.1.0" 71 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 72 | integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= 73 | 74 | "@protobufjs/path@^1.1.2": 75 | version "1.1.2" 76 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 77 | integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= 78 | 79 | "@protobufjs/pool@^1.1.0": 80 | version "1.1.0" 81 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 82 | integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= 83 | 84 | "@protobufjs/utf8@^1.1.0": 85 | version "1.1.0" 86 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 87 | integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= 88 | 89 | "@types/accepts@*", "@types/accepts@^1.3.5": 90 | version "1.3.5" 91 | resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" 92 | integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== 93 | dependencies: 94 | "@types/node" "*" 95 | 96 | "@types/body-parser@*", "@types/body-parser@1.17.1": 97 | version "1.17.1" 98 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.1.tgz#18fcf61768fb5c30ccc508c21d6fd2e8b3bf7897" 99 | integrity sha512-RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w== 100 | dependencies: 101 | "@types/connect" "*" 102 | "@types/node" "*" 103 | 104 | "@types/connect@*": 105 | version "3.4.32" 106 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" 107 | integrity sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg== 108 | dependencies: 109 | "@types/node" "*" 110 | 111 | "@types/cookies@*": 112 | version "0.7.2" 113 | resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.2.tgz#5e0560d46ed9998082dce799af1058dd6a49780a" 114 | integrity sha512-jnihWgshWystcJKrz8C9hV+Ot9lqOUyAh2RF+o3BEo6K6AS2l4zYCb9GYaBuZ3C6Il59uIGqpE3HvCun4KKeJA== 115 | dependencies: 116 | "@types/connect" "*" 117 | "@types/express" "*" 118 | "@types/keygrip" "*" 119 | "@types/node" "*" 120 | 121 | "@types/cors@^2.8.4": 122 | version "2.8.6" 123 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.6.tgz#cfaab33c49c15b1ded32f235111ce9123009bd02" 124 | integrity sha512-invOmosX0DqbpA+cE2yoHGUlF/blyf7nB0OGYBBiH27crcVm5NmFaZkLP4Ta1hGaesckCi5lVLlydNJCxkTOSg== 125 | dependencies: 126 | "@types/express" "*" 127 | 128 | "@types/express-serve-static-core@*": 129 | version "4.16.9" 130 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.9.tgz#69e00643b0819b024bdede95ced3ff239bb54558" 131 | integrity sha512-GqpaVWR0DM8FnRUJYKlWgyARoBUAVfRIeVDZQKOttLFp5SmhhF9YFIYeTPwMd/AXfxlP7xVO2dj1fGu0Q+krKQ== 132 | dependencies: 133 | "@types/node" "*" 134 | "@types/range-parser" "*" 135 | 136 | "@types/express@*", "@types/express@4.17.1": 137 | version "4.17.1" 138 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.1.tgz#4cf7849ae3b47125a567dfee18bfca4254b88c5c" 139 | integrity sha512-VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w== 140 | dependencies: 141 | "@types/body-parser" "*" 142 | "@types/express-serve-static-core" "*" 143 | "@types/serve-static" "*" 144 | 145 | "@types/fs-capacitor@*": 146 | version "2.0.0" 147 | resolved "https://registry.yarnpkg.com/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz#17113e25817f584f58100fb7a08eed288b81956e" 148 | integrity sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ== 149 | dependencies: 150 | "@types/node" "*" 151 | 152 | "@types/graphql-upload@^8.0.0": 153 | version "8.0.2" 154 | resolved "https://registry.yarnpkg.com/@types/graphql-upload/-/graphql-upload-8.0.2.tgz#88d8fc4a30c681d57592f1deca720d19c50b50f6" 155 | integrity sha512-7pfyXHmfa2W/hrM2Q++V7U7zdgSQj8i+wuuTV9FxOI0puKYcBB1GU2DMa/WPbnDPec/1CGWMIPVmhpzZ1ItVlA== 156 | dependencies: 157 | "@types/express" "*" 158 | "@types/fs-capacitor" "*" 159 | "@types/koa" "*" 160 | graphql "14.5.0" 161 | 162 | "@types/http-assert@*": 163 | version "1.5.1" 164 | resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b" 165 | integrity sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ== 166 | 167 | "@types/keygrip@*": 168 | version "1.0.1" 169 | resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.1.tgz#ff540462d2fb4d0a88441ceaf27d287b01c3d878" 170 | integrity sha1-/1QEYtL7TQqIRBzq8n0oewHD2Hg= 171 | 172 | "@types/koa-compose@*": 173 | version "3.2.4" 174 | resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.4.tgz#76a461634a59c3e13449831708bb9b355fb1548e" 175 | integrity sha512-ioou0rxkuWL+yBQYsHUQAzRTfVxAg8Y2VfMftU+Y3RA03/MzuFL0x/M2sXXj3PkfnENbHsjeHR1aMdezLYpTeA== 176 | dependencies: 177 | "@types/koa" "*" 178 | 179 | "@types/koa@*": 180 | version "2.0.49" 181 | resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.0.49.tgz#8ffc2ddbdd715a2c392a218c67e116cb07007234" 182 | integrity sha512-WQWpCH8O4Dslk8IcXfazff40aM1jXX7BQRbADIj/fKozVPu76P/wQE4sRe2SCWMn8yNkOcare2MkDrnZqLMkPQ== 183 | dependencies: 184 | "@types/accepts" "*" 185 | "@types/cookies" "*" 186 | "@types/http-assert" "*" 187 | "@types/keygrip" "*" 188 | "@types/koa-compose" "*" 189 | "@types/node" "*" 190 | 191 | "@types/long@^4.0.0": 192 | version "4.0.0" 193 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" 194 | integrity sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q== 195 | 196 | "@types/mime@*": 197 | version "2.0.1" 198 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" 199 | integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== 200 | 201 | "@types/node@*": 202 | version "12.7.2" 203 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" 204 | integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== 205 | 206 | "@types/node@^10.1.0": 207 | version "10.14.16" 208 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.16.tgz#4d690c96cbb7b2728afea0e260d680501b3da5cf" 209 | integrity sha512-/opXIbfn0P+VLt+N8DE4l8Mn8rbhiJgabU96ZJ0p9mxOkIks5gh6RUnpHak7Yh0SFkyjO/ODbxsQQPV2bpMmyA== 210 | 211 | "@types/range-parser@*": 212 | version "1.2.3" 213 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" 214 | integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== 215 | 216 | "@types/serve-static@*": 217 | version "1.13.3" 218 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.3.tgz#eb7e1c41c4468272557e897e9171ded5e2ded9d1" 219 | integrity sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g== 220 | dependencies: 221 | "@types/express-serve-static-core" "*" 222 | "@types/mime" "*" 223 | 224 | "@types/ws@^6.0.0": 225 | version "6.0.3" 226 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.3.tgz#b772375ba59d79066561c8d87500144d674ba6b3" 227 | integrity sha512-yBTM0P05Tx9iXGq00BbJPo37ox68R5vaGTXivs6RGh/BQ6QP5zqZDGWdAO6JbRE/iR1l80xeGAwCQS2nMV9S/w== 228 | dependencies: 229 | "@types/node" "*" 230 | 231 | "@wry/equality@^0.1.2": 232 | version "0.1.9" 233 | resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.9.tgz#b13e18b7a8053c6858aa6c85b54911fb31e3a909" 234 | integrity sha512-mB6ceGjpMGz1ZTza8HYnrPGos2mC6So4NhS1PtZ8s4Qt0K7fBiIGhpSxUbQmhwcSWE3no+bYxmI2OL6KuXYmoQ== 235 | dependencies: 236 | tslib "^1.9.3" 237 | 238 | accepts@^1.3.5, accepts@~1.3.4, accepts@~1.3.7: 239 | version "1.3.7" 240 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 241 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== 242 | dependencies: 243 | mime-types "~2.1.24" 244 | negotiator "0.6.2" 245 | 246 | after@0.8.2: 247 | version "0.8.2" 248 | resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" 249 | integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= 250 | 251 | amp-message@~0.1.1: 252 | version "0.1.2" 253 | resolved "https://registry.yarnpkg.com/amp-message/-/amp-message-0.1.2.tgz#a78f1c98995087ad36192a41298e4db49e3dfc45" 254 | integrity sha1-p48cmJlQh602GSpBKY5NtJ49/EU= 255 | dependencies: 256 | amp "0.3.1" 257 | 258 | amp@0.3.1, amp@~0.3.1: 259 | version "0.3.1" 260 | resolved "https://registry.yarnpkg.com/amp/-/amp-0.3.1.tgz#6adf8d58a74f361e82c1fa8d389c079e139fc47d" 261 | integrity sha1-at+NWKdPNh6CwfqNOJwHnhOfxH0= 262 | 263 | apollo-cache-control@0.8.1: 264 | version "0.8.1" 265 | resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.8.1.tgz#707c0b958c02c5b47ddf49a02f60ea88a64783fb" 266 | integrity sha512-yQy5KB/OuX90PsdztWc4vfc4R//ZmW/AxNgXKWga0xW5OzEsysdJWHAsTzb40/rkJ9VNeQ+0N5wGikiS+jSCzg== 267 | dependencies: 268 | apollo-server-env "2.4.1" 269 | graphql-extensions "0.8.1" 270 | 271 | apollo-datasource@0.6.1: 272 | version "0.6.1" 273 | resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.6.1.tgz#697870f564da90bee53fa30d07875cb46c4d6b06" 274 | integrity sha512-oy7c+9Up8PSZwJ1qTK9Idh1acDpIocvw+C0zcHg14ycvNz7qWHSwLUSaAjuQMd9SYFzB3sxfyEhyfyhIogT2+Q== 275 | dependencies: 276 | apollo-server-caching "0.5.0" 277 | apollo-server-env "2.4.1" 278 | 279 | apollo-engine-reporting-protobuf@0.4.0: 280 | version "0.4.0" 281 | resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.0.tgz#e34c192d86493b33a73181fd6be75721559111ec" 282 | integrity sha512-cXHZSienkis8v4RhqB3YG3DkaksqLpcxApRLTpRMs7IXNozgV7CUPYGFyFBEra1ZFgUyHXx4G9MpelV+n2cCfA== 283 | dependencies: 284 | protobufjs "^6.8.6" 285 | 286 | apollo-engine-reporting@1.4.3: 287 | version "1.4.3" 288 | resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.3.tgz#0fcb67de7a24bef4e7e59990981f923267ffdd00" 289 | integrity sha512-xv27qfc9dhi1yaWOhNQRmfF+SoLy74hl+M42arpIWdkoDe22fVTmTIqxqGwo4TFR3Z2OkAV5tNzuuOI/icd0Rg== 290 | dependencies: 291 | apollo-engine-reporting-protobuf "0.4.0" 292 | apollo-graphql "^0.3.3" 293 | apollo-server-caching "0.5.0" 294 | apollo-server-env "2.4.1" 295 | apollo-server-types "0.2.1" 296 | async-retry "^1.2.1" 297 | graphql-extensions "0.9.1" 298 | 299 | apollo-env@0.5.1: 300 | version "0.5.1" 301 | resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.5.1.tgz#b9b0195c16feadf0fe9fd5563edb0b9b7d9e97d3" 302 | integrity sha512-fndST2xojgSdH02k5hxk1cbqA9Ti8RX4YzzBoAB4oIe1Puhq7+YlhXGXfXB5Y4XN0al8dLg+5nAkyjNAR2qZTw== 303 | dependencies: 304 | core-js "^3.0.1" 305 | node-fetch "^2.2.0" 306 | sha.js "^2.4.11" 307 | 308 | apollo-graphql@^0.3.3: 309 | version "0.3.3" 310 | resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.3.3.tgz#ce1df194f6e547ad3ce1e35b42f9c211766e1658" 311 | integrity sha512-t3CO/xIDVsCG2qOvx2MEbuu4b/6LzQjcBBwiVnxclmmFyAxYCIe7rpPlnLHSq7HyOMlCWDMozjoeWfdqYSaLqQ== 312 | dependencies: 313 | apollo-env "0.5.1" 314 | lodash.sortby "^4.7.0" 315 | 316 | apollo-link@^1.2.3: 317 | version "1.2.12" 318 | resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.12.tgz#014b514fba95f1945c38ad4c216f31bcfee68429" 319 | integrity sha512-fsgIAXPKThyMVEMWQsUN22AoQI+J/pVXcjRGAShtk97h7D8O+SPskFinCGEkxPeQpE83uKaqafB2IyWdjN+J3Q== 320 | dependencies: 321 | apollo-utilities "^1.3.0" 322 | ts-invariant "^0.4.0" 323 | tslib "^1.9.3" 324 | zen-observable-ts "^0.8.19" 325 | 326 | apollo-server-caching@0.5.0: 327 | version "0.5.0" 328 | resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.5.0.tgz#446a37ce2d4e24c81833e276638330a634f7bd46" 329 | integrity sha512-l7ieNCGxUaUAVAAp600HjbUJxVaxjJygtPV0tPTe1Q3HkPy6LEWoY6mNHV7T268g1hxtPTxcdRu7WLsJrg7ufw== 330 | dependencies: 331 | lru-cache "^5.0.0" 332 | 333 | apollo-server-core@2.9.0: 334 | version "2.9.0" 335 | resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.9.0.tgz#5db251093ee121a5f4d90a24d51aa4c21e421243" 336 | integrity sha512-IvKIgqOqEEB8nszlpHWzlhAu4376So2PgNhFP6UrlfNTllt/WDti5YMOHnVimPWIDHmLPKFan0+wfzpsoRCRdg== 337 | dependencies: 338 | "@apollographql/apollo-tools" "^0.4.0" 339 | "@apollographql/graphql-playground-html" "1.6.24" 340 | "@types/graphql-upload" "^8.0.0" 341 | "@types/ws" "^6.0.0" 342 | apollo-cache-control "0.8.1" 343 | apollo-datasource "0.6.1" 344 | apollo-engine-reporting "1.4.3" 345 | apollo-server-caching "0.5.0" 346 | apollo-server-env "2.4.1" 347 | apollo-server-errors "2.3.1" 348 | apollo-server-plugin-base "0.6.1" 349 | apollo-server-types "0.2.1" 350 | apollo-tracing "0.8.1" 351 | fast-json-stable-stringify "^2.0.0" 352 | graphql-extensions "0.10.0" 353 | graphql-tag "^2.9.2" 354 | graphql-tools "^4.0.0" 355 | graphql-upload "^8.0.2" 356 | sha.js "^2.4.11" 357 | subscriptions-transport-ws "^0.9.11" 358 | ws "^6.0.0" 359 | 360 | apollo-server-env@2.4.1: 361 | version "2.4.1" 362 | resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.1.tgz#58264ecfeb151919e0f480320b4e3769be9f18f3" 363 | integrity sha512-J4G1Q6qyb7KjjqvQdVM5HUH3QDb52VK1Rv+MWL0rHcstJx9Fh/NK0sS+nujrMfKw57NVUs2d4KuYtl/EnW/txg== 364 | dependencies: 365 | node-fetch "^2.1.2" 366 | util.promisify "^1.0.0" 367 | 368 | apollo-server-errors@2.3.1: 369 | version "2.3.1" 370 | resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.1.tgz#033cf331463ebb99a563f8354180b41ac6714eb6" 371 | integrity sha512-errZvnh0vUQChecT7M4A/h94dnBSRL213dNxpM5ueMypaLYgnp4hiCTWIEaooo9E4yMGd1qA6WaNbLDG2+bjcg== 372 | 373 | apollo-server-express@2.9.0: 374 | version "2.9.0" 375 | resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.9.0.tgz#9d2a2d9823422ef26bca15931669d3153dc8a08b" 376 | integrity sha512-+057V6Ui1BX69jUlV6YDQ7Xw9CCBfowN/GauvyF09KnsjYUJ+cB1xf4mkj/HAjaz4ReXQaALJNr2qPYPXS4R6w== 377 | dependencies: 378 | "@apollographql/graphql-playground-html" "1.6.24" 379 | "@types/accepts" "^1.3.5" 380 | "@types/body-parser" "1.17.1" 381 | "@types/cors" "^2.8.4" 382 | "@types/express" "4.17.1" 383 | accepts "^1.3.5" 384 | apollo-server-core "2.9.0" 385 | apollo-server-types "0.2.1" 386 | body-parser "^1.18.3" 387 | cors "^2.8.4" 388 | graphql-subscriptions "^1.0.0" 389 | graphql-tools "^4.0.0" 390 | parseurl "^1.3.2" 391 | subscriptions-transport-ws "^0.9.16" 392 | type-is "^1.6.16" 393 | 394 | apollo-server-plugin-base@0.6.1: 395 | version "0.6.1" 396 | resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.1.tgz#b9c209aa2102a26c6134f51bfa1e4a8307b63b11" 397 | integrity sha512-gLLF0kz4QOOyczDGWuR2ZNDfa1nHfyFNG76ue8Es0/0ujnMT9KoSokXkx1hDh0X7FFTMj/MelYYoNEqgTH88zw== 398 | dependencies: 399 | apollo-server-types "0.2.1" 400 | 401 | apollo-server-types@0.2.1: 402 | version "0.2.1" 403 | resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.2.1.tgz#553da40ea1ad779ef0390c250ddad7eb782fdf64" 404 | integrity sha512-ls26d6jjY7x91ctLWtbpQHGW0lcFR1LcOpDvBQUC2aCwQzuW/6yV7F3hfcEdLR9pjIxcA4yAtFQcKf5olDWVkA== 405 | dependencies: 406 | apollo-engine-reporting-protobuf "0.4.0" 407 | apollo-server-caching "0.5.0" 408 | apollo-server-env "2.4.1" 409 | 410 | apollo-server@^2.9.0: 411 | version "2.9.0" 412 | resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.9.0.tgz#32685712215d420ff5f3298b3b34e972e21ec1c6" 413 | integrity sha512-KouRjMWn8pnR4KvVsFXT1GZYzH53J0+v9KwnLUKrLNo2G4KiZu5KhP+tEkF7uTlpHzdPMQAIbwjdXKzOH/r6ew== 414 | dependencies: 415 | apollo-server-core "2.9.0" 416 | apollo-server-express "2.9.0" 417 | express "^4.0.0" 418 | graphql-subscriptions "^1.0.0" 419 | graphql-tools "^4.0.0" 420 | 421 | apollo-tracing@0.8.1: 422 | version "0.8.1" 423 | resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.8.1.tgz#220aeac6ad598c67f9333739155b7a56bd63ccab" 424 | integrity sha512-zhVNC7N6hg9IJEeSEXFDxcnXD5GJQAbHxaoKVBKEolcIIsz6EGd700ORdagJgFKLReVp9O65HPrZJCg66sVx7g== 425 | dependencies: 426 | apollo-server-env "2.4.1" 427 | graphql-extensions "0.8.1" 428 | 429 | apollo-utilities@^1.0.1, apollo-utilities@^1.3.0: 430 | version "1.3.2" 431 | resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.2.tgz#8cbdcf8b012f664cd6cb5767f6130f5aed9115c9" 432 | integrity sha512-JWNHj8XChz7S4OZghV6yc9FNnzEXj285QYp/nLNh943iObycI5GTDO3NGR9Dth12LRrSFMeDOConPfPln+WGfg== 433 | dependencies: 434 | "@wry/equality" "^0.1.2" 435 | fast-json-stable-stringify "^2.0.0" 436 | ts-invariant "^0.4.0" 437 | tslib "^1.9.3" 438 | 439 | array-flatten@1.1.1: 440 | version "1.1.1" 441 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 442 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 443 | 444 | arraybuffer.slice@~0.0.7: 445 | version "0.0.7" 446 | resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" 447 | integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== 448 | 449 | async-limiter@~1.0.0: 450 | version "1.0.1" 451 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" 452 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== 453 | 454 | async-retry@^1.2.1: 455 | version "1.2.3" 456 | resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0" 457 | integrity sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q== 458 | dependencies: 459 | retry "0.12.0" 460 | 461 | async@2.6.2: 462 | version "2.6.2" 463 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" 464 | integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== 465 | dependencies: 466 | lodash "^4.17.11" 467 | 468 | async@^1.5.2: 469 | version "1.5.2" 470 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 471 | integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= 472 | 473 | backo2@1.0.2, backo2@^1.0.2: 474 | version "1.0.2" 475 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" 476 | integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= 477 | 478 | base64-arraybuffer@0.1.5: 479 | version "0.1.5" 480 | resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" 481 | integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= 482 | 483 | base64id@1.0.0: 484 | version "1.0.0" 485 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" 486 | integrity sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY= 487 | 488 | better-assert@~1.0.0: 489 | version "1.0.2" 490 | resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" 491 | integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI= 492 | dependencies: 493 | callsite "1.0.0" 494 | 495 | blob@0.0.5: 496 | version "0.0.5" 497 | resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" 498 | integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== 499 | 500 | bluebird@3.5.1: 501 | version "3.5.1" 502 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 503 | integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== 504 | 505 | body-parser@1.19.0, body-parser@^1.18.3, body-parser@^1.19.0: 506 | version "1.19.0" 507 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" 508 | integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== 509 | dependencies: 510 | bytes "3.1.0" 511 | content-type "~1.0.4" 512 | debug "2.6.9" 513 | depd "~1.1.2" 514 | http-errors "1.7.2" 515 | iconv-lite "0.4.24" 516 | on-finished "~2.3.0" 517 | qs "6.7.0" 518 | raw-body "2.4.0" 519 | type-is "~1.6.17" 520 | 521 | bson@^1.1.1, bson@~1.1.1: 522 | version "1.1.1" 523 | resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.1.tgz#4330f5e99104c4e751e7351859e2d408279f2f13" 524 | integrity sha512-jCGVYLoYMHDkOsbwJZBCqwMHyH4c+wzgI9hG7Z6SZJRXWr+x58pdIbm2i9a/jFGCkRJqRUr8eoI7lDWa0hTkxg== 525 | 526 | busboy@^0.3.1: 527 | version "0.3.1" 528 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b" 529 | integrity sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw== 530 | dependencies: 531 | dicer "0.3.0" 532 | 533 | bytes@3.1.0: 534 | version "3.1.0" 535 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 536 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 537 | 538 | callsite@1.0.0: 539 | version "1.0.0" 540 | resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" 541 | integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= 542 | 543 | charm@1.0.2: 544 | version "1.0.2" 545 | resolved "https://registry.yarnpkg.com/charm/-/charm-1.0.2.tgz#8add367153a6d9a581331052c4090991da995e35" 546 | integrity sha1-it02cVOm2aWBMxBSxAkJkdqZXjU= 547 | dependencies: 548 | inherits "^2.0.1" 549 | 550 | colors@1.3.3: 551 | version "1.3.3" 552 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" 553 | integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== 554 | 555 | component-bind@1.0.0: 556 | version "1.0.0" 557 | resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" 558 | integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= 559 | 560 | component-emitter@1.2.1: 561 | version "1.2.1" 562 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 563 | integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= 564 | 565 | component-inherit@0.0.3: 566 | version "0.0.3" 567 | resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" 568 | integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= 569 | 570 | configurable@0.0.1: 571 | version "0.0.1" 572 | resolved "https://registry.yarnpkg.com/configurable/-/configurable-0.0.1.tgz#47d75b727b51b4eb84c1dadafe3f8240313833b1" 573 | integrity sha1-R9dbcntRtOuEwdra/j+CQDE4M7E= 574 | 575 | content-disposition@0.5.3: 576 | version "0.5.3" 577 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 578 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== 579 | dependencies: 580 | safe-buffer "5.1.2" 581 | 582 | content-type@~1.0.4: 583 | version "1.0.4" 584 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 585 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 586 | 587 | cookie-signature@1.0.6: 588 | version "1.0.6" 589 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 590 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= 591 | 592 | cookie@0.3.1: 593 | version "0.3.1" 594 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 595 | integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= 596 | 597 | cookie@0.4.0: 598 | version "0.4.0" 599 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" 600 | integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== 601 | 602 | core-js@^2.6.5: 603 | version "2.6.9" 604 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" 605 | integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== 606 | 607 | core-js@^3.0.1: 608 | version "3.2.1" 609 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" 610 | integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== 611 | 612 | cors@^2.8.4: 613 | version "2.8.5" 614 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 615 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 616 | dependencies: 617 | object-assign "^4" 618 | vary "^1" 619 | 620 | cote@^0.20.1: 621 | version "0.20.1" 622 | resolved "https://registry.yarnpkg.com/cote/-/cote-0.20.1.tgz#026d7940e2de8c28b2f29483189d04f82e3041b7" 623 | integrity sha512-iMiQJVB/OGlMjedqKyWuHW7fqzQcqaS2dunrHs5yTrK0NgnT7SvPrcKBDIDuVyCC5OL+m4dc//0vp3pXSpLsrQ== 624 | dependencies: 625 | "@dashersw/axon" "2.0.5" 626 | "@dashersw/node-discover" "^1.0.4" 627 | charm "1.0.2" 628 | colors "1.3.3" 629 | core-js "^2.6.5" 630 | eventemitter2 "5.0.1" 631 | lodash "^4.17.15" 632 | portfinder "1.0.20" 633 | socket.io "2.2.0" 634 | uuid "^3.3.2" 635 | 636 | debug@*, debug@~4.1.0: 637 | version "4.1.1" 638 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 639 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 640 | dependencies: 641 | ms "^2.1.1" 642 | 643 | debug@2.6.9, debug@^2.2.0: 644 | version "2.6.9" 645 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 646 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 647 | dependencies: 648 | ms "2.0.0" 649 | 650 | debug@3.1.0, debug@~3.1.0: 651 | version "3.1.0" 652 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 653 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 654 | dependencies: 655 | ms "2.0.0" 656 | 657 | define-properties@^1.1.2: 658 | version "1.1.3" 659 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 660 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 661 | dependencies: 662 | object-keys "^1.0.12" 663 | 664 | depd@~1.1.2: 665 | version "1.1.2" 666 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 667 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 668 | 669 | deprecated-decorator@^0.1.6: 670 | version "0.1.6" 671 | resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" 672 | integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc= 673 | 674 | destroy@~1.0.4: 675 | version "1.0.4" 676 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 677 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 678 | 679 | dicer@0.3.0: 680 | version "0.3.0" 681 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872" 682 | integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA== 683 | dependencies: 684 | streamsearch "0.1.2" 685 | 686 | double-ended-queue@^2.1.0-0: 687 | version "2.1.0-0" 688 | resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" 689 | integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw= 690 | 691 | ee-first@1.1.1: 692 | version "1.1.1" 693 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 694 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 695 | 696 | encodeurl@~1.0.2: 697 | version "1.0.2" 698 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 699 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 700 | 701 | engine.io-client@~3.3.1: 702 | version "3.3.2" 703 | resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.2.tgz#04e068798d75beda14375a264bb3d742d7bc33aa" 704 | integrity sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ== 705 | dependencies: 706 | component-emitter "1.2.1" 707 | component-inherit "0.0.3" 708 | debug "~3.1.0" 709 | engine.io-parser "~2.1.1" 710 | has-cors "1.1.0" 711 | indexof "0.0.1" 712 | parseqs "0.0.5" 713 | parseuri "0.0.5" 714 | ws "~6.1.0" 715 | xmlhttprequest-ssl "~1.5.4" 716 | yeast "0.1.2" 717 | 718 | engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: 719 | version "2.1.3" 720 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.3.tgz#757ab970fbf2dfb32c7b74b033216d5739ef79a6" 721 | integrity sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA== 722 | dependencies: 723 | after "0.8.2" 724 | arraybuffer.slice "~0.0.7" 725 | base64-arraybuffer "0.1.5" 726 | blob "0.0.5" 727 | has-binary2 "~1.0.2" 728 | 729 | engine.io@~3.3.1: 730 | version "3.3.2" 731 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.3.2.tgz#18cbc8b6f36e9461c5c0f81df2b830de16058a59" 732 | integrity sha512-AsaA9KG7cWPXWHp5FvHdDWY3AMWeZ8x+2pUVLcn71qE5AtAzgGbxuclOytygskw8XGmiQafTmnI9Bix3uihu2w== 733 | dependencies: 734 | accepts "~1.3.4" 735 | base64id "1.0.0" 736 | cookie "0.3.1" 737 | debug "~3.1.0" 738 | engine.io-parser "~2.1.0" 739 | ws "~6.1.0" 740 | 741 | es-abstract@^1.5.1: 742 | version "1.13.0" 743 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" 744 | integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== 745 | dependencies: 746 | es-to-primitive "^1.2.0" 747 | function-bind "^1.1.1" 748 | has "^1.0.3" 749 | is-callable "^1.1.4" 750 | is-regex "^1.0.4" 751 | object-keys "^1.0.12" 752 | 753 | es-to-primitive@^1.2.0: 754 | version "1.2.0" 755 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 756 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== 757 | dependencies: 758 | is-callable "^1.1.4" 759 | is-date-object "^1.0.1" 760 | is-symbol "^1.0.2" 761 | 762 | escape-html@~1.0.3: 763 | version "1.0.3" 764 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 765 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 766 | 767 | escape-regexp@0.0.1: 768 | version "0.0.1" 769 | resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254" 770 | integrity sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ= 771 | 772 | etag@~1.8.1: 773 | version "1.8.1" 774 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 775 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 776 | 777 | eventemitter2@5.0.1: 778 | version "5.0.1" 779 | resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-5.0.1.tgz#6197a095d5fb6b57e8942f6fd7eaad63a09c9452" 780 | integrity sha1-YZegldX7a1folC9v1+qtY6CclFI= 781 | 782 | eventemitter3@^3.1.0: 783 | version "3.1.2" 784 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" 785 | integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== 786 | 787 | express@^4.0.0, express@^4.17.1: 788 | version "4.17.1" 789 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" 790 | integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== 791 | dependencies: 792 | accepts "~1.3.7" 793 | array-flatten "1.1.1" 794 | body-parser "1.19.0" 795 | content-disposition "0.5.3" 796 | content-type "~1.0.4" 797 | cookie "0.4.0" 798 | cookie-signature "1.0.6" 799 | debug "2.6.9" 800 | depd "~1.1.2" 801 | encodeurl "~1.0.2" 802 | escape-html "~1.0.3" 803 | etag "~1.8.1" 804 | finalhandler "~1.1.2" 805 | fresh "0.5.2" 806 | merge-descriptors "1.0.1" 807 | methods "~1.1.2" 808 | on-finished "~2.3.0" 809 | parseurl "~1.3.3" 810 | path-to-regexp "0.1.7" 811 | proxy-addr "~2.0.5" 812 | qs "6.7.0" 813 | range-parser "~1.2.1" 814 | safe-buffer "5.1.2" 815 | send "0.17.1" 816 | serve-static "1.14.1" 817 | setprototypeof "1.1.1" 818 | statuses "~1.5.0" 819 | type-is "~1.6.18" 820 | utils-merge "1.0.1" 821 | vary "~1.1.2" 822 | 823 | fast-json-stable-stringify@^2.0.0: 824 | version "2.0.0" 825 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 826 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 827 | 828 | finalhandler@~1.1.2: 829 | version "1.1.2" 830 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" 831 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== 832 | dependencies: 833 | debug "2.6.9" 834 | encodeurl "~1.0.2" 835 | escape-html "~1.0.3" 836 | on-finished "~2.3.0" 837 | parseurl "~1.3.3" 838 | statuses "~1.5.0" 839 | unpipe "~1.0.0" 840 | 841 | forwarded@~0.1.2: 842 | version "0.1.2" 843 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 844 | integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= 845 | 846 | fresh@0.5.2: 847 | version "0.5.2" 848 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 849 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 850 | 851 | fs-capacitor@^2.0.4: 852 | version "2.0.4" 853 | resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-2.0.4.tgz#5a22e72d40ae5078b4fe64fe4d08c0d3fc88ad3c" 854 | integrity sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA== 855 | 856 | function-bind@^1.1.1: 857 | version "1.1.1" 858 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 859 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 860 | 861 | graphql-extensions@0.10.0: 862 | version "0.10.0" 863 | resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.10.0.tgz#ceafc42e16554930b0dc90f64d5727ee2a9e9cf9" 864 | integrity sha512-qz9Ev0NgsRxdTYqYSCpYwBWS9r1imm+vCBt3PmHzqZlE7SEpUPGddn9oKcLRB/P8uXT6dsr60hDmDHukIxiVOw== 865 | dependencies: 866 | "@apollographql/apollo-tools" "^0.4.0" 867 | apollo-server-env "2.4.1" 868 | apollo-server-types "0.2.1" 869 | 870 | graphql-extensions@0.8.1: 871 | version "0.8.1" 872 | resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.8.1.tgz#f5f1fed5fe49620c4e70c5d08bdbd0039e91c402" 873 | integrity sha512-d/L4x7/PPWhviJqi7jIWOVJPzfzagYgPizSQUpa+3hozbWhwpWEnfxwgL5/If5MnPUikBnqlkOLCyjHMNdipYA== 874 | dependencies: 875 | "@apollographql/apollo-tools" "^0.4.0" 876 | apollo-server-env "2.4.1" 877 | apollo-server-types "0.2.1" 878 | 879 | graphql-extensions@0.9.1: 880 | version "0.9.1" 881 | resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.9.1.tgz#5d40b2c2cf57a35b686121d5e63783369dade5ef" 882 | integrity sha512-JR/KStdwALd48B/xSG/Mi85zamuJd8THvVlzGM5juznPDN0wTYG5SARGzzvoqHxgxuUHYdzpvESwMAisORJdCQ== 883 | dependencies: 884 | "@apollographql/apollo-tools" "^0.4.0" 885 | apollo-server-env "2.4.1" 886 | apollo-server-types "0.2.1" 887 | 888 | graphql-subscriptions@^1.0.0: 889 | version "1.1.0" 890 | resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz#5f2fa4233eda44cf7570526adfcf3c16937aef11" 891 | integrity sha512-6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA== 892 | dependencies: 893 | iterall "^1.2.1" 894 | 895 | graphql-tag@^2.9.2: 896 | version "2.10.1" 897 | resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.1.tgz#10aa41f1cd8fae5373eaf11f1f67260a3cad5e02" 898 | integrity sha512-jApXqWBzNXQ8jYa/HLkZJaVw9jgwNqZkywa2zfFn16Iv1Zb7ELNHkJaXHR7Quvd5SIGsy6Ny7SUKATgnu05uEg== 899 | 900 | graphql-tools@^4.0.0: 901 | version "4.0.5" 902 | resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.5.tgz#d2b41ee0a330bfef833e5cdae7e1f0b0d86b1754" 903 | integrity sha512-kQCh3IZsMqquDx7zfIGWBau42xe46gmqabwYkpPlCLIjcEY1XK+auP7iGRD9/205BPyoQdY8hT96MPpgERdC9Q== 904 | dependencies: 905 | apollo-link "^1.2.3" 906 | apollo-utilities "^1.0.1" 907 | deprecated-decorator "^0.1.6" 908 | iterall "^1.1.3" 909 | uuid "^3.1.0" 910 | 911 | graphql-upload@^8.0.2: 912 | version "8.0.7" 913 | resolved "https://registry.yarnpkg.com/graphql-upload/-/graphql-upload-8.0.7.tgz#8644264e241529552ea4b3797e7ee15809cf01a3" 914 | integrity sha512-gi2yygbDPXbHPC7H0PNPqP++VKSoNoJO4UrXWq4T0Bi4IhyUd3Ycop/FSxhx2svWIK3jdXR/i0vi91yR1aAF0g== 915 | dependencies: 916 | busboy "^0.3.1" 917 | fs-capacitor "^2.0.4" 918 | http-errors "^1.7.2" 919 | object-path "^0.11.4" 920 | 921 | graphql@14.5.0: 922 | version "14.5.0" 923 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.0.tgz#4801e6460942c9c591944617f6dd224a9e531520" 924 | integrity sha512-wnGcTD181L2xPnIwHHjx/moV4ulxA2Kms9zcUY+B/SIrK+2N+iOC6WNgnR2zVTmg1Z8P+CZq5KXibTnatg3WUw== 925 | dependencies: 926 | iterall "^1.2.2" 927 | 928 | graphql@^14.5.3: 929 | version "14.5.3" 930 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.3.tgz#e025851cc413e153220f4edbbb25d49f55104fa0" 931 | integrity sha512-W8A8nt9BsMg0ZK2qA3DJIVU6muWhxZRYLTmc+5XGwzWzVdUdPVlAAg5hTBjiTISEnzsKL/onasu6vl3kgGTbYg== 932 | dependencies: 933 | iterall "^1.2.2" 934 | 935 | has-binary2@~1.0.2: 936 | version "1.0.3" 937 | resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" 938 | integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== 939 | dependencies: 940 | isarray "2.0.1" 941 | 942 | has-cors@1.1.0: 943 | version "1.1.0" 944 | resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" 945 | integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= 946 | 947 | has-symbols@^1.0.0: 948 | version "1.0.0" 949 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 950 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 951 | 952 | has@^1.0.1, has@^1.0.3: 953 | version "1.0.3" 954 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 955 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 956 | dependencies: 957 | function-bind "^1.1.1" 958 | 959 | http-errors@1.7.2: 960 | version "1.7.2" 961 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" 962 | integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== 963 | dependencies: 964 | depd "~1.1.2" 965 | inherits "2.0.3" 966 | setprototypeof "1.1.1" 967 | statuses ">= 1.5.0 < 2" 968 | toidentifier "1.0.0" 969 | 970 | http-errors@^1.7.2, http-errors@~1.7.2: 971 | version "1.7.3" 972 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 973 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 974 | dependencies: 975 | depd "~1.1.2" 976 | inherits "2.0.4" 977 | setprototypeof "1.1.1" 978 | statuses ">= 1.5.0 < 2" 979 | toidentifier "1.0.0" 980 | 981 | iconv-lite@0.4.24: 982 | version "0.4.24" 983 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 984 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 985 | dependencies: 986 | safer-buffer ">= 2.1.2 < 3" 987 | 988 | indexof@0.0.1: 989 | version "0.0.1" 990 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 991 | integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= 992 | 993 | inherits@2.0.3: 994 | version "2.0.3" 995 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 996 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 997 | 998 | inherits@2.0.4, inherits@^2.0.1: 999 | version "2.0.4" 1000 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1001 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1002 | 1003 | ipaddr.js@1.9.0: 1004 | version "1.9.0" 1005 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" 1006 | integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== 1007 | 1008 | is-callable@^1.1.4: 1009 | version "1.1.4" 1010 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 1011 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 1012 | 1013 | is-date-object@^1.0.1: 1014 | version "1.0.1" 1015 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1016 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 1017 | 1018 | is-regex@^1.0.4: 1019 | version "1.0.4" 1020 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1021 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 1022 | dependencies: 1023 | has "^1.0.1" 1024 | 1025 | is-symbol@^1.0.2: 1026 | version "1.0.2" 1027 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 1028 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== 1029 | dependencies: 1030 | has-symbols "^1.0.0" 1031 | 1032 | isarray@2.0.1: 1033 | version "2.0.1" 1034 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" 1035 | integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= 1036 | 1037 | iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: 1038 | version "1.2.2" 1039 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" 1040 | integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== 1041 | 1042 | kareem@2.3.0: 1043 | version "2.3.0" 1044 | resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.3.0.tgz#ef33c42e9024dce511eeaf440cd684f3af1fc769" 1045 | integrity sha512-6hHxsp9e6zQU8nXsP+02HGWXwTkOEw6IROhF2ZA28cYbUk4eJ6QbtZvdqZOdD9YPKghG3apk5eOCvs+tLl3lRg== 1046 | 1047 | lodash.sortby@^4.7.0: 1048 | version "4.7.0" 1049 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 1050 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 1051 | 1052 | lodash@^4.17.11, lodash@^4.17.15: 1053 | version "4.17.15" 1054 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 1055 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 1056 | 1057 | long@^4.0.0: 1058 | version "4.0.0" 1059 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 1060 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== 1061 | 1062 | lru-cache@^5.0.0: 1063 | version "5.1.1" 1064 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1065 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1066 | dependencies: 1067 | yallist "^3.0.2" 1068 | 1069 | media-typer@0.3.0: 1070 | version "0.3.0" 1071 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1072 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 1073 | 1074 | memory-pager@^1.0.2: 1075 | version "1.5.0" 1076 | resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" 1077 | integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== 1078 | 1079 | merge-descriptors@1.0.1: 1080 | version "1.0.1" 1081 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1082 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 1083 | 1084 | methods@~1.1.2: 1085 | version "1.1.2" 1086 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1087 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 1088 | 1089 | mime-db@1.40.0: 1090 | version "1.40.0" 1091 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" 1092 | integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== 1093 | 1094 | mime-types@~2.1.24: 1095 | version "2.1.24" 1096 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" 1097 | integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== 1098 | dependencies: 1099 | mime-db "1.40.0" 1100 | 1101 | mime@1.6.0: 1102 | version "1.6.0" 1103 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1104 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1105 | 1106 | minimist@0.0.8: 1107 | version "0.0.8" 1108 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1109 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 1110 | 1111 | mkdirp@0.5.x: 1112 | version "0.5.1" 1113 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1114 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 1115 | dependencies: 1116 | minimist "0.0.8" 1117 | 1118 | mongodb-core@3.2.7: 1119 | version "3.2.7" 1120 | resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-3.2.7.tgz#a8ef1fe764a192c979252dacbc600dc88d77e28f" 1121 | integrity sha512-WypKdLxFNPOH/Jy6i9z47IjG2wIldA54iDZBmHMINcgKOUcWJh8og+Wix76oGd7EyYkHJKssQ2FAOw5Su/n4XQ== 1122 | dependencies: 1123 | bson "^1.1.1" 1124 | require_optional "^1.0.1" 1125 | safe-buffer "^5.1.2" 1126 | optionalDependencies: 1127 | saslprep "^1.0.0" 1128 | 1129 | mongodb@3.2.7: 1130 | version "3.2.7" 1131 | resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.2.7.tgz#8ba149e4be708257cad0dea72aebb2bbb311a7ac" 1132 | integrity sha512-2YdWrdf1PJgxcCrT1tWoL6nHuk6hCxhddAAaEh8QJL231ci4+P9FLyqopbTm2Z2sAU6mhCri+wd9r1hOcHdoMw== 1133 | dependencies: 1134 | mongodb-core "3.2.7" 1135 | safe-buffer "^5.1.2" 1136 | 1137 | mongoose-legacy-pluralize@1.0.2: 1138 | version "1.0.2" 1139 | resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4" 1140 | integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ== 1141 | 1142 | mongoose@^5.6.10: 1143 | version "5.6.10" 1144 | resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.6.10.tgz#0758b7ae7d6f9654e994cc1aa41efc63e35e131b" 1145 | integrity sha512-lxWvF4Vl2118K2nZTj+QAEEmNBCbmUAcmF/roe8d+68Np4RXKEQvmpqm1c3aIlE9AVMp//eKB8IfXr38ZHe0Zw== 1146 | dependencies: 1147 | async "2.6.2" 1148 | bson "~1.1.1" 1149 | kareem "2.3.0" 1150 | mongodb "3.2.7" 1151 | mongodb-core "3.2.7" 1152 | mongoose-legacy-pluralize "1.0.2" 1153 | mpath "0.6.0" 1154 | mquery "3.2.1" 1155 | ms "2.1.2" 1156 | regexp-clone "1.0.0" 1157 | safe-buffer "5.1.2" 1158 | sift "7.0.1" 1159 | sliced "1.0.1" 1160 | 1161 | mpath@0.6.0: 1162 | version "0.6.0" 1163 | resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.6.0.tgz#aa922029fca4f0f641f360e74c5c1b6a4c47078e" 1164 | integrity sha512-i75qh79MJ5Xo/sbhxrDrPSEG0H/mr1kcZXJ8dH6URU5jD/knFxCVqVC/gVSW7GIXL/9hHWlT9haLbCXWOll3qw== 1165 | 1166 | mquery@3.2.1: 1167 | version "3.2.1" 1168 | resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.2.1.tgz#8b059a49cdae0a8a9e804284ef64c2f58d3ac05d" 1169 | integrity sha512-kY/K8QToZWTTocm0U+r8rqcJCp5PRl6e8tPmoDs5OeSO3DInZE2rAL6AYH+V406JTo8305LdASOQcxRDqHojyw== 1170 | dependencies: 1171 | bluebird "3.5.1" 1172 | debug "3.1.0" 1173 | regexp-clone "^1.0.0" 1174 | safe-buffer "5.1.2" 1175 | sliced "1.0.1" 1176 | 1177 | ms@2.0.0: 1178 | version "2.0.0" 1179 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1180 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1181 | 1182 | ms@2.1.1: 1183 | version "2.1.1" 1184 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1185 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 1186 | 1187 | ms@2.1.2, ms@^2.1.1: 1188 | version "2.1.2" 1189 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1190 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1191 | 1192 | negotiator@0.6.2: 1193 | version "0.6.2" 1194 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 1195 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== 1196 | 1197 | node-fetch@^2.1.2, node-fetch@^2.2.0: 1198 | version "2.6.0" 1199 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" 1200 | integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== 1201 | 1202 | object-assign@^4: 1203 | version "4.1.1" 1204 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1205 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1206 | 1207 | object-component@0.0.3: 1208 | version "0.0.3" 1209 | resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" 1210 | integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= 1211 | 1212 | object-keys@^1.0.12: 1213 | version "1.1.1" 1214 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1215 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1216 | 1217 | object-path@^0.11.4: 1218 | version "0.11.4" 1219 | resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" 1220 | integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= 1221 | 1222 | object.getownpropertydescriptors@^2.0.3: 1223 | version "2.0.3" 1224 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" 1225 | integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= 1226 | dependencies: 1227 | define-properties "^1.1.2" 1228 | es-abstract "^1.5.1" 1229 | 1230 | on-finished@~2.3.0: 1231 | version "2.3.0" 1232 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 1233 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 1234 | dependencies: 1235 | ee-first "1.1.1" 1236 | 1237 | parseqs@0.0.5: 1238 | version "0.0.5" 1239 | resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" 1240 | integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0= 1241 | dependencies: 1242 | better-assert "~1.0.0" 1243 | 1244 | parseuri@0.0.5: 1245 | version "0.0.5" 1246 | resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" 1247 | integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo= 1248 | dependencies: 1249 | better-assert "~1.0.0" 1250 | 1251 | parseurl@^1.3.2, parseurl@~1.3.3: 1252 | version "1.3.3" 1253 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 1254 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 1255 | 1256 | path-to-regexp@0.1.7: 1257 | version "0.1.7" 1258 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1259 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= 1260 | 1261 | portfinder@1.0.20: 1262 | version "1.0.20" 1263 | resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" 1264 | integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== 1265 | dependencies: 1266 | async "^1.5.2" 1267 | debug "^2.2.0" 1268 | mkdirp "0.5.x" 1269 | 1270 | protobufjs@^6.8.6: 1271 | version "6.8.8" 1272 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c" 1273 | integrity sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw== 1274 | dependencies: 1275 | "@protobufjs/aspromise" "^1.1.2" 1276 | "@protobufjs/base64" "^1.1.2" 1277 | "@protobufjs/codegen" "^2.0.4" 1278 | "@protobufjs/eventemitter" "^1.1.0" 1279 | "@protobufjs/fetch" "^1.1.0" 1280 | "@protobufjs/float" "^1.0.2" 1281 | "@protobufjs/inquire" "^1.1.0" 1282 | "@protobufjs/path" "^1.1.2" 1283 | "@protobufjs/pool" "^1.1.0" 1284 | "@protobufjs/utf8" "^1.1.0" 1285 | "@types/long" "^4.0.0" 1286 | "@types/node" "^10.1.0" 1287 | long "^4.0.0" 1288 | 1289 | proxy-addr@~2.0.5: 1290 | version "2.0.5" 1291 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" 1292 | integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== 1293 | dependencies: 1294 | forwarded "~0.1.2" 1295 | ipaddr.js "1.9.0" 1296 | 1297 | qs@6.7.0: 1298 | version "6.7.0" 1299 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" 1300 | integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== 1301 | 1302 | range-parser@~1.2.1: 1303 | version "1.2.1" 1304 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1305 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1306 | 1307 | raw-body@2.4.0: 1308 | version "2.4.0" 1309 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" 1310 | integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== 1311 | dependencies: 1312 | bytes "3.1.0" 1313 | http-errors "1.7.2" 1314 | iconv-lite "0.4.24" 1315 | unpipe "1.0.0" 1316 | 1317 | redis-commands@^1.2.0: 1318 | version "1.5.0" 1319 | resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.5.0.tgz#80d2e20698fe688f227127ff9e5164a7dd17e785" 1320 | integrity sha512-6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg== 1321 | 1322 | redis-parser@^2.6.0: 1323 | version "2.6.0" 1324 | resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b" 1325 | integrity sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs= 1326 | 1327 | redis@^2.7.1: 1328 | version "2.8.0" 1329 | resolved "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02" 1330 | integrity sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A== 1331 | dependencies: 1332 | double-ended-queue "^2.1.0-0" 1333 | redis-commands "^1.2.0" 1334 | redis-parser "^2.6.0" 1335 | 1336 | regexp-clone@1.0.0, regexp-clone@^1.0.0: 1337 | version "1.0.0" 1338 | resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63" 1339 | integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== 1340 | 1341 | require_optional@^1.0.1: 1342 | version "1.0.1" 1343 | resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e" 1344 | integrity sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g== 1345 | dependencies: 1346 | resolve-from "^2.0.0" 1347 | semver "^5.1.0" 1348 | 1349 | resolve-from@^2.0.0: 1350 | version "2.0.0" 1351 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" 1352 | integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c= 1353 | 1354 | retry@0.12.0: 1355 | version "0.12.0" 1356 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" 1357 | integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= 1358 | 1359 | safe-buffer@5.1.2: 1360 | version "5.1.2" 1361 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1362 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1363 | 1364 | safe-buffer@^5.0.1, safe-buffer@^5.1.2: 1365 | version "5.2.0" 1366 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 1367 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 1368 | 1369 | "safer-buffer@>= 2.1.2 < 3": 1370 | version "2.1.2" 1371 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1372 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1373 | 1374 | saslprep@^1.0.0: 1375 | version "1.0.3" 1376 | resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" 1377 | integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== 1378 | dependencies: 1379 | sparse-bitfield "^3.0.3" 1380 | 1381 | semver@^5.1.0: 1382 | version "5.7.1" 1383 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1384 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1385 | 1386 | send@0.17.1: 1387 | version "0.17.1" 1388 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" 1389 | integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== 1390 | dependencies: 1391 | debug "2.6.9" 1392 | depd "~1.1.2" 1393 | destroy "~1.0.4" 1394 | encodeurl "~1.0.2" 1395 | escape-html "~1.0.3" 1396 | etag "~1.8.1" 1397 | fresh "0.5.2" 1398 | http-errors "~1.7.2" 1399 | mime "1.6.0" 1400 | ms "2.1.1" 1401 | on-finished "~2.3.0" 1402 | range-parser "~1.2.1" 1403 | statuses "~1.5.0" 1404 | 1405 | serve-static@1.14.1: 1406 | version "1.14.1" 1407 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" 1408 | integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== 1409 | dependencies: 1410 | encodeurl "~1.0.2" 1411 | escape-html "~1.0.3" 1412 | parseurl "~1.3.3" 1413 | send "0.17.1" 1414 | 1415 | setprototypeof@1.1.1: 1416 | version "1.1.1" 1417 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1418 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 1419 | 1420 | sha.js@^2.4.11: 1421 | version "2.4.11" 1422 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 1423 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== 1424 | dependencies: 1425 | inherits "^2.0.1" 1426 | safe-buffer "^5.0.1" 1427 | 1428 | sift@7.0.1: 1429 | version "7.0.1" 1430 | resolved "https://registry.yarnpkg.com/sift/-/sift-7.0.1.tgz#47d62c50b159d316f1372f8b53f9c10cd21a4b08" 1431 | integrity sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g== 1432 | 1433 | sliced@1.0.1: 1434 | version "1.0.1" 1435 | resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" 1436 | integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E= 1437 | 1438 | socket.io-adapter@~1.1.0: 1439 | version "1.1.1" 1440 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" 1441 | integrity sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs= 1442 | 1443 | socket.io-client@2.2.0: 1444 | version "2.2.0" 1445 | resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.2.0.tgz#84e73ee3c43d5020ccc1a258faeeb9aec2723af7" 1446 | integrity sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA== 1447 | dependencies: 1448 | backo2 "1.0.2" 1449 | base64-arraybuffer "0.1.5" 1450 | component-bind "1.0.0" 1451 | component-emitter "1.2.1" 1452 | debug "~3.1.0" 1453 | engine.io-client "~3.3.1" 1454 | has-binary2 "~1.0.2" 1455 | has-cors "1.1.0" 1456 | indexof "0.0.1" 1457 | object-component "0.0.3" 1458 | parseqs "0.0.5" 1459 | parseuri "0.0.5" 1460 | socket.io-parser "~3.3.0" 1461 | to-array "0.1.4" 1462 | 1463 | socket.io-parser@~3.3.0: 1464 | version "3.3.0" 1465 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f" 1466 | integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng== 1467 | dependencies: 1468 | component-emitter "1.2.1" 1469 | debug "~3.1.0" 1470 | isarray "2.0.1" 1471 | 1472 | socket.io@2.2.0: 1473 | version "2.2.0" 1474 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.2.0.tgz#f0f633161ef6712c972b307598ecd08c9b1b4d5b" 1475 | integrity sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w== 1476 | dependencies: 1477 | debug "~4.1.0" 1478 | engine.io "~3.3.1" 1479 | has-binary2 "~1.0.2" 1480 | socket.io-adapter "~1.1.0" 1481 | socket.io-client "2.2.0" 1482 | socket.io-parser "~3.3.0" 1483 | 1484 | sparse-bitfield@^3.0.3: 1485 | version "3.0.3" 1486 | resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" 1487 | integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE= 1488 | dependencies: 1489 | memory-pager "^1.0.2" 1490 | 1491 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0: 1492 | version "1.5.0" 1493 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1494 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1495 | 1496 | streamsearch@0.1.2: 1497 | version "0.1.2" 1498 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" 1499 | integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= 1500 | 1501 | subscriptions-transport-ws@^0.9.11, subscriptions-transport-ws@^0.9.16: 1502 | version "0.9.16" 1503 | resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz#90a422f0771d9c32069294c08608af2d47f596ec" 1504 | integrity sha512-pQdoU7nC+EpStXnCfh/+ho0zE0Z+ma+i7xvj7bkXKb1dvYHSZxgRPaU6spRP+Bjzow67c/rRDoix5RT0uU9omw== 1505 | dependencies: 1506 | backo2 "^1.0.2" 1507 | eventemitter3 "^3.1.0" 1508 | iterall "^1.2.1" 1509 | symbol-observable "^1.0.4" 1510 | ws "^5.2.0" 1511 | 1512 | symbol-observable@^1.0.4: 1513 | version "1.2.0" 1514 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 1515 | integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== 1516 | 1517 | to-array@0.1.4: 1518 | version "0.1.4" 1519 | resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" 1520 | integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= 1521 | 1522 | toidentifier@1.0.0: 1523 | version "1.0.0" 1524 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1525 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 1526 | 1527 | ts-invariant@^0.4.0: 1528 | version "0.4.4" 1529 | resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" 1530 | integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== 1531 | dependencies: 1532 | tslib "^1.9.3" 1533 | 1534 | tslib@^1.9.3: 1535 | version "1.10.0" 1536 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 1537 | integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== 1538 | 1539 | type-is@^1.6.16, type-is@~1.6.17, type-is@~1.6.18: 1540 | version "1.6.18" 1541 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1542 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1543 | dependencies: 1544 | media-typer "0.3.0" 1545 | mime-types "~2.1.24" 1546 | 1547 | unpipe@1.0.0, unpipe@~1.0.0: 1548 | version "1.0.0" 1549 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1550 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1551 | 1552 | util.promisify@^1.0.0: 1553 | version "1.0.0" 1554 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" 1555 | integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== 1556 | dependencies: 1557 | define-properties "^1.1.2" 1558 | object.getownpropertydescriptors "^2.0.3" 1559 | 1560 | utils-merge@1.0.1: 1561 | version "1.0.1" 1562 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1563 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 1564 | 1565 | uuid@^3.1.0, uuid@^3.3.2: 1566 | version "3.3.3" 1567 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" 1568 | integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== 1569 | 1570 | vary@^1, vary@~1.1.2: 1571 | version "1.1.2" 1572 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1573 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 1574 | 1575 | ws@^5.2.0: 1576 | version "5.2.2" 1577 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" 1578 | integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== 1579 | dependencies: 1580 | async-limiter "~1.0.0" 1581 | 1582 | ws@^6.0.0: 1583 | version "6.2.1" 1584 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" 1585 | integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== 1586 | dependencies: 1587 | async-limiter "~1.0.0" 1588 | 1589 | ws@~6.1.0: 1590 | version "6.1.4" 1591 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9" 1592 | integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA== 1593 | dependencies: 1594 | async-limiter "~1.0.0" 1595 | 1596 | xmlhttprequest-ssl@~1.5.4: 1597 | version "1.5.5" 1598 | resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" 1599 | integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= 1600 | 1601 | yallist@^3.0.2: 1602 | version "3.0.3" 1603 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" 1604 | integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== 1605 | 1606 | yeast@0.1.2: 1607 | version "0.1.2" 1608 | resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" 1609 | integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= 1610 | 1611 | zen-observable-ts@^0.8.19: 1612 | version "0.8.19" 1613 | resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz#c094cd20e83ddb02a11144a6e2a89706946b5694" 1614 | integrity sha512-u1a2rpE13G+jSzrg3aiCqXU5tN2kw41b+cBZGmnc+30YimdkKiDj9bTowcB41eL77/17RF/h+393AuVgShyheQ== 1615 | dependencies: 1616 | tslib "^1.9.3" 1617 | zen-observable "^0.8.0" 1618 | 1619 | zen-observable@^0.8.0: 1620 | version "0.8.14" 1621 | resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.14.tgz#d33058359d335bc0db1f0af66158b32872af3bf7" 1622 | integrity sha512-kQz39uonEjEESwh+qCi83kcC3rZJGh4mrZW7xjkSQYXkq//JZHTtKo+6yuVloTgMtzsIWOJrjIrKvk/dqm0L5g== 1623 | --------------------------------------------------------------------------------