Skip to content
Snippets Groups Projects
Commit 984e6b6c authored by Quentin CHEVALIER's avatar Quentin CHEVALIER
Browse files

Merge branch 'LDAP_changes' of gitlab.binets.fr:br/sigma-backend into LDAP_changes

parents 582c99da 0367a222
No related branches found
No related tags found
No related merge requests found
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* @author manifold * @author manifold
*/ */
const path = require('path'); const path = require('path');
require('dotenv').config({path: path.resolve('..', './.env')}); require('dotenv').config({ path: path.resolve('..', './.env') });
const knexConfig = { const knexConfig = {
migrations: { migrations: {
......
{ {
"comment_1": "Tout ce fichier sert à protéger les vrais champs du LDAP dans les scripts dans src/ldap. Les champs ci-dessous contiennent le nécessaire à une première connexion par exemple.", "comment_1": "Tout ce fichier sert à protéger les vrais champs du LDAP dans les scripts dans src/ldap. Les champs ci-dessous contiennent le nécessaire à une première connexion par exemple.",
"comment_tmp": "Passer en LDAPS ASAP.",
"comment_1bis": "Ce fichier est importé par src/ldap/internal/config.ts ; comme indiqué dans config.ts, la présence d'une variable d'environnement correspondante peut override les paramètres donnés ici.", "comment_1bis": "Ce fichier est importé par src/ldap/internal/config.ts ; comme indiqué dans config.ts, la présence d'une variable d'environnement correspondante peut override les paramètres donnés ici.",
"server_prod_old": "ldap://frankiz.eleves.polytechnique.fr:389", "server_prod_old": "ldap://frankiz.eleves.polytechnique.fr:389",
"server_dev_old": "ldap://localhost:389", "server_dev_old": "ldap://localhost:389",
......
Gestion des droits sur Sigma Gestion des droits sur Sigma
=== ===
TODO: me relire et modifier/enlever les passages barres si c'est correct.
## Overview ## Overview
Chaque utilisateur a un certain niveau de droit sur chaque groupe. Ce niveau de droit indique ce qu'il a le droit de savoir et de faire. Chaque utilisateur a un certain niveau de droit sur chaque groupe. Ce niveau de droit indique ce qu'il a le droit de savoir et de faire.
> ~~Chaque niveau est inclus dans les niveaux supérieurs.~~
**^-- ce n'est plus le cas depuis https://gitlab.binets.fr/br/sigma-backend/issues/32**
TODO: quelle est la bonne specification? Merger les deux.
### Les differents niveaux de droit [specification issue de resolvers.ts]
*Par rapport à un groupe donné*, les différents niveaux d'un user sont :
- none - aucun droit
- viewer : l'utilisateur a visibilité sur le groupe. Il sait que le groupe existe, et a accès à un certain nombre d'infos.
- member : l'utilisateur est membre du groupe
- speaker : l'utilisateur peut parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements
- admin : l'utilisateur a tous les droits sur le groupe
### Les differents niveaux de droit [specification de actions.graphql] ### Les differents niveaux de droit [specification de actions.graphql]
*Par rapport à un groupe donné*, un user peut avoir différents niveaux de droits : *Par rapport à un groupe donné*, un user peut avoir différents niveaux de droits :
- none : ne sait meme pas que le groupe existe, aucun autre droit (typiquement, une connection où l'utilisateur ne s'est pas authentifié) - none : ne sait meme pas que le groupe existe, aucun autre droit (typiquement, une connection où l'utilisateur ne s'est pas authentifié)
- authenticated : sait que le groupe existe, aucun autre droit (une connection on-platal sans auth, ou une connection authentifiée) - authenticated : sait que le groupe existe, aucun autre droit (une connection on-platal sans auth, ou une connection authentifiée)
- viewer : le user a aussi accès à l'activité publique du groupe : frontpage, Q&A, liste des membres, speakers et admins - viewer : le user a aussi accès à l'activité publique du groupe : frontpage, Q&A, liste des membres, speakers et admins, Message dont le groupe est destinataire
- member : le user a aussi acces à l'activité interne du groupe : les PrivatePost, ainsi que les Message dont le groupe est auteur ou destinataire - member : le user a aussi acces à l'activité interne du groupe : les PrivatePost, ainsi que les Message dont le groupe est auteur
- speaker : le user peut aussi parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements - speaker : le user peut aussi parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements
- admin : le user a tous les droits sur le groupe - admin : le user a tous les droits sur le groupe
- ~~supervisor : le user est admin du parent du groupe et peut donc intervenir dans ce groupe (il est par défaut 'viewer' mais peut prendre les droits d'admin arbitrairement)~~
### Le graphe organique des groupes ### Le graphe organique des groupes
Les champs `parent` et `children` de l'objet `Group` dans le schéma GraphQL définissent un graphe des groupes, appelé *graphe organique des groupes* car il définit les héritages de droits d'admin (l'admin d'un groupe peut administrer les groupes enfants) (de la même facon qu'une hiérarchie organique militaire). Ce graphe ne doit pas contenir de cycles, i.e. doit être un arbre. Les champs `parent` et `children` de l'objet `Group` dans le schéma GraphQL définissent un graphe des groupes, appelé *graphe organique des groupes* car il définit les héritages de droits d'admin (l'admin d'un groupe peut administrer les groupes enfants) (de la même facon qu'une hiérarchie organique militaire). Ce graphe ne doit pas contenir de cycles, i.e. doit être un arbre.
Un des rôles du *graphe organique des groupes* est de définir le niveau de droit des users pour chaque groupe. ### Conditions pour les niveaux de droit
> ~~D'abord, petit détail de terminologie : les cinq niveaux de droits sont inclus les uns dans les autres (un speaker est aussi un viewer, par ex.) (sauf pour supervisor qui n'est pas admin par défaut)~~ Un des rôles du *graphe organique des groupes* est de définir le niveau de droit des users pour chaque groupe.
**^-- ceci n'est plus le cas, cf issue https://gitlab.binets.fr/br/sigma-backend/issues/32**
- Les conditions pour qu'un user soit membre, speaker ou admin sont claires, puisque cette information est stockée directement en BDD. D'abord, petit détail de terminologie : les cinq niveaux de droits sont inclus les uns dans les autres (un speaker est aussi un viewer, par ex.) (sauf pour les permissions héritées)
- Un user non-membre est viewer du groupe G :
- s'il est membre d'un groupe immédiatement parent de G (one-edge-down visibility), ou Plus précisément, on a les inclusions suivantes : admin strict > speaker > membre strict > membre hérité > viewer > authenticated.
- s'il est membre d'un groupe faisant partie du champ "visibilityEdge" de G Il n'y a que admin hérité qui n'est pas nécessairement inclus dans les autres niveaux de droits.
Dans la BDD sous-jacente, il faut que pour chaque groupe, on ait admin > speaker > member.
Détaillons ici les conditions exactes pour avoir un niveau de droit donné.
#### Pour les groupes simples
- Member :
- Un user est membre strict du groupe G s'il est member de G selon la BDD sous-jacente.
- Un user est membre hérité du groupe G s'il est membre strict d'un de ses descendants.
- Speaker : un user est speaker du groupe G s'il est speaker de G selon la BDD. Pas de notion d'héritage de speaker.
- Admin :
- Un user est admin strict du groupe G s'il est admin de G selon la BDD.
- Un user est admin hérité du groupe G s'il est admin strict d'un de ses ascendants.
- Viewer : un user est viewer du groupe G
- s'il est membre hérité de G.
- s'il est membre hérité d'un groupe immédiatement parent de G (one-edge-down visibility), ou
- s'il est membre hérité d'un groupe faisant partie du champ "visibilityEdge" de G
- s'il est membre d'un métagroupe dont G est membre (implicit visibility-edges). - s'il est membre d'un métagroupe dont G est membre (implicit visibility-edges).
- Dans tous les autres cas, le user a le niveau de droits "none". - Dans tous les autres cas, le user a le niveau de droits "none" ou "authenticated", selon le cas de figure.
#### Pour les méta-groupes
- Un user est membre d'un méta-groupe G s'il est membre (hérité) d'un groupe simple dans G.
- Un user est speaker d'un méta-groupe G s'il est admin strict d'un groupe simple dans G.
- Un user est admin d'un méta-groupe G s'il est admin (hérité) d'un groupe simple dans G.
- Un user est viewer d'un méta-groupe G s'il est viewer d'un groupe simple dans G.
L'autre rôle du *graphe organique des groupes* est de permettre l'administration "en cascade" des groupes enfants. L'autre rôle du *graphe organique des groupes* est de permettre l'administration "en cascade" des groupes enfants.
Si un groupe est le parent d'un autre, alors les admins du groupe parent peuvent se déclarer admins du groupe enfant. Exemples :
- BR est parent de Chocapix. L'admin de Chocapix est parti en vacances. L'admin de BR peut se déclarer admin de Chocapix et faire ce qu'il a à faire, sans attendre le retour du respo Chocapix.
- Cotisants-Kès est parent de Troll'X. Troll'X fait n'importe quoi (en floodant de Messages par ex). Les admins de Cotisants-Kès (les kessiers) peuvent se déclarer admin de Troll'X et stopper les dégâts.
Si un groupe est le parent d'un autre, alors les admins du groupe parent sont admins (hérités) du groupe enfant. Exemples :
- BR est parent de Chocapix. L'admin de Chocapix est parti en vacances. L'admin de BR peut, en tant qu'admin (hérité) de Chocapix, faire ce qu'il a à faire, sans attendre le retour du respo Chocapix.
- Cotisants-Kès est parent de Troll'X. Troll'X fait n'importe quoi (en floodant de Messages par ex). Les admins de Cotisants-Kès (les kessiers) peuvent, comme ils sont admins hérités de Troll'X, stopper les dégâts.
Remarque sur speaker : Remarque sur speaker :
Il s'agit d'un nouveau niveau de droit par rapport à Frankiz 3.0 ; il n'est pas implémenté dans le LDAP frankiz. Il s'agit d'un nouveau niveau de droit par rapport à Frankiz 3.0 ; qui est a présent implémenté sur le LDAP bloaziadur.
Par conséquent, il est probable que, au début du moins, on impose que speaker=admin, pour pouvoir continuer à utiliser ce LDAP.
Le mieux serait néanmoins de rajouter cette propriété au LDAP.
## Dans l'implémentation ## Dans l'implémentation
...@@ -68,16 +73,19 @@ Utilise dans resolvers.ts ...@@ -68,16 +73,19 @@ Utilise dans resolvers.ts
Certaines fonctions de connectors effectuent des vérifications d'authorizations avant de renvoyer une réponse, d'autres non. Pour être sur qu'on ne renvoie jamais de réponse sans avoir au préalable effectué les bonnes vérifications, chaque fonction possède dans sa description un attribut droit, qui décrit les droits que requiert cette fonction. Certaines fonctions de connectors effectuent des vérifications d'authorizations avant de renvoyer une réponse, d'autres non. Pour être sur qu'on ne renvoie jamais de réponse sans avoir au préalable effectué les bonnes vérifications, chaque fonction possède dans sa description un attribut droit, qui décrit les droits que requiert cette fonction.
La valeur de @rights peut être : La valeur de @rights peut être :
`super` - la fonction n'effectue aucune vérification, et renvoie le resultat demandé - `super` - la fonction n'effectue aucune vérification, et renvoie le resultat demandé
`admin( groupID )` - la fonction ne fait que ce qu'un admin du groupe indiqué aurait le droit de faire - `admin( groupID )` - la fonction ne fait que ce qu'un admin du groupe indiqué aurait le droit de faire
`speaker( groupUID )`, `member( groupUID )`, `viewer( groupUID )` - même chose - `speaker( groupUID )`, `member( groupUID )`, `viewer( groupUID )` - même chose
`user` - la fonction ne fait que ce que l'utiliateur a le droit de faire (vérifications via l'argument user) - `user` - la fonction ne fait que ce que l'utiliateur a le droit de faire (vérifications via l'argument user)
La procédure a suivre est la suivante : quand une fonction possède un certain niveau de droit, La procédure a suivre est la suivante : quand une fonction possède un certain niveau de droit, elle ne peut appeler une fonction possédant un niveau de droit plus large que si :
elle ne peut appeler une fonction possédant un niveau de droit plus large que si : - 1- on a au préalable vérifié que l'utilisateur possédait effectivement ces droits.
1- on a au préalable vérifié que l'utilisateur possédait effectivement ces droits.
*ou* *ou*
2- on s'est assuré que l'opération effectuée par cet appel particulier de la fonction était dans les droits de l'utilisateur - 2- on s'est assuré que l'opération effectuée par cet appel particulier de la fonction était dans les droits de l'utilisateur
D'un point de vue pratique :
- les **resolvers** doivent **vérifier** que le user possede les droits énoncés dans le tag @rights, avant de renvoyer un résultat / modifier la BDD. Ils vérifient aussi que le user possede les droits nécessaires pour appeler des fonctions dans les models.
- les fonctions dans les **models** peuvent **supposer** que les droits du tag @rights sont acquis, ie. qu'ils ont été vérifiés par la fonction appelante au préalable.
#### Quel @rights donner a quels resolvers ? #### Quel @rights donner a quels resolvers ?
...@@ -89,20 +97,20 @@ Les fonctions qui ne modifient pas la BDD et ne renvoient pas de données sur la ...@@ -89,20 +97,20 @@ Les fonctions qui ne modifient pas la BDD et ne renvoient pas de données sur la
cf `objects.graphql` cf `objects.graphql`
Les Mutations concernant les *Requests* suivent à peu près toutes le schéma suivant : Les Mutations concernant les *Requests* suivent à peu près toutes le schéma suivant :
- <typeAuteur>Request<NatureDeLaRequest>(auteur, destinataire, comment): Request - \<typeAuteur>Request\<NatureDeLaRequest>(auteur, destinataire, comment): Request
- accept<NatureDeLaRequest>Request(request: ID!, comment: String): Boolean - accept\<NatureDeLaRequest>Request(request: ID!, comment: String): Boolean
- refuse<NatureDeLaRequest>Request(request: ID!, comment: String): Boolean - refuse\<NatureDeLaRequest>Request(request: ID!, comment: String): Boolean
- le paramètre est le rid de la Request à accepter ou refuser - le paramètre est le rid de la Request à accepter ou refuser
- **seul les admins du groupe destinataire peuvent accepter ou refuser une Request** - **seul les admins du groupe destinataire peuvent accepter ou refuser une Request**
Les Mutations concernant les *Messages* suivent à peu près toutes le schéma suivant :
- create<TypeDeMessage>(auteur, destinataire, title, content, etc.): <TypeDeMessage>
- edit<TypeDeMessage>(<typeDeMessage>ToEdit: ID!): <TypeDeMessage>
- remove<TypeDeMessage>(<typeDeMessage>ToRemove: ID!): Boolean
- = l'auteur supprime le message
- **pour les Messages où l'auteur est un utilisateur, seul l'auteur a le droit de remove son Message**
- **pour les Messages où l'auteur est un groupe, n'importe quel admin du groupe (ou speaker selon le cas) a le droit de remove le Message**
- censor<TypeDeMessage>(<typeDeMessage>ToCensor: ID!): Boolean
- = le groupe destinataire supprime le message
- **n'importe quel admin du groupe a le droit de censurer un Message qui lui est adressé**
- (le destinataire est un Group pour tous les Messages)
Les Mutations concernant les *Messages* suivent à peu près toutes le schéma suivant :
- create\<TypeDeMessage>(auteur, destinataire, title, content, etc.): \<TypeDeMessage>
- edit\<TypeDeMessage>(\<typeDeMessage>ToEdit: ID!): \<TypeDeMessage>
- remove\<TypeDeMessage>(\<typeDeMessage>ToRemove: ID!): Boolean
- = l'auteur supprime le message
- **pour les Messages où l'auteur est un utilisateur, seul l'auteur a le droit de remove son Message**
- **pour les Messages où l'auteur est un groupe, n'importe quel admin du groupe (ou speaker selon le cas) a le droit de remove le Message**
- censor\<TypeDeMessage>(\<typeDeMessage>ToCensor: ID!): Boolean
- = le groupe destinataire supprime le message
- **n'importe quel admin du groupe a le droit de censurer un Message qui lui est adressé**
- (le destinataire est un Group pour tous les Messages)
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
"@apollographql/graphql-playground-html": { "@apollographql/graphql-playground-html": {
"version": "1.6.6", "version": "1.6.6",
"resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz", "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz",
"integrity": "sha1-AiIJ4oorVH3N4VshnwxQ9HqlvrM=" "integrity": "sha512-lqK94b+caNtmKFs5oUVXlSpN3sm5IXZ+KfhMxOtr0LR2SqErzkoJilitjDvJ1WbjHlxLI7WtCjRmOLdOGJqtMQ=="
}, },
"@babel/cli": { "@babel/cli": {
"version": "7.2.3", "version": "7.2.3",
...@@ -221,7 +221,7 @@ ...@@ -221,7 +221,7 @@
"@babel/helper-annotate-as-pure": { "@babel/helper-annotate-as-pure": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
"integrity": "sha1-Mj053QtQ4Qx8Bsp9djjmhk2MXDI=", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.0.0" "@babel/types": "^7.0.0"
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
"@babel/helper-builder-binary-assignment-operator-visitor": { "@babel/helper-builder-binary-assignment-operator-visitor": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
"integrity": "sha1-a2lijf5Ah3mODE7Zjj1Kay+9L18=", "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-explode-assignable-expression": "^7.1.0", "@babel/helper-explode-assignable-expression": "^7.1.0",
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
"@babel/helper-call-delegate": { "@babel/helper-call-delegate": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz",
"integrity": "sha1-apV/EF83dV6GRTQ9MDiiLhRJzEo=", "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-hoist-variables": "^7.0.0", "@babel/helper-hoist-variables": "^7.0.0",
...@@ -484,7 +484,7 @@ ...@@ -484,7 +484,7 @@
"@babel/helper-define-map": { "@babel/helper-define-map": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz",
"integrity": "sha1-O3TK7DKbPIDBFikIh8DdmuRowgw=", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-function-name": "^7.1.0", "@babel/helper-function-name": "^7.1.0",
...@@ -565,7 +565,7 @@ ...@@ -565,7 +565,7 @@
"@babel/helper-explode-assignable-expression": { "@babel/helper-explode-assignable-expression": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
"integrity": "sha1-U3+hP28WdN90WwwA7I/k6ZaByPY=", "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/traverse": "^7.1.0", "@babel/traverse": "^7.1.0",
...@@ -719,7 +719,7 @@ ...@@ -719,7 +719,7 @@
"@babel/helper-hoist-variables": { "@babel/helper-hoist-variables": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz",
"integrity": "sha1-Rq3ExedYZFrnpF3rkrqwkYwju4g=", "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.0.0" "@babel/types": "^7.0.0"
...@@ -741,7 +741,7 @@ ...@@ -741,7 +741,7 @@
"@babel/helper-member-expression-to-functions": { "@babel/helper-member-expression-to-functions": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
"integrity": "sha1-jNFLCg33/wDwCefXpDaUX0fHoW8=", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.0.0" "@babel/types": "^7.0.0"
...@@ -763,7 +763,7 @@ ...@@ -763,7 +763,7 @@
"@babel/helper-module-imports": { "@babel/helper-module-imports": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
"integrity": "sha1-lggbcRHkhtpNLNlxrRpP4hbMLj0=", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.0.0" "@babel/types": "^7.0.0"
...@@ -858,7 +858,7 @@ ...@@ -858,7 +858,7 @@
"@babel/helper-optimise-call-expression": { "@babel/helper-optimise-call-expression": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
"integrity": "sha1-opIMVwKwc8Fd5REGIAqoytIEl9U=", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.0.0" "@babel/types": "^7.0.0"
...@@ -880,13 +880,13 @@ ...@@ -880,13 +880,13 @@
"@babel/helper-plugin-utils": { "@babel/helper-plugin-utils": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
"integrity": "sha1-u7P77phmHFaQNCN8wDlnupm08lA=", "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
"dev": true "dev": true
}, },
"@babel/helper-regex": { "@babel/helper-regex": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz",
"integrity": "sha1-LBcYkjtX+bvmRwX/5WQKxk2b2yc=", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==",
"dev": true, "dev": true,
"requires": { "requires": {
"lodash": "^4.17.10" "lodash": "^4.17.10"
...@@ -895,7 +895,7 @@ ...@@ -895,7 +895,7 @@
"@babel/helper-remap-async-to-generator": { "@babel/helper-remap-async-to-generator": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
"integrity": "sha1-Nh2AghtvONp1vT8HheziCojF/n8=", "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-annotate-as-pure": "^7.0.0",
...@@ -1168,7 +1168,7 @@ ...@@ -1168,7 +1168,7 @@
"@babel/helper-simple-access": { "@babel/helper-simple-access": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
"integrity": "sha1-Ze65VMjCRb6qToWdphiPOdceWFw=", "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/template": "^7.1.0", "@babel/template": "^7.1.0",
...@@ -1237,7 +1237,7 @@ ...@@ -1237,7 +1237,7 @@
"@babel/helper-wrap-function": { "@babel/helper-wrap-function": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
"integrity": "sha1-xOABJEV2nigVtVKW6tQ6lYVJ9vo=", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-function-name": "^7.1.0", "@babel/helper-function-name": "^7.1.0",
...@@ -1525,7 +1525,7 @@ ...@@ -1525,7 +1525,7 @@
"@babel/plugin-proposal-async-generator-functions": { "@babel/plugin-proposal-async-generator-functions": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
"integrity": "sha1-somzBmadzkrSCwJSiJoVdoydQX4=", "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -1546,7 +1546,7 @@ ...@@ -1546,7 +1546,7 @@
"@babel/plugin-proposal-json-strings": { "@babel/plugin-proposal-json-strings": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
"integrity": "sha1-Vo7MRGxhSK5rJn8CVREwiR4p8xc=", "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -1566,7 +1566,7 @@ ...@@ -1566,7 +1566,7 @@
"@babel/plugin-proposal-optional-catch-binding": { "@babel/plugin-proposal-optional-catch-binding": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
"integrity": "sha1-E12B7baKCB5V5W7EhUHs6AZcOPU=", "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -1576,7 +1576,7 @@ ...@@ -1576,7 +1576,7 @@
"@babel/plugin-proposal-unicode-property-regex": { "@babel/plugin-proposal-unicode-property-regex": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz",
"integrity": "sha1-q+coH+Rsld3BQ6ZeU1hkd5IDlSA=", "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -1587,7 +1587,7 @@ ...@@ -1587,7 +1587,7 @@
"@babel/plugin-syntax-async-generators": { "@babel/plugin-syntax-async-generators": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
"integrity": "sha1-aeHw2zTG9aDPfiszI78VmnbIy38=", "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1596,7 +1596,7 @@ ...@@ -1596,7 +1596,7 @@
"@babel/plugin-syntax-json-strings": { "@babel/plugin-syntax-json-strings": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
"integrity": "sha1-cr0T9v/h0lk4Ep0qGGsR/WKVFHA=", "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1605,7 +1605,7 @@ ...@@ -1605,7 +1605,7 @@
"@babel/plugin-syntax-object-rest-spread": { "@babel/plugin-syntax-object-rest-spread": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
"integrity": "sha1-O3o+czUQxX6CC5FCpleayLDfrS4=", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1614,7 +1614,7 @@ ...@@ -1614,7 +1614,7 @@
"@babel/plugin-syntax-optional-catch-binding": { "@babel/plugin-syntax-optional-catch-binding": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
"integrity": "sha1-qUAT1u2okI3+akd+f57ahWVuz1w=", "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1632,7 +1632,7 @@ ...@@ -1632,7 +1632,7 @@
"@babel/plugin-transform-arrow-functions": { "@babel/plugin-transform-arrow-functions": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
"integrity": "sha1-mur75Nb/xlY7+Pg3IJFijwB3lVA=", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1641,7 +1641,7 @@ ...@@ -1641,7 +1641,7 @@
"@babel/plugin-transform-async-to-generator": { "@babel/plugin-transform-async-to-generator": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz",
"integrity": "sha1-aLikOGY+iFGeZbd2+JOPNEWxov8=", "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-module-imports": "^7.0.0", "@babel/helper-module-imports": "^7.0.0",
...@@ -1652,7 +1652,7 @@ ...@@ -1652,7 +1652,7 @@
"@babel/plugin-transform-block-scoped-functions": { "@babel/plugin-transform-block-scoped-functions": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
"integrity": "sha1-XTzBHo1d3XUqpkyRSNDbbLef0ZA=", "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1661,7 +1661,7 @@ ...@@ -1661,7 +1661,7 @@
"@babel/plugin-transform-block-scoping": { "@babel/plugin-transform-block-scoping": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz",
"integrity": "sha1-8XxJ2R7tvN9d1QWX0W9fL3cBMtQ=", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -1766,7 +1766,7 @@ ...@@ -1766,7 +1766,7 @@
"@babel/plugin-transform-computed-properties": { "@babel/plugin-transform-computed-properties": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
"integrity": "sha1-g6ffamWIZbHI9kHVEMbzryICFto=", "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1775,7 +1775,7 @@ ...@@ -1775,7 +1775,7 @@
"@babel/plugin-transform-destructuring": { "@babel/plugin-transform-destructuring": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz",
"integrity": "sha1-51JptLeInsOjMs0NDIz/j+0NxvM=", "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1784,7 +1784,7 @@ ...@@ -1784,7 +1784,7 @@
"@babel/plugin-transform-dotall-regex": { "@babel/plugin-transform-dotall-regex": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz",
"integrity": "sha1-8Kq7k9EgqKxh6SXqC6RAgS2+Dkk=", "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -1795,7 +1795,7 @@ ...@@ -1795,7 +1795,7 @@
"@babel/plugin-transform-duplicate-keys": { "@babel/plugin-transform-duplicate-keys": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz",
"integrity": "sha1-2VLEkw8xKk2//xjwspFOYMNVMLM=", "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1804,7 +1804,7 @@ ...@@ -1804,7 +1804,7 @@
"@babel/plugin-transform-exponentiation-operator": { "@babel/plugin-transform-exponentiation-operator": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
"integrity": "sha1-pjhoKJ5bQAf3BU1GSRr1FDV2YAg=", "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
...@@ -1814,7 +1814,7 @@ ...@@ -1814,7 +1814,7 @@
"@babel/plugin-transform-for-of": { "@babel/plugin-transform-for-of": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz",
"integrity": "sha1-q3RovvqA92S7A9PLXu+MyZjhytk=", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1823,7 +1823,7 @@ ...@@ -1823,7 +1823,7 @@
"@babel/plugin-transform-function-name": { "@babel/plugin-transform-function-name": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz",
"integrity": "sha1-95MDYoKf+ZoxdMOfCvzAJO9Zcxo=", "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-function-name": "^7.1.0", "@babel/helper-function-name": "^7.1.0",
...@@ -1903,7 +1903,7 @@ ...@@ -1903,7 +1903,7 @@
"@babel/plugin-transform-literals": { "@babel/plugin-transform-literals": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
"integrity": "sha1-aQNT6B+SZ9rU/Yz9d+r6hqulPqE=", "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1912,7 +1912,7 @@ ...@@ -1912,7 +1912,7 @@
"@babel/plugin-transform-modules-amd": { "@babel/plugin-transform-modules-amd": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz",
"integrity": "sha1-gqm85FuVRB9heiQBHcidEtp/TuY=", "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-module-transforms": "^7.1.0", "@babel/helper-module-transforms": "^7.1.0",
...@@ -1922,7 +1922,7 @@ ...@@ -1922,7 +1922,7 @@
"@babel/plugin-transform-modules-commonjs": { "@babel/plugin-transform-modules-commonjs": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz",
"integrity": "sha1-xPGTP1mR1RRenPrR39hI6hcn9AQ=", "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-module-transforms": "^7.1.0", "@babel/helper-module-transforms": "^7.1.0",
...@@ -1933,7 +1933,7 @@ ...@@ -1933,7 +1933,7 @@
"@babel/plugin-transform-modules-systemjs": { "@babel/plugin-transform-modules-systemjs": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz",
"integrity": "sha1-kSv+nl/5gpJMgdCTfJLSSZS7kGg=", "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-hoist-variables": "^7.0.0", "@babel/helper-hoist-variables": "^7.0.0",
...@@ -1943,7 +1943,7 @@ ...@@ -1943,7 +1943,7 @@
"@babel/plugin-transform-modules-umd": { "@babel/plugin-transform-modules-umd": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
"integrity": "sha1-dnjOdRafCHe46yI1U4wHQmjdAa4=", "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-module-transforms": "^7.1.0", "@babel/helper-module-transforms": "^7.1.0",
...@@ -1962,7 +1962,7 @@ ...@@ -1962,7 +1962,7 @@
"@babel/plugin-transform-new-target": { "@babel/plugin-transform-new-target": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz",
"integrity": "sha1-ro+9iVF/p4ktIOZWTmQeh3DDqko=", "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -1971,7 +1971,7 @@ ...@@ -1971,7 +1971,7 @@
"@babel/plugin-transform-object-super": { "@babel/plugin-transform-object-super": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz",
"integrity": "sha1-s11MEPVrq11lAEfa0PHY6IFLZZg=", "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -1981,7 +1981,7 @@ ...@@ -1981,7 +1981,7 @@
"@babel/plugin-transform-parameters": { "@babel/plugin-transform-parameters": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz",
"integrity": "sha1-DVrRXcgF4uqGbfTdZoK/520UCMI=", "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-call-delegate": "^7.1.0", "@babel/helper-call-delegate": "^7.1.0",
...@@ -2014,7 +2014,7 @@ ...@@ -2014,7 +2014,7 @@
"@babel/plugin-transform-regenerator": { "@babel/plugin-transform-regenerator": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz",
"integrity": "sha1-W0Foa07UC++HTX7WqEvdhJwT4ME=", "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==",
"dev": true, "dev": true,
"requires": { "requires": {
"regenerator-transform": "^0.13.3" "regenerator-transform": "^0.13.3"
...@@ -2023,7 +2023,7 @@ ...@@ -2023,7 +2023,7 @@
"@babel/plugin-transform-shorthand-properties": { "@babel/plugin-transform-shorthand-properties": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
"integrity": "sha1-YzOu4vjW7n4oYVRXKYk0o7RhmPA=", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -2041,7 +2041,7 @@ ...@@ -2041,7 +2041,7 @@
"@babel/plugin-transform-sticky-regex": { "@babel/plugin-transform-sticky-regex": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
"integrity": "sha1-oeRUtZlVYKnB4NU338FQYf0mh+E=", "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -2051,7 +2051,7 @@ ...@@ -2051,7 +2051,7 @@
"@babel/plugin-transform-template-literals": { "@babel/plugin-transform-template-literals": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz",
"integrity": "sha1-2H7QG46qx6kkc/YIyXwIneK6Hls=", "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-annotate-as-pure": "^7.0.0",
...@@ -2061,7 +2061,7 @@ ...@@ -2061,7 +2061,7 @@
"@babel/plugin-transform-typeof-symbol": { "@babel/plugin-transform-typeof-symbol": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
"integrity": "sha1-EX0rzsL79ktLWdH5gZiUaC0p8rI=", "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
...@@ -2080,7 +2080,7 @@ ...@@ -2080,7 +2080,7 @@
"@babel/plugin-transform-unicode-regex": { "@babel/plugin-transform-unicode-regex": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz",
"integrity": "sha1-TrjbFvly+Ku1BiwWG4sRVUat4Is=", "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -2163,7 +2163,7 @@ ...@@ -2163,7 +2163,7 @@
"@babel/preset-typescript": { "@babel/preset-typescript": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.1.0.tgz",
"integrity": "sha1-Sa1uIIT/C/tfH3+ztedsQ01ELH8=", "integrity": "sha512-LYveByuF9AOM8WrsNne5+N79k1YxjNB6gmpCQsnuSBAcV8QUeB+ZUxQzL7Rz7HksPbahymKkq2qBR+o36ggFZA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
...@@ -2309,12 +2309,12 @@ ...@@ -2309,12 +2309,12 @@
"@protobufjs/base64": { "@protobufjs/base64": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha1-TIVzDlm5ofHzSQR9vyQpYDS7JzU=" "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
}, },
"@protobufjs/codegen": { "@protobufjs/codegen": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha1-fvN/DQEPsCitGtWXIuUG2SYoFcs=" "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
}, },
"@protobufjs/eventemitter": { "@protobufjs/eventemitter": {
"version": "1.1.0", "version": "1.1.0",
...@@ -2358,7 +2358,7 @@ ...@@ -2358,7 +2358,7 @@
"@types/accepts": { "@types/accepts": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
"integrity": "sha1-w0vsEVz8dG4E/loFnfTOfns5FXU=", "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==",
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
} }
...@@ -2394,7 +2394,7 @@ ...@@ -2394,7 +2394,7 @@
"@types/connect": { "@types/connect": {
"version": "3.4.32", "version": "3.4.32",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
"integrity": "sha1-qg6WFrlDXMrQK8UrW0VP/Cxwuig=", "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
} }
...@@ -2420,7 +2420,7 @@ ...@@ -2420,7 +2420,7 @@
"@types/cors": { "@types/cors": {
"version": "2.8.4", "version": "2.8.4",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.4.tgz", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.4.tgz",
"integrity": "sha1-UJkadZopwLiUknUQCMavenyCZ7A=", "integrity": "sha512-ipZjBVsm2tF/n8qFGOuGBkUij9X9ZswVi9G3bx/6dz7POpVa6gVHcj1wsX/LVEn9MMF41fxK/PnZPPoTD1UFPw==",
"requires": { "requires": {
"@types/express": "*" "@types/express": "*"
} }
...@@ -2428,7 +2428,7 @@ ...@@ -2428,7 +2428,7 @@
"@types/events": { "@types/events": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
"integrity": "sha1-gaZzHOTfQ2GeXIyUU4Oz5iqJ6oY=" "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA=="
}, },
"@types/express": { "@types/express": {
"version": "4.11.1", "version": "4.11.1",
...@@ -2486,12 +2486,12 @@ ...@@ -2486,12 +2486,12 @@
"@types/long": { "@types/long": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz",
"integrity": "sha1-cZVR0jUtMBrIuB23Mqy2vcKNve8=" "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q=="
}, },
"@types/mime": { "@types/mime": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz",
"integrity": "sha1-WnMG42fFObn2VDSZ3o3VGfrDeos=" "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA=="
}, },
"@types/node": { "@types/node": {
"version": "10.12.18", "version": "10.12.18",
...@@ -2541,7 +2541,7 @@ ...@@ -2541,7 +2541,7 @@
"@types/ws": { "@types/ws": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz",
"integrity": "sha1-yno/N1aqEvYqCmIUXtFMbbJdWig=", "integrity": "sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==",
"requires": { "requires": {
"@types/events": "*", "@types/events": "*",
"@types/node": "*" "@types/node": "*"
...@@ -2573,7 +2573,7 @@ ...@@ -2573,7 +2573,7 @@
"@webassemblyjs/helper-buffer": { "@webassemblyjs/helper-buffer": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz",
"integrity": "sha1-MSLUjcxslFbtmC3r4WyPNxAd85s=", "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-code-frame": { "@webassemblyjs/helper-code-frame": {
...@@ -2606,7 +2606,7 @@ ...@@ -2606,7 +2606,7 @@
"@webassemblyjs/helper-wasm-section": { "@webassemblyjs/helper-wasm-section": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz",
"integrity": "sha1-nJrEHs+fvP/8lvbSZ14t4zgR5oo=", "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.7.11", "@webassemblyjs/ast": "1.7.11",
...@@ -2618,7 +2618,7 @@ ...@@ -2618,7 +2618,7 @@
"@webassemblyjs/ieee754": { "@webassemblyjs/ieee754": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz",
"integrity": "sha1-yVg562N1ejGICq7HtlEtQZGsZAs=", "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@xtuc/ieee754": "^1.2.0" "@xtuc/ieee754": "^1.2.0"
...@@ -2627,7 +2627,7 @@ ...@@ -2627,7 +2627,7 @@
"@webassemblyjs/leb128": { "@webassemblyjs/leb128": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz",
"integrity": "sha1-1yZ6HunEWU/T9+NymIGOxlaH22M=", "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@xtuc/long": "4.2.1" "@xtuc/long": "4.2.1"
...@@ -2636,13 +2636,13 @@ ...@@ -2636,13 +2636,13 @@
"@webassemblyjs/utf8": { "@webassemblyjs/utf8": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz",
"integrity": "sha1-Btchjqn9yUpnk6qSIIFg2z0m7oI=", "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==",
"dev": true "dev": true
}, },
"@webassemblyjs/wasm-edit": { "@webassemblyjs/wasm-edit": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz",
"integrity": "sha1-jHTKR01PlR0B266b1wgU7iKoIAU=", "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.7.11", "@webassemblyjs/ast": "1.7.11",
...@@ -2658,7 +2658,7 @@ ...@@ -2658,7 +2658,7 @@
"@webassemblyjs/wasm-gen": { "@webassemblyjs/wasm-gen": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz",
"integrity": "sha1-m7upQvIjdWhqb7dZr816ycRdoag=", "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.7.11", "@webassemblyjs/ast": "1.7.11",
...@@ -2671,7 +2671,7 @@ ...@@ -2671,7 +2671,7 @@
"@webassemblyjs/wasm-opt": { "@webassemblyjs/wasm-opt": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz",
"integrity": "sha1-szHo5874+OLwB9QsOjagWAp9bKc=", "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.7.11", "@webassemblyjs/ast": "1.7.11",
...@@ -2683,7 +2683,7 @@ ...@@ -2683,7 +2683,7 @@
"@webassemblyjs/wasm-parser": { "@webassemblyjs/wasm-parser": {
"version": "1.7.11", "version": "1.7.11",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz",
"integrity": "sha1-bj0g+mo1GfawhO+Tka1YIR77Cho=", "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.7.11", "@webassemblyjs/ast": "1.7.11",
...@@ -2722,7 +2722,7 @@ ...@@ -2722,7 +2722,7 @@
"@xtuc/ieee754": { "@xtuc/ieee754": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
"integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
"dev": true "dev": true
}, },
"@xtuc/long": { "@xtuc/long": {
...@@ -2734,7 +2734,7 @@ ...@@ -2734,7 +2734,7 @@
"abbrev": { "abbrev": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true "dev": true
}, },
"accepts": { "accepts": {
...@@ -2792,7 +2792,7 @@ ...@@ -2792,7 +2792,7 @@
"ajv-errors": { "ajv-errors": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
"integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
"dev": true "dev": true
}, },
"ajv-keywords": { "ajv-keywords": {
...@@ -2861,7 +2861,7 @@ ...@@ -2861,7 +2861,7 @@
"anymatch": { "anymatch": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
"integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
"dev": true, "dev": true,
"requires": { "requires": {
"micromatch": "^3.1.4", "micromatch": "^3.1.4",
...@@ -3181,7 +3181,7 @@ ...@@ -3181,7 +3181,7 @@
"apollo-server-env": { "apollo-server-env": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.2.0.tgz", "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.2.0.tgz",
"integrity": "sha1-Xuxdv0ZYH2Y/1mkrLgXH6K5tYDQ=", "integrity": "sha512-wjJiI5nQWPBpNmpiLP389Ezpstp71szS6DHAeTgYLb/ulCw3CTuuA+0/E1bsThVWiQaDeHZE0sE3yI8q2zrYiA==",
"requires": { "requires": {
"node-fetch": "^2.1.2", "node-fetch": "^2.1.2",
"util.promisify": "^1.0.0" "util.promisify": "^1.0.0"
...@@ -3190,7 +3190,7 @@ ...@@ -3190,7 +3190,7 @@
"apollo-server-errors": { "apollo-server-errors": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.2.0.tgz", "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.2.0.tgz",
"integrity": "sha1-W0UqHW/3ZEDrDxJ1EdxYAxqPPLU=" "integrity": "sha512-gV9EZG2tovFtT1cLuCTavnJu2DaKxnXPRNGSTo+SDI6IAk6cdzyW0Gje5N2+3LybI0Wq5KAbW6VLei31S4MWmg=="
}, },
"apollo-server-express": { "apollo-server-express": {
"version": "2.3.2", "version": "2.3.2",
...@@ -3286,7 +3286,7 @@ ...@@ -3286,7 +3286,7 @@
"aproba": { "aproba": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=" "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
}, },
"argparse": { "argparse": {
"version": "1.0.10", "version": "1.0.10",
...@@ -3382,7 +3382,7 @@ ...@@ -3382,7 +3382,7 @@
"asn1.js": { "asn1.js": {
"version": "4.10.1", "version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
"integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
"dev": true, "dev": true,
"requires": { "requires": {
"bn.js": "^4.0.0", "bn.js": "^4.0.0",
...@@ -3424,7 +3424,7 @@ ...@@ -3424,7 +3424,7 @@
"assertion-error": { "assertion-error": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
"integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
"dev": true "dev": true
}, },
"assign-symbols": { "assign-symbols": {
...@@ -3452,12 +3452,12 @@ ...@@ -3452,12 +3452,12 @@
"async-limiter": { "async-limiter": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
}, },
"async-retry": { "async-retry": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.2.3.tgz", "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.2.3.tgz",
"integrity": "sha1-plIfM4NY0yKxoAEreQMMb0EdHOA=", "integrity": "sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==",
"requires": { "requires": {
"retry": "0.12.0" "retry": "0.12.0"
} }
...@@ -3637,7 +3637,7 @@ ...@@ -3637,7 +3637,7 @@
"base64-js": { "base64-js": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
"integrity": "sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM=", "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
"dev": true "dev": true
}, },
"basic-auth": { "basic-auth": {
...@@ -3668,7 +3668,7 @@ ...@@ -3668,7 +3668,7 @@
"binary-extensions": { "binary-extensions": {
"version": "1.12.0", "version": "1.12.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
"integrity": "sha1-wteA9T1Fu6gxeokC1M7q86Y4WxQ=", "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
"dev": true "dev": true
}, },
"bluebird": { "bluebird": {
...@@ -3679,7 +3679,7 @@ ...@@ -3679,7 +3679,7 @@
"bn.js": { "bn.js": {
"version": "4.11.8", "version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
"integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
"dev": true "dev": true
}, },
"body-parser": { "body-parser": {
...@@ -3752,7 +3752,7 @@ ...@@ -3752,7 +3752,7 @@
"boxen": { "boxen": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
"integrity": "sha1-VcbDmouljZxhrSLNh3Uy3rZlogs=", "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
"dev": true, "dev": true,
"requires": { "requires": {
"ansi-align": "^2.0.0", "ansi-align": "^2.0.0",
...@@ -3814,13 +3814,13 @@ ...@@ -3814,13 +3814,13 @@
"browser-stdout": { "browser-stdout": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
"integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
"dev": true "dev": true
}, },
"browserify-aes": { "browserify-aes": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"dev": true, "dev": true,
"requires": { "requires": {
"buffer-xor": "^1.0.3", "buffer-xor": "^1.0.3",
...@@ -3834,7 +3834,7 @@ ...@@ -3834,7 +3834,7 @@
"browserify-cipher": { "browserify-cipher": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
"integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserify-aes": "^1.0.4", "browserify-aes": "^1.0.4",
...@@ -3845,7 +3845,7 @@ ...@@ -3845,7 +3845,7 @@
"browserify-des": { "browserify-des": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
"integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
"dev": true, "dev": true,
"requires": { "requires": {
"cipher-base": "^1.0.1", "cipher-base": "^1.0.1",
...@@ -3890,7 +3890,7 @@ ...@@ -3890,7 +3890,7 @@
"browserify-zlib": { "browserify-zlib": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
"dev": true, "dev": true,
"requires": { "requires": {
"pako": "~1.0.5" "pako": "~1.0.5"
...@@ -3932,7 +3932,7 @@ ...@@ -3932,7 +3932,7 @@
"buffer-writer": { "buffer-writer": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz",
"integrity": "sha1-zn64Gjj3gp2wnIc/L7t5LAyY7AQ=" "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw=="
}, },
"buffer-xor": { "buffer-xor": {
"version": "1.0.3", "version": "1.0.3",
...@@ -4054,7 +4054,7 @@ ...@@ -4054,7 +4054,7 @@
"capture-stack-trace": { "capture-stack-trace": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
"integrity": "sha1-psC74fOPOqC5Ijjstv9Cw0TUE10=", "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
"dev": true "dev": true
}, },
"catharsis": { "catharsis": {
...@@ -4078,7 +4078,7 @@ ...@@ -4078,7 +4078,7 @@
"chai": { "chai": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
"integrity": "sha1-dgqnLPION5XoSxKHfODoNzeqKeU=", "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
"dev": true, "dev": true,
"requires": { "requires": {
"assertion-error": "^1.1.0", "assertion-error": "^1.1.0",
...@@ -4153,7 +4153,7 @@ ...@@ -4153,7 +4153,7 @@
"chokidar": { "chokidar": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
"integrity": "sha1-NW/04rDo5D4yLRijckYLvPOszSY=", "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"anymatch": "^2.0.0", "anymatch": "^2.0.0",
...@@ -4179,7 +4179,7 @@ ...@@ -4179,7 +4179,7 @@
"chrome-trace-event": { "chrome-trace-event": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
"integrity": "sha1-Rakb0sIMlBHwljtarrmhuV4JzEg=", "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
"dev": true, "dev": true,
"requires": { "requires": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
...@@ -4188,13 +4188,13 @@ ...@@ -4188,13 +4188,13 @@
"ci-info": { "ci-info": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
"integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=", "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
"dev": true "dev": true
}, },
"cipher-base": { "cipher-base": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -4346,7 +4346,7 @@ ...@@ -4346,7 +4346,7 @@
"colors": { "colors": {
"version": "1.3.3", "version": "1.3.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
"integrity": "sha1-OeAF1Uav4B4B+cTKj6UPaGoBIF0=" "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg=="
}, },
"command-line-args": { "command-line-args": {
"version": "5.0.2", "version": "5.0.2",
...@@ -4466,7 +4466,7 @@ ...@@ -4466,7 +4466,7 @@
"configstore": { "configstore": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
"integrity": "sha1-xvJd767vJt8S3TNBSwAf6BpUP48=", "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
"dev": true, "dev": true,
"requires": { "requires": {
"dot-prop": "^4.1.0", "dot-prop": "^4.1.0",
...@@ -4577,7 +4577,7 @@ ...@@ -4577,7 +4577,7 @@
"copy-concurrently": { "copy-concurrently": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
"integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
"requires": { "requires": {
"aproba": "^1.1.1", "aproba": "^1.1.1",
"fs-write-stream-atomic": "^1.0.8", "fs-write-stream-atomic": "^1.0.8",
...@@ -4595,7 +4595,7 @@ ...@@ -4595,7 +4595,7 @@
"copy-webpack-plugin": { "copy-webpack-plugin": {
"version": "4.6.0", "version": "4.6.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz",
"integrity": "sha1-5/QN2KaEd9QF3Rt6hUquMksVi64=", "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==",
"requires": { "requires": {
"cacache": "^10.0.4", "cacache": "^10.0.4",
"find-cache-dir": "^1.0.0", "find-cache-dir": "^1.0.0",
...@@ -4620,7 +4620,7 @@ ...@@ -4620,7 +4620,7 @@
"cors": { "cors": {
"version": "2.8.5", "version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"requires": { "requires": {
"object-assign": "^4", "object-assign": "^4",
"vary": "^1" "vary": "^1"
...@@ -4634,7 +4634,7 @@ ...@@ -4634,7 +4634,7 @@
"create-ecdh": { "create-ecdh": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
"integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
"dev": true, "dev": true,
"requires": { "requires": {
"bn.js": "^4.1.0", "bn.js": "^4.1.0",
...@@ -4652,8 +4652,8 @@ ...@@ -4652,8 +4652,8 @@
}, },
"create-hash": { "create-hash": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"dev": true, "dev": true,
"requires": { "requires": {
"cipher-base": "^1.0.1", "cipher-base": "^1.0.1",
...@@ -4665,8 +4665,8 @@ ...@@ -4665,8 +4665,8 @@
}, },
"create-hmac": { "create-hmac": {
"version": "1.1.7", "version": "1.1.7",
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"dev": true, "dev": true,
"requires": { "requires": {
"cipher-base": "^1.0.3", "cipher-base": "^1.0.3",
...@@ -4709,7 +4709,7 @@ ...@@ -4709,7 +4709,7 @@
"crypto-browserify": { "crypto-browserify": {
"version": "3.12.0", "version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
"integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserify-cipher": "^1.0.0", "browserify-cipher": "^1.0.0",
...@@ -4790,7 +4790,7 @@ ...@@ -4790,7 +4790,7 @@
"deep-eql": { "deep-eql": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
"integrity": "sha1-38lARACtHI/gI+faHfHBR8S0RN8=", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
"dev": true, "dev": true,
"requires": { "requires": {
"type-detect": "^4.0.0" "type-detect": "^4.0.0"
...@@ -4816,7 +4816,7 @@ ...@@ -4816,7 +4816,7 @@
"define-properties": { "define-properties": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"requires": { "requires": {
"object-keys": "^1.0.12" "object-keys": "^1.0.12"
} }
...@@ -4904,13 +4904,13 @@ ...@@ -4904,13 +4904,13 @@
"diff": { "diff": {
"version": "3.5.0", "version": "3.5.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
"integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true "dev": true
}, },
"diffie-hellman": { "diffie-hellman": {
"version": "5.0.3", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"dev": true, "dev": true,
"requires": { "requires": {
"bn.js": "^4.1.0", "bn.js": "^4.1.0",
...@@ -4921,7 +4921,7 @@ ...@@ -4921,7 +4921,7 @@
"dir-glob": { "dir-glob": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
"integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
"requires": { "requires": {
"arrify": "^1.0.1", "arrify": "^1.0.1",
"path-type": "^3.0.0" "path-type": "^3.0.0"
...@@ -4969,7 +4969,7 @@ ...@@ -4969,7 +4969,7 @@
"domain-browser": { "domain-browser": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
"integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
"dev": true "dev": true
}, },
"dot-case": { "dot-case": {
...@@ -4984,7 +4984,7 @@ ...@@ -4984,7 +4984,7 @@
"dot-prop": { "dot-prop": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
"integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=", "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"is-obj": "^1.0.0" "is-obj": "^1.0.0"
...@@ -5043,7 +5043,7 @@ ...@@ -5043,7 +5043,7 @@
"elliptic": { "elliptic": {
"version": "6.4.1", "version": "6.4.1",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
"integrity": "sha1-wtC3d2kRuGcixjLDwGxg8vgZk5o=", "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"bn.js": "^4.4.0", "bn.js": "^4.4.0",
...@@ -5076,7 +5076,7 @@ ...@@ -5076,7 +5076,7 @@
"end-of-stream": { "end-of-stream": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
"integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
"requires": { "requires": {
"once": "^1.4.0" "once": "^1.4.0"
} }
...@@ -5141,7 +5141,7 @@ ...@@ -5141,7 +5141,7 @@
"es-to-primitive": { "es-to-primitive": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
"integrity": "sha1-7fckeAM0VujdqO8J4ArZZQcH83c=", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
"requires": { "requires": {
"is-callable": "^1.1.4", "is-callable": "^1.1.4",
"is-date-object": "^1.0.1", "is-date-object": "^1.0.1",
...@@ -5549,7 +5549,7 @@ ...@@ -5549,7 +5549,7 @@
"esrecurse": { "esrecurse": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
"integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"estraverse": "^4.1.0" "estraverse": "^4.1.0"
...@@ -5574,7 +5574,7 @@ ...@@ -5574,7 +5574,7 @@
"eventemitter3": { "eventemitter3": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
"integrity": "sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM=" "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA=="
}, },
"events": { "events": {
"version": "3.0.0", "version": "3.0.0",
...@@ -5585,7 +5585,7 @@ ...@@ -5585,7 +5585,7 @@
"evp_bytestokey": { "evp_bytestokey": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
"integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"dev": true, "dev": true,
"requires": { "requires": {
"md5.js": "^1.3.4", "md5.js": "^1.3.4",
...@@ -5695,7 +5695,7 @@ ...@@ -5695,7 +5695,7 @@
"debug": { "debug": {
"version": "2.6.9", "version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": { "requires": {
"ms": "2.0.0" "ms": "2.0.0"
} }
...@@ -5899,7 +5899,7 @@ ...@@ -5899,7 +5899,7 @@
"figgy-pudding": { "figgy-pudding": {
"version": "3.5.1", "version": "3.5.1",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
"integrity": "sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A=", "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
"dev": true "dev": true
}, },
"figures": { "figures": {
...@@ -5980,7 +5980,7 @@ ...@@ -5980,7 +5980,7 @@
"finalhandler": { "finalhandler": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
"integrity": "sha1-7r9O2EAHnIP0JJA4ydcDAIMBsQU=", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
"requires": { "requires": {
"debug": "2.6.9", "debug": "2.6.9",
"encodeurl": "~1.0.2", "encodeurl": "~1.0.2",
...@@ -6082,7 +6082,7 @@ ...@@ -6082,7 +6082,7 @@
"flush-write-stream": { "flush-write-stream": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
"integrity": "sha1-xdWG7zivYJdlC0m8QbVfq7GfNb0=", "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
"requires": { "requires": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
"readable-stream": "^2.0.4" "readable-stream": "^2.0.4"
...@@ -6215,14 +6215,12 @@ ...@@ -6215,14 +6215,12 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
...@@ -6242,8 +6240,7 @@ ...@@ -6242,8 +6240,7 @@
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
...@@ -6391,7 +6388,6 @@ ...@@ -6391,7 +6388,6 @@
"version": "3.0.4", "version": "3.0.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
...@@ -6399,8 +6395,7 @@ ...@@ -6399,8 +6395,7 @@
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"minipass": { "minipass": {
"version": "2.3.5", "version": "2.3.5",
...@@ -6504,8 +6499,7 @@ ...@@ -6504,8 +6499,7 @@
"number-is-nan": { "number-is-nan": {
"version": "1.0.1", "version": "1.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
...@@ -6723,7 +6717,7 @@ ...@@ -6723,7 +6717,7 @@
"fuse.js": { "fuse.js": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.3.0.tgz", "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.3.0.tgz",
"integrity": "sha1-Hk/hcqYGhyMPtUpcskfrluLn6IU=" "integrity": "sha512-ESBRkGLWMuVkapqYCcNO1uqMg5qbCKkgb+VS6wsy17Rix0/cMS9kSOZoYkjH8Ko//pgJ/EEGu0GTjk2mjX2LGQ=="
}, },
"get-caller-file": { "get-caller-file": {
"version": "1.0.3", "version": "1.0.3",
...@@ -6905,7 +6899,7 @@ ...@@ -6905,7 +6899,7 @@
"graphql-request": { "graphql-request": {
"version": "1.8.2", "version": "1.8.2",
"resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz",
"integrity": "sha1-OY0QrhXFhWdnQb3j/AHVypSPj74=", "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==",
"dev": true, "dev": true,
"requires": { "requires": {
"cross-fetch": "2.2.2" "cross-fetch": "2.2.2"
...@@ -6914,7 +6908,7 @@ ...@@ -6914,7 +6908,7 @@
"graphql-subscriptions": { "graphql-subscriptions": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.0.0.tgz", "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.0.0.tgz",
"integrity": "sha1-R1JnaUs71GWvZHfbq0Jjo/YnArg=", "integrity": "sha512-+ytmryoHF1LVf58NKEaNPRUzYyXplm120ntxfPcgOBC7TnK7Tv/4VRHeh4FAR9iL+O1bqhZs4nkibxQ+OA5cDQ==",
"requires": { "requires": {
"iterall": "^1.2.1" "iterall": "^1.2.1"
} }
...@@ -6988,7 +6982,7 @@ ...@@ -6988,7 +6982,7 @@
"growl": { "growl": {
"version": "1.10.5", "version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
"integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
"dev": true "dev": true
}, },
"handlebars": { "handlebars": {
...@@ -7100,7 +7094,7 @@ ...@@ -7100,7 +7094,7 @@
"hash.js": { "hash.js": {
"version": "1.1.7", "version": "1.1.7",
"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
"integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
"dev": true, "dev": true,
"requires": { "requires": {
"inherits": "^2.0.3", "inherits": "^2.0.3",
...@@ -7183,7 +7177,7 @@ ...@@ -7183,7 +7177,7 @@
"ieee754": { "ieee754": {
"version": "1.1.12", "version": "1.1.12",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
"integrity": "sha1-UL8k5bnIu5ivSWTJQc2wkY2ntgs=", "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
"dev": true "dev": true
}, },
"iferr": { "iferr": {
...@@ -7454,12 +7448,12 @@ ...@@ -7454,12 +7448,12 @@
"is-callable": { "is-callable": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
"integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=" "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
}, },
"is-ci": { "is-ci": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
"integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
"dev": true, "dev": true,
"requires": { "requires": {
"ci-info": "^1.5.0" "ci-info": "^1.5.0"
...@@ -7683,7 +7677,7 @@ ...@@ -7683,7 +7677,7 @@
"is-symbol": { "is-symbol": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
"integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
"requires": { "requires": {
"has-symbols": "^1.0.0" "has-symbols": "^1.0.0"
} }
...@@ -7833,7 +7827,7 @@ ...@@ -7833,7 +7827,7 @@
"jsdoc-babel": { "jsdoc-babel": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsdoc-babel/-/jsdoc-babel-0.5.0.tgz", "resolved": "https://registry.npmjs.org/jsdoc-babel/-/jsdoc-babel-0.5.0.tgz",
"integrity": "sha1-che4ggRp/mANzP3uiVZIxqDdSi4=", "integrity": "sha512-PYfTbc3LNTeR8TpZs2M94NLDWqARq0r9gx3SvuziJfmJS7/AeMKvtj0xjzOX0R/4MOVA7/FqQQK7d6U0iEoztQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"jsdoc-regex": "^1.0.1", "jsdoc-regex": "^1.0.1",
...@@ -7884,7 +7878,7 @@ ...@@ -7884,7 +7878,7 @@
"json-parse-better-errors": { "json-parse-better-errors": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true "dev": true
}, },
"json-schema-traverse": { "json-schema-traverse": {
...@@ -7906,7 +7900,7 @@ ...@@ -7906,7 +7900,7 @@
"jsonwebtoken": { "jsonwebtoken": {
"version": "8.4.0", "version": "8.4.0",
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.4.0.tgz", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.4.0.tgz",
"integrity": "sha1-h1f3tMt0QNhtXi877O+nBTbI5Go=", "integrity": "sha512-coyXjRTCy0pw5WYBpMvWOMN+Kjaik2MwTUIq9cna/W7NpO9E+iYbumZONAz3hcr+tXFJECoQVrtmIoC3Oz0gvg==",
"requires": { "requires": {
"jws": "^3.1.5", "jws": "^3.1.5",
"lodash.includes": "^4.3.0", "lodash.includes": "^4.3.0",
...@@ -8083,7 +8077,7 @@ ...@@ -8083,7 +8077,7 @@
"jwa": { "jwa": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz",
"integrity": "sha1-hyQOdsmAjb3hh4PPImTvSSnuUOY=", "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==",
"requires": { "requires": {
"buffer-equal-constant-time": "1.0.1", "buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.10", "ecdsa-sig-formatter": "1.0.10",
...@@ -8093,7 +8087,7 @@ ...@@ -8093,7 +8087,7 @@
"jws": { "jws": {
"version": "3.1.5", "version": "3.1.5",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz",
"integrity": "sha1-gNEtBbKT0ehB58uLTmnlYa3Pg08=", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==",
"requires": { "requires": {
"jwa": "^1.1.5", "jwa": "^1.1.5",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
...@@ -8232,7 +8226,7 @@ ...@@ -8232,7 +8226,7 @@
"ldapauth-fork": { "ldapauth-fork": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/ldapauth-fork/-/ldapauth-fork-4.1.0.tgz", "resolved": "https://registry.npmjs.org/ldapauth-fork/-/ldapauth-fork-4.1.0.tgz",
"integrity": "sha1-WdpiYC417bOuPYoU7LE+ipOJk9I=", "integrity": "sha512-OFz3aJDqYGpgo96gVBKhaIFIO/mc9OFpn9IdINHo22eUmF0leU836HgksIQQ3Ga0Mz48xwEhSZ/rJlWOzaUXJQ==",
"requires": { "requires": {
"@types/ldapjs": "^1.0.0", "@types/ldapjs": "^1.0.0",
"@types/node": "^10.12.12", "@types/node": "^10.12.12",
...@@ -8489,7 +8483,7 @@ ...@@ -8489,7 +8483,7 @@
"long": { "long": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
"integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=" "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
}, },
"longest": { "longest": {
"version": "1.0.1", "version": "1.0.1",
...@@ -8522,7 +8516,7 @@ ...@@ -8522,7 +8516,7 @@
"lowercase-keys": { "lowercase-keys": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
"integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=", "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
"dev": true "dev": true
}, },
"lru-cache": { "lru-cache": {
...@@ -8537,7 +8531,7 @@ ...@@ -8537,7 +8531,7 @@
"make-dir": { "make-dir": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"requires": { "requires": {
"pify": "^3.0.0" "pify": "^3.0.0"
} }
...@@ -8581,7 +8575,7 @@ ...@@ -8581,7 +8575,7 @@
"md5.js": { "md5.js": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
"integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"dev": true, "dev": true,
"requires": { "requires": {
"hash-base": "^3.0.0", "hash-base": "^3.0.0",
...@@ -8592,7 +8586,7 @@ ...@@ -8592,7 +8586,7 @@
"safe-buffer": { "safe-buffer": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true "dev": true
} }
} }
...@@ -8659,7 +8653,7 @@ ...@@ -8659,7 +8653,7 @@
"miller-rabin": { "miller-rabin": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
"integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
"dev": true, "dev": true,
"requires": { "requires": {
"bn.js": "^4.0.0", "bn.js": "^4.0.0",
...@@ -8693,7 +8687,7 @@ ...@@ -8693,7 +8687,7 @@
"minimalistic-assert": { "minimalistic-assert": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
"integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
"dev": true "dev": true
}, },
"minimalistic-crypto-utils": { "minimalistic-crypto-utils": {
...@@ -8718,7 +8712,7 @@ ...@@ -8718,7 +8712,7 @@
"mississippi": { "mississippi": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
"integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
"requires": { "requires": {
"concat-stream": "^1.5.0", "concat-stream": "^1.5.0",
"duplexify": "^3.4.2", "duplexify": "^3.4.2",
...@@ -8768,7 +8762,7 @@ ...@@ -8768,7 +8762,7 @@
"mocha": { "mocha": {
"version": "5.2.0", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
"integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"browser-stdout": "1.3.1", "browser-stdout": "1.3.1",
...@@ -9114,7 +9108,7 @@ ...@@ -9114,7 +9108,7 @@
"object-keys": { "object-keys": {
"version": "1.0.12", "version": "1.0.12",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
"integrity": "sha1-CcU4VTd1dTEMymL1W7M0q/97PtI=" "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag=="
}, },
"object-path": { "object-path": {
"version": "0.11.4", "version": "0.11.4",
...@@ -9265,7 +9259,7 @@ ...@@ -9265,7 +9259,7 @@
"output-file-sync": { "output-file-sync": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz",
"integrity": "sha1-9TEYKC9fVTwnmVQXkrcjpMcUMMA=", "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"graceful-fs": "^4.1.11", "graceful-fs": "^4.1.11",
...@@ -9445,7 +9439,7 @@ ...@@ -9445,7 +9439,7 @@
"passport-ldapauth": { "passport-ldapauth": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.1.1.tgz", "resolved": "https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.1.1.tgz",
"integrity": "sha1-S0R4zSg8gt6JYGmj5CfvjPopX+E=", "integrity": "sha512-DiK9nwZthdCeZE+TRx2AzRk9mg8OeAz4+tZdXC8EPVAVmeW7YSWyK4XCJ8/B7ySWpEZtrN1OcrKtWjpLXFy0/A==",
"requires": { "requires": {
"@types/node": "^10.12.12", "@types/node": "^10.12.12",
"@types/passport": "^0.4.7", "@types/passport": "^0.4.7",
...@@ -9546,7 +9540,7 @@ ...@@ -9546,7 +9540,7 @@
"path-type": { "path-type": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"requires": { "requires": {
"pify": "^3.0.0" "pify": "^3.0.0"
} }
...@@ -9565,7 +9559,7 @@ ...@@ -9565,7 +9559,7 @@
"pbkdf2": { "pbkdf2": {
"version": "3.0.17", "version": "3.0.17",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
"integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=", "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
"dev": true, "dev": true,
"requires": { "requires": {
"create-hash": "^1.1.2", "create-hash": "^1.1.2",
...@@ -9698,7 +9692,7 @@ ...@@ -9698,7 +9692,7 @@
"postgres-interval": { "postgres-interval": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.1.2.tgz", "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.1.2.tgz",
"integrity": "sha1-v3H/kCY18hyyQaAT/EIdgdHbFak=", "integrity": "sha512-fC3xNHeTskCxL1dC8KOtxXt7YeFmlbTYtn7ul8MkVERuTmf7pI4DrkAxcw3kh1fQ9uz4wQmd03a1mRiXUZChfQ==",
"requires": { "requires": {
"xtend": "^4.0.0" "xtend": "^4.0.0"
} }
...@@ -9734,7 +9728,7 @@ ...@@ -9734,7 +9728,7 @@
"process-nextick-args": { "process-nextick-args": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=" "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
}, },
"progress": { "progress": {
"version": "2.0.3", "version": "2.0.3",
...@@ -9767,7 +9761,7 @@ ...@@ -9767,7 +9761,7 @@
"protobufjs": { "protobufjs": {
"version": "6.8.8", "version": "6.8.8",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz",
"integrity": "sha1-yLTxKC/XqQ5vWxCe0RyEr4KQjnw=", "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==",
"requires": { "requires": {
"@protobufjs/aspromise": "^1.1.2", "@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2", "@protobufjs/base64": "^1.1.2",
...@@ -9813,7 +9807,7 @@ ...@@ -9813,7 +9807,7 @@
"public-encrypt": { "public-encrypt": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
"integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"bn.js": "^4.1.0", "bn.js": "^4.1.0",
...@@ -9949,7 +9943,7 @@ ...@@ -9949,7 +9943,7 @@
"pump": { "pump": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
"integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
"requires": { "requires": {
"end-of-stream": "^1.1.0", "end-of-stream": "^1.1.0",
"once": "^1.3.1" "once": "^1.3.1"
...@@ -9958,7 +9952,7 @@ ...@@ -9958,7 +9952,7 @@
"pumpify": { "pumpify": {
"version": "1.5.1", "version": "1.5.1",
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
"integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
"requires": { "requires": {
"duplexify": "^3.6.0", "duplexify": "^3.6.0",
"inherits": "^2.0.3", "inherits": "^2.0.3",
...@@ -9996,7 +9990,7 @@ ...@@ -9996,7 +9990,7 @@
"randombytes": { "randombytes": {
"version": "2.0.6", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
"integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=", "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
"dev": true, "dev": true,
"requires": { "requires": {
"safe-buffer": "^5.1.0" "safe-buffer": "^5.1.0"
...@@ -10005,7 +9999,7 @@ ...@@ -10005,7 +9999,7 @@
"randomfill": { "randomfill": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"dev": true, "dev": true,
"requires": { "requires": {
"randombytes": "^2.0.5", "randombytes": "^2.0.5",
...@@ -10020,7 +10014,7 @@ ...@@ -10020,7 +10014,7 @@
"rc": { "rc": {
"version": "1.2.8", "version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dev": true, "dev": true,
"requires": { "requires": {
"deep-extend": "^0.6.0", "deep-extend": "^0.6.0",
...@@ -10031,7 +10025,7 @@ ...@@ -10031,7 +10025,7 @@
"dependencies": { "dependencies": {
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true "dev": true
} }
...@@ -10165,7 +10159,7 @@ ...@@ -10165,7 +10159,7 @@
"readdirp": { "readdirp": {
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
"integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"graceful-fs": "^4.1.11", "graceful-fs": "^4.1.11",
...@@ -10278,13 +10272,13 @@ ...@@ -10278,13 +10272,13 @@
"regenerate": { "regenerate": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
"integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=", "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
"dev": true "dev": true
}, },
"regenerate-unicode-properties": { "regenerate-unicode-properties": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
"integrity": "sha1-EHQFr8xKGQ7F7UUOyqAO0Mr6ekw=", "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
"dev": true, "dev": true,
"requires": { "requires": {
"regenerate": "^1.4.0" "regenerate": "^1.4.0"
...@@ -10298,7 +10292,7 @@ ...@@ -10298,7 +10292,7 @@
"regenerator-transform": { "regenerator-transform": {
"version": "0.13.3", "version": "0.13.3",
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz",
"integrity": "sha1-JkvZ/zioziSwbgY2SWsshWtXvLs=", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==",
"dev": true, "dev": true,
"requires": { "requires": {
"private": "^0.1.6" "private": "^0.1.6"
...@@ -10372,7 +10366,7 @@ ...@@ -10372,7 +10366,7 @@
"regexpu-core": { "regexpu-core": {
"version": "4.4.0", "version": "4.4.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz",
"integrity": "sha1-jUPg0SZog5aXIDRecMJ17grsDTI=", "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==",
"dev": true, "dev": true,
"requires": { "requires": {
"regenerate": "^1.4.0", "regenerate": "^1.4.0",
...@@ -10386,7 +10380,7 @@ ...@@ -10386,7 +10380,7 @@
"registry-auth-token": { "registry-auth-token": {
"version": "3.3.2", "version": "3.3.2",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
"integrity": "sha1-hR/UkDjuy1hpERFa+EUmDuyYPyA=", "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"rc": "^1.1.6", "rc": "^1.1.6",
...@@ -10405,13 +10399,13 @@ ...@@ -10405,13 +10399,13 @@
"regjsgen": { "regjsgen": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
"integrity": "sha1-p2NNwI+JIJwgSa3aNSVxH7lyZd0=", "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
"dev": true "dev": true
}, },
"regjsparser": { "regjsparser": {
"version": "0.6.0", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
"integrity": "sha1-8eaui32iuulsmTmbhozWyTOiupw=", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"jsesc": "~0.5.0" "jsesc": "~0.5.0"
...@@ -10559,7 +10553,7 @@ ...@@ -10559,7 +10553,7 @@
"ripemd160": { "ripemd160": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
"integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"dev": true, "dev": true,
"requires": { "requires": {
"hash-base": "^3.0.0", "hash-base": "^3.0.0",
...@@ -10657,7 +10651,7 @@ ...@@ -10657,7 +10651,7 @@
"send": { "send": {
"version": "0.16.2", "version": "0.16.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
"integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
"requires": { "requires": {
"debug": "2.6.9", "debug": "2.6.9",
"depd": "~1.1.2", "depd": "~1.1.2",
...@@ -10697,7 +10691,7 @@ ...@@ -10697,7 +10691,7 @@
"serialize-javascript": { "serialize-javascript": {
"version": "1.5.0", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
"integrity": "sha1-GqM2FiyIqJDdrVOEuuvJOmVRYf4=" "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ=="
}, },
"serve-favicon": { "serve-favicon": {
"version": "2.5.0", "version": "2.5.0",
...@@ -10721,7 +10715,7 @@ ...@@ -10721,7 +10715,7 @@
"serve-static": { "serve-static": {
"version": "1.13.2", "version": "1.13.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
"integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
"requires": { "requires": {
"encodeurl": "~1.0.2", "encodeurl": "~1.0.2",
"escape-html": "~1.0.3", "escape-html": "~1.0.3",
...@@ -10768,8 +10762,8 @@ ...@@ -10768,8 +10762,8 @@
}, },
"sha.js": { "sha.js": {
"version": "2.4.11", "version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -11031,7 +11025,7 @@ ...@@ -11031,7 +11025,7 @@
"split": { "split": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
"integrity": "sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k=", "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
"requires": { "requires": {
"through": "2" "through": "2"
} }
...@@ -11053,7 +11047,7 @@ ...@@ -11053,7 +11047,7 @@
"ssri": { "ssri": {
"version": "5.3.0", "version": "5.3.0",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
"integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
"requires": { "requires": {
"safe-buffer": "^5.1.1" "safe-buffer": "^5.1.1"
} }
...@@ -11124,7 +11118,7 @@ ...@@ -11124,7 +11118,7 @@
"stream-http": { "stream-http": {
"version": "2.8.3", "version": "2.8.3",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
"integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
"dev": true, "dev": true,
"requires": { "requires": {
"builtin-status-codes": "^3.0.0", "builtin-status-codes": "^3.0.0",
...@@ -11152,7 +11146,7 @@ ...@@ -11152,7 +11146,7 @@
"string_decoder": { "string_decoder": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true, "dev": true,
"requires": { "requires": {
"safe-buffer": "~5.1.0" "safe-buffer": "~5.1.0"
...@@ -11237,7 +11231,7 @@ ...@@ -11237,7 +11231,7 @@
"subscriptions-transport-ws": { "subscriptions-transport-ws": {
"version": "0.9.15", "version": "0.9.15",
"resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.15.tgz", "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.15.tgz",
"integrity": "sha1-aKi3ugA32MSJ+y9aEC0UlNspfQ0=", "integrity": "sha512-f9eBfWdHsePQV67QIX+VRhf++dn1adyC/PZHP6XI5AfKnZ4n0FW+v5omxwdHVpd4xq2ZijaHEcmlQrhBY79ZWQ==",
"requires": { "requires": {
"backo2": "^1.0.2", "backo2": "^1.0.2",
"eventemitter3": "^3.1.0", "eventemitter3": "^3.1.0",
...@@ -11249,7 +11243,7 @@ ...@@ -11249,7 +11243,7 @@
"ws": { "ws": {
"version": "5.2.2", "version": "5.2.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
"integrity": "sha1-3/7xSGa46NyRM1glFNG++vlumA8=", "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
"requires": { "requires": {
"async-limiter": "~1.0.0" "async-limiter": "~1.0.0"
} }
...@@ -11619,7 +11613,7 @@ ...@@ -11619,7 +11613,7 @@
"through2": { "through2": {
"version": "2.0.5", "version": "2.0.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
"integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
"requires": { "requires": {
"readable-stream": "~2.3.6", "readable-stream": "~2.3.6",
"xtend": "~4.0.1" "xtend": "~4.0.1"
...@@ -11642,7 +11636,7 @@ ...@@ -11642,7 +11636,7 @@
"string_decoder": { "string_decoder": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": { "requires": {
"safe-buffer": "~5.1.0" "safe-buffer": "~5.1.0"
} }
...@@ -11666,7 +11660,7 @@ ...@@ -11666,7 +11660,7 @@
"timers-browserify": { "timers-browserify": {
"version": "2.0.10", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
"integrity": "sha1-HSjj0qrfHVpZlsTp+VYBzQU0gK4=", "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
"dev": true, "dev": true,
"requires": { "requires": {
"setimmediate": "^1.0.4" "setimmediate": "^1.0.4"
...@@ -11759,7 +11753,7 @@ ...@@ -11759,7 +11753,7 @@
"touch": { "touch": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
"integrity": "sha1-/jZfX3XsntTlaCXgu3bSSrdK+Ds=", "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
"dev": true, "dev": true,
"requires": { "requires": {
"nopt": "~1.0.10" "nopt": "~1.0.10"
...@@ -11792,7 +11786,7 @@ ...@@ -11792,7 +11786,7 @@
"tslib": { "tslib": {
"version": "1.9.3", "version": "1.9.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
"integrity": "sha1-1+TdeSRdhUKMTX5IIqeZF5VMooY=", "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
"dev": true "dev": true
}, },
"tslint": { "tslint": {
...@@ -11842,7 +11836,7 @@ ...@@ -11842,7 +11836,7 @@
"type-detect": { "type-detect": {
"version": "4.0.8", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
"integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true "dev": true
}, },
"type-is": { "type-is": {
...@@ -11917,7 +11911,7 @@ ...@@ -11917,7 +11911,7 @@
"debug": { "debug": {
"version": "2.6.9", "version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true, "dev": true,
"requires": { "requires": {
"ms": "2.0.0" "ms": "2.0.0"
...@@ -11951,13 +11945,13 @@ ...@@ -11951,13 +11945,13 @@
"unicode-canonical-property-names-ecmascript": { "unicode-canonical-property-names-ecmascript": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
"integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
"dev": true "dev": true
}, },
"unicode-match-property-ecmascript": { "unicode-match-property-ecmascript": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
"integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
"dev": true, "dev": true,
"requires": { "requires": {
"unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-canonical-property-names-ecmascript": "^1.0.4",
...@@ -11967,13 +11961,13 @@ ...@@ -11967,13 +11961,13 @@
"unicode-match-property-value-ecmascript": { "unicode-match-property-value-ecmascript": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
"integrity": "sha1-nx3HaSbWzPRSMQVk/YNKzgWWY9Q=", "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==",
"dev": true "dev": true
}, },
"unicode-property-aliases-ecmascript": { "unicode-property-aliases-ecmascript": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
"integrity": "sha1-WlM/MbQxfqdvF9gH+g0RZUYRHdA=", "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==",
"dev": true "dev": true
}, },
"union-value": { "union-value": {
...@@ -12083,13 +12077,13 @@ ...@@ -12083,13 +12077,13 @@
"upath": { "upath": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
"integrity": "sha1-NSVll+RqWB20eT0M5H+prr/J+r0=", "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
"dev": true "dev": true
}, },
"update-notifier": { "update-notifier": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
"integrity": "sha1-0HRFk+E/Fh5AassdlAi3LK0Ir/Y=", "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==",
"dev": true, "dev": true,
"requires": { "requires": {
"boxen": "^1.2.1", "boxen": "^1.2.1",
...@@ -12223,7 +12217,7 @@ ...@@ -12223,7 +12217,7 @@
"util.promisify": { "util.promisify": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
"integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
"requires": { "requires": {
"define-properties": "^1.1.2", "define-properties": "^1.1.2",
"object.getownpropertydescriptors": "^2.0.3" "object.getownpropertydescriptors": "^2.0.3"
...@@ -12332,7 +12326,7 @@ ...@@ -12332,7 +12326,7 @@
"watchpack": { "watchpack": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
"integrity": "sha1-S8EsLr6KonenHx0/FNaFx7RGzQA=", "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
"dev": true, "dev": true,
"requires": { "requires": {
"chokidar": "^2.0.2", "chokidar": "^2.0.2",
...@@ -12616,7 +12610,7 @@ ...@@ -12616,7 +12610,7 @@
"webpack-sources": { "webpack-sources": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
"integrity": "sha1-KijcufH0X+lg2PFJMlK17mUw+oU=", "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
"dev": true, "dev": true,
"requires": { "requires": {
"source-list-map": "^2.0.0", "source-list-map": "^2.0.0",
...@@ -12653,7 +12647,7 @@ ...@@ -12653,7 +12647,7 @@
"widest-line": { "widest-line": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
"integrity": "sha1-dDh2RzDsfvQ4HOTfgvuYpTFCo/w=", "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
"dev": true, "dev": true,
"requires": { "requires": {
"string-width": "^2.1.1" "string-width": "^2.1.1"
...@@ -12699,7 +12693,7 @@ ...@@ -12699,7 +12693,7 @@
"worker-farm": { "worker-farm": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
"integrity": "sha1-rsxAWXb6talVJhgIRvDboojzpKA=", "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"errno": "~0.1.7" "errno": "~0.1.7"
......
...@@ -45,7 +45,8 @@ const whitelist = [ ...@@ -45,7 +45,8 @@ const whitelist = [
"wilson.jallet", "wilson.jallet",
"quentin.chevalier", "quentin.chevalier",
"guillaume.wang", "guillaume.wang",
"oliver.facklam" "oliver.facklam",
"octave.hazard"
]; ];
/** /**
* @function ensureIsAdmin * @function ensureIsAdmin
......
...@@ -8,6 +8,7 @@ import {User} from './users'; ...@@ -8,6 +8,7 @@ import {User} from './users';
import knex from '../../../db/knex_router'; import knex from '../../../db/knex_router';
import { Context } from '../typeDefs/queries'; import { Context } from '../typeDefs/queries';
import { ApolloError } from 'apollo-server-core'; import { ApolloError } from 'apollo-server-core';
import { GroupSet } from '../models/tools';
export abstract class Message { export abstract class Message {
...@@ -153,6 +154,8 @@ export class Announcement extends Message { ...@@ -153,6 +154,8 @@ export class Announcement extends Message {
*/ */
constructor(mid: number) { constructor(mid: number) {
super(mid); super(mid);
this.m_authors = new GroupSet();
this.m_recipients = new GroupSet();
} }
/** /**
...@@ -201,12 +204,28 @@ export class Announcement extends Message { ...@@ -201,12 +204,28 @@ export class Announcement extends Message {
this.m_views = m.views; this.m_views = m.views;
this.m_dataLoaded = true; this.m_dataLoaded = true;
return true;
} }
else { else {
return false; return false;
} }
//Charge les authors dans m_authors
data = await knex.select('gid').from('announcements_authors').where('mid', this.mid);
for(let t of data) {
this.m_authors.add(t.gid);
}
//Charge les recipients dans m_recipients
data = await knex.select('gid').from('announcements_recipients').where('mid', this.mid);
for (let t of data) {
this.m_authors.add(t.gid);
}
} }
return true; return true;
} }
...@@ -219,6 +238,8 @@ export class Announcement extends Message { ...@@ -219,6 +238,8 @@ export class Announcement extends Message {
*/ */
protected m_importance: number protected m_importance: number
protected m_views : number protected m_views : number
protected m_authors : GroupSet
protected m_recipients : GroupSet
/** /**
* Ci-dessous les resolvers a proprement parler. * Ci-dessous les resolvers a proprement parler.
...@@ -233,10 +254,15 @@ export class Announcement extends Message { ...@@ -233,10 +254,15 @@ export class Announcement extends Message {
* @async * @async
*/ */
async authors(args, context: Context, info): Promise<Group[]> { async authors(args, context: Context, info): Promise<Group[]> {
//TODO: verifier les authorisations
throw "Not implemented"; throw "Not implemented";
/*return knex.select({ uid: 'group' }).from('group_message_relationships') await this.fetchData();
.where('message', messageID).whereIn('status', ['host', 'publish']);*/ var ret:Group[];
for(let t of this.m_authors) {
ret.push(new SimpleGroup(t));
}
return ret;
} }
/** /**
...@@ -248,10 +274,15 @@ export class Announcement extends Message { ...@@ -248,10 +274,15 @@ export class Announcement extends Message {
* @async * @async
*/ */
async recipients(args, context: Context, info): Promise<Group[]> { async recipients(args, context: Context, info): Promise<Group[]> {
//TODO: verifier les authorisations
throw "Not implemented"; throw "Not implemented";
/*return knex.select({ uid: 'group' }).from('group_message_relationships') await this.fetchData();
.where('message', messageID).where('status', 'recieve');*/ var ret: Group[];
for (let t of this.m_recipients) {
ret.push(new SimpleGroup(t));
}
return ret;
} }
/** /**
......
...@@ -169,12 +169,6 @@ export const resolvers = { ...@@ -169,12 +169,6 @@ export const resolvers = {
return context.models.group.getAllSimpleGroups(visibleGroupCollection.simpleGroups); return context.models.group.getAllSimpleGroups(visibleGroupCollection.simpleGroups);
}, },
// @rights supervisor of groups
supervisorOf: async function (root, args, context: Context): Promise<Group[]> {
let supervisorGroupCollection = context.models.auth.groupsSupervisor();
return context.models.group.getAllGroupsByCollection(supervisorGroupCollection);
},
// TOL // TOL
// @rights connectedOrOnplatal // @rights connectedOrOnplatal
searchTOL: async function (root, args, context: Context): Promise<User[]> { searchTOL: async function (root, args, context: Context): Promise<User[]> {
...@@ -593,23 +587,6 @@ export const resolvers = { ...@@ -593,23 +587,6 @@ export const resolvers = {
//TODO : Vérifier les autorisations //TODO : Vérifier les autorisations
return context.models.message.censorEvent(args.eventToCensor); return context.models.message.censorEvent(args.eventToCensor);
throw new AuthenticationError("Not an admin"); throw new AuthenticationError("Not an admin");
},
// Supervisor mutations
// @rights supervisor
takeAdminRights : async function(root, args, context: Context): Promise<boolean> {
if (context.models.auth.isSupervisor(args.forGroup)) {
return context.models.group.takeAdminRights(args.forGroup, context.user.uid);
}
throw new AuthenticationError("Not a supervisor");
},
// @rights supervisor
releaseAdminRights: async function (root, args, context: Context): Promise<boolean> {
if (context.models.auth.isSupervisor(args.forGroup)) {
return context.models.group.releaseAdminRights(args.forGroup, context.user.uid);
}
throw new AuthenticationError("Not a supervisor");
} }
} }
}; };
...@@ -33,7 +33,6 @@ type Query { ...@@ -33,7 +33,6 @@ type Query {
# Correspondrait au sous-champ "viewerOf" de User, volontairement non-défini comme tel. Tous les autres cas de figure sont couverts par les sous-champs "<permission>Of" de User # Correspondrait au sous-champ "viewerOf" de User, volontairement non-défini comme tel. Tous les autres cas de figure sont couverts par les sous-champs "<permission>Of" de User
allGroups: [Group] allGroups: [Group]
allSimpleGroups: [SimpleGroup] allSimpleGroups: [SimpleGroup]
supervisorOf: [Group]
# TOL # TOL
searchTOL( searchTOL(
...@@ -56,30 +55,48 @@ type Mutation { ...@@ -56,30 +55,48 @@ type Mutation {
Par rapport à un groupe donné, un user peut avoir différents niveaux de droits : Par rapport à un groupe donné, un user peut avoir différents niveaux de droits :
- none : ne sait meme pas que le groupe existe, aucun autre droit (typiquement, une connection l'utilisateur ne s'est pas authentifié) - none : ne sait meme pas que le groupe existe, aucun autre droit (typiquement, une connection l'utilisateur ne s'est pas authentifié)
- authenticated : sait que le groupe existe, aucun autre droit (une connection on-platal sans auth, ou une connection authentifiée) - authenticated : sait que le groupe existe, aucun autre droit (une connection on-platal sans auth, ou une connection authentifiée)
- viewer : le user a aussi accès à l'activité publique du groupe : frontpage, Q&A, liste des membres, speakers et admins - viewer : le user a aussi accès à l'activité publique du groupe : frontpage, Q&A, liste des membres, speakers et admins, Message dont le groupe est destinataire
- member : le user a aussi acces à l'activité interne du groupe : les PrivatePost, ainsi que les Message dont le groupe est auteur ou destinataire - member : le user a aussi acces à l'activité interne du groupe : les PrivatePost, ainsi que les Message dont le groupe est auteur
- speaker : le user peut aussi parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements - speaker : le user peut aussi parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements
- admin : le user a tous les droits sur le groupe - admin : le user a tous les droits sur le groupe
- supervisor : le user est admin du parent du groupe et peut donc intervenir dans ce groupe (il est par faut 'viewer' mais peut prendre les droits d'admin arbitrairement)
Un des les du *graphe organique des groupes* est de finir le niveau de droit des users pour chaque groupe. Un des les du *graphe organique des groupes* est de finir le niveau de droit des users pour chaque groupe.
D'abord, petit tail de terminologie : les cinq niveaux de droits sont inclus les uns dans les autres (un speaker est aussi un viewer, par ex.) (sauf pour supervisor qui n'est pas admin par faut) D'abord, petit tail de terminologie : les cinq niveaux de droits sont inclus les uns dans les autres (un speaker est aussi un viewer, par ex.) (sauf pour les permissions héritées)
- Les conditions pour qu'un user soit membre, speaker ou admin sont claires, puisque cette information est stockée directement en BDD. Plus précisément, on a les inclusions suivantes : admin strict > speaker > membre strict > membre hérité > viewer > authenticated.
- Un user non-membre est viewer du groupe G : Il n'y a que admin hérité qui n'est pas cessairement inclus dans les autres niveaux de droits.
- s'il est membre d'un groupe immédiatement parent de G (one-edge-down visibility), ou
- s'il est membre d'un groupe faisant partie du champ "visibilityEdge" de G Dans la BDD sous-jacente, il faut que pour chaque groupe, on ait admin > speaker > member.
taillons ici les conditions exactes pour avoir un niveau de droit donné.
== Pour les groupes simples ==
- Member :
- Un user est membre strict du groupe G s'il est member de G selon la BDD sous-jacente.
- Un user est membre hérité du groupe G s'il est membre strict d'un de ses descendants.
- Speaker : un user est speaker du groupe G s'il est speaker de G selon la BDD. Pas de notion d'héritage de speaker.
- Admin :
- Un user est admin strict du groupe G s'il est admin de G selon la BDD.
- Un user est admin hérité du groupe G s'il est admin strict d'un de ses ascendants.
- Viewer : un user est viewer du groupe G
- s'il est membre hérité de G.
- s'il est membre hérité d'un groupe immédiatement parent de G (one-edge-down visibility), ou
- s'il est membre hérité d'un groupe faisant partie du champ "visibilityEdge" de G
- s'il est membre d'un tagroupe dont G est membre (implicit visibility-edges). - s'il est membre d'un tagroupe dont G est membre (implicit visibility-edges).
- Dans tous les autres cas, le user a le niveau de droits "none". - Dans tous les autres cas, le user a le niveau de droits "none" ou "authenticated", selon le cas de figure.
== Pour les ta-groupes ==
- Un user est membre d'un ta-groupe G s'il est membre (hérité) d'un groupe simple dans G.
- Un user est speaker d'un ta-groupe G s'il est admin strict d'un groupe simple dans G.
- Un user est admin d'un ta-groupe G s'il est admin (hérité) d'un groupe simple dans G.
- Un user est viewer d'un ta-groupe G s'il est viewer d'un groupe simple dans G.
L'autre le du *graphe organique des groupes* est de permettre l'administration "en cascade" des groupes enfants. L'autre le du *graphe organique des groupes* est de permettre l'administration "en cascade" des groupes enfants.
Si un groupe est le parent d'un autre, alors les admins du groupe parent peuvent se clarer admins du groupe enfant. Exemples : Si un groupe est le parent d'un autre, alors les admins du groupe parent sont admins (hérités) du groupe enfant. Exemples :
- BR est parent de Chocapix. L'admin de Chocapix est parti en vacances. L'admin de BR peut se clarer admin de Chocapix et faire ce qu'il a à faire, sans attendre le retour du respo Chocapix. - BR est parent de Chocapix. L'admin de Chocapix est parti en vacances. L'admin de BR peut, en tant qu'admin (hérité) de Chocapix, faire ce qu'il a à faire, sans attendre le retour du respo Chocapix.
- Cotisants-Kès est parent de Troll'X. Troll'X fait n'importe quoi (en floodant de Messages par ex). Les admins de Cotisants-Kès (les kessiers) peuvent se clarer admin de Troll'X et stopper les dégâts. - Cotisants-Kès est parent de Troll'X. Troll'X fait n'importe quoi (en floodant de Messages par ex). Les admins de Cotisants-Kès (les kessiers) peuvent, comme ils sont admins hérités de Troll'X, stopper les dégâts.
Remarque sur speaker : Remarque sur speaker :
Il s'agit d'un nouveau niveau de droit par rapport à Frankiz 3.0 ; il n'est pas implémenté dans le LDAP frankiz. Il s'agit d'un nouveau niveau de droit par rapport à Frankiz 3.0 ; qui est a présent implémenté sur le LDAP bloaziadur.
Par conséquent, il est probable que, au but du moins, on impose que speaker=admin, pour pouvoir continuer à utiliser ce LDAP.
Le mieux serait anmoins de rajouter cette propriété au LDAP.
Les mutations ci-dessous sont divisées en quatre, selon le niveau de droit requis pour pouvoir les appeler. Les mutations ci-dessous sont divisées en quatre, selon le niveau de droit requis pour pouvoir les appeler.
Les Mutations concernant les *Requests* suivent à peu près toutes le schéma suivant : Les Mutations concernant les *Requests* suivent à peu près toutes le schéma suivant :
...@@ -265,8 +282,4 @@ type Mutation { ...@@ -265,8 +282,4 @@ type Mutation {
censorAnnouncement(announcementToCensor: ID!): Boolean censorAnnouncement(announcementToCensor: ID!): Boolean
censorEvent(eventToCensor: ID!): Boolean censorEvent(eventToCensor: ID!): Boolean
# Superviser mutations
takeAdminRights(forGroup: ID!) : Boolean
releaseAdminRights(forGroup: ID!) : Boolean
} }
...@@ -40,10 +40,13 @@ type User { ...@@ -40,10 +40,13 @@ type User {
address: String # Adresse de l'utilisateur (numero de casert par exemple) address: String # Adresse de l'utilisateur (numero de casert par exemple)
# Ses interactions avec des groupes # Ses interactions avec des groupes
memberOf: [Group] # Groupes dont l'utilisateur est membre memberOf: [Group] # Membre strict
speakerOf: [Group] inheritedMemberOf: [Group] # Membre hérité
adminOf: [Group] speakerOf: [Group] # Speaker (strict)
adminOf: [Group] # Admin strict
inheritedAdminOf: [Group] # Admin hérité
likes: [Group] # Groupes dont l'utilisateur est sympathisant (purement indicatif, pas d'influence sur les niveaux de droit) likes: [Group] # Groupes dont l'utilisateur est sympathisant (purement indicatif, pas d'influence sur les niveaux de droit)
dislikes: [Group] # Groupes que l'utilisateur veut cacher
# Les Message dont il est l'auteur # Les Message dont il est l'auteur
questionsFromUser: [Question] # Les seuls Messages publics où `authors` est de type User questionsFromUser: [Question] # Les seuls Messages publics où `authors` est de type User
...@@ -108,7 +111,7 @@ type SimpleGroup implements Group { ...@@ -108,7 +111,7 @@ type SimpleGroup implements Group {
mail: String mail: String
website: String website: String
# Admins, speakers (respos com), membres, sympathisants du groupe # Admins, speakers (respos com), membres, sympathisants du groupe (stricts pour ce groupe)
members: [User] members: [User]
speakers: [User] speakers: [User]
admins: [User] admins: [User]
...@@ -139,7 +142,7 @@ type SimpleGroup implements Group { ...@@ -139,7 +142,7 @@ type SimpleGroup implements Group {
groupCoauthorEventRequestsToGroup: [GroupCoauthorEvent] groupCoauthorEventRequestsToGroup: [GroupCoauthorEvent]
# Graphe organique des groupes # Graphe organique des groupes
parents: [SimpleGroup] # Groupe parent parents: [SimpleGroup] # Groupes parents
children: [SimpleGroup] # Groupes enfants children: [SimpleGroup] # Groupes enfants
memberOfMeta: [MetaGroup] memberOfMeta: [MetaGroup]
visibilityEdges: [Group] # se rendre visible par des groupes en plus du graphe organique visibilityEdges: [Group] # se rendre visible par des groupes en plus du graphe organique
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment